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. Auslesen Daten Stromzähler

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Auslesen Daten Stromzähler

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      marco121990 last edited by

      Hallo, bitte steinigt mich nicht umgehen.
      Ich versuche mich gerade bei Red Note einzuarbeiten um die Daten die per MQTT von Tasmota übertragen werden in eine Influxdb zu schreiben. Ich habe auch schon einige Stunden herum probiert und einige Foren durchsucht, bin bisher jedoch nicht auf ein Ergebnis gekommen oder habe vielleicht auch nach dem falschen gesucht.

      Folgendes kommt an:

      854d0a7b-8713-497c-8059-54bfe61f2620-image.png

      {"Time":"2023-04-24T22:05:22","":{"Total_in":21816.67,"Total_out":7.12,"Power_curr":654}}

      Ich benötige die Werte von Total_in; Total_out und Power_curr einzeln, damit ich die Daten über Grafana visualisieren kann.

      Habe bisher jedoch noch nicht heraus gefunden, wie ich diese so Umwandeln kann, dass diese einzeln an Influxdb übertragen werden.

      Vielen Dank vorab.

      Codierknecht mickym 2 Replies Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @marco121990 last edited by Codierknecht

        @marco121990
        Warum unbedingt per NodeRed (oder anderen Scripten)?
        Du kannst Dir für die benötigten DP jeweils einen Alias anlegen und den Wert z.B. per

        JSON.parse(val).power_curr
        

        über die Konvertierungsfunktion aus dem MQTT-DP auslesen. Diesen Alias-DP historisierst Du dann.

        3ff2cf0a-1223-411e-b70d-6eb15b7555d2-grafik.png

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

          @marco121990 Du setzt die payload auf die Eigenschaft des Objektes und dieses kopierst Du über das Debug Fenster raus.

          copy path.gif

          Ich weiss nicht pb das Deine payload ist, aber falls es Deine payload ist dann setzt Du via Change Node die payload auf payload.Total_in usw.

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

            @codierknecht sagte in Auslesen Daten Stromzähler:

            @marco121990
            Warum unbedingt per NodeRed (oder anderen Scripten)?
            Du kannst Dir für die benötigten DP jeweils einen Alias anlegen und den Wert z.B. per

            JSON.parse(val).power_curr
            

            über die Konvertierungsfunktion aus dem MQTT-DP auslesen. Diesen Alias-DP historisierst Du dann.

            Vielleicht will man später noch andere Dinge mit NodeRed machen?
            Man kann es auch mit Alias oder mit Blockly oder mit JavaScript machen, aber wenn man es im NodeRed Forum postet, gehe ich mal davon aus, dass man daran interessiert ist, wie es mit NodeRed funktioniert!!

            Wenn ich jedesmal im Blockly Forum posten würde, das man es auch mit NodeRed machen könnte, dann ....
            In seinem ersten Post steht dass sich der TE in NodeRed einarbeiten möchte !!!!

            Ich würde gerne mit dem Auto von Hamburg nach Berlin fahren - ach fahr doch besser mit der Bahn. 😠

            Codierknecht 1 Reply Last reply Reply Quote 0
            • M
              marco121990 @mickym last edited by

              @mickym

              Das habe ich so bereits versucht. Wenn ich den Pfad kopieren will erscheint das [""].Total_in. Das payload fehlt, damit ich es entsprechend per Change umwandeln kann.

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

                @mickym

                aber wenn man es im NodeRed Forum postet

                Das Unterforum habe ich natürlich mal wieder überlesen - Asche auf mein Haupt 😇

                Auf der anderen Seite: Wenn man NodeRed an der Ecke nur verwenden möchte, um irgendwie an die Einzelwerte zu kommen, geht's halt mit 'nem Alias deutlich einfacher, als sich erst mit NodeRed auseinandersetzen zu müssen.
                Alternativen aufzuzeigen kann ja auch hilfreich sein 😉

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

                  @marco121990 Kannst Du mir mal Deinen ganzen Flow posten? Ja ist bisschen komisch, dass das Objekt keiner Nachrichteneigenschaft zugeordnet ist.

                  Ich gehe mal davon aus, dass es so ein Objekt ist?

                  f167ef9a-8f20-4b77-bd1a-5064224ce066-image.png

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

                    @mickym
                    Habe nach einigen Fehlversuchen die Übergabe an die Influxdb zunächst wieder gelöscht und nur per debug ausgelesen.

                    0cd699d0-7852-4572-8551-16bca9fd3760-image.png

                    [
                        {
                            "id": "f6f2187d.f17ca8",
                            "type": "tab",
                            "label": "Flow 1",
                            "disabled": false,
                            "info": ""
                        },
                        {
                            "id": "56f626e4b62c825a",
                            "type": "mqtt in",
                            "z": "f6f2187d.f17ca8",
                            "name": "Strom",
                            "topic": "tele/tasmota_Stromzaehler/SENSOR",
                            "qos": "0",
                            "datatype": "json",
                            "broker": "6b0c5137b3a546c3",
                            "nl": false,
                            "rap": true,
                            "rh": 0,
                            "inputs": 0,
                            "x": 150,
                            "y": 100,
                            "wires": [
                                [
                                    "b26daa48e8b63891"
                                ]
                            ]
                        },
                        {
                            "id": "b26daa48e8b63891",
                            "type": "debug",
                            "z": "f6f2187d.f17ca8",
                            "name": "debug 1",
                            "active": true,
                            "tosidebar": true,
                            "console": true,
                            "tostatus": false,
                            "complete": "payload",
                            "targetType": "jsonata",
                            "statusVal": "",
                            "statusType": "auto",
                            "x": 370,
                            "y": 100,
                            "wires": []
                        },
                        {
                            "id": "6b0c5137b3a546c3",
                            "type": "mqtt-broker",
                            "name": "Stromzaehler",
                            "broker": "192.168.178.100",
                            "port": "1883",
                            "clientid": "",
                            "autoConnect": true,
                            "usetls": false,
                            "protocolVersion": "4",
                            "keepalive": "60",
                            "cleansession": true,
                            "birthTopic": "",
                            "birthQos": "0",
                            "birthPayload": "",
                            "birthMsg": {},
                            "closeTopic": "",
                            "closeQos": "0",
                            "closePayload": "",
                            "closeMsg": {},
                            "willTopic": "",
                            "willQos": "0",
                            "willPayload": "",
                            "willMsg": {},
                            "userProps": "",
                            "sessionExpiry": ""
                        }
                    ]
                    

                    Da ich bei Youtube einige Videos zur Visualsierung über den Weg MQTT -> Note Red -> Influxdb -> Grafana gefunden habe, habe ich mich bisher nicht mit anderen Methoden auseinander gesetzt. Bin recht neu auf diesem Gebiet und habe nur wenig bis keine Ahnung davon.

                    Möchte iegentlich nur meinen Stromverbrauch aufzeichnen und grafisch auswerten.

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

                      @marco121990 Das wird von Tasmota übergeben:

                      22:40:54.825 MQT: tele/tasmota_Stromzaehler/STATE = {"Time":"2023-04-24T22:40:54","Uptime":"1T00:11:50","UptimeSec":87110,"Heap":19,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":29,"MqttCount":1,"Wifi":{"AP":1,"SSId":"TP-Link","BSSId":"54:AF:97:D9:63:50","Channel":11,"Mode":"11n","RSSI":50,"Signal":-75,"LinkCount":1,"Downtime":"0T00:00:03"}}

                      22:40:54.834 MQT: tele/tasmota_Stromzaehler/SENSOR = {"Time":"2023-04-24T22:40:54","":{"Total_in":21816.99,"Total_out":7.12,"Power_curr":506}}

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

                        Wenn Du den Flow exportierst musst Du ihn unbedingt in Code-Tags einschliessen.

                        Code-Tags.gif

                        Sonst ist der nicht importierbar.

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

                          @marco121990 sagte in Auslesen Daten Stromzähler:

                          {"Time":"2023-04-24T22:40:54","Uptime":"1T00:11:50","UptimeSec":87110,"Heap":19,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":29,"MqttCount":1,"Wifi":{"AP":1,"SSId":"TP-Link","BSSId":"54:AF:97:D9:63:50","Channel":11,"Mode":"11n","RSSI":50,"Signal":-75,"LinkCount":1,"Downtime":"0T00:00:03"}}

                          Ja das ist normalerweise eine payload.
                          c5d7da74-5f7a-47bf-b63a-4c4265e9fb1d-image.png

                          Wenn Du das über eine iobroker-IN Node einfügst musst Du das erst in in ein Objekt wandeln - oder kommt es aus einer Mqtt- IN Node?

                          Wenn ich Dein Objekt nehme und in eine Inject Node nehme - ordne ich es einer payload zu - deswegen wollte ich den ganzen Flow haben, aber in code-Tags bitte.

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

                            @mickym Habe ich oben im ersten Post angepasst.

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

                              @mickym
                              Kommt aus einer Mqtt-in node

                              0c1ae55c-4e3f-47b9-88b3-e8e6169888b8-image.png

                              mickym 2 Replies Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @marco121990 last edited by mickym

                                @marco121990 Ja verstehe ich - Du kannst es auf Autoerkennung (1. Option lassen), dass ist die vielseitigste - das wird der payload zugewiesen.

                                Mach mal die Debug Node so, dass Du die Ausgabe nicht in das Systemlog schreibst, sondern ins debug Fenster.

                                und kein JSONATA als Ausgabe:
                                20ca02b5-a8f7-4151-b793-901a08825822-image.png

                                Sondern das msg. Objekt.

                                e48f32fc-cc5b-4208-bf6d-4ab5c5ff90fc-image.png

                                Das war bei Dir verkehrt. Dann sollte es mit dem Pfad kopieren funktionieren aus dem Debug Tab.

                                Wenn Du das richtig gestellt hast bekommst Du das in Deinem Debug Fenster:

                                85df35ce-8bdd-4d43-be48-25a474759b54-image.png

                                Dann ist das Objekt auch Teil der payload Eigenschaft des Nachrichtenobjektes.

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

                                  Wie gesagt der JSON stimmt nicht.

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

                                    @mickym

                                    Das war schon einmal der erste Fehler.
                                    Nun kann ich die Pfade als payload kopieren.

                                    Allerdings gibt er mir trotz Change alle 3 Werte aus.

                                    69b49944-3e00-4789-9825-0a72dbcaccf5-image.png

                                    3db6882d-7bcf-42f7-b04f-4a5780707491-image.png

                                    So war die vorgehendweise in einem der Youtube Videos.

                                    [
                                        {
                                            "id": "56f626e4b62c825a",
                                            "type": "mqtt in",
                                            "z": "f6f2187d.f17ca8",
                                            "name": "Strom",
                                            "topic": "tele/tasmota_Stromzaehler/SENSOR",
                                            "qos": "0",
                                            "datatype": "auto-detect",
                                            "broker": "6b0c5137b3a546c3",
                                            "nl": false,
                                            "rap": true,
                                            "rh": 0,
                                            "inputs": 0,
                                            "x": 90,
                                            "y": 100,
                                            "wires": [
                                                [
                                                    "707e6a5fd1adb822",
                                                    "1de823b8ddeb6c63",
                                                    "9ebb34cc2a3228e8"
                                                ]
                                            ]
                                        },
                                        {
                                            "id": "b26daa48e8b63891",
                                            "type": "debug",
                                            "z": "f6f2187d.f17ca8",
                                            "name": "debug 1",
                                            "active": true,
                                            "tosidebar": true,
                                            "console": true,
                                            "tostatus": false,
                                            "complete": "payload",
                                            "targetType": "msg",
                                            "statusVal": "",
                                            "statusType": "auto",
                                            "x": 670,
                                            "y": 140,
                                            "wires": []
                                        },
                                        {
                                            "id": "707e6a5fd1adb822",
                                            "type": "change",
                                            "z": "f6f2187d.f17ca8",
                                            "name": "",
                                            "rules": [
                                                {
                                                    "t": "move",
                                                    "p": "payload[\"\"].Total_in",
                                                    "pt": "msg",
                                                    "to": "payload",
                                                    "tot": "msg"
                                                }
                                            ],
                                            "action": "",
                                            "property": "",
                                            "from": "",
                                            "to": "",
                                            "reg": false,
                                            "x": 350,
                                            "y": 200,
                                            "wires": [
                                                [
                                                    "b26daa48e8b63891"
                                                ]
                                            ]
                                        },
                                        {
                                            "id": "1de823b8ddeb6c63",
                                            "type": "change",
                                            "z": "f6f2187d.f17ca8",
                                            "name": "",
                                            "rules": [
                                                {
                                                    "t": "move",
                                                    "p": "payload[\"\"].Total_out",
                                                    "pt": "msg",
                                                    "to": "payload",
                                                    "tot": "msg"
                                                }
                                            ],
                                            "action": "",
                                            "property": "",
                                            "from": "",
                                            "to": "",
                                            "reg": false,
                                            "x": 360,
                                            "y": 240,
                                            "wires": [
                                                [
                                                    "58e492acb7933ee1"
                                                ]
                                            ]
                                        },
                                        {
                                            "id": "9ebb34cc2a3228e8",
                                            "type": "change",
                                            "z": "f6f2187d.f17ca8",
                                            "name": "",
                                            "rules": [
                                                {
                                                    "t": "move",
                                                    "p": "payload[\"\"].Power_curr",
                                                    "pt": "msg",
                                                    "to": "payload",
                                                    "tot": "msg"
                                                }
                                            ],
                                            "action": "",
                                            "property": "",
                                            "from": "",
                                            "to": "",
                                            "reg": false,
                                            "x": 370,
                                            "y": 280,
                                            "wires": [
                                                [
                                                    "0be43a1afe4539c9"
                                                ]
                                            ]
                                        },
                                        {
                                            "id": "58e492acb7933ee1",
                                            "type": "debug",
                                            "z": "f6f2187d.f17ca8",
                                            "name": "debug 2",
                                            "active": true,
                                            "tosidebar": true,
                                            "console": false,
                                            "tostatus": false,
                                            "complete": "false",
                                            "statusVal": "",
                                            "statusType": "auto",
                                            "x": 680,
                                            "y": 200,
                                            "wires": []
                                        },
                                        {
                                            "id": "0be43a1afe4539c9",
                                            "type": "debug",
                                            "z": "f6f2187d.f17ca8",
                                            "name": "debug 3",
                                            "active": true,
                                            "tosidebar": true,
                                            "console": false,
                                            "tostatus": false,
                                            "complete": "false",
                                            "statusVal": "",
                                            "statusType": "auto",
                                            "x": 680,
                                            "y": 260,
                                            "wires": []
                                        },
                                        {
                                            "id": "6b0c5137b3a546c3",
                                            "type": "mqtt-broker",
                                            "name": "Stromzaehler",
                                            "broker": "192.168.178.100",
                                            "port": "1883",
                                            "clientid": "",
                                            "autoConnect": true,
                                            "usetls": false,
                                            "protocolVersion": "4",
                                            "keepalive": "60",
                                            "cleansession": true,
                                            "birthTopic": "",
                                            "birthQos": "0",
                                            "birthPayload": "",
                                            "birthMsg": {},
                                            "closeTopic": "",
                                            "closeQos": "0",
                                            "closePayload": "",
                                            "closeMsg": {},
                                            "willTopic": "",
                                            "willQos": "0",
                                            "willPayload": "",
                                            "willMsg": {},
                                            "userProps": "",
                                            "sessionExpiry": ""
                                        }
                                    ]
                                    
                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @marco121990 last edited by mickym

                                      Ja das Problem ist, dass da kein richtiger JSON rauskommt. Mach bitte nochmal direkt eine debug Node an die mqtt-In NOde dran.

                                      Und kopieren den kompletten Wert hier in CodeTags - der Eigenschaftsname fehlt nämlich komplett.

                                      ead54c5c-bbc6-45cb-919e-ceb9c53ebc6c-image.png

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

                                        @mickym

                                        {"Time":"2023-04-24T23:10:24","":{"Total_in":21817.28,"Total_out":7.12,"Power_curr":554}}
                                        
                                        mickym 1 Reply Last reply Reply Quote 0
                                        • mickym
                                          mickym Most Active @marco121990 last edited by mickym

                                          @marco121990 sagte in Auslesen Daten Stromzähler:

                                          Ja genau, dass ist das Problem - dass der Eigenschaftsname leer ist

                                          f191dc6c-757d-49fb-9b37-49bffe903c9a-image.png

                                          mickym M 2 Replies Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @mickym last edited by

                                            @mickym

                                            @mickym sagte in Auslesen Daten Stromzähler:

                                            @marco121990 sagte in Auslesen Daten Stromzähler:

                                            Ja genau, dass ist das Problem - dass der Eigenschaftsname leer ist

                                            f191dc6c-757d-49fb-9b37-49bffe903c9a-image.png

                                            Ok - ich glaube ich habe eine Umgehungslösung. 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            790
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            24
                                            1332
                                            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