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.
    • 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
                                          • DJMarc75
                                            DJMarc75 @mickym last edited by

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

                                            wenn Du JSONATA aus dem FF beherrschst:

                                            Bin noch weit entfernt davon aber tatsächlich hatte ich schonmal den gleichen Ansatz 😎

                                            Habe mich aber trotzdem für das Einfügen in die jeweilige Change-Node entschieden !

                                            Scheint dann doch einfacher zu sein 😂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            540
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            262
                                            19619
                                            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