Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Einbindung von Geräten
  5. MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler)

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    507

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

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

Geplant Angeheftet Gesperrt Verschoben Einbindung von Geräten
73 Beiträge 4 Kommentatoren 6.0k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B Bastel2021

    @mickym
    42e81273-14ee-4e6f-b6cc-25b2a1fc2be2-grafik.png

    Merkwürdigerweise kommt aus der debug9 nichts raus. Aber warum?

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #46

    @bastel2021 Du hast das wie eben geschrieben in Deiner Inject entweder als String oder Objekt definiert. Wenn Du eine json Node dahinter klemmst und es war schon ein Objekt wird es in einen String verwandelt umgekehrt, war es ein String dann in ein Objekt.

    In Debug 8 sieht es nun so aus, als ob du in die Inject Node einen String eingegeben hast. Deswegen enthält die debug 9 das Objekt. Wenn du es gleich als Objekt in der Inject node definierst dann brauchst Du die Umwandlung nicht.

    Ich hab Dir das ja im vorherigen Post dargestellt.

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    B 1 Antwort Letzte Antwort
    0
    • mickymM mickym

      @bastel2021 Du hast das wie eben geschrieben in Deiner Inject entweder als String oder Objekt definiert. Wenn Du eine json Node dahinter klemmst und es war schon ein Objekt wird es in einen String verwandelt umgekehrt, war es ein String dann in ein Objekt.

      In Debug 8 sieht es nun so aus, als ob du in die Inject Node einen String eingegeben hast. Deswegen enthält die debug 9 das Objekt. Wenn du es gleich als Objekt in der Inject node definierst dann brauchst Du die Umwandlung nicht.

      Ich hab Dir das ja im vorherigen Post dargestellt.

      B Offline
      B Offline
      Bastel2021
      schrieb am zuletzt editiert von
      #47

      @mickym
      okay soweit ist das klar, und ich kann das auch Simulieren!
      Nach der Change Node ist dann aber bei beiden Versionen schluss. Hast du eine Idee warum

      1.Variante

      25553f08-dece-4c74-9914-78766a3e2a50-grafik.png

      1. Variante

      14283be2-32f7-496c-b67b-c8b5a4e64322-grafik.png

      mickymM 1 Antwort Letzte Antwort
      0
      • B Bastel2021

        @mickym
        okay soweit ist das klar, und ich kann das auch Simulieren!
        Nach der Change Node ist dann aber bei beiden Versionen schluss. Hast du eine Idee warum

        1.Variante

        25553f08-dece-4c74-9914-78766a3e2a50-grafik.png

        1. Variante

        14283be2-32f7-496c-b67b-c8b5a4e64322-grafik.png

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #48

        @bastel2021 Du setzt die payload auf einen String und nicht auf ein Nachrichtenobjekt:

        Falsch:
        5d80a29c-7338-43df-a7c3-1df038f20754-image.png

        Richtig:

        e8f08a0d-dd72-45dc-8627-8b7e5a76b073-image.png

        Ich erkenne auch keinen Unterschied zwischen Deinen beiden Varianten.

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        B 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @bastel2021 Du setzt die payload auf einen String und nicht auf ein Nachrichtenobjekt:

          Falsch:
          5d80a29c-7338-43df-a7c3-1df038f20754-image.png

          Richtig:

          e8f08a0d-dd72-45dc-8627-8b7e5a76b073-image.png

          Ich erkenne auch keinen Unterschied zwischen Deinen beiden Varianten.

          B Offline
          B Offline
          Bastel2021
          schrieb am zuletzt editiert von
          #49

          @mickym
          Mit Brille wäre das nicht passiert! Also in der Change lag der Fehler.
          Die Varianten waren nur Inject - String und Injekt - Objekt

          mickymM 2 Antworten Letzte Antwort
          0
          • B Bastel2021

            @mickym
            Mit Brille wäre das nicht passiert! Also in der Change lag der Fehler.
            Die Varianten waren nur Inject - String und Injekt - Objekt

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #50

            @bastel2021 Also mal ganz generell:

            Hier mal die Begrifflichkeiten erklärt und die Datentypen : https://forum.iobroker.net/post/852974
            und hier: https://forum.iobroker.net/post/905403

            Das zu verstehen, welche Datentypen es gibt in Javascript ist essentiell für NodeRed, Blockly, JS Programmierung generell und somit auch für den iobroker.

            Im Prinzip kannst Du Dir einfach merken, dass Du mit einem JSON String einfach Javascript-Objekte als String (Zeichenkette) zwischen verschiedenen Systemen (z. Bsp. Browser) austauschen kannst und dabei die Datentypen erhalten bleiben.

            Wenn Du in einer Inject Node ein Objekt selbst erstellst:

            2ed0d40b-c922-4661-8e01-184ea9d1ca1d-image.png

            nutzt Du die geschweifte Klammer - dort kannst Du dann über den JSON Editor das manuell eintragen:

            797f1116-2a23-4a63-8a6f-a158e44fb9ea-image.png

            oder Du nutzt den visuellen Editor um Werte in deinem Objekt zu definieren (nächster Tab):

            NodeRed- Array Visueller Editor.mp4

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            1 Antwort Letzte Antwort
            0
            • B Bastel2021

              @mickym
              Mit Brille wäre das nicht passiert! Also in der Change lag der Fehler.
              Die Varianten waren nur Inject - String und Injekt - Objekt

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #51

              @bastel2021 Wenn Du nur einen reinen String hast, dann musst Du mittels JSON in ein Objekt umwandeln:

              23cad540-ef85-4374-bf45-e768a437ed2b-image.png

              [
                 {
                     "id": "d222e644e68660a6",
                     "type": "inject",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "{\"Time\":\"2023-01-28T14:51:52\",\"ED300L \":{\"Total_in\":3164.3,\"Total_out\":0,\"Power_curr\":190.8}}",
                     "payloadType": "json",
                     "x": 1450,
                     "y": 3120,
                     "wires": [
                         [
                             "8c5ada7055d87d92",
                             "0dd804093323bcf0"
                         ]
                     ]
                 },
                 {
                     "id": "8c5ada7055d87d92",
                     "type": "debug",
                     "z": "289f539dcc33814e",
                     "name": "Objekt",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1710,
                     "y": 3120,
                     "wires": []
                 },
                 {
                     "id": "9bcc74a4cd4c34e9",
                     "type": "inject",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "{\"Time\":\"2023-01-28T14:51:52\",\"ED300L \":{\"Total_in\":3164.3,\"Total_out\":0,\"Power_curr\":190.8}}",
                     "payloadType": "str",
                     "x": 1450,
                     "y": 3220,
                     "wires": [
                         [
                             "e9d07d6d7548352d",
                             "13632c6c2a4e7b78"
                         ]
                     ]
                 },
                 {
                     "id": "e9d07d6d7548352d",
                     "type": "debug",
                     "z": "289f539dcc33814e",
                     "name": "String",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1710,
                     "y": 3220,
                     "wires": []
                 },
                 {
                     "id": "0dd804093323bcf0",
                     "type": "change",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload[\"ED300L \"].Power_curr",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1750,
                     "y": 3160,
                     "wires": [
                         [
                             "10180a8bd8f0b836"
                         ]
                     ]
                 },
                 {
                     "id": "10180a8bd8f0b836",
                     "type": "debug",
                     "z": "289f539dcc33814e",
                     "name": "Wert",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1930,
                     "y": 3160,
                     "wires": []
                 },
                 {
                     "id": "2a56ec2865b7173d",
                     "type": "change",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload[\"ED300L \"].Power_curr",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1750,
                     "y": 3280,
                     "wires": [
                         [
                             "e6c08337d7f19555"
                         ]
                     ]
                 },
                 {
                     "id": "e6c08337d7f19555",
                     "type": "debug",
                     "z": "289f539dcc33814e",
                     "name": "Wert",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1930,
                     "y": 3280,
                     "wires": []
                 },
                 {
                     "id": "13632c6c2a4e7b78",
                     "type": "json",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "property": "payload",
                     "action": "",
                     "pretty": false,
                     "x": 1590,
                     "y": 3280,
                     "wires": [
                         [
                             "2a56ec2865b7173d"
                         ]
                     ]
                 }
              ]
              

              Die obere Inject Node definiert direkt das Objekt:
              94ee0e10-3c8d-474c-a99e-1f70574b8a45-image.png

              die untere nur den String:
              8fc5abb5-8e90-40bd-b615-b094efb2a0ac-image.png

              und muss deshalb via JSON node noch in ein Objekt umgewandelt werden.

              Deshalb:
              Aus der iobroker-IN Node erhälst Du nur den String, deshalb musst Du da dann noch eine JSON Node dranhängen!

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              B 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @bastel2021 Wenn Du nur einen reinen String hast, dann musst Du mittels JSON in ein Objekt umwandeln:

                23cad540-ef85-4374-bf45-e768a437ed2b-image.png

                [
                   {
                       "id": "d222e644e68660a6",
                       "type": "inject",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "{\"Time\":\"2023-01-28T14:51:52\",\"ED300L \":{\"Total_in\":3164.3,\"Total_out\":0,\"Power_curr\":190.8}}",
                       "payloadType": "json",
                       "x": 1450,
                       "y": 3120,
                       "wires": [
                           [
                               "8c5ada7055d87d92",
                               "0dd804093323bcf0"
                           ]
                       ]
                   },
                   {
                       "id": "8c5ada7055d87d92",
                       "type": "debug",
                       "z": "289f539dcc33814e",
                       "name": "Objekt",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 1710,
                       "y": 3120,
                       "wires": []
                   },
                   {
                       "id": "9bcc74a4cd4c34e9",
                       "type": "inject",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "{\"Time\":\"2023-01-28T14:51:52\",\"ED300L \":{\"Total_in\":3164.3,\"Total_out\":0,\"Power_curr\":190.8}}",
                       "payloadType": "str",
                       "x": 1450,
                       "y": 3220,
                       "wires": [
                           [
                               "e9d07d6d7548352d",
                               "13632c6c2a4e7b78"
                           ]
                       ]
                   },
                   {
                       "id": "e9d07d6d7548352d",
                       "type": "debug",
                       "z": "289f539dcc33814e",
                       "name": "String",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 1710,
                       "y": 3220,
                       "wires": []
                   },
                   {
                       "id": "0dd804093323bcf0",
                       "type": "change",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "payload[\"ED300L \"].Power_curr",
                               "tot": "msg"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 1750,
                       "y": 3160,
                       "wires": [
                           [
                               "10180a8bd8f0b836"
                           ]
                       ]
                   },
                   {
                       "id": "10180a8bd8f0b836",
                       "type": "debug",
                       "z": "289f539dcc33814e",
                       "name": "Wert",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 1930,
                       "y": 3160,
                       "wires": []
                   },
                   {
                       "id": "2a56ec2865b7173d",
                       "type": "change",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "payload[\"ED300L \"].Power_curr",
                               "tot": "msg"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 1750,
                       "y": 3280,
                       "wires": [
                           [
                               "e6c08337d7f19555"
                           ]
                       ]
                   },
                   {
                       "id": "e6c08337d7f19555",
                       "type": "debug",
                       "z": "289f539dcc33814e",
                       "name": "Wert",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 1930,
                       "y": 3280,
                       "wires": []
                   },
                   {
                       "id": "13632c6c2a4e7b78",
                       "type": "json",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "property": "payload",
                       "action": "",
                       "pretty": false,
                       "x": 1590,
                       "y": 3280,
                       "wires": [
                           [
                               "2a56ec2865b7173d"
                           ]
                       ]
                   }
                ]
                

                Die obere Inject Node definiert direkt das Objekt:
                94ee0e10-3c8d-474c-a99e-1f70574b8a45-image.png

                die untere nur den String:
                8fc5abb5-8e90-40bd-b615-b094efb2a0ac-image.png

                und muss deshalb via JSON node noch in ein Objekt umgewandelt werden.

                Deshalb:
                Aus der iobroker-IN Node erhälst Du nur den String, deshalb musst Du da dann noch eine JSON Node dranhängen!

                B Offline
                B Offline
                Bastel2021
                schrieb am zuletzt editiert von Bastel2021
                #52

                @mickym

                7b281e89-b9b8-42de-b6b5-c5d36b539395-grafik.png

                Ja das passt jetzt und aktualisiert sich auch!
                Mal eine ganz andere Frage: Tasmota schickt jetzt so alle 3 min eine Aktualisierung.
                Ist mir zu lang, allerdings will ich das System auch nicht überlastet. Was ist da sinnvoll?

                Oh die Change Nodes sind noch falsch beschriftet!

                mickymM 1 Antwort Letzte Antwort
                0
                • B Bastel2021

                  @mickym

                  7b281e89-b9b8-42de-b6b5-c5d36b539395-grafik.png

                  Ja das passt jetzt und aktualisiert sich auch!
                  Mal eine ganz andere Frage: Tasmota schickt jetzt so alle 3 min eine Aktualisierung.
                  Ist mir zu lang, allerdings will ich das System auch nicht überlastet. Was ist da sinnvoll?

                  Oh die Change Nodes sind noch falsch beschriftet!

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #53

                  @bastel2021 Also wenn das unter tele ist .- dann kannst Du das über die Kommandozeile im Tasmota einstellen

                  https://tasmota.github.io/docs/Peripherals/#template

                  b15e12aa-1024-499d-ac27-85d4f5a296df-image.png

                  Ich würds halt mal auf 1 Minute einstellen - damit überlastest Du noch nichts - kommt ja immer darauf an, wie ausgelastet dein System generell ist.

                  Ist denn unter stat kein Wert?

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  B 1 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    @bastel2021 Also wenn das unter tele ist .- dann kannst Du das über die Kommandozeile im Tasmota einstellen

                    https://tasmota.github.io/docs/Peripherals/#template

                    b15e12aa-1024-499d-ac27-85d4f5a296df-image.png

                    Ich würds halt mal auf 1 Minute einstellen - damit überlastest Du noch nichts - kommt ja immer darauf an, wie ausgelastet dein System generell ist.

                    Ist denn unter stat kein Wert?

                    B Offline
                    B Offline
                    Bastel2021
                    schrieb am zuletzt editiert von
                    #54

                    @mickym
                    Habe das jetzt mal auf 60 geändert. Unter stat steht kein Wert.
                    Danke schon mal für deine Unterstützung und deine Geduld! Werde mich da noch weiter einlesen.

                    So sieht jetzt das Ergebnis aus!
                    1b71ee55-57b9-463b-9fdc-b10f2c781be0-grafik.png

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • B Bastel2021

                      @mickym
                      Habe das jetzt mal auf 60 geändert. Unter stat steht kein Wert.
                      Danke schon mal für deine Unterstützung und deine Geduld! Werde mich da noch weiter einlesen.

                      So sieht jetzt das Ergebnis aus!
                      1b71ee55-57b9-463b-9fdc-b10f2c781be0-grafik.png

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #55

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

                      @mickym
                      Habe das jetzt mal auf 60 geändert. Unter stat steht kein Wert.
                      Danke schon mal für deine Unterstützung und deine Geduld! Werde mich da noch weiter einlesen.

                      So sieht jetzt das Ergebnis aus!
                      1b71ee55-57b9-463b-9fdc-b10f2c781be0-grafik.png

                      Na Glückwunsch!!! Schaut doch gut aus! :+1: :+1: :+1:

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      B 1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

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

                        @mickym
                        Habe das jetzt mal auf 60 geändert. Unter stat steht kein Wert.
                        Danke schon mal für deine Unterstützung und deine Geduld! Werde mich da noch weiter einlesen.

                        So sieht jetzt das Ergebnis aus!
                        1b71ee55-57b9-463b-9fdc-b10f2c781be0-grafik.png

                        Na Glückwunsch!!! Schaut doch gut aus! :+1: :+1: :+1:

                        B Offline
                        B Offline
                        Bastel2021
                        schrieb am zuletzt editiert von Bastel2021
                        #56

                        @mickym
                        Hallo!
                        ich habe da noch ein paar Nachfragen zu der Verarbeitung der Daten meines Stromzählers.
                        Ich würde gerne einen täglichen / monatlichen Verbrauch erfassen wollen.
                        Was ist deiner Meinung nach die richtige Vorgehensweise? Objekte im Ordner 0_userdata neu erstellen mit einer selbst erstellten Struktur hört sich interessant an. Aber erstens nicht ganz einfach und wie geht es dann weiter mit den Datenpunkten?
                        Außerdem interessiert mich auch noch wie ich z.B. ab einer bestimmten Leistung Geräte ein bzw, ausschalten kann.
                        Und da ist auch noch VIS und Grafana. Auch interessant. Da wollte ich noch Fragen ob alles überhaupt mit einem RPi3B machbar ist. oder sollte ich hier über kurz oder lang das System anders aufbauen.

                        Vielleicht kannst du mir mit deinem Wissen und Überblick ein paar Tips geben?

                        mickymM 1 Antwort Letzte Antwort
                        0
                        • B Bastel2021

                          @mickym
                          Hallo!
                          ich habe da noch ein paar Nachfragen zu der Verarbeitung der Daten meines Stromzählers.
                          Ich würde gerne einen täglichen / monatlichen Verbrauch erfassen wollen.
                          Was ist deiner Meinung nach die richtige Vorgehensweise? Objekte im Ordner 0_userdata neu erstellen mit einer selbst erstellten Struktur hört sich interessant an. Aber erstens nicht ganz einfach und wie geht es dann weiter mit den Datenpunkten?
                          Außerdem interessiert mich auch noch wie ich z.B. ab einer bestimmten Leistung Geräte ein bzw, ausschalten kann.
                          Und da ist auch noch VIS und Grafana. Auch interessant. Da wollte ich noch Fragen ob alles überhaupt mit einem RPi3B machbar ist. oder sollte ich hier über kurz oder lang das System anders aufbauen.

                          Vielleicht kannst du mir mit deinem Wissen und Überblick ein paar Tips geben?

                          mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #57

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

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          B 1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

                            @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 Offline
                            B Offline
                            Bastel2021
                            schrieb am zuletzt editiert von
                            #58

                            @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?

                            mickymM 1 Antwort Letzte Antwort
                            0
                            • B Bastel2021

                              @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?

                              mickymM Offline
                              mickymM Offline
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von
                              #59

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

                              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                              B 1 Antwort Letzte Antwort
                              0
                              • mickymM mickym

                                @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 Offline
                                B Offline
                                Bastel2021
                                schrieb am zuletzt editiert von
                                #60

                                @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?

                                mickymM 1 Antwort Letzte Antwort
                                0
                                • B Bastel2021

                                  @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?

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #61

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

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  B 1 Antwort Letzte Antwort
                                  0
                                  • mickymM mickym

                                    @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 Offline
                                    B Offline
                                    Bastel2021
                                    schrieb am zuletzt editiert von
                                    #62

                                    @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"

                                    mickymM 1 Antwort Letzte Antwort
                                    0
                                    • B Bastel2021

                                      @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"

                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #63

                                      @bastel2021 Gut welcher Wert ist das?

                                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                      B 1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

                                        @bastel2021 Gut welcher Wert ist das?

                                        B Offline
                                        B Offline
                                        Bastel2021
                                        schrieb am zuletzt editiert von
                                        #64

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

                                        Das ist der Wert für die aktuelle Leistung.

                                        mickymM 1 Antwort Letzte Antwort
                                        0
                                        • B Bastel2021

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

                                          Das ist der Wert für die aktuelle Leistung.

                                          mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #65

                                          @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?

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          B 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          841

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe