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. Umwandlungsproblem

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Umwandlungsproblem

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

      @joeysch

      Hallo,

      ich bekomme per MQTT einen Wert nach Node Red. Der übergebene Payload sieht wie folgt aus: "{"value": 3.291}"

      Wie bekomme ich daraus eine normale Zahl? Steh imho voll auf dem Schlauch.it

      change-Node auf payload.value setzen?
      0183bb95-2cf8-4002-9119-6749d9bf1977-image.png
      was hat das mit mqtt zu tun?
      mit der mqtt-in node?

      Wie soll man Dir bei Deinem Input bitte helfen

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

        @mickym

        Ich hab mich wahrscheinlich nicht richtig ausgedrückt.
        ec9059ac-2acc-475d-ab61-cb9699fb45cc-image.png

        Ich hole mir mittel MQTT Node Daten aus dem Venus OS. Diese möchte ich dann im IoBroker weiterverwenden.
        Leider sind sie nicht als Zahl sondern wie gezeigt formatiert.

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

          @joeysch Klemm eine Change Node dazwischen wie gerade gepostet. Und dann noch in der mqtt-In Node auf analysiertes JSON Objekt stellen.

          3b672928-2331-4826-a77b-d54b49292fa0-image.png

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

            @mickym
            Danke, funktioniert!

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

              @joeysch Ansonsten könntest Du meinen Subflow verwenden und Dir viel Arbeit ersparen. 😉 Und aus Deinem Flow mit wenigen NOdes - alle Datenpunkte im iobroker direkt erstellen und nicht über mqtt. Aber natürlich nur, falls Du interessiert bist. 😉

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

                @mickym
                Gerne, wo finde ich ihn?

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

                  @joeysch Na wir können das schnell zusammen machen. Das würde bedeuten, dass Du unter userdata alle Spannungen der Zellen in einem Datenpunkt hast, wäre das OK?

                  Kannst Du dann mal bitte in topic hier in code-Tags stellen, dann würde ich Dir den Flow weitgehenst fertig machen. Also diesen Teil einfach mal als Text hier einstellen:

                  60834e3e-2fc3-4540-afe0-735e77bc0fd7-image.png

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

                    @mickym

                    N/dca632478bdc/battery/1/Voltages/Cell1
                    
                    1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active last edited by mickym

                      @joeysch sagte in Umwandlungsproblem:

                      N/dca632478bdc/battery/1/Voltages/Cell1

                      Ohne meinen Subflow aber noch viel einfacher:

                      6d803206-c67f-4cef-a541-1e236b48ac98-image.png N/dca632478bdc/battery/1/Voltages/Cell1

                      [
                         {
                             "id": "8b693b78cb89f916",
                             "type": "change",
                             "z": "02dece3d313bbbd7",
                             "name": "",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "payload",
                                     "pt": "msg",
                                     "to": "payload.value",
                                     "tot": "msg"
                                 },
                                 {
                                     "t": "change",
                                     "p": "topic",
                                     "pt": "msg",
                                     "from": ".*\\/Voltages\\/(.*)$",
                                     "fromt": "re",
                                     "to": "0_userdata.0.Spannung.$1",
                                     "tot": "str"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 530,
                             "y": 180,
                             "wires": [
                                 [
                                     "284fe10c7fd197e5"
                                 ]
                             ]
                         },
                         {
                             "id": "284fe10c7fd197e5",
                             "type": "ioBroker out",
                             "z": "02dece3d313bbbd7",
                             "name": "",
                             "topic": "",
                             "ack": "true",
                             "autoCreate": "true",
                             "stateName": "",
                             "role": "",
                             "payloadType": "",
                             "readonly": "",
                             "stateUnit": "V",
                             "stateMin": "",
                             "stateMax": "",
                             "x": 740,
                             "y": 180,
                             "wires": []
                         },
                         {
                             "id": "b9fe83e880bb2fa2",
                             "type": "mqtt in",
                             "z": "02dece3d313bbbd7",
                             "name": "",
                             "topic": "N/dca632478bdc/battery/1/Voltages/+",
                             "qos": "2",
                             "datatype": "json",
                             "broker": "",
                             "nl": false,
                             "rap": true,
                             "rh": 0,
                             "inputs": 0,
                             "x": 250,
                             "y": 180,
                             "wires": [
                                 [
                                     "8b693b78cb89f916"
                                 ]
                             ]
                         }
                      ]
                      

                      Sollte Dir unter 0_userdata.0.Spannung die Werte aller Zellen anlegen.

                      Halt darauf achten, dass Du im NodeRed Adapter die Option
                      f6d028b2-4968-4382-b30d-2502296d6199-image.png

                      angehakt hast.

                      Wenn Du den NodeRed Adapter im iobroker nutzt. Sonst kannst das Topic aber auch über die mqtt-Out Node freilassen und die topics dynamisch erstellen lassen in dem Du in der Change Node das Topic erstellst - halt dann nicht mit 0_userdata.0.Spannung.Cell1 sondern, halt mit dem von Dir gewünschtne Topic Batterie1/Cell1 usw.

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

                        @mickym
                        Funktioniert super, werd mal ein bisschen probieren, da ich auch noch andere Daten brauche.
                        Komme auch mit dem Node Red des IoBrokers problemlos auf den Raspi.

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

                          @joeysch Na ja das Problem ist halt, solange ich nur immer Ausschnitte Deiner Anforderung kenne ist das halt immer nur bruchstückhafte Hilfe.

                          Aber immerhin, ist Dein Bildschirm etwas weniger lila. 😉

                          1 Reply Last reply Reply Quote 0
                          • J
                            joeysch last edited by

                            @mickym
                            Ich habe vor zwei Batterieblöcke à 16 Zellen zu verwenden. So wie ich das sehe sind im Venus OS aber nur die Daten des ersten Block's enthalten.
                            Ich bekomme die Daten von diesem Tool [https://github.com/Louisvdw/dbus-serialbattery]
                            Gibt es eine Möglichkeit die Daten der zweiten Batterie schon vorher abzufangen? Oder vielleicht über einen Zusatz im Pythonscript über MQTT zu pulizieren?

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

                              @joeysch ich glaube, ich kann Dir nicht helfen. Ich habe mir mal kurz die Beschreibung angeschaut und ich glaube bzw. weiß nicht, wie die Batterie verbunden ist. Aber so wie ich es verstanden habe, läuft die Kommunikation über eine serielle Schnittstelle und die kann man nicht teilen. Solange das Tool von sich aus nicht mehrere Batterien unterstützt, sehe ich eher schwarz. Vielleicht machst mal ein Issue zu diesem Tool auf.

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

                                @mickym
                                Bei mir fällt jetzt dauernd die MQTT Verbindung aus. Wenn ich das im Venus deaktiviere und wieder aktiviere kommt kurz was und dann nicht mehr. Was kann das sein?

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

                                  @joeysch eventuell bug in der mqtt Node von Node-red. Das habe ich leider bei einer Instanz auch. Probiere mal Neustart des Node-Red Adapters.

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

                                    @mickym Nein, es sieht aus als würde Venus keine Daten mehr liefern. Es steht "Verbunden" aber es kommt nichts. Hab auch schon ein paar mal neu gestartet.

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

                                      @joeysch Dann schreib doch mal was mit einer mqtt-out Node in den mqtt Broker bei Venus und hole es mit einer mqtt-In Node wieder ab. Dann weisst Du wenigstens, dass der mqtt Broker richtig arbeitet. Wenn aber nichts reinkommt dann liegt es an diesem Tool. Da kann ich Dir aber nicht helfen.

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

                                        @mickym
                                        Ich hab was gefunden.
                                        Das Venus liefert die MQTT Daten nicht freiwillig. Man muß folgende Zeile in die rc.local einfügen

                                        while :; do mosquitto_pub -h IP_ADRESSE -m '' -t 'R/EIGENE_NR/system/0/Serial'; sleep 30; done

                                        Dann klappts auch mit den Daten.

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

                                          @joeysch Ah OK - dann ist das also doch ein mosquitto Broker mit den mosquitto Clients installiert und diese werden in einem Shellskript publiziert.

                                          Wie gesagt, was das Tool liefert habe ich keine Ahnung, aber Du siehst ja mit dem -t und Topic wie publiziert wird.

                                          Eine Beschreibung zu den mosquitto Clients findest Du im Übrigen auf den normalen mosquitto Seiten:
                                          https://mosquitto.org/man/mosquitto_pub-1.html

                                          Und mit diesem rc.local - wird quasi ein Shell skript ausgeführt, dass in einer Endlosschleife läuft. Das ist zwar nicht besonders elegant, aber immerhin, weißt Du wie es funktioniert.

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          1.0k
                                          Online

                                          31.7k
                                          Users

                                          79.8k
                                          Topics

                                          1.3m
                                          Posts

                                          2
                                          20
                                          582
                                          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