Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Stromverbrauch in Euro umrechnen - Node Red

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Stromverbrauch in Euro umrechnen - Node Red

    This topic has been deleted. Only users with topic management privileges can see it.
    • Damrak2022
      Damrak2022 @mickym last edited by

      @mickym
      Bildschirmfoto 2022-09-18 um 01.58.35.png

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Damrak2022 last edited by mickym

        @damrak2022 So dann brauchen wir also die Pfade zum Preis, zur Brand, zur Straße und zur Hausnummer.

        Kannst Du die dann mal hier rein kopieren?

        Damrak2022 2 Replies Last reply Reply Quote 0
        • Damrak2022
          Damrak2022 @mickym last edited by

          @mickym

          payload.name
          
          payload.street
          
          payload.houseNumber
          
          payload.prices.e5
          
          payload.brand
          
          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Damrak2022 last edited by mickym

            @damrak2022 Sehr gut - und ich hab dann schon mal die Textnode für Dich vorbereitet - die brauchst Du dann nur noch kopieren und mit den Ausgängen verbinden.

            1a582c62-968c-45f2-b2b6-574ad4fee010-image.png

            225f7d72-9a8e-45cc-963f-5d1d51bd6cca-image.png

            Damrak2022 1 Reply Last reply Reply Quote 0
            • Damrak2022
              Damrak2022 @mickym last edited by

              @mickym Okay, besten Dank, das mache ich dann nachher. Ich muss erstmal meine ehemaligen Kollegen besuchen fahren und ein wenig Smalltalk halten.

              1 Reply Last reply Reply Quote 0
              • Damrak2022
                Damrak2022 @mickym last edited by

                @mickym Und dann werde ich mich in der nächsten Woche mal ausgiebig mit meinen bestehenden Flows beschäftigen und mir diese genau anschauen, um das alles besser zu verstehen.

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @Damrak2022 last edited by

                  @damrak2022 Ja mach das - und wie gesagt immer wieder Debug Nodes von einer Node zur anderen machen - wie ich Dir mal an einem Beispiel gezeigt habe, damit Du siehst, was die einzelnen Nodes machen.

                  Damrak2022 2 Replies Last reply Reply Quote 1
                  • Damrak2022
                    Damrak2022 @mickym last edited by

                    @mickym Werde ich machen - DANKE

                    1 Reply Last reply Reply Quote 0
                    • Damrak2022
                      Damrak2022 @mickym last edited by

                      @mickym Ich werde gleich ins Bett gehen, aber mir ist noch was aufgefallen.
                      Von den 3 angezeigten Tankstellen, haben die ersten beiden definitiv noch geschlossen. Also wundert es mich das ich hier einen Preis angezeigt bekomme. Das liegt aber wahrscheinlich an Tankerkönig
                      Die restlichen 7 werden mir garnicht, bzw. kein Preis angezeigt, obwohl davon 6 definitiv geöffnet sind.
                      Vielleicht hast Du da ja eine Idee zu?
                      Bildschirmfoto 2022-09-18 um 05.41.50.png Bildschirmfoto 2022-09-18 um 05.40.57.png Bildschirmfoto 2022-09-18 um 05.40.37.png

                      Ansonsten erstmal einen schönen Sonntag für Dich.

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Damrak2022 last edited by

                        @damrak2022 Na du musst für den Vergleich schon genau den Wert aus Straße in die Switch Node kopieren- das heißt auch Groß- und Kleinschreibung, Punkte etc. Dann macht es keinen Sinn in einer Switch Node 3 mal Moerfelder Landstraße zu schreiben. Wie soll die Switch Node das bitte unterscheiden können. Das darf halt nur ein Ausgang sein und dann musst du halt doch eine Und Verknüpfung machen, indem Du eine 2. Switch Node hinten dran hängst und dort nach der Eigenschaft.payload.houseNumber unterscheidest. Mit geschlossen hat das ggf nichts mehr zu tun, weil wir das ja nicht rausfiltern. Immer und immer wieder schau Dir mit debug nodes an, ob und was aus den Ausgängen rauskommt. Und wenn nichts rauskommt, dann schau, ob es vor einer Nachricht so ein Objekt gegeben hat. Du bist letztlich auf Dich alleine gestell sowas zu untersuchen.

                        DJMarc75 1 Reply Last reply Reply Quote 0
                        • DJMarc75
                          DJMarc75 @mickym last edited by

                          @mickym Ich wage es nochmal eine Frage zu stellen:

                          Wie bekomme ich in meiner JSONata eine Währung (€) zu einem Payload hinzugefügt ?

                          Screenshot 2022-09-18 085329.png

                          Muss ich das Payload vorher abändern oder geht das auch in der JSONata?

                          Merci

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @DJMarc75 last edited by

                            @djmarc75 einfach dahinter

                            & “ €“
                            
                            DJMarc75 1 Reply Last reply Reply Quote 1
                            • DJMarc75
                              DJMarc75 @mickym last edited by

                              @mickym Das wars - vielen Dank !

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @DJMarc75 last edited by mickym

                                @djmarc75 sagte in Stromverbrauch in Euro umrechnen - Node Red:

                                @mickym Das wars - vielen Dank !

                                Wenn Du es ganz chic haben möchtest, kannst Du den Preis auch noch runden, als String umwandeln und die Zahl mit Komma und immer mit 2 Nachkommastellen darstellen 😉

                                5dffe7fc-eada-4e88-a5ba-61070605005e-image.png

                                DJMarc75 1 Reply Last reply Reply Quote 0
                                • DJMarc75
                                  DJMarc75 @mickym last edited by DJMarc75

                                  @mickym super.
                                  Kann ich diese Payload schon vor dem Split so abändern oder funktioniert dies erst danach (und auch nach der switch-node) in der jeweiligen change-node ?

                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @DJMarc75 last edited by

                                    @djmarc75 Heißt das Du willst das Array zum Schluß erhalten? Also wieder beibehalten?

                                    DJMarc75 1 Reply Last reply Reply Quote 0
                                    • DJMarc75
                                      DJMarc75 @mickym last edited by

                                      @mickym Soll quasi schon so formatiert in der jeweiligen change-node drin stehen da ich ja eigentlich nur an den 2 Nachkommastellen interessiert bin :
                                      Screenshot 2022-09-18 104116.png

                                      mickym 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @DJMarc75 last edited by

                                        @djmarc75 Verstehe ich nicht ganz. Ist Dein JSONATA nicht in den hinteren Change Nodes - warum trägst Du es dahinten nicht ein?

                                        DJMarc75 1 Reply Last reply Reply Quote 0
                                        • DJMarc75
                                          DJMarc75 @mickym last edited by

                                          @mickym ja da ist das jeweilige JSONata drin. Ich meinte ob ich den Payload payload.prices.e5 nicht schon in der ersten Change-Node so umwandeln kann um mir das nachträgliche Eintragen zu sparen.

                                          mickym 1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @DJMarc75 last edited by mickym

                                            @djmarc75 Ja - dann bist Du schon in den höheren Sphären. 😉

                                            Du kannst das machen - wenn Du JSONATA aus dem FF beherrschst:

                                            Hab ich auch gerade wieder erst ausprobieren müssen.

                                            c1a1d04b-b9e9-425b-9290-63d6a539860a-image.png

                                            payload.{
                                               "brand": brand,
                                               "e5":$formatNumber(
                                                   prices.e5,
                                                   "#0,00 €",
                                                   {'decimal-separator':','}
                                               )
                                            }
                                            

                                            Ansonsten - mit split Node - in Einzelteile zerlegen, manipulieren, join und dann wieder splitten. Gerade für den Anfang ist das Aufspalten auch immer die beste Möglichkeit, Werte in einem Array zu ändern.

                                            ad18db91-866f-4f59-880b-ea24e0bfda5c-image.png

                                            So habe ich Dir beide Möglichkeiten dargestellt - hier zum Import:

                                            [
                                                {
                                                    "id": "fe2bba87400381f0",
                                                    "type": "inject",
                                                    "z": "02dece3d313bbbd7",
                                                    "name": "",
                                                    "props": [
                                                        {
                                                            "p": "payload"
                                                        }
                                                    ],
                                                    "repeat": "",
                                                    "crontab": "",
                                                    "once": false,
                                                    "onceDelay": 0.1,
                                                    "topic": "",
                                                    "payload": "[{\"brand\":\"Aral\",\"prices\":{\"e5\":2.1}},{\"brand\":\"Shell\",\"prices\":{\"e5\":2.089}}]",
                                                    "payloadType": "json",
                                                    "x": 150,
                                                    "y": 2240,
                                                    "wires": [
                                                        [
                                                            "0838ada3281752a1",
                                                            "45c2544fa78bb0a2"
                                                        ]
                                                    ]
                                                },
                                                {
                                                    "id": "dd0940e403be1f45",
                                                    "type": "change",
                                                    "z": "02dece3d313bbbd7",
                                                    "name": "",
                                                    "rules": [
                                                        {
                                                            "t": "set",
                                                            "p": "payload",
                                                            "pt": "msg",
                                                            "to": "payload.{\t \"brand\" :brand,   \"e5\":$formatNumber(prices.e5, \"#0,00 €\",{'decimal-separator':','})\t}",
                                                            "tot": "jsonata"
                                                        }
                                                    ],
                                                    "action": "",
                                                    "property": "",
                                                    "from": "",
                                                    "to": "",
                                                    "reg": false,
                                                    "x": 550,
                                                    "y": 2240,
                                                    "wires": [
                                                        [
                                                            "72b01843bd65453f"
                                                        ]
                                                    ]
                                                },
                                                {
                                                    "id": "0838ada3281752a1",
                                                    "type": "split",
                                                    "z": "02dece3d313bbbd7",
                                                    "name": "",
                                                    "splt": "\\n",
                                                    "spltType": "str",
                                                    "arraySplt": 1,
                                                    "arraySpltType": "len",
                                                    "stream": false,
                                                    "addname": "",
                                                    "x": 310,
                                                    "y": 2240,
                                                    "wires": [
                                                        [
                                                            "dd0940e403be1f45"
                                                        ]
                                                    ]
                                                },
                                                {
                                                    "id": "72b01843bd65453f",
                                                    "type": "join",
                                                    "z": "02dece3d313bbbd7",
                                                    "name": "",
                                                    "mode": "auto",
                                                    "build": "object",
                                                    "property": "payload",
                                                    "propertyType": "msg",
                                                    "key": "topic",
                                                    "joiner": "\\n",
                                                    "joinerType": "str",
                                                    "accumulate": "false",
                                                    "timeout": "",
                                                    "count": "",
                                                    "reduceRight": false,
                                                    "x": 750,
                                                    "y": 2240,
                                                    "wires": [
                                                        [
                                                            "28622a3c245ce6c4"
                                                        ]
                                                    ]
                                                },
                                                {
                                                    "id": "45c2544fa78bb0a2",
                                                    "type": "change",
                                                    "z": "02dece3d313bbbd7",
                                                    "name": "",
                                                    "rules": [
                                                        {
                                                            "t": "set",
                                                            "p": "payload",
                                                            "pt": "msg",
                                                            "to": "payload.{\"brand\": brand,    \"e5\":$formatNumber(prices.e5, \"#0,00 €\",{'decimal-separator':','})\t}",
                                                            "tot": "jsonata"
                                                        }
                                                    ],
                                                    "action": "",
                                                    "property": "",
                                                    "from": "",
                                                    "to": "",
                                                    "reg": false,
                                                    "x": 350,
                                                    "y": 2300,
                                                    "wires": [
                                                        [
                                                            "06da132b660fe596"
                                                        ]
                                                    ]
                                                },
                                                {
                                                    "id": "06da132b660fe596",
                                                    "type": "debug",
                                                    "z": "02dece3d313bbbd7",
                                                    "name": "debug 41",
                                                    "active": true,
                                                    "tosidebar": true,
                                                    "console": false,
                                                    "tostatus": false,
                                                    "complete": "false",
                                                    "statusVal": "",
                                                    "statusType": "auto",
                                                    "x": 540,
                                                    "y": 2300,
                                                    "wires": []
                                                },
                                                {
                                                    "id": "28622a3c245ce6c4",
                                                    "type": "debug",
                                                    "z": "02dece3d313bbbd7",
                                                    "name": "debug 42",
                                                    "active": true,
                                                    "tosidebar": true,
                                                    "console": false,
                                                    "tostatus": false,
                                                    "complete": "false",
                                                    "statusVal": "",
                                                    "statusType": "auto",
                                                    "x": 900,
                                                    "y": 2240,
                                                    "wires": []
                                                }
                                            ]
                                            

                                            Je kürzer Du es halt machst - kannst Du viel in JSONATA oder in function Nodes programmieren, aber es geht halt etwas der Sinn von NodeRed verloren - funktional den Flow darzustellen. Ich meine letztlich kannst Du einen ganzen Flow in einer function Node komplett mit JS programmieren.

                                            DJMarc75 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            624
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            262
                                            19689
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo