Hi @shrimpshark thanks for the detailed information. Yes I’d be happy to add support for that device. I’ve gone ahead and refactored the code a little bit and made it hopefully have better generic support other devices such as yours.
First override your xhouse.py code with the new version that I’ve just published and let me know if it’s any better. I’ve also added in better debugging where if debugging is enabled it’ll output the API response which will help me add official support for your device. If you paste it in I’ll take a look. It should look something like:
2026-03-09 09:11:18.998951 INFO xhouse: DEBUG: { "code": "0", "msg": "success!", "errorMap": null, "result": { "background": null, "groupName": null, "deviceInfos": [ { "id": 800421019117424640, "deviceId": "800421019117424640", "alias": "Garage Door", "deviceAlias": "Garage Door", "deviceType": "WIFI_CONTROL", "model": "XH-SGC01", "firmwareVersion": "3.0.3", "deviceName": "B0004365", "deviceNo": "B0004365", "hostNo": null, "isAdd": 0, "action": null, "hostId": null, "status": 1, "properties": [ { "key": "Switch_1", "type": "INT", "value": "1", "name": "\u5f00\u5173", "icon": "WIFI_CONTROL_8", "mode": null, "relayTime": null }, { "key": "VoiceControl", "type": "INT", "value": "1", "name": "VoiceControl", "icon": null, "mode": null, "relayTime": null }, { "key": "bleCode", "type": null, "value": "75903487", "name": null, "icon": null, "mode": null, "relayTime": null }, { "key": "wifiName", "type": null, "value": "", "name": null, "icon": null, "mode": null, "relayTime": null } ], "primaryUser": 0, "validStartTime": 978278400000, "validEndTime": 4102243200000, "subDeviceInfos": null } ], "icon": null } }
If the update did in fact add working support for your device then please also toggle all the entities and paste in the logs e.g.
2026-03-09 09:19:45.084626 INFO xhouse: Successfully sent close command to device 800421019117424640
2026-03-09 09:19:45.083737 INFO xhouse: DEBUG: { "code": "0", "msg": "success!", "errorMap": null, "result": " " }
2026-03-09 09:19:45.081254 INFO xhouse: DEBUG: === CONTROL RESPONSE (device 800421019117424640) ===
2026-03-09 09:19:44.727092 INFO xhouse: DEBUG: Control request body: {"deviceId": 800421019117424640, "userId": 965821322024194048, "propertyValue": {"Switch_1": 0}, "action": "Off"}
2026-03-09 09:19:44.725894 INFO xhouse: Sending 'Close' command to device 800421019117424640 (Gate Opener)
2026-03-09 09:19:44.723026 INFO xhouse: DEBUG: Cover event: close_cover for cover.xhouse_800421019117424640