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. Off Topic
  4. Shelly mit Parser auslesen

NEWS

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Shelly mit Parser auslesen

Geplant Angeheftet Gesperrt Verschoben Off Topic
37 Beiträge 5 Kommentatoren 7.7k 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.
  • T Offline
    T Offline
    Tuskam
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,
    ich bin leider nicht fündig geworden und komme ohne Forum nicht weiter. Meine Shellys 1PM sind in einem anderen Netz.
    Somit geht der Shelly Adapter nicht. Oder hat dafür jemand eine Lösung? Momentan sehe ich das so, dass die im gleichen Netz sein müssen.

    In einem anderen Thread habe ich gelesen, dass man die Shelly mit dem Parser auslesen kann. Aber leider hat niemand eine Anleitung dafür gepostet und ich komme mit meinem Halbwissen nicht weiter.

    Darum gezielt meine Frage hier:
    Shelly 1 PM: Ich möchte mit dem Parser die Temperatur des Shelly auslesen und ich möchte die Power (den Verbrauch in Watt) auslesen. Leider bekomme ich nur Fehlermeldungen, weil ich nicht in der Lage bin, die Felder

    RegEx, Num, Rolle, Typ, Einheit, Alt Ersatz, Faktor, Offset, Intervall

    richtig zu befüllen.

    Kann hier jemand helfen. Das Dokumentieren und das Posten der Lösung werde ich dann gerne übernehmen, wenn es läuft. Denn vielleicht bin ich ja nicht der einzig Ahnungslose und wir helfen auch anderen.

    Danke für die Mühe.

    Gruß
    Markus

    Homematic und IOBroker jeweils im Tinker S, Homematic mit >100 Aktoren, HUE mit >50 Devices, Adapter für Landroid, Yamaha Musiccast, FritzBox .... und trotzdem ein Anfänger ;-)

    mickymM HomoranH 4 Antworten Letzte Antwort
    0
    • T Tuskam

      Hallo zusammen,
      ich bin leider nicht fündig geworden und komme ohne Forum nicht weiter. Meine Shellys 1PM sind in einem anderen Netz.
      Somit geht der Shelly Adapter nicht. Oder hat dafür jemand eine Lösung? Momentan sehe ich das so, dass die im gleichen Netz sein müssen.

      In einem anderen Thread habe ich gelesen, dass man die Shelly mit dem Parser auslesen kann. Aber leider hat niemand eine Anleitung dafür gepostet und ich komme mit meinem Halbwissen nicht weiter.

      Darum gezielt meine Frage hier:
      Shelly 1 PM: Ich möchte mit dem Parser die Temperatur des Shelly auslesen und ich möchte die Power (den Verbrauch in Watt) auslesen. Leider bekomme ich nur Fehlermeldungen, weil ich nicht in der Lage bin, die Felder

      RegEx, Num, Rolle, Typ, Einheit, Alt Ersatz, Faktor, Offset, Intervall

      richtig zu befüllen.

      Kann hier jemand helfen. Das Dokumentieren und das Posten der Lösung werde ich dann gerne übernehmen, wenn es läuft. Denn vielleicht bin ich ja nicht der einzig Ahnungslose und wir helfen auch anderen.

      Danke für die Mühe.

      Gruß
      Markus

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

      @tuskam wenn Du mqtt nicht nutzen willst, kannst du doch immer die http Schnittstelle nutzen, da musst du nichts parsen.

      hier hast Du als Doku eigentlich alles was Du brauchst:
      https://shelly-api-docs.shelly.cloud/gen1/#shelly1-1pm-status

      Wenn ich das mit meinem Shelly 1PM mache dann bekommst eigentlich alle Infos als JSON-String raus:

      cb3a3777-8bce-41e6-9e20-a25244bef084-image.png

      Wenn Du diesen String als Objekt definierst bzw. JSON.parse() benutzt, dann kannst Du

      via
      Den String dann einfach parsen und ein Objekt generieren. Wenn man bespielsweise aus dem http Request den String in der Variablen jsonString zuweist, dann wäre der Code:

      var obj=JSON.parse(jsonString);
      var temperature=obj.temperature  //direkt auf die Temperatur zugreifen.
      var power=obj.meters[0].power //direkt auf Power zugreifen.
      

      Wenn Du Node-Red nutzt ist das dann auch ganz easy - diese einzelnen Werte zu extrahieren:

      96a32798-8513-493d-931d-1049fa5e1fe2-image.png
      Dabei schaut die URL easy mit IP Adresse aus:

      14da889e-282b-4d96-948e-2afe60523df1-image.png

      mqtt sollte aber auch mit dem Adapter gehen oder ggf. unicast mit coap. Aber ich nutze den Shelly Adapter nicht sondern mqtt. Aber gibt sicher Leute, die das auch können.

      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.

      T 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @tuskam wenn Du mqtt nicht nutzen willst, kannst du doch immer die http Schnittstelle nutzen, da musst du nichts parsen.

        hier hast Du als Doku eigentlich alles was Du brauchst:
        https://shelly-api-docs.shelly.cloud/gen1/#shelly1-1pm-status

        Wenn ich das mit meinem Shelly 1PM mache dann bekommst eigentlich alle Infos als JSON-String raus:

        cb3a3777-8bce-41e6-9e20-a25244bef084-image.png

        Wenn Du diesen String als Objekt definierst bzw. JSON.parse() benutzt, dann kannst Du

        via
        Den String dann einfach parsen und ein Objekt generieren. Wenn man bespielsweise aus dem http Request den String in der Variablen jsonString zuweist, dann wäre der Code:

        var obj=JSON.parse(jsonString);
        var temperature=obj.temperature  //direkt auf die Temperatur zugreifen.
        var power=obj.meters[0].power //direkt auf Power zugreifen.
        

        Wenn Du Node-Red nutzt ist das dann auch ganz easy - diese einzelnen Werte zu extrahieren:

        96a32798-8513-493d-931d-1049fa5e1fe2-image.png
        Dabei schaut die URL easy mit IP Adresse aus:

        14da889e-282b-4d96-948e-2afe60523df1-image.png

        mqtt sollte aber auch mit dem Adapter gehen oder ggf. unicast mit coap. Aber ich nutze den Shelly Adapter nicht sondern mqtt. Aber gibt sicher Leute, die das auch können.

        T Offline
        T Offline
        Tuskam
        schrieb am zuletzt editiert von
        #3

        @mickym Danke für die Brocken, die ich verstanden habe.
        Ich kann mit den Programmiersprachen leider zu wenig anfangen, ich habe irgendwann in den 80er Jahren den Weg aus Dos und Pascal nie gefunden ;-)
        Darum versuche ich es über die Adapter, deren Doku sich mir leider auch wenig erschließt, vermutlich wegen fehlender Grundlagen.

        Dabei sind es vor allem die RegEx - Einträge, die ich nicht in den Griff bekomme.

        Deswegen meine Bitte an jemanden, der mit dem Parser im IOBroker agiert. Ich brauche mal ein funktionierendes Beispiel für einen Shelly 1PM, danach wird es sicherlich gehen...

        Gruß
        Markus

        Homematic und IOBroker jeweils im Tinker S, Homematic mit >100 Aktoren, HUE mit >50 Devices, Adapter für Landroid, Yamaha Musiccast, FritzBox .... und trotzdem ein Anfänger ;-)

        1 Antwort Letzte Antwort
        0
        • T Tuskam

          Hallo zusammen,
          ich bin leider nicht fündig geworden und komme ohne Forum nicht weiter. Meine Shellys 1PM sind in einem anderen Netz.
          Somit geht der Shelly Adapter nicht. Oder hat dafür jemand eine Lösung? Momentan sehe ich das so, dass die im gleichen Netz sein müssen.

          In einem anderen Thread habe ich gelesen, dass man die Shelly mit dem Parser auslesen kann. Aber leider hat niemand eine Anleitung dafür gepostet und ich komme mit meinem Halbwissen nicht weiter.

          Darum gezielt meine Frage hier:
          Shelly 1 PM: Ich möchte mit dem Parser die Temperatur des Shelly auslesen und ich möchte die Power (den Verbrauch in Watt) auslesen. Leider bekomme ich nur Fehlermeldungen, weil ich nicht in der Lage bin, die Felder

          RegEx, Num, Rolle, Typ, Einheit, Alt Ersatz, Faktor, Offset, Intervall

          richtig zu befüllen.

          Kann hier jemand helfen. Das Dokumentieren und das Posten der Lösung werde ich dann gerne übernehmen, wenn es läuft. Denn vielleicht bin ich ja nicht der einzig Ahnungslose und wir helfen auch anderen.

          Danke für die Mühe.

          Gruß
          Markus

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von Homoran
          #4

          @tuskam sagte in Shelly mit Parser auslesen:

          Ich möchte mit dem Parser die Temperatur des Shelly auslesen und ich möchte die Power (den Verbrauch in Watt) auslesen. Leider bekomme ich nur Fehlermeldungen, weil ich nicht in der Lage bin, die Felder
          RegEx, Num, Rolle, Typ, Einheit, Alt Ersatz, Faktor, Offset, Intervall
          richtig zu befüllen.

          fangen wir mal ganz vorne an:

          wie rufst du diese Informationen ab?
          Was kommt da zurück?

          EDIT:
          wenn es das ist, was @mickym gepostet hat, müsste das mit Blockly (von mir aus auch node-red ;-) ) und Attribut von... eigentlich einfacher sein, als mit dem parser

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          T crunchipC 2 Antworten Letzte Antwort
          0
          • HomoranH Homoran

            @tuskam sagte in Shelly mit Parser auslesen:

            Ich möchte mit dem Parser die Temperatur des Shelly auslesen und ich möchte die Power (den Verbrauch in Watt) auslesen. Leider bekomme ich nur Fehlermeldungen, weil ich nicht in der Lage bin, die Felder
            RegEx, Num, Rolle, Typ, Einheit, Alt Ersatz, Faktor, Offset, Intervall
            richtig zu befüllen.

            fangen wir mal ganz vorne an:

            wie rufst du diese Informationen ab?
            Was kommt da zurück?

            EDIT:
            wenn es das ist, was @mickym gepostet hat, müsste das mit Blockly (von mir aus auch node-red ;-) ) und Attribut von... eigentlich einfacher sein, als mit dem parser

            T Offline
            T Offline
            Tuskam
            schrieb am zuletzt editiert von
            #5

            @homoran Hi, danke für das Feedback.
            Ich rufe über IP/status ab und bekomme im Browser das Ergebnis, welches mickym auch gepostet hat. Das klappt.

            Im Parser exakt diese Infos eingetippt, geht es nicht. Ich habe fast den Eindruck, dass der Parser nicht funzt.
            Der Abruf der Temperatur, das habe gerade herausgefunden, müsste laufen mit dem RegEx (?<="power":)\w+

            Im Testtest bekomme ich die Power gemeldet. Darum bin ich gerade an dem Punkt, dass ich glaube, der Parser funzt nicht.

            Darum auch gerne der Sprung zu Blockly, damit komme ich gut zurecht.

            Gruß
            Markus

            Homematic und IOBroker jeweils im Tinker S, Homematic mit >100 Aktoren, HUE mit >50 Devices, Adapter für Landroid, Yamaha Musiccast, FritzBox .... und trotzdem ein Anfänger ;-)

            HomoranH 1 Antwort Letzte Antwort
            0
            • T Tuskam

              @homoran Hi, danke für das Feedback.
              Ich rufe über IP/status ab und bekomme im Browser das Ergebnis, welches mickym auch gepostet hat. Das klappt.

              Im Parser exakt diese Infos eingetippt, geht es nicht. Ich habe fast den Eindruck, dass der Parser nicht funzt.
              Der Abruf der Temperatur, das habe gerade herausgefunden, müsste laufen mit dem RegEx (?<="power":)\w+

              Im Testtest bekomme ich die Power gemeldet. Darum bin ich gerade an dem Punkt, dass ich glaube, der Parser funzt nicht.

              Darum auch gerne der Sprung zu Blockly, damit komme ich gut zurecht.

              Gruß
              Markus

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #6

              @tuskam sagte in Shelly mit Parser auslesen:

              Ich rufe über IP/status ab und bekomme im Browser das Ergebnis, welches mickym auch gepostet hat. Das klappt.

              dann brauche ich mal das Ergebnis um damit zu spielen, oder...

              @tuskam sagte in Shelly mit Parser auslesen:

              Im Parser exakt diese Infos eingetippt, geht es nicht
              was genau geht nicht?

              IP/status eingegeben?
              was steht dann im Textfenster des Editors?

              dann brauche ich das als Text

              und deine Konfig im Editor als Screenshot

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              T 1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @tuskam sagte in Shelly mit Parser auslesen:

                Ich möchte mit dem Parser die Temperatur des Shelly auslesen und ich möchte die Power (den Verbrauch in Watt) auslesen. Leider bekomme ich nur Fehlermeldungen, weil ich nicht in der Lage bin, die Felder
                RegEx, Num, Rolle, Typ, Einheit, Alt Ersatz, Faktor, Offset, Intervall
                richtig zu befüllen.

                fangen wir mal ganz vorne an:

                wie rufst du diese Informationen ab?
                Was kommt da zurück?

                EDIT:
                wenn es das ist, was @mickym gepostet hat, müsste das mit Blockly (von mir aus auch node-red ;-) ) und Attribut von... eigentlich einfacher sein, als mit dem parser

                crunchipC Abwesend
                crunchipC Abwesend
                crunchip
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #7

                @homoran sagte in Shelly mit Parser auslesen:

                fangen wir mal ganz vorne an:

                @tuskam sagte in Shelly mit Parser auslesen:

                Meine Shellys 1PM sind in einem anderen Netz.
                Somit geht der Shelly Adapter nicht

                enable ColoT im shelly sollte doch Netzwerkübergreifend funktionieren

                umgestiegen von Proxmox auf Unraid

                1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @tuskam sagte in Shelly mit Parser auslesen:

                  Ich rufe über IP/status ab und bekomme im Browser das Ergebnis, welches mickym auch gepostet hat. Das klappt.

                  dann brauche ich mal das Ergebnis um damit zu spielen, oder...

                  @tuskam sagte in Shelly mit Parser auslesen:

                  Im Parser exakt diese Infos eingetippt, geht es nicht
                  was genau geht nicht?

                  IP/status eingegeben?
                  was steht dann im Textfenster des Editors?

                  dann brauche ich das als Text

                  und deine Konfig im Editor als Screenshot

                  T Offline
                  T Offline
                  Tuskam
                  schrieb am zuletzt editiert von
                  #8

                  @homoran sagte in Shelly mit Parser auslesen:

                  dann brauche ich mal das Ergebnis um damit zu spielen, oder...

                  {"wifi_sta":{"connected":true,"ssid":"meineSSID","ip":"192.168.1.11","rssi":-72},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"12:30","unixtime":1635071423,"serial":762,"has_update":false,"mac":"8CAAB57756E9","cfg_changed_cnt":0,"actions_stats":{"skipped":0},"relays":[{"ison":true,"has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"overpower":false,"source":"input"}],"meters":[{"power":147.84,"overpower":0.00,"is_valid":true,"timestamp":1635078623,"counters":[147.161, 146.558, 145.960],"total":12019}],"inputs":[{"input":0,"event":"","event_cnt":0}],"temperature":32.43,"overtemperature":false,"tmp":{"tC":32.43,"tF":90.37, "is_valid":true},"temperature_status":"Normal","ext_sensors":{},"ext_temperature":{},"ext_humidity":{},"update":{"status":"idle","has_update":false,"new_version":"20210909-145919/v1.11.4-DNSfix-ge6b2f6d","old_version":"20210909-145919/v1.11.4-DNSfix-ge6b2f6d"},"ram_total":50464,"ram_free":38184,"fs_size":233681,"fs_free":148843,"uptime":63151}

                  Das ist nicht das Problem. Der Parser liest meines Erachtens genau das nicht aus, was ich mit dem Browser auslesen kann.

                  @tuskam sagte in Shelly mit Parser auslesen:

                  Im Parser exakt diese Infos eingetippt, geht es nicht
                  was genau geht nicht?

                  Der Parser übernimmt die Werte, aber er liest sie selbst nicht aus. Er aktualisiert nicht. Wie soll ich es sagen? Der ist LEER

                  dann brauche ich das als Text

                  und deine Konfig im Editor als Screenshot
                  Parser2.JPG Parser1.JPG
                  Den Text, den Du jetzt im Parser siehst, habe ich hineinkopiert, damit ich überhaupt testen und verstehen kann.
                  Wenn ich das nicht mache, komme da kein Text, da kann ich noch so viel testen, wie ich will. Reboot, keine Lösung. Neuinstallation, keine Lösung.

                  Darum: Wenn es eine andere Lösung gibt, dann gerne. Nur ich bräuchte dann mal ein ganzes Script, keine Brocken. Mit den Brocken von @mickym komme ich nicht weiter, das habe ich gerade probiert.

                  Das Script muss nur das Auslesen des Status, das Auslesen der Temperatur aus dem Status enthalten (oder die Power, das ist egal) und dann kriege ich den Rest schon irgendwie zusammengefrickelt.

                  Homematic und IOBroker jeweils im Tinker S, Homematic mit >100 Aktoren, HUE mit >50 Devices, Adapter für Landroid, Yamaha Musiccast, FritzBox .... und trotzdem ein Anfänger ;-)

                  Dr. BakteriusD HomoranH mickymM 3 Antworten Letzte Antwort
                  1
                  • T Tuskam

                    @homoran sagte in Shelly mit Parser auslesen:

                    dann brauche ich mal das Ergebnis um damit zu spielen, oder...

                    {"wifi_sta":{"connected":true,"ssid":"meineSSID","ip":"192.168.1.11","rssi":-72},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"12:30","unixtime":1635071423,"serial":762,"has_update":false,"mac":"8CAAB57756E9","cfg_changed_cnt":0,"actions_stats":{"skipped":0},"relays":[{"ison":true,"has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"overpower":false,"source":"input"}],"meters":[{"power":147.84,"overpower":0.00,"is_valid":true,"timestamp":1635078623,"counters":[147.161, 146.558, 145.960],"total":12019}],"inputs":[{"input":0,"event":"","event_cnt":0}],"temperature":32.43,"overtemperature":false,"tmp":{"tC":32.43,"tF":90.37, "is_valid":true},"temperature_status":"Normal","ext_sensors":{},"ext_temperature":{},"ext_humidity":{},"update":{"status":"idle","has_update":false,"new_version":"20210909-145919/v1.11.4-DNSfix-ge6b2f6d","old_version":"20210909-145919/v1.11.4-DNSfix-ge6b2f6d"},"ram_total":50464,"ram_free":38184,"fs_size":233681,"fs_free":148843,"uptime":63151}

                    Das ist nicht das Problem. Der Parser liest meines Erachtens genau das nicht aus, was ich mit dem Browser auslesen kann.

                    @tuskam sagte in Shelly mit Parser auslesen:

                    Im Parser exakt diese Infos eingetippt, geht es nicht
                    was genau geht nicht?

                    Der Parser übernimmt die Werte, aber er liest sie selbst nicht aus. Er aktualisiert nicht. Wie soll ich es sagen? Der ist LEER

                    dann brauche ich das als Text

                    und deine Konfig im Editor als Screenshot
                    Parser2.JPG Parser1.JPG
                    Den Text, den Du jetzt im Parser siehst, habe ich hineinkopiert, damit ich überhaupt testen und verstehen kann.
                    Wenn ich das nicht mache, komme da kein Text, da kann ich noch so viel testen, wie ich will. Reboot, keine Lösung. Neuinstallation, keine Lösung.

                    Darum: Wenn es eine andere Lösung gibt, dann gerne. Nur ich bräuchte dann mal ein ganzes Script, keine Brocken. Mit den Brocken von @mickym komme ich nicht weiter, das habe ich gerade probiert.

                    Das Script muss nur das Auslesen des Status, das Auslesen der Temperatur aus dem Status enthalten (oder die Power, das ist egal) und dann kriege ich den Rest schon irgendwie zusammengefrickelt.

                    Dr. BakteriusD Online
                    Dr. BakteriusD Online
                    Dr. Bakterius
                    Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @tuskam Warum muss es unbedingt der Parser sein und nicht der shelly-Adapter mit MQTT? Kommen da nicht alle Werte rein?

                    T 1 Antwort Letzte Antwort
                    0
                    • T Tuskam

                      @homoran sagte in Shelly mit Parser auslesen:

                      dann brauche ich mal das Ergebnis um damit zu spielen, oder...

                      {"wifi_sta":{"connected":true,"ssid":"meineSSID","ip":"192.168.1.11","rssi":-72},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"12:30","unixtime":1635071423,"serial":762,"has_update":false,"mac":"8CAAB57756E9","cfg_changed_cnt":0,"actions_stats":{"skipped":0},"relays":[{"ison":true,"has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"overpower":false,"source":"input"}],"meters":[{"power":147.84,"overpower":0.00,"is_valid":true,"timestamp":1635078623,"counters":[147.161, 146.558, 145.960],"total":12019}],"inputs":[{"input":0,"event":"","event_cnt":0}],"temperature":32.43,"overtemperature":false,"tmp":{"tC":32.43,"tF":90.37, "is_valid":true},"temperature_status":"Normal","ext_sensors":{},"ext_temperature":{},"ext_humidity":{},"update":{"status":"idle","has_update":false,"new_version":"20210909-145919/v1.11.4-DNSfix-ge6b2f6d","old_version":"20210909-145919/v1.11.4-DNSfix-ge6b2f6d"},"ram_total":50464,"ram_free":38184,"fs_size":233681,"fs_free":148843,"uptime":63151}

                      Das ist nicht das Problem. Der Parser liest meines Erachtens genau das nicht aus, was ich mit dem Browser auslesen kann.

                      @tuskam sagte in Shelly mit Parser auslesen:

                      Im Parser exakt diese Infos eingetippt, geht es nicht
                      was genau geht nicht?

                      Der Parser übernimmt die Werte, aber er liest sie selbst nicht aus. Er aktualisiert nicht. Wie soll ich es sagen? Der ist LEER

                      dann brauche ich das als Text

                      und deine Konfig im Editor als Screenshot
                      Parser2.JPG Parser1.JPG
                      Den Text, den Du jetzt im Parser siehst, habe ich hineinkopiert, damit ich überhaupt testen und verstehen kann.
                      Wenn ich das nicht mache, komme da kein Text, da kann ich noch so viel testen, wie ich will. Reboot, keine Lösung. Neuinstallation, keine Lösung.

                      Darum: Wenn es eine andere Lösung gibt, dann gerne. Nur ich bräuchte dann mal ein ganzes Script, keine Brocken. Mit den Brocken von @mickym komme ich nicht weiter, das habe ich gerade probiert.

                      Das Script muss nur das Auslesen des Status, das Auslesen der Temperatur aus dem Status enthalten (oder die Power, das ist egal) und dann kriege ich den Rest schon irgendwie zusammengefrickelt.

                      HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von Homoran
                      #10

                      @tuskam sagte in Shelly mit Parser auslesen:

                      Der Parser liest meines Erachtens genau das nicht aus, was ich mit dem Browser auslesen kann.

                      dann nutzt mir der Text nichts

                      @tuskam sagte in Shelly mit Parser auslesen:

                      Den Text, den Du jetzt im Parser siehst, habe ich hineinkopiert, damit ich überhaupt testen und verstehen kann.

                      ok!
                      Musst du dich beim Abfragen über den Browser mit User/passwort anmelden?

                      • was steht denn im Log?

                      verstehe ich das

                      @crunchip sagte in Shelly mit Parser auslesen:

                      Meine Shellys 1PM sind in einem anderen Netz.

                      als ob der parser nicht ins andere Netz kommt?
                      Aber der kommt doch sogar in die WeiteWelt

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      T 1 Antwort Letzte Antwort
                      1
                      • Dr. BakteriusD Dr. Bakterius

                        @tuskam Warum muss es unbedingt der Parser sein und nicht der shelly-Adapter mit MQTT? Kommen da nicht alle Werte rein?

                        T Offline
                        T Offline
                        Tuskam
                        schrieb am zuletzt editiert von
                        #11

                        @dr-bakterius Hi, weil das Netz ein entferntes und isoliertes Netz ist. Das kannste im IOBroker nicht definieren. Der kann nur lokale Netze.

                        Homematic und IOBroker jeweils im Tinker S, Homematic mit >100 Aktoren, HUE mit >50 Devices, Adapter für Landroid, Yamaha Musiccast, FritzBox .... und trotzdem ein Anfänger ;-)

                        Dr. BakteriusD 1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

                          @tuskam sagte in Shelly mit Parser auslesen:

                          Der Parser liest meines Erachtens genau das nicht aus, was ich mit dem Browser auslesen kann.

                          dann nutzt mir der Text nichts

                          @tuskam sagte in Shelly mit Parser auslesen:

                          Den Text, den Du jetzt im Parser siehst, habe ich hineinkopiert, damit ich überhaupt testen und verstehen kann.

                          ok!
                          Musst du dich beim Abfragen über den Browser mit User/passwort anmelden?

                          • was steht denn im Log?

                          verstehe ich das

                          @crunchip sagte in Shelly mit Parser auslesen:

                          Meine Shellys 1PM sind in einem anderen Netz.

                          als ob der parser nicht ins andere Netz kommt?
                          Aber der kommt doch sogar in die WeiteWelt

                          T Offline
                          T Offline
                          Tuskam
                          schrieb am zuletzt editiert von
                          #12

                          @homoran sagte in Shelly mit Parser auslesen:

                          @tuskam sagte in Shelly mit Parser auslesen:

                          Den Text, den Du jetzt im Parser siehst, habe ich hineinkopiert, damit ich überhaupt testen und verstehen kann.

                          ok!
                          Musst du dich beim Abfragen über den Browser mit User/passwort anmelden?

                          • was steht denn im Log?

                          Nein, keine Passwortabfrage, wenn Du das meinst. Die habe ich deaktiviert. Das war ja gleich der erste Stolperstein ;-)
                          Im Log steht nichts, wenn ich die Instanz neu starte, bekomme ich
                          "instance system.adapter.parser.0 started with pid 10168"
                          im Log zusehen, danach schweigt der Parser. Das ist ja der Grund, warum ich vermute, dass der gar nicht läuft.

                          @crunchip sagte in Shelly mit Parser auslesen:

                          Meine Shellys 1PM sind in einem anderen Netz.

                          als ob der parser nicht ins andere Netz kommt?
                          Aber der kommt doch sogar in die WeiteWelt

                          Das ist nicht für mich, oder? Ich habe das auch so verstanden, dass der Parser doch nun wirklich alle Netze dieser Welt können müsste, wenn er sie erreichen kann.
                          Achso: Ping in der SSH geht natürlich zum Shelly. Also nix Firewall-Regel oder so.

                          CU Markus

                          Homematic und IOBroker jeweils im Tinker S, Homematic mit >100 Aktoren, HUE mit >50 Devices, Adapter für Landroid, Yamaha Musiccast, FritzBox .... und trotzdem ein Anfänger ;-)

                          1 Antwort Letzte Antwort
                          0
                          • T Tuskam

                            @dr-bakterius Hi, weil das Netz ein entferntes und isoliertes Netz ist. Das kannste im IOBroker nicht definieren. Der kann nur lokale Netze.

                            Dr. BakteriusD Online
                            Dr. BakteriusD Online
                            Dr. Bakterius
                            Most Active
                            schrieb am zuletzt editiert von
                            #13

                            @tuskam Für den MQTT-Betrieb wird im Adapter nur Benutzername und Passwort sowie Port und Listen-IP definiert. Das sollte schon klappen. Im Shelly gibt man die MQTT-Server-IP und den Port an sowie natürlich den konfigurierten Benutzername und Passwort. Wenn das von außerhalb kommt, braucht man noch eine Portweiterleitung im Router.

                            T 1 Antwort Letzte Antwort
                            0
                            • Dr. BakteriusD Dr. Bakterius

                              @tuskam Für den MQTT-Betrieb wird im Adapter nur Benutzername und Passwort sowie Port und Listen-IP definiert. Das sollte schon klappen. Im Shelly gibt man die MQTT-Server-IP und den Port an sowie natürlich den konfigurierten Benutzername und Passwort. Wenn das von außerhalb kommt, braucht man noch eine Portweiterleitung im Router.

                              T Offline
                              T Offline
                              Tuskam
                              schrieb am zuletzt editiert von
                              #14

                              @dr-bakterius sagte in Shelly mit Parser auslesen:

                              @tuskam Für den MQTT-Betrieb wird im Adapter nur Benutzername und Passwort sowie Port und Listen-IP definiert. Das sollte schon klappen. Im Shelly gibt man die MQTT-Server-IP und den Port an sowie natürlich den konfigurierten Benutzername und Passwort. Wenn das von außerhalb kommt, braucht man noch eine Portweiterleitung im Router.

                              Shelly und MQTT — Die originale Firmware enthält auch einen MQTT-Stack, ... Dieser Betrieb ist aber nicht zeitgleich mit der Shelly-Cloud möglich ..

                              MQTT ist keine Option.

                              CU Markus

                              Homematic und IOBroker jeweils im Tinker S, Homematic mit >100 Aktoren, HUE mit >50 Devices, Adapter für Landroid, Yamaha Musiccast, FritzBox .... und trotzdem ein Anfänger ;-)

                              Dr. BakteriusD mickymM 2 Antworten Letzte Antwort
                              0
                              • T Tuskam

                                @dr-bakterius sagte in Shelly mit Parser auslesen:

                                @tuskam Für den MQTT-Betrieb wird im Adapter nur Benutzername und Passwort sowie Port und Listen-IP definiert. Das sollte schon klappen. Im Shelly gibt man die MQTT-Server-IP und den Port an sowie natürlich den konfigurierten Benutzername und Passwort. Wenn das von außerhalb kommt, braucht man noch eine Portweiterleitung im Router.

                                Shelly und MQTT — Die originale Firmware enthält auch einen MQTT-Stack, ... Dieser Betrieb ist aber nicht zeitgleich mit der Shelly-Cloud möglich ..

                                MQTT ist keine Option.

                                CU Markus

                                Dr. BakteriusD Online
                                Dr. BakteriusD Online
                                Dr. Bakterius
                                Most Active
                                schrieb am zuletzt editiert von
                                #15

                                @tuskam sagte in Shelly mit Parser auslesen:

                                Dieser Betrieb ist aber nicht zeitgleich mit der Shelly-Cloud möglich ..

                                Hättest auch gleich schreiben können. Wer nutzt schon die Cloud?

                                T 1 Antwort Letzte Antwort
                                0
                                • Dr. BakteriusD Dr. Bakterius

                                  @tuskam sagte in Shelly mit Parser auslesen:

                                  Dieser Betrieb ist aber nicht zeitgleich mit der Shelly-Cloud möglich ..

                                  Hättest auch gleich schreiben können. Wer nutzt schon die Cloud?

                                  T Offline
                                  T Offline
                                  Tuskam
                                  schrieb am zuletzt editiert von
                                  #16

                                  @dr-bakterius Naja, ich habe geschrieben, dass ich mit dem Parser oder mit einen Script arbeiten muss. Das sollte eigentlich reichen.

                                  Die Cloud hat einen ganz großen Vorteil: Sie führt eine Statistik. Und darum nutze ich die Cloud.
                                  Und es gibt "Bediener", die dürfen alles, aber nicht auf meinen IOBroker. Und auch darum nutzen die die Cloud.

                                  CU Markus

                                  Homematic und IOBroker jeweils im Tinker S, Homematic mit >100 Aktoren, HUE mit >50 Devices, Adapter für Landroid, Yamaha Musiccast, FritzBox .... und trotzdem ein Anfänger ;-)

                                  1 Antwort Letzte Antwort
                                  0
                                  • T Tuskam

                                    @dr-bakterius sagte in Shelly mit Parser auslesen:

                                    @tuskam Für den MQTT-Betrieb wird im Adapter nur Benutzername und Passwort sowie Port und Listen-IP definiert. Das sollte schon klappen. Im Shelly gibt man die MQTT-Server-IP und den Port an sowie natürlich den konfigurierten Benutzername und Passwort. Wenn das von außerhalb kommt, braucht man noch eine Portweiterleitung im Router.

                                    Shelly und MQTT — Die originale Firmware enthält auch einen MQTT-Stack, ... Dieser Betrieb ist aber nicht zeitgleich mit der Shelly-Cloud möglich ..

                                    MQTT ist keine Option.

                                    CU Markus

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

                                    @tuskam Also ich hab Dir den NodeRed Flow gepostet mit dem Du nun den String ganz easy - den Du im Browser bekommst aufdröseln kannst. Dazu sind keine Programmierkenntnisse nötig, sondern lediglich die Nodes aus der Abbildung mit der Maus rauszuziehen und mit Linien miteinander verbinden.

                                    Im Prinzip muss das auch mit dem Blockly gehen - aber da musst Dir halt @Homoran helfen, da ich das nicht so gut beherrsche.

                                    b47c1471-3224-4c4f-9af5-5b4f8cf29803-image.png

                                    Im Prinzip machst Du den http Requst und nutzt das Ergebnis und machst daraus mit der Konvertierung des JSON Strings ein Objekt und kannst dann ebenfalls easy auf alle Werte zugreifen und kannst ggf. eigene Datenpunkte schreiben.

                                    Ich kann Dir auch einen Node-Red Flow basteln, der Dir den gesamten Shellie in einzelne Datenpunkte schreibt und den Du nur noch importieren brauchst.

                                    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.

                                    HomoranH 1 Antwort Letzte Antwort
                                    1
                                    • mickymM mickym

                                      @tuskam Also ich hab Dir den NodeRed Flow gepostet mit dem Du nun den String ganz easy - den Du im Browser bekommst aufdröseln kannst. Dazu sind keine Programmierkenntnisse nötig, sondern lediglich die Nodes aus der Abbildung mit der Maus rauszuziehen und mit Linien miteinander verbinden.

                                      Im Prinzip muss das auch mit dem Blockly gehen - aber da musst Dir halt @Homoran helfen, da ich das nicht so gut beherrsche.

                                      b47c1471-3224-4c4f-9af5-5b4f8cf29803-image.png

                                      Im Prinzip machst Du den http Requst und nutzt das Ergebnis und machst daraus mit der Konvertierung des JSON Strings ein Objekt und kannst dann ebenfalls easy auf alle Werte zugreifen und kannst ggf. eigene Datenpunkte schreiben.

                                      Ich kann Dir auch einen Node-Red Flow basteln, der Dir den gesamten Shellie in einzelne Datenpunkte schreibt und den Du nur noch importieren brauchst.

                                      HomoranH Nicht stören
                                      HomoranH Nicht stören
                                      Homoran
                                      Global Moderator Administrators
                                      schrieb am zuletzt editiert von
                                      #18

                                      @mickym sagte in Shelly mit Parser auslesen:

                                      Im Prinzip machst Du den http Requst und nutzt das Ergebnis und machst daraus mit der Konvertierung des JSON Strings ein Objekt und kannst dann ebenfalls easy auf alle Werte zugreifen und kannst ggf. eigene Datenpunkte schreiben.

                                      naja so fit bin ich da auch nicht, aber so müsste der Anfang gehen (eine selbst angelegt Variable mit Bezeichnung result würde das Ergebnis beinhalten und dann mit dem Block "Attribut von" die entsprechenden JSON Bestandteile abrufen.
                                      Da muss ich mich dann aber auch noch mal einarbeiten

                                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                      mickymM 1 Antwort Letzte Antwort
                                      1
                                      • T Tuskam

                                        @homoran sagte in Shelly mit Parser auslesen:

                                        dann brauche ich mal das Ergebnis um damit zu spielen, oder...

                                        {"wifi_sta":{"connected":true,"ssid":"meineSSID","ip":"192.168.1.11","rssi":-72},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"12:30","unixtime":1635071423,"serial":762,"has_update":false,"mac":"8CAAB57756E9","cfg_changed_cnt":0,"actions_stats":{"skipped":0},"relays":[{"ison":true,"has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"overpower":false,"source":"input"}],"meters":[{"power":147.84,"overpower":0.00,"is_valid":true,"timestamp":1635078623,"counters":[147.161, 146.558, 145.960],"total":12019}],"inputs":[{"input":0,"event":"","event_cnt":0}],"temperature":32.43,"overtemperature":false,"tmp":{"tC":32.43,"tF":90.37, "is_valid":true},"temperature_status":"Normal","ext_sensors":{},"ext_temperature":{},"ext_humidity":{},"update":{"status":"idle","has_update":false,"new_version":"20210909-145919/v1.11.4-DNSfix-ge6b2f6d","old_version":"20210909-145919/v1.11.4-DNSfix-ge6b2f6d"},"ram_total":50464,"ram_free":38184,"fs_size":233681,"fs_free":148843,"uptime":63151}

                                        Das ist nicht das Problem. Der Parser liest meines Erachtens genau das nicht aus, was ich mit dem Browser auslesen kann.

                                        @tuskam sagte in Shelly mit Parser auslesen:

                                        Im Parser exakt diese Infos eingetippt, geht es nicht
                                        was genau geht nicht?

                                        Der Parser übernimmt die Werte, aber er liest sie selbst nicht aus. Er aktualisiert nicht. Wie soll ich es sagen? Der ist LEER

                                        dann brauche ich das als Text

                                        und deine Konfig im Editor als Screenshot
                                        Parser2.JPG Parser1.JPG
                                        Den Text, den Du jetzt im Parser siehst, habe ich hineinkopiert, damit ich überhaupt testen und verstehen kann.
                                        Wenn ich das nicht mache, komme da kein Text, da kann ich noch so viel testen, wie ich will. Reboot, keine Lösung. Neuinstallation, keine Lösung.

                                        Darum: Wenn es eine andere Lösung gibt, dann gerne. Nur ich bräuchte dann mal ein ganzes Script, keine Brocken. Mit den Brocken von @mickym komme ich nicht weiter, das habe ich gerade probiert.

                                        Das Script muss nur das Auslesen des Status, das Auslesen der Temperatur aus dem Status enthalten (oder die Power, das ist egal) und dann kriege ich den Rest schon irgendwie zusammengefrickelt.

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

                                        @tuskam Hier mal der NodeRed Flow - der schreibt Dir alle Datenpunkte Deines Shellies alle 30s unter 0_userdata.0.shelly1PM

                                        f88f78b8-fd4e-46c7-9f9a-92fe38aa2ddd-image.png

                                        ich hab sogar schon Deine IP Adresse eingetragen:

                                        8b838881-b9c8-4949-8fc1-09df1e29302f-image.png

                                        [
                                           {
                                               "id": "c3403a60.92fbb8",
                                               "type": "subflow",
                                               "name": "JSON or Obj to IOBroker",
                                               "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs no `msg.top` property is defined, then you will get an error in the following iobroker-out node (key or topic does not exist) - if you append a debug node to the subflow node you will get the message: \n> Please define msg.top as root for the object structure \n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls in keine Angabe in msg.top definiert wurde, wird man in der darauffolgenden iobroker-out node den Fehler erhalten, dass kein key oder topic definiert ist. Falls eine debug Node an den Subflow angehängt wirde erhält man folgende Ausgabe:\n> Please define msg.top as root for the object structure ",
                                               "category": "parser",
                                               "in": [
                                                   {
                                                       "x": 60,
                                                       "y": 160,
                                                       "wires": [
                                                           {
                                                               "id": "94876630.f71748"
                                                           }
                                                       ]
                                                   }
                                               ],
                                               "out": [
                                                   {
                                                       "x": 2280,
                                                       "y": 260,
                                                       "wires": [
                                                           {
                                                               "id": "74b0b536.02371c",
                                                               "port": 0
                                                           },
                                                           {
                                                               "id": "ab9b1e85.eea2a",
                                                               "port": 0
                                                           }
                                                       ]
                                                   }
                                               ],
                                               "env": [],
                                               "meta": {},
                                               "color": "#E2D96E",
                                               "icon": "node-red/batch.svg"
                                           },
                                           {
                                               "id": "eea737e7.7e8fb8",
                                               "type": "split",
                                               "z": "c3403a60.92fbb8",
                                               "name": "split object",
                                               "splt": "\\n",
                                               "spltType": "str",
                                               "arraySplt": 1,
                                               "arraySpltType": "len",
                                               "stream": false,
                                               "addname": "key",
                                               "x": 1170,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "dc473616.c2b508"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "dc473616.c2b508",
                                               "type": "change",
                                               "z": "c3403a60.92fbb8",
                                               "name": "add key to topic",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "stateName",
                                                       "pt": "msg",
                                                       "to": "key",
                                                       "tot": "msg"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "topic  & '.' & key",
                                                       "tot": "jsonata"
                                                   },
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": " ",
                                                       "fromt": "str",
                                                       "to": "_",
                                                       "tot": "str"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1360,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "78697695.9a72c8"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "78697695.9a72c8",
                                               "type": "switch",
                                               "z": "c3403a60.92fbb8",
                                               "name": "is type?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "istype",
                                                       "v": "array",
                                                       "vt": "array"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "object",
                                                       "vt": "object"
                                                   },
                                                   {
                                                       "t": "else"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 3,
                                               "x": 1540,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "d839cef8.577f1"
                                                   ],
                                                   [
                                                       "eea737e7.7e8fb8"
                                                   ],
                                                   [
                                                       "bdfdae99.f4d9d"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "d839cef8.577f1",
                                               "type": "split",
                                               "z": "c3403a60.92fbb8",
                                               "name": "split array",
                                               "splt": "\\n",
                                               "spltType": "str",
                                               "arraySplt": 1,
                                               "arraySpltType": "len",
                                               "stream": false,
                                               "addname": "",
                                               "x": 580,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "36327f2d.8efc3"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "36327f2d.8efc3",
                                               "type": "change",
                                               "z": "c3403a60.92fbb8",
                                               "name": "add index to topic",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "topic  & '.' & parts.index",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 770,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "d8f58d9b.b6a1"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "74b0b536.02371c",
                                               "type": "change",
                                               "z": "c3403a60.92fbb8",
                                               "name": "finalize msg.topic",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "top",
                                                       "pt": "msg",
                                                       "to": "'0_userdata.0.' & top",
                                                       "tot": "jsonata"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "top & topic",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1970,
                                               "y": 240,
                                               "wires": [
                                                   []
                                               ]
                                           },
                                           {
                                               "id": "4cdee7cb.910c38",
                                               "type": "switch",
                                               "z": "c3403a60.92fbb8",
                                               "name": "is type?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "istype",
                                                       "v": "json",
                                                       "vt": "json"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "object",
                                                       "vt": "object"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "array",
                                                       "vt": "array"
                                                   },
                                                   {
                                                       "t": "else"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 4,
                                               "x": 400,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "c1c41535.17d3b8"
                                                   ],
                                                   [
                                                       "eea737e7.7e8fb8"
                                                   ],
                                                   [
                                                       "d839cef8.577f1"
                                                   ],
                                                   [
                                                       "d8f58d9b.b6a1"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "c1c41535.17d3b8",
                                               "type": "json",
                                               "z": "c3403a60.92fbb8",
                                               "name": "",
                                               "property": "payload",
                                               "action": "",
                                               "pretty": false,
                                               "x": 570,
                                               "y": 120,
                                               "wires": [
                                                   [
                                                       "3ccd67db.375058"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "bdfdae99.f4d9d",
                                               "type": "switch",
                                               "z": "c3403a60.92fbb8",
                                               "name": "is msg.top != null",
                                               "property": "top",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "nnull"
                                                   },
                                                   {
                                                       "t": "null"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 2,
                                               "x": 1750,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "74b0b536.02371c"
                                                   ],
                                                   [
                                                       "7ba7dc21.fdb214"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "7ba7dc21.fdb214",
                                               "type": "change",
                                               "z": "c3403a60.92fbb8",
                                               "name": "payload = warning",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "Please define msg.top as root for the object structure",
                                                       "tot": "str"
                                                   },
                                                   {
                                                       "t": "delete",
                                                       "p": "topic",
                                                       "pt": "msg"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1970,
                                               "y": 300,
                                               "wires": [
                                                   [
                                                       "ab9b1e85.eea2a"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "ab9b1e85.eea2a",
                                               "type": "rbe",
                                               "z": "c3403a60.92fbb8",
                                               "name": "",
                                               "func": "rbe",
                                               "gap": "",
                                               "start": "",
                                               "inout": "out",
                                               "septopics": true,
                                               "property": "payload",
                                               "x": 2130,
                                               "y": 300,
                                               "wires": [
                                                   []
                                               ]
                                           },
                                           {
                                               "id": "94876630.f71748",
                                               "type": "change",
                                               "z": "c3403a60.92fbb8",
                                               "name": "",
                                               "rules": [
                                                   {
                                                       "t": "delete",
                                                       "p": "topic",
                                                       "pt": "msg"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 210,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "4cdee7cb.910c38"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "3ccd67db.375058",
                                               "type": "switch",
                                               "z": "c3403a60.92fbb8",
                                               "name": "is array?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "istype",
                                                       "v": "array",
                                                       "vt": "array"
                                                   },
                                                   {
                                                       "t": "else"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 2,
                                               "x": 700,
                                               "y": 120,
                                               "wires": [
                                                   [
                                                       "d839cef8.577f1"
                                                   ],
                                                   [
                                                       "eea737e7.7e8fb8"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "80dde279.c28ec",
                                               "type": "comment",
                                               "z": "c3403a60.92fbb8",
                                               "name": "Array",
                                               "info": "",
                                               "x": 400,
                                               "y": 280,
                                               "wires": []
                                           },
                                           {
                                               "id": "95ee816e.68a16",
                                               "type": "comment",
                                               "z": "c3403a60.92fbb8",
                                               "name": "object",
                                               "info": "",
                                               "x": 1140,
                                               "y": 100,
                                               "wires": []
                                           },
                                           {
                                               "id": "d8f58d9b.b6a1",
                                               "type": "switch",
                                               "z": "c3403a60.92fbb8",
                                               "name": "is type?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "istype",
                                                       "v": "object",
                                                       "vt": "object"
                                                   },
                                                   {
                                                       "t": "istype",
                                                       "v": "array",
                                                       "vt": "array"
                                                   },
                                                   {
                                                       "t": "else"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 3,
                                               "x": 960,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "eea737e7.7e8fb8"
                                                   ],
                                                   [
                                                       "d839cef8.577f1"
                                                   ],
                                                   [
                                                       "bdfdae99.f4d9d"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "b3ea7be0.d552c8",
                                               "type": "inject",
                                               "z": "16458707.0a3859",
                                               "name": "",
                                               "props": [
                                                   {
                                                       "p": "url",
                                                       "v": "http://192.168.1.11/status",
                                                       "vt": "str"
                                                   }
                                               ],
                                               "repeat": "30",
                                               "crontab": "",
                                               "once": false,
                                               "onceDelay": 0.1,
                                               "topic": "",
                                               "x": 130,
                                               "y": 1780,
                                               "wires": [
                                                   [
                                                       "c5b81df.a283ce"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "c5b81df.a283ce",
                                               "type": "http request",
                                               "z": "16458707.0a3859",
                                               "name": "",
                                               "method": "GET",
                                               "ret": "txt",
                                               "paytoqs": "ignore",
                                               "url": "",
                                               "tls": "",
                                               "persist": false,
                                               "proxy": "",
                                               "authType": "basic",
                                               "x": 280,
                                               "y": 1780,
                                               "wires": [
                                                   [
                                                       "8945c937.1d2f98"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "8945c937.1d2f98",
                                               "type": "json",
                                               "z": "16458707.0a3859",
                                               "name": "",
                                               "property": "payload",
                                               "action": "",
                                               "pretty": false,
                                               "x": 440,
                                               "y": 1780,
                                               "wires": [
                                                   [
                                                       "b6e76ffc.4d809"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "b6e76ffc.4d809",
                                               "type": "change",
                                               "z": "16458707.0a3859",
                                               "name": "",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "top",
                                                       "pt": "msg",
                                                       "to": "shelly1PM",
                                                       "tot": "str"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 600,
                                               "y": 1780,
                                               "wires": [
                                                   [
                                                       "aeeb7f7e.a987d"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "93a11d3b.bae21",
                                               "type": "ioBroker out",
                                               "z": "16458707.0a3859",
                                               "name": "",
                                               "topic": "",
                                               "ack": "true",
                                               "autoCreate": "true",
                                               "stateName": "",
                                               "role": "",
                                               "payloadType": "",
                                               "readonly": "",
                                               "stateUnit": "",
                                               "stateMin": "",
                                               "stateMax": "",
                                               "x": 1060,
                                               "y": 1780,
                                               "wires": []
                                           },
                                           {
                                               "id": "aeeb7f7e.a987d",
                                               "type": "subflow:c3403a60.92fbb8",
                                               "z": "16458707.0a3859",
                                               "name": "",
                                               "x": 830,
                                               "y": 1780,
                                               "wires": [
                                                   [
                                                       "93a11d3b.bae21"
                                                   ]
                                               ]
                                           }
                                        ]
                                        

                                        Du musst nur noch dem NodeRed Adapter erlauben eigene Objekte anzulegen (ich habs grün markiert)
                                        f90baeea-af1a-4394-9cee-82d926618457-image.png

                                        und Du bekommst mit dem Flow die fertige Struktur unter 0_userdata.0

                                        d7b25674-9cf9-4b86-820b-202d9db302c5-image.png

                                        Anschließend sollte man nur noch das Script von @fastfoot drüber laufen lassen, um aus den nicht vorhandenen Objekten Folder zu machen.

                                        Das ist aber auch einfach - einfach das Skript importieren:

                                        /**
                                        * Zweck:       Korrigiert übergeordnete Ordnerstrukturen eines Datenpunkts
                                        * Datum:      07.08.2021
                                        * Autor:       @fastfoot
                                        */
                                        
                                        //              In den Settings der Javascript-Instanz muss setObject erlaubt sein!!!
                                        
                                        let arr = [],
                                          id = '';
                                        
                                        const ids = $('0_userdata.0.*');
                                        ids.each(idTmp => {
                                          arr=idTmp.split('.');
                                          arr.splice(arr.length-1);
                                          id=arr.join('.');
                                          if(arr[0] === '0_userdata' || arr[0] === 'alias' || arr[0] === 'mqtt' || arr[0] === 'javascript'){
                                              correctObject(id, arr);
                                          }
                                        })
                                        
                                        function correctObject(id,arr){
                                          if(arr.length === 2) return;
                                          if(!existsObject(id)){
                                              let obj = {};
                                              obj = {
                                                  type: 'folder',
                                                  common:{
                                                      name: arr[arr.length - 1]
                                                  }
                                              }
                                              extendObject(id, obj, e => {
                                                  if (e) log('Fehler beim Schreiben des Objektes: '+ id + ' ' + e);
                                              })
                                          }
                                          arr.splice(arr.length - 1);
                                          id = arr.join('.');
                                          correctObject(id, arr);
                                        }
                                        
                                        

                                        einmal laufen lassen und dann sind die fehlende Objekte erstellt:

                                        0e9d7a2f-ce8d-4263-9d1c-5b243ad38678-image.png

                                        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
                                        1
                                        • HomoranH Homoran

                                          @mickym sagte in Shelly mit Parser auslesen:

                                          Im Prinzip machst Du den http Requst und nutzt das Ergebnis und machst daraus mit der Konvertierung des JSON Strings ein Objekt und kannst dann ebenfalls easy auf alle Werte zugreifen und kannst ggf. eigene Datenpunkte schreiben.

                                          naja so fit bin ich da auch nicht, aber so müsste der Anfang gehen (eine selbst angelegt Variable mit Bezeichnung result würde das Ergebnis beinhalten und dann mit dem Block "Attribut von" die entsprechenden JSON Bestandteile abrufen.
                                          Da muss ich mich dann aber auch noch mal einarbeiten

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

                                          @homoran Also ich hab das mit dem Objekt bereits mit Blockly rausgefunden.

                                          1aa5f35c-2a3c-4d2a-b4bf-7f9fa1be355f-image.png

                                          Nun muss man nur noch auf die Eigenschaften des Objektes Werte zugreifen.

                                          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.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          713

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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