home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
71.03k stars 29.68k forks source link

SmartMi Humidifier Rainforest connected via HomeKit does not have control abilities #106088

Closed JavaThrone closed 1 month ago

JavaThrone commented 8 months ago

The problem

SmartMi Humidifier Rainforest has HomeKit support. HomeKit Controller integration finds the device and connects it. However, after device connection the integration provides only two entities: humidity sensor and identity, although you can see the entity map for more services in diagnostics. I am NOT able to control the humidifier to do starting and stoping it by home assistent

image image

What version of Home Assistant Core has the issue?

2023.12.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

homekit device

Link to integration documentation on our website

No response

Diagnostics information

{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2023.12.3", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.11.6", "docker": true, "arch": "aarch64", "timezone": "Europe/Kyiv", "os_name": "Linux", "os_version": "6.1.63-haos", "supervisor": "2023.12.0", "host_os": "Home Assistant OS 11.2", "docker_version": "24.0.7", "chassis": "embedded", "run_as_root": true }, "custom_components": { "hacs": { "version": "1.33.0", "requirements": [ "aiogithubapi>=22.10.1" ] } }, "integration_manifest": { "domain": "homekit_controller", "name": "HomeKit Device", "after_dependencies": [ "thread" ], "bluetooth": [ { "manufacturer_id": 76, "manufacturer_data_start": [ 6 ] } ], "codeowners": [ "@Jc2k", "@bdraco" ], "config_flow": true, "dependencies": [ "bluetooth_adapters", "zeroconf" ], "documentation": "https://www.home-assistant.io/integrations/homekit_controller", "iot_class": "local_push", "loggers": [ "aiohomekit", "commentjson" ], "requirements": [ "aiohomekit==3.0.9" ], "zeroconf": [ "_hap._tcp.local.", "_hap._udp.local." ], "is_built_in": true }, "data": { "config-entry": { "title": "Humidifier", "version": 1, "data": { "AccessoryPairingID": "83:1E:B6:8A:ED:F2", "AccessoryLTPK": "818d96ec4cb6f0cbb20a50836c2e4036ba5cfcc7a5633c1709940f1e3ffaecf3", "iOSPairingId": "f3335b73-b3f5-4ce8-9073-f8ff66585b62", "iOSDeviceLTSK": "REDACTED", "iOSDeviceLTPK": "6975c1f665188e893ea32790e6d04c43aeefd4440632aef04c67580ace87098c", "AccessoryIP": "REDACTED", "AccessoryPort": 80, "Connection": "IP" } }, "entity-map": [ { "aid": 1, "services": [ { "iid": 1, "type": "0000003E-0000-1000-8000-0026BB765291", "characteristics": [ { "type": "00000014-0000-1000-8000-0026BB765291", "iid": 2, "perms": [ "pw" ], "format": "bool", "description": "Identify" }, { "type": "00000020-0000-1000-8000-0026BB765291", "iid": 3, "perms": [ "pr" ], "format": "string", "value": "Beijing Smartmi Electronic Technology Co., Ltd.", "description": "Manufacturer", "maxLen": 64 }, { "type": "00000021-0000-1000-8000-0026BB765291", "iid": 4, "perms": [ "pr" ], "format": "string", "value": "CJJSQ06ZM", "description": "Model", "maxLen": 64 }, { "type": "00000023-0000-1000-8000-0026BB765291", "iid": 5, "perms": [ "pr" ], "format": "string", "value": "Smartmi Humidifier Rainforest", "description": "Name", "maxLen": 64 }, { "type": "00000030-0000-1000-8000-0026BB765291", "iid": 6, "perms": [ "pr" ], "format": "string", "value": "REDACTED", "description": "Serial Number", "maxLen": 64 }, { "type": "00000052-0000-1000-8000-0026BB765291", "iid": 7, "perms": [ "pr" ], "format": "string", "value": "1.1.1", "description": "Firmware Revision", "maxLen": 64 }, { "type": "00000220-0000-1000-8000-0026BB765291", "iid": 10, "perms": [ "pr" ], "format": "data", "value": "Z9Al7wtWb60=" } ] }, { "iid": 8, "type": "000000A2-0000-1000-8000-0026BB765291", "characteristics": [ { "type": "00000037-0000-1000-8000-0026BB765291", "iid": 9, "perms": [ "pr" ], "format": "string", "value": "1.1.0", "description": "Version", "maxLen": 64 } ] }, { "iid": 11, "type": "000000BD-0000-1000-8000-0026BB765291", "characteristics": [ { "type": "000000B0-0000-1000-8000-0026BB765291", "iid": 12, "perms": [ "pr", "pw", "ev" ], "format": "uint8", "value": 1, "description": "Active", "minValue": 0, "maxValue": 1, "minStep": 1 }, { "type": "00000010-0000-1000-8000-0026BB765291", "iid": 13, "perms": [ "pr", "ev" ], "format": "float", "value": 60.0, "description": "Current Relative Humidity", "unit": "percentage", "minValue": 0.0, "maxValue": 100.0, "minStep": 1.0 }, { "type": "000000B3-0000-1000-8000-0026BB765291", "iid": 14, "perms": [ "pr", "ev" ], "format": "uint8", "value": 2, "description": "Current Humidifier Dehumidifier State", "minValue": 0, "maxValue": 3, "minStep": 1, "valid-values": [ 0, 2 ] }, { "type": "000000B4-0000-1000-8000-0026BB765291", "iid": 15, "perms": [ "pr", "pw", "ev" ], "format": "uint8", "value": 1, "description": "Target Humidifier Dehumidifier State", "minValue": 0, "maxValue": 2, "minStep": 1, "valid-values": [ 1 ] }, { "type": "00000029-0000-1000-8000-0026BB765291", "iid": 16, "perms": [ "pr", "pw", "ev" ], "format": "float", "value": 16.0, "description": "Rotation Speed", "unit": "percentage", "minValue": 0.0, "maxValue": 100.0, "minStep": 1.0 }, { "type": "000000B5-0000-1000-8000-0026BB765291", "iid": 17, "perms": [ "pr", "ev" ], "format": "float", "value": 45.0, "description": "Water Level", "unit": "percentage", "minValue": 0.0, "maxValue": 100.0, "minStep": 1.0 }, { "type": "00000023-0000-1000-8000-0026BB765291", "iid": 18, "perms": [ "pr" ], "format": "string", "value": "My humidifier_dehumidifier", "description": "Name", "maxLen": 64 } ] }, { "iid": 19, "type": "2E36328D-9B54-4884-B873-6AC8CD8D9241", "characteristics": [ { "type": "8AAD42A0-CEC9-4542-B49F-1DBF4BD6AA04", "iid": 20, "perms": [ "pw" ], "format": "string", "maxLen": 64 }, { "type": "87F14350-E02D-4D77-9A96-0B4658C805F5", "iid": 21, "perms": [ "pr", "ev" ], "format": "int", "value": 1 }, { "type": "7645A55F-9CD9-492F-BFFE-C28D9963BDDE", "iid": 22, "perms": [ "pr" ], "format": "string", "value": "ahoqsnorxmf2g70s", "maxLen": 64 }, { "type": "E6608527-6537-41FB-A75F-823B2E96CC72", "iid": 23, "perms": [ "pr" ], "format": "string", "value": "54377704a4e57cf83224", "maxLen": 64 } ] } ] } ], "config-num": 1, "device": { "name": "Smartmi Humidifier Rainforest", "model": "CJJSQ06ZM", "manfacturer": "Beijing Smartmi Electronic Technology Co., Ltd.", "sw_version": "1.1.1", "hw_version": "", "entities": [ { "original_name": "Smartmi Humidifier Rainforest Current Humidity", "original_device_class": "humidity", "entity_category": null, "original_icon": null, "icon": null, "unit_of_measurement": "%", "device_class": null, "disabled": false, "disabled_by": null, "state": { "entity_id": "sensor.smartmi_humidifier_rainforest_current_humidity", "state": "59.0", "attributes": { "state_class": "measurement", "unit_of_measurement": "%", "device_class": "humidity", "friendly_name": "Smartmi Humidifier Rainforest Current Humidity" }, "last_changed": "2023-12-19T22:49:51.902935+00:00", "last_updated": "2023-12-19T22:49:51.902935+00:00" } }, { "original_name": "Smartmi Humidifier Rainforest Identify", "original_device_class": null, "entity_category": "diagnostic", "original_icon": null, "icon": null, "unit_of_measurement": null, "device_class": null, "disabled": false, "disabled_by": null, "state": { "entity_id": "button.smartmi_humidifier_rainforest_identify", "state": "2023-12-19T22:54:06.769564+00:00", "attributes": { "friendly_name": "Smartmi Humidifier Rainforest Identify" }, "last_changed": "2023-12-19T22:54:06.769803+00:00", "last_updated": "2023-12-19T22:54:06.769803+00:00" } } ] } } }

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

home assistant green info:

System Information

version core-2023.12.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.6
os_name Linux
os_version 6.1.63-haos
arch aarch64
timezone Europe/Kyiv
config_dir /config
Home Assistant Community Store GitHub API | ok -- | -- GitHub Content | ok GitHub Web | ok GitHub API Calls Remaining | 5000 Installed Version | 1.33.0 Stage | running Available Repositories | 1359 Downloaded Repositories | 1 HACS Data | ok
Home Assistant Cloud logged_in | false -- | -- can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | ok
Home Assistant Supervisor host_os | Home Assistant OS 11.2 -- | -- update_channel | stable supervisor_version | supervisor-2023.12.0 agent_version | 1.6.0 docker_version | 24.0.7 disk_total | 28.0 GB disk_used | 4.7 GB healthy | true supported | true board | green supervisor_api | ok version_api | ok installed_addons | File editor (5.7.0), MariaDB (2.6.1), Terminal & SSH (9.8.1)
Dashboards dashboards | 1 -- | -- resources | 0 mode | auto-gen
Recorder oldest_recorder_run | 17 December 2023 at 00:58 -- | -- current_recorder_run | 19 December 2023 at 22:12 estimated_db_size | 9.66 MiB database_engine | mysql database_version | 10.6.12
home-assistant[bot] commented 8 months ago

Hey there @jc2k, @bdraco, mind taking a look at this issue as it has been labeled with an integration (homekit_controller) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `homekit_controller` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign homekit_controller` Removes the current integration label and assignees on the issue, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


homekit_controller documentation homekit_controller source (message by IssueLinks)

tobiasritscher commented 7 months ago

Hello guys I would also very much be interested in this. I can manipulate the fan speed but i would be interested very much in the waterlevel and mostly the screen brightness. This would hep me a lot with automation.

lightheaded commented 7 months ago

Weird, I have these controls: image

tobiasritscher commented 7 months ago

Sorry. I wasn‘t very clear. I have the same controls as you have. But I would like to have the option to dim the screen and see the remaining water like I have in the Smartmi App:

IMG_9925

Jc2k commented 7 months ago

Please verify the controls you want are visible in the Apple Home app.

The vendors app often does not go through their homekit implementation, but direct to the vendors api. Which means often such requests are impossible.

tobiasritscher commented 7 months ago

well I have added it to apple home now, but i can‘t add it to homeassistant anymore (HA tells me, that it is allready owned by another home). But at least I can see the water level in Apple Home.

image

issue-triage-workflows[bot] commented 4 months ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

bdraco commented 4 months ago
{
"type": "000000B5-0000-1000-8000-0026BB765291",
"iid": 17,
"perms": [
"pr",
"ev"
],
"format": "float",
"value": 45.0,
"description": "Water Level",
"unit": "percentage",
"minValue": 0.0,
"maxValue": 100.0,
"minStep": 1.0
},
bdraco commented 4 months ago

000000B5-0000-1000-8000-0026BB765291 is a water level sensor

bdraco commented 4 months ago

It looks like that one isn't mapped

diff --git a/homeassistant/components/homekit_controller/sensor.py b/homeassistant/components/homekit_controller/sensor.py
index 059be5bad99..56eaacbb1b9 100644
--- a/homeassistant/components/homekit_controller/sensor.py
+++ b/homeassistant/components/homekit_controller/sensor.py
@@ -364,6 +364,13 @@ SIMPLE_SENSOR: dict[str, HomeKitSensorEntityDescription] = {
         state_class=SensorStateClass.MEASUREMENT,
         native_unit_of_measurement=PERCENTAGE,
     ),
+    CharacteristicsTypes.WATER_LEVEL: HomeKitSensorEntityDescription(
+        key=CharacteristicsTypes.WATER_LEVEL,
+        name="Water level",
+        translation_key="water_level",
+        state_class=SensorStateClass.MEASUREMENT,
+        native_unit_of_measurement=PERCENTAGE,
+    )
 }
issue-triage-workflows[bot] commented 1 month ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.