Skip to content

Request support for Homvana H111S humidifier #3940

@evilpig

Description

@evilpig

Log message

Device matches speaka_sptvcm510_tvmount with quality of 25%. DPS: {"updated_at": 1762317199.1908371, "1": true, "3": "high", "5": false, "12": 71, "14": 41, "19": "cancel", "20": 0, "22": 0, "101": "cancel", "103": "dry", "105": 55, "106": false}

Product ID

iduvrkbxe1w174v7

Product Name

Homvana H111S

DPS information

{
  "result": {
    "category": "jsq",
    "functions": [
      {
        "code": "switch",
        "dp_id": 1,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "spray_volume",
        "dp_id": 3,
        "type": "Enum",
        "values": "{\"range\":[\"low\",\"middle\",\"high\"]}"
      },
      {
        "code": "switch_led",
        "dp_id": 5,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "work_mode",
        "dp_id": 6,
        "type": "Enum",
        "values": "{\"range\":[\"botany\",\"piano\",\"pet\"]}"
      },
      {
        "code": "sleep",
        "dp_id": 16,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "countdown_set",
        "dp_id": 19,
        "type": "Enum",
        "values": "{\"range\":[\"cancel\",\"2h\",\"4h\",\"6h\",\"8h\",\"10h\",\"12h\"]}"
      },
      {
        "code": "heatGear",
        "dp_id": 101,
        "type": "Enum",
        "values": "{\"range\":[\"cancel\",\"1\",\"2\",\"3\"]}"
      },
      {
        "code": "humidity",
        "dp_id": 102,
        "type": "Enum",
        "values": "{\"range\":[\"cancel\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"65\",\"70\",\"75\",\"80\",\"85\",\"90\"]}"
      },
      {
        "code": "auto",
        "dp_id": 104,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "humset",
        "dp_id": 105,
        "type": "Integer",
        "values": "{\"unit\":\"%\",\"min\":30,\"max\":90,\"scale\":0,\"step\":5}"
      },
      {
        "code": "humsetswitch",
        "dp_id": 106,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "heatswitch",
        "dp_id": 107,
        "type": "Boolean",
        "values": "{}"
      }
    ],
    "lang_config": {},
    "status": [
      {
        "code": "switch",
        "dp_id": 1,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "spray_volume",
        "dp_id": 3,
        "type": "Enum",
        "values": "{\"range\":[\"low\",\"middle\",\"high\"]}"
      },
      {
        "code": "switch_led",
        "dp_id": 5,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "work_mode",
        "dp_id": 6,
        "type": "Enum",
        "values": "{\"range\":[\"botany\",\"piano\",\"pet\"]}"
      },
      {
        "code": "temp_current_f",
        "dp_id": 12,
        "type": "Integer",
        "values": "{\"unit\":\"℉\",\"min\":0,\"max\":130,\"scale\":0,\"step\":1}"
      },
      {
        "code": "humidity_current",
        "dp_id": 14,
        "type": "Integer",
        "values": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}"
      },
      {
        "code": "sleep",
        "dp_id": 16,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "countdown_set",
        "dp_id": 19,
        "type": "Enum",
        "values": "{\"range\":[\"cancel\",\"2h\",\"4h\",\"6h\",\"8h\",\"10h\",\"12h\"]}"
      },
      {
        "code": "countdown_left",
        "dp_id": 20,
        "type": "Integer",
        "values": "{\"unit\":\"h\",\"min\":0,\"max\":12,\"scale\":0,\"step\":1}"
      },
      {
        "code": "fault",
        "dp_id": 22,
        "type": "Bitmap",
        "values": "{\"label\":[\"bit0_other\",\"bit1_ptctemp\",\"bit2_ulwater\",\"bit3_pcbtemp\",\"bit4_uart_err\",\"bit5_nowater\",\"bit6_iic_err\"],\"maxlen\":7}"
      },
      {
        "code": "heatGear",
        "dp_id": 101,
        "type": "Enum",
        "values": "{\"range\":[\"cancel\",\"1\",\"2\",\"3\"]}"
      },
      {
        "code": "humidity",
        "dp_id": 102,
        "type": "Enum",
        "values": "{\"range\":[\"cancel\",\"30\",\"35\",\"40\",\"45\",\"50\",\"55\",\"60\",\"65\",\"70\",\"75\",\"80\",\"85\",\"90\"]}"
      },
      {
        "code": "hum_state",
        "dp_id": 103,
        "type": "Enum",
        "values": "{\"range\":[\"dry\",\"comfortable\",\"damp\"]}"
      },
      {
        "code": "auto",
        "dp_id": 104,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "humset",
        "dp_id": 105,
        "type": "Integer",
        "values": "{\"unit\":\"%\",\"min\":30,\"max\":90,\"scale\":0,\"step\":5}"
      },
      {
        "code": "humsetswitch",
        "dp_id": 106,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "heatswitch",
        "dp_id": 107,
        "type": "Boolean",
        "values": "{}"
      }
    ]
  },
  "success": true,
  "t": 1762317717118,
  "tid": "c294229aba0111f09d3fa6446417155a"
}

Information about how the device functions

I am able to use this with mixed results in localtuya. Would love to have a sensor for low water and many other options. Tried to make my own which I've attached
Can't get the add-on to find it.

products:
  - id: iduvrkbxe1w174v7
    manufacturer: Homvana
    model: H111S

entities:
  # MAIN HUMIDIFIER CONTROL
  - entity: humidifier
    class: humidifier
    dps:
      - id: 1
        name: switch
        type: boolean
      - id: 105
        name: humidity           # target humidity
        type: integer
        range:
          min: 30
          max: 90
      - id: 14
        name: current_humidity
        type: integer
      - id: 104
        name: mode               # auto/normal
        type: boolean
        mapping:
          - dps_val: true
            value: auto
          - dps_val: false
            value: normal

  # SPRAY INTENSITY (as a fan, 3 speeds)
  - entity: fan
    name: Spray
    icon: mdi:sprinkler-variant
    dps:
      - id: 1
        name: switch
        type: boolean
      - id: 3
        name: speed
        type: string
        mapping:
          - dps_val: low
            value: 33
          - dps_val: middle
            value: 67
          - dps_val: high
            value: 100

  # LIGHTING
  - entity: light
    name: Display Light
    category: config
    dps:
      - id: 5
        name: switch
        type: boolean

  # SLEEP
  - entity: switch
    translation_key: sleep
    category: config
    dps:
      - id: 16
        name: switch
        type: boolean

  # TIMER SELECT + REMAINING
  - entity: select
    translation_key: timer
    category: config
    dps:
      - id: 19
        name: option
        type: string
        mapping:
          - dps_val: cancel
            value: cancel
          - dps_val: 2h
            value: 2h
          - dps_val: 4h
            value: 4h
          - dps_val: 6h
            value: 6h
          - dps_val: 8h
            value: 8h
          - dps_val: 10h
            value: 10h
          - dps_val: 12h
            value: 12h

  - entity: sensor
    translation_key: time_remaining
    class: duration
    category: diagnostic
    dps:
      - id: 20
        name: sensor
        type: integer
        unit: h

  # HEAT CONTROL
  - entity: switch
    name: Heat Power
    category: config
    icon: mdi:fire
    dps:
      - id: 107
        name: switch
        type: boolean

  - entity: select
    name: Heat Level
    category: config
    icon: mdi:thermometer
    dps:
      - id: 101
        name: option
        type: string
        mapping:
          - dps_val: cancel
            value: off
          - dps_val: "1"
            value: low
          - dps_val: "2"
            value: medium
          - dps_val: "3"
            value: high

  # EXTRA MODES / PRESETS
  - entity: select
    name: Work Mode
    category: config
    icon: mdi:tune-variant
    dps:
      - id: 6
        name: option
        type: string
        mapping:
          - dps_val: botany
            value: Botany
          - dps_val: piano
            value: Piano
          - dps_val: pet
            value: Pet

  - entity: select
    name: Humidity Preset
    category: config
    icon: mdi:water-percent
    dps:
      - id: 102
        name: option
        type: string
        mapping:
          - dps_val: cancel
            value: Off
          - dps_val: "30"
            value: 30%
          - dps_val: "35"
            value: 35%
          - dps_val: "40"
            value: 40%
          - dps_val: "45"
            value: 45%
          - dps_val: "50"
            value: 50%
          - dps_val: "55"
            value: 55%
          - dps_val: "60"
            value: 60%
          - dps_val: "65"
            value: 65%
          - dps_val: "70"
            value: 70%
          - dps_val: "75"
            value: 75%
          - dps_val: "80"
            value: 80%
          - dps_val: "85"
            value: 85%
          - dps_val: "90"
            value: 90%

  - entity: switch
    name: Use Target Humidity
    category: config
    icon: mdi:water-check
    dps:
      - id: 106
        name: switch
        type: boolean

  # ENVIRONMENT SENSORS
  - entity: sensor
    name: Room Temperature
    class: temperature
    category: diagnostic
    unit: "°F"           # HA will auto-convert to °C if your system is metric
    dps:
      - id: 12
        name: sensor
        type: integer

  - entity: sensor
    name: Humidity State
    category: diagnostic
    dps:
      - id: 103
        name: sensor
        type: string
        mapping:
          - dps_val: dry
            value: Dry
          - dps_val: comfortable
            value: Comfortable
          - dps_val: damp
            value: Damp

  # FAULTS & DIAGNOSTICS (DP 22)
  - entity: binary_sensor
    name: Tank Empty
    category: diagnostic
    icon: mdi:cup-water
    dps:
      - id: 22
        name: sensor
        type: bitfield
        mapping:
          - mask: 0x20
            value: true
          - value: false

  - entity: binary_sensor
    name: Overheat Sensor Fault
    category: diagnostic
    icon: mdi:thermometer-alert
    dps:
      - id: 22
        name: sensor
        type: bitfield
        mapping:
          - mask: 0x02
            value: true
          - value: false

  - entity: binary_sensor
    name: Ultrasonic Water Sensor Fault
    category: diagnostic
    icon: mdi:water-alert
    dps:
      - id: 22
        name: sensor
        type: bitfield
        mapping:
          - mask: 0x04
            value: true
          - value: false

  - entity: binary_sensor
    name: PCB Temperature Fault
    category: diagnostic
    icon: mdi:chip
    dps:
      - id: 22
        name: sensor
        type: bitfield
        mapping:
          - mask: 0x08
            value: true
          - value: false

  - entity: binary_sensor
    name: UART Communication Error
    category: diagnostic
    icon: mdi:connection
    dps:
      - id: 22
        name: sensor
        type: bitfield
        mapping:
          - mask: 0x10
            value: true
          - value: false

  - entity: binary_sensor
    name: I2C Communication Error
    category: diagnostic
    icon: mdi:bus-alert
    dps:
      - id: 22
        name: sensor
        type: bitfield
        mapping:
          - mask: 0x40
            value: true
          - value: false

  - entity: binary_sensor
    name: Other Fault
    category: diagnostic
    icon: mdi:alert
    dps:
      - id: 22
        name: sensor
        type: bitfield
        mapping:
          - mask: 0x01
            value: true
          - value: false

  - entity: sensor
    name: Fault Code (raw)
    category: diagnostic
    dps:
      - id: 22
        name: fault_code
        type: bitfield```

Metadata

Metadata

Assignees

No one assigned

    Labels

    full_infoAll info needed was providednew deviceUnsupported device

    Projects

    Status

    🔖 Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions