Posts

Posts uit 2021 weergeven

Automatische gordijnen

Afbeelding
  Het laatste wat in mijn huis nog niet was aangesloten aan de domotica, waren de gordijnen; in de keuken had ik al een rolgordijn van Ikea neergehangen die gekoppeld is aan mijn domotica, maar de huiskamer was nog voorzien van een ouderwetse simpele gordijnrails.  Aangezien deze inmiddels van pure ouderdom aan het bezwijken was (rollers die kapot sprongen, de bevestiging aan het plafond die loskwam), leek me dit het uitgelezen moment om over te gaan op nieuwe rails, die ook direct op afstand bestuurd konden worden. Na een kleine speurtocht op internet bleek te keus redelijk overzichtelijk: ik kon kiezen voor wat obscure Chinese producten, of een oerdegelijk Nederlands product: de Forest Shuttle. Dit systeem met een op maat gemaakte gordijnrails (zelfs in een bocht te krijgen) is het ultieme gordijnsysteem. Het was wel redelijk aan de prijs, maar aangezien dit deel uitmaakt van de vaste inrichting van het huis is dat relatief: dit systeem zal waarschijnlijk de eerste 10 jaar geen onder

NFC Scanner voor toegangscontrole

Afbeelding
  Deuren en Sloten Omdat ik al geruime tijd de deuropeners had geautomatiseerd, lag het voor de hand om een toegangssysteem te bouwen wat automatisch de deuren opende als een bevoegd iemand voor de deur stond. Ik heb verschillende methoden bekeken: gezichtsherkenning vingerafdrukscanner RFID en/of de opvolger, NFC Toen ik de kans kreeg om goedkoop een aantal NFC/RFID scanners aan te schaffen, ben ik met het laatste idee aan de haal gegaan. Het bleek redelijk makkelijk om zowel met Arduino als onder Python de 'tags' uit te lezen: Arduino:  Hierbij gebruik ik de Adafruit PN532 library, die zowel SPI als I2C ondersteunt; ik gebruik i2c. #include <Adafruit_PN532.h> #define PN532_IRQ   (2) #define PN532_RESET (3) Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET); void setup(void) {   nfc.begin();   uint32_t versiondata = nfc.getFirmwareVersion();   if (! versiondata) {     Serial.print("Didn't find PN53x board");     while (1); // halt   }   nfc.SAMConfig(); } void loop

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