Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for AEG RX9-1-IBM 900 277 268 #51

Closed
1 task done
Tomcraft1980 opened this issue Sep 27, 2024 · 14 comments
Closed
1 task done

Add support for AEG RX9-1-IBM 900 277 268 #51

Tomcraft1980 opened this issue Sep 27, 2024 · 14 comments
Labels
bug Something isn't working

Comments

@Tomcraft1980
Copy link

Tomcraft1980 commented Sep 27, 2024

Description of Issue

First of all thanks for this great plugin!
I used homebridge-cmdswitch2 which activates sh-scripts to fire the commands for purei9_unofficial before, but this does not work anymore due to Login 403 Error not a valid key=value pair (missing equal-sign) in Authorization header: #28
I have 3 AEG RX9 robots, two of them are RX9-2 which work just fine!
One is AEG RX9-1-IBM 900 277 268 and does not work.
Would be great if you support AEG RX9-1.

Plugin Version

2.0.0

AEG/Electrolux Appliance(s)

AEG RX9-1-IBM 900 277 268

HomeKit App(s)

No response

Diagnostic Checks

  • AEG iPhone app is able to control the appliance.

Log File

[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] GET /api/v1/appliances/******/state
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] └─ response.properties is not a RX92ApplianceStateProperties
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]     └─ response.properties.reported is not a RX92ApplianceStateReported
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]         ├─ response.properties.reported.powerMode is missing
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]         └─ response.properties.reported.tasks is missing
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] Received response (reformatted):
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]     {
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]         "applianceId": "******",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]         "connectionState": "Connected",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]         "status": "enabled",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]         "properties": {
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]             "reported": {
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 "availableLanguages": [
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "deu",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "eng",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "fra",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "pol",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "spa",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "kor",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "zht",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "zhs",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "jpn",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "ces",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "ita",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "rus"
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 ],
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 "capabilities": {
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "CustomPlay": {},
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "EcoMode": {},
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "FreezeMapOnDemand": {},
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "InteractiveMap": {},
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "MultipleScheduledCleaningsPerDay": {},
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "PowerZones": {}
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 },
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 "batteryStatus": 6,
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 "robotStatus": 10,
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 "messageList": {
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                     "messages": []
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 },
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 "dustbinStatus": "connected",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 "platform": "0.13",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 "applianceName": "AEG RX9-1-IBM",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 "firmwareVersion": "43.23",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 "ecoMode": true,
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 "language": "deu",
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]                 "mute": false
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]             }
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]         }
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]     }
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] [Appliance info] Electrolux Group API Validation Error: Structure validation failed (response.properties is not a RX92ApplianceStateProperties)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] Electrolux Group API Validation Error: Structure validation failed (response.properties is not a RX92ApplianceStateProperties)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at AEGAuthoriseUserAgent.requestJSON (file:///homebridge/node_modules/homebridge-aeg-robot/src/aegapi-ua.ts:144:19)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at processTicksAndRejections (node:internal/process/task_queues:95:5)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at pollState (file:///homebridge/node_modules/homebridge-aeg-robot/src/aeg-robot.ts:155:31)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at AEGRobot.init (file:///homebridge/node_modules/homebridge-aeg-robot/src/aeg-robot.ts:158:13)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at AEGRobot.waitUntilReady (file:///homebridge/node_modules/homebridge-aeg-robot/src/aeg-robot.ts:144:9)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at AEGPlatform.addRobotAccessory (file:///homebridge/node_modules/homebridge-aeg-robot/src/platform.ts:131:23)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at async Promise.all (index 0)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at AEGPlatform.addConfiguredAccessories (file:///homebridge/node_modules/homebridge-aeg-robot/src/platform.ts:126:9)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at AEGPlatform.finishedLaunching (file:///homebridge/node_modules/homebridge-aeg-robot/src/platform.ts:69:13)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] Creating new accessory "" for AEG PUREi9 (rx9) (Product ID ******)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] [Plugin initialisation] AssertionError [ERR_ASSERTION]: Accessories must be created with a non-empty displayName.
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] AssertionError [ERR_ASSERTION]: Accessories must be created with a non-empty displayName.
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]     at new Accessory (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:495:11)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]     at new PlatformAccessory (/homebridge/node_modules/homebridge/src/platformAccessory.ts:72:9)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]     at AEGPlatform.addRobotAccessory (file:///homebridge/node_modules/homebridge-aeg-robot/src/platform.ts:145:31)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]     at processTicksAndRejections (node:internal/process/task_queues:95:5)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]     at async Promise.all (index 0)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]     at AEGPlatform.addConfiguredAccessories (file:///homebridge/node_modules/homebridge-aeg-robot/src/platform.ts:126:9)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum]     at AEGPlatform.finishedLaunching (file:///homebridge/node_modules/homebridge-aeg-robot/src/platform.ts:69:13)
[9/27/2024, 10:18:04 AM] [Homebridge AEG Robot Vacuum] Placing all accessories in error state
@Tomcraft1980 Tomcraft1980 added the bug Something isn't working label Sep 27, 2024
@thoukydides
Copy link
Owner

I don't have an RX9.1 to test against, so I will have to try coding it based on the log files you provide and wait for you to test it.

The lack of tasks is easy to deal with since the plugin doesn't actually make any use of it.

It looks like three powerMode settings on the RX9.2 is reduced to two ecoMode settings on the RX9.1. That will require changes though quite a lot of the plugin so I need to think about the best way to handle that.

There are probably other differences that haven't been highlighted by the incompatibilities in that one API response, so please can you set "debug": ["Run API Tests", "Log API Bodies"] in the config.sys file and provide the log output for:

  1. GET /api/v1/appliances/******/info
  2. Any other warnings/errors that get produced.

@Tomcraft1980
Copy link
Author

It looks like three powerMode settings on the RX9.2 is reduced to two ecoMode settings on the RX9.1.

That is correct, this robot only has two settings for eco & power mode.

so please can you set "debug": ["Run API Tests", "Log API Bodies"]

I even had all 5 debug options activated before, but with only these two I get:

[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] Using saved access token
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] Product ID 900277268******
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Product ID 900277479******
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Product ID 900277480******
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] Found 3 robot vacuums
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] AEG PUREi9 (rx9)
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] Product number code 900277268
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] Serial number ******
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] AEG PUREi9 (rx92)
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Product number code 900277479
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Serial number ******
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] AEG PUREi9 (rx92)
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Product number code 900277480
[9/27/2024, 11:43:40 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Serial number ******
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] Unexpected structure of Electrolux Group API response:
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] GET /api/v1/appliances/900277268******/state
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] └─ response.properties is not a RX92ApplianceStateProperties
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum]     └─ response.properties.reported is not a RX92ApplianceStateReported
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum]         ├─ response.properties.reported.powerMode is missing
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum]         └─ response.properties.reported.tasks is missing
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] [Appliance info] Electrolux Group API Validation Error: Structure validation failed (response.properties is not a RX92ApplianceStateProperties)
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] Creating new accessory "" for AEG PUREi9 (rx9) (Product ID 900277268******)
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [Plugin initialisation] AssertionError [ERR_ASSERTION]: Accessories must be created with a non-empty displayName.
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] Placing all accessories in error state
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] My name is "AEG RX9-2-4-ANM"
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Hardware platform 1.01
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Firmware version 43.23 installed
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Supports 6 capabilities: CustomPlay, FreezeMapOnDemand, InteractiveMap, MultipleScheduledCleaningsPerDay, PowerLevels, and PowerZones
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Robot is enabled
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Robot is NOT connected to the cloud servers
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Battery level is MEDIUM
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Robot is in an ERROR state
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Dust collection bin is UNKNOWN
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Power mode is set to SMART (cleans quietly on hard surfaces, uses full power on carpets)
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] Restoring accessory "AEG RX9-2-4-ANM" from cache for AEG PUREi9 (rx92) "AEG RX9-2-4-ANM" (Product ID 9002774799******)
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] My name is "AEG RX9-2-6-IBM"
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Hardware platform 1.01
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Firmware version 43.23 installed
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Supports 6 capabilities: CustomPlay, FreezeMapOnDemand, InteractiveMap, MultipleScheduledCleaningsPerDay, PowerLevels, and PowerZones
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Robot is enabled
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Robot is connected to the cloud servers
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Battery level is FULLY CHARGED
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Robot is SLEEPING (either charged on dock or idle off dock)
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Dust collection bin is PRESENT (and not full)
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Power mode is set to SMART (cleans quietly on hard surfaces, uses full power on carpets)
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] Restoring accessory "AEG RX9-2-6-IBM" from cache for AEG PUREi9 (rx92) "AEG RX9-2-6-IBM" (Product ID 900277480******)
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] Unexpected structure of Electrolux Group API response:
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] GET /api/v1/appliances/900277268******/state
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] └─ response.properties is not a RX92ApplianceStateProperties
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum]     └─ response.properties.reported is not a RX92ApplianceStateReported
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum]         ├─ response.properties.reported.powerMode is missing
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum]         └─ response.properties.reported.tasks is missing
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [API test #5] getApplianceState()
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] [API test #5] Electrolux Group API Validation Error: Structure validation failed (response.properties is not a RX92ApplianceStateProperties)
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] 1 of 5 API tests failed
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum] API test #5: getApplianceState()
[9/27/2024, 11:43:41 AM] [Homebridge AEG Robot Vacuum]     Electrolux Group API Validation Error: Structure validation failed (response.properties is not a RX92ApplianceStateProperties)
[9/27/2024, 11:44:00 AM] [Homebridge UI] [test] Accessory layout changes saved.

@thoukydides
Copy link
Owner

Sorry, I should have clarified that you need to capture the debug log output. There should be something like this:

[27/09/2024, 11:56:08] [Homebridge AEG Robot Vacuum] Electrolux Group API #6: GET /api/v1/appliances/900277479XXXXXXXXYYYYYYY/info
[27/09/2024, 11:56:08] [Homebridge AEG Robot Vacuum] Electrolux Group API #5: 200 OK +184ms
[27/09/2024, 11:56:08] [Homebridge AEG Robot Vacuum] Response body:
[27/09/2024, 11:56:08] [Homebridge AEG Robot Vacuum]     {"applianceInfo":{"serialNumber":"XXXXXXXX","pnc":"900277479","brand":"AEG","deviceType":"ROBOTIC_VACUUM_CLEANER","model":"rx92","variant":"M2","colour":"SHALEGREY"},"capabilities":{"CleaningCommand":{"access":"readwrite","type":"string","values":{"play":{},"stop":{},"pause":{},"home":{}}},"robotStatus":{"access":"read","type":"string","values":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{}}}}}

@Tomcraft1980
Copy link
Author

Sorry, forgot to set -D to the HomeBridge:

[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] API test #1: getAppliances()
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] Using saved access token
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #1: GET /api/v1/appliances
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #2: GET /api/v1/appliances
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #1: 200 OK +195ms
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum]     [{"applianceId":"900277268XXXXXXXX*******","applianceName":"AEG RX9-1-IBM","applianceType":"PUREi9","created":"2020-03-09T09:15:57.790+00:00"},{"applianceId":"900277479YYYYYYYY*******","applianceName":"AEG RX9-2-4-ANM","applianceType":"PUREi9","created":"2022-04-30T20:30:46.504+00:00"},{"applianceId":"900277480ZZZZZZZZ*******","applianceName":"AEG RX9-2-6-IBM","applianceType":"PUREi9","created":"2022-05-06T17:34:12.802+00:00"}]
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] API test #2: getApplianceInfo("900277268XXXXXXXX*******")
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #3: GET /api/v1/appliances/900277268XXXXXXXX*******/info
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #2: 200 OK +175ms
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum]     [{"applianceId":"900277268XXXXXXXX*******","applianceName":"AEG RX9-1-IBM","applianceType":"PUREi9","created":"2020-03-09T09:15:57.790+00:00"},{"applianceId":"900277479YYYYYYYY*******","applianceName":"AEG RX9-2-4-ANM","applianceType":"PUREi9","created":"2022-04-30T20:30:46.504+00:00"},{"applianceId":"900277480ZZZZZZZZ*******","applianceName":"AEG RX9-2-6-IBM","applianceType":"PUREi9","created":"2022-05-06T17:34:12.802+00:00"}]
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] Product ID 900277268XXXXXXXX*******
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Product ID 900277479YYYYYYYY*******
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Product ID 900277480ZZZZZZZZ*******
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] Found 3 robot vacuums
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #4: GET /api/v1/appliances/900277268XXXXXXXX*******/info
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #5: GET /api/v1/appliances/900277479YYYYYYYY*******/info
[9/27/2024, 1:14:51 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #6: GET /api/v1/appliances/900277480ZZZZZZZZ*******/info
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #3: 200 OK +129ms
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {"applianceInfo":{"serialNumber":"XXXXXXXX","pnc":"900277268","brand":"AEG","deviceType":"ROBOTIC_VACUUM_CLEANER","model":"rx9","variant":"TM4","colour":"INDIGOBLUE"},"capabilities":{"CleaningCommand":{"access":"readwrite","type":"string","values":{"play":{},"stop":{},"pause":{},"home":{}}},"robotStatus":{"access":"read","type":"string","values":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{}}}}}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] API test #3: getApplianceInfo()
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #7: GET /api/v1/appliances/900277268XXXXXXXX*******/info
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #4: 200 OK +129ms
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {"applianceInfo":{"serialNumber":"XXXXXXXX","pnc":"900277268","brand":"AEG","deviceType":"ROBOTIC_VACUUM_CLEANER","model":"rx9","variant":"TM4","colour":"INDIGOBLUE"},"capabilities":{"CleaningCommand":{"access":"readwrite","type":"string","values":{"play":{},"stop":{},"pause":{},"home":{}}},"robotStatus":{"access":"read","type":"string","values":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{}}}}}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] AEG PUREi9 (rx9)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] Product number code 900277268
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] Serial number XXXXXXXX
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #8: GET /api/v1/appliances/900277268XXXXXXXX*******/state
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #5: 200 OK +220ms
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {"applianceInfo":{"serialNumber":"YYYYYYYY","pnc":"900277479","brand":"AEG","deviceType":"ROBOTIC_VACUUM_CLEANER","model":"rx92","variant":"M2","colour":"SHALEGREY"},"capabilities":{"CleaningCommand":{"access":"readwrite","type":"string","values":{"play":{},"stop":{},"pause":{},"home":{}}},"robotStatus":{"access":"read","type":"string","values":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{}}}}}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] AEG PUREi9 (rx92)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Product number code 900277479
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Serial number YYYYYYYY
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #9: GET /api/v1/appliances/900277479YYYYYYYY*******/state
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #6: 200 OK +296ms
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {"applianceInfo":{"serialNumber":"ZZZZZZZZ","pnc":"900277480","brand":"AEG","deviceType":"ROBOTIC_VACUUM_CLEANER","model":"rx92","variant":"M3","colour":"INDIGOBLUE"},"capabilities":{"CleaningCommand":{"access":"readwrite","type":"string","values":{"play":{},"stop":{},"pause":{},"home":{}}},"robotStatus":{"access":"read","type":"string","values":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{}}}}}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] AEG PUREi9 (rx92)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Product number code 900277480
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Serial number ZZZZZZZZ
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #10: GET /api/v1/appliances/900277480ZZZZZZZZ*******/state
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #7: 200 OK +207ms
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {"applianceInfo":{"serialNumber":"XXXXXXXX","pnc":"900277268","brand":"AEG","deviceType":"ROBOTIC_VACUUM_CLEANER","model":"rx9","variant":"TM4","colour":"INDIGOBLUE"},"capabilities":{"CleaningCommand":{"access":"readwrite","type":"string","values":{"play":{},"stop":{},"pause":{},"home":{}}},"robotStatus":{"access":"read","type":"string","values":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{}}}}}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] API test #4: getApplianceState("900277268XXXXXXXX*******")
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #11: GET /api/v1/appliances/900277268XXXXXXXX*******/state
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #8: 200 OK +369ms
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {"applianceId":"900277268XXXXXXXX*******","connectionState":"Connected","status":"enabled","properties":{"reported":{"availableLanguages":["deu","eng","fra","pol","spa","kor","zht","zhs","jpn","ces","ita","rus"],"capabilities":{"CustomPlay":{},"EcoMode":{},"FreezeMapOnDemand":{},"InteractiveMap":{},"MultipleScheduledCleaningsPerDay":{},"PowerZones":{}},"batteryStatus":6,"robotStatus":10,"messageList":{"messages":[]},"dustbinStatus":"connected","platform":"0.13","applianceName":"AEG RX9-1-IBM","firmwareVersion":"43.23","ecoMode":true,"language":"deu","mute":false}}}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Unexpected structure of Electrolux Group API response:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] GET /api/v1/appliances/900277268XXXXXXXX*******/state
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] └─ response.properties is not a RX92ApplianceStateProperties
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     └─ response.properties.reported is not a RX92ApplianceStateReported
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         ├─ response.properties.reported.powerMode is missing
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         └─ response.properties.reported.tasks is missing
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Received response (reformatted):
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         "applianceId": "900277268XXXXXXXX*******",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         "connectionState": "Connected",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         "status": "enabled",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         "properties": {
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]             "reported": {
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "availableLanguages": [
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "deu",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "eng",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "fra",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "pol",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "spa",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "kor",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "zht",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "zhs",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "jpn",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "ces",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "ita",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "rus"
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 ],
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "capabilities": {
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "CustomPlay": {},
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "EcoMode": {},
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "FreezeMapOnDemand": {},
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "InteractiveMap": {},
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "MultipleScheduledCleaningsPerDay": {},
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "PowerZones": {}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 },
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "batteryStatus": 6,
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "robotStatus": 10,
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "messageList": {
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "messages": []
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 },
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "dustbinStatus": "connected",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "platform": "0.13",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "applianceName": "AEG RX9-1-IBM",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "firmwareVersion": "43.23",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "ecoMode": true,
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "language": "deu",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "mute": false
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]             }
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         }
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     }
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] [Appliance info] Electrolux Group API Validation Error: Structure validation failed (response.properties is not a RX92ApplianceStateProperties)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM] Electrolux Group API Validation Error: Structure validation failed (response.properties is not a RX92ApplianceStateProperties)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at AEGAuthoriseUserAgent.requestJSON (file:///homebridge/node_modules/homebridge-aeg-robot/src/aegapi-ua.ts:144:19)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at processTicksAndRejections (node:internal/process/task_queues:95:5)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at pollState (file:///homebridge/node_modules/homebridge-aeg-robot/src/aeg-robot.ts:155:31)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at AEGRobot.init (file:///homebridge/node_modules/homebridge-aeg-robot/src/aeg-robot.ts:158:13)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at AEGRobot.waitUntilReady (file:///homebridge/node_modules/homebridge-aeg-robot/src/aeg-robot.ts:144:9)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at AEGPlatform.addRobotAccessory (file:///homebridge/node_modules/homebridge-aeg-robot/src/platform.ts:131:23)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at async Promise.all (index 0)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at AEGPlatform.addConfiguredAccessories (file:///homebridge/node_modules/homebridge-aeg-robot/src/platform.ts:126:9)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-1-IBM]     at AEGPlatform.finishedLaunching (file:///homebridge/node_modules/homebridge-aeg-robot/src/platform.ts:69:13)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Creating new accessory "" for AEG PUREi9 (rx9) (Product ID 900277268XXXXXXXX*******)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [Plugin initialisation] AssertionError [ERR_ASSERTION]: Accessories must be created with a non-empty displayName.
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] AssertionError [ERR_ASSERTION]: Accessories must be created with a non-empty displayName.
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     at new Accessory (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:495:11)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     at new PlatformAccessory (/homebridge/node_modules/homebridge/src/platformAccessory.ts:72:9)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     at AEGPlatform.addRobotAccessory (file:///homebridge/node_modules/homebridge-aeg-robot/src/platform.ts:145:31)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     at processTicksAndRejections (node:internal/process/task_queues:95:5)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     at async Promise.all (index 0)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     at AEGPlatform.addConfiguredAccessories (file:///homebridge/node_modules/homebridge-aeg-robot/src/platform.ts:126:9)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     at AEGPlatform.finishedLaunching (file:///homebridge/node_modules/homebridge-aeg-robot/src/platform.ts:69:13)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Placing all accessories in error state
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #9: 200 OK +340ms
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {"applianceId":"900277479YYYYYYYY*******","connectionState":"Disconnected","status":"enabled","properties":{"reported":{"availableLanguages":["deu","eng","fra","pol","spa","kor","zht","zhs","jpn","ces","ita","rus"],"capabilities":{"CustomPlay":{},"FreezeMapOnDemand":{},"InteractiveMap":{},"MultipleScheduledCleaningsPerDay":{},"PowerLevels":{},"PowerZones":{}},"batteryStatus":4,"robotStatus":11,"messageList":{"messages":[]},"dustbinStatus":"notConnected","platform":"1.01","applianceName":"AEG RX9-2-4-ANM","firmwareVersion":"43.23","language":"deu","mute":true,"powerMode":2,"tasks":{}}}}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] name: ?->"AEG RX9-2-4-ANM", hardware: ?->1.01, firmware: ?->43.23, capabilities: ?->CustomPlay,FreezeMapOnDemand,InteractiveMap,MultipleScheduledCleaningsPerDay,PowerLevels,PowerZones, enabled: ?->true, connected: ?->false, battery: ?->4, activity: ?->11, dustbin: ?->notConnected, rawPower: ?->2, simpleActivity: ?->Other, isBatteryLow: ?->false, isCharging: ?->false, isDustbinEmpty: ?->true, isDocked: ?->false, isActive: ?->false, isBusy: ?->false, and isFault: ?->true
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] My name is "AEG RX9-2-4-ANM"
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Hardware platform 1.01
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Firmware version 43.23 installed
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Supports 6 capabilities: CustomPlay, FreezeMapOnDemand, InteractiveMap, MultipleScheduledCleaningsPerDay, PowerLevels, and PowerZones
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Robot is enabled
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Robot is NOT connected to the cloud servers
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Battery level is MEDIUM
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Robot is in an ERROR state
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Dust collection bin is UNKNOWN
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Power mode is set to SMART (cleans quietly on hard surfaces, uses full power on carpets)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Restoring accessory "AEG RX9-2-4-ANM" from cache for AEG PUREi9 (rx92) "AEG RX9-2-4-ANM" (Product ID 900277479YYYYYYYY*******)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Hardware Revision <= 1.01
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Software Revision <= 43.23
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Name <= "AEG RX9-2-4-ANM"
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] On (Clean) <= false
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Battery Level <= 60%
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Status Low Battery <= BATTERY_LEVEL_NORMAL
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-4-ANM] Charging State <= NOT_CHARGING
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #12: GET /api/v1/appliances/900277479YYYYYYYY*******/state
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #10: 200 OK +290ms
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {"applianceId":"900277480ZZZZZZZZ*******","connectionState":"Connected","status":"enabled","properties":{"reported":{"availableLanguages":["deu","eng","fra","pol","spa","kor","zht","zhs","jpn","ces","ita","rus"],"capabilities":{"CustomPlay":{},"FreezeMapOnDemand":{},"InteractiveMap":{},"MultipleScheduledCleaningsPerDay":{},"PowerLevels":{},"PowerZones":{}},"batteryStatus":6,"robotStatus":10,"messageList":{"messages":[]},"dustbinStatus":"connected","platform":"1.01","applianceName":"AEG RX9-2-6-IBM","firmwareVersion":"43.23","language":"deu","mute":true,"powerMode":2,"tasks":{}}}}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] name: ?->"AEG RX9-2-6-IBM", hardware: ?->1.01, firmware: ?->43.23, capabilities: ?->CustomPlay,FreezeMapOnDemand,InteractiveMap,MultipleScheduledCleaningsPerDay,PowerLevels,PowerZones, enabled: ?->true, connected: ?->true, battery: ?->6, activity: ?->10, dustbin: ?->connected, rawPower: ?->2, simpleActivity: ?->Other, isBatteryLow: ?->false, isCharging: ?->false, isDustbinEmpty: ?->true, isDocked: ?->true, isActive: ?->true, isBusy: ?->false, and isFault: ?->false
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] My name is "AEG RX9-2-6-IBM"
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Hardware platform 1.01
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Firmware version 43.23 installed
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Supports 6 capabilities: CustomPlay, FreezeMapOnDemand, InteractiveMap, MultipleScheduledCleaningsPerDay, PowerLevels, and PowerZones
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Robot is enabled
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Robot is connected to the cloud servers
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Battery level is FULLY CHARGED
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Robot is SLEEPING (either charged on dock or idle off dock)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Dust collection bin is PRESENT (and not full)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Power mode is set to SMART (cleans quietly on hard surfaces, uses full power on carpets)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Restoring accessory "AEG RX9-2-6-IBM" from cache for AEG PUREi9 (rx92) "AEG RX9-2-6-IBM" (Product ID 900277480ZZZZZZZZ*******)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Hardware Revision <= 1.01
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Software Revision <= 43.23
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Name <= "AEG RX9-2-6-IBM"
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] On (Clean) <= false
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Battery Level <= 100%
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Status Low Battery <= BATTERY_LEVEL_NORMAL
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [AEG RX9-2-6-IBM] Charging State <= NOT_CHARGING
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #13: GET /api/v1/appliances/900277480ZZZZZZZZ*******/state
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #11: 200 OK +292ms
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {"applianceId":"900277268XXXXXXXX*******","connectionState":"Connected","status":"enabled","properties":{"reported":{"availableLanguages":["deu","eng","fra","pol","spa","kor","zht","zhs","jpn","ces","ita","rus"],"capabilities":{"CustomPlay":{},"EcoMode":{},"FreezeMapOnDemand":{},"InteractiveMap":{},"MultipleScheduledCleaningsPerDay":{},"PowerZones":{}},"batteryStatus":6,"robotStatus":10,"messageList":{"messages":[]},"dustbinStatus":"connected","platform":"0.13","applianceName":"AEG RX9-1-IBM","firmwareVersion":"43.23","ecoMode":true,"language":"deu","mute":false}}}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] API test #5: getApplianceState()
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #14: GET /api/v1/appliances/900277268XXXXXXXX*******/state
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #12: 200 OK +58ms
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {"applianceId":"900277479YYYYYYYY*******","connectionState":"Disconnected","status":"enabled","properties":{"reported":{"availableLanguages":["deu","eng","fra","pol","spa","kor","zht","zhs","jpn","ces","ita","rus"],"capabilities":{"CustomPlay":{},"FreezeMapOnDemand":{},"InteractiveMap":{},"MultipleScheduledCleaningsPerDay":{},"PowerLevels":{},"PowerZones":{}},"batteryStatus":4,"robotStatus":11,"messageList":{"messages":[]},"dustbinStatus":"notConnected","platform":"1.01","applianceName":"AEG RX9-2-4-ANM","firmwareVersion":"43.23","language":"deu","mute":true,"powerMode":2,"tasks":{}}}}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #13: 200 OK +55ms
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {"applianceId":"900277480ZZZZZZZZ*******","connectionState":"Connected","status":"enabled","properties":{"reported":{"availableLanguages":["deu","eng","fra","pol","spa","kor","zht","zhs","jpn","ces","ita","rus"],"capabilities":{"CustomPlay":{},"FreezeMapOnDemand":{},"InteractiveMap":{},"MultipleScheduledCleaningsPerDay":{},"PowerLevels":{},"PowerZones":{}},"batteryStatus":6,"robotStatus":10,"messageList":{"messages":[]},"dustbinStatus":"connected","platform":"1.01","applianceName":"AEG RX9-2-6-IBM","firmwareVersion":"43.23","language":"deu","mute":true,"powerMode":2,"tasks":{}}}}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API #14: 200 OK +54ms
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Response body:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {"applianceId":"900277268XXXXXXXX*******","connectionState":"Connected","status":"enabled","properties":{"reported":{"availableLanguages":["deu","eng","fra","pol","spa","kor","zht","zhs","jpn","ces","ita","rus"],"capabilities":{"CustomPlay":{},"EcoMode":{},"FreezeMapOnDemand":{},"InteractiveMap":{},"MultipleScheduledCleaningsPerDay":{},"PowerZones":{}},"batteryStatus":6,"robotStatus":10,"messageList":{"messages":[]},"dustbinStatus":"connected","platform":"0.13","applianceName":"AEG RX9-1-IBM","firmwareVersion":"43.23","ecoMode":true,"language":"deu","mute":false}}}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Unexpected structure of Electrolux Group API response:
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] GET /api/v1/appliances/900277268XXXXXXXX*******/state
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] └─ response.properties is not a RX92ApplianceStateProperties
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     └─ response.properties.reported is not a RX92ApplianceStateReported
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         ├─ response.properties.reported.powerMode is missing
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         └─ response.properties.reported.tasks is missing
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Received response (reformatted):
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     {
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         "applianceId": "900277268XXXXXXXX*******",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         "connectionState": "Connected",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         "status": "enabled",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         "properties": {
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]             "reported": {
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "availableLanguages": [
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "deu",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "eng",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "fra",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "pol",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "spa",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "kor",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "zht",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "zhs",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "jpn",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "ces",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "ita",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "rus"
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 ],
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "capabilities": {
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "CustomPlay": {},
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "EcoMode": {},
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "FreezeMapOnDemand": {},
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "InteractiveMap": {},
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "MultipleScheduledCleaningsPerDay": {},
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "PowerZones": {}
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 },
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "batteryStatus": 6,
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "robotStatus": 10,
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "messageList": {
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                     "messages": []
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 },
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "dustbinStatus": "connected",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "platform": "0.13",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "applianceName": "AEG RX9-1-IBM",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "firmwareVersion": "43.23",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "ecoMode": true,
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "language": "deu",
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]                 "mute": false
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]             }
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]         }
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     }
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [API test #5] getApplianceState()
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] [API test #5] Electrolux Group API Validation Error: Structure validation failed (response.properties is not a RX92ApplianceStateProperties)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] Electrolux Group API Validation Error: Structure validation failed (response.properties is not a RX92ApplianceStateProperties)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     at AEGAuthoriseUserAgent.requestJSON (file:///homebridge/node_modules/homebridge-aeg-robot/src/aegapi-ua.ts:144:19)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     at processTicksAndRejections (node:internal/process/task_queues:95:5)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     at AEGAPITest.test (file:///homebridge/node_modules/homebridge-aeg-robot/src/aegapi-test.ts:127:28)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     at AEGAPITest.runSafeRX92Tests (file:///homebridge/node_modules/homebridge-aeg-robot/src/aegapi-test.ts:88:9)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     at AEGAPITest.runAllTests (file:///homebridge/node_modules/homebridge-aeg-robot/src/aegapi-test.ts:55:17)
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] 1 of 5 API tests failed
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum] API test #5: getApplianceState()
[9/27/2024, 1:14:52 PM] [Homebridge AEG Robot Vacuum]     Electrolux Group API Validation Error: Structure validation failed (response.properties is not a RX92ApplianceStateProperties)

@thoukydides
Copy link
Owner

Thanks for the debug log. That's really helpful.

It's a shame that the appliances endpoint doesn't return anything different for the two models... other than the pnc (Product Number Code) at the start of the applianceId, but to use that would require embedding a complete list of all model variants.

The info endpoint isn't returning any different capabilities, which makes things easier, but I can use its applianceInfo.model field to distinguish between RX9.1 (model === "rx9") and RX9.2 (model === "rx92"). I need to think about whether it is better to do that or use the state endpoint properties.reported.capabilities.EcoMode/PowerLevels or properties.reported.ecoMode/powerMode.

@Tomcraft1980
Copy link
Author

For me it sounds much more comprehensible to use applianceInfo.model and check for (model === "rx9") / (model === "rx92").

The check on state endpint properties.reported.capabilities.EcoMode/PowerLevels or properties.reported.ecoMode/powerMode feels like a dirty hack to use only if there wasn't a model identifier. ;-)

@thoukydides
Copy link
Owner

Please try v2.1.0.

Since the official API presents the power level as read-only (the previous reverse-engineered API allowed it to be set) I decided to just use the properties.reported.ecoMode/powerMode directly, with whichever one gets provided setting the HomeKit state and a compatible mapping to percentage fan speeds.

@Tomcraft1980
Copy link
Author

Awesome! This works great! RX91 & RX 92 are fully supported! THX!

@thoukydides
Copy link
Owner

Great. Thanks for confirming.

Electrolux really need to do a better job of documenting how their API supports different appliances. Currently they only describe the endpoints in generic terms, without any information about how different device types map to it, so without examples from real devices it isn't possible to support them.

Also, hopefully they will expand the official API to support more of the functionality that was previously available via their app's API. It was previously possible to set the power levels, start spot cleans, or to specify the zones to clean, none of which can be done now. It was also previously possible to retrieve information about previous cleans, including their timings, area cleaned, and the maps of the robot's route... which didn't affect HomeKit but made the Homebridge log more useful.

@Tomcraft1980
Copy link
Author

Maybe they needed to reduce the amount of api calls to keep the usage free of charge.

@thoukydides
Copy link
Owner

They achieve that with the rather strict rate limits - I had to significantly reduce the polling rate when migrating to the official API.

The rate limits could remain the same with the endpoints supporting more functionality, without affect their running costs.

Anyway, if AWS running costs were a major consideration then they would implement some form of notification scheme (whether SSE, webhook, or any other mechanism) to avoid needing clients to poll regularly. That would reduce costs significantly below those of the current rate limits.

@Tomcraft1980
Copy link
Author

Good point!

Off-Topic: Can you tell me where the filter maintenance should be displayed?

@thoukydides
Copy link
Owner

I assume you are referring to the Filter Maintenance service in HomeKit. If so, then it seems that the iOS 18 Home app isn't showing it; I am pretty sure earlier versions did. It still appears in Eve and other third-party Home apps, indicating when the dust collection bin is either full or not present.

I expect to be migrating to native HomeKit robot vacuum cleaner support when that appears (officially still "Coming later this year", probably meaning iOS 18.2 during December) so don't currently feel inclined to investigate whether anything can be done to make the Filter Maintenance service visible in the Home app (especially since I have just finished two unplanned major updates to support Homebridge 2 and the new Electrolux API).

@Tomcraft1980
Copy link
Author

Tomcraft1980 commented Sep 28, 2024

That was exactly what I meant.
No problem for me to currently not having the filter maintenance in HomeKit. I just doubted myself a little because I didn't see it despite the option being activated.
I will just deactivate the option for now until HomeKit support vaccuum cleaners.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants