Domotica - Dummy to Expert: Eerste configuraties en scenes

Door virtualite op donderdag 14 december 2017 10:42 - Reacties (17)
Categorie: Domotica, Views: 3.273

In het eerste deel van heb ik mijn domoticz setup geheel geïnstalleerd en met behulp van mede tweakers mijn (voorlopig) laatste aanpassing aan de Raspberry Pi installatie voltooid.

De eerste stap is de reeds bestaande hardware toevoegen in domoticz. Dit is in principe heel gemakkelijk te doen confirm de wiki artikelen van domoticz.

Philips Hue & Onkyo receiver
Het toevoegen van de Philips Hue en de Onkyo receiver ging geheel foutloos. Beide zijn als standaard hardware type beschikbaar in Domoticz. Na het toevoegen worden gekoppelde lampen, scenes, instellingen etc. direct toegevoegd als devices.

Eneco Toon
Tijdens het toevoegen van Toon liep ik tegen vrij veel problemen op. Ik heb hiervoor deze handleiding gebruikt. Echter, deze werkt in mijn situatie niet zonder een aantal kleine aanpassingen.

De eerste stap, het toevoegen van de hardware verliep zonder problemen. Deze is net als de Philips Hue en Onkyo receiver beschikbaar in domoticz.

De eerste problemen die ik tegen kwam had te maken met de JSON Calls:

code:
1
/json.htm?type=command&param=udevice&idx=28&nvalue=0&svalue=12.3



code:
1
/json.htm?type=command&param=thermostatstate&idx=28&state=3



Deze werkte in de browser prima, maar wanneer deze werd aangesproken vanuit Domoticz gebeurde er niets. Het eerste probleem had te maken met user credentials. Ik heb Domoticz beveiligd met een username/password. Deze moest dus ook worden meegegeven in de link waarmee je de JSON Call wilt uitvoeren.

Het tweede probleem was vervelender en ben ik met behulp van mede tweaker marcel19 uitgekomen. De link werd aangepast waardoor er dus een verkeerde JSON Call plaats vond.

Ingevoerde link

code:
1
json.htm?type=command&param=udevice&idx=5&nvalue=0&svalue=19



Output link

code:
1
json.htm?type=command¶m=udevice&idx=5&nvalue=0&svalue=19



Dus in andere woorden, &para werd vervangen door een paragraph symbool.

De oplossing was de onderstaande JSON Call.


code:
1
http://username:password@ip:port/json.htm?param=udevice&type=command&idx=5&nvalue=0&svalue=19



Toon werkt nu naar behoren in Domoticz. Het enige wat ik structureel terug zie in de Domoticz logs is de onderstaande Error.


code:
1
Error: ToonThermostat: Error getting current state!



Bij mijn weten is deze error vrij logisch te verklaren, hij kan geen programma/state ophalen. Deze melding verschijnt dan ook alleen wanneer ik geen programma gebruik, maar handmatig de temp. instel.

Mocht er een manier zijn om deze error uit mijn logs te krijgen houd ik mij aanbevolen.

Mijn eerste scene "Slapen"
De scene Slapen spreekt denk ik voor zich. Alles wat aan staat moet uit en de temperatuur moet omlaag.

Voor de verlichting en Onkyo receiver waren er switches aangemaakt, deze kon ik dan ook direct toevoegen in de scene.

Voor juiste temperatuur heb ik een dummy switch aangemaakt en deze Slapen genoemd. Deze heb ik een On Action gegeven met de JSON Call om te Toon slapen scene te activeren.


code:
1
http://username:password@ip:port/json.htm?param=thermostatstate&type=command&idx=0&state=2


Deze heb ik ook toegevoegd aan de scene slapen.

Het nadeel van deze manier is dat de Dummy switch Slapen niet automatisch terug gaat naar Off, hier heb ik dan ook een simpel Blocky script voor gemaakt.


code:
1
2
If Slapen = ON
Do Set Slapen = OFF After 10 seconds



De scene Slapen werkt volledig en zal in huidige en aanstaande projecten nog flink worden uitgebreid.

Het activeren van deze scene gebeurd handmatig door één druk op de knop.

Tot slot
Ik ben echter nog op zoek naar een manier om dit volledig te automatiseren, loop alleen tegen diverse vraagstukken op.

Als ik dit doe d.m.v. bewegingsdetectie moet ik een hele ruime marge nemen en is zonde van de energie.

Als ik dit doe d.m.v. tijd loop ik het risico dat alles uit gaat terwijl wij nog beneden zitten.

Hoe pakken jullie dit aan?

Mocht ik dingen verkeerd toepassen of beter toegepast kunnen worden hoor ik het graag.

Volgende: Domotica - Dummy to Expert: Automatische slaapstand 01-'18 Domotica - Dummy to Expert: Automatische slaapstand
Volgende: Domotica - Dummy to Expert: Introductie 12-'17 Domotica - Dummy to Expert: Introductie

Reacties


Door Tweakers user fl1p, donderdag 14 december 2017 10:52

Kan je niet combineren? If geen beweging gedurende 15min na 22u ofzo?

Ik vind zo'n hardwarematige knop nog het handigst, dat is zeker altijd juist van timing.

Door Tweakers user virtualite, donderdag 14 december 2017 10:55

fl1p schreef op donderdag 14 december 2017 @ 10:52:
Kan je niet combineren? If geen beweging gedurende 15min na 22u ofzo?

Ik vind zo'n hardwarematige knop nog het handigst, dat is zeker altijd juist van timing.
Een hardware matige knop zou een goede optie kunnen zijn. Ik zal maar eens goed gaan nadenken over die combinaties. Wellicht dat daar ook iets te halen valt.

Door Tweakers user himlims_, donderdag 14 december 2017 12:14

slapen niet automatiseren; want dat verschilt (hier) per dag.
daarvoor gewoon functie / button die aandruk; nu naar bed ... alles uitzetten

Door Tweakers user i-chat, donderdag 14 december 2017 13:24

himlims_ schreef op donderdag 14 december 2017 @ 12:14:
slapen niet automatiseren; want dat verschilt (hier) per dag.
daarvoor gewoon functie / button die aandruk; nu naar bed ... alles uitzetten
ik zou een combinatie willen:

tijd-geschakeld op een vrij 'laat' tijdstip (bijv half 1 als je normaal rond 11 in bed ligt) voor als je niet thuis bent en/of te laat thuis bent, of als je gewoon de knop uitzetten bent vergeten.

het risico is dat je dan dus op een verjaardags feestje vergeet die schakeling uit te zetten maar daar heb je dan wellicht een smartphone voor die de boel op overwrite zet. het idee van een hardware knop zou ik hoe dan ook enigszins onpraktisch vinden als je ook je smartphone of tablet kunt gebruiken. dan hoef je ook niet uit bed en naar de woonkamer als je die knop vergeten bent.

Door Tweakers user virtualite, donderdag 14 december 2017 13:31

i-chat schreef op donderdag 14 december 2017 @ 13:24:
[...]
ik zou een combinatie willen:

tijd-geschakeld op een vrij 'laat' tijdstip (bijv half 1 als je normaal rond 11 in bed ligt) voor als je niet thuis bent en/of te laat thuis bent, of als je gewoon de knop uitzetten bent vergeten.

het risico is dat je dan dus op een verjaardags feestje vergeet die schakeling uit te zetten maar daar heb je dan wellicht een smartphone voor die de boel op overwrite zet. het idee van een hardware knop zou ik hoe dan ook enigszins onpraktisch vinden als je ook je smartphone of tablet kunt gebruiken. dan hoef je ook niet uit bed en naar de woonkamer als je die knop vergeten bent.
Maar als wij niet thuis ben zijn staat er normaal gesproken ook niets aan. Ook ga ik als mijn spullen binnen zijn ook nog een scene weg maken. Dan gaat er nog net wat meer uit.

Die hardware knop is gewoon en/en. Je kan het ook zo zien dat als je beneden bent en je gaat slapen en drukt op die knop dat alles uit gaat en je het licht boven aan laat gaan. Daar hoef je geen telefoon voor te hebben.

Om het thuisfront goed mee te krijgen is de fysieke knop wel een absolute vereiste. Die zitten niet te wachten op een telefoon als bediening.

Door Tweakers user rorie, vrijdag 15 december 2017 08:35

Zelf heb ik dit opgelost door een combinatie van tijd en of mijn versterker nog ingeschakeld is. Meestal ga ik rond half 11 naar bed, als ik of mijn partner dan nog niet naar bed is of dus met een feestje staat meestal de versterker nog aan. Dit voor tv te kijken, film of gewoon muziek. Bij mij is dus de regel buiten het weekend om als het half 11 is geweest en de versterker is uitgeschakeld dan gaan de lampen na 10 minuten uit. Als na half 11 door de weeks de versterker nog niet is uitgeschakeld blijft het licht aan en word er elke 5 minuten gekeken of deze nog aan staat. Zo ja dan blijft het licht aan, zo niet dan gaat het licht na 10 minuten uit.

Door Tweakers user Jacko01, vrijdag 15 december 2017 09:13

De oplossing die ik nu heb draaien is een combinatie van dingen.

1. Slaap commando loopt via een Alexa Echo Dot (bij dit commando worden alle lampen uitgezet, TV gaat uit (via Harmaony Hub) en lamp op slaapkamer gaat aan voor X minuten).
2. In het huis zijn bewegings sensoren aanwezig, welke als ze 10 minuten geen beweging hebben gezien de lampen uitschakelen.
3. Er is ook nog een script welke draait op LUX sensoren,n aanwezigheid van de de telefoons. Als de Lux te laag is / en de telefoons thuis zijn gaan de lampen aan. Komt er eigenlijk op neer dat als ik de straat in rij de lampen aangaan.

Scripting is voor het grootste gedaan met dzvents (krachtiger als blocky).

Ik zag ook dat je voor je dummy switch een blocky had aangemaakt om hem uit te zetten. Dat kan ook in de switch settings zelf. Er zit nl. een optie in off delay, als je ze bv op 10 zet zal de switch na 10 seconden automatisch uitgaan.

Deze optie gebruik ik voor mijn bewegings sensoren, de hebben geven nl. alleen aan signaal.

Door Tweakers user virtualite, vrijdag 15 december 2017 10:05

Jacko01 schreef op vrijdag 15 december 2017 @ 09:13:
De oplossing die ik nu heb draaien is een combinatie van dingen.

1. Slaap commando loopt via een Alexa Echo Dot (bij dit commando worden alle lampen uitgezet, TV gaat uit (via Harmaony Hub) en lamp op slaapkamer gaat aan voor X minuten).
2. In het huis zijn bewegings sensoren aanwezig, welke als ze 10 minuten geen beweging hebben gezien de lampen uitschakelen.
3. Er is ook nog een script welke draait op LUX sensoren,n aanwezigheid van de de telefoons. Als de Lux te laag is / en de telefoons thuis zijn gaan de lampen aan. Komt er eigenlijk op neer dat als ik de straat in rij de lampen aangaan.

Scripting is voor het grootste gedaan met dzvents (krachtiger als blocky).

Ik zag ook dat je voor je dummy switch een blocky had aangemaakt om hem uit te zetten. Dat kan ook in de switch settings zelf. Er zit nl. een optie in off delay, als je ze bv op 10 zet zal de switch na 10 seconden automatisch uitgaan.

Deze optie gebruik ik voor mijn bewegings sensoren, de hebben geven nl. alleen aan signaal.
Bedankt voor je tip m.b.t. de dummy switch. Deze zal ik vanavond direct gaan aanpassen.

Wat betreft de slaapstand heb ik voor mezelf wel de keuze gemaakt door een fysieke knop erbij te gaan gebruiken die ergens in de looproute geplaatst gaat worden.

De bewegingssensoren zijn hier denk ik ook niet een optie. Ik heb twee katten rondlopen in huis. Ik ga hier wel mee testen, maar dat komt later.

Bedankt voor je input.

Door Tweakers user SonOfSam, vrijdag 15 december 2017 11:11

Je zou een tussenstekker met stroommeting kunnen nemen. Wanneer je je telefoon aan de lader naast je bed legt (of op de plek waar jou telefoon slaapt). Meet hij een stroom piek en daar een actie aanhangen. Eventeel uit te breiden met de telefoon van je ega

Door Tweakers user virtualite, vrijdag 15 december 2017 11:19

SonOfSam schreef op vrijdag 15 december 2017 @ 11:11:
Je zou een tussenstekker met stroommeting kunnen nemen. Wanneer je je telefoon aan de lader naast je bed legt (of op de plek waar jou telefoon slaapt). Meet hij een stroom piek en daar een actie aanhangen. Eventeel uit te breiden met de telefoon van je ega
Dit is inderdaad ook een hele goede tip. Ik ga deze zeker in andere situaties gebruiken, alleen weet ik nog niet of ik deze voor de slaapstand ga gebruiken.

Door Tweakers user Chuk, vrijdag 15 december 2017 11:33

Om even voort te bouwen op wat Jacko01 zei, interessant zou kunnen zijn om bvb lampen niet direct uit te laten springen als er na 10 min geen beweging is, maar eventueel in een soort van dimmed mode gaan. Je zou zelfs een aantal intervallen kunnen instellen :
  • Veel beweging : High intensity light mode
  • Sporadische beweging : Cosy light mode
  • Weinig tot geen beweging (+ eventueel na een bepaald uur) : Lights off mode
Het is maar een idee, maar de mogelijkheden met dit systeem lijken vrijwel eindeloos en je moet iets vinden dat bij jouw familie leefstijl past.

Door Tweakers user kazz1980, vrijdag 15 december 2017 12:34

Ik heb alles ingericht met bewegingssensor én bepaalde tijd ( tussen zonsondergang en zonsopkomst minus bedtijd - welke weer afhankelijk is van of ik de volgende dag wel/niet moet werken).
Daarnaast nog een besturing via Google Home Mini om dit te overrulen (dus licht kan ook uit als ik er 's avonds wel ben en in het donker wil zitten, en ook aan als het een keer overdag donker is (regen).

Concreet gaat het licht na zonsondergang (iets eerder) aan als er beweging gedetecteerd wordt. Deze blijft vervolgens 10 minuten aan staan - indien in de tussentijd weer beweging gesignaleerd wordt begint de teller opnieuw. Wanneer het een half uur voor bedtijd is begint het licht te dimmen naar meer rode tint en gaat vervolgens uit. Dat is een bewuste keuze van mij die mij een lichte dwang oplegt om dan toch maar richting bed te gaan ;)
's ochtends gaat het licht bij beweging gewoon weer aan totdat de zon op komt (+ 10 minuten). Wil ik nu buiten deze tijden licht dan kan ik mijn Google Home Mini middels spraakopdracht vragen het licht aan te zetten. Ook dan gaat het nog steeds wel ook middels de bewegingsmelder. En ik kan ook altijd het licht uit zetten middels een spraakopdracht.

Oh ja - het licht gaat ook altijd uit (en het alarm aan) als ik het huis verlaat (althans - als mijn telefoon het huis verlaat ;) ).

En tot slot kan ik nog scenes instellen zonder dat deze de werking van bewegingsmelder/tijdstip etc. beïnvloeden.
Er zitten wat uurtjes programmeerwerk in en de nodige virtuele switches én ik heb in het begin menig avond plots in het donker gezeten omdat het toch nog niet goed werkte :P Maar nu werkt het als een trein én is makkelijk uitbreidbaar.

Mijn apparatuur:
- Raspberry Pi met Domoticz (en touchscreen voor de toekomstige beveiligingsmodule)
- Verlichting: Xiaomi Yeelight kleur (2 stuks, komt er regelmatig eentje bij) + Xiaomi power plug Zigbee voor bestaande lamp
- Sensoren: Xiaomi bewegingssensor, deur sensoren (waarvan 1 op de koelkast zodat die niet per ongeluk open blijft staan) en een fysieke knop (die inmiddels geen functie meer heeft anders dan voor test doeleinden)
- Google Home Mini voor aansturen systeem met spraak opdrachten (middels IFTTT).
- En een Xiaomi Gateway (die me trouwens ook op de juiste tijdstippen goedemorgen, -middag, -avond en nacht wenst, melding geeft als de koelkast te lang openstaat, meld als de voordeur geopend wordt óf indien het alarm geactiveerd is dan alarm slaat)

Meeste apparatuur is dus Xiaomi. Werkt geweldig, is veel van beschikbaar en het is gunstig geprijsd. Enige nadeeltje is dat alle stekkers Chinees zijn - dus daar moeten verloopstekkers tussen (of stopcontact vervangen voor een Chinees stopcontact... dat heb ik voor de Gateway gedaan)

[Reactie gewijzigd op vrijdag 15 december 2017 13:24]


Door Tweakers user 5183, vrijdag 15 december 2017 13:10

Ik heb de verlichting geregeld met bewegingssensoren.
De verwarming (NEST) werkt op basis van een schema. Dit is bij ons redelijk vast en ik heb vloerverwarming die langzaam afkoelt.

Daarbij heb ik nog slechts 1 handmatige stand die ik instel: Vakantie. Als het vakantie is dan gaat de thermostaat omlaag en gaat de verlichting in een automatische loop. Dit om de schijn te wekken dat we thuis zijn. Dit doe ik met een mooie random factor, al is dat redelijk overbodig als je de Sunrise en Sunset gebruikt. Die verschillen ook altijd iets tenslotte.

Door Tweakers user Jacko01, vrijdag 15 december 2017 15:57

Er zitten wat uurtjes programmeerwerk in en de nodige virtuele switches én ik heb in het begin menig avond plots in het donker gezeten omdat het toch nog niet goed werkte :P
Dit is zo herkenbaar. Als het hier gebeurd hoor ik Papa (en mag ik aan de bak om het op te lossen). Ik ben er wel achter gekomen dat steeds goed moet nadenken

Door Tweakers user kazz1980, vrijdag 15 december 2017 16:10

Jacko01 schreef op vrijdag 15 december 2017 @ 15:57:
[...]
Dit is zo herkenbaar. Als het hier gebeurd hoor ik Papa (en mag ik aan de bak om het op te lossen). Ik ben er wel achter gekomen dat steeds goed moet nadenken
Absoluut... Het is wel echt software ontwikkelen... Dus met wat random code kloppen kom je er niet. Het blijft puzzelen, nadenken, code kloppen, testen, refactoren. Vooral lastig vond ik het feit dat ik 3 inputs heb om 1 (set) verlichting aan te sturen: tijd, bewegingsmelder en spraak aansturing. En vervolgens moet de verlichting afhankelijk van de situatie nog eens verschillend reageren (m.a.w. andere kleur licht geven). Best veel variabelen om een simpel lampje intelligent aan te sturen.... Ben o.a. veel tijd kwijt geweest om de lampen vrijwel direct te laten reageren op een spraak commando in plaats van dat ze pas van status veranderen bij een volgende geregistreerde beweging ná de spraakopdracht... Ook het dimmen van de lampen voor bedtijd bleek uitdagender dan gedacht... Spreek rechtstreeks de API aan van de lampen - en dat was best even uitzoekwerk.
Maar ontzettend leuk om te doen, erg leerzaam en inmiddels best een high-tech huis (al is het nu nog slechts 1 enkele kamer met 3 lampen... Haha)

Door Tweakers user Jacko01, vrijdag 15 december 2017 18:08

@Kazz1980,

Kan je jou code eens delen ?. Heb nu 4 RGB Yeelights en 2 White Yeelights in gebruik. De sensoren zijn 433 versie aangevuld met wat ESP8266 zelfbouw. Ik maar (nog) geen gebruik van verschillende kleuren alleen stel ik de kleur temperatuur in.
Het is nu vooral uitproberen en testen, zodat in mijn nieuwe woning alles meteen werkt.

[Reactie gewijzigd op vrijdag 15 december 2017 19:07]


Door Tweakers user kazz1980, maandag 18 december 2017 13:22

@Jack01, zal ik binnenkort eens doen. Moet vanuit huis (helaas wordt mijn Domoticz server op mijn werk geblokkeerd :( ).

Het is inmiddels wel aardig wat code verdeeld over verschillende scripts zowel in Blockly als LUA. Dus moet even kijken hoe dat een beetje praktisch te delen valt ;) Misschien waag ik er wel even een eigen Tweakblogje aan anders ....

[Reactie gewijzigd op maandag 18 december 2017 13:25]


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.