Loop je ook wel eens in het donker van de trap en gaat dat soms maar net goed doordat er spullen op de trap liggen? Met mooie ledverlichting langs je trap voorkom je eenvoudig dat je in het donker van de trap af valt!

Langs de trap maken we een ledstrip die de trap verlicht als er beweging wordt waargenomen. De basis voor de aansturing van de warmwitte ledstrip zal een ESP8266 zijn, namelijk een Wemos D1 mini. Dit is een microcontroller met WiFi die eenvoudig te configureren is voor allerlei leuke projectjes zoals deze. Natuurlijk gaan we het zo in elkaar zetten dat we het kunnen sturen met onze smarthome control software Domoticz. Dit is een gratis open source domoticapakket die je kunt installeren op een Raspberry Pi of bijvoorbeeld een Synology NAS. Om de ledstrip mooi langs de trap te kunnen maken maak ik gebruik van een driehoekprofiel en een plaatje 4mm MDF.

De volgende 5 dingen gaan we doen:

  1. Het bevestigen van de ledstrip langs de trap;
  2. We bouwen en solderen de ledstripcontroller in elkaar, dit is de basis voor de aansturing van de ledstrip;
  3. Op de ledstripcontroller flashen we een custom firmware, namelijk ESPEasy;
  4. We sluiten de ledstrip aan en configureren ESPEasy om de ledstrip aan te sturen;
  5. Domoticz configureren om de ledstrip in en uit te schakelen bij beweging en om te kunnen dimmen.

Ik ga er van uit dat je Domoticz hebt draaien met MQTT, dzvents en eventueel een RFXcom.

Om dit project te kunnen voltooien heb je een aantal zaken nodig:

Voor led trapverlichting heb je nodig:

Afhankelijk van je soort en lengte trap heb je een halve MDF plaat nodig van 4mm dik, en twee driekhoekprofielen van 20mm met een lengte van 2.70m.

Een warmwitte ledstrip. Tegenwoordig zijn ledstrips overal wel te koop. Er zijn enorm veel soorten en maten. De goedkope zijn vaak 5 meterse RGB of warmwitte ledstrips. Ze zijn te koop bij de Aldi, Lidl, Action, Kruidvat, Trekpleiser, bol.com en natuurlijk gewoon de bouwmarkten. We gaan uit van een niet digitale ledstrip.

Een koud witte ledstrip

Om de ledstrip aan te sturen met domoticz heb je nodig:

Wemos D1 mini, het kloppende hart van ons project: een ESP8266 WiFi chip met USB2serial converter op een compact bordje. Je hoeft alleen maar te verbinden met USB en eenmalig software te installeren (flashen). Werkt daarna volledig via WiFi. Om ‘m te flashen heb je een micro USB kabel nodig.

Wemos D1 mini ESP8266

1x TIP31C transistor, ik ga uit van een enkel kleurige ledstrip. Je kunt ook prima een RGB of RGBW ledstrip gebruiken. Het is dan handiger als je mijn RGB ledstrip aansturen met Domoticz blogpost volgt. Het is ook handig om koellichaampjes mee te bestellen. Maak je gebruik van een RGBW strip, dan heb je 4 TIP31C’s nodig, heb je een warmwitte of een andere enkele kleur ledstrip, dan heb je maar 1 TIP31C transistor nodig.

TIP31C Transistor 100V 3A

1x 12v -> 5v converter L7805(CV). Deze heb je nodig als je de ESP op dezelfde voedingsspanning wilt aansluiten als de ledstrip. In mijn geval was de ledstrip 12V DC met een maximale stroom van 3A dus heb ik de L7805 gekozen. Deze spanningsconverter zet 12V om naar 5V, 1.2A waarop de Wemos werkt. Hij wordt wel wat warm dus ook voor deze kun je het best een koellichaampje mee bestellen.

L7805CV spanningsconverter

Maak het netjes en makkelijk met deze overige componenten

Het is handig om aan de ledstrip male headers te solderen en op het printplaatje vrouwelijke. Zo heb je een nette stekker verbinding die je los kunt halen voor onderhoud (firmware update) of het oplossen van andere problemen. Je kunt ook schroefterminals gebruiken, maar dan ben je wat meer ruimte kwijt op je printplaat.

De female headers gebruik je ook om de Wemos D1 mini op het PCB aan te sluiten.

Female headers

Voor de 12V aansluiting is het mooi als je de bestaande stekker aan de adapter kunt blijven gebruiken. Je hebt dan een DC PCB mount nodig, passen de stekker en de PCB mount niet op elkaar, knip de stekker eraf en maak dan gebruik van draden inschroefterminals.

Schroefterminals
DC PCB Jack mount female

Let op dat alle onderdelen ook de maximale stroom aankunnen. Een lange ledstrip kan aardig wat stroom vragen! De bovenstaande onderdelen werken goed voor een 12V ledstrip van 5 meter.

Voorbeeld van een witte ledstrip

Verder heb je nog wat soldeerspullen nodig zoals een stuk printplaat (raster 2.54mm), tin, soldeerbout, wat draad en geduld 🙂

Prototype PCB 2.54mm

Maak het hélemaal af met bewegingsmelders

Om te registreren of er iemand op de trap loopt heb je bewegingsmelders nodig. Ik heb ze van Xiaomi. Deze werken goed en betrouwbaar, maar er zijn genoeg anderen te koop zoals van bijvoorbeeld KlikAanKlikUit. Een fijne bijkomstigheid is dat de Xiaomi Aqara bewegingsmelders ook een lux sensor hebben. Hiermee meet de sensor steeds hoeveel licht er is, en bepaald dus zo of het wel nodig is om de ledstrip aan te doen. Voor de Xiaomi Aqara Bewegingsmelders heb je óf een Xiaomi Gateway nodig, of een zigbee2mqtt stick. Wil je gewoon een knop? Gebruik er dan een van KlikAanKlikUit, zodat Domoticz weet dat je de trap op wilt. Je hebt keuze uit een opbouwschakelaar of een inbouwschakelaar. Bestel er dan gelijk twee, één voor boven, één voor beneden.

Xiaomi Gateway 2
Human Body Sensor

1. Led trapverlichting maken

Bepaal voor jezelf wat de makkelijkste en mooiste methode is om dit te doen. Mijn trap bevat allemaal bogen en niets is recht. Daarom heb ik ervoor gekozen om steeds kleine stukken driehoeklat tegen de zijkant van mijn stootborden aan te schroeven. Ongeveer steeds stukken van 25cm, hierdoor kon ik zoveel mogelijk de ronding van de trap volgen. Door de lat af te dekken met de 4mm MDF plaat zie je er later niets meer van.

Let op

De vurenhouten driehoekprofielen kunnen snel splijten, dus niet te veel druk zetten met boren en zagen!

Om de driehoeklat tegen de stootborden aan te schroeven maakte ik gebruik van kleine schroefjes in een voorgeboord gat. De driehoeklat is van vurenhout, wat erg snel splijt als je het niet voorboord. Als je schroeft, schroef je recht in het stootbord en steekt de kop iets aan de onderkant van de driehoeklat uit, wat ik opgelost heb door het gat iets te soevereinen. Als het oppervlak weer recht is, dus schuin richting je treden, kun je de ledstrip opplakken. De plakstrip van de ledstrip was veel te zwak, dus ik heb ‘m extra vastgezet met hete lijm.

Problemen zitten in een klein hoekje…

In de hoeken van de trap sta je voor een uitdaging, de driehoeklatjes kreeg ik niet helemaal netjes. Daarom heb ik ze in verstek afgezaagd. Ook de ledstrip heb ik hier een klein stukje onderbroken met een stukje kabel om de bocht netjes te kunnen maken.

Om het netjes af te werken heb ik de driehoekprofielen en MDF plaat eerst wit geschilderd en daarna de MDF plaat eroverheen geplakt. De scheiding tussen de muur en de MDF plaat heb ik afgewerkt met witte kit.

Verdelen van de ledstrip

De ledstrip kun je vaak op bepaalde plekken doorknippen. Vaak is dat om de 3 leds. Pas en meet het zo uit dat er een mooie verdeling is over de gehele trap. Bedenk ook vanaf waar de ledstrip bestuurd gaat worden. Er moet op die plek wel WiFi ontvangst zijn en een vrij stopcontact. Om de ledstrip op elkaar aan te sluiten, door te verbinden en de ledstripcontroller te maken heb je wel wat soldeerskills nodig.

Als de ledstrip werkt op de normale manier en alles is netjes af- en weggewerkt, kun je beginnen met de ledstripcontroller. Het maken van de ledstripcontroller is geen must. Je kunt ook het standaard meegeleverde kastje en adapter gebruiken in combinatie met een bewegingsmelder geschakeld op het stopcontact waarop je de ledstrip aansluit. Je kunt dan geen gebruik maken van de integratie in je smarthome systeem.

2. WiFi ledstripcontroller maken

In deze stap gaan we de ledstripcontroller maken. Hiermee kunnen we via WiFi aan, uit en dim commando’s naar de ledstrip sturen, bijvoorbeeld als het domotica systeem een beweging detecteert.

Aansluitschema ledstrip op ESP8266/Wemos D1 mini

Aansluitschema enkele ledstrip

Check altijd goed of de functies (IN/OUT/GND) van jouw aansluitpinnen overeen komen met de aansluitpinnen van de tekening hierboven.

Pas en meet hoe de onderdelen het best op de printplaat passen. Aan de Wemos D1 mini heb ik male headers gesoldeerd, op de printplaat female. Voor de 12V aansluiting heb ik de stekker afgeknipt en gebruik gemaakt van schroefterminals. Ook de aansluiting voor de draden naar de ledstrip heb ik voorzien van schroefterminals. De TIP31c en L7805 zijn beide voorzien van een koellichaampje. Voor de draden naar de ledstrip heb ik een stuk telefoonkabel gebruikt wat ik nog had liggen.

Heb je twee linkerhanden?

Is deze stap te lastig of gaat het je boven je pet? Kijk dan eens naar Yeelight.
Yeelight werkt out of the box met Domoticz en hoef je niet te solderen! Het schijnt een stuk eenvoudiger te zijn!

3. ESPeasy flashen op de Wemos D1 mini

Deze stap is vrij eenvoudig. Omdat we maar 1 kleur hoeven te sturen kunnen we gewoon gebruik maken van de standaard ESPeasy. In tegenstelling tot wanneer je een RGB ledstrip gebruikt.

Hoe je ESPeasy op je Wemos D1 mini flashed, lees je in een eerdere blogpost van mij. Gebruik je een RGB ledstrip, lees dan RGB ledstrip gebruiken met ESPEasy en Domoticz.

4. ESPeasy configureren voor ledstrips

Wanneer je ESPEasy geflashed en ingesteld hebt voor gebruik met jouw thuisnetwerk kun je de ledstrip gaan configureren. Ik ga ervan uit dat je MQTT geactiveerd hebt en werkt met domoticz.

1.Maak in Domoticz een nieuwe switch dummy aan. Onthoud het IDX van de dummy. Noem ‘m bijvoorbeeld “Ledstrip op de trap”.

2. Maak onder devices in ESPeasy een nieuwe Switch Input aan.

Laat de GPIO op None staan en vul de IDX onderaan in. Sla op met Submit.

3. Activeer Rules onder Tools -> Advanced Settings -> Rules.

In je tabjes balk staat nu een nieuw tabje met de naam Rules.

ESPeasy rules

Vul de volgende code in en pas aan naar je eigen waarden. Mijn ledstrip is aangesloten op GPIO12 (check de Wemos D1 mini pinout welke D pin welk GPIO nummer heeft), de felheid van de strip heb ik op 150 staan, lager dan 100 begint de strip te flikkeren. Vergeet in het MQTT publish commando niet het juiste IDX in te vullen.

//Als device ledstrip veranderd doe:
on Ledstrip#Switch do
if [Ledstrip#Switch]=1
// Als van het device ledstrip Switch op 1 staat dan:
// zet de PWM functie aan op 150 op gpio 12 met een fade van 2500ms
 PWM,12,150,2500

// set a timer for 10 seconds
 timerSet,1,10
endif
endon


On Rules#Timer=1 do  
 //When Timer1 expires, turn off the ledstrip, set gpio 12 to 0
 PWM,12,00,2500
 // Set device ledstrip switch value to 0
 TaskValueSet,1,1,0
 // tell domoticz ledstrip is turned off
 Publish domoticz/in,{"command": "switchlight", "idx": 370, "switchcmd": "Off" }
endon

Deze rules zorgen ervoor dat als domoticz de dummy schakelt, ESPeasy de ledstrip aanzet met een fade van 2.5sec. Dan begint er direct een timer te lopen van 10seconden. Dit is ongeveer de tijd die je nodig hebt als je normaal de trap op of af loopt. Na de 10 seconden word de PWM functie weer uitgeschakeld. De ledstrip device in ESPEasy wordt weer op 0 gezet en er wordt een MQTT bericht verzonden dat de switch in domoticz ook weer uitschakelt. De Xiaomi bewegingsmelders blijven nog aan voor 2 minuten, daar is niets aan te doen.

5. Domoticz configureren

In stap 4 zijn we al een beetje begonnen met de integratie met domoticz. Wat we nu nog moeten toevoegen is een script dat ervoor zorgt dat de bewegingsmelder(s) de ledstrip inschakelen. Zorg er dus voor dat je bewegingsmelder(s) zijn toegevoegd aan domoticz en goed zijn afgesteld.

Maak een nieuwe gebeurtenis aan van het type DZvents.

Kopieer de onderstaande code en pas de devicenamen aan naar de namen van jouw bewegingsmelders. Zoals ik al eerder schreef bevatten de Xiaomi bewegingsmelders ook luxsensors waarmee ik controleer of het ook echt donker is in het trappengat. Tevens wordt er een IemandThuis switch aangezet, mocht die uitstaan. De IemandThuis switch gebruik ik voor mijn presence detection en het schakelen van de verlichting in de rest van het huis.

Het device met de naam “Ledstrip op de trap” is hetzelfde device als dat je eerder gebruikt hebt in stap 4. De Xiaomi bewegingsmelders blijven hun standaard tijd van 2 minuten aanstaan, dus die schakel ik in domoticz ook uit om problemen te voorkomen. Binnen 2 minuten zul je geen update van de melders krijgen, dus mocht je binnen die tijd weer op de trap lopen, gaat de verlichting helaas niet aan.

return {
	on = {
		devices = {
			'MS - Trap - Boven',
			'MS - Trap - Beneden'
		}
	},
	
	execute = function(domoticz, device)
		domoticz.log('***************      start trap script ******************')
		
		if ( (domoticz.devices('MS - Trap - Boven').state == 'On' or domoticz.devices('MS - Trap - Beneden').state == 'On') and 
		     (domoticz.devices('Lux - Trap - Boven').lux < 20 or domoticz.devices('Lux - Trap - Beneden').lux < 20) ) then
		    
		    domoticz.devices('Iemand Thuis').switchOn().checkFirst()
		    
		    if (domoticz.devices('Ledstrip op de trap').state == 'Off') then
		        domoticz.devices('Ledstrip op de trap').switchOn()
		        domoticz.log('Ledstrip op de trap aangezet')
		        domoticz.devices('MS - Trap - Beneden').switchOff()
		        domoticz.devices('MS - Trap - Boven').switchOff()
		        
		    end
	    else
	     domoticz.log('Iemand loopt op de trap maar het is niet donker genoeg')
	    end
	
	domoticz.log('***************      eind trap script ******************')
	end 
}

Eindresultaat en verder…

Nu alles werkt kun je voortaan veilig de trap op en af in het donker. Je raakt snel aan de verlichting gewend en mist het al snel op de trap naar de zolder. Doordat je de verlichting met domoticz stuurt kun je de verlichting nog verder uitbreiden met extra slimmigheid. Denk eens aan:

  • ‘s ochtends vroeg de verlichting wat meer dimmen dat het licht niet te fel in je ogen schijnt tijdens het wakker worden;
  • De verlichting in de gang alvast aan en uit zetten boven of beneden naar gelang de richting je op de trap loopt.
  • Loopt er iemand op de trap terwijl er niemand thuis is? Sla alarm!

Misschien heb je een veel leuker idee! Post het in de comments!

Wat vond je van dit artikel?

Geef hieronder je stem via de sterren. Laat weten wat je vindt van het artikel en stel je vragen in de reacties!

Note: There is a rating embedded within this post, please visit this post to rate it.

Doe mee met de conversatie

2 reacties

  1. Dag Wouter,
    Na het lezen van dit leuke artikel heb ik een vraag.
    Ik heb twee KAKU bewegingsmelders op de trap. (1 beneden en 1 boven)
    Graag zou ik in Domoticz een (blocky) schema willen aanbrengen.
    Hiermee zou het licht in de keuken uitgeschakeld moeten worden, wanneer je de trap op loopt.
    En het licht ingeschakeld moeten worden, wanneer je de trap af loopt.
    Hoe kan dit geregeld worden in Domoticz?
    Heb je zo een voorbeeld voor me?
    Alvast bedankt.
    M.

    1. Hoi M.,

      Leuk dat je reageert. Om eerlijk te zijn gebruik ik blocky nooit omdat het in mijn ogen wat te basic is. Maar ik kan je op weg helpen..

      Eerst zal je moeten bepalen wat de ‘laatst gezien’ tijden zijn van de sensoren. Staat de beneden sensor aan en is kort daarna de boven sensor aangegaan, dan loopt iemand de trap op. Een virtuele switch ‘naar boven’ kun je dan op on zetten. Voor naar beneden doe je hetzelfde maar dan andersom. Koppel daar je licht aan /uit actie achteraan en klaar.

      Maar… ik wil je adviseren nog eens na te denken over de praktische invulling. Ik ken je huis, ritmes en gezinssituatie niet maar stel je voor dat:
      – je aan het koken bent met je partner en je loopt naar boven. Dan zal het licht in de keuken uitgaan, terwijl je partner nog in de keuken staat. Tenzij je niet meer slimmigheid inbouwt met andere sensors zoals schemersensor of bewegingssensoren.
      – en is het wel altijd nodig om het licht aan te laten gaan? Wat als er genoeg daglicht is?
      – hoe lang schakel je het licht aan als je beneden komt? Kan je het weer uit doen met een knop of vind je het handig dat altijd met je telefoon te doen?

      Ik hoop dat ik je genoeg tips gegeven heb, ik zou zeggen probeer dzvents een keer dat is goed te doen.

      Groet Wouter

Laat een reactie achter

Laat weten wat je van dit artikel vindt!

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.