Hoe schrijven werkt in de Home Assistant BACnet-integratie
Veiligheid op een live gebouw
Wat deze integratie naar je apparaten schrijft, zodat je het weet voordat je het op een draaiend gebouw probeert:
- Alleen schrijven op jouw actie. Home Assistant schrijft alleen een waarde als jij of een automatisering iets schakelt, instelt of een actie aanroept. Discovery, polling en COV-abonnementen veranderen geen waarden.
- Eén uitzondering: COV increment. Als je de COV increment boven
0zet, wordt die geschreven naar de propertycovIncrementvan elk geïmporteerd analoog object (met COV) waarvan de waarde op het apparaat afwijkt. - Standaard prioriteit 16. Entiteiten schrijven met de laagste prioriteit, dus alles op 1 tot 15, inclusief een Manual Operator-opdracht op 8, wint nog steeds.
- Acties kunnen hoger gaan.
bacnet.write_valueenbacnet.relinquishaccepteren elke prioriteit van 1 tot 16. Een schrijfactie op 1 tot 7 wint van een Manual Operator-opdracht; gebruik die niveaus alleen bewust. - Uitzetten is een opdracht. Uitschakelen schrijft
inactiveop dezelfde prioriteit. Het geeft de output niet vrij. Gebruikbacnet.relinquishom de regeling terug te geven. - Schedules hebben geen prioriteit.
bacnet.write_schedulewijzigt de configuratie van het Schedule-object zelf. Het weigert bestaande uitzonderingen te verwijderen tenzij jeallow_removalzet, en leest het resultaat terug. Zie Schedules. - Nog geen alleen-lezenmodus. Om een object alleen-lezen te houden, importeer je het als
sensorofbinary_sensor, of laat je het weg. Acties kunnen nog steeds naar elk object op het apparaat schrijven.
Waarschuwing: De integratie wordt geleverd zoals ze is, zonder garantie. Gebruik haar niet om life-safety-systemen aan te sturen, zoals brandmelding of rookbeheersing. Jij bent verantwoordelijk voor wat je naar een draaiend gebouw schrijft; test eerst op één object.
De Priority Array
Met BACnet kunnen meerdere schrijvers tegelijk één output aansturen. Elke schrijver gebruikt een van de 16 prioriteitsniveaus, en het apparaat voert het laagst genummerde niveau uit dat een waarde heeft. Deze lijst van 16 plekken is de Priority Array. Niveau 8 is volgens afspraak de Manual Operator; niveau 16 is het laagste.
Alle schrijfacties naar commandable objecten gebruiken deze array:
- Aanzetten of een waarde instellen schrijft op de ingestelde prioriteit (standaard 16).
- Uitzetten schrijft
inactive(0) op dezelfde prioriteit. Dit stuurt de output uit; het geeft hem niet vrij. - Climate → Off geeft het setpoint vrij (schrijft Null), zodat het schedule of de Relinquish Default van het apparaat het overneemt. Zie Climate.
- Vrijgeven (relinquish) maakt de plek op die prioriteit leeg, zodat lagere prioriteiten of de Relinquish Default het overnemen. Gebruik de actie
bacnet.relinquish; zie Acties.
Binaire outputs gebruiken het BACnet-type Enumerated: 0 is inactive, 1 is active. Weigert een apparaat een schrijfactie, dan toont Home Assistant een foutmelding in plaats van stilletjes de oude status te houden.
Write Priority select
Aan elk BACnet-apparaat wordt een select-entiteit Write Priority toegevoegd (onder Configuration op de apparaatpagina). Die is standaard uitgeschakeld om dashboards overzichtelijk te houden.
Zo gebruik je hem:
- Ga naar Settings → Devices & Services → BACnet IP en open je apparaat.
- Zoek de entiteit Write Priority en schakel hem in.
- Kies in de keuzelijst een prioriteit.
Stap voor stap: Switch met prioriteit.
Beschikbare niveaus: 8 (Manual Operator), 9, 12, 13, 14, 15 en 16 (standaard, laagste). Prioriteit 16 is de veiligste standaard; gebruik 8 als je gebouwbeheersysteem een Manual Operator-override vereist. De gekozen prioriteit blijft behouden na herstarts. Hij geldt voor schrijfacties van entiteiten en voor acties die geen eigen priority meegeven.