I have a couple of shellies which are 2.5 version, i think.
So, everything was working fine until latest HA upgrades last year and some of the FW upgrades for Shellies.
In short, the shellie gets commands and responds well on those, but periodical status reporting doesn’t seem to work.
I noticed that i can control devices directly via mqtt but HA doesn’t get the status and shellies are constantly in “unavailable” state.
Digging deeper, i realised that /info and /announce topics get message only before reboot and just after the boot, changing the mqtt_update_period doesn’t seem to change anything.
Here is how the mqtt looks just before reboot and just after the reboot. There is no sign of announce message ever except than. Here is also settings.
$ mosquitto_sub -h 192.168.1.234 -p 1883 -t “shellies/shellyswitch25-AFAFAF/#” -v -u “user” -P ‘pass’
shellies/shellyswitch25-AFAFAF/online true
shellies/shellyswitch25-AFAFAF/announce {
“id”: “shellyswitch25-AFAFAF”,
“model”: “SHSW-25”,
“mac”: “4FC4FFAFAFAF”,
“ip”: “192.168.1.123”,
“new_fw”: false,
“fw_ver”: “20231107-163214/v1.14.1-rc1-g0617c15”,
“mode”: “roller”
}shellies/shellyswitch25-AFAFAF/info {
“wifi_sta”:
{
“connected”: true,
“ssid”: “ssid”,
“ip”: “192.168.1.123”,
“rssi”: -58
},
“cloud”:
{
“enabled”: false,
“connected”: false
},
“mqtt”:
{
“connected”: true
},
“time”: “”,
“unixtime”: 0,
“serial”: 1,
“has_update”: false,
“mac”: “2CF432AFAFAF”,
“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-AFAFAF/roller/0 stop
shellies/shellyswitch25-AFAFAF/roller/0/pos 0
shellies/shellyswitch25-AFAFAF/roller/0/stop_reason normal
shellies/shellyswitch25-AFAFAF/roller/0/power 0.00
shellies/shellyswitch25-AFAFAF/relay/power 0.00
shellies/shellyswitch25-AFAFAF/roller/0/energy 0
shellies/shellyswitch25-AFAFAF/relay/energy 0
shellies/shellyswitch25-AFAFAF/input/1 1
shellies/shellyswitch25-AFAFAF/input/0 1
shellies/shellyswitch25-AFAFAF/temperature 41.31
shellies/shellyswitch25-AFAFAF/temperature_f 106.36
shellies/shellyswitch25-AFAFAF/overtemperature 0
shellies/shellyswitch25-AFAFAF/temperature_status Normal
shellies/shellyswitch25-AFAFAF/voltage 239.76shellies/shellyswitch25-AFAFAF/announce {
“id”: “shellyswitch25-AFAFAF”,
“model”: “SHSW-25”,
“mac”: “2CF432AFAFAF”,
“ip”: “192.168.1.123”,
“new_fw”: true,
“fw_ver”: “20231107-163214/v1.14.1-rc1-g0617c15”,
“mode”: “roller”
}shellies/shellyswitch25-AFAFAF/roller/0 stop
shellies/shellyswitch25-AFAFAF/roller/0/pos 0
shellies/shellyswitch25-AFAFAF/roller/0/stop_reason normal
shellies/shellyswitch25-AFAFAF/roller/0/power 0.00
shellies/shellyswitch25-AFAFAF/relay/power 0.00
shellies/shellyswitch25-AFAFAF/roller/0/energy 0
shellies/shellyswitch25-AFAFAF/relay/energy 0
shellies/shellyswitch25-AFAFAF/input/1 1
shellies/shellyswitch25-AFAFAF/input/0 1
shellies/shellyswitch25-AFAFAF/temperature 41.45
shellies/shellyswitch25-AFAFAF/temperature_f 106.61
shellies/shellyswitch25-AFAFAF/overtemperature 0
shellies/shellyswitch25-AFAFAF/temperature_status Normal
shellies/shellyswitch25-AFAFAF/voltage 239.76
Also, i have been trying to set the cover with it in HA but it’s always marked as unavailable button.
Here is the config for HA:
mqtt:
cover:
name: “Some Cover”
unique_id: some_cover
state_topic: “shellies/shellyswitch25-FFBBAA/roller/0”
command_topic: “shellies/shellyswitch25-FFBBAA/roller/0/command”
position_topic: “shellies/shellyswitch25-FFBBAA/roller/0/pos”
set_position_topic: “shellies/shellyswitch25-FFBBAA/roller/0/command/pos”
availability:
- topic: “shellies/shellyswitch25-FFBBAA/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
Any clue, any suggestion?
Just in case, here is the device’s settings:
{“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}