3. Spielereien mit Shelly – Einstieg in MQTT

Mitte 2019 konnte ich dem Hype um die Shelly Produkte nicht mehr ausweichen, und habe mir, mit dem Ziel meine Bastelarbeiten durch Produkte mit CE – Zeichen ohne Cloud-Zwang zu ersetzten, direkt in Bulgarien bei alterco im Shop 4 x Shelly 1PM, 4 x Shelly 2.5 und 4 x Shelly 1 bestellt.

Die Lieferung erfolgte erfreulich schnell, was ein wenig die damals sehr hohen Versandkosten bei DHL – Lieferung rechtfertigten.

Installation

Anschlussschemas Shelly

Shelly 1

Anschlussschemas

Anschlussschemas aus dem Offiziellen Shelly Support Forum. CO-ADMIN @SparkyMaster stellt Anschlussschemas mit Urheberschutz bereit

Schaltplan Shelly
Shelly 1PM

Anschlussschemas

Anschlussschemas aus dem Offiziellen Shelly Support Forum. CO-ADMIN @SparkyMaster stellt Anschlussschemas mit Urheberschutz bereit

Anschlussschemas Shelly 1PM
Shelly 2.5

Anschlussschemas

Anschlussschemas aus dem Offiziellen Shelly Support Forum. CO-ADMIN @SparkyMaster stellt Anschlussschemas mit Urheberschutz bereit

Anschlussschemas Shelly 2.5
previous arrow
next arrow

Selbstverständlich erfolgte die völlig problemlose Installation (Verkabelung) durch einen freundlichen und interessierten Elektriker, vielen Dank dafür.

WLAN – Konfiguration

wifi funk

Alle Shellies funken im 2,4 Mhz WLAN. Unser Haus mit 3 Etagen und verschiedenen Räumen mit Fußbodenheizung ist für die optimale Verteilung von Funkwellen in diesem oder höheren Frequenzbereichen nicht wirklich geeignet. Aus diesem Grund hatte ich bereits vor der Shelly – Installation die Etagen über Devolo DLAN – Wifi verbunden.

Es wurde mir jedoch klar, dass eine Fritz-Box auf Dauer keine geeignete Lösung für mittlerweile deutlich über 30 WLAN – Clients und diverse weitere LAN – Clients sein wird. Immerhin habe ich es zum Laufen gebracht.

Konfigurationsregeln

Konfiguration über Web-GUI des Shellies (ohne Cloud):

Der Standard Mode bei Auslieferung oder nach dem Zurücksetzen auf die Werkseinstellungen ist: Access Point

Verbinden des Shellies mit dem Standard Wi-Fi-Netzwerk (im Auslieferungszustand) (SSID) z.B. wie Shelly1 – 84CCA87D7CDC ohne Passwort. Die universelle IP-Adresse für alle Shelly-Geräte lautet: 192.168.33.1, um auf die Webschnittstelle zu gelangen.

Es erscheint eine abgespeckte Konfigurationsmaske für die Erfassung der eigenen WLAN – Zugangsdaten (SSID und Passwort WPA).

Nach dem Neustart verbindet sich der Shelly mit eigenen WLAN

Über die lokale IP Adresse wird die Konfiguration fortgesetzt

Beispiel “Returned json from:” http://admin:[password]@[IP | DNS-Name]/settings

{
   "device":{
      "type":"SHSW-1",
      "mac":"0123456789AB",
      "hostname":"shelly1-6789AB",
      "num_outputs":1
   },
   "wifi_ap":{
      "enabled":false,
      "ssid":"shelly1-6789AB",
      "key":""
   },
   "wifi_sta":{
      "enabled":true,
      "ssid":"RAUNETWLANIOT",
      "ipv4_method":"dhcp",
      "ip":null,
      "gw":null,
      "mask":null,
      "dns":null
   },
   "wifi_sta1":{
      "enabled":false,
      "ssid":null,
      "ipv4_method":"dhcp",
      "ip":null,
      "gw":null,
      "mask":null,
      "dns":null
   },
   "ap_roaming":{
      "enabled":true,
      "threshold":-70
   },
   "mqtt":{
      "enable":true,
      "server":"service.iot:1883",
      "user":"admin",
      "id":"24_Deckenleuchte",
      "reconnect_timeout_max":60.000000,
      "reconnect_timeout_min":2.000000,
      "clean_session":true,
      "keep_alive":60,
      "max_qos":1,
      "retain":false,
      "update_period":30
   },
   "coiot":{
      "enabled":true,
      "update_period":15,
      "peer":""
   },
   "sntp":{
      "server":"time.google.com",
      "enabled":true
   },
   "login":{
      "enabled":true,
      "unprotected":false,
      "username":"admin"
   },
   "pin_code":"",
   "name":"24_Deckenleuchte",
   "fw":"20230329-161525/v1.13.0-rc2-g1b3e5af",
   "factory_reset_from_switch":true,
   "discoverable":true,
   "build_info":{
      "build_id":"20230329-161525/v1.13.0-rc2-g1b3e5af",
      "build_timestamp":"2023-03-29T16:15:25Z",
      "build_version":"1.0"
   },
   "cloud":{
      "enabled":false,
      "connected":false
   },
   "timezone":"Europe/Berlin",
   "lat":50.123456,
   "lng":7.123456,
   "tzautodetect":true,
   "tz_utc_offset":7200,
   "tz_dst":true,
   "tz_dst_auto":true,
   "time":"09:19",
   "unixtime":1682493563,
   "debug_enable":false,
   "allow_cross_origin":true,
   "ext_switch_enable":false,
   "ext_switch_reverse":false,
   "ext_switch":{
      "0":{
         "relay_num":-1
      }
   },
   "actions":{
      "active":false,
      "names":[
         "btn_on_url",
         "btn_off_url",
         "longpush_url",
         "shortpush_url",
         "out_on_url",
         "out_off_url",
         "lp_on_url",
         "lp_off_url",
         "report_url",
         "report_url",
         "report_url",
         "ext_temp_over_url",
         "ext_temp_under_url",
         "ext_temp_over_url",
         "ext_temp_under_url",
         "ext_temp_over_url",
         "ext_temp_under_url",
         "ext_hum_over_url",
         "ext_hum_under_url"
      ]
   },
   "hwinfo":{
      "hw_revision":"prod-2018-08",
      "batch_id":2
   },
   "mode":"relay",
   "longpush_time":800,
   "relays":[
      {
         "name":"24_Deckenleuchte",
         "appliance_type":"Switch",
         "ison":false,
         "has_timer":false,
         "default_state":"off",
         "btn_type":"edge",
         "btn_reverse":1,
         "auto_on":0.00,
         "auto_off":0.00,
         "power":0.00,
         "schedule":false,
         "schedule_rules":[
            
         ]
      }
   ],
   "ext_sensors":{
      
   },
   "ext_temperature":{
      
   },
   "ext_humidity":{
      
   },
   "eco_mode_enabled":true
}

MQTT

MQTT

Als (ehemaliger) FHEM – User hat man ein latentes Unwohlsein bei der Nutzung einer Cloud. Da Shellies auf MQTT “ohne Cloud” umgestellt werden konnten und in FHEM MQTT Server und Client Module bereits existierten, habe ich mich in dieses Thema eingearbeitet.

Trotz aller folgenden tollen Entwicklungen sehe ich auch heute noch die Vorteile dieser Kommunikation von IOT – Ereignissen über einen oder mehrere Broker und beliebig vielen Abonnenten von topics. Leider bietet dieses System einfach zu viele Gestaltungsmöglichkeiten und keinen einheitlichen Standard.

So publizieren Shellies relativ starr generell alles unter dem Topic “shellies/[devicename]/#”. Eine Abbildung des Raumnummernsystems in MQTT ist, – wenn zwingend gewünscht -, nur durch zusätzliche Topic – Spiegelungen möglich. Ich habe es mittlerweile aufgegeben und nur noch den Gerätenamen auf Basis des Raumnummernsystems vergeben.

Beispiel Shelly 1 (SHSW-1) Deckenleuchte im Vorratsraum im Keller (settings: s.o.):

Feld(er)Inhalt
Name (DEVICE NAME, CHANNEL NAME)24_Deckenleuchte
Use custom MQTT prefix24_Deckenleuchte
MQTT – Topic (base)shellies/24_Deckenleuchte/#
IPDHCP | [Fix IP without local DNS]
Local DNS24.deckenleuchte.iot
Haushome
Etage20_KELLER
Raum24_VORRATSRAUM

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.