-
Notifications
You must be signed in to change notification settings - Fork 32
5.2 Faking Remotes (switches)
NOTE: This feature relies on user-provided bind sequences, specific for a device model and manufacturer (OEM). They have been collected in this repository, and were eavesdropped from traffic between the original physical devices and accessories. You are invited to contribute!
Accessories used for remote faking include:
- Itho remote to a FAN
- Nuaire 4-way switch to a PIV (positive ventilation unit)
- Orcon RF15 to a HRU (heat recovery ventilation unit)
- Vasco 4-button remote to HRU
- ClimaRad 4-button remote to MiniBox fan
The binding will require OEM-specific information. The following should work:
| OEM | device type | OEM code |
device_info payload |
|---|---|---|---|
| Itho | 37: |
01 |
0000010028090101FEFFFFFFFFFF140107E5564D532D313243333900 |
| Nuaire | 32: |
6C |
000001C85A01016CFFFFFFFFFFFF010607E0564D4E2D32334C4D48323300 |
| Orcon | 37: |
67 |
000001C894030167FFFFFFFFFFFF1B0807E4564D492D313557534A353300 |
Tip: If your vendor isn't one of the above, you can determine the OEM by inspecting the parsed
10E0payload from your accessory in the HomeAssistant system log (byte 8 is the OEM code).
WIP
WIP
This section describes binding a faked Nuaire DRI-ECO-4S to a DRI-ECO-HEAT-HC. Other models should work, but YMMV.
Nuaire PIVs only support a single switch (plus a single CO2, and a single humidity sensor).
To declare a faked remote called 32:123456, add this to your Known device IDs config (and restart HA):
"32:123456":
class: REM
faked: true # device type 32: for NuaireNote: There is no need for the remote to be in the Schema, but you should add the remote’s id as
bound:element under the fan in your Known List.
To bind the switch, put the PIV into binding mode and invoke this Action:
action: ramses_cc.bind_device
data:
device_id: 32:123456
offer:
"22F1": # 4-way switches only support 22F1
"10E0": # double-quotes are required for 10E0
device_info: " I --- 32:123456 63:262142 --:------ 10E0 030 000001C85A01016CFFFFFFFFFFFF010607E0564D4E2D32334C4D48323300"Note: Binding will fail without a valid
device_infopacket. The double quotes are necessary to protect the leading space.
Successful bindings will have an I-W-I sequence in the packet log similar to:
> ~ grep config/packet.log -E ' (10E0|1FC9) '
21:04:54.304429 000 I --- 32:123456 --:------ 32:123456 1FC9 024 0022F18325AA6C10E08325AA001FC98325AA
21:04:54.382823 050 W --- 30:082155 32:123456 --:------ 1FC9 012 2131DA7940EB6C10E07940EB
21:04:54.465230 000 I --- 32:123456 30:082155 --:------ 1FC9 001 21
21:04:54.546717 000 I --- 32:123456 63:262142 --:------ 10E0 030 000001C85A01016CFFFFFFFFFFFF010607E0564D4E2D32334C4D48323300NOTE: Write down the device id of your PIV (this one is
30:082155); you will need it to create the commands later on.
Add these commands to your Known device IDs config (and restart HA):
"32:123456":
class: REM
faked: true
commands:
normal: ' I --- 32:123456 30:082155 --:------ 22F1 003 00020A'
boost: ' I --- 32:123456 30:082155 --:------ 22F1 003 00030A'
heater_off: ' I --- 32:123456 30:082155 --:------ 22F1 003 00090A'
heater_auto: ' I --- 32:123456 30:082155 --:------ 22F1 003 000A0A'
battery_ok: ' I --- 32:123456 --:------ 32:123456 1060 003 00FF01'
get_fan_info: 'RQ --- 32:123456 30:082155 --:------ 31DA 001 00'Note: You need to use the device_id of your PIV, which is unlikely to be
30:082155.
Then, to invoke a command, use the ramses_cc.send_command Action:
action: ramses_cc.send_command
target:
entity_id: remote.32_123456
data:
command: boostThis is how to bind an Orcon 15RF to an MVS-15...
To initiate a bind, put the HRU into binding mode and use this Action:
action: ramses_cc.bind_device
data:
device_id: 37:123456
offer:
"22F1":
"22F3":
"10E0":
device_info: " I --- 37:123456 63:262142 --:------ 10E0 038 000001C894030167FFFFFFFFFFFF1B0807E4564D492D313557534A3533000000000000000000"Note: Binding will fail without a valid
device_infopayload. Note the leading space, which has necessitated the double quotes.
Successful bindings will have an I-W-I sequence in the packet log similar to::
> ~ grep config/packet.log -E ' (10E0|1FC9) '
21:04:54.304429 000 I --- 37:123456 --:------ 32:123456 1FC9 024 0022F18325AA6C10E08325AA001FC98325AA
21:04:54.382823 050 W --- 32:082155 37:123456 --:------ 1FC9 012 2131DA7940EB6C10E07940EB
21:04:54.465230 000 I --- 37:123456 32:082155 --:------ 1FC9 001 21
21:04:54.546717 000 I --- 37:123456 63:262142 --:------ 10E0 038 000001C894030167FFFFFFFFFFFF1B0807E4564D492D313557534A3533000000000000000000NOTE: Write down the device id of your PIV (this one is
32:082155), you will need it to create the commands below.
29:163367:
class: REM
_note: Orcon 15RF remote
commands:
away: " I --- 37:123456 32:082155 --:------ 22F1 003 000004"
low: " I --- 37:123456 32:082155 --:------ 22F1 003 000104"
medium: " I --- 37:123456 32:082155 --:------ 22F1 003 000204"
high: " I --- 37:123456 32:082155 --:------ 22F1 003 000304"
auto: " I --- 37:123456 32:082155 --:------ 22F1 003 000404"
timer_15mins: " I --- 37:123456 32:082155 --:------ 22F3 007 00020F03040000"
timer_30mins: " I --- 37:123456 32:082155 --:------ 22F3 007 00021E03040000"
timer_60mins: " I --- 37:123456 32:082155 --:------ 22F3 007 00023C03040000"WIP