Skip to content

加湿器无法调节模式 #2418

@xmcp

Description

@xmcp

Device model / 设备型号

xiaomi.humidifier.p1200

Component version / 插件版本

1.0.14

HA core version / HA版本

2025.3.3

Integrated mode / 集成方式

Local (本地模式)

The problem / 问题详情

昨天更新了MIoT Auto集成和加湿器固件版本,更新后无法切换加湿器模式。

Image

Entity attributes / 实体属性

button.info: 加湿器
model: xiaomi.humidifier.p1200
did: "745247415"
mac: B8:50:D8:D4:42:50
lan_ip: 192.168.0.182
app_link: mihome://device?uid=1481820266&did=745247415
miot_type: urn:miot-spec-v2:device:humidifier:0000A00E:xiaomi-p1200:3
available: true
home_room: 宿舍 卧室
icon: mdi:information
updater: local
updated_at: "2025-03-17 13:27:16.744628+08:00"
humidifier.on: true
humidifier.mode: 0
humidifier.target_humidity: 50
environment.relative_humidity: 52
environment.temperature: 23
filter.filter_life_level: 20
dm_service.off_delay_time: 0
dm_service.water_status: 0
dm_service.over_wet_protect: true
dm_service.fan_dry_time: 0
dm_service.clean_time: 0
dm_service.water_level: 42
dm_service.dry_switch: true
dm_service.filter_clean: 0
screen.on: true
screen.brightness: 1
screen.auto_screen_off: true
physical_controls_locked: false
alarm: true
humidifier.fault: 0
converters:
  - button.info
  - humidifier.humidifier.on
  - humidifier.on
  - humidifier.mode
  - humidifier.target_humidity
  - environment.relative_humidity
  - switch.alarm
  - switch.physical_controls_locked
  - sensor.filter.filter_life_level
  - sensor.environment.temperature
  - sensor.environment.relative_humidity
  - sensor.humidifier.fault
  - sensor.dm_service.water_status
  - sensor.dm_service.fan_dry_time
  - sensor.dm_service.clean_time
  - sensor.dm_service.water_level
  - switch.screen.on
  - switch.dm_service.over_wet_protect
  - switch.dm_service.dry_switch
  - number.dm_service.off_delay_time
  - select.screen.brightness
  - button.filter.reset_filter_life
  - button.dm_service.loop_mode
customizes:
  interval_seconds: 120
  select_properties: screen.brightness
  chunk_coordinators:
    - interval: 20
      props: humidifier.on,mode,target_humidity,fan_level
    - interval: 25
      props: relative_humidity,temperature
    - interval: 300
      props: filter_life_level,filter_left_time,filter_used_time
  button_actions: loop_mode,reset_filter_life
  sensor_properties: clean_time,fan_dry_time,fault,water_level,water_status
  switch_properties: alarm,dry_switch,over_wet_protect,screen.on
  number_properties: off_delay_time
info: null
device_class: update
friendly_name: 加湿器 信息

Home Assistant Logs / 系统日志

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 245, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<7 lines>...
    )
    ^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2794, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2837, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1007, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
        hass, entity, func, data, call.context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1079, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/xiaomi_miot/humidifier.py", line 112, in async_set_mode
    await self.device.async_write({self._conv_mode.full_name: mode})
  File "/config/custom_components/xiaomi_miot/core/device.py", line 700, in async_write
    data = self.encode(payload)
  File "/config/custom_components/xiaomi_miot/core/device.py", line 695, in encode
    conv.encode(self, payload, v)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/xiaomi_miot/core/converters.py", line 131, in encode
    value = int(value) # bool to int
ValueError: invalid literal for int() with base 10: 'Constant Humidity'

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions