Hallo segelwinni,
hatte vorgestern so ziemlich das gleiche Problem (siehe hier). Die Lösung war:
- das Modul Shelly zu nehmen und nicht direkt mit MQTT zu arbeiten
- das Gerät nicht automatisch durch das Modul anlegen zu lassen, sondern manuell anlegen
- das richtige Topic zu verwenden (ich habe scheinbar meinem Shelly einen sprechenden Namen verpasst)
das richtige Topic habe ich mit folgendem Befehl herausgefunden: http://ip_des_shellys/settings
{"device":{"type":"SHSW-1","mac":"335335533","[b]hostname":"shelly1-5BA846[/b]","num_outputs":1},"wifi_ap":{"enabled":false,"ssid":"shelly1-5BA846","key":""},"wifi_sta":{"enabled":true,"ssid":"affd","ipv4_method":"static","ip":"xxx.xxx.xxx.xxx","gw":"xxx.xxx.xxx.xxx","mask":"255.255.255.0","dns":"xxx.xxx.xxx.xxx"},"wifi_sta1":{"enabled":false,"ssid":null,"ipv4_method":"dhcp","ip":null,"gw":null,"mask":null,"dns":null},"mqtt": {"enable":true,"server":"xxx.xxx.xxx.xxx:[b]1883[/b]","user":"xxxx","[b]id":"shelly_Gartenhaus"[/b],"reconnect_timeout_max":60.000000,"reconnect_timeout_min":2.000000,"clean_session":true,"keep_alive":60,"max_qos":0,"retain":false,"update_period":30},"coiot": {"update_period":15},"sntp":{"server":"time.google.com","enabled":true},"login":{"enabled":true,"unprotected":false,"username":"admin"},"pin_code":"","name":null,"fw":"20201228-092119/v1.9.3@ad2bb4e3","factory_reset_from_switch":true,"discoverable":true,"build_info":{"build_id":"20201228-092119/v1.9.3@ad2bb4e3","build_timestamp":"2020-12-28T09:21:19Z","build_version":"1.0"},"cloud":{"enabled":false,"connected":false},"timezone":"Europe/Berlin","lat":48.191700,"lng":11.646000,"tzautodetect":true,"tz_utc_offset":3600,"tz_dst":false,"tz_dst_auto":true,"time":"09:30","unixtime":1610181053,"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","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":null,"appliance_type":"General","ison":false,"has_timer":false,"default_state":"off","btn_type":"toggle","btn_reverse":1,"auto_on":0.00,"auto_off":60.00,"power":0.00,"schedule":false,"schedule_rules":[]}],"ext_sensors":{},"ext_temperature":{},"ext_humidity":{},"wifirecovery_reboot_enabled":true}
ich habe mal alles wichtige markiert. Wenn sich Hostname und Id unterscheiden, dann ist die Id dein Topic. Natürlich muss auch der
Port und die Zugangsdaten übereinstimmen und dann kannst du deinen Shelly mit folgendem Befehl schalten:
RequestAction(53971, true); //Einschalten
hoffe das hilft.
Gruß Jörg