Modul Shelly: Unterschied zwischen den Versionen
K (letzte Änderung gesichtet und geringfügig überarbeitet; @Starkstrombastler: sind die Beschreibungen von voltage_over und _under eventuell vertauscht?) |
(Abschnitt Actions/Webhooks überarbeitet) |
||
Zeile 103: | Zeile 103: | ||
=== Actions/Webhooks (nur Testversion) === | === Actions/Webhooks (nur Testversion) === | ||
Ab Shelly Firmware 1.5.0 werden Actions unterstützt. Damit besteht die Möglichkeit, dass ein Shelly bei Eintreten | Ab Shelly Firmware 1.5.0 werden Actions unterstützt. Damit besteht die Möglichkeit, dass ein Shelly bei Eintreten bestiimmter Ereignisse von sich aus Meldungen an andere Shellies und/oder übergeordnete Systeme wie Fhem absetzt. Dies ist nützlich, um Statusänderungen, die z.B. durch lokal betätigte Tasten entstehen, direkt an FHEM zu übermitteln. | ||
Nachfolgende Beispiele zeigen den Code der im Shelly unter URL einzutragen ist: | Nachfolgende Beispiele zeigen den Code der im Shelly unter URL einzutragen ist: | ||
Ausgang (Relais) eines Shelly1 schaltet ein: | Ausgang (Relais) eines Shelly1 schaltet ein: <code>http://<FHEM-IP>:<Port>/fhem?XHR=1&cmd=set%20<name>%20out_on</code> | ||
hierbei sind | hierbei sind: <code><FHEM-IP></code> die IP-Adresse des Servers auf dem FHEM läuft | ||
:<code><FHEM-IP></code> die IP-Adresse des Servers auf dem FHEM läuft | |||
<code><Port></code> die Port-Nummer | |||
<code><name></code> der Name des FHEM-Devices | |||
<code>%20</code> stellt ein Leerzeichen dar | |||
Beispiel 2: Eingang eines Shelly2 wird betätigt: | Beispiel 2: Eingang eines Shelly2 wird betätigt: | ||
Beispiel 3: Wirkleistung eines ShellyPro3EM: | <code>http://<FHEM-IP>:<Port>/fhem?XHR=1&cmd=set%20<name>%20input_on%20<ch></code> | ||
<code><ch></code> die Nummer des Schaltkanals (Nummer des Eingangs), z.B. <code>0</code> oder <code>1</code> | |||
<code>Beispiel 3: Eingang1 eines ShellyDimmers wird betätigt:</code> | |||
<code>http://<FHEM-IP>:<Port>/fhem?XHR=1&cmd=set%20<name>%20short_push<nowiki/>%20<inp></code> | |||
<code><inp> Nummer des Eingangs, 0 oder 1 (ShellyDimmer verfügen je Schaltkanal über zwei Eingänge)</code> | |||
Beispiel 4: Wirkleistung eines ShellyPro3EM: <code>http://<FHEM-IP>:<Port>/fhem?XHR=1&fwcsrf=csrf_368985985592099&cmd=set%20Y173%20Active_Power_$phase%20$active_power</code> | |||
<code>fwcsrf=csrf_368985985592099 das CSRF-Token (FHEMWeb)</code> | |||
<code>$phase</code> wird vom Shelly durch a, b oder c ersetzt | |||
<code>$active_power wird vom Shelly durch die aktuelle Wirkleistung ersetzt</code> | |||
Enpoints | Enpoints | ||
In vorstehenden Beispielen stellt der Teil | In vorstehenden Beispielen stellt der Teil <code>set%20<name>%20<cmd></code> den Endpoint dar, d.h. dies ist der Befehl der vom Shelly-Device in FHEM verarbeitet werden muss. | ||
den Endpoint dar, d.h. dies ist der Befehl | |||
===== Liste der Befehle der Set-Endpoints: ===== | =====Liste der Befehle der Set-Endpoints:===== | ||
{| class="wikitable sortable mw-collapsible" | {| class="wikitable sortable mw-collapsible" | ||
|+ | |+ | ||
!<cmd> | !<cmd> | ||
!Wert | !Wert | ||
! | !Reading | ||
!Erläuterung | !Erläuterung | ||
!Geräte | |||
|- | |- | ||
|<code>out_on</code> | |<code>out_on</code> | ||
| | | | ||
| | | rowspan="2" |<code>relay_<ch></code><code>state</code> | ||
|Ausgang ein | |Ausgang ein | ||
| rowspan="2" |alle Shelly mit Relaisausgang | |||
ShellyBulb | |||
ShellyRGBW | |||
|- | |- | ||
|<code>out_off</code> | |<code>out_off</code> | ||
| | | | ||
|Ausgang aus | |Ausgang aus | ||
Zeile 153: | Zeile 164: | ||
|<code>button_on</code> | |<code>button_on</code> | ||
| | | | ||
| | | rowspan="2" |<code>button_<ch></code> | ||
|Eingang ein | |Eingang ein | ||
| rowspan="2" |ShellyPlug | |||
ShellyPlugS | |||
|- | |- | ||
|<code>button_off</code> | |<code>button_off</code> | ||
| | | | ||
|Eingang aus | |||
|- | |||
|<code>input_on</code> | |||
| | |||
| rowspan="2" |<code>input_<ch></code> | |||
|Eingang ein | |||
| rowspan="2" |alle Shelly mit HW-Eingang, aber nicht Shelly-I-Geräte | |||
|- | |||
|<code>input_off</code> | |||
| | | | ||
|Eingang aus | |Eingang aus | ||
Zeile 163: | Zeile 185: | ||
|<code>input_on</code> | |<code>input_on</code> | ||
| | | | ||
| | | rowspan="4" |<code>input_<inp></code> | ||
|Eingang ein | |Eingang ein | ||
| rowspan="4" |ShellyDimmer | |||
|- | |- | ||
|<code>input_off</code> | |<code>input_off</code> | ||
| | | | ||
|Eingang aus | |||
|- | |||
|<code>short_push</code> | |||
| | |||
|kurzer Tastendruck | |||
|- | |||
|<code>long_push</code> | |||
| | | | ||
| | |langer Tastendruck | ||
|- | |- | ||
|<code>single_push</code> | |<code>single_push</code> | ||
| | | | ||
| | | rowspan="6" |<code>input_<ch></code><code>input_<ch>_action</code> | ||
| | |kurzer Tastendruck | ||
| rowspan="4" |ShellyI3 | |||
ShellyI4 | |||
|- | |- | ||
|<code>long_push</code> | |<code>long_push</code> | ||
| | | | ||
|langer Tastendruck | |langer Tastendruck | ||
|- | |- | ||
|<code>double_push</code> | |<code>double_push</code> | ||
| | | | ||
|zweifacher Tastendruck | |zweifacher Tastendruck | ||
|- | |- | ||
|<code>triple_push</code> | |<code>triple_push</code> | ||
| | | | ||
|dreifacher Tastendruck | |dreifacher Tastendruck | ||
|- | |- | ||
|<code>short_long_push</code> | |<code>short_long_push</code> | ||
| | | | ||
|Tastersequenz lang-kurz | |Tastersequenz lang-kurz | ||
| rowspan="2" |ShellyI3 | |||
|- | |- | ||
|<code>long_short_push</code> | |<code>long_short_push</code> | ||
| | | | ||
|Tastersequenz kurz-lang | |Tastersequenz kurz-lang | ||
Zeile 203: | Zeile 231: | ||
|<code>stopped</code> | |<code>stopped</code> | ||
| | | | ||
| | | rowspan="5" |<code>state</code> | ||
|Rollo angehalten | |Rollo angehalten | ||
| rowspan="5" |Shelly2/2.5/Plus2/Pro2 mode=roller | |||
|- | |- | ||
|<code>opening</code> | |<code>opening</code> | ||
| | | | ||
|Rollo wird geöffnet | |Rollo wird geöffnet | ||
|- | |- | ||
|<code>closing</code> | |<code>closing</code> | ||
| | | | ||
|Rollo wird geschlossen | |Rollo wird geschlossen | ||
|- | |- | ||
|<code>is_open</code> | |<code>is_open</code> | ||
| | | | ||
|Rollo offen (in oberer Endlage) | |Rollo offen (in oberer Endlage) | ||
|- | |- | ||
|<code>is_closed</code> | |<code>is_closed</code> | ||
| | | | ||
|Rollo geschlossen (in unterer Endlage) | |Rollo geschlossen (in unterer Endlage) | ||
|- | |- | ||
|<code>temperature*</code> | | <code>temperature*</code> | ||
| | | | ||
|<code>temperature_<ch>_range</code> | |||
|Temperatur | |Temperatur | ||
| rowspan="2" |ShellyAddOn | |||
|- | |- | ||
|<code>humidity*</code> | |<code>humidity*</code> | ||
| | | | ||
| | |<code>humidity_<ch>_range</code> | ||
|Luftfeuchtigkeit | |Luftfeuchtigkeit | ||
|- | |- | ||
|<code>voltage_over</code> | |<code>voltage_over</code> | ||
| | | | ||
| | | rowspan="2" |<code>voltage_range</code> | ||
|Spannung unterschreitet eingestellten Grenzwert | |Spannung unterschreitet eingestellten Grenzwert | ||
| rowspan="2" |ShellyUni | |||
|- | |- | ||
|<code>voltage_under</code> | | <code>voltage_under</code> | ||
| | | | ||
|Spannung überschreitet eingestellten Grenzwert | |||
|Spannung überschreitet eingestellten Grenzwert | |||
|- | |- | ||
|Active_Power_$phase | | Active_Power_$phase | ||
|<code>$active_power</code> | |<code>$active_power</code> | ||
| | |<code>Active_Power_<ph></code> | ||
|Wirkleistung | |Änderung Wirkleistung | ||
| rowspan="3" |ShellyPro3EM | |||
|- | |- | ||
|Voltage_$phase | |Voltage_$phase | ||
|<code>$voltage</code> | |<code>$voltage</code> | ||
| | |<code>Voltage_<ph></code> | ||
|Spannung | |Änderung Spannung | ||
|- | |- | ||
|Current_$phase | |Current_$phase | ||
|<code>$current</code> | |<code>$current</code> | ||
| | |<code>Current_<ph></code> | ||
|Strom | |Änderung Strom | ||
|} | |} | ||
Bei Eintreffen eines Set-Endpoints wird im Shelly-Device | Bei Eintreffen eines Set-Endpoints wird im Shelly-Device das zugeordnete Reading entsprechend gesetzt. Damit kann das Shelly-Ereigniss z.B. mit einem <code>notify</code> ausgewertet werden.Im Anschluss daran holt sich das Modul die aktuellen Daten vom Shelly und setzt das Intervall zurück. | ||
Anmerkung zum ShellyPro3EM: Die Action wird erst bei einer gewissen Änderung des jeweiligen Wertes ausgelöst. Bei kleinen Schwankungen kommen also keine Webhooks in Fhem an. | |||
===== Get-Endpoint ===== | =====Get-Endpoint ===== | ||
Eine besondere Form stellt der Get-Endpoint dar, mit dem das Shelly-Device in Fhem aufgefordert wird, den Status des Shelly zu holen: | Eine besondere Form stellt der Get-Endpoint dar, mit dem das Shelly-Device in Fhem aufgefordert wird, den Status des Shelly zu holen: | ||
Zeile 269: | Zeile 298: | ||
==== Attribut webhook (derzeit nur Gen2) ==== | ====Attribut webhook (derzeit nur Gen2)==== | ||
Durch Setzten des Attributes <code>webhook</code> werden auf dem Shelly | Durch Setzten des Attributes <code>webhook</code> werden auf dem Shelly die verfügbaren Webhooks automatisiert angelegt (auf der Shelly Oberfläche unter Actions zu sehen). Als Attribut-Wert muss das empfangende FHEMWeb-Device ausgewählt werden. Wird das FHEMWeb-Device mit einem Csfr-Token abgesichert, wird der Token in den Webhook eingebunden. Bei Änderungen des Tokens (z.B. bei Neustart von Fhem) werden die entsprechenden Webhooks mit angepasst. | ||
Die vom Modul angelegten Webhooks erhalten im Shelly einen Namen, beginnend mit einem Unterstrich (<code>_</code>). Wird das Attribut geändert oder gelöscht, dann werden auch zugehörige Actions geändert bzw. gelöscht. Durch Entfernen des Unterstrichs im Namen der Action kann dieser Mechanismus unterbunden werden. | |||
Das Reading <code>webhook_cnt</code> zeigt die Anzahl | Das Reading <code>webhook_cnt</code> zeigt die Anzahl aller auf dem Shelly hinterlegten Webhooks und <code>webhooks_ver</code> den Versionszähler des Shelly. | ||
Eine Übersicht aller Actions/Webhooks eines Shelly bekommt man für Gen2-Geräte mit: | Eine Übersicht aller Actions/Webhooks eines Shelly bekommt man für Gen2-Geräte mit: | ||
=== MQTT === | <code>http://<ip-des-Shelly>/rpc/Webhook.List</code> | ||
===MQTT=== | |||
MQTT (Message Queue Telemetry Transport) ist ein nachrichtenbasiertes Protokoll, bei dem Geräte (Devices) nicht direkt miteinander, sondern mit einem zentralen MQTT-Server (in alter Nomenklatur ''Broker'' genannt) kommunizieren. Eine kurze Einführung in MQTT findet man auf der Seite [[MQTT Einführung]]. Mit entsprechend gesetzten Attributen lassen sich die Shelly-Aktoren auch steuern ([[MQTT2-Module - Praxisbeispiele#Shelly|Praxisbeispiele zu den MQTT2-Modulen]]), für Anfänger ist das allerdings nicht unbedingt zu empfehlen. | MQTT (Message Queue Telemetry Transport) ist ein nachrichtenbasiertes Protokoll, bei dem Geräte (Devices) nicht direkt miteinander, sondern mit einem zentralen MQTT-Server (in alter Nomenklatur ''Broker'' genannt) kommunizieren. Eine kurze Einführung in MQTT findet man auf der Seite [[MQTT Einführung]]. Mit entsprechend gesetzten Attributen lassen sich die Shelly-Aktoren auch steuern ([[MQTT2-Module - Praxisbeispiele#Shelly|Praxisbeispiele zu den MQTT2-Modulen]]), für Anfänger ist das allerdings nicht unbedingt zu empfehlen. |
Version vom 23. August 2023, 10:38 Uhr
Shelly | |
---|---|
Zweck / Funktion | |
Das Modul 36_Shelly.pm stellt ein Interface zur Bedienung von Shelly Devices zur Verfügung | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE Thema |
Support (Forum) | Sonstige Systeme |
Modulname | 36_Shelly.pm |
Ersteller | Prof. Dr. Peter A. Henning |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Auf dieser Seite werden die Aktoren des bulgarischen Herstellers Allterco Robotics beschrieben ((Markenname Shelly) sowie deren Ansteuerung mit FHEM und aufgetretene Probleme. Für Supportanfragen bitte diesen Forenthread verwenden.
An dieser Seite wird momentan noch gearbeitet. |
Achtung: Diese Seite ist teilweise veraltet, insbesondere unterstützt das Modul weitere Aktoren. Bitte Commandref lesen - diese Seite ist in Überarbeitung
Es handelt sich um IP-basierte Schalt- und Dimmaktoren, die auf verschiedene Weise angesteuert werden können
- über die Web-Oberfläche des eingebauten Mikro-Webservers,
- über eine proprietäre App des Herstellers (Achtung, Cloud!),
- über das hier beschriebene FHEM-Modul 36_Shelly.pm
- über MQTT
Ein Teil der Aktoren verfügt über eine eingebaute Leistungsmessung.
Geräteübersicht
Modell | Typ | Schaltkanäle | Dimmkanäle | Messkanäle | Bemerkungen |
---|---|---|---|---|---|
Shelly1 | Schalter | 1 | |||
Shelly1PM | Schalter mit Leistungsmessung | 1 | 1 | ||
ShellyPlug, ShellyPlugS | Schalter mit Leistungsmessung | 1 | 1 | ||
ShellyEM | Leistungsmessung | 1 | 2 | ||
Shelly2 | Schalter/Rollladenaktor | 2/1 | 1 | ||
Shelly2.5 | Schalter/Rollladenaktor | 2/1 | 2 | ||
Shelly4Pro | Schalter | 4 | 4 | ||
ShellyRGBW | Dimmer | 4 | 1 | ||
ShellyDimmer | Dimmer | 1 | 1 |
Einbindung in FHEM
- Schließen Sie den Aktor nach Vorschrift an
- Suchen Sie mit einem WLAN-fähigen Gerät (Laptop oder Smartphone) nach dem internen Access Point, der durch den Aktor erzeugt wird. Typischerweise hat dieser eine SSID ähnlich wie
shelly1-..., shellyswitch-..., shelly4pro-...,
- Verbinden Sie Ihr Gerät mit diesem Access Point. Typischerweise bekommt Ihr Gerät dabei die IP-Adresse 192.168.33.2 zugewiesen.
- Im Browser dieses Gerätes einfach die IP-Adresse 192.168.33.1 aufrufen - das ist der Shelly selbst, in dieser Web-Oberfläche kann man alles konfigurieren.
- Internen Access Point abschalten
- Shelly ins häusliche WLAN anmelden. Mit fester IP-Adresse <shelly-ip> natürlich...
- Testen: Ihr Gerät wieder mit dem häuslichen WLAN verbinden, und im Browser die Adresse <shelly-ip> aufrufen
- In FHEM definieren
define myShelly Shelly <shelly-ip>
- Auf der Detailseite des Devices muss unbedingt noch das Attribut
model
gesetzt werden:
attr myShelly model shellyrgbw|shellydimmer|shelly2.5|generic|shelly2|shellyem|shelly4|shellyplug|shelly1|shellybulb|shelly1pm|shellyuni
Falls es sich um einen Shelly2 oder 2.5 handelt, muss ferner das Attribut mode
auf "roller" oder "relay" gesetzt werden. Mit diesem Modul können alle Daten übertragen und (prinzipiell) alle Konfigurationsänderungen durchgeführt werden, außerdem ist es auf einfachste Weise zu installieren. Das Modul pollt im per Attribut interval
einstellbaren Abstand zyklisch den Aktor auf Statusänderungen (Wert 0 => kein Polling). Damit der Aktor im Stande ist, irgendwelche Zustandsänderungen von sich aus an FHEM zu melden, müssen diese als REST-Befehle (also URL-Aufrufe, für Nicht-Experten) in der Konfigurationsoberfläche des Shelly-Aktors eingetragen werden. Siehe CommandRef.
Zum Betrieb ist ferner noch zu bemerken, dass das Modul zwar meldet, ob ein Firmware-Update nötig ist - ausgelöst werden muss dieses aber über die Web-Oberfläche des Shelly selber.
Actions/Webhooks (nur Testversion)
Ab Shelly Firmware 1.5.0 werden Actions unterstützt. Damit besteht die Möglichkeit, dass ein Shelly bei Eintreten bestiimmter Ereignisse von sich aus Meldungen an andere Shellies und/oder übergeordnete Systeme wie Fhem absetzt. Dies ist nützlich, um Statusänderungen, die z.B. durch lokal betätigte Tasten entstehen, direkt an FHEM zu übermitteln.
Nachfolgende Beispiele zeigen den Code der im Shelly unter URL einzutragen ist:
Ausgang (Relais) eines Shelly1 schaltet ein: http://<FHEM-IP>:<Port>/fhem?XHR=1&cmd=set%20<name>%20out_on
hierbei sind: <FHEM-IP>
die IP-Adresse des Servers auf dem FHEM läuft
<Port>
die Port-Nummer
<name>
der Name des FHEM-Devices
%20
stellt ein Leerzeichen dar
Beispiel 2: Eingang eines Shelly2 wird betätigt:
http://<FHEM-IP>:<Port>/fhem?XHR=1&cmd=set%20<name>%20input_on%20<ch>
<ch>
die Nummer des Schaltkanals (Nummer des Eingangs), z.B. 0
oder 1
Beispiel 3: Eingang1 eines ShellyDimmers wird betätigt:
http://<FHEM-IP>:<Port>/fhem?XHR=1&cmd=set%20<name>%20short_push%20<inp>
<inp> Nummer des Eingangs, 0 oder 1 (ShellyDimmer verfügen je Schaltkanal über zwei Eingänge)
Beispiel 4: Wirkleistung eines ShellyPro3EM: http://<FHEM-IP>:<Port>/fhem?XHR=1&fwcsrf=csrf_368985985592099&cmd=set%20Y173%20Active_Power_$phase%20$active_power
fwcsrf=csrf_368985985592099 das CSRF-Token (FHEMWeb)
$phase
wird vom Shelly durch a, b oder c ersetzt
$active_power wird vom Shelly durch die aktuelle Wirkleistung ersetzt
Enpoints
In vorstehenden Beispielen stellt der Teil set%20<name>%20<cmd>
den Endpoint dar, d.h. dies ist der Befehl der vom Shelly-Device in FHEM verarbeitet werden muss.
Liste der Befehle der Set-Endpoints:
<cmd> | Wert | Reading | Erläuterung | Geräte |
---|---|---|---|---|
out_on
|
relay_<ch> state
|
Ausgang ein | alle Shelly mit Relaisausgang
ShellyBulb ShellyRGBW | |
out_off
|
Ausgang aus | |||
button_on
|
button_<ch>
|
Eingang ein | ShellyPlug
ShellyPlugS | |
button_off
|
Eingang aus | |||
input_on
|
input_<ch>
|
Eingang ein | alle Shelly mit HW-Eingang, aber nicht Shelly-I-Geräte | |
input_off
|
Eingang aus | |||
input_on
|
input_<inp>
|
Eingang ein | ShellyDimmer | |
input_off
|
Eingang aus | |||
short_push
|
kurzer Tastendruck | |||
long_push
|
langer Tastendruck | |||
single_push
|
input_<ch> input_<ch>_action
|
kurzer Tastendruck | ShellyI3
ShellyI4 | |
long_push
|
langer Tastendruck | |||
double_push
|
zweifacher Tastendruck | |||
triple_push
|
dreifacher Tastendruck | |||
short_long_push
|
Tastersequenz lang-kurz | ShellyI3 | ||
long_short_push
|
Tastersequenz kurz-lang | |||
stopped
|
state
|
Rollo angehalten | Shelly2/2.5/Plus2/Pro2 mode=roller | |
opening
|
Rollo wird geöffnet | |||
closing
|
Rollo wird geschlossen | |||
is_open
|
Rollo offen (in oberer Endlage) | |||
is_closed
|
Rollo geschlossen (in unterer Endlage) | |||
temperature*
|
temperature_<ch>_range
|
Temperatur | ShellyAddOn | |
humidity*
|
humidity_<ch>_range
|
Luftfeuchtigkeit | ||
voltage_over
|
voltage_range
|
Spannung unterschreitet eingestellten Grenzwert | ShellyUni | |
voltage_under
|
Spannung überschreitet eingestellten Grenzwert | |||
Active_Power_$phase | $active_power
|
Active_Power_<ph>
|
Änderung Wirkleistung | ShellyPro3EM |
Voltage_$phase | $voltage
|
Voltage_<ph>
|
Änderung Spannung | |
Current_$phase | $current
|
Current_<ph>
|
Änderung Strom |
Bei Eintreffen eines Set-Endpoints wird im Shelly-Device das zugeordnete Reading entsprechend gesetzt. Damit kann das Shelly-Ereigniss z.B. mit einem notify
ausgewertet werden.Im Anschluss daran holt sich das Modul die aktuellen Daten vom Shelly und setzt das Intervall zurück.
Anmerkung zum ShellyPro3EM: Die Action wird erst bei einer gewissen Änderung des jeweiligen Wertes ausgelöst. Bei kleinen Schwankungen kommen also keine Webhooks in Fhem an.
Get-Endpoint
Eine besondere Form stellt der Get-Endpoint dar, mit dem das Shelly-Device in Fhem aufgefordert wird, den Status des Shelly zu holen:
Beispiel: http://<FHEM-IP>:<Port>/fhem?XHR=1&cmd=get%20<name>%20status
Attribut webhook (derzeit nur Gen2)
Durch Setzten des Attributes webhook
werden auf dem Shelly die verfügbaren Webhooks automatisiert angelegt (auf der Shelly Oberfläche unter Actions zu sehen). Als Attribut-Wert muss das empfangende FHEMWeb-Device ausgewählt werden. Wird das FHEMWeb-Device mit einem Csfr-Token abgesichert, wird der Token in den Webhook eingebunden. Bei Änderungen des Tokens (z.B. bei Neustart von Fhem) werden die entsprechenden Webhooks mit angepasst.
Die vom Modul angelegten Webhooks erhalten im Shelly einen Namen, beginnend mit einem Unterstrich (_
). Wird das Attribut geändert oder gelöscht, dann werden auch zugehörige Actions geändert bzw. gelöscht. Durch Entfernen des Unterstrichs im Namen der Action kann dieser Mechanismus unterbunden werden.
Das Reading webhook_cnt
zeigt die Anzahl aller auf dem Shelly hinterlegten Webhooks und webhooks_ver
den Versionszähler des Shelly.
Eine Übersicht aller Actions/Webhooks eines Shelly bekommt man für Gen2-Geräte mit:
http://<ip-des-Shelly>/rpc/Webhook.List
MQTT
MQTT (Message Queue Telemetry Transport) ist ein nachrichtenbasiertes Protokoll, bei dem Geräte (Devices) nicht direkt miteinander, sondern mit einem zentralen MQTT-Server (in alter Nomenklatur Broker genannt) kommunizieren. Eine kurze Einführung in MQTT findet man auf der Seite MQTT Einführung. Mit entsprechend gesetzten Attributen lassen sich die Shelly-Aktoren auch steuern (Praxisbeispiele zu den MQTT2-Modulen), für Anfänger ist das allerdings nicht unbedingt zu empfehlen.