-
Notifications
You must be signed in to change notification settings - Fork 4
HTTPError: Response code 400 #33
Description
Describe the bug
After a successful login, every API request to the Warema DeviceCloud fails with
HTTPError: Response code 400.
The adapter authenticates successfully, retrieves the list of registered devices, but fails to fetch any further data like sensor values or device status.
To Reproduce
Start the adapter instance
Wait until login is successful
Adapter tries to fetch device data → fails with HTTPError: Response code 400
Expected behavior
After a successful login, the API calls should work and return sensor values and device statuses. Instead, the Warema API responds with a 400 error (“Bad Request”).
Screenshots & Logfiles
2025-08-27 14:34:18.277 - debug: wmswebcontrol.0 (15101) Redis Objects: Use Redis connection: 127.0.0.1:19001 2025-08-27 14:34:18.516 - debug: wmswebcontrol.0 (15101) Objects client ready ... initialize now 2025-08-27 14:34:18.521 - debug: wmswebcontrol.0 (15101) Objects create System PubSub Client 2025-08-27 14:34:18.523 - debug: wmswebcontrol.0 (15101) Objects create User PubSub Client 2025-08-27 14:34:18.967 - debug: wmswebcontrol.0 (15101) Objects client initialize lua scripts 2025-08-27 14:34:18.980 - debug: wmswebcontrol.0 (15101) Objects connected to redis: 127.0.0.1:19001 2025-08-27 14:34:19.306 - debug: wmswebcontrol.0 (15101) Redis States: Use Redis connection: 127.0.0.1:19000 2025-08-27 14:34:19.445 - debug: wmswebcontrol.0 (15101) States create System PubSub Client 2025-08-27 14:34:19.447 - debug: wmswebcontrol.0 (15101) States create User PubSub Client 2025-08-27 14:34:19.699 - debug: wmswebcontrol.0 (15101) States connected to redis: 127.0.0.1:19000 2025-08-27 14:34:19.866 - debug: wmswebcontrol.0 (15101) Plugin sentry Initialize Plugin (enabled=true) 2025-08-27 14:34:21.644 - info: wmswebcontrol.0 (15101) starting. Version 0.1.4 (non-npm: TA2k/ioBroker.wmswebcontrol#081189d16f087ca42669f8734473aaa0857c94f2) in /opt/iobroker/node_modules/iobroker.wmswebcontrol, node: v22.18.0, js-controller: 7.0.6 2025-08-27 14:34:21.719 - debug: wmswebcontrol.0 (15101) Schedule restart: 0 4,17 * * * 2025-08-27 14:34:21.845 - debug: wmswebcontrol.0 (15101) Start login with nonce: ***MASKIERT*** and state: ***MASKIERT*** 2025-08-27 14:34:22.591 - debug: wmswebcontrol.0 (15101) Found Token: ***MASKIERT*** 2025-08-27 14:34:22.592 - debug: wmswebcontrol.0 (15101) Path /v1/account/login?... (Parameter gekürzt) 2025-08-27 14:34:23.201 - debug: wmswebcontrol.0 (15101) Redirect to: /v1/connect/authorize/callback?... (Parameter gekürzt) 2025-08-27 14:34:23.954 - debug: wmswebcontrol.0 (15101) parameters: ***MASKIERT*** 2025-08-27 14:34:23.955 - debug: wmswebcontrol.0 (15101) code: ***MASKIERT*** 2025-08-27 14:34:23.956 - debug: wmswebcontrol.0 (15101) code_verifier: ***MASKIERT*** 2025-08-27 14:34:23.956 - debug: wmswebcontrol.0 (15101) codeChallenge: ***MASKIERT*** 2025-08-27 14:34:23.956 - debug: wmswebcontrol.0 (15101) state: ***MASKIERT*** 2025-08-27 14:34:23.957 - debug: wmswebcontrol.0 (15101) nonce: ***MASKIERT*** 2025-08-27 14:34:24.341 - info: wmswebcontrol.0 (15101) Login successful 2025-08-27 14:34:24.344 - debug: wmswebcontrol.0 (15101) { "id_token": "***MASKIERT***", "access_token": "***MASKIERT***", "expires_in": 900, "token_type": "Bearer", "refresh_token": "***MASKIERT***", "scope": "openid profile offline_access devicecloud_devicecloudservice_devices_get devicecloud_devicecloudservice_devices_register devicecloud_devicecloudservice_devices_unregister devicecloud_devicecloudservice_commoncommand_action devicecloud_devicecloudservice_commoncommand_discovery devicecloud_devicecloudservice_commoncommand_ping devicecloud_devicecloudservice_commoncommand_scene devicecloud_devicecloudservice_commoncommand_status devicecloud_devicecloudservice_communication_systemnative" } 2025-08-27 14:34:25.349 - info: wmswebcontrol.0 (15101) get devices 2025-08-27 14:34:25.720 - debug: wmswebcontrol.0 (15101) { "result": [ {"articleNumber":"2020920","serialNumber":"SERIAL_1","type":"Wcp","registrationDate":"2024-01-17T18:42:57.7003674"}, {"articleNumber":"2020920","serialNumber":"SERIAL_2","type":"Wcp","registrationDate":"2025-08-15T06:38:57.0431521"}, {"articleNumber":"2020920","serialNumber":"SERIAL_3","type":"Wcp","registrationDate":"2021-08-21T09:39:51.5914659"} ], "totalItemCount":3 } 2025-08-27 14:34:25.721 - info: wmswebcontrol.0 (15101) Devices found: 3 2025-08-27 14:34:25.730 - debug: wmswebcontrol.0 (15101) request: https://devicecloudservice.prod.devicecloud.warema.de/api/v1.0/communication/wcp/SERIAL_1/postMessage/ 2025-08-27 14:34:25.730 - debug: wmswebcontrol.0 (15101) data: {"action":"mb8Read","parameters":{"address":0,"block":42,"eui":"EUI_1","length":12800},"changeIds":[]} 2025-08-27 14:34:26.481 - error: wmswebcontrol.0 (15101) HTTPError: Response code 400 () 2025-08-27 14:34:26.600 - error: wmswebcontrol.0 (15101) HTTPError: Response code 400 () 2025-08-27 14:34:26.601 - error: wmswebcontrol.0 (15101) undefined 2025-08-27 14:34:26.601 - error: wmswebcontrol.0 (15101) Get DevicesList failed 2025-08-27 14:34:31.602 - debug: wmswebcontrol.0 (15101) get device status 2025-08-27 14:34:31.603 - debug: wmswebcontrol.0 (15101) get sensor status 2025-08-27 14:34:31.604 - debug: wmswebcontrol.0 (15101) request: https://devicecloudservice.prod.devicecloud.warema.de/api/v1.0/communication/wcp/SERIAL_1/postMessage/ 2025-08-27 14:34:31.604 - debug: wmswebcontrol.0 (15101) data: {"action":"sensorValueExportCurrent","parameters":{"connectionType":1,"day":27,"eui":"EUI_2","month":8,"sensorId":255,"year":25},"changeIds":[]} 2025-08-27 14:34:31.704 - error: wmswebcontrol.0 (15101) HTTPError: Response code 400 () 2025-08-27 14:34:31.712 - error: wmswebcontrol.0 (15101) undefined
Versions:
Adapter version: 0.1.4 (non-npm: TA2k/ioBroker.wmswebcontrol#081189d...)
JS-Controller version: 7.0.6
Node version: v22.18.0
Operating system: Synology NAS (Docker)
Additional context
Login works fine → access tokens are retrieved successfully, and the device list is fetched correctly.
All following API calls to Warema DeviceCloud fail with HTTPError 400.
It seems like the request payload is no longer accepted by the API (possibly due to API changes by Warema).
Example: The request sends "year": 25, but the API might now expect a 4-digit year like "2025".
The issue occurs permanently, making the adapter unusable at the moment.