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. ioBroker Allgemein
  4. iobroker, MQTT und Shelly - Was geht wie?

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

iobroker, MQTT und Shelly - Was geht wie?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
167 Beiträge 10 Kommentatoren 46.6k Aufrufe 10 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.
  • L Laser

    @mickym Da ist eigentlich nur ein Script, welches den Shelly schaltet. Und weil 14 Uhr im Programm und 2 Uhr schaltet die Kiste, dachte ich irgendwie an 24/12 Stunden Problem. Ein Witz, daß der Scheduler ausgerechnet auf 2 Uhr stand.

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von
    #148

    @laser Na ja wie gesagt, vielleicht hat das auch was mit dem Shelly Adapter zu tun gehabt (den ich nicht kenne), dass Du über diesen Adapter auch intern den Scheduler ansteuern kannst. Soweit ich weiß, hattest Du doch den Shelly mal mit dem Adapter angesteuert.

    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.

    L 1 Antwort Letzte Antwort
    0
    • mickymM mickym

      @laser Na ja wie gesagt, vielleicht hat das auch was mit dem Shelly Adapter zu tun gehabt (den ich nicht kenne), dass Du über diesen Adapter auch intern den Scheduler ansteuern kannst. Soweit ich weiß, hattest Du doch den Shelly mal mit dem Adapter angesteuert.

      L Online
      L Online
      Laser
      schrieb am zuletzt editiert von Laser
      #149

      @mickym Schwer zu sagen, wie der Scheduler da rein kam. Ich dachte eigentlich, der Shelly war neu. Der Shelly- Adapter ist schon gut. So wie alle Adapter, wenn Sie gepflegt werden. IO Broker lebt doch von den Adaptern. Man kann nicht immer im Urschleim anfangen. Da löst man nie anspruchsvolle Aufgaben, weil die Zeit irgendwann nicht mehr reicht.

      mickymM 1 Antwort Letzte Antwort
      0
      • L Laser

        @mickym Schwer zu sagen, wie der Scheduler da rein kam. Ich dachte eigentlich, der Shelly war neu. Der Shelly- Adapter ist schon gut. So wie alle Adapter, wenn Sie gepflegt werden. IO Broker lebt doch von den Adaptern. Man kann nicht immer im Urschleim anfangen. Da löst man nie anspruchsvolle Aufgaben, weil die Zeit irgendwann nicht mehr reicht.

        mickymM Online
        mickymM Online
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #150

        @laser Klar sind Adapter gut, aber sie bringen halt grundsätzlich eine zustätzliche Fehlerquelle mit und interpretieren halt die Dinge, die sie kennen. Sobald was neu ist, muss ein Entwickler wieder dran.
        Ich nutze ja auch Adapter, die Dinge oder APIs toll verkapseln (ein hervorragender Adapter ist zum Beispiel der mercedes-me Adapter, den ich hier mal besonders lobend herausstellen will, weil hier das mit der Authentifizierung nicht einfach ist und bei Problemen quasi noch am gleichen Tag vom Entwickler eine Lösung bereitgestellt wird). Aber alles was mqtt spricht betreibe ich lieber direkt, da braucht es in meinen Augen keine Adapter. mqtt ist ein allgemeines Protokoll und leicht lesbar. Man muss sich also nur mit den topics etc. auskennen und die Basis von JSON und das ist wirklich kein Hexenwerk.
        Teilweise ist das ja auch alles historisch gewachsen. Und über die Aliasfunktion, die ja nun richtig komfortabel ist, kann man auch selbst viele Dinge quasi "standardisieren".

        Aber lasser wir lieber die Diskussion, ich hab mir hier mit meiner Meinung schon genug Ärger zugezogen.

        Jeder hat halt so seine Meinung und das ist auch gut so. Ich bin ja wie gesagt auch kein Puzzlefreund und finde die "roten Knoten" viel mächtiger, wenn man nicht herkömmlich codieren will.

        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.

        HALH 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @laser Klar sind Adapter gut, aber sie bringen halt grundsätzlich eine zustätzliche Fehlerquelle mit und interpretieren halt die Dinge, die sie kennen. Sobald was neu ist, muss ein Entwickler wieder dran.
          Ich nutze ja auch Adapter, die Dinge oder APIs toll verkapseln (ein hervorragender Adapter ist zum Beispiel der mercedes-me Adapter, den ich hier mal besonders lobend herausstellen will, weil hier das mit der Authentifizierung nicht einfach ist und bei Problemen quasi noch am gleichen Tag vom Entwickler eine Lösung bereitgestellt wird). Aber alles was mqtt spricht betreibe ich lieber direkt, da braucht es in meinen Augen keine Adapter. mqtt ist ein allgemeines Protokoll und leicht lesbar. Man muss sich also nur mit den topics etc. auskennen und die Basis von JSON und das ist wirklich kein Hexenwerk.
          Teilweise ist das ja auch alles historisch gewachsen. Und über die Aliasfunktion, die ja nun richtig komfortabel ist, kann man auch selbst viele Dinge quasi "standardisieren".

          Aber lasser wir lieber die Diskussion, ich hab mir hier mit meiner Meinung schon genug Ärger zugezogen.

          Jeder hat halt so seine Meinung und das ist auch gut so. Ich bin ja wie gesagt auch kein Puzzlefreund und finde die "roten Knoten" viel mächtiger, wenn man nicht herkömmlich codieren will.

          HALH Offline
          HALH Offline
          HAL
          schrieb am zuletzt editiert von
          #151

          @mickym Hallo mickym, ich stehe genau vor dem von Dir geschilderten Problem. Für meine neue WP habe ich einen neuen 3Phasen Shelly Energiezähler installiert. Aber dieses Gerät wird (noch) nicht vom Shelly Adapter unterstützt. Einen HW request habe ich in Github gestellt, aber KA wann der eingebaut wird.

          Mit dem Mqtt Server kann ich die json Daten sehen. Jetzt habe ich einige Daten und überlege, wie ich die in verschiedenen DP bekomme.
          Vielleicht kannst Du mir erklären, wie ich die Leistungsdaten ( z.B. Gesamtleistung war gerade 2,8kw = total_act_power":2865.999, und wenn möglich je Phase) in DP bekomme?

          Hier die json:

          {"src":"shellypro3em63-..........."shellypro3em63-........./events","method":"NotifyStatus","params":{"ts":............,"em:0":{"id":0,"a_act_power":-932.3,"a_aprt_power":2434.9,"a_current":10.391,"a_freq":50.0,"a_pf":0.38,"a_voltage":234.5,"b_act_power":2215.8,"b_aprt_power":2462.7,"b_current":10.524,"b_freq":50.0,"b_pf":0.90,"b_voltage":234.1,"c_act_power":1582.4,"c_aprt_power":2779.7,"c_current":11.904,"c_freq":50.0,"c_pf":0.57,"c_voltage":233.5,"n_current":null,"total_act_power":2865.999,"total_aprt_power":7677.312,"total_current":32.819}}}
          
          

          Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
          (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

          mickymM 1 Antwort Letzte Antwort
          0
          • HALH HAL

            @mickym Hallo mickym, ich stehe genau vor dem von Dir geschilderten Problem. Für meine neue WP habe ich einen neuen 3Phasen Shelly Energiezähler installiert. Aber dieses Gerät wird (noch) nicht vom Shelly Adapter unterstützt. Einen HW request habe ich in Github gestellt, aber KA wann der eingebaut wird.

            Mit dem Mqtt Server kann ich die json Daten sehen. Jetzt habe ich einige Daten und überlege, wie ich die in verschiedenen DP bekomme.
            Vielleicht kannst Du mir erklären, wie ich die Leistungsdaten ( z.B. Gesamtleistung war gerade 2,8kw = total_act_power":2865.999, und wenn möglich je Phase) in DP bekomme?

            Hier die json:

            {"src":"shellypro3em63-..........."shellypro3em63-........./events","method":"NotifyStatus","params":{"ts":............,"em:0":{"id":0,"a_act_power":-932.3,"a_aprt_power":2434.9,"a_current":10.391,"a_freq":50.0,"a_pf":0.38,"a_voltage":234.5,"b_act_power":2215.8,"b_aprt_power":2462.7,"b_current":10.524,"b_freq":50.0,"b_pf":0.90,"b_voltage":234.1,"c_act_power":1582.4,"c_aprt_power":2779.7,"c_current":11.904,"c_freq":50.0,"c_pf":0.57,"c_voltage":233.5,"n_current":null,"total_act_power":2865.999,"total_aprt_power":7677.312,"total_current":32.819}}}
            
            
            mickymM Online
            mickymM Online
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #152

            @hal Nun du kannst Dir entweder Aliase erstellen, für die Datenpunkte, die Dich interessieren:
            https://forum.iobroker.net/post/980575

            Oder Du nutzt Deine Logikmaschine. Wenn Du NodeRed nutzt, habe ich auch einen Flow der Dir alles in einzelne Datenpunkte zerlegt, aber das braucht man in der Regel nicht.

            Also nachdem Dein Objekt ein Doppelpunkt enthält und auch deine Daten nicht sauber sind, habe ich das hier mal mit einem Alias für Dich nachgebaut:

            Also wenn Dein Datenpunkt diesen JSON enthält:

            {
              "method": "NotifyStatus",
              "params": {
                "em:0": {
                  "id": 0,
                  "a_act_power": -932.3,
                  "a_aprt_power": 2434.9,
                  "a_current": 10.391,
                  "a_freq": 50,
                  "a_pf": 0.38,
                  "a_voltage": 234.5,
                  "b_act_power": 2215.8,
                  "b_aprt_power": 2462.7,
                  "b_current": 10.524,
                  "b_freq": 50,
                  "b_pf": 0.9,
                  "b_voltage": 234.1,
                  "c_act_power": 1582.4,
                  "c_aprt_power": 2779.7,
                  "c_current": 11.904,
                  "c_freq": 50,
                  "c_pf": 0.57,
                  "c_voltage": 233.5,
                  "n_current": null,
                  "total_act_power": 2865.999,
                  "total_aprt_power": 7677.312,
                  "total_current": 32.819
                }
              }
            }
            

            4ecee489-d47e-4885-b924-e234b4304047-image.png

            Dann ist da ein Doppelpunkt bei dem em:0 drin - und den musst Du dann in Deiner Konverierungsfunktion, wie folgt schreiben:

            JSON.parse(val).params['em:0'].total_act_power
            

            a56899d4-b52c-4357-a9c0-9a167d512be0-image.png

            35dcb417-8768-4e22-9468-250729f4528f-image.png

            Dann erhälst du im Alias auch Deinen Wert einzeln.

            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.

            HALH 3 Antworten Letzte Antwort
            0
            • mickymM mickym

              @hal Nun du kannst Dir entweder Aliase erstellen, für die Datenpunkte, die Dich interessieren:
              https://forum.iobroker.net/post/980575

              Oder Du nutzt Deine Logikmaschine. Wenn Du NodeRed nutzt, habe ich auch einen Flow der Dir alles in einzelne Datenpunkte zerlegt, aber das braucht man in der Regel nicht.

              Also nachdem Dein Objekt ein Doppelpunkt enthält und auch deine Daten nicht sauber sind, habe ich das hier mal mit einem Alias für Dich nachgebaut:

              Also wenn Dein Datenpunkt diesen JSON enthält:

              {
                "method": "NotifyStatus",
                "params": {
                  "em:0": {
                    "id": 0,
                    "a_act_power": -932.3,
                    "a_aprt_power": 2434.9,
                    "a_current": 10.391,
                    "a_freq": 50,
                    "a_pf": 0.38,
                    "a_voltage": 234.5,
                    "b_act_power": 2215.8,
                    "b_aprt_power": 2462.7,
                    "b_current": 10.524,
                    "b_freq": 50,
                    "b_pf": 0.9,
                    "b_voltage": 234.1,
                    "c_act_power": 1582.4,
                    "c_aprt_power": 2779.7,
                    "c_current": 11.904,
                    "c_freq": 50,
                    "c_pf": 0.57,
                    "c_voltage": 233.5,
                    "n_current": null,
                    "total_act_power": 2865.999,
                    "total_aprt_power": 7677.312,
                    "total_current": 32.819
                  }
                }
              }
              

              4ecee489-d47e-4885-b924-e234b4304047-image.png

              Dann ist da ein Doppelpunkt bei dem em:0 drin - und den musst Du dann in Deiner Konverierungsfunktion, wie folgt schreiben:

              JSON.parse(val).params['em:0'].total_act_power
              

              a56899d4-b52c-4357-a9c0-9a167d512be0-image.png

              35dcb417-8768-4e22-9468-250729f4528f-image.png

              Dann erhälst du im Alias auch Deinen Wert einzeln.

              HALH Offline
              HALH Offline
              HAL
              schrieb am zuletzt editiert von HAL
              #153

              @mickym boah super DANKE, ich schaue mir das später richtig an und versuche das so umzusetzen.

              Hat geklappt , nochmals DANKE !

              Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
              (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

              1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @hal Nun du kannst Dir entweder Aliase erstellen, für die Datenpunkte, die Dich interessieren:
                https://forum.iobroker.net/post/980575

                Oder Du nutzt Deine Logikmaschine. Wenn Du NodeRed nutzt, habe ich auch einen Flow der Dir alles in einzelne Datenpunkte zerlegt, aber das braucht man in der Regel nicht.

                Also nachdem Dein Objekt ein Doppelpunkt enthält und auch deine Daten nicht sauber sind, habe ich das hier mal mit einem Alias für Dich nachgebaut:

                Also wenn Dein Datenpunkt diesen JSON enthält:

                {
                  "method": "NotifyStatus",
                  "params": {
                    "em:0": {
                      "id": 0,
                      "a_act_power": -932.3,
                      "a_aprt_power": 2434.9,
                      "a_current": 10.391,
                      "a_freq": 50,
                      "a_pf": 0.38,
                      "a_voltage": 234.5,
                      "b_act_power": 2215.8,
                      "b_aprt_power": 2462.7,
                      "b_current": 10.524,
                      "b_freq": 50,
                      "b_pf": 0.9,
                      "b_voltage": 234.1,
                      "c_act_power": 1582.4,
                      "c_aprt_power": 2779.7,
                      "c_current": 11.904,
                      "c_freq": 50,
                      "c_pf": 0.57,
                      "c_voltage": 233.5,
                      "n_current": null,
                      "total_act_power": 2865.999,
                      "total_aprt_power": 7677.312,
                      "total_current": 32.819
                    }
                  }
                }
                

                4ecee489-d47e-4885-b924-e234b4304047-image.png

                Dann ist da ein Doppelpunkt bei dem em:0 drin - und den musst Du dann in Deiner Konverierungsfunktion, wie folgt schreiben:

                JSON.parse(val).params['em:0'].total_act_power
                

                a56899d4-b52c-4357-a9c0-9a167d512be0-image.png

                35dcb417-8768-4e22-9468-250729f4528f-image.png

                Dann erhälst du im Alias auch Deinen Wert einzeln.

                HALH Offline
                HALH Offline
                HAL
                schrieb am zuletzt editiert von
                #154

                @mickym noch eine Frage, der Wert wird normal angezeigt, im log steht aber :

                Invalid read function for "alias.0.WP_Leistung": "JSON.parse(val).params['em:0'].total_act_power" => Cannot read properties of undefined (reading 'total_act_power')
                

                Muss ich da noch etwas definieren ?

                Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
                (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

                mickymM 2 Antworten Letzte Antwort
                0
                • HALH HAL

                  @mickym noch eine Frage, der Wert wird normal angezeigt, im log steht aber :

                  Invalid read function for "alias.0.WP_Leistung": "JSON.parse(val).params['em:0'].total_act_power" => Cannot read properties of undefined (reading 'total_act_power')
                  

                  Muss ich da noch etwas definieren ?

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #155

                  @hal Nein - ausser es kommt zu diesem Zeitpunkt ein Wert rein, der nicht das ganze Objekt enthält. Ich weiß aber auch nicht, wie man das unterdrückt.

                  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
                  • HALH HAL

                    @mickym noch eine Frage, der Wert wird normal angezeigt, im log steht aber :

                    Invalid read function for "alias.0.WP_Leistung": "JSON.parse(val).params['em:0'].total_act_power" => Cannot read properties of undefined (reading 'total_act_power')
                    

                    Muss ich da noch etwas definieren ?

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von
                    #156

                    @hal wenn es zu sehr nervt, dann nimm deine Logikmaschine und schreib Dir selbst einen Datenpunkt unter 0_userdata.0

                    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.

                    HALH 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @hal wenn es zu sehr nervt, dann nimm deine Logikmaschine und schreib Dir selbst einen Datenpunkt unter 0_userdata.0

                      HALH Offline
                      HALH Offline
                      HAL
                      schrieb am zuletzt editiert von
                      #157

                      @mickym Alles klar, Danke

                      Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
                      (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

                      1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @hal Nun du kannst Dir entweder Aliase erstellen, für die Datenpunkte, die Dich interessieren:
                        https://forum.iobroker.net/post/980575

                        Oder Du nutzt Deine Logikmaschine. Wenn Du NodeRed nutzt, habe ich auch einen Flow der Dir alles in einzelne Datenpunkte zerlegt, aber das braucht man in der Regel nicht.

                        Also nachdem Dein Objekt ein Doppelpunkt enthält und auch deine Daten nicht sauber sind, habe ich das hier mal mit einem Alias für Dich nachgebaut:

                        Also wenn Dein Datenpunkt diesen JSON enthält:

                        {
                          "method": "NotifyStatus",
                          "params": {
                            "em:0": {
                              "id": 0,
                              "a_act_power": -932.3,
                              "a_aprt_power": 2434.9,
                              "a_current": 10.391,
                              "a_freq": 50,
                              "a_pf": 0.38,
                              "a_voltage": 234.5,
                              "b_act_power": 2215.8,
                              "b_aprt_power": 2462.7,
                              "b_current": 10.524,
                              "b_freq": 50,
                              "b_pf": 0.9,
                              "b_voltage": 234.1,
                              "c_act_power": 1582.4,
                              "c_aprt_power": 2779.7,
                              "c_current": 11.904,
                              "c_freq": 50,
                              "c_pf": 0.57,
                              "c_voltage": 233.5,
                              "n_current": null,
                              "total_act_power": 2865.999,
                              "total_aprt_power": 7677.312,
                              "total_current": 32.819
                            }
                          }
                        }
                        

                        4ecee489-d47e-4885-b924-e234b4304047-image.png

                        Dann ist da ein Doppelpunkt bei dem em:0 drin - und den musst Du dann in Deiner Konverierungsfunktion, wie folgt schreiben:

                        JSON.parse(val).params['em:0'].total_act_power
                        

                        a56899d4-b52c-4357-a9c0-9a167d512be0-image.png

                        35dcb417-8768-4e22-9468-250729f4528f-image.png

                        Dann erhälst du im Alias auch Deinen Wert einzeln.

                        HALH Offline
                        HALH Offline
                        HAL
                        schrieb am zuletzt editiert von HAL
                        #158

                        @mickym
                        Hallo mickym, leider wird mein log jetzt massive von den Alias Fehlern vollgeschrieben und ich muß einen anderen Weg finden. Mit Blockly habe ich es versucht, bin aber auch nicht erfolgreich gewesen:
                        Boklyjpg.jpg

                        Du hast von einem NoteRed Flow geschrieben, der die einzelnen DP erzeugt. Kannst Du mir den zur Verfügung stellen ?

                        Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
                        (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

                        mickymM 2 Antworten Letzte Antwort
                        0
                        • HALH HAL

                          @mickym
                          Hallo mickym, leider wird mein log jetzt massive von den Alias Fehlern vollgeschrieben und ich muß einen anderen Weg finden. Mit Blockly habe ich es versucht, bin aber auch nicht erfolgreich gewesen:
                          Boklyjpg.jpg

                          Du hast von einem NoteRed Flow geschrieben, der die einzelnen DP erzeugt. Kannst Du mir den zur Verfügung stellen ?

                          mickymM Online
                          mickymM Online
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #159

                          @hal sagte in iobroker, MQTT und Shelly - Was geht wie?:

                          Du hast von einem NoteRed Flow geschrieben, der die einzelnen DP erzeugt. Kannst Du mir den zur Verfügung stellen ?

                          Klar - Du musst den nur importieren:

                          https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen

                          Ich habs gerade auch nochmal getestet, funktioniert ohne Fehler:

                          Kannst auch direkt importieren:

                          [
                              {
                                  "id": "6e802f1553b18149",
                                  "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 `msg.top` property isn't defined, the `top` property of the subflow-node is used. \n\nIn the properties of the subflow node a new property `keepTopic` has been added. Default is _false_ to keep the current behaviour. If set to _true_ then the originial topic will be placed between the `top` property of the subflow node and the property of the analyzed JSON object.\n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n**Update 13.09.2022:**\nSpaces in topics of objects are no longer replaced with underscores in objects. No differences between all data types.\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 msg.top nicht definiert wurde, wird der `top`-Wert der Subflow-Node verwendet.\n\nIn den Eigenschaften der Subflow-Node wurde ein neuer Parameter `keepTopic` hinzugefügt. Standardwert ist _false_, um das bisherige Verhalten beizubehalten. Setzt man die Eigenschaft auf _true_, dann wird das originale Topic zwischen der `top` Eigenschaft der Subflow-Node und Eigenschaft des analysierten JSON Objektes eingefügt.\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. \n\n**Update 13.09.2022:**\nLeerzeichen werden in Topics von Objekten nicht mehr durch Unterstriche ersetzt. Es gibt keine Unterschiede mehr zwischen den Datentypen.",
                                  "category": "",
                                  "in": [
                                      {
                                          "x": 60,
                                          "y": 160,
                                          "wires": [
                                              {
                                                  "id": "554b8c663bcb46c2"
                                              }
                                          ]
                                      }
                                  ],
                                  "out": [
                                      {
                                          "x": 2620,
                                          "y": 280,
                                          "wires": [
                                              {
                                                  "id": "0962842ebd23e0d7",
                                                  "port": 0
                                              }
                                          ]
                                      }
                                  ],
                                  "env": [
                                      {
                                          "name": "top",
                                          "type": "str",
                                          "value": "objRoot"
                                      },
                                      {
                                          "name": "keepTopic",
                                          "type": "bool",
                                          "value": "false"
                                      }
                                  ],
                                  "meta": {},
                                  "color": "#E2D96E",
                                  "icon": "node-red/batch.svg"
                              },
                              {
                                  "id": "3e11e8338f694832",
                                  "type": "split",
                                  "z": "6e802f1553b18149",
                                  "name": "split object",
                                  "splt": "\\n",
                                  "spltType": "str",
                                  "arraySplt": 1,
                                  "arraySpltType": "len",
                                  "stream": false,
                                  "addname": "key",
                                  "x": 1370,
                                  "y": 160,
                                  "wires": [
                                      [
                                          "0562a4249c8b856b"
                                      ]
                                  ]
                              },
                              {
                                  "id": "0562a4249c8b856b",
                                  "type": "change",
                                  "z": "6e802f1553b18149",
                                  "name": "add key to topic",
                                  "rules": [
                                      {
                                          "t": "set",
                                          "p": "stateName",
                                          "pt": "msg",
                                          "to": "key",
                                          "tot": "msg"
                                      },
                                      {
                                          "t": "change",
                                          "p": "key",
                                          "pt": "msg",
                                          "from": ".",
                                          "fromt": "str",
                                          "to": "_",
                                          "tot": "str"
                                      },
                                      {
                                          "t": "set",
                                          "p": "topic",
                                          "pt": "msg",
                                          "to": "topic  & '.' & key",
                                          "tot": "jsonata"
                                      }
                                  ],
                                  "action": "",
                                  "property": "",
                                  "from": "",
                                  "to": "",
                                  "reg": false,
                                  "x": 1560,
                                  "y": 160,
                                  "wires": [
                                      [
                                          "ddc90985bef0fafa"
                                      ]
                                  ]
                              },
                              {
                                  "id": "ddc90985bef0fafa",
                                  "type": "switch",
                                  "z": "6e802f1553b18149",
                                  "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": 1740,
                                  "y": 160,
                                  "wires": [
                                      [
                                          "bfce19b206660fbe"
                                      ],
                                      [
                                          "3e11e8338f694832"
                                      ],
                                      [
                                          "1a8c03d866b85b12"
                                      ]
                                  ]
                              },
                              {
                                  "id": "bfce19b206660fbe",
                                  "type": "split",
                                  "z": "6e802f1553b18149",
                                  "name": "split array",
                                  "splt": "\\n",
                                  "spltType": "str",
                                  "arraySplt": 1,
                                  "arraySpltType": "len",
                                  "stream": false,
                                  "addname": "",
                                  "x": 780,
                                  "y": 280,
                                  "wires": [
                                      [
                                          "e89927810c6d75ec"
                                      ]
                                  ]
                              },
                              {
                                  "id": "e89927810c6d75ec",
                                  "type": "change",
                                  "z": "6e802f1553b18149",
                                  "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": 970,
                                  "y": 280,
                                  "wires": [
                                      [
                                          "a4d1a5d04564dc77"
                                      ]
                                  ]
                              },
                              {
                                  "id": "f5d52c6a57d08904",
                                  "type": "change",
                                  "z": "6e802f1553b18149",
                                  "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": 2170,
                                  "y": 240,
                                  "wires": [
                                      [
                                          "0962842ebd23e0d7"
                                      ]
                                  ]
                              },
                              {
                                  "id": "1a8c03d866b85b12",
                                  "type": "switch",
                                  "z": "6e802f1553b18149",
                                  "name": "is msg.top != null",
                                  "property": "top",
                                  "propertyType": "msg",
                                  "rules": [
                                      {
                                          "t": "nnull"
                                      },
                                      {
                                          "t": "null"
                                      }
                                  ],
                                  "checkall": "true",
                                  "repair": false,
                                  "outputs": 2,
                                  "x": 1950,
                                  "y": 280,
                                  "wires": [
                                      [
                                          "f5d52c6a57d08904"
                                      ],
                                      [
                                          "74c895ce724750de"
                                      ]
                                  ]
                              },
                              {
                                  "id": "e023fe88445ce43e",
                                  "type": "change",
                                  "z": "6e802f1553b18149",
                                  "name": "",
                                  "rules": [
                                      {
                                          "t": "delete",
                                          "p": "topic",
                                          "pt": "msg"
                                      }
                                  ],
                                  "action": "",
                                  "property": "",
                                  "from": "",
                                  "to": "",
                                  "reg": false,
                                  "x": 350,
                                  "y": 200,
                                  "wires": [
                                      [
                                          "3649300b4c233b10"
                                      ]
                                  ]
                              },
                              {
                                  "id": "3649300b4c233b10",
                                  "type": "switch",
                                  "z": "6e802f1553b18149",
                                  "name": "is type?",
                                  "property": "payload",
                                  "propertyType": "msg",
                                  "rules": [
                                      {
                                          "t": "istype",
                                          "v": "json",
                                          "vt": "json"
                                      },
                                      {
                                          "t": "istype",
                                          "v": "array",
                                          "vt": "array"
                                      },
                                      {
                                          "t": "istype",
                                          "v": "object",
                                          "vt": "object"
                                      },
                                      {
                                          "t": "else"
                                      }
                                  ],
                                  "checkall": "true",
                                  "repair": false,
                                  "outputs": 4,
                                  "x": 600,
                                  "y": 160,
                                  "wires": [
                                      [
                                          "fc7913a8524badb7"
                                      ],
                                      [
                                          "bfce19b206660fbe"
                                      ],
                                      [
                                          "3e11e8338f694832"
                                      ],
                                      [
                                          "9ac3cc3681e8b6c6"
                                      ]
                                  ]
                              },
                              {
                                  "id": "1b8480cd2df7ba3f",
                                  "type": "comment",
                                  "z": "6e802f1553b18149",
                                  "name": "Array",
                                  "info": "",
                                  "x": 600,
                                  "y": 280,
                                  "wires": []
                              },
                              {
                                  "id": "b3541807672be040",
                                  "type": "comment",
                                  "z": "6e802f1553b18149",
                                  "name": "object",
                                  "info": "",
                                  "x": 1340,
                                  "y": 100,
                                  "wires": []
                              },
                              {
                                  "id": "a4d1a5d04564dc77",
                                  "type": "switch",
                                  "z": "6e802f1553b18149",
                                  "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": 1160,
                                  "y": 280,
                                  "wires": [
                                      [
                                          "3e11e8338f694832"
                                      ],
                                      [
                                          "bfce19b206660fbe"
                                      ],
                                      [
                                          "a096a93bb82b7a93"
                                      ]
                                  ]
                              },
                              {
                                  "id": "74c895ce724750de",
                                  "type": "change",
                                  "z": "6e802f1553b18149",
                                  "name": "finalize msg.topic",
                                  "rules": [
                                      {
                                          "t": "set",
                                          "p": "top",
                                          "pt": "msg",
                                          "to": "top",
                                          "tot": "env"
                                      },
                                      {
                                          "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": 2170,
                                  "y": 320,
                                  "wires": [
                                      [
                                          "0962842ebd23e0d7"
                                      ]
                                  ]
                              },
                              {
                                  "id": "554b8c663bcb46c2",
                                  "type": "switch",
                                  "z": "6e802f1553b18149",
                                  "name": "",
                                  "property": "keepTopic",
                                  "propertyType": "env",
                                  "rules": [
                                      {
                                          "t": "true"
                                      },
                                      {
                                          "t": "false"
                                      }
                                  ],
                                  "checkall": "true",
                                  "repair": false,
                                  "outputs": 2,
                                  "x": 170,
                                  "y": 160,
                                  "wires": [
                                      [
                                          "e30ba9f0483285e4"
                                      ],
                                      [
                                          "e023fe88445ce43e"
                                      ]
                                  ]
                              },
                              {
                                  "id": "e30ba9f0483285e4",
                                  "type": "change",
                                  "z": "6e802f1553b18149",
                                  "name": "",
                                  "rules": [
                                      {
                                          "t": "change",
                                          "p": "topic",
                                          "pt": "msg",
                                          "from": "/",
                                          "fromt": "str",
                                          "to": ".",
                                          "tot": "str"
                                      }
                                  ],
                                  "action": "",
                                  "property": "",
                                  "from": "",
                                  "to": "",
                                  "reg": false,
                                  "x": 350,
                                  "y": 120,
                                  "wires": [
                                      [
                                          "3649300b4c233b10"
                                      ]
                                  ]
                              },
                              {
                                  "id": "0962842ebd23e0d7",
                                  "type": "change",
                                  "z": "6e802f1553b18149",
                                  "name": "translate invalid chars in topic",
                                  "rules": [
                                      {
                                          "t": "change",
                                          "p": "topic",
                                          "pt": "msg",
                                          "from": "..",
                                          "fromt": "str",
                                          "to": ".",
                                          "tot": "str"
                                      },
                                      {
                                          "t": "change",
                                          "p": "topic",
                                          "pt": "msg",
                                          "from": "€",
                                          "fromt": "str",
                                          "to": "EUR",
                                          "tot": "str"
                                      }
                                  ],
                                  "action": "",
                                  "property": "",
                                  "from": "",
                                  "to": "",
                                  "reg": false,
                                  "x": 2430,
                                  "y": 280,
                                  "wires": [
                                      []
                                  ]
                              },
                              {
                                  "id": "9ac3cc3681e8b6c6",
                                  "type": "change",
                                  "z": "6e802f1553b18149",
                                  "name": "set topic, if empty",
                                  "rules": [
                                      {
                                          "t": "set",
                                          "p": "topic",
                                          "pt": "msg",
                                          "to": "topic ? topic : $type(payload)\t",
                                          "tot": "jsonata"
                                      }
                                  ],
                                  "action": "",
                                  "property": "",
                                  "from": "",
                                  "to": "",
                                  "reg": false,
                                  "x": 950,
                                  "y": 200,
                                  "wires": [
                                      [
                                          "a096a93bb82b7a93"
                                      ]
                                  ]
                              },
                              {
                                  "id": "fc7913a8524badb7",
                                  "type": "json",
                                  "z": "6e802f1553b18149",
                                  "name": "",
                                  "property": "payload",
                                  "action": "obj",
                                  "pretty": false,
                                  "x": 750,
                                  "y": 100,
                                  "wires": [
                                      [
                                          "d9e7bdd4c48a8aa1"
                                      ]
                                  ]
                              },
                              {
                                  "id": "d9e7bdd4c48a8aa1",
                                  "type": "switch",
                                  "z": "6e802f1553b18149",
                                  "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": 900,
                                  "y": 100,
                                  "wires": [
                                      [
                                          "1520be42bcc2145e"
                                      ],
                                      [
                                          "1520be42bcc2145e"
                                      ],
                                      [
                                          "9ac3cc3681e8b6c6"
                                      ]
                                  ]
                              },
                              {
                                  "id": "a096a93bb82b7a93",
                                  "type": "junction",
                                  "z": "6e802f1553b18149",
                                  "x": 1380,
                                  "y": 280,
                                  "wires": [
                                      [
                                          "1a8c03d866b85b12"
                                      ]
                                  ]
                              },
                              {
                                  "id": "1520be42bcc2145e",
                                  "type": "junction",
                                  "z": "6e802f1553b18149",
                                  "x": 480,
                                  "y": 20,
                                  "wires": [
                                      [
                                          "3649300b4c233b10"
                                      ]
                                  ]
                              },
                              {
                                  "id": "4a1fba5709312379",
                                  "type": "subflow:6e802f1553b18149",
                                  "z": "5c4848b5cbcb4807",
                                  "name": "Test/Hal",
                                  "env": [
                                      {
                                          "name": "top",
                                          "value": "Test/Hal",
                                          "type": "str"
                                      }
                                  ],
                                  "x": 400,
                                  "y": 1300,
                                  "wires": [
                                      [
                                          "eb1515c7b9a541a9"
                                      ]
                                  ]
                              },
                              {
                                  "id": "817aae019569267c",
                                  "type": "ioBroker in",
                                  "z": "5c4848b5cbcb4807",
                                  "name": "JSON",
                                  "attrname": "payload",
                                  "topic": "0_userdata.0.Test.JSON",
                                  "payloadType": "value",
                                  "onlyack": "",
                                  "func": "all",
                                  "gap": "",
                                  "fireOnStart": "false",
                                  "outFormat": "MQTT",
                                  "x": 210,
                                  "y": 1300,
                                  "wires": [
                                      [
                                          "4a1fba5709312379"
                                      ]
                                  ]
                              },
                              {
                                  "id": "eb1515c7b9a541a9",
                                  "type": "ioBroker out",
                                  "z": "5c4848b5cbcb4807",
                                  "name": "",
                                  "topic": "",
                                  "ack": "true",
                                  "autoCreate": "true",
                                  "stateName": "",
                                  "role": "",
                                  "payloadType": "",
                                  "readonly": "",
                                  "stateUnit": "",
                                  "stateMin": "",
                                  "stateMax": "",
                                  "x": 620,
                                  "y": 1300,
                                  "wires": []
                              }
                          ]
                          

                          386ad48e-13b7-43ea-88d1-570edb18e46e-image.png

                          Du musst nur im Node-Red Adapter das Erstellen von Fremdobjekten zulassen:

                          Diese Node erzeugt Dir dann folgenden Ast aus einzelnen Datenpunkten:

                          18cbfd51-2c60-4c75-b70a-5f51bf8f616f-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
                          0
                          • HALH HAL

                            @mickym
                            Hallo mickym, leider wird mein log jetzt massive von den Alias Fehlern vollgeschrieben und ich muß einen anderen Weg finden. Mit Blockly habe ich es versucht, bin aber auch nicht erfolgreich gewesen:
                            Boklyjpg.jpg

                            Du hast von einem NoteRed Flow geschrieben, der die einzelnen DP erzeugt. Kannst Du mir den zur Verfügung stellen ?

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #160

                            @hal Ich habs aber gerade auch nochmal im Blockly für Dich probiert und so funktioniert es meines Erachtens:
                            Du musst Dich halt den Pfad lang schlängeln:

                            c2e3b2ad-7a28-460d-994b-6b0a45c09998-image.png

                            Hier der Import:

                            <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="E*czRNU^;|WT7M_=cYae" x="-1737" y="463">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                             <field name="CONDITION">any</field>
                             <field name="ACK_CONDITION"></field>
                             <value name="OID0">
                               <shadow type="field_oid" id="X0ITe}G?iHN{Mlk}rS51">
                                 <field name="oid">0_userdata.0.Test.JSON</field>
                               </shadow>
                             </value>
                             <statement name="STATEMENT">
                               <block type="debug" id="r#l.6_r`,`t3OLRi1P,@">
                                 <field name="Severity">info</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="YwBItJ!/xQm)vr;=rqmL">
                                     <field name="TEXT">test</field>
                                   </shadow>
                                   <block type="on_source" id="EzQCd/P7Fcp%CGF%RAt[">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="debug" id=".}fMRI6e#r17$M-q-{Rh">
                                     <field name="Severity">info</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="Yf0zcAkAxF8-SyEKK^cK">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="get_attr" id="b-D}:xxh56c@uB{]#:CD">
                                         <value name="PATH">
                                           <shadow type="text" id="weFzz)3j7+x!nyA.-rUT">
                                             <field name="TEXT">params.em:0.total_act_power</field>
                                           </shadow>
                                         </value>
                                         <value name="OBJECT">
                                           <shadow type="get_object" id="+ppRPt.ZepjN7en4JsF}">
                                             <field name="OID">0_userdata.0.Test.JSON</field>
                                           </shadow>
                                           <block type="on_source" id="r^`9Q86YJ}0+,!SlQ)x{">
                                             <field name="ATTR">state.val</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                            </block>
                            

                            Aber wie gesagt, wenn Du meinen NodeRed Flow nehmen und wenn Du den ganzen Shelly triggerst und keepTopic gleich true verwendest, wird Dir auch der ganze Baum zerlegt.

                            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.

                            HALH 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @hal Ich habs aber gerade auch nochmal im Blockly für Dich probiert und so funktioniert es meines Erachtens:
                              Du musst Dich halt den Pfad lang schlängeln:

                              c2e3b2ad-7a28-460d-994b-6b0a45c09998-image.png

                              Hier der Import:

                              <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="E*czRNU^;|WT7M_=cYae" x="-1737" y="463">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                               <field name="CONDITION">any</field>
                               <field name="ACK_CONDITION"></field>
                               <value name="OID0">
                                 <shadow type="field_oid" id="X0ITe}G?iHN{Mlk}rS51">
                                   <field name="oid">0_userdata.0.Test.JSON</field>
                                 </shadow>
                               </value>
                               <statement name="STATEMENT">
                                 <block type="debug" id="r#l.6_r`,`t3OLRi1P,@">
                                   <field name="Severity">info</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="YwBItJ!/xQm)vr;=rqmL">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="on_source" id="EzQCd/P7Fcp%CGF%RAt[">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="debug" id=".}fMRI6e#r17$M-q-{Rh">
                                       <field name="Severity">info</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="Yf0zcAkAxF8-SyEKK^cK">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="get_attr" id="b-D}:xxh56c@uB{]#:CD">
                                           <value name="PATH">
                                             <shadow type="text" id="weFzz)3j7+x!nyA.-rUT">
                                               <field name="TEXT">params.em:0.total_act_power</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <shadow type="get_object" id="+ppRPt.ZepjN7en4JsF}">
                                               <field name="OID">0_userdata.0.Test.JSON</field>
                                             </shadow>
                                             <block type="on_source" id="r^`9Q86YJ}0+,!SlQ)x{">
                                               <field name="ATTR">state.val</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                              </block>
                              

                              Aber wie gesagt, wenn Du meinen NodeRed Flow nehmen und wenn Du den ganzen Shelly triggerst und keepTopic gleich true verwendest, wird Dir auch der ganze Baum zerlegt.

                              HALH Offline
                              HALH Offline
                              HAL
                              schrieb am zuletzt editiert von
                              #161

                              9@mickym Jetzt habe ich die Qual der Wahl ;-)
                              Sowohl RedNote als auch Blockly funktionert .
                              DANKE .

                              Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
                              (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

                              mickymM 2 Antworten Letzte Antwort
                              0
                              • HALH HAL

                                9@mickym Jetzt habe ich die Qual der Wahl ;-)
                                Sowohl RedNote als auch Blockly funktionert .
                                DANKE .

                                mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von mickym
                                #162

                                @hal Wenn Du mit dem Flow den ganzen Baum exportierst, dann sieht das so aus:

                                37b33dbf-e935-408e-a969-058b44ddacc8-image.png

                                Da kannst Du den 1. Teil dann wieder mit einer Text Node kürzen, dass dan mqtt.1.shellies zum Beispiel nicht mitkommt.

                                Also das gleiche Beispiel nur der Anfang des Topics weggekürzt:
                                31cef0fc-8889-403c-ba18-fca6e0ae862a-image.png

                                In diesem Fall, lässt Du bei keepTopic einfach den Teil des topic durch einen Leerstring ersetzen:
                                cee19a26-9c08-4f5b-b7a3-f7d912107a4e-image.png

                                Wichtig ist halt dass Du über Wildcard Deinen ganzen Ast bzw. alle Datenpunkte Deines Shellies triggern lässt.

                                [
                                   {
                                       "id": "6e802f1553b18149",
                                       "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 `msg.top` property isn't defined, the `top` property of the subflow-node is used. \n\nIn the properties of the subflow node a new property `keepTopic` has been added. Default is _false_ to keep the current behaviour. If set to _true_ then the originial topic will be placed between the `top` property of the subflow node and the property of the analyzed JSON object.\n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n**Update 13.09.2022:**\nSpaces in topics of objects are no longer replaced with underscores in objects. No differences between all data types.\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 msg.top nicht definiert wurde, wird der `top`-Wert der Subflow-Node verwendet.\n\nIn den Eigenschaften der Subflow-Node wurde ein neuer Parameter `keepTopic` hinzugefügt. Standardwert ist _false_, um das bisherige Verhalten beizubehalten. Setzt man die Eigenschaft auf _true_, dann wird das originale Topic zwischen der `top` Eigenschaft der Subflow-Node und Eigenschaft des analysierten JSON Objektes eingefügt.\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. \n\n**Update 13.09.2022:**\nLeerzeichen werden in Topics von Objekten nicht mehr durch Unterstriche ersetzt. Es gibt keine Unterschiede mehr zwischen den Datentypen.",
                                       "category": "",
                                       "in": [
                                           {
                                               "x": 60,
                                               "y": 160,
                                               "wires": [
                                                   {
                                                       "id": "554b8c663bcb46c2"
                                                   }
                                               ]
                                           }
                                       ],
                                       "out": [
                                           {
                                               "x": 2620,
                                               "y": 280,
                                               "wires": [
                                                   {
                                                       "id": "0962842ebd23e0d7",
                                                       "port": 0
                                                   }
                                               ]
                                           }
                                       ],
                                       "env": [
                                           {
                                               "name": "top",
                                               "type": "str",
                                               "value": "objRoot"
                                           },
                                           {
                                               "name": "keepTopic",
                                               "type": "bool",
                                               "value": "false"
                                           }
                                       ],
                                       "meta": {},
                                       "color": "#E2D96E",
                                       "icon": "node-red/batch.svg"
                                   },
                                   {
                                       "id": "3e11e8338f694832",
                                       "type": "split",
                                       "z": "6e802f1553b18149",
                                       "name": "split object",
                                       "splt": "\\n",
                                       "spltType": "str",
                                       "arraySplt": 1,
                                       "arraySpltType": "len",
                                       "stream": false,
                                       "addname": "key",
                                       "x": 1370,
                                       "y": 160,
                                       "wires": [
                                           [
                                               "0562a4249c8b856b"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "0562a4249c8b856b",
                                       "type": "change",
                                       "z": "6e802f1553b18149",
                                       "name": "add key to topic",
                                       "rules": [
                                           {
                                               "t": "set",
                                               "p": "stateName",
                                               "pt": "msg",
                                               "to": "key",
                                               "tot": "msg"
                                           },
                                           {
                                               "t": "change",
                                               "p": "key",
                                               "pt": "msg",
                                               "from": ".",
                                               "fromt": "str",
                                               "to": "_",
                                               "tot": "str"
                                           },
                                           {
                                               "t": "set",
                                               "p": "topic",
                                               "pt": "msg",
                                               "to": "topic  & '.' & key",
                                               "tot": "jsonata"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 1560,
                                       "y": 160,
                                       "wires": [
                                           [
                                               "ddc90985bef0fafa"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "ddc90985bef0fafa",
                                       "type": "switch",
                                       "z": "6e802f1553b18149",
                                       "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": 1740,
                                       "y": 160,
                                       "wires": [
                                           [
                                               "bfce19b206660fbe"
                                           ],
                                           [
                                               "3e11e8338f694832"
                                           ],
                                           [
                                               "1a8c03d866b85b12"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "bfce19b206660fbe",
                                       "type": "split",
                                       "z": "6e802f1553b18149",
                                       "name": "split array",
                                       "splt": "\\n",
                                       "spltType": "str",
                                       "arraySplt": 1,
                                       "arraySpltType": "len",
                                       "stream": false,
                                       "addname": "",
                                       "x": 780,
                                       "y": 280,
                                       "wires": [
                                           [
                                               "e89927810c6d75ec"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "e89927810c6d75ec",
                                       "type": "change",
                                       "z": "6e802f1553b18149",
                                       "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": 970,
                                       "y": 280,
                                       "wires": [
                                           [
                                               "a4d1a5d04564dc77"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "f5d52c6a57d08904",
                                       "type": "change",
                                       "z": "6e802f1553b18149",
                                       "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": 2170,
                                       "y": 240,
                                       "wires": [
                                           [
                                               "0962842ebd23e0d7"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "1a8c03d866b85b12",
                                       "type": "switch",
                                       "z": "6e802f1553b18149",
                                       "name": "is msg.top != null",
                                       "property": "top",
                                       "propertyType": "msg",
                                       "rules": [
                                           {
                                               "t": "nnull"
                                           },
                                           {
                                               "t": "null"
                                           }
                                       ],
                                       "checkall": "true",
                                       "repair": false,
                                       "outputs": 2,
                                       "x": 1950,
                                       "y": 280,
                                       "wires": [
                                           [
                                               "f5d52c6a57d08904"
                                           ],
                                           [
                                               "74c895ce724750de"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "e023fe88445ce43e",
                                       "type": "change",
                                       "z": "6e802f1553b18149",
                                       "name": "",
                                       "rules": [
                                           {
                                               "t": "delete",
                                               "p": "topic",
                                               "pt": "msg"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 350,
                                       "y": 200,
                                       "wires": [
                                           [
                                               "3649300b4c233b10"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "3649300b4c233b10",
                                       "type": "switch",
                                       "z": "6e802f1553b18149",
                                       "name": "is type?",
                                       "property": "payload",
                                       "propertyType": "msg",
                                       "rules": [
                                           {
                                               "t": "istype",
                                               "v": "json",
                                               "vt": "json"
                                           },
                                           {
                                               "t": "istype",
                                               "v": "array",
                                               "vt": "array"
                                           },
                                           {
                                               "t": "istype",
                                               "v": "object",
                                               "vt": "object"
                                           },
                                           {
                                               "t": "else"
                                           }
                                       ],
                                       "checkall": "true",
                                       "repair": false,
                                       "outputs": 4,
                                       "x": 600,
                                       "y": 160,
                                       "wires": [
                                           [
                                               "fc7913a8524badb7"
                                           ],
                                           [
                                               "bfce19b206660fbe"
                                           ],
                                           [
                                               "3e11e8338f694832"
                                           ],
                                           [
                                               "9ac3cc3681e8b6c6"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "1b8480cd2df7ba3f",
                                       "type": "comment",
                                       "z": "6e802f1553b18149",
                                       "name": "Array",
                                       "info": "",
                                       "x": 600,
                                       "y": 280,
                                       "wires": []
                                   },
                                   {
                                       "id": "b3541807672be040",
                                       "type": "comment",
                                       "z": "6e802f1553b18149",
                                       "name": "object",
                                       "info": "",
                                       "x": 1340,
                                       "y": 100,
                                       "wires": []
                                   },
                                   {
                                       "id": "a4d1a5d04564dc77",
                                       "type": "switch",
                                       "z": "6e802f1553b18149",
                                       "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": 1160,
                                       "y": 280,
                                       "wires": [
                                           [
                                               "3e11e8338f694832"
                                           ],
                                           [
                                               "bfce19b206660fbe"
                                           ],
                                           [
                                               "a096a93bb82b7a93"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "74c895ce724750de",
                                       "type": "change",
                                       "z": "6e802f1553b18149",
                                       "name": "finalize msg.topic",
                                       "rules": [
                                           {
                                               "t": "set",
                                               "p": "top",
                                               "pt": "msg",
                                               "to": "top",
                                               "tot": "env"
                                           },
                                           {
                                               "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": 2170,
                                       "y": 320,
                                       "wires": [
                                           [
                                               "0962842ebd23e0d7"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "554b8c663bcb46c2",
                                       "type": "switch",
                                       "z": "6e802f1553b18149",
                                       "name": "",
                                       "property": "keepTopic",
                                       "propertyType": "env",
                                       "rules": [
                                           {
                                               "t": "true"
                                           },
                                           {
                                               "t": "false"
                                           }
                                       ],
                                       "checkall": "true",
                                       "repair": false,
                                       "outputs": 2,
                                       "x": 170,
                                       "y": 160,
                                       "wires": [
                                           [
                                               "e30ba9f0483285e4"
                                           ],
                                           [
                                               "e023fe88445ce43e"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "e30ba9f0483285e4",
                                       "type": "change",
                                       "z": "6e802f1553b18149",
                                       "name": "",
                                       "rules": [
                                           {
                                               "t": "change",
                                               "p": "topic",
                                               "pt": "msg",
                                               "from": "/",
                                               "fromt": "str",
                                               "to": ".",
                                               "tot": "str"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 350,
                                       "y": 120,
                                       "wires": [
                                           [
                                               "3649300b4c233b10"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "0962842ebd23e0d7",
                                       "type": "change",
                                       "z": "6e802f1553b18149",
                                       "name": "translate invalid chars in topic",
                                       "rules": [
                                           {
                                               "t": "change",
                                               "p": "topic",
                                               "pt": "msg",
                                               "from": "..",
                                               "fromt": "str",
                                               "to": ".",
                                               "tot": "str"
                                           },
                                           {
                                               "t": "change",
                                               "p": "topic",
                                               "pt": "msg",
                                               "from": "€",
                                               "fromt": "str",
                                               "to": "EUR",
                                               "tot": "str"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 2430,
                                       "y": 280,
                                       "wires": [
                                           []
                                       ]
                                   },
                                   {
                                       "id": "9ac3cc3681e8b6c6",
                                       "type": "change",
                                       "z": "6e802f1553b18149",
                                       "name": "set topic, if empty",
                                       "rules": [
                                           {
                                               "t": "set",
                                               "p": "topic",
                                               "pt": "msg",
                                               "to": "topic ? topic : $type(payload)\t",
                                               "tot": "jsonata"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 950,
                                       "y": 200,
                                       "wires": [
                                           [
                                               "a096a93bb82b7a93"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "fc7913a8524badb7",
                                       "type": "json",
                                       "z": "6e802f1553b18149",
                                       "name": "",
                                       "property": "payload",
                                       "action": "obj",
                                       "pretty": false,
                                       "x": 750,
                                       "y": 100,
                                       "wires": [
                                           [
                                               "d9e7bdd4c48a8aa1"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "d9e7bdd4c48a8aa1",
                                       "type": "switch",
                                       "z": "6e802f1553b18149",
                                       "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": 900,
                                       "y": 100,
                                       "wires": [
                                           [
                                               "1520be42bcc2145e"
                                           ],
                                           [
                                               "1520be42bcc2145e"
                                           ],
                                           [
                                               "9ac3cc3681e8b6c6"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "a096a93bb82b7a93",
                                       "type": "junction",
                                       "z": "6e802f1553b18149",
                                       "x": 1380,
                                       "y": 280,
                                       "wires": [
                                           [
                                               "1a8c03d866b85b12"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "1520be42bcc2145e",
                                       "type": "junction",
                                       "z": "6e802f1553b18149",
                                       "x": 480,
                                       "y": 20,
                                       "wires": [
                                           [
                                               "3649300b4c233b10"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "4a1fba5709312379",
                                       "type": "subflow:6e802f1553b18149",
                                       "z": "5c4848b5cbcb4807",
                                       "name": "Test/Hal",
                                       "env": [
                                           {
                                               "name": "top",
                                               "value": "Test/Hal",
                                               "type": "str"
                                           },
                                           {
                                               "name": "keepTopic",
                                               "value": "true",
                                               "type": "bool"
                                           }
                                       ],
                                       "x": 440,
                                       "y": 1280,
                                       "wires": [
                                           [
                                               "4e7423e8b7c2fbc5"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "817aae019569267c",
                                       "type": "ioBroker in",
                                       "z": "5c4848b5cbcb4807",
                                       "name": "",
                                       "attrname": "payload",
                                       "topic": "mqtt.1.shellies.licht.wohnzimmer.vitrine.*",
                                       "payloadType": "value",
                                       "onlyack": "",
                                       "func": "all",
                                       "gap": "",
                                       "fireOnStart": "false",
                                       "outFormat": "MQTT",
                                       "x": 180,
                                       "y": 1280,
                                       "wires": [
                                           [
                                               "4a1fba5709312379"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "eb1515c7b9a541a9",
                                       "type": "ioBroker out",
                                       "z": "5c4848b5cbcb4807",
                                       "name": "",
                                       "topic": "",
                                       "ack": "true",
                                       "autoCreate": "true",
                                       "stateName": "",
                                       "role": "",
                                       "payloadType": "",
                                       "readonly": "",
                                       "stateUnit": "",
                                       "stateMin": "",
                                       "stateMax": "",
                                       "x": 860,
                                       "y": 1280,
                                       "wires": []
                                   },
                                   {
                                       "id": "4e7423e8b7c2fbc5",
                                       "type": "change",
                                       "z": "5c4848b5cbcb4807",
                                       "name": "",
                                       "rules": [
                                           {
                                               "t": "change",
                                               "p": "topic",
                                               "pt": "msg",
                                               "from": "mqtt.1.shellies.",
                                               "fromt": "str",
                                               "to": "",
                                               "tot": "str"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 630,
                                       "y": 1280,
                                       "wires": [
                                           [
                                               "eb1515c7b9a541a9"
                                           ]
                                       ]
                                   }
                                ]
                                


                                Aber wenn beides funktioniert, dann hast Du ja nun wieder alle Möglichkeiten.

                                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
                                • HALH HAL

                                  9@mickym Jetzt habe ich die Qual der Wahl ;-)
                                  Sowohl RedNote als auch Blockly funktionert .
                                  DANKE .

                                  mickymM Online
                                  mickymM Online
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #163

                                  @hal Falls Du übrigens auch in Node-Red nur EINEN Wert und nicht das ganze JSON Objekt extrahieren willst, geht das genauso einfach wie in Blockly. Du musst das ganze mit einer JSON NOde nur in ein Objekt verwandeln:

                                  40a200be-c141-4f67-a4e0-d80f3431e37f-image.png

                                  Hier auch zum Ausprobieren:

                                  [
                                     {
                                         "id": "98506a0e2e306264",
                                         "type": "debug",
                                         "z": "5c4848b5cbcb4807",
                                         "name": "Ausgabe",
                                         "active": true,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "payload",
                                         "targetType": "msg",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 660,
                                         "y": 1260,
                                         "wires": []
                                     },
                                     {
                                         "id": "04e1a9ed0c65c110",
                                         "type": "ioBroker in",
                                         "z": "5c4848b5cbcb4807",
                                         "name": "JSON",
                                         "attrname": "payload",
                                         "topic": "0_userdata.0.Test.JSON",
                                         "payloadType": "value",
                                         "onlyack": "",
                                         "func": "all",
                                         "gap": "",
                                         "fireOnStart": "false",
                                         "outFormat": "MQTT",
                                         "x": 110,
                                         "y": 1260,
                                         "wires": [
                                             [
                                                 "5c729f438b311692"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "5c729f438b311692",
                                         "type": "json",
                                         "z": "5c4848b5cbcb4807",
                                         "name": "",
                                         "property": "payload",
                                         "action": "",
                                         "pretty": false,
                                         "x": 270,
                                         "y": 1260,
                                         "wires": [
                                             [
                                                 "c3d5bc332b9c2797"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "c3d5bc332b9c2797",
                                         "type": "change",
                                         "z": "5c4848b5cbcb4807",
                                         "name": "",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "payload.params.em:0.total_act_power",
                                                 "tot": "msg"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 450,
                                         "y": 1260,
                                         "wires": [
                                             [
                                                 "98506a0e2e306264"
                                             ]
                                         ]
                                     }
                                  ]
                                  

                                  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.

                                  HALH 1 Antwort Letzte Antwort
                                  1
                                  • mickymM mickym

                                    @hal Falls Du übrigens auch in Node-Red nur EINEN Wert und nicht das ganze JSON Objekt extrahieren willst, geht das genauso einfach wie in Blockly. Du musst das ganze mit einer JSON NOde nur in ein Objekt verwandeln:

                                    40a200be-c141-4f67-a4e0-d80f3431e37f-image.png

                                    Hier auch zum Ausprobieren:

                                    [
                                       {
                                           "id": "98506a0e2e306264",
                                           "type": "debug",
                                           "z": "5c4848b5cbcb4807",
                                           "name": "Ausgabe",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "payload",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 660,
                                           "y": 1260,
                                           "wires": []
                                       },
                                       {
                                           "id": "04e1a9ed0c65c110",
                                           "type": "ioBroker in",
                                           "z": "5c4848b5cbcb4807",
                                           "name": "JSON",
                                           "attrname": "payload",
                                           "topic": "0_userdata.0.Test.JSON",
                                           "payloadType": "value",
                                           "onlyack": "",
                                           "func": "all",
                                           "gap": "",
                                           "fireOnStart": "false",
                                           "outFormat": "MQTT",
                                           "x": 110,
                                           "y": 1260,
                                           "wires": [
                                               [
                                                   "5c729f438b311692"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "5c729f438b311692",
                                           "type": "json",
                                           "z": "5c4848b5cbcb4807",
                                           "name": "",
                                           "property": "payload",
                                           "action": "",
                                           "pretty": false,
                                           "x": 270,
                                           "y": 1260,
                                           "wires": [
                                               [
                                                   "c3d5bc332b9c2797"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "c3d5bc332b9c2797",
                                           "type": "change",
                                           "z": "5c4848b5cbcb4807",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "payload.params.em:0.total_act_power",
                                                   "tot": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 450,
                                           "y": 1260,
                                           "wires": [
                                               [
                                                   "98506a0e2e306264"
                                               ]
                                           ]
                                       }
                                    ]
                                    

                                    HALH Offline
                                    HALH Offline
                                    HAL
                                    schrieb am zuletzt editiert von
                                    #164

                                    @mickym Du bist genial !

                                    Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
                                    (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

                                    mickymM 1 Antwort Letzte Antwort
                                    0
                                    • HALH HAL

                                      @mickym Du bist genial !

                                      mickymM Online
                                      mickymM Online
                                      mickym
                                      Most Active
                                      schrieb am zuletzt editiert von mickym
                                      #165

                                      @hal sagte in iobroker, MQTT und Shelly - Was geht wie?:

                                      @mickym Du bist genial !

                                      Danke für die Blumen! - Ich würde an Deiner Stelle halt vielleicht ein Issue erstellen, wegen dem Alias und diesen Fehlermeldungen.

                                      Übrigens wenn Dein Objekt getriggert hat, kannst Du natürlich sowohl im NodeRed als auch im Blockly auch Deine Werte, die für Dich von Interessen sind auf einmal extrahieren (wenn Du nicht mit dem Flow alle Werte brauchst). In NodeRed machst Du dann einfach für jeden Wert, den Du extrahieren willst, hinter die JSON Node eine ChangeNode bzw. halt im Blockly jeweils ein Attribut Puzzlestück.

                                      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.

                                      HALH 1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

                                        @hal sagte in iobroker, MQTT und Shelly - Was geht wie?:

                                        @mickym Du bist genial !

                                        Danke für die Blumen! - Ich würde an Deiner Stelle halt vielleicht ein Issue erstellen, wegen dem Alias und diesen Fehlermeldungen.

                                        Übrigens wenn Dein Objekt getriggert hat, kannst Du natürlich sowohl im NodeRed als auch im Blockly auch Deine Werte, die für Dich von Interessen sind auf einmal extrahieren (wenn Du nicht mit dem Flow alle Werte brauchst). In NodeRed machst Du dann einfach für jeden Wert, den Du extrahieren willst, hinter die JSON Node eine ChangeNode bzw. halt im Blockly jeweils ein Attribut Puzzlestück.

                                        HALH Offline
                                        HALH Offline
                                        HAL
                                        schrieb am zuletzt editiert von
                                        #166

                                        @mickym btw, ich habe noch ein (für mich ) etwas komplexes Blockly im Kopf, kann ich bei Problemen ggf. auch auf Deine Expertise hoffen ?

                                        Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
                                        (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

                                        mickymM 1 Antwort Letzte Antwort
                                        0
                                        • HALH HAL

                                          @mickym btw, ich habe noch ein (für mich ) etwas komplexes Blockly im Kopf, kann ich bei Problemen ggf. auch auf Deine Expertise hoffen ?

                                          mickymM Online
                                          mickymM Online
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #167

                                          @hal Grundsätzlich gerne - wobei ich ja kein Blockly Spezialist oder Puzzle-Fan bin. Aber ich versuche es gerne (da lerne ich ja auch meist dazu) - aber ansonsten sind ja für Blockly auch noch die Koryphäen wie @paul53 hier an Board.

                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          766

                                          Online

                                          32.4k

                                          Benutzer

                                          81.6k

                                          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