Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Shelly-Geräte mit MQTT-Adapter steuern

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    266

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

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

Shelly-Geräte mit MQTT-Adapter steuern

Shelly-Geräte mit MQTT-Adapter steuern

Scheduled Pinned Locked Moved ioBroker Allgemein
52 Posts 8 Posters 6.3k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • KlausStoertebekerK Offline
    KlausStoertebekerK Offline
    KlausStoertebeker
    wrote on last edited by
    #1

    Hallo in's Forum,
    kann mir jemand zeigen, wie ich Shelly-Geräte über den MQTT-Adapter steuern kann?
    Zur Zeit nutze ich den wirklich guten Shelly-Adapter, der aber leider aktuell ein Problem bei der Steuerung der Shelly's per MQTT hat. Denn in unterschiedlichen Abständen sind die Shelly-Geräte über MQTT nicht mehr erreichbar, dann werden sie wieder angemeldet und anschließend die Verbindung durch den MQTT-Client wieder geschlossen.
    Ich möchte nun bei der Fehlersuche helfen und herausfinden, ob ich ähnliche Probleme bekomme, wenn ich den "reinen" MQTT-Adapter nutzte.
    Da ich aber mit MQTT noch keine Berührungspunkte hatte, brauche ich Eure Hilfe, um Fuß zu fassen:
    Wie lese ich beispielsweise Werte eines Sh

    • Selly's aus oder schreibe ich Daten in einen Shelly rein (Ich habe gelesen, dass die Daten über einen JSON-formatierten Datensatz gelesen/geschrieben werden, den ich erst parsen und dann in eigene Datenpunkte schreiben muss oder aus eigenen Datenpunkten lesen muss)?
    • Wie kann ich in Skripten auf geänderte Werte reagieren ("triggern")?
    • Wann muss ich eine id (beispielsweise in einem "value"-Konstrukt) vergeben, welche Bedeutung hat die und was kann/muss ich damit machen?

    Wäre schön, wenn mir jemand helfen könnte - Danke 🙂

    Viele Grüße
    "Klaus"

    ioBroker-Host: Raspberry Pi 5 (8GByte RAM) mit Halo8-KI-Hat, Argon ONE M.2-Gehäuse mit 256GByte PCIe-SSD

    mickymM ubeckerU 2 Replies Last reply
    1
    • KlausStoertebekerK KlausStoertebeker

      Hallo in's Forum,
      kann mir jemand zeigen, wie ich Shelly-Geräte über den MQTT-Adapter steuern kann?
      Zur Zeit nutze ich den wirklich guten Shelly-Adapter, der aber leider aktuell ein Problem bei der Steuerung der Shelly's per MQTT hat. Denn in unterschiedlichen Abständen sind die Shelly-Geräte über MQTT nicht mehr erreichbar, dann werden sie wieder angemeldet und anschließend die Verbindung durch den MQTT-Client wieder geschlossen.
      Ich möchte nun bei der Fehlersuche helfen und herausfinden, ob ich ähnliche Probleme bekomme, wenn ich den "reinen" MQTT-Adapter nutzte.
      Da ich aber mit MQTT noch keine Berührungspunkte hatte, brauche ich Eure Hilfe, um Fuß zu fassen:
      Wie lese ich beispielsweise Werte eines Sh

      • Selly's aus oder schreibe ich Daten in einen Shelly rein (Ich habe gelesen, dass die Daten über einen JSON-formatierten Datensatz gelesen/geschrieben werden, den ich erst parsen und dann in eigene Datenpunkte schreiben muss oder aus eigenen Datenpunkten lesen muss)?
      • Wie kann ich in Skripten auf geänderte Werte reagieren ("triggern")?
      • Wann muss ich eine id (beispielsweise in einem "value"-Konstrukt) vergeben, welche Bedeutung hat die und was kann/muss ich damit machen?

      Wäre schön, wenn mir jemand helfen könnte - Danke 🙂

      Viele Grüße
      "Klaus"

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      wrote on last edited by
      #2

      @klausstoertebeker Ich arbeite nur mit mqtt - das Problem ist, dass sich die MQTT Struktur zwischen den Geräten der 1. Generation und der 2. Generation grundlegend geändert hat.
      Aber grundsätzlich habe ich einigermaßen ein Verständnis - wobei ich leider mit keinem Gerät der Generation 2 oder höher dienen kann.

      Hier mal die Doku:

      1. Generation: https://shelly-api-docs.shelly.cloud/gen1/#shelly-family-overview
      2. und 3. Generation: https://shelly-api-docs.shelly.cloud/gen2/

      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 Reply Last reply
      0
      • KlausStoertebekerK KlausStoertebeker

        Hallo in's Forum,
        kann mir jemand zeigen, wie ich Shelly-Geräte über den MQTT-Adapter steuern kann?
        Zur Zeit nutze ich den wirklich guten Shelly-Adapter, der aber leider aktuell ein Problem bei der Steuerung der Shelly's per MQTT hat. Denn in unterschiedlichen Abständen sind die Shelly-Geräte über MQTT nicht mehr erreichbar, dann werden sie wieder angemeldet und anschließend die Verbindung durch den MQTT-Client wieder geschlossen.
        Ich möchte nun bei der Fehlersuche helfen und herausfinden, ob ich ähnliche Probleme bekomme, wenn ich den "reinen" MQTT-Adapter nutzte.
        Da ich aber mit MQTT noch keine Berührungspunkte hatte, brauche ich Eure Hilfe, um Fuß zu fassen:
        Wie lese ich beispielsweise Werte eines Sh

        • Selly's aus oder schreibe ich Daten in einen Shelly rein (Ich habe gelesen, dass die Daten über einen JSON-formatierten Datensatz gelesen/geschrieben werden, den ich erst parsen und dann in eigene Datenpunkte schreiben muss oder aus eigenen Datenpunkten lesen muss)?
        • Wie kann ich in Skripten auf geänderte Werte reagieren ("triggern")?
        • Wann muss ich eine id (beispielsweise in einem "value"-Konstrukt) vergeben, welche Bedeutung hat die und was kann/muss ich damit machen?

        Wäre schön, wenn mir jemand helfen könnte - Danke 🙂

        Viele Grüße
        "Klaus"

        ubeckerU Offline
        ubeckerU Offline
        ubecker
        wrote on last edited by
        #3

        @klausstoertebeker ich betreibe aktuell 3 Stück Shelly 3EM Pro direkt mit dem MQTT Broker/lient Adapter. 2 davon laufen über LAN und einer über W-Lan.
        Über W-LAN fehlt machmal ein Telegramm Spätestens nach 3 Wiederholungen ist auch dieser wieder ok (kommt so 1-2mal am Tag vor). Die beiden über LAN haben keine Telegrammaussätze. Ich hatte vorher noch nie was mit MQTT zu tun gehabt und finde das die Erklärungen bei IOBroker sowie von Shelly voll ausreiched sind.
        Bei Fragen einfach fragen.

        Gruß Udo

        KlausStoertebekerK 1 Reply Last reply
        0
        • ubeckerU ubecker

          @klausstoertebeker ich betreibe aktuell 3 Stück Shelly 3EM Pro direkt mit dem MQTT Broker/lient Adapter. 2 davon laufen über LAN und einer über W-Lan.
          Über W-LAN fehlt machmal ein Telegramm Spätestens nach 3 Wiederholungen ist auch dieser wieder ok (kommt so 1-2mal am Tag vor). Die beiden über LAN haben keine Telegrammaussätze. Ich hatte vorher noch nie was mit MQTT zu tun gehabt und finde das die Erklärungen bei IOBroker sowie von Shelly voll ausreiched sind.
          Bei Fragen einfach fragen.

          KlausStoertebekerK Offline
          KlausStoertebekerK Offline
          KlausStoertebeker
          wrote on last edited by
          #4

          @ubecker @mickym

          Danke für das Angebot. Ich habe folgendes konkretes Problem:
          Das Bildschirmfoto zeigt den Objektbaum eines Shelly Wall Display (Gen 2) unter der mqtt.0-Instanz:

          ioBroker-mqtt-ShellyWallDisplay.png

          Ich möchte gerne die Temperatur im Datenpunkt "thermostat:0" ändern (im Bild blau hervorgehoben). Der Datenpunkt hat den Datentyp "JSON" und hier folgenden Eintrag:

          {
            "id": 0,
            "enable": true,
            "target_C": 24.5,
            "current_C": 32.5,
            "output": false,
            "schedules": {
              "enable": true,
              "profile_id": 0,
              "profile_name": "Test",
              "active_rule_id": "1737724727209"
            }
          }
          

          Ich möchte gerne den Wert "target_C" auf sagen wir 23.0 setzen. Und ich habe in der Dokumentation gelesen, dass ich eine JSON-formatierten Befehl in einen "rpc"-Datenpunkt schreiben muss.
          Aber wie mache ich das und in welchen "rpc"-Datenpunkt muss ich den Wert reinschreiben (unter dem Ordner "events" existiert auch ein "rpc"-Datenpunkt)?

          ioBroker-Host: Raspberry Pi 5 (8GByte RAM) mit Halo8-KI-Hat, Argon ONE M.2-Gehäuse mit 256GByte PCIe-SSD

          mickymM 1 Reply Last reply
          0
          • KlausStoertebekerK KlausStoertebeker

            @ubecker @mickym

            Danke für das Angebot. Ich habe folgendes konkretes Problem:
            Das Bildschirmfoto zeigt den Objektbaum eines Shelly Wall Display (Gen 2) unter der mqtt.0-Instanz:

            ioBroker-mqtt-ShellyWallDisplay.png

            Ich möchte gerne die Temperatur im Datenpunkt "thermostat:0" ändern (im Bild blau hervorgehoben). Der Datenpunkt hat den Datentyp "JSON" und hier folgenden Eintrag:

            {
              "id": 0,
              "enable": true,
              "target_C": 24.5,
              "current_C": 32.5,
              "output": false,
              "schedules": {
                "enable": true,
                "profile_id": 0,
                "profile_name": "Test",
                "active_rule_id": "1737724727209"
              }
            }
            

            Ich möchte gerne den Wert "target_C" auf sagen wir 23.0 setzen. Und ich habe in der Dokumentation gelesen, dass ich eine JSON-formatierten Befehl in einen "rpc"-Datenpunkt schreiben muss.
            Aber wie mache ich das und in welchen "rpc"-Datenpunkt muss ich den Wert reinschreiben (unter dem Ordner "events" existiert auch ein "rpc"-Datenpunkt)?

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            wrote on last edited by
            #5

            @klausstoertebeker Direkt unter Deinem Shelly gibts ein rpc Datenpunkt - da müssen die Kommandos rein.

            80eef89e-e17e-4553-a3bb-223773c45010-image.png

            Da probierst mal folgendes:

            {"id":123, "src":"user_1", "method": "Thermostat.SetConfig","params": {"id": 0, "config": {"enable":true, "target_C": 23.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.

            KlausStoertebekerK 1 Reply Last reply
            0
            • mickymM mickym

              @klausstoertebeker Direkt unter Deinem Shelly gibts ein rpc Datenpunkt - da müssen die Kommandos rein.

              80eef89e-e17e-4553-a3bb-223773c45010-image.png

              Da probierst mal folgendes:

              {"id":123, "src":"user_1", "method": "Thermostat.SetConfig","params": {"id": 0, "config": {"enable":true, "target_C": 23.0}}}
              
              KlausStoertebekerK Offline
              KlausStoertebekerK Offline
              KlausStoertebeker
              wrote on last edited by
              #6

              @mickym
              Super 🙂 Das hat funktioniert. Und was mache ich, wenn ich unter "schedules" das Attribut auf "enable" auf false setzen möchte? Ich habe es mit

              {"id":123, "src":"user_1", "method": "Thermostat.SetConfig","params": {"id": 0, "config": {"schedules":{"enable": false}}}} 
              

              aber es passiert nichts.

              ioBroker-Host: Raspberry Pi 5 (8GByte RAM) mit Halo8-KI-Hat, Argon ONE M.2-Gehäuse mit 256GByte PCIe-SSD

              mickymM 2 Replies Last reply
              0
              • KlausStoertebekerK KlausStoertebeker

                @mickym
                Super 🙂 Das hat funktioniert. Und was mache ich, wenn ich unter "schedules" das Attribut auf "enable" auf false setzen möchte? Ich habe es mit

                {"id":123, "src":"user_1", "method": "Thermostat.SetConfig","params": {"id": 0, "config": {"schedules":{"enable": false}}}} 
                

                aber es passiert nichts.

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                wrote on last edited by mickym
                #7

                @klausstoertebeker sagte in Shelly-Geräte mit MQTT-Adapter steuern:

                @mickym
                Super 🙂 Das hat funktioniert. Und was mache ich, wenn ich unter "schedules" das Attribut auf "enable" auf false setzen möchte? Ich habe es mit

                {"id":123, "src":"user_1", "method": "Thermostat.SetConfig","params": {"id": 0, "config": {"schedules":{"enable": false}}}} 
                

                aber es passiert nichts.

                Meines Erachtens kannst Du entweder alle Scheduler löschen oder Du disablest einen vorhandenen Scheduler. Deswegen würde ich mir die erst mal ausgeben lassen.

                {"id":123, "src":"user_1", "method": "Schedule.List"}
                

                Wenn Du dann einen disablen willst, dann musst Du den Updaten:
                https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Schedule#scheduleupdate

                {"id":123, "src":"user_1", "method": "Schedule.Update","params": {"id": 0, "enable":  false}} 
                

                id Nummer ist halt des Schedulers, den Du disablen willst.

                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 Reply Last reply
                0
                • KlausStoertebekerK KlausStoertebeker

                  @mickym
                  Super 🙂 Das hat funktioniert. Und was mache ich, wenn ich unter "schedules" das Attribut auf "enable" auf false setzen möchte? Ich habe es mit

                  {"id":123, "src":"user_1", "method": "Thermostat.SetConfig","params": {"id": 0, "config": {"schedules":{"enable": false}}}} 
                  

                  aber es passiert nichts.

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  wrote on last edited by mickym
                  #8

                  Diese curl Request mit dem POST kommen der Mqtt Syntax über rpc am nächsten:
                  f092e355-95a1-41c7-8f1c-ccaaebe60a86-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.

                  KlausStoertebekerK 1 Reply Last reply
                  0
                  • mickymM mickym

                    Diese curl Request mit dem POST kommen der Mqtt Syntax über rpc am nächsten:
                    f092e355-95a1-41c7-8f1c-ccaaebe60a86-image.png

                    KlausStoertebekerK Offline
                    KlausStoertebekerK Offline
                    KlausStoertebeker
                    wrote on last edited by KlausStoertebeker
                    #9

                    @mickym Vielen Dank für die Hilfe, und die MQTT-Dokumentationsseite von Shelly, die Du verinkt hast, ist eine echte Fundgrube 🙂
                    Ich habe aber noch eine Herausforderung, denn ich möchte aus einem Shelly-Zwischenstecker die Werte für den Schalter, Spannung, Strom, Leistung und Verbrauch bei Änderung speichern. Die MQTT-Struktur eines solchen Shelly-Zwischensteckers sieht wie folgt aus:

                    MQTT-Zwischenstecker-Objektbaum.png

                    Die Werte für den Schalter, Spannung, Strom, Leistung und Verbrauch sind unter dem Status "switch:0" enthalten und werden auch bei Änderung im Dtenpunkt "events/rpc" gemeldet.
                    Zum Speichern der Werte habe ich mir unter "0_userdata" folgende Struktur erstellt

                    Shelly-MQTT-Represäntationen-Objektbaum.png

                    und möchte diese Datenpunkte bei Änderung des Datenpunks "events/rpc" mit den entsprechenden Werten beschreiben.
                    Dazu habe ich mir folgendes Blockly-Skript erstellt:

                    <block xmlns="https://developers.google.com/blockly/xml" type="control" id="~nPPqM52qlNN,b8w`Py$" x="182" y="371">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">0_userdata.0.Shelly-MQTT-Representationen.Zwischenstecker-16.Schalter</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="convert_toboolean" id="[)%Fpk*mzC)z2[2xrvAP">
                          <value name="VALUE">
                            <block type="get_attr" id="D0A$J@{KUPXM;;,H$*Dh">
                              <value name="PATH">
                                <shadow type="text" id="qN8e)3V`@j_bu$/B`,Fe">
                                  <field name="TEXT">attribute1</field>
                                </shadow>
                                <block type="text" id="9E(0zPQ_P|As?2$|!b`d">
                                  <field name="TEXT">output</field>
                                </block>
                              </value>
                              <value name="OBJECT">
                                <shadow type="get_object" id="s[-s/s2@$zicEn)y0o;W">
                                  <field name="OID">Object ID</field>
                                </shadow>
                                <block type="convert_json2object" id=".*Gm~inVhrSR^B#=RkbS">
                                  <value name="VALUE">
                                    <block type="get_attr" id="OAqi-`=S$~~P(`,=v^l.">
                                      <value name="PATH">
                                        <shadow type="text" id="lE2vxjIAe|GJ7zJnmfKO">
                                          <field name="TEXT">attribute1</field>
                                        </shadow>
                                        <block type="text" id="%xk[uKcSl*D{N3gK|^-B">
                                          <field name="TEXT">switch:0</field>
                                        </block>
                                      </value>
                                      <value name="OBJECT">
                                        <shadow type="get_object" id="g*{@m/_d$+s#;vr|idRn">
                                          <field name="OID">Object ID</field>
                                        </shadow>
                                        <block type="convert_json2object" id="Z|#V%}HQUb[CqH!B1#q]">
                                          <value name="VALUE">
                                            <block type="get_value" id="qKTK_7Pf~2d=x`|[~6l|">
                                              <field name="ATTR">val</field>
                                              <field name="OID">mqtt.0.shellyplusplugs-fcb4670dd890.events.rpc</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                      <next>
                        <block type="control" id="-cURGj_t(5BlpxX[3au}">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                          <field name="OID">0_userdata.0.Shelly-MQTT-Representationen.Zwischenstecker-16.Spannung</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="convert_tonumber" id=".R^,gRT+yf/Humul5CT$">
                              <value name="VALUE">
                                <block type="get_attr" id="I*YDM?.2@A)FIx(^9;Ic">
                                  <value name="PATH">
                                    <shadow type="text" id="qN8e)3V`@j_bu$/B`,Fe">
                                      <field name="TEXT">attribute1</field>
                                    </shadow>
                                    <block type="text" id="e@vzHE-)6gqac*i5%3W2">
                                      <field name="TEXT">voltage</field>
                                    </block>
                                  </value>
                                  <value name="OBJECT">
                                    <shadow type="get_object" id="?5,}9#{tJ~$mMc7TE`t]">
                                      <field name="OID">Object ID</field>
                                    </shadow>
                                    <block type="convert_json2object" id="fA;Z.=;Gy3o3X$xYmGk~">
                                      <value name="VALUE">
                                        <block type="get_attr" id="XgX|;(`jU{Rd#CQ%4M4O">
                                          <value name="PATH">
                                            <shadow type="text" id="lE2vxjIAe|GJ7zJnmfKO">
                                              <field name="TEXT">attribute1</field>
                                            </shadow>
                                            <block type="text" id="v9LR(T@8/rPUh)hXU=aY">
                                              <field name="TEXT">switch:0</field>
                                            </block>
                                          </value>
                                          <value name="OBJECT">
                                            <shadow type="get_object" id="g*{@m/_d$+s#;vr|idRn">
                                              <field name="OID">Object ID</field>
                                            </shadow>
                                            <block type="convert_json2object" id="PfMmATcM3|c}(=dVtKsA">
                                              <value name="VALUE">
                                                <block type="get_value" id="!N.?I]v!{oY,@beb|PTU">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">mqtt.0.shellyplusplugs-fcb4670dd890.events.rpc</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="control" id="7zUngxD~v:w|ws[]*YWi">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                              <field name="OID">0_userdata.0.Shelly-MQTT-Representationen.Zwischenstecker-16.Strom</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="convert_tonumber" id="ZA|5xCF{E2Dv*54p/QS4">
                                  <value name="VALUE">
                                    <block type="get_attr" id="FV2N=ZC]^bn755?E,Zvg">
                                      <value name="PATH">
                                        <shadow type="text" id="qN8e)3V`@j_bu$/B`,Fe">
                                          <field name="TEXT">attribute1</field>
                                        </shadow>
                                        <block type="text" id="6LFn$UlAyb%cP(?3G!:7">
                                          <field name="TEXT">current</field>
                                        </block>
                                      </value>
                                      <value name="OBJECT">
                                        <shadow type="get_object" id="#]50IJaAuR=koImfK0W1">
                                          <field name="OID">Object ID</field>
                                        </shadow>
                                        <block type="convert_json2object" id="MAt1H!/tk`1du%bY`rX5">
                                          <value name="VALUE">
                                            <block type="get_attr" id="YqS%3B?dW}8]H*tosu:F">
                                              <value name="PATH">
                                                <shadow type="text" id="lE2vxjIAe|GJ7zJnmfKO">
                                                  <field name="TEXT">attribute1</field>
                                                </shadow>
                                                <block type="text" id="g]-e*!`KV83asQ6XUMT7">
                                                  <field name="TEXT">switch:0</field>
                                                </block>
                                              </value>
                                              <value name="OBJECT">
                                                <shadow type="get_object" id="g*{@m/_d$+s#;vr|idRn">
                                                  <field name="OID">Object ID</field>
                                                </shadow>
                                                <block type="convert_json2object" id="YCT/cdS}5mGn_%:^Wlmm">
                                                  <value name="VALUE">
                                                    <block type="get_value" id="b/tw|p0k#^lZyh9smB|W">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">mqtt.0.shellyplusplugs-fcb4670dd890.events.rpc</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="control" id="50B{g3~{YfMO4b=nwS]r">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">0_userdata.0.Shelly-MQTT-Representationen.Zwischenstecker-16.Leistung</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="convert_tonumber" id="t`DmK(qZGpflJZB*Uipz">
                                      <value name="VALUE">
                                        <block type="get_attr" id="p*KHRPLdz;I)@T=h=Ii4">
                                          <value name="PATH">
                                            <shadow type="text" id="qN8e)3V`@j_bu$/B`,Fe">
                                              <field name="TEXT">attribute1</field>
                                            </shadow>
                                            <block type="text" id="==H,:qpqEAS:mf63gNLO">
                                              <field name="TEXT">apower</field>
                                            </block>
                                          </value>
                                          <value name="OBJECT">
                                            <shadow type="get_object" id="p@3gjpam]@p!5@+*edja">
                                              <field name="OID">Object ID</field>
                                            </shadow>
                                            <block type="convert_json2object" id="k]/:,$_AAncIvN;Ekc}R">
                                              <value name="VALUE">
                                                <block type="get_attr" id="LKwq4m2XD#fU}U,d=WIK">
                                                  <value name="PATH">
                                                    <shadow type="text" id="lE2vxjIAe|GJ7zJnmfKO">
                                                      <field name="TEXT">attribute1</field>
                                                    </shadow>
                                                    <block type="text" id="b#?TlCiDn*Z-gxW%(aYu">
                                                      <field name="TEXT">switch:0</field>
                                                    </block>
                                                  </value>
                                                  <value name="OBJECT">
                                                    <shadow type="get_object" id="g*{@m/_d$+s#;vr|idRn">
                                                      <field name="OID">Object ID</field>
                                                    </shadow>
                                                    <block type="convert_json2object" id="n?sFCAFg)Qz*l$U/*6{Q">
                                                      <value name="VALUE">
                                                        <block type="get_value" id="j3@WV`1u*kX:Z6Pb9mk.">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">mqtt.0.shellyplusplugs-fcb4670dd890.events.rpc</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="control" id="c$0*97GH0*u1,2k0*:y(">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">0_userdata.0.Shelly-MQTT-Representationen.Zwischenstecker-16.Verbrauch</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="convert_tonumber" id="!8D7Tor2%}?m2bP$cSz{">
                                          <value name="VALUE">
                                            <block type="get_attr" id="Q@_`EikN$Y,IiWPU@r2Q">
                                              <value name="PATH">
                                                <shadow type="text" id="qN8e)3V`@j_bu$/B`,Fe">
                                                  <field name="TEXT">attribute1</field>
                                                </shadow>
                                                <block type="text" id="rsV`%.mC{wTU0AQXL6L@">
                                                  <field name="TEXT">total</field>
                                                </block>
                                              </value>
                                              <value name="OBJECT">
                                                <shadow type="get_object" id="NuYQo{=;^2PC6pVLvzFQ">
                                                  <field name="OID">Object ID</field>
                                                </shadow>
                                                <block type="convert_json2object" id="D^}2Po+k9QcKUf}B_/zN">
                                                  <value name="VALUE">
                                                    <block type="get_attr" id="%=w.(wnoQXwJP:%X4,?4">
                                                      <value name="PATH">
                                                        <shadow type="text" id="lE2vxjIAe|GJ7zJnmfKO">
                                                          <field name="TEXT">attribute1</field>
                                                        </shadow>
                                                        <block type="text" id="IqcDST6lnUu7!+2N?.4u">
                                                          <field name="TEXT">aenergy</field>
                                                        </block>
                                                      </value>
                                                      <value name="OBJECT">
                                                        <shadow type="get_object" id="g*{@m/_d$+s#;vr|idRn">
                                                          <field name="OID">Object ID</field>
                                                        </shadow>
                                                        <block type="convert_json2object" id="5RO09NsoI%oQLtrXI^Lg">
                                                          <value name="VALUE">
                                                            <block type="get_attr" id="(P#ouVAPFa8$ugz7X1o0">
                                                              <value name="PATH">
                                                                <shadow type="text" id="lE2vxjIAe|GJ7zJnmfKO">
                                                                  <field name="TEXT">attribute1</field>
                                                                </shadow>
                                                                <block type="text" id="=rnLXgReyHUNr?t%UDwb">
                                                                  <field name="TEXT">switch:0</field>
                                                                </block>
                                                              </value>
                                                              <value name="OBJECT">
                                                                <shadow type="get_object" id="g*{@m/_d$+s#;vr|idRn">
                                                                  <field name="OID">Object ID</field>
                                                                </shadow>
                                                                <block type="convert_json2object" id="1O/+%HINm.w5DDqx*}%]">
                                                                  <value name="VALUE">
                                                                    <block type="get_value" id="6UgG!b*GVlT.Sk6G`*Gk">
                                                                      <field name="ATTR">val</field>
                                                                      <field name="OID">mqtt.0.shellyplusplugs-fcb4670dd890.events.rpc</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                    

                    Leider werden die Datenpunkte nicht beschrieben.
                    Hast Du vielleicht eine Ahnung, warum? Ich weiß, dass die Daten des Datenpunktes "events/rpc" die entspreechenden Daten enthält, wenn sich beispielsweise die Spannung ändert. Aber das Debugging sagt mir nicht, warum die Daten nicht geschrieben werden...

                    ioBroker-Host: Raspberry Pi 5 (8GByte RAM) mit Halo8-KI-Hat, Argon ONE M.2-Gehäuse mit 256GByte PCIe-SSD

                    mickymM 1 Reply Last reply
                    0
                    • KlausStoertebekerK KlausStoertebeker

                      @mickym Vielen Dank für die Hilfe, und die MQTT-Dokumentationsseite von Shelly, die Du verinkt hast, ist eine echte Fundgrube 🙂
                      Ich habe aber noch eine Herausforderung, denn ich möchte aus einem Shelly-Zwischenstecker die Werte für den Schalter, Spannung, Strom, Leistung und Verbrauch bei Änderung speichern. Die MQTT-Struktur eines solchen Shelly-Zwischensteckers sieht wie folgt aus:

                      MQTT-Zwischenstecker-Objektbaum.png

                      Die Werte für den Schalter, Spannung, Strom, Leistung und Verbrauch sind unter dem Status "switch:0" enthalten und werden auch bei Änderung im Dtenpunkt "events/rpc" gemeldet.
                      Zum Speichern der Werte habe ich mir unter "0_userdata" folgende Struktur erstellt

                      Shelly-MQTT-Represäntationen-Objektbaum.png

                      und möchte diese Datenpunkte bei Änderung des Datenpunks "events/rpc" mit den entsprechenden Werten beschreiben.
                      Dazu habe ich mir folgendes Blockly-Skript erstellt:

                      <block xmlns="https://developers.google.com/blockly/xml" type="control" id="~nPPqM52qlNN,b8w`Py$" x="182" y="371">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">0_userdata.0.Shelly-MQTT-Representationen.Zwischenstecker-16.Schalter</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="convert_toboolean" id="[)%Fpk*mzC)z2[2xrvAP">
                            <value name="VALUE">
                              <block type="get_attr" id="D0A$J@{KUPXM;;,H$*Dh">
                                <value name="PATH">
                                  <shadow type="text" id="qN8e)3V`@j_bu$/B`,Fe">
                                    <field name="TEXT">attribute1</field>
                                  </shadow>
                                  <block type="text" id="9E(0zPQ_P|As?2$|!b`d">
                                    <field name="TEXT">output</field>
                                  </block>
                                </value>
                                <value name="OBJECT">
                                  <shadow type="get_object" id="s[-s/s2@$zicEn)y0o;W">
                                    <field name="OID">Object ID</field>
                                  </shadow>
                                  <block type="convert_json2object" id=".*Gm~inVhrSR^B#=RkbS">
                                    <value name="VALUE">
                                      <block type="get_attr" id="OAqi-`=S$~~P(`,=v^l.">
                                        <value name="PATH">
                                          <shadow type="text" id="lE2vxjIAe|GJ7zJnmfKO">
                                            <field name="TEXT">attribute1</field>
                                          </shadow>
                                          <block type="text" id="%xk[uKcSl*D{N3gK|^-B">
                                            <field name="TEXT">switch:0</field>
                                          </block>
                                        </value>
                                        <value name="OBJECT">
                                          <shadow type="get_object" id="g*{@m/_d$+s#;vr|idRn">
                                            <field name="OID">Object ID</field>
                                          </shadow>
                                          <block type="convert_json2object" id="Z|#V%}HQUb[CqH!B1#q]">
                                            <value name="VALUE">
                                              <block type="get_value" id="qKTK_7Pf~2d=x`|[~6l|">
                                                <field name="ATTR">val</field>
                                                <field name="OID">mqtt.0.shellyplusplugs-fcb4670dd890.events.rpc</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                        <next>
                          <block type="control" id="-cURGj_t(5BlpxX[3au}">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">0_userdata.0.Shelly-MQTT-Representationen.Zwischenstecker-16.Spannung</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="convert_tonumber" id=".R^,gRT+yf/Humul5CT$">
                                <value name="VALUE">
                                  <block type="get_attr" id="I*YDM?.2@A)FIx(^9;Ic">
                                    <value name="PATH">
                                      <shadow type="text" id="qN8e)3V`@j_bu$/B`,Fe">
                                        <field name="TEXT">attribute1</field>
                                      </shadow>
                                      <block type="text" id="e@vzHE-)6gqac*i5%3W2">
                                        <field name="TEXT">voltage</field>
                                      </block>
                                    </value>
                                    <value name="OBJECT">
                                      <shadow type="get_object" id="?5,}9#{tJ~$mMc7TE`t]">
                                        <field name="OID">Object ID</field>
                                      </shadow>
                                      <block type="convert_json2object" id="fA;Z.=;Gy3o3X$xYmGk~">
                                        <value name="VALUE">
                                          <block type="get_attr" id="XgX|;(`jU{Rd#CQ%4M4O">
                                            <value name="PATH">
                                              <shadow type="text" id="lE2vxjIAe|GJ7zJnmfKO">
                                                <field name="TEXT">attribute1</field>
                                              </shadow>
                                              <block type="text" id="v9LR(T@8/rPUh)hXU=aY">
                                                <field name="TEXT">switch:0</field>
                                              </block>
                                            </value>
                                            <value name="OBJECT">
                                              <shadow type="get_object" id="g*{@m/_d$+s#;vr|idRn">
                                                <field name="OID">Object ID</field>
                                              </shadow>
                                              <block type="convert_json2object" id="PfMmATcM3|c}(=dVtKsA">
                                                <value name="VALUE">
                                                  <block type="get_value" id="!N.?I]v!{oY,@beb|PTU">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">mqtt.0.shellyplusplugs-fcb4670dd890.events.rpc</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <next>
                              <block type="control" id="7zUngxD~v:w|ws[]*YWi">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">0_userdata.0.Shelly-MQTT-Representationen.Zwischenstecker-16.Strom</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="convert_tonumber" id="ZA|5xCF{E2Dv*54p/QS4">
                                    <value name="VALUE">
                                      <block type="get_attr" id="FV2N=ZC]^bn755?E,Zvg">
                                        <value name="PATH">
                                          <shadow type="text" id="qN8e)3V`@j_bu$/B`,Fe">
                                            <field name="TEXT">attribute1</field>
                                          </shadow>
                                          <block type="text" id="6LFn$UlAyb%cP(?3G!:7">
                                            <field name="TEXT">current</field>
                                          </block>
                                        </value>
                                        <value name="OBJECT">
                                          <shadow type="get_object" id="#]50IJaAuR=koImfK0W1">
                                            <field name="OID">Object ID</field>
                                          </shadow>
                                          <block type="convert_json2object" id="MAt1H!/tk`1du%bY`rX5">
                                            <value name="VALUE">
                                              <block type="get_attr" id="YqS%3B?dW}8]H*tosu:F">
                                                <value name="PATH">
                                                  <shadow type="text" id="lE2vxjIAe|GJ7zJnmfKO">
                                                    <field name="TEXT">attribute1</field>
                                                  </shadow>
                                                  <block type="text" id="g]-e*!`KV83asQ6XUMT7">
                                                    <field name="TEXT">switch:0</field>
                                                  </block>
                                                </value>
                                                <value name="OBJECT">
                                                  <shadow type="get_object" id="g*{@m/_d$+s#;vr|idRn">
                                                    <field name="OID">Object ID</field>
                                                  </shadow>
                                                  <block type="convert_json2object" id="YCT/cdS}5mGn_%:^Wlmm">
                                                    <value name="VALUE">
                                                      <block type="get_value" id="b/tw|p0k#^lZyh9smB|W">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">mqtt.0.shellyplusplugs-fcb4670dd890.events.rpc</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <next>
                                  <block type="control" id="50B{g3~{YfMO4b=nwS]r">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">0_userdata.0.Shelly-MQTT-Representationen.Zwischenstecker-16.Leistung</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="convert_tonumber" id="t`DmK(qZGpflJZB*Uipz">
                                        <value name="VALUE">
                                          <block type="get_attr" id="p*KHRPLdz;I)@T=h=Ii4">
                                            <value name="PATH">
                                              <shadow type="text" id="qN8e)3V`@j_bu$/B`,Fe">
                                                <field name="TEXT">attribute1</field>
                                              </shadow>
                                              <block type="text" id="==H,:qpqEAS:mf63gNLO">
                                                <field name="TEXT">apower</field>
                                              </block>
                                            </value>
                                            <value name="OBJECT">
                                              <shadow type="get_object" id="p@3gjpam]@p!5@+*edja">
                                                <field name="OID">Object ID</field>
                                              </shadow>
                                              <block type="convert_json2object" id="k]/:,$_AAncIvN;Ekc}R">
                                                <value name="VALUE">
                                                  <block type="get_attr" id="LKwq4m2XD#fU}U,d=WIK">
                                                    <value name="PATH">
                                                      <shadow type="text" id="lE2vxjIAe|GJ7zJnmfKO">
                                                        <field name="TEXT">attribute1</field>
                                                      </shadow>
                                                      <block type="text" id="b#?TlCiDn*Z-gxW%(aYu">
                                                        <field name="TEXT">switch:0</field>
                                                      </block>
                                                    </value>
                                                    <value name="OBJECT">
                                                      <shadow type="get_object" id="g*{@m/_d$+s#;vr|idRn">
                                                        <field name="OID">Object ID</field>
                                                      </shadow>
                                                      <block type="convert_json2object" id="n?sFCAFg)Qz*l$U/*6{Q">
                                                        <value name="VALUE">
                                                          <block type="get_value" id="j3@WV`1u*kX:Z6Pb9mk.">
                                                            <field name="ATTR">val</field>
                                                            <field name="OID">mqtt.0.shellyplusplugs-fcb4670dd890.events.rpc</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="control" id="c$0*97GH0*u1,2k0*:y(">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">0_userdata.0.Shelly-MQTT-Representationen.Zwischenstecker-16.Verbrauch</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="convert_tonumber" id="!8D7Tor2%}?m2bP$cSz{">
                                            <value name="VALUE">
                                              <block type="get_attr" id="Q@_`EikN$Y,IiWPU@r2Q">
                                                <value name="PATH">
                                                  <shadow type="text" id="qN8e)3V`@j_bu$/B`,Fe">
                                                    <field name="TEXT">attribute1</field>
                                                  </shadow>
                                                  <block type="text" id="rsV`%.mC{wTU0AQXL6L@">
                                                    <field name="TEXT">total</field>
                                                  </block>
                                                </value>
                                                <value name="OBJECT">
                                                  <shadow type="get_object" id="NuYQo{=;^2PC6pVLvzFQ">
                                                    <field name="OID">Object ID</field>
                                                  </shadow>
                                                  <block type="convert_json2object" id="D^}2Po+k9QcKUf}B_/zN">
                                                    <value name="VALUE">
                                                      <block type="get_attr" id="%=w.(wnoQXwJP:%X4,?4">
                                                        <value name="PATH">
                                                          <shadow type="text" id="lE2vxjIAe|GJ7zJnmfKO">
                                                            <field name="TEXT">attribute1</field>
                                                          </shadow>
                                                          <block type="text" id="IqcDST6lnUu7!+2N?.4u">
                                                            <field name="TEXT">aenergy</field>
                                                          </block>
                                                        </value>
                                                        <value name="OBJECT">
                                                          <shadow type="get_object" id="g*{@m/_d$+s#;vr|idRn">
                                                            <field name="OID">Object ID</field>
                                                          </shadow>
                                                          <block type="convert_json2object" id="5RO09NsoI%oQLtrXI^Lg">
                                                            <value name="VALUE">
                                                              <block type="get_attr" id="(P#ouVAPFa8$ugz7X1o0">
                                                                <value name="PATH">
                                                                  <shadow type="text" id="lE2vxjIAe|GJ7zJnmfKO">
                                                                    <field name="TEXT">attribute1</field>
                                                                  </shadow>
                                                                  <block type="text" id="=rnLXgReyHUNr?t%UDwb">
                                                                    <field name="TEXT">switch:0</field>
                                                                  </block>
                                                                </value>
                                                                <value name="OBJECT">
                                                                  <shadow type="get_object" id="g*{@m/_d$+s#;vr|idRn">
                                                                    <field name="OID">Object ID</field>
                                                                  </shadow>
                                                                  <block type="convert_json2object" id="1O/+%HINm.w5DDqx*}%]">
                                                                    <value name="VALUE">
                                                                      <block type="get_value" id="6UgG!b*GVlT.Sk6G`*Gk">
                                                                        <field name="ATTR">val</field>
                                                                        <field name="OID">mqtt.0.shellyplusplugs-fcb4670dd890.events.rpc</field>
                                                                      </block>
                                                                    </value>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                      

                      Leider werden die Datenpunkte nicht beschrieben.
                      Hast Du vielleicht eine Ahnung, warum? Ich weiß, dass die Daten des Datenpunktes "events/rpc" die entspreechenden Daten enthält, wenn sich beispielsweise die Spannung ändert. Aber das Debugging sagt mir nicht, warum die Daten nicht geschrieben werden...

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      wrote on last edited by mickym
                      #10

                      @klausstoertebeker Also Du musst, wenn Du Blockly schon exportierst, den Code in CodeTags packen.

                      Code-Tags.gif

                      Ansonsten kann ich Dir meinen NodeRed Flow empfehlen oder Du erstellst Dir Aliase zum extrahieren der Werte, dann brauchst Du auch kein Blockly.

                      Die Werte sollten eigentlich unter status switch:0 sein - deshalb brauchst die events gar nicht.

                      Poste einfach mal den Inhalt von switch:0 hier in codeTags und welches Attribut Du lesen möchtest, dann zeige ich Dir wie einfach das mit einem Alias, Blockly oder NodeRed geht.

                      Aber ich kann mir auch dein Blockly anschauen - auch wenn ich eher NodeRed Fan bin.

                      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 Reply Last reply
                      0
                      • mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        wrote on last edited by
                        #11
                        • Ich kenne Deine Daten in den events nicht.
                        • Ausserdem werden in events ja nicht alle Daten geliefert, sondern nur die sich verändert haben. Ich würde deshalb lieber den Status abfragen.
                        • Die Konvertierung braucht es nicht - weil automatisch in ein Objekt konvertiert wird
                        • Außerdem nimmt man aktualisiere für Datenpunkte unter 0_userdata.0 - da Du nichts steuerst.
                        • Wie gesagt nimm den JSON unter status und keine events. Du überschreibst jedesmal mit null, wenn die entsprechenden Attribute nicht vorhanden sind.

                        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 Reply Last reply
                        0
                        • KlausStoertebekerK Offline
                          KlausStoertebekerK Offline
                          KlausStoertebeker
                          wrote on last edited by
                          #12

                          @mickym Hallo mickym 🙂
                          Ich möchte gerne den Status von "switch:0" in einen alias einlesen und auch von dort wieder in den Status schreiben (um zum Beispiel "output" ein- und ausschalten zu können). Das habe ich schonmal versucht, bin aber wohl aus Unkenntnis und Wissensdefiziten gescheitert. Aber wenn Du mir zeigen könntest, wie das mit den Aliasen funktioniert, würde ich das gerne nutzen.

                          Im Status "switch:0" stehen folgende Daten:

                          {
                            "id": 0,
                            "source": "button",
                            "output": true,
                            "apower": 0,
                            "voltage": 240.9,
                            "current": 0,
                            "aenergy": {
                              "total": 9016,
                              "by_minute": [
                                0,
                                0,
                                0
                              ],
                              "minute_ts": 1740235140
                            },
                            "temperature": {
                              "tC": 42,
                              "tF": 107.7
                            }
                          }
                          

                          Lesen möchte ich "voltage", "current", "apower" und "aenegy.total". Lesen und schreiben möchte ich "output".
                          Ich hatte den Plan bei der Nutzung von "events/rpc", Änderungen der Werte in eine History-Datenbank zu schreiben und auf Änderungen eines dieser Werte zu triggern.

                          ioBroker-Host: Raspberry Pi 5 (8GByte RAM) mit Halo8-KI-Hat, Argon ONE M.2-Gehäuse mit 256GByte PCIe-SSD

                          mickymM 1 Reply Last reply
                          0
                          • KlausStoertebekerK KlausStoertebeker

                            @mickym Hallo mickym 🙂
                            Ich möchte gerne den Status von "switch:0" in einen alias einlesen und auch von dort wieder in den Status schreiben (um zum Beispiel "output" ein- und ausschalten zu können). Das habe ich schonmal versucht, bin aber wohl aus Unkenntnis und Wissensdefiziten gescheitert. Aber wenn Du mir zeigen könntest, wie das mit den Aliasen funktioniert, würde ich das gerne nutzen.

                            Im Status "switch:0" stehen folgende Daten:

                            {
                              "id": 0,
                              "source": "button",
                              "output": true,
                              "apower": 0,
                              "voltage": 240.9,
                              "current": 0,
                              "aenergy": {
                                "total": 9016,
                                "by_minute": [
                                  0,
                                  0,
                                  0
                                ],
                                "minute_ts": 1740235140
                              },
                              "temperature": {
                                "tC": 42,
                                "tF": 107.7
                              }
                            }
                            

                            Lesen möchte ich "voltage", "current", "apower" und "aenegy.total". Lesen und schreiben möchte ich "output".
                            Ich hatte den Plan bei der Nutzung von "events/rpc", Änderungen der Werte in eine History-Datenbank zu schreiben und auf Änderungen eines dieser Werte zu triggern.

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            wrote on last edited by mickym
                            #13

                            @klausstoertebeker Also erst musst Du Dir mal grundsätzliches einnprägen.

                            Du hast mehrer RPC Channels - NUR einen (direkt unter Deinem Device) für Kommandos. Der RPC Channel unter Events meldet Ereignisse.
                            Alles nachzulesen unter: https://shelly-api-docs.shelly.cloud/gen2/General/RPCChannels#mqtt

                            Du wirst also Deinen Output nicht beschreiben können, sondern Du schreibst dein Kommando ganz normal unter den RPC Channel und Dein Status mit der Output Eigenschaft ändert sich automatisch.

                            Das heißt den Ein/Aus Zustand liest Du über den switch:0 topic und der output Eigenschaft, Du steuerst es aber den RPC Channel .

                            Aliase erstellst Du einfach unter alias.0 - Du kannst auch eine hierarschische Struktur mit Ordner aufbauen.

                            f160e0ed-6d10-4115-82b6-49e669682758-image.png

                            Die Quelldatenpunkte sind für dich nicht geeignet, da es hier um Shellies der 1. Generation handelt.

                            Aber hier habe ich das Ganze schon mal für einen Shelly der 2. Generation gemacht.
                            Das war halt ein Dimmer, Du machst es halt mit dem switch:
                            https://forum.iobroker.net/post/1245801

                            Zu Schalten des Switchs nimmst Du also unterschiedliche Datenpunkte im den Du in den rpc direkt unter Deinem Shelly Plug S schreibst und den switch:0 liest.

                            Zum Ein- und Ausschalten nimmst Du also folgende Konvertierungen:

                            Lesen:

                            JSON.parse(val).output
                            

                            Schreiben:

                            JSON.stringify({method: "Switch.Set", params: { id: 0, on: val}})
                            

                            siehst Du ja hier:
                            https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch#switchset

                            Den Aliasdatenpunkt musst Du vom Typ her als Logikwert definieren. Generell musst du den Datentyp anhand der zu erwartenden Werte definieren.

                            ============================================

                            Also bei den weiteren Aliasdatenpunkten dann als Zahl.

                            Für die Aliase die Du nur zum Lesen brauchst - brauchst Du ja dann immer nur als Quelle den switch:0 Datenpunkt.

                            Lesen möchte ich "voltage", "current", "apower" und "aenegy.total".

                            Als Quelle nimmst Du den switch:0 Datenpunkt und dann halt für jeden Alias eine andere Konvertierungsfunktion zum Lesen:

                            Für voltage:

                            JSON.parse(val).voltage
                            

                            Für current:

                            JSON.parse(val).current
                            

                            Für apower:

                            JSON.parse(val).output
                            

                            Für aenergy.total

                            JSON.parse(val).aenergy.total
                            

                            History kannst Du dann einfach über das Zahnrad im Alias einrichten.

                            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.

                            KlausStoertebekerK 1 Reply Last reply
                            0
                            • mickymM mickym

                              @klausstoertebeker Also erst musst Du Dir mal grundsätzliches einnprägen.

                              Du hast mehrer RPC Channels - NUR einen (direkt unter Deinem Device) für Kommandos. Der RPC Channel unter Events meldet Ereignisse.
                              Alles nachzulesen unter: https://shelly-api-docs.shelly.cloud/gen2/General/RPCChannels#mqtt

                              Du wirst also Deinen Output nicht beschreiben können, sondern Du schreibst dein Kommando ganz normal unter den RPC Channel und Dein Status mit der Output Eigenschaft ändert sich automatisch.

                              Das heißt den Ein/Aus Zustand liest Du über den switch:0 topic und der output Eigenschaft, Du steuerst es aber den RPC Channel .

                              Aliase erstellst Du einfach unter alias.0 - Du kannst auch eine hierarschische Struktur mit Ordner aufbauen.

                              f160e0ed-6d10-4115-82b6-49e669682758-image.png

                              Die Quelldatenpunkte sind für dich nicht geeignet, da es hier um Shellies der 1. Generation handelt.

                              Aber hier habe ich das Ganze schon mal für einen Shelly der 2. Generation gemacht.
                              Das war halt ein Dimmer, Du machst es halt mit dem switch:
                              https://forum.iobroker.net/post/1245801

                              Zu Schalten des Switchs nimmst Du also unterschiedliche Datenpunkte im den Du in den rpc direkt unter Deinem Shelly Plug S schreibst und den switch:0 liest.

                              Zum Ein- und Ausschalten nimmst Du also folgende Konvertierungen:

                              Lesen:

                              JSON.parse(val).output
                              

                              Schreiben:

                              JSON.stringify({method: "Switch.Set", params: { id: 0, on: val}})
                              

                              siehst Du ja hier:
                              https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch#switchset

                              Den Aliasdatenpunkt musst Du vom Typ her als Logikwert definieren. Generell musst du den Datentyp anhand der zu erwartenden Werte definieren.

                              ============================================

                              Also bei den weiteren Aliasdatenpunkten dann als Zahl.

                              Für die Aliase die Du nur zum Lesen brauchst - brauchst Du ja dann immer nur als Quelle den switch:0 Datenpunkt.

                              Lesen möchte ich "voltage", "current", "apower" und "aenegy.total".

                              Als Quelle nimmst Du den switch:0 Datenpunkt und dann halt für jeden Alias eine andere Konvertierungsfunktion zum Lesen:

                              Für voltage:

                              JSON.parse(val).voltage
                              

                              Für current:

                              JSON.parse(val).current
                              

                              Für apower:

                              JSON.parse(val).output
                              

                              Für aenergy.total

                              JSON.parse(val).aenergy.total
                              

                              History kannst Du dann einfach über das Zahnrad im Alias einrichten.

                              KlausStoertebekerK Offline
                              KlausStoertebekerK Offline
                              KlausStoertebeker
                              wrote on last edited by
                              #14

                              @mickym
                              Mann, was für eine tolle Hilfe!!! - Deine Vorschläge funktionieren super. Und ich gehe davon aus, dass das auch ähnlich mit meinem Wanddisplay funktioniert 🙂

                              ioBroker-Host: Raspberry Pi 5 (8GByte RAM) mit Halo8-KI-Hat, Argon ONE M.2-Gehäuse mit 256GByte PCIe-SSD

                              KlausStoertebekerK 1 Reply Last reply
                              0
                              • KlausStoertebekerK KlausStoertebeker

                                @mickym
                                Mann, was für eine tolle Hilfe!!! - Deine Vorschläge funktionieren super. Und ich gehe davon aus, dass das auch ähnlich mit meinem Wanddisplay funktioniert 🙂

                                KlausStoertebekerK Offline
                                KlausStoertebekerK Offline
                                KlausStoertebeker
                                wrote on last edited by
                                #15

                                @mickym
                                Ich brauche wieder Deine Hilfe, denn ich habe das Vorgehen auch mit meinem Wanddisplay versuch, bin aber noch nicht weitergekommen.
                                Im Datenpunkt "status/thermostat:0" werden folgende Daten im JSON-Format abgelegt:

                                {
                                  "id": 0,
                                  "enable": true,
                                  "target_C": 14.5,
                                  "current_C": 25.3,
                                  "output": false,
                                  "schedules": {
                                    "enable": true,
                                    "profile_id": 0,
                                    "profile_name": "Test"
                                  }
                                }
                                

                                Ich möchte gerne den Wert "target_C" lesen und schreiben und habe dafür im Alias einen Datenpunkt mit unterschiedlichen Datenpunkten angelegt:
                                Lesen: mqtt.0.ShellyWallDisplay-0008224A613B.status.thermostat:0
                                Schreiben: mqtt.0.ShellyWallDisplay-0008224A613B.rpc
                                Das Lesen mit der Funktion JSON.parse(val).target_C funktioniert auch, aber das Schreiben nicht. Ich habe mich an Deinem Vorschlag vom 20.02.2025 19:03 orientiert und versucht, einen Wert mit der Funktion JSON.stringify({method: "Thermostat.SetConfig", params: {id: 0, config: {target_C: val }}}) in "target_C" zu schreiben.
                                In den "rpc"-Datenpunkt wird der JSON-String

                                {
                                  "method": "Thermostat.SetConfig",
                                  "params": {
                                    "id": 0,
                                    "config": {
                                      "target_C": 12
                                    }
                                  }
                                }
                                

                                geschrieben, aber es passiert leider nicht und der Wert wird nicht geändert...

                                ioBroker-Host: Raspberry Pi 5 (8GByte RAM) mit Halo8-KI-Hat, Argon ONE M.2-Gehäuse mit 256GByte PCIe-SSD

                                mickymM 1 Reply Last reply
                                0
                                • KlausStoertebekerK KlausStoertebeker

                                  @mickym
                                  Ich brauche wieder Deine Hilfe, denn ich habe das Vorgehen auch mit meinem Wanddisplay versuch, bin aber noch nicht weitergekommen.
                                  Im Datenpunkt "status/thermostat:0" werden folgende Daten im JSON-Format abgelegt:

                                  {
                                    "id": 0,
                                    "enable": true,
                                    "target_C": 14.5,
                                    "current_C": 25.3,
                                    "output": false,
                                    "schedules": {
                                      "enable": true,
                                      "profile_id": 0,
                                      "profile_name": "Test"
                                    }
                                  }
                                  

                                  Ich möchte gerne den Wert "target_C" lesen und schreiben und habe dafür im Alias einen Datenpunkt mit unterschiedlichen Datenpunkten angelegt:
                                  Lesen: mqtt.0.ShellyWallDisplay-0008224A613B.status.thermostat:0
                                  Schreiben: mqtt.0.ShellyWallDisplay-0008224A613B.rpc
                                  Das Lesen mit der Funktion JSON.parse(val).target_C funktioniert auch, aber das Schreiben nicht. Ich habe mich an Deinem Vorschlag vom 20.02.2025 19:03 orientiert und versucht, einen Wert mit der Funktion JSON.stringify({method: "Thermostat.SetConfig", params: {id: 0, config: {target_C: val }}}) in "target_C" zu schreiben.
                                  In den "rpc"-Datenpunkt wird der JSON-String

                                  {
                                    "method": "Thermostat.SetConfig",
                                    "params": {
                                      "id": 0,
                                      "config": {
                                        "target_C": 12
                                      }
                                    }
                                  }
                                  

                                  geschrieben, aber es passiert leider nicht und der Wert wird nicht geändert...

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  wrote on last edited by mickym
                                  #16

                                  @klausstoertebeker Da unten haben wir aber mehr eingetragen. Machs doch mal so wie da unten:

                                  https://forum.iobroker.net/post/1251735

                                  {"id":123, "src":"user_1", "method": "Thermostat.SetConfig","params": {"id": 0, "config": {"enable":true, "target_C": 23.0}}}
                                  

                                  Probiers erst mal nur mit "enable":true und wenn das nicht langt, dann nimm halt noch zu Beginn die id oder src mit. Wie gesagt da unten hat es ja schon mal funktioniert.

                                  Das mit dem stringify war alles richtig. Einfach in dem Datenpunkt ausprobieren, wie es funktioniert und dann die Konvertierungsfunktion identisch basteln mit stringify und val für den Wert.

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

                                  KlausStoertebekerK 1 Reply Last reply
                                  0
                                  • mickymM mickym

                                    @klausstoertebeker Da unten haben wir aber mehr eingetragen. Machs doch mal so wie da unten:

                                    https://forum.iobroker.net/post/1251735

                                    {"id":123, "src":"user_1", "method": "Thermostat.SetConfig","params": {"id": 0, "config": {"enable":true, "target_C": 23.0}}}
                                    

                                    Probiers erst mal nur mit "enable":true und wenn das nicht langt, dann nimm halt noch zu Beginn die id oder src mit. Wie gesagt da unten hat es ja schon mal funktioniert.

                                    Das mit dem stringify war alles richtig. Einfach in dem Datenpunkt ausprobieren, wie es funktioniert und dann die Konvertierungsfunktion identisch basteln mit stringify und val für den Wert.

                                    KlausStoertebekerK Offline
                                    KlausStoertebekerK Offline
                                    KlausStoertebeker
                                    wrote on last edited by
                                    #17

                                    @mickym
                                    Ich versuche mich noch am Thermostaten, aber bisher ohne Erfolg. Aber ich bleibe dran...
                                    Mittlerweile habe ich aber ein weiteres Problem bei der Steuerung eines Shelly RGBW-Controllers. Ich möchte den Farbwert über ein Triple r,g,b steuern und muss dieses Triple in folgenden JSON-String packen:

                                    {
                                      "id": 0,
                                      "rgb": [
                                        255,
                                        0,
                                        0
                                      ]
                                    }
                                    

                                    Dazu nutze ich in der Schreibfunktion folgende Funktion:

                                    JSON.stringify({method: "RGBW.Set", params: { id: 0, rgb: [val]}}) (val = r,g,b)

                                    Allerdings wird daraus folgender JSON-String:

                                    {
                                      "method": "RGBW.Set",
                                      "params": {
                                        "id": 0,
                                        "rgb": [
                                          "r,g,b"
                                        ]
                                      }
                                    }
                                    

                                    Da das Triple r,g,b in Anführungszeichen "stringifiziert" wird, wird das kommando aber nicht ausgeführt. Wie kann ich das Triple ohne Anführungszeichen und in der Form [r,g,b] in den JSON-String einfügen, so dass er so aussieht:

                                    {
                                      "method": "RGBW.Set",
                                      "params": {
                                        "id": 0,
                                        "rgb": [r,g,b]
                                      }
                                    }
                                    

                                    ioBroker-Host: Raspberry Pi 5 (8GByte RAM) mit Halo8-KI-Hat, Argon ONE M.2-Gehäuse mit 256GByte PCIe-SSD

                                    mickymM 1 Reply Last reply
                                    0
                                    • KlausStoertebekerK KlausStoertebeker

                                      @mickym
                                      Ich versuche mich noch am Thermostaten, aber bisher ohne Erfolg. Aber ich bleibe dran...
                                      Mittlerweile habe ich aber ein weiteres Problem bei der Steuerung eines Shelly RGBW-Controllers. Ich möchte den Farbwert über ein Triple r,g,b steuern und muss dieses Triple in folgenden JSON-String packen:

                                      {
                                        "id": 0,
                                        "rgb": [
                                          255,
                                          0,
                                          0
                                        ]
                                      }
                                      

                                      Dazu nutze ich in der Schreibfunktion folgende Funktion:

                                      JSON.stringify({method: "RGBW.Set", params: { id: 0, rgb: [val]}}) (val = r,g,b)

                                      Allerdings wird daraus folgender JSON-String:

                                      {
                                        "method": "RGBW.Set",
                                        "params": {
                                          "id": 0,
                                          "rgb": [
                                            "r,g,b"
                                          ]
                                        }
                                      }
                                      

                                      Da das Triple r,g,b in Anführungszeichen "stringifiziert" wird, wird das kommando aber nicht ausgeführt. Wie kann ich das Triple ohne Anführungszeichen und in der Form [r,g,b] in den JSON-String einfügen, so dass er so aussieht:

                                      {
                                        "method": "RGBW.Set",
                                        "params": {
                                          "id": 0,
                                          "rgb": [r,g,b]
                                        }
                                      }
                                      
                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      wrote on last edited by mickym
                                      #18

                                      @klausstoertebeker In dem Fall darfst Du nicht r,g,b verwenden, sondern schreibst ein Array, das heißt Du parsed den String.

                                      Als Wert musst Du aber Zahlenwerte eingeben und da es ein String ist diesen in ein Array wandeln.

                                      Also also Wert gibst Du ein [255,0,0]. Als Datentyp musst Du JSON oder String nehmen

                                      JSON.stringify({method: "RGBW.Set", params: { id: 0, rgb: JSON.parse(val) }})
                                      

                                      Jedenfalls sieht das bei mir gut aus:

                                      a4cb7509-eeaf-466e-904d-7ec8374b8472-image.png
                                      880986ff-cb52-4d6e-8dbd-dd5b65ceafc1-image.png

                                      rgb - repäsentieren Zahlenwerte zwischen 0 und 255.

                                      Wie gesagt im alias steht als Wert ein JSON-String als Array:
                                      23dde1c6-3044-4387-ac2e-0de4b1d8761e-image.png

                                      Und bei dem Thermostat - da hast Du doch gesagt, dass das funktioniert hat, als Du direkt den rpc Datenpunkt beschrieben hast?

                                      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.

                                      KlausStoertebekerK 1 Reply Last reply
                                      0
                                      • mickymM mickym

                                        @klausstoertebeker In dem Fall darfst Du nicht r,g,b verwenden, sondern schreibst ein Array, das heißt Du parsed den String.

                                        Als Wert musst Du aber Zahlenwerte eingeben und da es ein String ist diesen in ein Array wandeln.

                                        Also also Wert gibst Du ein [255,0,0]. Als Datentyp musst Du JSON oder String nehmen

                                        JSON.stringify({method: "RGBW.Set", params: { id: 0, rgb: JSON.parse(val) }})
                                        

                                        Jedenfalls sieht das bei mir gut aus:

                                        a4cb7509-eeaf-466e-904d-7ec8374b8472-image.png
                                        880986ff-cb52-4d6e-8dbd-dd5b65ceafc1-image.png

                                        rgb - repäsentieren Zahlenwerte zwischen 0 und 255.

                                        Wie gesagt im alias steht als Wert ein JSON-String als Array:
                                        23dde1c6-3044-4387-ac2e-0de4b1d8761e-image.png

                                        Und bei dem Thermostat - da hast Du doch gesagt, dass das funktioniert hat, als Du direkt den rpc Datenpunkt beschrieben hast?

                                        KlausStoertebekerK Offline
                                        KlausStoertebekerK Offline
                                        KlausStoertebeker
                                        wrote on last edited by
                                        #19

                                        @mickym
                                        Hallo mickym,
                                        ich habe den Ausdruck r,g,b nur als Platzhalter gewählt. Dass ich für das Setzen der Wert Zahlen verwenden muss, war mir klar - ich wusste nurnicht, wie ich die eckigen Klammern ohne Anführungszeichen hinbekomme...
                                        Und Dein Tipp war wieder klasse - hat auf Anhieb funktioniert 🙂
                                        Ja, und was den Themostaten angeht, weiß ich auch noch nicht so richtig, wass ich falsch mache. Aber ich habe heute Abend Zeit 😉 wenn ich eine andere kleine Herausforderung mit einem "Shelly Plus i4" überwunden habe...

                                        ioBroker-Host: Raspberry Pi 5 (8GByte RAM) mit Halo8-KI-Hat, Argon ONE M.2-Gehäuse mit 256GByte PCIe-SSD

                                        KlausStoertebekerK 1 Reply Last reply
                                        0
                                        • KlausStoertebekerK KlausStoertebeker

                                          @mickym
                                          Hallo mickym,
                                          ich habe den Ausdruck r,g,b nur als Platzhalter gewählt. Dass ich für das Setzen der Wert Zahlen verwenden muss, war mir klar - ich wusste nurnicht, wie ich die eckigen Klammern ohne Anführungszeichen hinbekomme...
                                          Und Dein Tipp war wieder klasse - hat auf Anhieb funktioniert 🙂
                                          Ja, und was den Themostaten angeht, weiß ich auch noch nicht so richtig, wass ich falsch mache. Aber ich habe heute Abend Zeit 😉 wenn ich eine andere kleine Herausforderung mit einem "Shelly Plus i4" überwunden habe...

                                          KlausStoertebekerK Offline
                                          KlausStoertebekerK Offline
                                          KlausStoertebeker
                                          wrote on last edited by KlausStoertebeker
                                          #20

                                          @mickym

                                          Das mit dem Thermomastaten habe ich hinbekommen. Mein Fehler war, dass ich kein Attribut "src" angegeben hatte. Die "id" war ohne Belang, aber "src" war zwingend notwendig...
                                          Allerdings kann ich den Thermostaten nich aktivieren/deaktivieren, denn dazu muss ich unter dem Datenpunkt "status/sys", der den Inhalt

                                          {
                                            "id": "ShellyWallDisplay-0008224A613B",
                                            "mac": "0008224A613B",
                                            "model": "SAWD-0A1XX10EU1",
                                            "gen": 2,
                                            "fw_id": "20250110-152848/2.3.0-1f63b311",
                                            "ver": "2.3.0",
                                            "app": "WallDisplay",
                                            "auth_en": true,
                                            "uptime": 171028,
                                            "app_uptime": 2381,
                                            "ram_size": 134217728,
                                            "ram_free": 25041040,
                                            "fs_size": 5009186816,
                                            "fs_free": 4895637504,
                                            "discoverable": true,
                                            "cfg_rev": 75,
                                            "schedule_rev": 0,
                                            "webhook_rev": 8,
                                            "platform": "vXD10000M2",
                                            "serial": "SAWD89D007B2V",
                                            "batch_id": "3872b",
                                            "batch_date": 231211,
                                            "available_updates": {
                                              "stable": {
                                                "version": "2.3.0",
                                                "build_id": "20250110-152848/2.3.0-1f63b311"
                                              }
                                            },
                                            "restart_required": false,
                                            "unixtime": 1740517805,
                                            "relay_in_thermostat": true,
                                            "sensor_in_thermostat": true,
                                            "awaiting_auth_code": true
                                          }
                                          

                                          hat, die Attribute
                                          relay_in_thermostat und sensor_in_thermostat auf false setzen. Diese Werte ändern sich, wenn ich in den Einstellungen -> Input/Output -> Thermostat aktivieren am Display selbst manuell den Thermostaten aktiviere oder deaktiviere. Und ich habe kein anderes Attribut hierfür gefunden...

                                          In der Doku habe ich gelesen, dass man mit Sys.SetConfig die Konfiguration setzen kann, und ich habe es mit

                                          {
                                            "src": "iobroker",
                                            "method": "Sys.GetConfig",
                                            "params": {
                                              "config": {
                                                 "id": 0,
                                                 "relay_in_thermostat": false,
                                                 "sensor_in_thermostat": false
                                              }
                                            }
                                          }
                                          

                                          versucht, aber das hat nicht funktioniert. Hast Du da eine Idee?

                                          ioBroker-Host: Raspberry Pi 5 (8GByte RAM) mit Halo8-KI-Hat, Argon ONE M.2-Gehäuse mit 256GByte PCIe-SSD

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          156

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe