Binnen Home Assistant is er een bestand genaamd ‘secrets.yaml‘ waarin wachtwoorden, pincodes en andere geheime zaken gedefinieerd kunnen worden zodat Home Assistant dit kan gebruiken wanneer nodig.
Veel verwijzingen vanuit integraties waarbij een gebruikersnaam/wachtwoord nodig is, kunnen via de !secret optie hier gebruik van maken zodat deze niet als leesbare tekst in allerlei bestanden komen te staan en bijkomend voordeel is dat bij een wijziging hoeft dan alleen het secrets.yaml bestand aangepast te worden.
Meer informatie over het gebruik van secrets vind je hier.
Secrets in helpers plaatsen
Als voorbeeld gebruik ik een alarmcode die gedefinieerd is in de secrets.yaml file als ‘alarmcode’:
alarmcode: 1234
Om nu deze secret in scripts en/of automatiseringen te kunnen gebruiken, zet ik deze eerst in een helper van het type text. Dat doe ik door een verwijzing te maken in configuration.yaml voor input_text items:
input_text: !include input_text.yaml
en daarmee worden de items die in het bestand input_text.yaml staan meegenomen in Home Assistant als text-helpers.
Het voorbeeld van de alarmcode naar een text-helper wordt dan in het bestand input_text.yaml:
alarmcode: name: AlarmCode initial: !secret alarmcode
De text-helper is dan als entiteit binnen Home Assistant bekend als: input_text.alarmcode en de inhoud is de code uit het secrets.yaml bestand, dus ‘1234’
Automatisering/scripts met variable
Binnen de automatiseringen en scripts van Home Assistant worden ‘Acties‘ gebruikt om iets te doen en om een variabele te definiëren en dan in een actie te gebruiken, dienen deze als Actions gedefinieerd te worden.
De eerste actie is het definiëren van een variabele waarbij dan wat yaml-code ingetypt dient te worden. Bijvoorbeeld om de inhoud van de input_text.alarmcode op te halen en in de variabele ‘alarmcode‘ te plaatsen:
Vervolgens maken we een tweede actie om het alarm uit te zetten met behulp van deze code. De actie is Alarmbedieningspaneel Uitschakelen:
waarbij de code ingevoerd dient te worden als "{{ alarmcode }}"
en daardoor zal direct de actie als yaml-code weergegeven worden omdat de visuele editor geen sjablonen ondersteund.
Kies voor Script opslaan (of Automatisering opslaan) links-onder en afhankelijk van de trigger die gebruikt gaat worden zal deze actie het alarmpaneel uitzetten met de code zoals die in het secrets.yaml bestand staat zonder de code in de automatisering zelf als tekst in te vullen.