Zigbee2MQTTZigbee2MQTT
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)

Heiman HS2IRC

ModelHS2IRC
VendorHeiman
DescriptionSmart IR Control
Exposesbattery
PictureHeiman HS2IRC

Notes

Device can learn up to 15 devices and up to 30 keycodes for each device.

Configuring

By publishing to zigbee2mqtt/FRIENDLY_NAME/set various device attributes can be configured:

Create device

Request:

{
    "create": {
        "model_type": 55
    }
}
  • model_type: User-defined model ID. Used just for reference. Can be 1..255.

Response:

{
    "action": "create",
    "action_result": "success",
    "action_model_type": 55,
    "action_id": 1
}
  • action_result: (success/error). Action result.
  • action_model_type: User-defined model ID. 1..255
  • action_id: Internal device slot ID. Total IR transmitter can store up to 15 devices with ID 1..15

NOTE: You should call get_list manually to refresh devices topic.

Learn key

Request:

{
    "learn": {
        "id": 1,
        "key_code": 31
    }
}
  • id: Internal device slot ID. 1..15.
  • key_code: Keycode slot ID. 1..30 - Store/replace specific key in specified slot ID. >=31 - Create slot ID.

NOTE: You should store keys one-by-one if you specified key_code by yourself.

Response:

{
    "action": "learn",
    "action_result": "success",
    "action_key_code": 1,
    "action_id": 1
}
  • action_result: (success/error). Action result.
  • action_key_code: Internal keycode slot ID, where key was stored. 1...30
  • action_id: Internal device slot ID. 1..15

NOTE: You should call get_list manually to refresh devices topic after learning key.

Send stored key

Request:

{
    "send_key": {
        "id": 1,
        "key_code": 1
    }
}
  • id: Internal device slot ID. 1..15.
  • key_code: Keycode slot ID. 1..30.

Get list of the stored devices and keys

Request:

{
    "get_list": ""
}

Response:

{
  "devices": [
    {
      "id": 1,
      "key_codes": [
        1,
      ],
      "model_type": 55
    }
  ]
}

Delete device or keycode

Request:

{
    "delete":{
        "id": 1,
        "key_code": 31
    }
}
  • id: 1..15 - Delete specific device with ID. >=16 - Delete all devices.
  • key_code: 1..30 -Delete specific keycode. >=31 - Delete all keycodes for specified device ID.

Exposes

Battery (numeric)

Remaining battery in %, can take up to 24 hours before reported. Value can be found in the published state on the battery property. It's not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 100. The unit of this value is %.

Help to make the docu better and edit this page on Github ✌
Last Updated:: 6/23/25, 6:37 PM