Hi,
I’m using a couple of shelly devices, also the Shelly Plus 2PM to control my rollershutters. Last week I’ve updated the firmware of these devices to 1.4.0. After the firmware update 2 of 4 devices report “WebSocket connection closed abnormal” inside of openHAB.
Trace log:
07:49:30.684 [TRACE] [shelly.internal.api2.Shelly2ApiClient] - shellyplus2pm-30c92280xxxx: API value dual was mapped to openclose
07:49:30.685 [DEBUG] [ly.internal.handler.ShellyBaseHandler] - shellyplus2pm-30c92280xxxx: Unable to initialize, retrying later
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) ~[?:?]
at java.lang.Integer.parseInt(Integer.java:678) ~[?:?]
at java.lang.Integer.parseInt(Integer.java:786) ~[?:?]
at org.openhab.binding.shelly.internal.api2.Shelly2ApiClient.fillRollerFavorites(Shelly2ApiClient.java:485) ~[?:?]
at org.openhab.binding.shelly.internal.api2.Shelly2ApiClient.fillRollerSettings(Shelly2ApiClient.java:448) ~[?:?]
at org.openhab.binding.shelly.internal.api2.Shelly2ApiRpc.getDeviceProfile(Shelly2ApiRpc.java:196) ~[?:?]
at org.openhab.binding.shelly.internal.handler.ShellyBaseHandler.initializeThing(ShellyBaseHandler.java:324) ~[?:?]
at org.openhab.binding.shelly.internal.handler.ShellyBaseHandler.lambda$0(ShellyBaseHandler.java:188) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
The JSON data of the first response are:
{
"id": 61025951,
"src": "shellyplus2pm-30c92280xxxx",
"dst": "openhab-192.168.xx.xxx",
"result": {
"ble": {
"enable": false,
"rpc": {
"enable": false
},
"observer": {
"enable": false
}
},
"cloud": {
"enable": false,
"server": "iot.shelly.cloud:6012/jrpc"
},
"cover:0": {
"id": 0,
"name": "Rollade Schlafzimmer",
"motor": {
"idle_power_thr": 2.00,
"idle_confirm_period": 0.25
},
"maxtime_open": 60.00,
"maxtime_close": 60.00,
"initial_state": "stopped",
"invert_directions": false,
"in_mode": "dual",
"swap_inputs": false,
"safety_switch": {
"enable": false,
"direction": "both",
"action": "stop",
"allowed_move": null
},
"power_limit": 2800,
"voltage_limit": 280,
"undervoltage_limit": 0,
"current_limit": 10.00,
"obstruction_detection": {
"enable": false,
"direction": "both",
"action": "stop",
"power_thr": 133,
"holdoff": 1.00
}
},
"input:0": {
"id": 0,
"name": null,
"type": "switch",
"enable": true,
"invert": false,
"factory_reset": true
},
"input:1": {
"id": 1,
"name": null,
"type": "switch",
"enable": true,
"invert": false,
"factory_reset": true
},
"mqtt": {
"enable": false,
"server": null,
"client_id": "shellyplus2pm-30c92280xxxx",
"user": null,
"ssl_ca": null,
"topic_prefix": "shellyplus2pm-30c92280xxxx",
"rpc_ntf": true,
"status_ntf": false,
"use_client_cert": false,
"enable_rpc": true,
"enable_control": true
},
"sys": {
"device": {
"name": "Rollade Schlafzimmer",
"mac": "30C92280xxxx",
"fw_id": "20240726-114505/1.4.0-gb2aeadb",
"discoverable": true,
"eco_mode": true,
"profile": "cover",
"addon_type": null
},
"location": {
"tz": "Europe/Berlin",
"lat": 00.00000,
"lon": 00.00000
},
"debug": {
"level": 2,
"file_level": null,
"mqtt": {
"enable": false
},
"websocket": {
"enable": false
},
"udp": {
"addr": null
}
},
"ui_data": {
"cover": ""
},
"rpc_udp": {
"dst_addr": null,
"listen_port": null
},
"sntp": {
"server": "time.google.com"
},
"cfg_rev": 13
},
"wifi": {
"ap": {
"ssid": "ShellyPlus2PM-30C92280xxxx",
"is_open": true,
"enable": false,
"range_extender": {
"enable": false
}
},
"sta": {
"ssid": "xxxxxx",
"is_open": false,
"enable": true,
"ipv4mode": "static",
"ip": "192.168.xx.xxxx",
"netmask": "255.255.255.0",
"gw": "192.168.xx.xxx",
"nameserver": "192.168.xx.xxx"
},
"sta1": {
"ssid": null,
"is_open": true,
"enable": false,
"ipv4mode": "dhcp",
"ip": null,
"netmask": null,
"gw": null,
"nameserver": null
},
"roam": {
"rssi_thr": -80,
"interval": 60
}
},
"ws": {
"enable": false,
"server": null,
"ssl_ca": "ca.pem"
}
}
}
Can anybody figure which variable doesn’t match the expected format anymore?
Regards,
Vince