Shelly Motion 1 und MQTT - Kapitulation!

  • Hallo zusammen,

    ich habe mir zwei Motion 1 zugelegt und versuche diese derzeit in mein bestehendes Netzwerk zu integrieren. Vorhanden ist:

    • mqtt-Server Mosquitto basierend
    • diverse Sensoren und Aktoren bereits über mqtt angebunden

    Es sind z.B. diverses Shelly 1 vorhanden, allerdings mit Tasmota geflasht. Alles funktioniert auch problemlos und wird via Node Red verwaltet und bedient. Ich habe mir nun die Motion 1 zugelegt um im Flur das Licht zu automatisieren. Für das Licht ist ein Shelly 1 verbaut, dieser wird bereits mit Node Red als Treppenhausautomat benutzt.

    Problem ist nun, dass ich keinen der beiden via mqtt ans Laufen bringe. Die Verbindung zum WLAN steht, ich kann in der WebUI alles einstellen und auch die Verbindung zum mqtt-Server steht angeblich:

    Zitat


    1672948423: New connection from 10.10.1.203 on port 2883.

    Es kommen aber keinerlei Meldungen vom Motion 1! Der MQTT Explorer zeigt nix an und auch in der Konsole am MQTT Server werden keine Nachrichten ausgegeben. Ich der WebUI sehe ich, dass der Sensor reagiert, das Feld Motion zählt die Sekunden runter wenn ich mit der Hand vor dem Sensor gewedelt habe.

    Es gibt hier ja schon Threads die von Problemen mit mqtt berichten, dabei gings immer um die Firmware Version. Ich habe jetzt bestimmt 7-8 verschiedene Versionen getestet, ohne Erfolg.

    Übersehe ich hier was bei den Einstellungen? Kann mir dazu bitte jemand Hilfestellung geben?

    Gruß

  • hab das grad mal am eigenen Mosquitto probiert, das klappt auf Anhieb mit einem Motion1 und aktueller Firmware:

    mosquitto_sub -v -h localhost -u admin -P admin -p 1883 -t '#'

    kurz nach Aktivierung vom MQTT kriege ich folgende Meldung zu sehen:

    Code
    shellies/shellymotionsensor-60A4239A66DA/settings { "device":{"type":"SHMOS-01","mac":"60A4239A66DA","hostname":"shellymotionsensor-60A4239A66DA","num_outputs":0},"wifi_ap":{"enabled":false,"ssid":"shellymotionsensor-60A4239A66DA"},"wifi_sta":{"enabled":true,"ssid":"iot.eurich.de","ipv4_method":"dhcp","ip":null,"gw":null,"mask":null,"dns":null},"mqtt":{"enable":true,"server":"192.168.178.179:1883","user":"admin","id":"shellymotionsensor-60A4239A66DA","clean_session":true,"max_qos":0,"retain":false,"update_period":60},"sntp":{"server":"time.google.com","enabled":true},"login":{"enabled":false,"unprotected":false,"username":"admin","default_username":"admin"},"pin_code":"","name":null,"fw":"20220811-152232/v2.1.8@5afc928c","discoverable":false,"build_info":{"build_id":"20220811-152232/v2.1.8@5afc928c","build_timestamp":"2022-08-11T15:22:32Z","build_version":"2022081115"},"cloud":{"enabled":true},"coiot":{"enabled":false,"update_period":3600,"peer":""},"timezone":"Europe/Berlin","lat":51.530548,"lng":7.522300,"tzautodetect":true,"tz_utc_offset":3600,"tz_dst":false,"tz_dst_auto":true,"time":"06:58","sleep_time":0,"motion":{"sensitivity":50,"blind_time_minutes":5,"pulse_count":1,"operating_mode":0,"enabled":true},"led_status_disable":false,"tamper_sensitivity":2,"dark_threshold":100,"twilight_threshold":500,"schedule":false,"schedule_rules":[],"hwinfo":{"hw_revision":"dev-prototype","batch_id":0},"sleep_mode":{"period":60,"unit":"m"},"temperature_offset":0.0 }

    Um den Fehler einzugrenzen bräuchte ich mal ein paar Details:

    - IP und Port MQTT-Server, Infos über Config (verwendete Software, Einstellungen in der Config)

    - Screenshot von den MQTT-Einstellungen am Motion.


    zur Info: der ShellyMotion kann bei MQTT folgendes nicht: MQTTs (secure), MQTT over Websockets

    Vielleicht hast du ja das falsche Topic abboniert?

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

  • Ja leider können die Shellys kein MQTTS, deswegen habe ich auf einem zweiten Port unverschlüsseltes mqtt bereitgestellt. Wie du an der Meldung oben sehen kannst, klappt ja der connect zum mqtt Broker. Dieser läuft lokal mit einer festen IP und auf Port 2883. Port 1883 ist nur für lokale connects zugelassen (z.B. node red greift darüber zu) und dann gibt es noch Port 8883 für verschlüsseltes mqtt.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    Zum falschen Topic bin ich ja noch gar nicht gekommen, der mqtt Explorer zeigt ja einfach alle Messages an. Er abonniert, wie du oben in deinem Beispiel, alles über "#".

    Und wie bereits gesagt, es laufen bereits viele andere Sensoren und Aktoren über mqtt. Sieht im explorer so aus:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Also weshalb der Motion keine Nachrichten sendet, bleibt ein Rätsel! Bzw. alle beide nichts senden. In node red hab ich mir mit einem Plugin geholfen, das greift auf die API der Shelly Motion zu. Nachteil hierbei ist, dass ich aktiv pollen muss um Ereignisse mitzubekommen. Bei einem Bewegungsmelder ungünstig, schöner wäre es, wenn per mqtt ein Ereignis gemeldet wird.

  • hast du mal ein anderes Gerät auf dem unverschlüsselten Port 2883 getestet? kommen da dann Nachrichten an.. ich denke da wird der Fehler liegen, mögliche Gründe, die mir spontan einfallen:

    - falsche Zugangsdaten

    - websocket statt MQTT als Protokoll (ist z.B. beim Mosquitto per Default so).

    - Firewall zwischen Shelly und MQTT-Server (Port blockiert)

    - kein oder falsches Gateway eingetragen falls der MQTT-Server in einem anderen Subnetz (VLAN) als der ShellyMotion steht.

    Das Topic sollte in deinem Fall "shellies/motion" sein.

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

  • Ja klar, da laufen einige Sachen drüber. In dem Screenshot vom MQTT Explorer sind das z.B. die Geräte "wasser", "strom" und "buderus_heizung". Die können alle keine Verschlüsselung und kommen über Port 2883 rein. Der "schuppen" oder das "buero" sind dagegen verschlüsselte Verbindungen via 8883. Und falsche Zugangsdaten können es auch nicht sein, der connect zum Broker klappt ja weil das Log des mqtt Brokers den Verbindungsaufbau des motion anzeigt. Und alle Geräte laufen in dem gleichen IP-Netz ohne VLAN.

    Ich setz gerade eine virtuelle Maschine auf und werd da einen "nackten" mqtt Broker einrichten. Mal schauen, ob die Kommunikation mit dem vom motion aus klappt!?

  • Dieses Thema enthält 8 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.