BACnet-acties voor Home Assistant automatiseringen
De integratie voegt zes acties (vroeger services genoemd) toe in het domein bacnet. Gebruik ze in automatiseringen, scripts en Developer tools → Actions. De meeste werken op een doelentiteit van deze integratie. Een paar kunnen ook objecten bereiken die je niet hebt geïmporteerd; daarvoor is een beheerdersaccount nodig, omdat ze elk object op het apparaat kunnen bereiken.
| Actie | Wat het doet |
|---|---|
bacnet.write_value | Schrijf één keer een waarde, met een gekozen prioriteit, of schrijf een andere property |
bacnet.relinquish | Geef de opdracht van Home Assistant op een object vrij |
bacnet.read_property | Lees een willekeurige property en geef die terug als responsdata |
bacnet.read_schedule | Geef een Schedule-object terug als responsdata |
bacnet.write_schedule | Wijzig delen van een Schedule-object |
bacnet.read_trend_log | Geef de records van een Trend Log terug |
Acties die data teruggeven gebruik je met response_variable in een automatisering.
bacnet.write_value
Schrijft één keer een waarde: de present value van een object met een gekozen prioriteit, zonder de instelling Write Priority van het apparaat te wijzigen, of een andere property. Doel: elke entiteit van deze integratie. Binaire objecten nemen 0 (inactive) of 1 (active).
| Veld | Verplicht | Beschrijving | Voorbeeld |
|---|---|---|---|
value | Ja | Te schrijven waarde. Binaire objecten: 0 = inactive, 1 = active. Andere properties nemen een getal, true/false of tekst. | 21.5 |
priority | Nee | Prioriteitsniveau om mee te schrijven (1 tot 16). Standaard de Write Priority van het apparaat. Geldt alleen voor de present value. | 11 |
property | Nee | BACnet-property om te schrijven, op naam of nummer. Zonder dit veld: de property die een extra-property-entiteit toont, anders de present value. | minimumOnTime |
device | Nee | Alleen voor objecten die niet zijn geïmporteerd: het BACnet-apparaat. Geef dan ook het objecttype en de instance op; de doelentiteit wordt genegeerd. | |
object_type | Nee | Alleen met device: type van het object, op naam of nummer. | analog-value |
instance | Nee | Alleen met device: instancenummer van het object. | 12 |
action: bacnet.write_value
target:
entity_id: number.meeting_room_occupancy
data:
value: 1
priority: 11
Schrijfacties naar andere properties hebben nooit een prioriteit; alleen de present value heeft een Priority Array. Waarden worden verstuurd in het BACnet-type van de property. Een andere property dan de present value schrijven wijzigt de configuratie van het object en is daarom alleen toegestaan voor beheerders. Zie Extra properties.
bacnet.relinquish
Geeft de opdracht van Home Assistant op een object vrij door Null te schrijven op een prioriteitsniveau, zodat lagere prioriteiten of de Relinquish Default het overnemen. Doel: een switch-, number- of climate-entiteit van deze integratie.
| Veld | Verplicht | Beschrijving | Voorbeeld |
|---|---|---|---|
priority | Nee | Prioriteitsniveau om vrij te geven (1 tot 16). Standaard de Write Priority van het apparaat. | 8 |
action: bacnet.relinquish
target:
entity_id: switch.ahu_1_supply_fan
data:
priority: 8
Geef altijd vrij op de prioriteit waarop je hebt geschreven. Uitschakelen of 0 schrijven geeft het object de opdracht uit te gaan; alleen bacnet.relinquish geeft het vrij. Zie Hoe schrijven werkt.
bacnet.read_property
Leest een willekeurige property van een object en geeft die terug als responsdata. Doel: elke entiteit van deze integratie.
| Veld | Verplicht | Beschrijving | Voorbeeld |
|---|---|---|---|
property | Nee | BACnet-property om te lezen, op naam of nummer. Zonder dit veld: de property die een extra-property-entiteit toont, anders de present value. | minimumOnTime |
array_index | Nee | Lees één element van een array-property (0 = aantal elementen). | 0 |
device | Nee | Alleen voor objecten die niet zijn geïmporteerd: het BACnet-apparaat. | |
object_type | Nee | Alleen met device: type van het object, op naam of nummer. | analog-value |
instance | Nee | Alleen met device: instancenummer van het object. | 12 |
action: bacnet.read_property
target:
entity_id: switch.ahu_1_ventilation_fan
data:
property: minimumOnTime
response_variable: result
De respons ziet eruit als {"switch.ahu_1_ventilation_fan": {"object": "4:3", "property": "minimumOnTime", "value": 300}}. Als het apparaat weigert, bijvoorbeeld met unknown-property, mislukt de actie met de foutmelding van het apparaat.
bacnet.read_schedule
Geeft een Schedule-object terug als responsdata. Doel: een Schedule-sensor. Er zijn geen velden. Details en de vorm van de respons staan in Schedules.
action: bacnet.read_schedule
target:
entity_id: sensor.meeting_room_schedule
response_variable: schedule
bacnet.write_schedule
Wijzigt delen van een Schedule-object, in dezelfde vorm als bacnet.read_schedule teruggeeft. Velden die je weglaat blijven ongemoeid. Het schedule wordt daarna teruggelezen en de actie mislukt als het apparaat de wijziging weigerde of iets anders opsloeg. Doel: een Schedule-sensor.
| Veld | Verplicht | Beschrijving | Voorbeeld |
|---|---|---|---|
weekly_schedule | Nee | Weekdagen (monday tot sunday) gekoppeld aan een lijst met items met een time en een value. Alleen de dagen die je meegeeft worden gewijzigd. Een value van null geeft vrij naar de standaardwaarde. | {"monday": [{"time": "08:00:00", "value": 21.0}, {"time": "17:00:00", "value": 16.0}]} |
exception_schedule | Nee | Volledige lijst met uitzonderingen, die de bestaande lijst vervangt. | [{"period": {"date": "2026-12-25"}, "priority": 10, "time_values": [{"time": "00:00:00", "value": 12.0}]}] |
schedule_default | Nee | Waarde die geldt als er geen week- of uitzonderingsitem van toepassing is. | 16.0 |
effective_period | Nee | Begin- en einddatum waartussen het schedule actief is. | {"start": "2026-01-01", "end": "2026-12-31"} |
allow_removal | Nee | Sta toe dat het exception schedule wordt geschreven, ook als daarbij uitzonderingen verdwijnen die het apparaat nu heeft. Standaard uit. | false |
action: bacnet.write_schedule
target:
entity_id: sensor.ddc_heating_schedule
data:
weekly_schedule:
monday:
- { time: "06:30:00", value: 21.5 }
- { time: "22:00:00", value: null }
Lees Schedules voordat je schrijft: uitzonderingen, datums en allow_removal hebben regels die de controller beschermen.
bacnet.read_trend_log
Leest de records van een Trend Log en geeft ze terug als responsdata. Doel: een Trend Log-sensor.
| Veld | Verplicht | Beschrijving | Voorbeeld |
|---|---|---|---|
device | Nee | Alleen voor een Trend Log die niet is geïmporteerd: het BACnet-apparaat. | |
instance | Nee | Alleen met device: instancenummer van het Trend Log-object. | 4 |
start | Nee | Geef records vanaf dit moment terug (lokale tijd van het apparaat). Zonder dit veld komen de meest recente records terug. | {{ now() - timedelta(hours=24) }} |
count | Nee | Maximaal aantal records, 1 tot 1000. Standaard 100. | 500 |
action: bacnet.read_trend_log
target:
entity_id: sensor.ahu_1_supply_temperature_log
data:
start: "{{ now() - timedelta(hours=24) }}"
count: 500
response_variable: trend
Zie Trend logs voor het responsformaat.