Open source software tbv thuis automatisering

Domoticz vs. Home Assistant: The Battle!

Door kazz1980 op donderdag 26 september 2019 15:28 - Reacties (26)
Categorieën: Domoticz, Smart Home, Software, Views: 2.933

Momenteel zijn er twee open source domotica systemen die erg populair zijn: Domoticz en Home Assistant. Domoticz voert al lange tijd de boventoon sinds de introductie in 2012. Maar de laatste tijd wordt Home Assistant steeds meer gebruikt en maken veel mensen de overstap van Domoticz naar Home Assistant. Reden voor mij om ook Home Assistant eens te proberen nadat Domoticz al enkele jaren trouwe dienst doet in mijn Smart Home. Hierbij het verslag van mijn ervaringen met Home Assistant en uiteindelijk antwoord op de vraag of Home Assistant mijn nieuwe Jarvis wordt, of dat Domoticz gewoon dienst blijft doen.

Raspberry Pi 4
Omdat ik niet mijn huidige systeem wilde ontmantelen totdat ik zeker wist of ik zou overstappen heb ik besloten nieuwe hardware aan te schaffen. Ongeacht of Home Assistant of Domoticz de battle wint kan deze in de toekomst gaan draaien op deze verbeterde raspberry pi. Wel een nadeel... de Raspberry Pi 4 is nu nog dusdanig nieuw dat er nog wat kleine kinderziektes in zitten en de Home Assistant software voor deze computer is nog in beta fase... Daarom kan het zijn dat bepaalde zaken bij mij niet helemaal goed werkten waar dat bij andere versies van Home Assistant wel het geval is!

Installatie Home Assistant
Eén van de grote pluspunten van Home Assistant zou moeten zijn dat het allemaal erg eenvoudig is! Je flasht het zogenaamde Hass.io systeem op een SD-kaartje, stopt het in de raspberry pi die is verbonden met internet. Tijdje wachten: en het zou moeten werken! Als het echt zo simpel was zou het een geweldig mooi systeem zijn. Helaas... de praktijk bleek een stuk weerbarstiger. Ik had netjes de software op het SD kaartje gezet en de raspberry ingeschakeld. En er gebeurde niets! Na een minuutje was er ogenschijnlijk geen activiteit meer, kon de Home Assistant interface niet bereiken, geen verbinding maken via ping of putty.... niets! Dus, een scherm aan het systeem gehangen om te kijken waar het mis ging. Maar tot mijn verbazing bleef het beeld geheel zwart! Enige optie was de stekker eruit halen en nog eens proberen. Maar helaas: nog steeds niets. Kaartje nog eens geflasht, zelfde exercitie, maar nog steeds zwart beeld... En toen was het SD-kaartje dood. Dat is altijd een risico als je een Raspberry Pi afsluit door de stekker eruit te trekken. Maar veel andere keuze had ik niet!

Dus een nieuw kaartje besteld en in de tussentijd de diverse fora afgestruid wat er nu mis kon zijn! Maar het had er sterk de schijn van dat ik de enige persoon was met dit probleem. Niemand had een idee! Totdat ik ergens een topic trof waar iemand ook iets riep over het scherm dat zwart bleef en de oplossing was in de config.txt de volgende code toevoegen:

code:
1
 dtoverlay=vc4-fkms-v3d



Het proberen waard! Dus toen het nieuwe kaartje binnen was de config.txt geopend en tot mijn verbazing stond deze code daar al in, alleen uitgecommentarieerd.... Dus, weer actief gemaakt, raspberry pi opgestart en voila: ik kreeg logging in het scherm. Met onder andere de melding dat er iets mis ging met de netwerk verbinding. Dus de router in gedoken en daar bleek dat de poort waar de Pi aanhing enkel guest access toestond met een beperkte verbinding. Simpelweg in een ander poortje pluggen en Home Assistant was in leven! Beetje een valse start dus...

Inrichten Home Assistant
Het eerste dat opvalt aan de gebruikersinterface van Home Assistant is dat er is nagedacht over wat een eindgebruiker wil zien. De interface is helder, overzichtelijk en ziet er simpelweg leuk uit. Bij Domoticz is de interface vooral gericht op functioneel zijn voor de ontwikkelaar van het systeem. Home Assistant is wat de interface betreft dus vele malen gebruikersvriendelijker! Maar, met enkel een leuke interface kun je nog geen huis bedienen. Dus: kijken hoe ik de hardware er aan kon koppelen. Dat zou erg eenvoudig moeten zijn volgens de uitleg die de website geeft. De meeste smart devices worden automatisch gevonden en kunnen met een simpele klik worden toegevoegd! Ideaal!

Maar onder Instellingen > Integratie vond ik niks! Enkel de Google Cast die ik bij de installatie al toe had kunnen voegen. Verder niets! En nu dan? Dus wederom een zoektocht op fora en wiki's.... Maar overal de melding: alles gaat nagenoeg vanzelf! En nergens een antwoord wat te doen als het niet vanzelf gaat... Uiteindelijk wees een mede Tweaker mij er op dat er diverse Add-ons waren die het gemakkelijker maakten om te zien wat er nu allemaal onder de motorkap van Home Assistant gebeurde, te weten:
  • Log-viewer ( uitgebreide log )
  • Configurator ( kun je makkelijk via web interface je bestanden aanpassen )
  • Samba share ( zodat je bij de bestanden kan vanaf pc zelf )
  • SSH & webterminal zodat je ssh via putty of via webpage kan doen.
(shout out naar Ronker voor de hulp hierbij!)

En daar bleek dat in de configuration.yaml file 'Discovery' nog ge-enabled moest worden... Óf dat ik alles zelf via Yaml files handmatig toe moest voegen. Allemaal geen probleem, maar het verbaast me heel erg dat op de Home Assistant website dergelijke zaken nergens uitgelegd lijken te worden en daar overal de statement staat dat alles automagisch zou gaan!
Heb eerst geprobeerd handmatig een Yeelight toe te voegen door in de yaml-bestanden toe te voegen:

code:
1
2
3
4
5
6
7
8
9
10
################
# Yeelight .   #
################
homeassistant:
yeelight:
  devices:
   192.168.178.49:
      name: Licht Keuken 1
   192.168.178.50:
      name: Licht Keuken 2



Werkt perfect! De lampen zijn zichtbaar op het dashboard en enigszins aan te sturen vanaf dit dashboard. Maar om alles zo met het handje toe te voegen zag ik niet zitten (heb nogal wat smart devices in huis inmiddels!). Dus de Discovery optie gebruikt... Lange tijd gebeurde er niets... Totdat ineens:

Hassio

Het hele dashboard vol gepropt met al mijn devices! Waanzinnig dat dit automatisch werkt (als je eenmaal hebt uitgevogeld hoe je het moet instellen). Al blijkt wel dat er op het oog geheel willekeurige devices niet toegevoegd zijn terwijl geheel identieke andere devices er wel zijn... Ook enkele dagen later zijn deze er nog steeds niet! Wonderlijk....

Volgende stap: intelligentie toevoegen!

Van mooi dashboard naar Smart Home
En daar liep ik vast... Alle intelligentie moet via YAML bestanden. Allemaal onder de motorkap via allerlei add-ons. En als dingen niet werken heb je weer andere add-ons nodig om monitoring te bekijken. En veel add-ons werken niet uit zichzelf maar moeten ingeregeld worden... Al met al was ik inmiddels al drie volle dagen bezig en het systeem bezat nog altijd 0 (NULL) intelligentie! Ter vergelijk: toen ik enkele jaren terug Domoticz aan het inrichten was had ik na de installatie binnen een half uurtje mijn eerste intelligente script draaien (toen nog met één lamp en één knop... maar het was een begin!).
Na het nodige rondkijken, nog wat add-ons pogen te installeren, diverse fora door gebladerd uiteindelijk moeten concluderen dat Home Assistant ideaal is om een mooi dashboard in te richten maar niet ideaal als je intelligentie wilt inbakken. Althans: niet als je niet eerst dagen wilt besteden om een beetje wegwijs te worden in het systeem... En die dagen wilde ik er persoonlijk niet instoppen. Immers: een dashboard heb ik weinig boodschap aan. Mijn doel is een intelligent huis waar ik als gebruiker niets hoef te doen anders dan een heel enkele spraakopdracht. Dus een dashboard gebruik ik helemaal niet! En alle intelligentie die ik wil heb ik nu al prima draaien in Domoticz... Dus geen enkele reden om nog veel tijd in Home Assistant te stoppen...

Conclusie
Voor mij heeft Domoticz de battle absoluut gewonnen! Maar ik moet zeggen dat áls je Home Assistant eenmaal goed ingericht hebt de potentie enorm is. Vooral het feit dat deze vanalles automatisch kan doen zodra je eenmaal alles goed hebt staan.

Als er nog wat meer tijd geïnvesteerd zou worden in het meer gebruikersvriendelijk maken van de interface buiten het dashboard om zou het een geweldige tool kunnen zijn! Maar de hele structuur van eindeloos add-ons installeren/configureren en diep in YAML-bestanden graven, dat vind ik niet handig werken... Dan is Domoticz toch een stuk eenvoudiger. Daar is een prima editor waar ik code in kan kloppen, in plaats van dat dit in allerlei configuratie bestanden moet komen te staan die ik enkel via add-ons kan bereiken...

Dus, Domoticz blijft voorlopig nog even draaien in mijn huis. Maar ik ga Home Assistant zeker weten wel in de gaten blijven houden en wie weet over een jaartje nog eens een kans geven!

update
Voor het schrijven van dit artikel had ik Home Assistant nog even laten draaien, puur om nog wat screenshots te maken. Maar helaas: kon enkel de volgende screenshot nog maken:

https://tweakers.net/ext/f/shyJ85rvlUPsW3OlfUiqKWzL/medium.png
Dat is me met mijn Domoticz inrichting nog nooit gebeurd... Jammer! Ik ga Home Assistant over pakweg een half jaartje nog eens bekijken. Maar voor nu? Voor mij persoonlijk: ongeschikt.

Binnenkort: Revisit van de Yeelight Candela (referral), inclusief een give-away!! WIl je op de hoogte blijven van give-aways en andere nieuwe video-content? Abbonneer je op mijn Youtube kanaal en druk op het belletje!

Notificaties in Domoticz toevoegen

Door kazz1980 op dinsdag 10 september 2019 11:26 - Reacties (11)
Categorie: Domoticz, Views: 873

Geen producten, puur software dit keer! Ik had al langere tijd de wens om bij bepaalde gebeurtenissen in mijn Smart Home een berichtje te krijgen op de telefoon. Met name interessant wanneer het alarm af gaat, of wanneer één van de kinderen het alarm uitzet (en mogelijk vergeet weer aan te zetten...). Maar: notificaties instellen bleek een grotere uitdaging dan verwacht. Er is bijna geen documentatie van te vinden en de documentatie die er wel was bleek foutief te zijn! (inmiddels allemaal gefixt... Domoticz is open source immers, dus heb mijn steentje bijgedragen!)

Het doel
Mijn belangrijkste doel was dat ik op mijn mobiel en smart watch een waarschuwing krijg wanneer het alarm af gaat. Tot zover was het alarm enkel een geluidssignaal in huis en alle lampen knipperen in rood en blauw (imitatie Amerikaans zwaailicht... Schrikt best af, en als een inbreker gevoelig mocht zijn voor epileptische aanvallen ligt diegene meteen gestrekt!). Maar goed, uiteindelijk was het verder een dummy systeem... Nergens was het voor mij zichtbaar wanneer het alarm af ging als ik niet daadwerkelijk thuis was. Dus, er moest iets geregeld om een notificatie te krijgen op mijn telefoon (en horloge). De zoektocht begon.

Vele mogelijkheden...
In Domoticz is er onder 'Instellingen> Instellingen > Notifications' veel te vinden over het instellen van notificaties. Er zijn vele services waar gebruik gemaakt kan worden... Na wat uitzoekwerk gekozen voor PushOver. Daar vond ik meerdere goede verhalen over... Maar of deze daadwerkelijk beter is dan de andere diensten? Geen idee! Ik vermoed dat het allemaal min of meer hetzelfde werkt.
Wanneer je gebruik wilt maken van PushOver moet je je eerst aanmelden via https://pushover.net/. Je ontvangt dan een User Key. Vervolgens voeg je een applicatie, te weten Domoticz, toe en krijg je een API Key. Deze beide keys moeten ingevuld op genoemde Notifications pagina in Domoticz. Daarna nog de PushOver app installeren op de telefoon en ook daar de User key opgeven en voila: alles is gereed om notificaties te verzenden... Een simpele druk op de 'Test'-knop in Domoticz bevestigt dit.

Notificaties verzenden vanuit schakelaars, Blockly of LUA
Nu zijn er drie mogelijkheden. Vanuit het 'Schakelaars'- scherm kun je bij iedere schakelaar of sensor een notificatie toevoegen. Je geeft dan aan wanneer er een notificatie verzonden moet, met welke prioriteit en welk bericht deze notificatie mag bevatten. Eventueel kun je ook de default intervallen nog overrulen...
Erg eenvoudig om te doen en het werkt vlekkeloos! In de app kun je instellen dat hoge prioriteit berichten als 'emergency' bericht behandeld worden. Deze spelen dan een geluid af, zelfs wanneer het geluid op de telefoon geheel uitgeschakeld is. Met name voor het alarm systeem ideaal!
Ook vanuit Blockly scripts is het toevoegen van notifcaties eenvoudig. Onder het kopje 'Messages' vind je meteen een blok waarmee een notificatie ingeregeld kan worden op vergelijkbare wijze als bij de Schakelaars/sensoren.

Ik wilde echter de intelligentie om te bepalen wanneer een bericht naar de telefoon gaat in mijn LUA scripts... En daarvoor was een stukje code nodig dat nergens bleek te vinden! Met veel zoekwerk vond ik in de Domoticz Wiki enige informatie, maar de diverse pagina's spraken elkaar tegen en de code bleek niet te werken! Na enig uitzoekwerk ontdekte ik (met hulp van de community) dat er een fout zat in de Wiki... De volgorde van de items was verkeerd. Dit hebben we dus hersteld en de volgende code werkt:


code:
1
commandArray['SendNotification']='subject#body#priority#sound#extraData#subsystem(s)



code:
1
2
3
4
5
6
7
8
9
10
11
12
--[[ 

SendNotification = commandArray[#commandArray + 1] = { SendNotification = 'subject#body#priority#sound#extraData#subSystem1;subSystem2;subSystem'3

subject = string      ==>> required
body = string         ==>> required
priority = number     ==>> optional (-2,-1,0,1,2  = low, moderate, normal, high, emergency) default normal
sound = string        ==>> optional (examples: bike, magic, siren )                        
extraData => ,string  ==>> optional (This is the device name for pushover notifications. leave blank to send to all devices registered with Pushover) Not confirmed with other subsystems.
subSystem ==> string  ==>> optional (examples: pushover, pushover;pushsafer;telegram,  gcm )  default All defined subsystems    

]]--



In mijn geval was het volgende voldoende:

code:
1
commandArray['SendNotification']='Deur#Het alarm gaat af!#2'



Het is nu niet meer te missen wanneer mijn alarm afgaat... En dát was precies de bedoeling...
Deze informatie heb ik ook toegevoegd aan de Domoticz Wiki: zie https://www.domoticz.com/wiki/SendNotification.

Zelf andere ervaring met notificaties in Domoticz? Laat het weten en vooral: vul de Wiki-pagina aan...

Slaapkamer domotica (incl. LUA script!)

Door kazz1980 op maandag 15 juli 2019 12:02 - Reacties (20)
Categorieën: Domoticz, Smart Home, Xiaomi, Views: 6.422

De herstart van mijn blog is een feit! Maar ik begin met een stukje domotica dat ik al een tijdje heb draaien maar nog nooit op m'n blog had beschreven... Het begin van de automatisering van de slaapkamer! Hier liep ik tegen de nodige uitdagingen aan. Allereerst omdat niet alle apparatuur ondersteund werd door Domoticz, daarnaast bleek de slaapkamer te ver van de hub waardoor de signalen niet goed doorkwamen! Een verslag.



Wat moest er geautomatiseerd?
De slaapkamer kende nog geen domotica om een heel simpele reden: er was één lamp aan het plafond en één bedlamp. Daar valt weinig winst te behalen qua automatisering... Maar toen kreeg ik als bedankje voor het spreken op een conferentie ineens een Amazon giftcard van 100 dollar.... Tja. Ik wilde al lang een TV op de slaapkamer. Maar een TV in Amerika bestellen? Héél duur in de verzending en redelijk risico op schade tijdens de verzending. Geen optie dus... Maar een budget beamer? Dat kon wel! En dat leverde een leuk hobbyprojectje op...

De beamer moest budget opgehangen worden en ik had nog een 'antieke' versterker met speakers ergens liggen, dus die zouden onder het bed geplaatst worden. Daarnaast kon mijn Playstation 3 er mooi op aangesloten worden, want die lag ook enkel stof te vangen! Maar gevolg hiervan: om even TV te kijken zou ik dus allerlei apparaten in moeten schakelen die ik tevens allemaal enigszins uit het zicht wilde wegwerken en waarvan de aan/uitknop dus lastig bereikbaar is. Hier zou een intelligente schakeling een oplossing kunnen bieden! Bovendien wilde ik absoluut niet dat deze budget beamer ooit per ongeluk zou blijven draaien terwijl ik van huis ben wegens mogelijk brandgevaar. En tja, als ik dan toch bezig ben kan het bedlampje net zo goed meteen ook geautomatiseerd worden!


Slaapkamer overzicht

DIY
Allereerst een paar plaatjes van de DIY opstelling zoals hij geworden is. Een simpel Ikea kastje met glazen deurtje is omgetoverd tot een beamer-kast. Dat betekent dat ik wat gaten gemaakt heb zodat de snoeren er aan de achterzijde uit kunnen, maar belangrijker: er is een ventilator* ingebouwd. Deze is via USB aangesloten op de beamer en gaat dus automatisch aan als de beamer ingeschakeld wordt! Nette roostertjes* ervoor die wit gespoten zijn en ook de fan zelf is wit gespoten. De versterker is geplaatst in een nieuw bedkastje (ook Ikea) waar ik meteen dan ook maar een Qi draadloos oplaadpunt in gemaakt heb. Op die manier kan ik enerzijds de telefoon makkelijk opladen, maar tevens kan ik nu TV kijken via de mobiel op de beamer zonder mij zorgen hoeven te maken dat de accu leeg getrokken wordt. Op dat moment kan er immers geen laadkabel in de telefoon omdat de HDMI kabel daar al op aangesloten zit!

Alles getest: werkt perfect!

Slaapkamer beamer
Slaapkamer beamer

Domotica
Vervolgens kwam de domotica aan de beurt. Alle audiovisuele apparatuur ging in een verdeelstekker welke aangesloten is op een Xiaomi Smart Socket* (let op: alleen de Zigbee variant werkt met Domoticz! En een verloop-plug van Aziatisch stopcontact naar NL stopcontact is vereist). De bedlamp is aangesloten op een tweede Smart Socket. Schakelen van de apparatuur kan via een (dubbele) Xiaomi wall switch*, schakelen van de lamp via dezelfde switch én via een deur sensor*. Op die manier gaat mijn bedlamp automatisch aan zodra ik door de deur naar binnen loop en kan deze uit zichzelf uit gaan als ik de slaapkamer weer verlaat (nb. dat werkt bij mij omdat ik de deur toch altijd al daadwerkelijk sluit i.v.m. aanwezige katten die ik niet in de slaapkamer wil! Anders had hier wellicht beter iets slims gedaan kunnen worden met een IR sensor).

Uitdaging 1:
Nadat ik alle apparatuur geïnstalleerd had bleek meteen dat de Xiaomi switch en plugs niet goed gevonden werden door de hub. Ze waren te ver weg van de hub met teveel betonnen muren er tussen! Nu is het allemaal Zigbee protocol, en dat maakt gebruik van een zogenaamd mesh-netwerk. Ofwel, de verschillende apparaten geven de signalen aan elkaar door en zo komt het uiteindelijk terecht bij de hub. Maar: omdat het in de lucht houden van zo'n mesh-netwerk stroom kost doen enkel de apparaten die direct op stroom aangesloten dit. De meeste Xiaomi producten werken op batterij en zijn daarom geen onderdeel van de mesh... Ze versturen enkel signalen! Er moest dus tussen de hub en mijn slaapkamer een extra Smart plug komen... En dan hopen dat daarmee de afstand wel te overbruggen was. Een extra smart plug in de hal geplaatst, en: succes!! De slaapkamer is onderdeel geworden van mijn domotica infrastructuur.

Uitdaging 2:
Nu moest er een nieuw stukje code in Domoticz komen. Alleen deze kon niet gebruik maken van de Wall Switch omdat deze in Domoticz nog niet ondersteund werd (nb. in de laatste recente update is deze ondersteuning als het goed is wél toegevoegd! Heb zelf de update nog niet gedaan... Dus heb dat nog niet kunnen uitproberen).
De code zelf was redelijk simpel:


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
commandArray = {}
    timenow = os.date("*t")
    minutesnow = timenow.min + timenow.hour * 60


if ((globalvariables['Security'] ~= 'Armed Away')) then
    if (devicechanged['Slaapkamerdeur']=='Open') and (otherdevices['Bedlamp']=='Off') and ((minutesnow >= 1200) or (minutesnow <= 480)) then 
        commandArray['Bedlamp']='On FOR 60' 
        print ("Bedlamp aan voor max 1 uur")
    elseif (devicechanged['Slaapkamerdeur']=='Open') and (otherdevices['Bedlamp']=='On') then 
        commandArray['Bedlamp']='Off AFTER 10' 
        print ("Bedlamp uit over 10 seconden")
    end    
else
    commandArray['Bedlamp']='Off' 
    commandArray['Beamer']='Off'
end

return commandArray



Allereerst werkt het script enkel wanneer ik niet van huis ben (dan staat het alarm op 'Armed Away'). Bovendien: mocht de lamp of beamer aan blijven staan, dan gaat deze vanzelf uit zodra het alarm (automatisch) ingeschakeld wordt wanneer ik het huis verlaat, al is dit helaas niet 100% betrouwbaar: de wijziging van alarm status triggert een script namelijk niet goed. Hier heb ik dus nog wat uitzoekwerk zitten!...
Ben ik wel aanwezig, dan zal tussen 8 uur 'savonds en 8 uur 's ochtends de lamp aan gaan wanneer de deur geopend wordt en de lamp uit staat. In het script wordt gerekend in minuten... Vandaar groter dan 1200 of kleiner dan 480 verstreken minuten op de dag. De lamp gaat op dat moment een uur aan. Mocht ik vergeten deze uit te zetten (bijvoorbeeld doordat ik in slaap val), dan gaat deze dus vanzelf weer uit na een tijdje.

Wordt de deur geopend terwijl de lamp aan staat, dan gaat deze na 10 seconden uit. Niet direct omdat ik dan in het donker sta... In mijn hal werkt de verlichting namelijk op een sensor en deze gaat veelal pas enkele seconden nadat ik de slaapkamer verlaat daadwerkelijk aan.

De Wall Switch kon ik niet opnemen in het script, deze heb ik dus ingesteld in de Mi Home App. Simpelweg schakelen van de smart plugs bij het indrukken van de knoppen. Doordat het bovenstaande script in/uitschakelen bepaalt door de status uit te lezen van de smart plug zitten beide systemen elkaar nooit in de weg! Zodra ik Domoticz geupdate heb zal ik de Wall Switch wellicht alsnog toevoegen in Domoticz.


Slaapkamer nachtkast Slaapkamer nachtkast

Slaapkamer Mi Home app Slaapkamer Mi Home app Slaapkamer Mi Home app Slaapkamer Mi Home app

Wat is er nodig om dit zelf te bouwen?Binnenkort: Mijn ervaringen met Google Home / Google Assistent inclusief een review van de nieuwe Nest Hub. Alvast een tipje van de sluier: De Assistent werkt nu ook samen met Yeelight en Xiaomi! Dat biedt veel nieuwe mogelijkheden... Maar eerst ga ik een paar weekjes vakantie vieren! Dus, even geduld!


-------------------------
* Alle links naar Banggood zijn affiliate linkjes. Het is veelal daadwerkelijk de goedkoopste
(betrouwbare) leverancier, maar het staat een ieder (uiteraard) vrij ook elders te kijken, zoals Aliexpress of Gearbest. Veel producten zijn inmiddels ook (voor hogere prijzen) bij Nederlandse winkels te koop zoals bol.com. Nb. kopen via de affiliate link wordt uiteraard gewaardeerd. Alle eventuele opbrengsten gaan weer rechtstreeks terug in mijn blog/vlog en maken het mogelijk deze steeds van nieuwe content te blijven voorzien

Smart Terrarium

Door kazz1980 op woensdag 19 september 2018 12:40 - Reacties (32)
Categorieën: Domoticz, Smart Home, Xiaomi, Views: 5.874

Aangezien ik niet alleen in huis woon moesten de huisdieren er ook aan geloven... Althans, mijn baardagaam! Een baardagaam is een hagedis die in het wild enkel in Australië voorkomt. Het is een koudbloedig woestijndier. Dat betekent dat het dier de zon nodig heeft om te overleven. In Nederland is er uiteraard veel te weinig zon - dus het dier kan enkel overleven in een terrarium. In het terrarium moeten de omstandigheden van een woestijn nagebootst worden. Dat is best lastig... Maar met een slim stukje software en domotica een koud kunstje!


De woestijn in huis
Nabootsen van een woestijn, wat houdt dat dan in? Dat wil zeggen dat er overdag veel zon is en de temperatuur oploopt en 's nachts is het donker en koelt het flink af. Overdag is de luchtvochtigheid laag, 's nachts mag die best iets oplopen. In de winter zijn ook in de woestijn de dagen veel korter en de nachten langer waardoor het over de gehele dag genomen koeler is! Dat heeft de baardagaam echt nodig om een rustperiode te pakken (geen winterslaap, maar wel een winterrust).

Voorheen gebruikte ik hiervoor een stekkerdoos met timer. Die moest ik de hele tijd bijstellen om te zorgen dat de dagen richting de winter korter werden en in de lente geleidelijk aan weer langer. Veel gedoe en ook nog eens foutgevoelig... Bovendien kwam deze tropische zomer een probleem aan het licht... In mijn huis werd het maar liefst 30 graden en in het terrarium liep de temperatuur met alle lampen dus te hoog op! Regelmatig moest het licht in het terrarium dus even uit... Maar ja - ik kon het niet iedere dag in de gaten houden, immers moet ik ook gewoon werken!

Toen op een dag ook nog eens de timer kapot bleek kwam het eureka moment... Waarom niet automatiseren binnen mijn domotica systeem? Zo gezegd, zo gedaan.

Smart terrarium
In het terrarium kwam dus een sensor die de temperatuur en de luchtvochtigheid meet (en ook de luchtdruk, maar daar doe ik verder niks mee!). Deze kan ik uitlezen in Domoticz.
De lampen (warmtelamp én zonnelamp) van het terrarium sloot ik aan op een Smart plug en kan ik daarmee in en uitschakelen vanuit de software.

Terrarium1 Terrarium2

Vervolgens moest er een relatief eenvoudig scriptje geschreven worden dat er als volgt uitziet:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
commandArray = {}
    timenow = os.date("*t")
    minutesnow = timenow.min + timenow.hour * 60
    
if (tonumber(otherdevices['Terrarium temperatuur']) > 37) and uservariables['overheat']==0 then
    commandArray['Variable:overheat']= '1'
elseif (tonumber(otherdevices['Terrarium temperatuur']) < 34) and uservariables['overheat']==1 then
    commandArray['Variable:overheat']= '0'
end    

if ((minutesnow < timeofday['SunriseInMinutes']) or (minutesnow > timeofday['SunsetInMinutes']))or uservariables['overheat']==1 then
    if otherdevices['Terrarium']=='On' then
        commandArray['Terrarium']='Off'  
        print ("Terrarium uit")
    end    
elseif otherdevices['Terrarium']=='Off' then
    commandArray['Terrarium']='On' 
        print ("Terrarium aan")
end     

return commandArray



Het inschakelen en uitschakelen van het licht gebeurt op basis van de zonsop- en ondergang. Met daarbij één uitzondering als de temperatuur te hoog oploopt. Wanneer de temperatuur hoger dan 37 graden wordt gaat het licht uit totdat de temperatuur weer onder de34 graden zakt. Tamelijk simpel, maar het werkt perfect. En een heel mooie bijkomstigheid is dat ik ten alle tijden kan zien of het licht aan is én wat de temperatuur en luchtvochtigheid is... Ongeacht of ik thuis ben of niet!

terrarium3

Ook kan dit in mooie grafieken getoond worden:

terrarium5 terrarium4

Met dank aan mijn domotica zit mijn baardagaam dus altijd veilig in het zonnetje én heb ik er geen omkijken naar. Beestje blij, ik blij! Lang leve automatisering ;)

Op verzoek:
Gebruikte sensor: Xiaomi Aqara Temperature Humidity Sensor (Xiaomi Gateway v2 of hoger vereist)
Deze stuurt ieder uur de waarden door, maar bij een verandering van de temperatuur met 0,5 graden celcius of meer en/of een wijziging in de luchtvochtigheid van 6% of meer ten opzichte van de laatst verzonden waarde wordt de nieuw gemeten waarde direct doorgestuurd (volgens de specs - heb het niet getest! \).
Batterijduur moet ik nog ervaren... als ik daar nieuws over heb laat ik het weten in mijn blog! Voor wie het interesseert, volgens Domoticz is de gebruikte sensor zelf een LaCrosse TX3 (zegt mij niet zoveel...).

DISCLAIMER
Ik kijk dus wél om naar het beestje, enkel niet langer naar de techniek rondom de verlichting/verwarming van het terrarium (wat onder de streep veiliger is voor de baardagaam). Middels deze blog wil ik mensen niet oproepen om zonder daar goed over na te denken een baardagaam of ander 'terrarium-beest' aan te schaffen. Dit zijn levende dieren met bepaalde behoeften. Voordat je de aanschaf van een baardagaam (of welk ander huisdier ook) overweegt zul je je eerst goed moeten verdiepen in een dergelijk huisdier en welke verantwoordelijkheden en kosten dit met zich meebrengt. Bezint eer ge begint...



==============================================================================
Deze blogpost is door Tweakers gekozen als Tweakblog van de maand september 2018! Super leuk.
Dank aan de mensen die mijn blog daarvoor genomineerd hadden! _/-\o_

==============================================================================

'Hello home!': Praten met je Smart huis

Door kazz1980 op vrijdag 3 augustus 2018 09:12 - Reacties (29)
Categorieën: Controlicz, Domoticz, Google, IFTTT, Views: 8.260

Wanneer je denkt aan een Smart home denk je aan een huis waar mee te communiceren valt. Bij voorkeur niet via ouderwetse knopjes, maar gewoon via spraak! Nu is dit tamelijk complexe technologie die je niet zomaar even zelf in elkaar kunt klussen... Gelukkig zijn er mogelijkheden om deze technologie (betaalbaar) in huis te halen in de vorm van smart speakers. Alleen, hoe koppel je die aan je thuisautomatisering op een manier dat de intelligentie van het systeem behouden blijft? Een lichtknop vervangen door een spraakopdracht is niet zo ingewikkeld, maar een smart speaker volwaardig onderdeel maken van intelligente domotica? Dat is lastiger... Gelukkig kent Domoticz diverse mogelijkheden om thuis assistenten te koppelen. Ik zal mij hier focussen op de Google Home omdat ik die zelf gebruik - maar ook voor Amazon Alexa (Dot) en Apple Siri (HomePod) zijn er vergelijkbare mogelijkheden met veelal dezelfde software, al heb ik zelf voor Siri nog niets weten te vinden helaas!


IFTTT

Mijn eerste experiment was met IFTTT ("If This Then That": http://www.ifttt.com). Een briljant simpele web interface die precies doet wat de naam zegt... Als er Dit gebeurt, dan doet het systeem Dat. Dus bijvoorbeeld als ik mijn Google Assistant zeg 'Doe het licht aan' dan kan ik inregelen dat via een directe URL een lamp in Domoticz ingeschakeld wordt. Zo'n URL ziet er bijvoorbeeld als volgt uit:
http://<gebruikersnaam>:<wachtwoord>@<IP-adres>:<poort>/json.htm?type=command&param=switchlight&idx=30&switchcmd=Set%20Level&level=20
Briljant in zijn eenvoud! Maar daardoor dus ook tamelijk beperkt... Zo moet je bijvoorbeeld exact de opgegeven spraakopdracht uitspreken. Er zit geen enkele intelligentie in. De Google Home zal vervolgens altijd exact het antwoord geven dat je zelf hebt ingesteld. Dat is even leuk, maar het maakt van een volwaardige spraak assistent ineens een simpel antwoordapparaat welke tevens beperkt Domoticz aan kan sturen. Beperkt aangezien je maar 1 switch tegelijk kunt aansturen met 1 bepaalde instelling. Dus ik zocht verder...

Controlicz

Na het nodige zoekwerk kwam ik uit bij Controlicz (https://www.controlicz.com/). Van oorsprong een hobby project van ene Nick Madge. Een veelbelovende interface die het mogelijk maakt om ieder apparaat in Domoticz te koppelen aan Google Home of Alexa. Het werkt simpel.

Je maakt binnen je Domoticz setup een gebruiker aan, bijvoorbeeld met de naam 'Controlicz'. Vervolgens geef je deze gebruiker de controle ver de apparaten die je wilt bedienen met je Home Assistant. Vervolgens maak je een Controlicz account aan waarin je de gegevens opgeeft van je Domoticz installatie inclusief de gebruikersnaam en wachtwoord van de zojuist aangemaakte gebruiker. En voila! Controlicz is ingesteld voor gebruik....

Controlicz instellen 1 Controlicz instellen 2 Controlicz instellen 3

Controlicz instellen 4 Controlicz instellen 5 Controlicz instellen 6

Nu moet je enkel Google Home/Assistant of Alexa nog vertellen dat deze gebruik moet maken van Controlicz. Hierbij de stappen om dit binnen de Google Assistant in te regelen:
Je voegt een nieuw apparaat toe (bij apparaatinstellingen te vinden onder 'Home-apparaten bedienen'). Druk op het plusje en zoek naar Controlicz. Vervolgens wordt je gevraagd in te loggen in je Controlicz account en Google toegang te geven tot dit account. Daarna zal de Assistant alle apparaten vinden die je binnen Domoticz vrijgegeven hebt voor de Controlicz gebruiker. Je kunt eventueel nog opgeven in welke kamers deze zich bevinden. En dan is alles gereed om te kunnen praten met je huis!!

Google Assistant instellen 1 Google Assistant instellen 2 Google Assistant instellen 3

Je kunt lichten aan en uit zetten, maar ook kleuren instellen, de media bedienen... Gewoon alles dat vanuit Domoticz mogelijk is...

Ikzelf gebruik Controlicz om de Toggle aan en uit te zetten die zorgt dat het licht aan en uit gaat op momenten dat mijn systeem dit niet zelf doet. Bijvoorbeeld als ik overdag het licht aan wil, of juist na zonsondergang eens in het donker wil zitten... Ik heb tevens een Dummy Switch gemaakt die al mijn media uit schakelt via een script. In Domoticz heb ik deze als lamp aangemerkt met als gevolg dat wanneer ik Google vraag alle lichten uit te schakelen deze automatisch ook al mijn media apparatuur uitschakelt. Iets dat ik eigenlijk altijd wil op het moment dat ik alle lichten uit doe. En omdat je nu de volwaardige intelligentie van de Assistant tot je beschikking hebt kun je gewoon normale taal gebruiken in plaats van bepaalde voor gedefinieerde zinnen en kun je ook meerdere apparaten bedienen. Bijvoorbeeld opdrachten als 'Doe alle lichten in de keuken aan' werkt perfect! Of 'Zet de Playstation uit', geen probleem!

Een machtig mooi systeem dat uitermate eenvoudig in te regelen is.
Zijn er dan geen minpunten? Jawel:

Allereerst: het is niet gratis (meer)! Het kost je 2 pond per maand (of 20 pond voor het hele jaar)... Is het wat mij betreft zeker waard! En uiteraard kost het in de lucht houden van deze dienst gewoon geld... Dus ik begrijp de keuze prima dat de ontwikkelaar recent besloten heeft toch een bijdrage te vragen voor Controlicz.
Een tweede minpuntje is dat Controlicz héél af en toe niet reageert waarop de Assistant aangeeft dat Controlicz onbereikbaar is, in plaats van dat je apparaten bediend worden. Eén enkele keer bleek dit bij mij zelfs zo hardnekkig dat ik in de settings van Google Assistant heel Controlicz moest verwijderen en opnieuw instellen. Een klusje van slechts enkele minuten, maar toch vervelend wanneer je eigenlijk gewoon even het licht uit had willen doen om naar bed te gaan... Sindsdien is me dit niet meer gebeurt, dus ik hou het op een eenmalige hick-up in het systeem...

Conclusie
Toen ik begon met een blog over spraak besturing binnen mijn domotica op basi van Domoticz had ik het idee vele systemen te proberen en ervaringen te beschrijven. Maar ik ben blijven hangen bij Controlicz, simpelweg omdat het in mijn ogen precies doet wat het moet doen... En het prijskaartje? Dat neem ik dan maar voor lief... Wil je er geen geld aan uitgeven dan is IFTTT een leuk alternatief om op een simpele manier en met de nodige beperkingen Domoticz aan te sturen middels spraakopdrachten via Google Home of Alexa. En wil je je huis nu aansturen met Siri? Tja... ik heb nog niks gevonden dat dit mogelijk maakt! Maar aangezien ik zelf Siri niet gebruik heb ik ook niet heel hard gezocht moet ik eerlijk bekennen... Dus als iemand hier iets voor weet: laat het weten in de comments!