Shelly Plug S MQTT auf der Kommandozeile Gen1 Api

Voraussetzung ist ein laufender MQTT-Server und die installierten Kommandozeilen Tools. Beides in meinem Falle von Mosquitto.

Ist der Shelly ins eigen WLAN integriert und erreichbar lässt sich unter Internet & Security → Adavanced – Developer Settings MQTT einschalten/konfigurieren. Username/Passwort sowie die IP Adresse und der Port des MQTT-Servers werden vergeben.

Screenshot MQTT Einstellung Shelly Plug S
Screenshot MQTT Einstellung Shelly Plug S

Der Shelly Plug S tritt als MQTT-Client auf und die Topics sind fest von Shelly vergeben. Einen Überblick kann man sich per Wildcard verschaffen.

:~$ mosquitto_sub -h 10.10.10.100 -p 1883 -v -t shellies/# -u Username -P Passwort
shellies/shellyplug-s-XXXXXXXXXX/relay/0 off
shellies/shellyplug-s-XXXXXXXXXX/relay/0/energy 4747
shellies/shellyplug-s-XXXXXXXXXX/relay/0/power 0.00
shellies/shellyplug-s-XXXXXXXXXX/online true
[...]

Weitere Infos zu den von Shelly vergebenen Topics finden sich auf der Shelly Website.

Das XXXXXXXXXX entspricht der <deviceid> des Shelly die der MAC Adresse entspricht. Diese lässt sich auch unter Settings → Device Info einsehen.

Schalten lässt sich der Shelly damit ebenfalls.

An:

:~$ mosquitto_pub -h 10.10.10.100 -p 1883 -t shellies/shellyplug-s-XXXXXXXXXX/relay/0/command -m "on" -u Username -P Passwort

Aus:

:~$ mosquitto_pub -h 10.10.10.100 -p 1883 -t shellies/shellyplug-s-XXXXXXXXXX/relay/0/command -m "off" -u Username -P Passwort

Der Schaltzustand lässt sich mittels

:~$ mosquitto_sub -h 10.10.10.100 -p 1883 -v -t shellies/shellyplug-s-XXXXXXXXXX/relay/0 -u Username -P Passwort
shellies/shellyplug-s-XXXXXXXXXX/relay/0 off
shellies/shellyplug-s-XXXXXXXXXX/relay/0 on

abfragen bzw. beobachten.