egregius.be

Urban Exploration, PHP and others…

PHP Floorplan for Domoticz

Zowat een jaar geleden startte ik met wat basis domotica in ons huis. Destijds werd eerst een Homewizard gekocht, samen met wat Smartwares spulletjes. Al snel liep ik toen tegen beperkingen aan en ging ik aan de slag om er een eigen web interface voor te maken.
Korte tijd later werd duidelijk dat Homewizard nooit zou voldoen aan mijn eisen. Onbetrouwbare hardware, baggere firmware updates en simpelweg het feit dat het 433Mhz protocol niet betrouwbaar noch veilig is.

Na vele uren reviews lezen kwam ik uiteindelijk uit bij Domoticz. Een Raspberry Pi 2 werd besteld en al gauw ontdekten we een hele andere wereld van domotica. In eerste instantie werd de Homewizard nog ingezet voor het schakelen van het Smartwares materiaal, later diende hij enkel nog voor de thermometers. Het Smartwares spul werd dan aangestuurd via een RFXCOM wat al meteen een grote verbetering was in betrouwbaarheid. Doch, helaas stuitte ik steeds vaker tegen de problemen van het 433Mhz X10 protocol. Ontvangers zijn uiterst gevoelig voor storingen van buitenaf (elektronica, elektriciteitsleidingen) alsook van de hoek waarbij het signaal door de muur moet. Commando’s werden gestuurd maar niet uitgevoerd.

Domoticz werd bijgevolg al snel uitgebreid met een Aeon Z-Wave stick. Z-Wave is ook een draadloos protocol, op een hogere frequentie 868Mhz, met het grote voordeel dat er twee-weg communicatie is. De zender weet dus ook dat het bericht aangekomen is en stuurt het desnoods opnieuw. Een ander groot voordeel van Z-Wave is het mesh netwerk. Heel wat schakelaars doen dienst als hub waardoor het signaal verder en betrouwbaarder verstuurd kan worden.

zwave

Uiteraard, ook bij Domoticz stuitte ik al snel tegen kleine issues aan. Eindeloos scrollen om de juiste schakelaar in de lijst te vinden was daar een van. Dus, opnieuw wat PHP code geschreven met het PHP Floorplan als resultaat.

floorplan


Dat Floorplan laat mij toe om op 1 enkel scherm de volledige situatie van het huis te zien. Overal werden de radiatoren voorzien van Danfoss LC-13 thermostaatkranen en de kamers uitgerust met een Fibaro rookmelders. Deze rookmelder heeft ook een thermometer die bijzonder snel reageert op temperatuurwijzigingen. Ideaal dus om die in te zetten om de verwarming te regelen. Ook heel wat van de lichtschakelaars werden uitgerust met Qubino relay’s of dimmers.

Eens je start met domotica te programmeren kan je daar eindeloos ver in gaan. Omdat ik alles regel vanuit 1 PHP script is het makkelijk beheerbaar en uitbreidbaar. Schakelen, dimmen, temperatuur regelen, alles gebeurt afhankelijk van tijdstip, zonsop- of ondergang, of we thuis zijn, of aan het slapen, noem maar op.
Omdat de Raspberry Pi op Linux draait kan je er ook nog zoveel meer mee. Wat denk je van informatie berichten verstuurd naar Telegram? Of zelfs berichten rechtstreeks naar iOS met hoge prioriteit. Die maken dus ook geluid wanneer de iPhone op stil staat of op niet storen. Handig voor eventuele rookmeldingen of bewegingsmeldingen wanneer je niet thuis bent of aan het slapen bent.

De code is vrij te downloaden op GitHub: https://github.com/Egregius/PHP-Custom-Floorplan-for-Domoticz
Mogelijks post ik in de toekomst wel nog een paar leuke dingen die ik er al mee bereikt heb.