Je kachel aansturen met pimatic, de basics

Door Koffie op maandag 6 april 2015 09:52 - Reacties (19)
Categorie: -, Views: 11.230

Na de vele artikelen over homeautomation, is het weer eens een tijd voor een stukje van mijn kant :)

In deze blog wil ik beginnen met het behandelen van aansturing van je kachel door middel van pimatic. Ik ga er vanuit dat je stadsverwarming of een normale CV met thermostaat hebt. Dus geen opentherm toestanden oid. Twijfel je ? Trek je thermostaat van de muur en kijk hoeveel draden er van je thermostaat naar je ketel gaan. Indien dit er 2 zijn, zit je goed :Y)

Wat heb ik allemaal nodig :?
- Raspberry Pi met pimatic geďnstalleerd
- 1 relay (bijvoorbeeld : http://r.ebay.com/1RNzF8 )
- 1 temperatuursensor (DS18B20 + 4.7K weerstand of zelfbouw)
- Diverse kabeltjes (handjevol jumperwires en bijvoorbeeld UTP)

Stap 1 : De CV aansluiten aansluiten
Als allereerste haal je de huidige thermostaat van de muur af, die gaan we niet meer nodig hebben. Straks kun je daar een prachtige tablet hangen om je hele huis aan te sturen.
Laat de kabel zitten, deze hebben we wellicht nog nodig. Sowieso : liever bekabeling nutteloos laten zitten dan dat je een jaar later een probleem hebt omdat er geen kabel meer in de leiding te krijgen is.
De kabel die aan je thermostaat zat, loopt helemaal door naar je CV of stadsverwarmingsklep. De vraag is : waar gaat de Raspberry Pi komen?
Er is geen noodzaak om de Pi in de woonkamer te hangen, dus waarom niet gewoon lekker bij je CV plaatsen?
En nu komt die kabel die er al lag mooi van pas. We kunnen (indien je dat wilt) deze kabel hergebruiken voor de temperatuursensor. Controleer eerst hoeveel aders er van de muur naar je CV gaan. Indien dit er echt maar 2 zijn, zul je de kabel moeten vervangen. Voor de DS18B20 sensor hebben we minimaal 3 aders nodig.
Haal eerst de 2 aders van je CV af, en vervang deze voor 2 nieuwe aders (bijvoorbeeld een stukje UTP).
Verbind de andere kant van de 2 aders aan je relay.
Afhankelijk van je relay heb je verschillende aansluitmogelijkheden. Indien je 3 terminalschroeven hebt, zorg er dan voor dat 1 ader in de COM zit en de andere in de NO. Op deze manier zal je relay zonder tussenkomst van pimatic in een verbroken toestand staan.
Aan de andere kant van je relay zul je hoogstwaarschijnlijk 3 terrminalschroeven hebben : DC+ , DC- en CH1 (of VCC en GND ipv DC).
Verbind de VCC of DC+ met de 5v pin van je Raspberry Pi, en verbind de DC- of GND met de GND van je Raspberry Pi.
Verbind CH1 met GPIO0 van je Raspberry Pi (dat is BCM GPIO nummer 17).
De eerste stap is nu gezet, je ketel is verbonden met je Raspberry Pi :Y)

Voordat we verder gaan, testen we eerst of alles goed werkt. Zorg dat je pimatic goed hebt werken en installeer indien nodig de GPIO plugin.
Zet het volgende stuk code in je config, onder de devices sectie.


code:
1
2
3
4
5
6
{
      "id": "warmte",
      "class": "GpioSwitch",
      "name": "warmte",
      "gpio": 17
    },



Sla de wijzigingen op en reboot pimatic. Je hebt nu een ON/OFF device met de naam warmte in je installatie. Voeg de knop toe aan je GUI en test de knop uit. Wanneer je deze op ON zet, zal de klep van je stadsverwarming open moeten gaan. Indien je een ketel hebt, zal deze moeten gaan branden.
Gebeurt er niets? Controleer dan je bedrading tussen de Raspberry Pi, relay en CV nogmaals goed.

Stap 2 : Temperatuur in de woonkamer meten
We kunnen nu de CV aan en uit zetten wanneer we maar willen. Victory! Tijd om een stap verder te gaan, we willen namelijk ook weten hoeveel graden het in de woonkamer is.
De makkelijkste manier om de sensor op te hangen op de plek van je oude thermostaat. Er zit al een gaatje in de muur, en er loopt al een kabel naar de CV (waar je Raspberry Pi hangt).
Verbind de 3 pootjes van de sensor aan de 3 aders van je kabel. Onthoud welke kleur aan welk pootje.
Kijk naar het plaatje voor de juiste layout :

http://zooi.oostindie.com/images/247ds18b20_pinout.gif

Aan de andere kant van de kabel hebben we nog 1 onderdeel nodig : een weerstand van 4.7K. Plaats de weerstand tussen de VCC en de data (middeslte poot):

http://zooi.oostindie.com/images/736sensor_connection.png

Verbind vervolgens de VCC aan de 3.3V van de Raspberry Pi, de GND aan de GDN en de data aan GPIO 4 (BCM GPIO 23).
Zorg dat je de DS18B20 plugin geďnstalleerd hebt op Pimatic en pas je modules bestand aan:

sudo nano /etc/modules


Voeg de volgende regels toe:

code:
1
2
w1-gpio
w1-therm


Reboot je Raspberry Pi en kijk of de sensor gevonden word:

cd /sys/bus/w1/devices
ls -l

Je ziet nu 2 directorys, 1 daarvan ziet er zo uit 28-xxxxxxxxxxxx
Indien je geen directory met 28-xxxxxxxxxxxx ziet , klopt je bedrading niet. Controleer deze. Is je sensor gloeiend heet? Dan heb je de VCC en GND omgedraaid of zit je weerstand niet goed. De sensor kun je dan weggooien :(
Onthoud het volledige 28-xxxxxxxxxxxx nummer.

Mocht je meerdere DS18B20 sensors willen toevoegen, dan kan dat. Onthoud goed : alle sensors moeten op 1 kabel met slechts 1 weerstand. Je mag er meerder op 1 lange kabel plaatsen, of vanuit de Raspberry Pi als een soort ster netwerk.
Elke keer als je een nieuwe sensor toevoegt, zul ju op bovenstaande manier het ID moeten achterhalen.

Zet het volgende stuk code in je config, onder de devices sectie.


code:
1
2
3
4
5
6
7
{
  "id": "woonkamer-sensor",
  "name": "Woonkamer",
  "class": "DS18B20Sensor",
  "hardwareId": "28-xxxxxxxxxxxx ",
  "interval": 60000
}



Waarbij 28-xxxxxxxxxxxx dus het eerder onthouden ID van je sensor is.
Sla de wijzigingen op en reboot pimatic. Je hebt nu een temperatuur device met de naam Woonkamer in je installatie. Voeg de sensor toe aan je GUI. Je moet nu de temperatuur van de woonkamer zien.

Stap 3 : Warmte schakelen op basis van omgeving
Nu begint het leuk te worden. We kunnen nu de CV aan of uit zetten wanneer we dat willen, en we kunnen ook nog eens de temperatuur in de woonkamer meten. De Raspberry Pi is ineens een slimme thermostaat geworden :Y)
Door middel van rules kun je nu de CV aan of uit zetten. Je kunt hier zo creatief in zijn als je zelf wil. In een volgende blog ga ik dieper in op de aansturing van je CV om dit zo slim mogelijk en gebruikersvriendelijk mogelijk te doen.

Het lukt niet, ik snap het niet, ik heb hulp nodig! :?
Als je vragen hebt, kun je deze beter in het pimatic topic stellen : het grote pimatic topic - home domotica met je Raspberry Pi
Dat is makkelijker dan her te behandelen (je bereikt ook een groter publiek dan alleen Koffie :P ).

Inhoudelijk reacties op specifiek dit artikel kunnen uiteraard gewoon in de comments.

=[UPDATE]=
Deel 2 is nu ook online: Koffie's tweakblog: Je kachel aansturen met pimatic, een echte thermostaat

Volgende: Je kachel aansturen met pimatic, een echte thermostaat 04-'15 Je kachel aansturen met pimatic, een echte thermostaat
Volgende: (stads)verwarming draadloos schakelen 11-'14 (stads)verwarming draadloos schakelen

Reacties


Door Tweakers user KnoxNL, maandag 6 april 2015 11:19

Klinkt heel interessant, maar op de een of andere manier durf ik het niet goed aan. Als er iets faalt in het systeem ben ik op mezelf aangewezen, al kan ik natuurlijk altijd de thermostaat terughangen.

Ik ga eerst het topic eens lezen :)

Door Tweakers user Koffie, maandag 6 april 2015 11:21

In een andere post wil ik hier verder op ingaan, er zijn namelijk verschillende methodes om toch een backup te hebben. Je kunt bijvoorbeeld je thermostaat parallel aan je systeem toevoegen, of een extra knop bij de CV plaatsen.

Door Tweakers user KnoxNL, maandag 6 april 2015 11:27

Oh dan wacht ik nog wel even! Als ik nu de thermostaat van de muur ruk dan ziet het er toch niet uit en ik was niet van plan te laten stucken ;)

Ben benieuwd!

Door Tweakers user MikeOO, maandag 6 april 2015 11:33

Weer een mooie blog en op deze mannier kun je wel heel goedkoop een slimme thermostaat maken.

Alles valt wel met een goed script om je CV aan te sturen lijkt mij. Anders heb je kans dat je CV constant aan/uit zal gaan.

Gebruik zelf Domoticz met een Pi welke in de meterkast hangt.
Er zou dus een tweede Pi moeten komen bij de CV en dan deze twee laten communiceren met elkaar. Dan nog iets verzinnen om dit toe te voegen aan Domoticz.

Door Tweakers user Koffie, maandag 6 april 2015 11:36

Waarom dan niet rechtstreeks vanuit Domoticz?
MikeOO schreef op maandag 06 april 2015 @ 11:33:
Weer een mooie blog en op deze mannier kun je wel heel goedkoop een slimme thermostaat maken.

Alles valt wel met een goed script om je CV aan te sturen lijkt mij. Anders heb je kans dat je CV constant aan/uit zal gaan.

Gebruik zelf Domoticz met een Pi welke in de meterkast hangt.
Er zou dus een tweede Pi moeten komen bij de CV en dan deze twee laten communiceren met elkaar. Dan nog iets verzinnen om dit toe te voegen aan Domoticz.
Thanks :Y)

Waarom dan niet rechtstreeks vanuit Domoticz?

Door Tweakers user demichiel, maandag 6 april 2015 12:19

Bedankt Koffie, nadat ik je guide over pimatic homeduino heb gevolgd ben ik van plan om deze binnenkort ook te volgen! Ik kijk al uit naar je volgende post en je setup qua rules!

[Reactie gewijzigd op maandag 6 april 2015 12:19]


Door Tweakers user Jogai, maandag 6 april 2015 13:44

Dus geen opentherm toestanden oid.
Wat is daar mis mee?

Door Tweakers user MikeOO, maandag 6 april 2015 14:01

Koffie schreef op maandag 06 april 2015 @ 11:36:
Waarom dan niet rechtstreeks vanuit Domoticz?
[...]

Thanks :Y)

Waarom dan niet rechtstreeks vanuit Domoticz?
CV staat op zolder en Domoticz in de meterkast ivm toekomstige meterstanden uitlezen en is teven een mooie centrale plek in huis voor Domoticz..

Tevens zou ik een extra kabel moeten aanleggen van de meterkast naar zolder om de Pi te kunnen gebruiken.

Denk dat het dan handiger is om een 2d Pi op zolder te zetten voor de CV aansturing en weet ook niet of het qua lengte van de kabel ook gaat werken.

Zou ook nog niet weten hoe je dit direct in Domoticz kan toevoegen.

Dit zijn nou net van die dingen dat je nu denk had ik vroeger maar meer in electronica gedaan }>

Maar kijk nu al uit naar je vervolg hiervan want uiteindelijk lijkt mij dit een mooie manier om te besparen en ook meer comfort te krijgen aangezien de CV van afstand geschakeld kan worden.

Door Tweakers user onok, maandag 6 april 2015 15:06

Ik heb ook al een tijdje geleden m'n eigen thermostaat gemaakt met een raspberry pi. Echt aan te raden :D

Door Tweakers user ThinkPad, maandag 6 april 2015 17:06

Ik zou als veiligheid nog een analoge Honeywell thermostaat ofzo op de kop tikken en die tussen het relais en de klep zetten. De thermostaat stel je dan in op 24 °C.
99% van de tijd zal je Pi dan de verwarming probleemloos kunnen besturen, maar als de Pi wel ineens crasht en het relais blijft hangen als je een weekendje weg bent dan zal je huis niet ineens 30 °C worden :)

Of een bimetaal-schakelaar zoals deze. Die is NC (normaal gesloten) en zal het contact verbreken als de temperatuur boven een bepaalde temperatuur komt. Ik vraag mij alleen af hoe het met de nauwkeurigheid van die dingen zit... Maar voor de prijs het proberen waard, wel zo veilig!

[Reactie gewijzigd op maandag 6 april 2015 17:08]


Door Tweakers user Koffie, maandag 6 april 2015 18:01

Niets, alleen is dat (bij mijn weten) niet te schakelen met een simpele maak/breek verbinding?

Door Tweakers user Snowhite0901, dinsdag 7 april 2015 07:37

leuk stukje! Een opmerking: OpenTherm gaat voor zover ik weet toch ook over 2 draden.
Twijfel je ? Trek je thermostaat van de muur en kijk hoeveel draden er van je thermostaat naar je ketel gaan. Indien dit er 2 zijn, zit je goed
geldt dus niet....

Door Tweakers user gnup, dinsdag 7 april 2015 08:06

Opentherm gaat inderdaad over twee draden, maar de standaard schrijft voor dat je het als een maak/verbreek contact kan gebruiken.
En als je niets te doen hebt, verdiep je gerust een keer in opentherm.
De ketel aan of uit, is hollen of stilstaan. Met opentherm is een beetje ook mogelijk.

Door Tweakers user geekeep, woensdag 8 april 2015 02:12

Vandaag mijn oude B versie vervangen voor een pi 2. CPU temperatuur met het draaien van pimatic is gedaald van 53 naar 40 graden.

Wat commando's invoeren was voldoende om de SD kaart klaar te maken voor de nieuwste pi, zie http://thepihut.com/blogs...sd-for-the-raspberry-pi-2

[Reactie gewijzigd op woensdag 8 april 2015 02:13]


Door Tweakers user fjux, vrijdag 10 april 2015 13:20

Als je echt via Opentherm wilt doen. (zoals ik)

kun jij kijken naar: http://otgw.tclcode.com

Dat werkt als man in the middle tussen je thermostaat en je boiler.

Voordeel: Je themostaat blijft gewoon werken zoals altijd, maar als jij iets anders wil dan je thermostaat zegt( bijvoorbeeld hogere temp) Dan gaat de gateway dat veranderen voor je :D


Hiervoor heb ik een simpele plugin gemaakt voor pimatic. waar je de temp kan instellen en de themostaat temp kan uitlezen.
Ben nu bezig om overige statusen uit te lezen om leuke grafieken te krijgen: bijvoorbeeld temperatuur en Flame status, om te kijken hoeveel effect die hebben op elkaar. en hoe lang het duurt voor de temp bereikt is.

Door E Kort, zondag 2 augustus 2015 20:02

Interessante post, lijkt simpel, toch durf ik het niet aan. Ben neit zo'n held als het komt op die pinnen op de Raspberry.

Wie weet vind ik ooit nog eens iemand die zoiets kan maken.

Door Tweakers user vincent84, zaterdag 12 september 2015 16:44

Koffie, interessante handleidingen schrijf je! Heb de temperatuur sensor mede via jouw handleiding aan de praat gekregen. In eerste instantie lukt het niet, na wat zoekwerk kwam ik erachter dat er nog een extra stap gedaan moet worden, namelijk:

dtoverlay=w1-gpio moet toegevoegd worden aan /boot/config.txt.

Dit staat hier beschreven: http://www.reuk.co.uk/DS1...sor-with-Raspberry-Pi.htm

Door Jan, zaterdag 23 januari 2016 23:57

Ik wil kijken op ebay naar waar jij heen linkt, maar je links zijn kapot.
Dan heb ik het over: http://r.ebay.com/1RNzF8.
Heb je voor mij/ons een werkende link?

Door Tweakers user Koffie, zondag 24 januari 2016 00:21

Zoeken op 'relay arduino' ;)

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.