FHEM - Hausautomations-Systeme > MQTT

gelöst: MQTT Befehle für Shelly Plus 1PM

<< < (5/7) > >>

TomLee:
Genau.

Was ich eben hatte war, das ich ein update eines Shelly 1 machte und gar nichts mehr danach per MQTT ging, erst ein Neustart des Shelly hat Abhilfe geschafft.
Hast du schonmal zwischendurch rebooted ?

Beta-User:
Die API für die neuen Shelly ist anders, da muss man erst mal noch vieles zu Fuß machen.

Hotfix für's erste: https://forum.fhem.de/index.php/topic,123980.msg1185403.html#msg1185403

romakrau:
Dank Euch beiden. Hat mir sehr geholfen.
Gruß
Roman

romakrau:
Nachtrag: In meinem Fall braucht das altbekannte shellies nicht verwendet zu werden :


--- Code: ---off trockner/rpc {"id":0, "src":"trockner/status", "method":"Switch.Set", "params":{"id":0,"on":false}}
on  trockner/rpc {"id":0, "src":"trockner/status", "method":"Switch.Set", "params":{"id":0,"on":true}}
--- Ende Code ---

Reicht vollkommen zum Schalten.

limes1337:
Hallo zusammen,

wie schon geschrieben wurde hat sich die MQTT Topic Struktur bei den neuen Shellies (meines Wissens bisher Shelly Plus Modelle und Shelly Pro 4PM) wesentlich geändert. U.a. für die Set Befehle werden die Methodenaufrufe nun nicht mehr als MQTT Topic(-struktur) übergeben sondern als Payload. Die Grundlage der Dokumentation sind dafür die RPC Befehle aus der Shelly Gen2 Device API. Damit funktionieren die bisher vorhandenen Shelly MQTT Templates nicht bzw. nur teilweise. Dafür sind die Steuermöglichkeiten über MQTT aber deutlich umfangreicher geworden.

Für die Set Befehle lautet die Topic Adressierung grundsätzlich <shelly-device>/rpc + payload
<shelly-device> ist dabei davon abhängig was ihr in der MQTT Definition des Shellies angegeben habt. Nachfolgend das Beispiel von einem Shelly Plus 1, der bei mir die Lichter in einem Badezimmerschrank steuert.

Die MQTT Definition des Shellies findet ihr im beigefügten Screenshot.

Die passenden Befehle aus der Set List lauten dann wie folgt. Neben Toggle, On, Off, Update habe ich mal noch einen Reboot und einen On-for-Timer eingefügt. Letzteres wird meines Wissen so nativ von den Gen1 Shellies per MQTT nicht unterstützt (den on-for-timer gibt es zwar in FHEM auch bei den bisherigen Shellies, der Timer wird hier aber von FHEM verwaltet - in der neuen Variante direkt im Shelly).


--- Code: ---toggle:noArg shellies/light_bath_cabinet/rpc {"id":0,"src":"fhem","method":"Switch.Toggle","params": {"id":0}}
  off:noArg shellies/light_bath_cabinet/rpc {"id":0,"src":"fhem","method":"Switch.Set","params": {"id":0,"on":false}}
  on:noArg shellies/light_bath_cabinet/rpc {"id":0,"src":"fhem","method":"Switch.Set","params": {"id":0,"on":true}}
  on-for-timer shellies/light_bath_cabinet/rpc {"id":0,"src":"fhem","method":"Switch.Set","params": {"id":0,"on":true,"toggle_after":$EVTPART1}}
  x_update:noArg shellies/light_bath_cabinet/rpc {"id":0,"src":"fhem","method":"Shelly.Update","params": {"stage":"stable"}}
  x_reboot:noArg shellies/light_bath_cabinet/rpc {"id":0,"src":"fhem","method":"Shelly.Reboot"}

--- Ende Code ---

Faktisch kann man noch sehr viel mehr Set Befehle ergänzen und die Readings müssen auch noch besser ausgewertet werden. Aus meiner Sicht macht es Sinn dafür ein eigenes Template zu erstellen. Sofern ich dazu komme, werde ich es gerne mit Euch teilen.

Grüße,
limes



Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln