outandwild Posted November 12, 2023 Share Posted November 12, 2023 p.s. it would have been great if you had "homeassistant" sub form or even add some HA configuration code snippets within shelly docs. Hey folks, I'm dealing with a bit of a head-scratcher here with my Shelly 2.5 devices. They were all good until the recent HA updates and some firmware tweaks last year. Now, I'm facing this weird issue where the shellies respond to commands just fine, but their status updates are MIA. I can still boss them around directly through MQTT, but HA seems clueless about their status, showing them as perpetually "unavailable." I did some digging and noticed that the /info and /announce topics only pop up messages right before and after a reboot. Tweaking the mqtt_update_period didn't make any difference. Here's a glimpse of what the MQTT traffic looks like around a reboot. Notice how the announce message is a no-show except around these times. Also, here are the settings I'm using. $ mosquitto_sub -h 10.0.0.123 -p 1883 -t “shellies/shellyswitch25-aaaaaa/#” -v -u “user” -P ‘pass’ shellies/shellyswitch25-aaaaaa/online true shellies/shellyswitch25-aaaaaa/announce { “id”: “shellyswitch25-aaaaaa”, “model”: “SHSW-25”, “mac”: “4FC4FFaaaaaa”, “ip”: “10.0.0.123”, “new_fw”: false, “fw_ver”: “20231107-163214/v1.14.1-rc1-g0617c15”, “mode”: “roller” } shellies/shellyswitch25-aaaaaa/info { “wifi_sta”: { “connected”: true, “ssid”: “ssid”, “ip”: “10.0.0.123”, “rssi”: -58 }, “cloud”: { “enabled”: false, “connected”: false }, “mqtt”: { “connected”: true }, “time”: “”, “unixtime”: 0, “serial”: 1, “has_update”: false, “mac”: “2CF432aaaaaa”, “cfg_changed_cnt”: 0, “actions_stats”: { “skipped”: 0 }, “rollers”: [ { “state”: “stop”, “source”: “input”, “power”: 0.00, “is_valid”: true, “safety_switch”: false, “overtemperature”: false, “stop_reason”: “normal”, “last_direction”: “close”, “current_pos”: 0, “calibrating”: false, “positioning”: true } ], “meters”: [ { “power”: 0.00, “overpower”: 0.00, “is_valid”: true, “timestamp”: 0, “counters”: [ 0.000, 0.000, 0.000 ], “total”: 0 }, { “power”: 0.00, “overpower”: 0.00, “is_valid”: true, “timestamp”: 0, “counters”: [ 0.000, 0.000, 0.000 ], “total”: 0 } ], “inputs”: [ { “input”: 1, “event”: “”, “event_cnt”: 0 }, { “input”: 1, “event”: “”, “event_cnt”: 0 } ], “temperature”: 41.31, “overtemperature”: false, “tmp”: { “tC”: 41.31, “tF”: 106.36, “is_valid”: true }, “temperature_status”: “Normal”, “update”: { “status”: “unknown”, “has_update”: false, “new_version”: “”, “old_version”: “20231107-163214/v1.14.1-rc1-g0617c15” }, “ram_total”: 50728, “ram_free”: 37516, “fs_size”: 233681, “fs_free”: 144325, “voltage”: 239.76, “uptime”: 1 } shellies/shellyswitch25-aaaaaa/roller/0 stop shellies/shellyswitch25-aaaaaa/roller/0/pos 0 shellies/shellyswitch25-aaaaaa/roller/0/stop_reason normal shellies/shellyswitch25-aaaaaa/roller/0/power 0.00 shellies/shellyswitch25-aaaaaa/relay/power 0.00 shellies/shellyswitch25-aaaaaa/roller/0/energy 0 shellies/shellyswitch25-aaaaaa/relay/energy 0 shellies/shellyswitch25-aaaaaa/input/1 1 shellies/shellyswitch25-aaaaaa/input/0 1 shellies/shellyswitch25-aaaaaa/temperature 38.45 shellies/shellyswitch25-aaaaaa/temperature_f 101.21 shellies/shellyswitch25-aaaaaa/overtemperature 0 shellies/shellyswitch25-aaaaaa/temperature_status Normal shellies/shellyswitch25-aaaaaa/voltage 239.76 shellies/shellyswitch25-aaaaaa/announce { “id”: “shellyswitch25-aaaaaa”, “model”: “SHSW-25”, “mac”: “2CF432aaaaaa”, “ip”: “10.0.0.123”, “new_fw”: true, “fw_ver”: “20231107-163214/v1.14.1”, “mode”: “roller” } shellies/shellyswitch25-aaaaaa/roller/0 stop shellies/shellyswitch25-aaaaaa/roller/0/pos 0 shellies/shellyswitch25-aaaaaa/roller/0/stop_reason normal shellies/shellyswitch25-aaaaaa/roller/0/power 0.00 shellies/shellyswitch25-aaaaaa/relay/power 0.00 shellies/shellyswitch25-aaaaaa/roller/0/energy 0 shellies/shellyswitch25-aaaaaa/relay/energy 0 shellies/shellyswitch25-aaaaaa/input/1 1 shellies/shellyswitch25-aaaaaa/input/0 1 shellies/shellyswitch25-aaaaaa/temperature 38.45 shellies/shellyswitch25-aaaaaa/temperature_f 101.21 shellies/shellyswitch25-aaaaaa/overtemperature 0 shellies/shellyswitch25-aaaaaa/temperature_status Normal shellies/shellyswitch25-aaaaaa/voltage 230.76 I've been trying to set up a cover in HA, but it's just showing up as an unavailable button. Here's the device config and HA config I'm using for that mqtt: cover: name: “Some Cover” unique_id: some_cover state_topic: “shellies/shellyswitch25-aaaaaa/roller/0” command_topic: “shellies/shellyswitch25-aaaaaa/roller/0/command” position_topic: “shellies/shellyswitch25-aaaaaa/roller/0/pos” set_position_topic: “shellies/shellyswitch25-aaaaaa/roller/0/command/pos” availability: - topic: “shellies/shellyswitch25-aaaaaa/announce” payload_available: “true” payload_not_available: “false” qos: 2 retain: true payload_open: “open” payload_close: “close” payload_stop: “stop” position_open: 0 position_closed: 100 optimistic: false {“device”:{“type”:“SHSW-25”,“mac”:“2CF432686E0E”,“hostname”:“shellyswitch25-686E0E”,“num_outputs”:2,“num_meters”:2,“num_rollers”:1,“mode”:“roller”},“wifi_ap”:{“enabled”:false,“ssid”:“shellyswitch25-AAFFCC”,“key”:“”},“wifi_sta”:{“enabled”:true,“ssid”:“busillis”,“ipv4_method”:“static”,“ip”:“192.168.1.123”,“gw”:“192.168.1.1”,“mask”:“255.255.255.0”,“dns”:“192.168.1.1”},“wifi_sta1”:{“enabled”:false,“ssid”:null,“ipv4_method”:“dhcp”,“ip”:null,“gw”:null,“mask”:null,“dns”:null},“ap_roaming”:{“enabled”:false,“threshold”:-70},“mqtt”:{“enable”:true,“server”:“192.168.1.321:1883”,“user”:“space”,“id”:“shellyswitch25-AAFFCC”,“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”:{“enabled”:true,“update_period”:15,“peer”:“192.168.1.321:5683”},“sntp”:{“server”:“time.google.com”,“enabled”:true},“login”:{“enabled”:true,“unprotected”:false,“username”:“space”},“pin_code”:“”,“name”:null,“fw”:“20231107-163214/v1.14.1-rc1-g0617c15”,“factory_reset_from_switch”:true,“pon_wifi_reset”:false,“discoverable”:true,“build_info”:{“build_id”:“20231107-163214/v1.14.1-rc1-g0617c15”,“build_timestamp”:“2023-11-07T16:32:14Z”,“build_version”:“1.0”},“cloud”:{“enabled”:false,“connected”:false},“timezone”:“Europe/Zagreb”,“lat”:42.845333,“lng”:11.359555,“tzautodetect”:true,“tz_utc_offset”:3600,“tz_dst”:true,“tz_dst_auto”:true,“time”:“19:39”,“unixtime”:169444555,“led_status_disable”:false,“debug_enable”:false,“allow_cross_origin”:true,“actions”:{“active”:false,“names”:[“btn_on_url”,“btn_off_url”,“longpush_url”,“shortpush_url”,“out_on_url”,“out_off_url”,“btn_on_url”,“btn_off_url”,“longpush_url”,“shortpush_url”,“out_on_url”,“out_off_url”,“roller_open_url”,“roller_close_url”,“roller_stop_url”]},“hwinfo”:{“hw_revision”:“prod-2019-03”,“batch_id”:1},“mode”:“roller”,“max_power”:1840,“longpush_time”:800,“relays”:[{“name”:null,“appliance_type”:“General”,“ison”:false,“has_timer”:false,“default_state”:“off”,“btn_type”:“toggle”,“btn_reverse”:0,“auto_on”:0.00,“auto_off”:0.00,“max_power”:0,“schedule”:false,“schedule_rules”:},{“name”:null,“appliance_type”:“General”,“ison”:false,“has_timer”:false,“default_state”:“off”,“btn_type”:“toggle”,“btn_reverse”:0,“auto_on”:0.00,“auto_off”:0.00,“max_power”:0,“schedule”:false,“schedule_rules”:}],“rollers”:[{“maxtime”:20.00,“maxtime_open”:37.00,“maxtime_close”:37.00,“default_state”:“stop”,“swap”:true,“swap_inputs”:false,“input_mode”:“openclose”,“button_type”:“toggle”,“btn_reverse”:1,“state”:“stop”,“power”:0.00,“is_valid”:true,“safety_switch”:false,“schedule”:false,“schedule_rules”:,“obstacle_mode”:“disabled”,“obstacle_action”:“stop”,“obstacle_power”:200,“obstacle_delay”:1,“ends_delay”:2500,“safety_mode”:“while_opening”,“safety_action”:“stop”,“safety_allowed_on_trigger”:“none”,“off_power”:2,“positioning”:true}],“favorites_enabled”:true,“favorites”:[{“name”:“Position 1”,“pos”:0},{“name”:“Position 2”,“pos”:0},{“name”:“Position 3”,“pos”:0},{“name”:“Position 4”,“pos”:0}],“eco_mode_enabled”:false} Any advice? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.