Alle mogelijkheden, beslissingen en resultaten van de bouw van onze passieve energie-plus woning

Categorie: Domotica (Pagina 1 van 3)

Zeker van plan zijn we om het ons door middel van domotica, geautomatiseerde voorzieningen in het huis, zo gemakkelijk mogelijk te maken. Automatische lampen en zo… komt allemaal later.

Energiemeting in de meterkast

k wil energie vergelijken en ontwikkelingen zien. En ook ten opzichte van het vorige huis waar de cv ketel voor het warme water en de verwarming zorgt. Dat is nu allemaal elektrisch.

  • De warmtepomp; levert warm water en verwarmt in de winter het huis
  • De Quooker zorgt voor snel warm water in de keuken
  • De WTW (warmte-terug-winning van de verse lucht) zorgt dat er minder warmte het huis uit gaat
  • wat overblijft is gebruik door het huishouden.

 

schema verdeling energie opwek en gebruik

Om dit te kunnen meten zet ik achter de Quooker een Gosund switch incl energiemeting.

De andere apparaten hebben een eigen groep in de meterkast, dus daar kunnen meterkast-meters komen.

Afbeelding Gosund SP111 Energy plugEastron SDM120 Eastron SDM630-modbus-v2

 

 

 

 

 

Natuurlijk wil ik dat allemaal op 1 dashboard zien, dus maak ik met mijn domotica (“Home Assistant” verbinding met deze apparaten.

De Gosund heeft software in zich (in mijn geval speciaal Tasmota geplaatst) zodat deze zeer eenvoudig informatie naar HomeAssistant stuurt.

De Eastron meterkast meters werken anders; die hebben een pulserend lampje, een bijbehorende pulsuitgang en een Modbus  aansluiting.

Modbus is een protocol op 2 draadjes waarbij er met een digitaal signaal informatie over en weer kan worden gestuurd. Door gebruik te maken van ID’s (elk apparaat heeft een eigen ID) kan elk apparaat worden aangesloten op dezelfde 2 draadjes….een ‘bus’ in ICT-termen.

Elektrisch wordt er gebruik gemaakt van RS485

Van ‘vroeger’ uit de meterkast had ik nog een Arduino Mega 2560  liggen.

Arduino Mega 2560

Dat is een uitbreiding op een Arduino Uno met meer poorten en (vooral) meer geheugen. Aangeschaft in het tijdperk vóór de ESP8266 & ESP32’ers en zonder netwerkmogelijkheden zoals WiFi of RJ45-internet (ergo, de ESP-01 was ooit ontwikkeld om OP een Arduino te stoppen zodat je WiFi toevoegde). Ik heb er een netwerk-addon board erbij die zowel op een Arduino Uno als Arduino Mega past. Ze noemen hem ook wel eens een ‘Internet Hat’.

Arduino W5100 Ethernet Hat

Foto van Arduino Mega met Internet HatAangezien ik toch internet in de meterkast heb kan ik daar mooi gebruik van maken. En dan heb ik nog een paar poorten (pinnetjes) over om de RS485 op aan te sluiten.

De Arduino kan relatief eenvoudig communiceren met een RS485-Modbus-signaal met een RS495-TTL-shield. Deze heeft aan de ene kant de A- en B-pinnen en aan de andere kant DI, DE, RE en RO. (Driver In, Driver Enable, Receiver Enable en Receive Out).

Een video waar ik veel van geleerd heb is die van Antony Cartwright  . De TTL is een implementatie van het RS-232 protocol zoals uitlegd op Sparkfun  en de Arduino’s kunnen met een RX en TX signaal hier mee communiceren. Oftewel…. We sluiten een RX, TX en een stuurpin aan op het TTL-shield en we kunnen communiceren. In de arduino software maak ik gebruik van een ModbusMaster – bibliotheek .

Elke Eastron-modbus-energiemeter heeft registers (vakjes met waardes) die je kan opvragen. En zo vraag ik elke 10 seconden door het doorgeven van een ID en een reeks van registernummers de energiegegevens op.

programmeercode in Arduino

Om het RS485-shield beter op de Arduino Mega te monteren heb ik een prototype-boardje gemaakt.

DS3231 RTC Clock proto board - draadjes 4x20 lcd met informatie

 

 

 

 

 

Daarnaast heb ik een verbindingsmogelijkheid gemaakt voor een LCD en een RealTimeClock: een DS3231. En dan zit de testopstelling er zo uit….

Testopstelling met alle elektronica

 

Gegevens doorgeven aan HomeAssistant

Om gegevens van sensoren te ontvangen gebruik ik bij HomeAssistant MQTT. De Arduino maakt dus berichten van alle gemeten waarden en stuurt die naar HomeAssistant. En kan je ook bekijken met een windows-software MQTT Explorer.

 

schermprint MQTT Explorer

 

Uiteindelijk kan je de gegevens en grafieken tonen in HomeAssistant want HA heeft een mogelijkheid om binnenkomende MQTT-gegevens als SENSOR aan te merken.

Hardware in de definitieve vorm

Tenslotte bouwen we alles in de meterkast in. De Eastron SDM-meters moeten door een installateur geworden geplaatst!

Modbus draadjes bovenop de Eastron

Overzicht meterkast Hardware Arduino aan de muur van de meterkast

 

 

 

 

 

En ooit maak ik een mooi doosje om de Arduino met RS485 en LCD… ooit…

Elektra in het kippenhok

Als het donker is wil ik niet met een zaklampje hoeven te zoeken, dus moeten er lampen en elektriciteit komen.
In de zomer heb ik vanuit een elektra-kabel in de tuin helemaal rondom langs de schutting gelegd tot aan het kippenhok. Met voorbedachte rade natuurlijk.

nog geopende verdeeldoos elektra aan achterkant van kippenhok
Er zijn vier punten in het kippenhok waar iets komt:

1) Achter het kippenhok

Om in de toekomst wat buitenlampen aan te sluiten, zoals kerstverlichting, heb ik bedacht om ook een wandcontactdoos aan de buitenkant te plaatsen.

2) In het binnenhok

In het binnenhok komt – hoog en onbereikbaar voor de kippen – een lamp en een schakelaar. Voor toekomstige elektronica leek het me handig om er meteen een wandcontactdoos te plaatsen. Dan hoef ik niet met batterijen te gaan werken. De lamp had ik nog liggen uit op zolder van het vorige huis en heeft nu eindelijk een mooie bestemming gekregen.

Lamp, schakelaar en wcd in het binnenhok.

De verdeeldoos is op de foto nog open, want er moest nog iets aan worden toegevoegd.

3) In het buitenhok

Ook in een hoek van het overdekte buitenhok komt ook een lamp (een breedstraler) met schakelaar en een wandcontactdoos.

Breedstraler, schakelaar en wcd in buitenhok

4) Stroom voor beveiligingscamera

Nu er toch stroom is kan er aan de buitenkant mooi een goede beveiligingscamera; een Netatmo Presence. Deze heeft wifi en heeft zowel lokaal als in de cloud digitale opslag van geregistreerde bewegingen. Gelukkig zit er ook ‘pet-detection’ op; rondlopende katten worden wel gedetecteerd maar geeft geen alarm.

 

Afstandbediening

Een slim en zuinig huis is natuurlijk niets zonder de mogelijkheid om het een en ander op afstand te bedienen. Daarom heb ik op elk punt extra zigbee-smart-switches toegevoegd.

niet-aangesloten smart zigbee switch

Eenmaal aangesloten op de lamp en de schakelaars (achter het kippenhok op de wcd) is de digitale schakelaar zichtbaar in mijn Zigbee netwerk en opgenomen in mijn Domotica van HomeAssistant. En hierdoor kan ik ze niet alleen vanaf elke plek bedienen, ook kunnen er regels worden toegevoegd zodat bijvoorbeeld het binnenhok in de wintertijd extra licht krijgt.

Screenshot kippenhok schakelaars

Het voordeel van de slimme schakelaars is ook dat de aanwezige fysieke schakelaar ook nog steeds werkt, oftewel met een goede FAF   (Family Acceptance Factor).

Toekomst

Op de wandcontactdozen wil ik (met een 5V USB adapter) in de toekomst een paar camera’s aansluiten; de ESP32-CAM. Ik heb ze al in huis, nu alleen nog tijd vinden tussen alle andere projecten door…

stockfoto ESP32-cam

Flic2 buttons koppelen aan HomeAssistant

Start

In 2019 heb ik meegedaan aan een kickstarter project; Flic2-buttons . Kleine en heel simpele knopjes met een langhoudbare knoopcel-batterij. De bedoeling is dat je zo’n knopje ergens onopvallend kan plaatsen en met indrukken iets kan laten starten.

FlicHub

De flic-button werkt met Bluetooth. De eerste versies konden alleen verbinding maken met een telefoon. Dat is wel lastig als je iets wil doen en de persoon met de telefoon is er niet. Met dit project hebben ze er nog iets aan toegevoegd; een hub. De FlicHub maakt via bluetooth verbinding met de flic-buttons en via WiFi (of een kabel) met het netwerk in het huis. Op deze manier heeft de button dus 24u/dag verbinding met het netwerk.

HomeAssistant

De knoppen zouden via Bluetooth verbinding kunnen maken met een ontvanger in de RaspberryPi (RPI) met HomeAssistant. In HomeAssistant is er een integratie  en er moet dan op de RPI een service “flicd” worden geïnstalleerd zodat er kan worden geluisterd naar binnenkomende signalen. Ondanks uitzoekwerk en pogingen is me dat niet gelukt. Het kan liggen aan de beperkte WiFi/USB/Bluetooth combinatiemogelijkheden van de Raspberry.

FlicHub-component

Daarom wilde ik graag een poging doen om met HomeAssistant de FlicHub te benaderen. Er is nog geen functionaliteit gemaakt door de community. Ook navraag bij de makers van Flic (ShotcutLabs) leverde in eerste instantie niet veel op. In september wilde ik weer heel graag de Flic-buttons gaan gebruiken voor sturing van de domotica, dus nieuwe moed verzameld om zowel bij ShortcutLabs als bij de HomeAssistant-community na te vragen wat de mogelijkheden zijn en hoe het aan te pakken. Ik begon me al voorzichtig in te lezen in Gitlab, pull-requests, forken van andere source etc. Behoorlijk complex om als nieuweling in te duiken.

FlicHub SDK Firmware

Van ShortcutLabs kreeg ik het bericht dat ik speciale firmware moest hebben om de FlicHub te benaderen. Terwijl ik me via een google-formulier inschreef en wachtte op automatische update van de firmware dook ik in JavaScript, waarmee de SDK te benaderen moest zijn. Online allemaal trainingen volgen en meteen ook Visual Source Code leren en installeren want dat is het meest gebruikelijk bij JavaScipt.

Toen ik de update kreeg, was er ook een beschrijving van hoe de SDK te benaderen, met voorbeelden in JavaScript hoe een en ander aan te pakken.

Wat bleek het geval; je kan via een speciale url de FlicHub benaderen en op het device JavaScript schrijven en draaien. Als de FlicHub een signaal van een button ontvangt kan je code laten uitvoeren. Na wat testscripts had ik snel een werkende code; bij een ‘click’, een ‘double-click’ en een ‘hold’ stuurt het script een http-bericht.

console.log("JavaScript started");
var buttonManager = require("buttons");
var http = require("http");
var baseurl = "http://192.168.xxx.xxx:8123/api/webhook/";

buttonManager.on("buttonSingleOrDoubleClickOrHold", function(obj) {
    var button = buttonManager.getButton(obj.bdaddr);
    var clickType = obj.isSingleClick ? "click" : obj.isDoubleClick ? "double_click" : "hold";
    var url = baseurl + button.name + "_" + clickType;

    http.makeRequest({
        url: url,
        method: "POST",
        headers: {"Content-Type": "application/json"},
        content: JSON.stringify({"serial-number": button.serialNumber, "click-type": clickType}),  }, function(err, res) {
        if (!err) {
          console.log("url send: " + url);
        }
        else {
            console.log("Error sending message over http about " + button.name + ": " + clickType + " - ERROR " + res.statusCode );
        }
    });
});

console.log("JavaScript running")

De Flichub stuurt via het JavaScript een http-POST-request via de url “http://192.168.xxx.xxx:8123/api/webhook/webhook_idnaar HomeAssistant. Het laatste deel, het webhook_id’ bepaald het script zodat HomeAssistant onderscheid kan maken tussen de verschillende knoppen en de manier van indrukken.

Ontvangst bericht door HomeAssistant

HomeAssistant kan het bericht van de FlicHub ontvangen door een ‘Webhook’. Elke combinatie van button en actie heeft een eigen Webhook-ID, bijvoorbeeld “Flic21_click” en “Flic23_hold”. En aangezien elke actie wat anders kan doen, is het nodig elke actie apart op te stellen; als automatisering. In de UI gaat dat tegenwoordig eenvoudig:

  • Naam: “Klik op button 1 doet de woonkamerlampen uit”

  • Modus “in de wachtrij plaatsen” (zodat als je meerdere keren drukt de actie sowieso wordt uitgevoerd)

  • Trigger: type Webhook, ID “FLic21_click”

  • Actie: Activeer scene, ‘scene.woonkamerlampen uit’

De automation ziet er in yaml als volgt uit:

– id: ‘>>automatisch<<‘
alias: Flic21_click is avondlampen uit
description: Onderneem actie als een http POST binnenkomt = webhook flic21_click
trigger:
– platform: webhook
webhook_id: Flic21_click
condition: []
action:
– scene: scene.woonkamerlampen_uit
mode: queued
max: 5

Resultaat

Als nu op een button wordt gedrukt, stuurt deze een bericht naar de FlicHub via Bluetooth.
De FlicHub draait een script en stuurt via Wifi een http-POST met een ID naar HomeAssistant.
HomeAssistant start een automation welke een gewenste actie kan uitvoeren.

Mijn ingestelde functies:

  • Alle woonkamerlampen uitdoen (bij het naar bed gaan)

  • Woonkamerlampen op een stand ideaal voor TV kijken

  • Woonkamerlampen aan als het nog te vroeg voor de automaat is (‘vroeg op’)

  • Toggle (aan of uit) de lamp in de bijkeuken terwijl je niet bij de schakelaar bent

  • Toggle (aan of uit) de keukenspots terwijl je niet bij de schakelaar bent

Kan het ook anders?

Nu ik alles wat meer begin te snappen, zie ik ook wat er nog eenvoudiger kan;

Het maken van het script is niet beslist noodzakelijk. Via de app kan je de FlicHub instellen dat bij een actie er een http-POST bericht wordt verstuurd. Dat moet dan wel voor elke actie en button opnieuw; dus drie per button. Je kan dan wel variëren per actie wat het ID is.

En het nadeel hier is dat je niet heel internet afstruint naar hoe je JavaScript moet schrijven, hoe je Visual Source Code installeert en gebruikt en hoe je changes uitvoert in integraties van HomeAssistant. Ik heb een hoop geleerd dus.

Handleiding van de Flic Hub SDK

Via http://myhub.flic.io/static/tutorial/ kom je bij de ingebakken handleiding van de FlicHub SDK. De beschikbare routines zijn uitgebreid beschreven in een open google-docs-document 

Waar te koop?

De Kickstarter en Indiego-acties zijn voorbij, tegenwoordig zijn ze direct te koop in de flic-shop: https://flic.io/shop

Automatisering achter de schakelaar

Uitgangspunten

In een geautomatiseerd huis gaan lampen automatisch aan bij behoefte. En dan liever ook vaste plafondlampen en dergelijke, niet alleen die ene lamp op een kastje met een stekker in het stopcontact. Bij de domotica in ons huis hou ik drie uitgangspunten aan;
1. Alles blijft met de hand te bedienen
2. Slimme apparaten zo min via de cloud of een dienst van een bedrijf
3. Zo veel mogelijk draadloos, bij voorkeur WiFi

Alles blijft met de hand te bedienen

Als je een slimme stekker wilt welke je in het stopcontact steekt (zoals ik een Wemo of Plugwise heb) dan kijk ik altijd of er ook een knopje op zit om met de hand te schakelen. Dan kan iemand in huis altijd de lamp of iets dergelijks met de hand bedienen. De plugwise voldoet daar NIET aan, want er zit juist geen schakelaar op. Deze wordt door mij dus niet als schakelaar gebruikt, enkel om het verbruik te meten.

Een ‘slimme’ RGB-lamp voldoet hier dus ook niet aan, omdat deze in een fitting ergens moet worden gedraaid waarbij de schakelaar altijd in de aan-stand moet staan. Doet iemand of iets de lamp elektronisch uit, dan zal hij niet aangaan als je de schakelaar omzet; deze gaat immers van ‘aan’ naar ‘uit’. Ik heb hiervan twee lampen; Yeelights.

Inbouwen achter een schakelaar

Een alternatief voor een lamp op een muurschakelaar is een inbouwschakelaar. Dat is een klein kastje welke je achter je muurschakelaar stopt en zowel verbonden is met de draad naar de lamp als de schakelaar. Voorbeelden hiervoor zijn Fibaro, Qubino, Develo, Sonoff Shelly en Tuya.
Er zijn een paar afhankelijkheden die het werken hiermee makkelijker maken
• Extra diepe inbouwdozen. Bij het ontwerp van het huis heb ik er specifiek naar gevraagd en mijn bouwer met veel Duitse aanpak deed dat al automatisch. Door de extra diepte heb je meer ruimte om al die draden en de extra elektronica te plaatsen.
• Overal zowel bruin (Live/Fase) als blauw (Neutral) draad. Ook dat deed mijn aannemer al automatisch omdat ze met een megagrote rol standaard flexibele buis mèt draad door het huis gaan om alle elektra aan te leggen; het stuk voor stuk uitvogelen en trekken van draden wordt in ieder geval bij onze moderne bouw niet meer gedaan.
• Goede wifi (of ZigBee of Zwave) verbinding in het huis. Door een wifi-punt op elke verdieping is dat bij ons geen probleem.
Zelf ben ik voor de allergoedkoopste oplossing gegaan die ik maar kon vinden; via BangGood (een variant van AliExpress) drie Tuya Smart Switches.

Van cloud naar lokaal

Tegenwoordig worden bijna alle ‘smart’ apparaten voorzien van een cloud-voorziening. Er wordt dan reclame gemaakt voor vooral spraakbesturing via Alexa en Google. Via een app kan het apparaat dan worden bediend. Achter de schermen stuurt de app (of ‘Alexa’ als je een spraakcommando geeft) een bericht via het internet naar de centrale server. Bij Tuya-devices is dat in China. In China gaat dat commando naar een ander deel en stuurt weer over het internet het apparaat aan om AAN of UIT te gaan. Voor dit alles heb je dus werkend internet en een werkende provider nodig.
Werkend internet hebben we nagenoeg continue, maar het komt nogal eens voor dat de provider, de fabriek de voorwaarden verandert, de dienst betaald maakt of zelfs uitschakelt. In zo’n geval kan je dus het apparaat niet meer bedienen. Het is een dom en nutteloos apparaat geworden.
<<plaatje cloud informatie stromen>>. Voorbeelden hiervan zijn Nest en ook Tuya welke de koppeling met IFTTT uitschakelt.

Om problemen te voorkomen en minder afhankelijk te zijn is het handig om een lokale variant te gebruiken. Omdat al deze tuya-apparaten gebruik maken van eenzelfde centrale chip met wifi (een ESP8266) heeft iemand bedacht om er nieuwe software (firmware) voor te schrijven; Tasmota. Deze kan nog steeds het apparaat laten werken zoals de bedoeling was. Maar dan zonder koppeling met de centrale server ergens in de wereld.

Om van het een naar het andere te komen een aantal stappen
1) het apparaat moet worden gereset
2) er wordt een ander wifi-apparaat ingesteld welke doet alsof hij een ‘instel-apparaat’ is; een host
3) je smart-device maakt verbinding met de host
4) nieuwe software wordt geplaatst op je smart-device (Tasmota)
5) Tasmota wordt ingesteld op juist werken en wordt actief.
De stappen 2 t/m 4 wordt gedaan met speciale software weer door iemand anders OpenSource geschreven: Tuya-Convert.
En tegenwoordig gaat 95% via wifi (=OTA, Over The Air) ipv het solderen van draadjes in opengemaakte apparaten.

Er is zijn veel handleidingen geschreven over het gebruik van Tuya-Convert en Tasmota: youtube video’s over Tuya-Convert  youtube video’s over Tasmota

En ik maak dus heel veel gebruik van anderen die het allemaal al een keer hebben uitgevonden en in mooie video’s delen met de community. Met name de kanalen en uitlegvideo’s van DigiblurDIY , The Hook Up , SuperHouseTV  en DrZzs  zijn mijn bijna dagelijkse kost geworden.

Yeelight toevoegen

We hebben ook een tweetal RGB-meerkleuren-lampen. Ik heb als uitgangspunt heb om geen “app-only” lampen te hebben, waarbij dus geen domme bediening mogelijk is. Voor sfeer in de woonkamer heb ik een uitzondering gemaakt. Op ongeveer 180cm hoogte, aan weerszijde van de woonkamerwand met de televisie heb ik twee stopcontacten (wandcontactdozen) laten maken.Daar kunnen ook aansluitingen voor geluidsboxen in, maar ook lampen.
Met een relatief simpele stopcontact-E27fitting ontstaat een mooie standaard waarin precies de RGB-lamp kan.
(Als extra functie zit er gelukkig ook een schakelaar op om hem alsnog bij nood uit te schakelen).

De RGB-kleurenlampen zijn van het merk Yeelight. Deze hebben zowel een eigen app, maar zijn ook zeer eenvoudig benaderbaar via HomeAssistant. In het hele huis het communicatieprotocol voornamelijk WiFi en ook deze lampen communiceren via Wifi.

Zoals de naam al doet vermoeden kunnen de RGB-lampen alle kleuren aannemen. Er zitten zelfs speciale functies op zoals een paar keer fel knipperen of als een disco variëren. Gebruiken we allemaal niet, het gezin zou er gek van worden. In de praktijk gebruiken we één zachte gele kleur voor de avondinstelling.

Via de Yeelight-integratie in HomeAssistant zijn ze eenvoudig te koppelen. Als groep lampen zijn nu dus aangeschakeld de Wemo-stekker-schakelaars en de Yeelight-RGB-lampen. Zo kan de domotica “alle woonkamerlampen” in 1 keer schakelen.

« Oudere berichten

© 2021 Eco Zonnewoning

Thema gemaakt door Anders NorenBoven ↑