KlikAan KlikUit besturen met de Raspberry Pi

Door Koffie op donderdag 16 januari 2014 17:36 - Reacties (20)
Categorie: -, Views: 31.410

In mijn vorige post schreef ik hoe ik mijn eerste stapjes op domoticagebied zette met behulp van een Raspberry Pi.
Zoals aangegeven is de thermostaat van de muur gerukt en is het regelen van de kleppen aan de Raspberry Pi overgedragen.
Hier moest natuurlijk nog wel een stuk script voor komen en een begrijpelijke webinterface:

http://zooi.oostindie.com/images/989kachel_WI_oud_tn.jpg

Het hele verhaal was begonnen met het aansturen van KlikAan KlikUit (KaKu) door middel van een RF send en receive setje. We begonnen met de lights software uit deze blogpost, maar al snel waren we over op de software van CurlyMo : de voorloper van pilight (in een latere post hierover meer).
Nadat we de eerste hobbels overwonnen hadden was het natuurlijk fantastisch om vanaf je Raspberry Pi een lamp draadloos aan en uit te zetten :D
Vanaf dat moment was mij al direct duidelijk dat ook hier een (fatsoenlijke) webinterface noodzakelijk was wilde dit enigszins slagen bij de rest van de bewoners (lees: mijn vrouw).
De eerste versie was vooral praktisch, maar kon er mee door:

http://zooi.oostindie.com/images/364kaku_wi_tn.jpg

Tot nu toe allemaal leuk om mee te spelen, maar vooralsnog werd alles met de hand geschakeld. Het zou al een stuk mooier zijn als de verlichting vanzelf zou schakelen. Een simpele cronjob zou al genoeg moeten zijn, maar dan mag je dit elke week gaan bijstellen.
Zolang er nog geen draadloze schermdetector (LDR) was moest ik iets anders verzinnen.
Uiteindelijk heb ik besloten om gebruik te maken van sunwait. Via een cronbjob word elke dag om 15:00 sunwait opgestart, met als parameters dat deze een half uur voor zonsondergang de 2 plafondlampen van de woonkamer aan te zetten.
Op een enkele regenachtige dag werkt dit prima. Precies op het moment dat je denkt 'straks even een lichtje aanzetten' springen de lampen aan.

Als snel kwam ik tot de conclusie dat het eigenlijk echt gaat werken als je 100% terugkoppeling hebt van de status van al je lampen.
Omdat KaKu gebaseerd is op de het oude X10 protocol, zit er geen terugkoppeling in. Hier moest dus iets op verzonnen worden.
De enige manier om eigenlijk zeker te zijn van de status van je verlichting, is alles via je Raspberry Pi te laten verlopen. Klinkt leuk, maar in de praktijk niet te doen. De rest van de familie wil namelijk toch graag gebruik blijven maken van de ouderwetse schakelaars in de muur. De KaKu schakelaars kunnen alleen maar ontvangen niet zenden.
Om toch gegarandeerd te zijn van statusupdates heb ik besloten alle schakelaars die KaKu aansturen ook te voorzien van KaKu zenders zoals de AWMT-230.
Op deze manier kun je dmv een KaKu signaal een schakelaar op ON zetten en krijg je netjes een signaal wanneer de schakelaar op OFF gezet word (je hebt dan nog wel een probleem met een draadloos geschakelde lamp die je UIT wilt zetten terwijl de KaKu schakelaar in de OFF positie staat. Later hierover meer).
Er kwam nu wel een ander probleem aan het licht ( :+ ) : de RF receiver van iPrototype bleek niet in staat te zijn alle signalen in het huis op te vangen.
Inmiddels was CurlyMo overgestapt naar een nieuwe versie van zijn software : pilight met daarbij een eigen forum.
Op dit forum werd druk gediscussieerd over antennes en hoe die te bouwen, dus heb ik op dat moment besloten de uitkomsten daarvan eerst af te wachten.

De AWMT-230 zenders bleken ook heel erg handig voor andere toepassingen : hang een zender aan een bestaande schakelaar zonder dat je de code de van de KaKu zender ergens op inleerd en je hebt een simpele 'aanwezigheidsmelder' voor vertrekken waar je gegarandeerd altijd de verlichting gebruikt.
Ik heb zo'n zender in de badkamer geplaatst, zodat de Raspberry PI altijd weer wanneer er iemand in de badkamer is. De reden leg ik uit in een andere blogpost ;)

http://zooi.oostindie.com/images/4412013_12_15_11_tn.14_tn.28_tn.jpg http://zooi.oostindie.com/images/1112013_12_15_11_tn.14_tn.31_tn.jpg http://zooi.oostindie.com/images/2342013_12_15_11_tn.13_tn.47_tn.jpg

Volgende: Het gevecht met het bubbelbad (en hoe de Raspberry Pi won) 01-'14 Het gevecht met het bubbelbad (en hoe de Raspberry Pi won)
Volgende: Hoe de Raspberry Pi alles veranderde 01-'14 Hoe de Raspberry Pi alles veranderde

Reacties


Door Tweakers user Dw1-nl, donderdag 16 januari 2014 19:00

Leuke post, erg interessant om te lezen dat je bezig bent geweest met het er zeker van zijn dat een signaal is aangekomen.

Ben 2 jaar geleden zelf bezig geweest met een eigen geprogrammeerd domotica systeem d.m.v. een arduino met ethernet shield. Deze kon de de temperatuur in de woonkamer weergeven en enkele lampen schakelen. Ik had hier toen de tijd een webinterface voor gemaakt waar ik per dag "cronjobs" kon instellen.

Heb het project helaas toen niet doorgezet, er zijn helaas al zo veel kant en klare oplossingen zoals HomeWizzard of Domoticz

Door Tweakers user Puch-Maxi, donderdag 16 januari 2014 23:58

De laatste paragraaf snap ik niet helemaal: "Hang een zender aan een bestaande schakelaar zonder dat je de code de van de KaKu zender ergens op inleerd en je hebt een simpele 'aanwezigheidsmelder'." Kun je daar misschien nog wat meer over vertellen? :)

Door Tweakers user Koffie, vrijdag 17 januari 2014 00:33

Puch-Maxi schreef op donderdag 16 januari 2014 @ 23:58:
De laatste paragraaf snap ik niet helemaal: "Hang een zender aan een bestaande schakelaar zonder dat je de code de van de KaKu zender ergens op inleerd en je hebt een simpele 'aanwezigheidsmelder'." Kun je daar misschien nog wat meer over vertellen? :)
Zenders zoals de AWMT-230 zijn bedoeld om met 1 bestaande schakelaar meerdere lampen te schakelen.
Stel : je hebt een grote kamer met slechts 1 lamp en 1 schakelaar. Als je dan een AWMT-230 zender tussen je schakelaar en bedrading hangt, word er elke keer bij het schakelen een ON of OFF signaal verstuurd.
Zo kun je dus diverse ontvangers laten reageren op die ene zender. Wanneer je dan die ene schakelaar omhaalt, gaan er meerdere lampen aan.

Wanneer je echter alleen maar dat uitgezonden signaal oppikt, heb je dus een indicatie dat er iemand in dat vertrek is en wanneer niet.

Door Tweakers user tim427, vrijdag 17 januari 2014 00:41

Leuk om te lezen!

Ik heb dit zelf ook gebouwd (Apache2, PHP, kaku-send). Heb toch voor de grap snel een backup (image) gemaakt van mijn SD kaartje en vervolgens bovenstaande geÔnstalleerd.

Zeer mooie ontwikkeling! Echter mis ik "voor gedefinieerde programma's", bijvoorbeeld: "TV kijken" waarna vervolgens de speakers en beamer aan gaan en de verlichting dimmed naar een lagere stand.

Ook heb ik in mijn eigen systeempje een "wake-up light" gemaakt. Hierbij gaat alle verlichting een half uur voordat de wekker gaat aan op de laagste stand. Vervolgens iedere 2 minuten een dimstandje erbij.

Iemand suggesties om datzelfde te bereiken met pilight?

Door Tweakers user mitch187, vrijdag 17 januari 2014 01:45

@tim427
Simpel bash scriptje is voldoende om dat allemaal te bereiken, helaas zal je deze nog niet direct vanuit de webgui kunnen starten.

Door Tweakers user CurlyMo, vrijdag 17 januari 2014 06:17

Het mooie (maar ook nog even een stukje gemis) is dat je met pilight eigenlijk van alles kunt programmeren met de "events" die er zijn. Of die nu gaat om sensoren of relays aan je RPi geknoopt, of draadloze signalen via 433.92Mhz (of andere frequenties). Je maakt zelf een client die met pilight communiceert (daarvan zijn verschillende voorbeelden in verschillende talen) en je programmeert vervolgens je eigen events.

Ik draai op die manier zelf ook een wakeup light via een python script dat communiceert met pilight.
Heb het project helaas toen niet doorgezet, er zijn helaas al zo veel kant en klare oplossingen zoals HomeWizzard of Domoticz
Met nogal een prijs kaartje voor externe hardware. pilight doet alles met alleen de RPi en een zender/ontvanger van +/- 7.50. En doordat je ook sensoren of relais kunt aansturen, kan je pilight ook gebruiken voor bijv. een thermostaat. Daarnaast zijn beide alleen geschikt voor 433.92Mhz, terwijl pilight ook modulair is als het gaat om andere frequenties. Als laatste heeft pilight de mogelijkheid om een netwerk op te zetten met met elkaar communicerende clients. Zo kan je verschillende RPi's hebben met pilight die allemaal samenwerken in een groot domotica netwerk. Eventueel draai je de hoofd daemon op je X86 NAS (zonder GPIO) zodat je zeker weet dat deze blijft draaien. Mocht je je NAS opnieuw opstarten, dan wachten de clients rustig totdat je hoofd daemon weer beschikbaar is.

[Reactie gewijzigd op vrijdag 17 januari 2014 06:35]


Door Tweakers user Godgeneral16, vrijdag 17 januari 2014 13:01

Ik ga dit hele verhaal volgend. ik vind het best interessant. ga ik later denk ik ook doen. is wel iets moois denk ik.

Door Tweakers user Godgeneral16, vrijdag 17 januari 2014 13:03

Dw1-nl schreef op donderdag 16 januari 2014 @ 19:00:
Leuke post, erg interessant om te lezen dat je bezig bent geweest met het er zeker van zijn dat een signaal is aangekomen.

Ben 2 jaar geleden zelf bezig geweest met een eigen geprogrammeerd domotica systeem d.m.v. een arduino met ethernet shield. Deze kon de de temperatuur in de woonkamer weergeven en enkele lampen schakelen. Ik had hier toen de tijd een webinterface voor gemaakt waar ik per dag "cronjobs" kon instellen.

Heb het project helaas toen niet doorgezet, er zijn helaas al zo veel kant en klare oplossingen zoals HomeWizzard of Domoticz
ja, maar het is toch wel leuk als je dit zelf kan, of niet soms :D

Door Tweakers user TeGek, vrijdag 17 januari 2014 14:01

Ik zie nu jou tablet in de muur, en ben meteen in mn hoofd gaan klussen :D ik zocht een oplossing voor een tablet in mn kastdeur maar met wat plintjes ziet het er al prima uit!

Zelf heb ik ook een soort gelijk domotica systeem gemaakt, kijk eens in dit topic op t.net:
http://gathering.tweakers...message/41190665#41190665

Door Tweakers user wildcheese, vrijdag 17 januari 2014 17:02

Erg leuk. Zat al tijden te denken om een Raspberry te bestellen maar dit is toch wel de doorslaggevende reden. Bedankt!

Door Tweakers user MorgothG, vrijdag 17 januari 2014 19:43

Echt super gaaf. Ik wil ook aan de domotica. Maar waarom de Raspberry? Is dat alleem maar vanwege het lage energie gebruik? Want als je zelf een PC hebt draaien als home server. Waarom zou je die dan ook niet de rest van je huis aan later sturen?

Of maak ik een denkt fout?

Door Tweakers user Koffie, vrijdag 17 januari 2014 20:48

Omdat een gemiddeld moederbord geen GPIO pinnen heeft, en ook niet in mijn meterkast past.
Daarnaast is een Raspberry Pi bijna verwaarloosbaar goedkoop om links en rechts eentje in je huis neer te gooien.

Door Tweakers user CurlyMo, vrijdag 17 januari 2014 22:10

MorgothG schreef op vrijdag 17 januari 2014 @ 19:43:
Echt super gaaf. Ik wil ook aan de domotica. Maar waarom de Raspberry? Is dat alleem maar vanwege het lage energie gebruik? Want als je zelf een PC hebt draaien als home server. Waarom zou je die dan ook niet de rest van je huis aan later sturen?

Of maak ik een denkt fout?
Je kan pilight wel op die hoofdcomputer draaien, maar je zult inderdaad computers nodig hebben met GPIO om zenders en ontvangers aan te sturen. Dat kan in theorie ook een PCduino zijn, maar daarvoor moet iemand eerst een software hardware module maken.

[Reactie gewijzigd op vrijdag 17 januari 2014 22:10]


Door Tweakers user MorgothG, zaterdag 18 januari 2014 14:05

Oh ja, dat scheelt....aansluiten van de sensoren. Maar toch. Ik zou het liefst een soort Main computer in huis willen hebben die als een soort star trek main computer werkt.

En klik aan klik uit is.goedkoop. maar systemen als Z-wave bieden meer voordelen met het heen en.weer reageren van de sensoren. Ik blijf je volgen. Want blijft vet dit. Ga zo door!

Door Tweakers user CurlyMo, dinsdag 21 januari 2014 18:40

MorgothG schreef op zaterdag 18 januari 2014 @ 14:05:
En klik aan klik uit is.goedkoop. maar systemen als Z-wave bieden meer voordelen met het heen en.weer reageren van de sensoren. Ik blijf je volgen. Want blijft vet dit. Ga zo door!
Klopt, maar nu gooi je gewoon meerdere RPi's door je huis heen en je mist ook nooit meer een code.

Door Peter, maandag 18 augustus 2014 10:04

Ik kan niet zo gauw iets meer vinden over je opmerking Later hierover meer in:
"Om toch gegarandeerd te zijn van statusupdates heb ik besloten alle schakelaars die KaKu aansturen ook te voorzien van KaKu zenders zoals de AWMT-230.Op deze manier kun je dmv een KaKu signaal een schakelaar op ON zetten en krijg je netjes een signaal wanneer de schakelaar op OFF gezet word (je hebt dan nog wel een probleem met een draadloos geschakelde lamp die je UIT wilt zetten terwijl de KaKu schakelaar in de OFF positie staat. Later hierover meer)"

Ik ben daar nu ook mee bezig en voeg me af wat jouw oplossing hiervoor is...?

Door Tweakers user Koffie, maandag 18 augustus 2014 13:45

Wat ik heb gedaan is het volgende : Plaats tussen een schakelaar met KaKu relais nog een extra AWMT-230. Wanneer je nu de schakelaar fysiek wisselt van stand, word er een KaKu signaal de lucht ingestuurd. Als je deze opvangt, weet je dat er iemand de schakelaar heeft veranderd van stand.

Door Tweakers user alexswart, zondag 18 januari 2015 20:17

Kan ik een amwt-230 ook aansluiten achter een amwd-230 of een amwr-210? En hoe moet ik hem dan aansluiten?

Door Tweakers user alexswart, zondag 18 januari 2015 21:02

alexswart schreef op zondag 18 januari 2015 @ 20:17:
Kan ik een awmt-230 ook aansluiten achter een awmr-210 of een awmd-250? En hoe moet ik hem dan aansluiten?

Door Tweakers user Koffie, maandag 19 januari 2015 07:27

Ik zou een AWMT-003 nemen en deze fysiek niet aan je dimmer koppelen.
Dus als je de schakelaar omhaalt, stuurt deze een signaal, de dimmer pikt dat weer op en reageert door de lamp aan of uit te zetten.

Om te kunnen reageren moet je ingelogd zijn. Via deze link kun je inloggen als je al geregistreerd bent. Indien je nog geen account hebt kun je er hier ťťn aanmaken.