Posts

Posts uit februari, 2021 weergeven

MQTT Discovery in Python

Afbeelding
 Voor een toepassing met een 32x32 led matrix van Adafruit zocht ik een manier om bepaalde instellingen van dit display te kunnen triggeren vanaf Home Assistant. Mijn opstelling was als volgt: Een Raspberry Pi 3B+ met Adafruit's RGB Matrix bonnet Een 32x32 RGB Matrix LED display Een grote rode knop met LED In eerste instantie heb ik de LED in de knop aangestuurd met behulp van de 'pigpiod' software (http://abyz.me.uk/rpi/pigpio/pigpiod.html), deze software biedt de mogelijkheid om de gpio pins van een Raspberry pi op afstand aan te sturen, en dit wordt binnen Home Assistant ondersteund (https://www.home-assistant.io/integrations/rpi_gpio/). Zo kon ik dus zowel de knop als de LED als respectievelijk een binaire sensor en een switch (of light) binnen Home Assistant gebruiken. Daarnaast wilde ik de animatie van het LED display kunnen sturen. Na veel gepuzzel kwam ik op de volgende oplossing: Een script dat luistert op een MQTT topic en dit schrijft naar een 'named pipe'

Automatisering in Home Assistant

Afbeelding
De regels in Home Assistant om acties uit te voeren op basis van sensors en andere parameters worden 'Automations' genoemd. Een automation bestaat uit minimaal de volgende zaken: Een 'trigger': dit is een verandering die er voor zorgt dat de automatisering gestart wordt; meestal is dit een statusverandering (bijvoorbeeld een knop of sensor die aan- of uitgaat), maar het kan ook een verandering in waarde zijn van een sensor beneden of boven een bepaalde grenswaarde. Een of meer 'Actions': dit zijn de acties die de automatisering moet uitvoeren als de automatisering wordt uitgevoerd. Daarnaast zijn er nog meer mogelijkheden: Conditions: dit zijn voorwaarden die gecontroleerd worden: als aan deze voorwaarden wordt voldaan, wordt de automatisering uitgevoerd. 'Choose - Default' constructies: hierbij wordt bij de uitvoering van de automation een keuze gemaakt tussen verschillende acties, op basis van bepaalde condities. Een (relatief) simpele automation ziet