-
Notifications
You must be signed in to change notification settings - Fork 32
4. HVAC systems
The ramses_cc integration supports HVAC systems (HRUs, CVEs, and PIVs), such as from Itho Daalderop and Orcon. Support extends to their remotes and sensors.
These notes apply to release 0.55.6 and later.
HVAC devices that are not specified elsewhere in the schema should be added as 'orphans'. This creates these entities without having to wait for that information to be eavesdropped (a packet from the device is received by the USB dongle). Add the device IDs to your System schema configuration block as follows:
orphans_hvac:
- "30:111111"
- "32:333333"
- "32:555555"
- "32:666666"The creation of a Known device IDs list is not required but strongly recommended.
-
Enforcing the known list will prevent unknown device IDs to end up in your schema.
-
For HVAC devices, it is required to specify the class of the device because - unlike Heat devices - RAMSES RF cannot infer the device class (type) from the device ID.
Note that known devices are not instantiated unless they are either discovered, eavesdropped, or in the schema (config schema, orphans or cached schema).
An example of a known list is shown here:
"18:123456": # Honeywell HGI80
"30:111111:
class: FAN # a HRU, CVE or PIV
bound: "32:333333" # used to tell ramses_cc which remote this fan accepts commands from (this does not replace the RF Binding that is also required)
"32:333333:
class: REM # RF remote
faked: true # an impersonatable remote
"32:555555:
class: CO2
faked: true # a fully faked sensor
"32:666666:
class: HUMBeware: For your system, a
29:may be a fan, and not a remote, or a32:may be a sensor and not a fan, etc..
To control HVAC systems from Home Assistant, remote faking can be used. To do so, the Known device IDs list needs to be extended. An example is shown below:
"28:111111": { class: REM, faked: true, scheme: orcon } # NB: `scheme` is not yet implemented
"29:123456":
class: REM
faked: True
commands:
low: ' I --- 29:123456 --:------ 29:123456 22F1 003 000107'
medium: ' I --- 29:123456 --:------ 29:123456 22F1 003 000207'
high: ' I --- 29:123456 --:------ 29:123456 22F1 003 000307'The extra options here are faked, scheme, and commands.
-
faked: a boolean indicator used to set the device as faked - this is required -
commands: allows for the user to explicitly specify commands that can be send using the faked remote ifschemecannot be used -
scheme(TBA): used to provide the set of commands from a remote, which can vary by manufacturer/model
To discover/add commands from your physical remote, a service call can be used. In Home Assistant, go to Developer Tools, tab Actions and select the service call Remote: Learn Command. In UI-mode select a target remote and fill in a timeout. You may switch to the YAML-mode to paste this example or check your details:
action: ramses_cc.learn_command
data:
command: Auto
timeout: 30
target:
entity_id: remote.29_123456With everything filled in, click Perform Action. ramses_cc will now listen for the command. Press the button on your remote that you want your faked remote to learn and you will see a green checkmark appear. The command is now learned and will be registered to your entity.
Similar to command learning there is a 'command send' service call. In Home Assistant, go to Developer Tools, tab Actions and select the service call Remote: Send Command. In UI-mode select your target remote from the list of remotes. You may switch to YAML-mode to check the details, for example:
action: ramses_cc.send_command
target:
entity_id: remote.29_123456
data:
command: Auto
num_repeats: 3
delay_secs: 0.05The last two lines are optional.
Click the Perform Action button and ramses_cc will send the command named Auto. Note that capitalisation is important, as the command should match. If your faked remote is defined as bound: 29:123456 under your FAN in the Known List as in the example above, it should respond to the command. To see which commands are supported for your remote, go to Developer Tools, tab STATES and select your remote entity. Your commands will appear under State Attributes (as far as you previously defined them in your Known List).
Older ramses_cc releases used a different format where you manually had to enter your device, but HomeAssistant now presents all remotes for you to pick one.
- to be added
Supported fans return data structures (31DA and 31D9) that contain climate information like temperature, humidity and CO2 levels.
- You can collect the relevant items from your HVAC device on a custom deshboard, effectively hiding unused items that you always see in the Climate or Remote entity under Integrations > Ramses RF.
This is a Nuaire 4-way switch Known device IDs fragment:
30:082155: { class: FAN, _note: Nuaire PIV }
32:222222:
class: REM
faked: true
commands:
normal: ' I --- 32:222222 30:082155 --:------ 22F1 003 00020A'
boost: ' I --- 32:222222 30:082155 --:------ 22F1 003 00030A'
heater_auto: ' I --- 32:222222 30:082155 --:------ 22F1 003 000A0A'
heater_off: ' I --- 32:222222 30:082155 --:------ 22F1 003 00090A'
_note: Nuaire DRI-ECO-4S (4-way switch)This is an Orcon remote (WIP): Known device IDs fragment:
32:123456 : { class: FAN, _note: Orcon HRC 400 }
29:123456:
class: REM
faked: True
commands:
away: ' I --- 29:123456 32:123456 --:------ 22F1 003 000007'
low: ' I --- 29:123456 32:123456 --:------ 22F1 003 000107'
medium: ' I --- 29:123456 32:123456 --:------ 22F1 003 000207'
high: ' I --- 29:123456 32:123456 --:------ 22F1 003 000307'
auto: ' I --- 29:123456 32:123456 --:------ 22F1 003 000407'
auto2: ' I --- 29:123456 32:123456 --:------ 22F1 003 000507'
boost: ' I --- 29:123456 32:123456 --:------ 22F1 003 000607'
disable: ' I --- 29:123456 32:123456 --:------ 22F1 003 000707'
bypass_open: ' W --- 29:123456 32:123456 --:------ 22F7 003 00C8EF'
bypass_close: ' W --- 29:123456 32:123456 --:------ 22F7 003 0000EF'
bypass_auto: ' W --- 29:123456 32:123456 --:------ 22F7 003 00FFEF'
reset_filter: ' W --- 29:123456 32:123456 --:------ 10D0 002 00FF'
_note: based upon an Orcon 15RF 6-button remote (VMN-15LF01)