Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler)

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

      @bastel2021 Du kannst ja einfach die Werte, die Dich interessieren in eigene Datenpunkte unter userdata erstellen. Diese Datenpunkte werden dann mit einem Adapter Deiner Wahl gespeichert.

      Merke Dir immer, dass der iobroker NUR dazu da ist, Momentanzustände zu erfassen. Historien erstellst Du dann entweder über eine Datenbank (SQL - Adapter, Influx Adapter, Historien Adapter etc).

      Diese Werte können dann entweder direkt in den Chart Tools wie Grafana abgefragt und dargestellt werden oder Du berechnest daraus die gewünschten Werte. Für die meisten Zeitbasierten Werte nehmen die meisten Influx DB. Für eine DB ist der RPi3B zu schwach. Da würde ich den Historie Adapter nehmen und lieber eCharts oder Flot zur Darstellung verwenden.

      Für die Aufsummierung kannst Du es mal mit dem sourcesanalytics Adapter versuchen. Aber für später mit einer Datenbank brauchst Du leistungsfähigere Hardware.

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

        @mickym
        danke mal wieder für deine Antwort!
        Also um erstmal ein paar Erfahrungen zu sammeln den Historie Adapter nehmen und lieber eCharts oder Flot zur Darstellung und sourcesanalytics Adapter; das geht alles noch mit dem Pi?

        Und ab einer bestimmten Leistung Geräte ein bzw, ausschalten, geht das über NodeRed oder besser Blockly?

        Und zum Schluss, was heißt denn leistungsfähigere Hardware. Gibt es da Empfehlungen?

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

          @bastel2021 Na ich habe ein RPi4B und da geht das alles.

          Nur der Raspberry 3 hat glaub nur 1GB - ich hab keine Ahnung wieviel eine Datenbank da braucht. Du kannst ja damit mal anfagen. Vielleicht gehts auch.

          Probiers aus. 😉

          NodeRed und Blockly ist egal - das gibt sich nichts. Ich persönlich mache alles mit NodeRed - weil ich es wesentlich übersichtlicher, leistungsfähiger und auch wesentlich besser bei der Fehlersuche finde. Du programmierst nicht sondern kümmerst Dich um Abläufe. Mit Blockly bist Du wesentlich mehr an Programmierlogik gebunden.

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

            @mickym
            Okay, dann ist die Anschaffung RPi4B das nächste was kommt.
            Und zwischendurch werde ich versuchen die Datenpunkte aus NodeRed in die 0_userdata zu bekommen. da hast du ja auf einen Thread von dir verwiesen.
            NodeRed gefällt mir auch sehr gut. Kannst vielleicht eventuell mal bei Gelegenheit erklären wie man einen Flow aufbauen könnte um bei einem bestimmten Wert etwas zu schalten?

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

              @bastel2021 sagte in MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler):

              Kannst vielleicht eventuell mal bei Gelegenheit erklären wie man einen Flow aufbauen könnte um bei einem bestimmten Wert etwas zu schalten?

              Na das können wir gleich machen. Das ist nicht schwierig. Du hast ja nun schon verstanden wie Du Werte ausliest oder aus dem JSON extrahierst. Dann überleg Dir was Du machen willst und wir machen das zusammen.

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

                @mickym
                okay: super
                Ich möchte ab einer bestimmten Leistung z.B. 500W einen Aktor z.B. eine Lampe schalten.
                Der Hintergrund ist eine zukünftige PV-Anlage. Da möchte ich später bei Leistungsüberschuss Verbraucher einschalten, also ein bischen "Lastmanagement"

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

                  @bastel2021 Gut welcher Wert ist das?

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

                    @mickym
                    1d8fd212-9d2e-415f-976f-a9cccd56ee37-grafik.png

                    Das ist der Wert für die aktuelle Leistung.

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

                      @bastel2021 Gut und wenn Du immer eine debugNode dahinterklemmst, siehst Du ja die aktuelle Leistung im Debug Fenster.

                      2edbe717-7954-4724-a519-ba9b3279b910-image.png

                      Diese payload werden wir nun analysieren in dem wir eine Switch Node dahinterklemmen und sagen, dass die Nachricht nur dann durchkommen soll, wenn der Wert über 500 ist.

                      5aaa40b8-adbe-4810-899f-d48268035415-image.png

                      Nun kommt die Nachricht also erst durch wenn die payload >= 500 ist.

                      Achte auf die Funktion der switch node.

                      1. Als erstes gibst Du an, welche Eigenschaft Du untersuchen willst (hellblau)
                      2. Dann die Bedingung oder Regel in dem Fall größer gleich (gelb)
                      3. Dann ganz wichtig ist der Datentyp mit dem wir vergleichen (rot unterstrichen)
                      4. den Wert mit dem wir die payload vergleichen (grün)
                      5. An welchem Ausgang die Nachricht geleitet wird (violett)

                      Wenn Du die Lampe ein und ausschalten willst -
                      brauchen wir alle Nachrichtenobjekte - also auch die wenn die Leistung (payload) unter 500 ist.

                      c4593adc-681c-448b-8726-8c3be75acd3a-image.png

                      Wir schicken also alle Nachrichten unter 500 an Ausgang 2 alle über 500 an Ausgang 1.

                      7d2382b0-7caa-46f0-a321-29cca5cf4b6c-image.png

                      Anstelle der Inject Node hängst Du natürlich die Change Node mit dem Flow davor, der Dir Power_current aus Deinem Objekt ausliest.

                      Hier der Flow zum Import:

                      [
                         {
                             "id": "69718b91c34b4a1b",
                             "type": "debug",
                             "z": "289f539dcc33814e",
                             "name": "Lampe einschalten",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 2470,
                             "y": 3800,
                             "wires": []
                         },
                         {
                             "id": "b63b3fe03bc3fd26",
                             "type": "inject",
                             "z": "289f539dcc33814e",
                             "name": "",
                             "props": [
                                 {
                                     "p": "payload"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "",
                             "payload": "200",
                             "payloadType": "num",
                             "x": 2150,
                             "y": 3840,
                             "wires": [
                                 [
                                     "b67fa6851920e6bc"
                                 ]
                             ]
                         },
                         {
                             "id": "b67fa6851920e6bc",
                             "type": "switch",
                             "z": "289f539dcc33814e",
                             "name": "",
                             "property": "payload",
                             "propertyType": "msg",
                             "rules": [
                                 {
                                     "t": "gte",
                                     "v": "500",
                                     "vt": "num"
                                 },
                                 {
                                     "t": "lt",
                                     "v": "500",
                                     "vt": "num"
                                 }
                             ],
                             "checkall": "true",
                             "repair": false,
                             "outputs": 2,
                             "x": 2290,
                             "y": 3840,
                             "wires": [
                                 [
                                     "69718b91c34b4a1b"
                                 ],
                                 [
                                     "95f4cfc78d317d42"
                                 ]
                             ]
                         },
                         {
                             "id": "95f4cfc78d317d42",
                             "type": "debug",
                             "z": "289f539dcc33814e",
                             "name": "Lampe ausschalten",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 2470,
                             "y": 3860,
                             "wires": []
                         }
                      ]
                      

                      So wie heißt denn nun der Datenpunkt mit der Du Deine Lampe schaltest?

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

                        @mickym
                        3c6b36f1-0f95-4af1-a089-34625e9c50eb-grafik.png

                        Der Flow funtioniert. Bei Leistung unter 500W ist die Debug 2 aktiv und über 500W die Debug 1

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

                          @bastel2021 Genau und nun müssen wir ja nur noch die payload so modifizieren, dass wir an den state Punkt true oder false schicken.

                          Um eine payload wieder zu ändern nutzen wir wieder eine Change Node und setzen einmal true und einmal false:

                          ebb85200-1c18-4456-b663-fadfdb1acb3b-image.png

                          1fc04692-d1be-4879-9e10-36f5e679e5da-image.png

                          Das wars schon. 😉 Ist doch total easy. 😉

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

                            @mickym
                            👍 👍 👍
                            sehr sauber und besten Dank! Ganz leicht wenn man weis was man machen muss!
                            Ich danke dir mal wieder, und muss für heute Schluss machen.
                            Muss in meinem Flow ein wenig Ordnung schaffen.
                            Also nochmals Besten Dank!

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

                              @mickym
                              Guten Abend!
                              Habe da noch zwei Fragen:
                              Ich habe jetzt meine Stromwerte gemäß deiner Beschreibung Datenpunkte zerlegen:
                              Link Text
                              In das Verzeichnis userdata.0 geschrieben. Top! das hat sehr gut geklappt.
                              Zwei Daten (Leistung und Arbeit) werden jetzt im History-Adapter aufgezeichnet. Auch das funktioniert.
                              Jetzt zu meinen Fragen:

                              1. Im Log von IoB werden jetzt fleißig Warn-Meldungen geschrieben:
                              Read-only state "0_userdata.0.objRoot.ED300L .Power_curr" has been written without ack-flag with value "3517.1"
                              

                              Kann man das beseitigen?

                              1. Kann ich die Ordner Struktur noch verändern:
                                21940a3b-834c-413d-9458-ed1f75251b3b-grafik.png

                              z.B. anstelle von objRoot sollte Stromzähler stehen

                              Gruß Günter

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

                                @bastel2021 Ja - zu Punkt 1. Schreib das mit ACK-Flag oder mach das Read-Only Weg. Das hängt an der iobroker-out Node.

                                Mit ACK-Flag schreibt man in dem man die iobroker-Out Node den Type auf value ändert.

                                zu Punkt 2:

                                In der Subflow Node - kann man den Namen ändern unter dem das Objekt geschrieben wird.

                                028fca06-d2c5-4c79-9220-ec7a5bc444f8-image.png

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

                                  @mickym
                                  Danke für die prompte Antwort!!!
                                  Das mit dem Log ist jetzt weg! Perfekt!
                                  Nach der Änderung in der Sufblow-Instanz ist jetzt ein neuer Ordner Stromzähler angelegt worden.
                                  Kann ich den Ordner objRoot einfach löschen?

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

                                    @bastel2021 sagte in MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler):

                                    Kann ich den Ordner objRoot einfach löschen?

                                    ja

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

                                      @mickym
                                      Super! Danke dir ... mal wieder 👍

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      1.1k
                                      Online

                                      31.7k
                                      Users

                                      79.7k
                                      Topics

                                      1.3m
                                      Posts

                                      4
                                      73
                                      4085
                                      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