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

Categorie: Domotica mogelijkheden (Pagina 1 van 3)

Honderden voorbeelden en keuzes te maken op het gebied van domotica. Wat zijn de mogelijkheden?

Somfy screens automatisch bedienen

Somfy remote

Stel je hebt screens welke goed in zonwering zijn. Maar je wilt ze niet elke keer handmatig neer- en omhooghalen.
Dan maak je gebruik van Domotica; automatisering van je huis; je maakt het ‘smart’.

Dat kan, in het geval van screens met Somfy-motoren, met behulp van producten zoals de ToHoma Switch. Nadeel is dat 1) daar de slimheid nog niet in zit, het apparaat is er alleen voor bediening op afstand en 2) met € 199 best wel prijzig is en 3) je afhankelijk bent van ‘de cloud’, internet-verbindingen en het continueren van de mogelijkheid door de producent.

draadjes gesoldeerd op een afstandsbediening

Een alternatief is zelf-bouwen (DIY). De uitdaging is wel dat het SomfyIO-protocol beveiligd is en niet zo simpel werkt als de afstandsbediening van je tv. Maar niets is zo mooi als een uitdaging. Helemaal als er al anderen in de wereld iets soortgelijks hebben geprobeerd. De truuk: een afstandsbediening en met draadjes en elektronica doen alsof je de knoppen indrukt.

Dus: bij mijn fantastische leverancier van de screens Novizon Zonwering (aan de Hoornbloem in Apeldoorn) een extra afstandsbediening geregeld, uit elkaar gehaald en draadjes gesoldeerd.

Met een Wemos D1 (met wifi), extra elektronica en ESPHome-software kan je  de  knopjes van  het apparaat bedienen  en zo de  screens omhoog of omlaag doen.

DIY programming board ESP8266 with RGB and wiresTot zover de afstandsbediening.  Echt slim wordt het pas als we  de bediening doen  ‘uit  zichzelf’. We  hebben nu een ESP8266-apparaat  met wifi en  ESPHome. Deze is zichtbaar in mijn domotica-software HomeAssistant, welke ik ook voor andere dingen gebruik zoals  het  aansturen van  de lampen als het donker wordt.

In Home Assistant (HA) zijn de knoppen zichtbaar. Als handmatig te geven commando. In HA kan je ook routines schrijven. En heb ik informatie over hoe veel de zon schijnt. De volgende bronnen gebruik ik om te bepalen of de schermen omhoog moeten of neer kunnen:

knoppen in HomeAssistant

  • de universele tijd (UTC) -> hoek van de zon ten opzichte van het raam; of de zon naar binnen schijnt.
  • hoeveel zonne-energie we opvangen -> als het bewolkt is zijn de schermen niet nodig
  • de temperatuur in de kamer -> opwarming door de zon niet nodig als het al warm genoeg is
  • of er regen aan komt -> met regen doe ik de schermen graag omhoog
  • hoe hard het waait -> met veel wind doe ik de schermen graag omhoog

En daar heb ik ook her en der enige vertraging in gebouwd zodat de schermen niet de hele tijd op- en neergaan als er een wolkje voor de zon komt of als er af en toe buien zijn. Niet te vaak beweging is goed voor de acceptatie van het hele gezin. Af en toe pas ik de regels nog wat aan als we zelf het gevoel hebben dat het nog iets slimmer kan.

huis met drie schermen; op, half en neer

Mocht je meer willen weten of ook zoiets willen bouwen; kijk dan ook eens op mijn github-pagina waar alles in nog veel meer detail is uitgelegd.

Energiemeting in de meterkast

Ik 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

« Oudere berichten

© 2024 Eco Zonnewoning

Thema gemaakt door Anders NorenBoven ↑