Heimeier RTL Ventil / Universal Stellantrieb Smarthome

mit iobroker und natürlich alexa!

 

Problemstellung: Für manche Heizungsventile gibt es keine passenden Stellantriebe bzw ich habe dazu nichts gefunden.

Manche sind vielleicht auch veraltet und dafür wird nichts mehr hergestellt. 

Bei mir ist es eine Heizung an der Wand im Bad, an die gleichzeitig die Fußbodenheizung angeschlossen ist.

Wie auch immer ich will, dass die letzte Heizung die noch von Hand gestellt werden muss auch über die Haussteuerung arbeitet.

 

 

 

 

Bitcoins / Litecoins / Ethereum / und andere schnell und einfach kaufen --> Du bekommst 10$ in Bitcoin geschenkt!

 

Folgende Teile werden benötigt (Adblocker aus, sonst keine Links)

 

Nodemcu

Servo
Kabel
Netzteil oder andere 5V Spannungsquelle

optional

amazon echo (jede Version)

 

 

 

Außerdem benätigst du die mechanishe Anbindung des Servos an die Heizung ich habe mir einen Adapter gezeichnet und gedruckt.

3D gedruker Adapter

 

Dann benötigst du natürlich noch Kabel, einen Lötkolben und vielleicht ein paar Lüsterklemmen. 

Als Software benötigst du ESPEasy.

Flash Vorgang:

  • Node mit dem PC verbinden und im Gerätemanager prüfen welcher COM Port erstellt wird.
  • flash.cmd aus dem Zipfile doppelt klicken und starten. CMD sollte sich öffnen.
  • COM Port aus Gerätemanager angeben.
  • Wenn du die Node aus meinem Link hast, dann 4096 wählen.
  • Build 120 oder neuer wählen.

Nun siehst du ein neues WLAN der Node. Du kannst dich mit dem WLAN verbinden und auf die IP 192.168.4.1 surfen.

Mit dem Kennwort configesp kommst du weiter. Hier nun die Node mit deinem WLAN verbinden.

 

So weit so gut, die Gundinstallation ist abgeschlossen. Nun noch das Servo verkabeln. 

Hier das Bild der GPIO Schnittstelle der NODEMCU

 

Die Verkableung sieht folgendermaßen aus

Ich habe den Servo an GPIO5 (D1) angeschlossen, daher lautet der Aufruf:

Show/Hidden bash code

View source
 
 
 
HTTPS://<espeasyip>/control?cmd=Servo,1,5,90
 
 
  

 

1 = Servo 1; 5 = Pin GPIO5 --> D1; 90 = Stellwert (0-180 angeben)

 

Ab jetzt kannst du deine Heizung via PC / Smaprtphone steuern. Zwar noch ziemlich spartanisch, aber man braucht nicht laufen ;)

 

Ich gehe davon aus, dass du eine laufende Instanz von iobroker hast. Dann geht es hier weiter. Im Badezimmer habe ich ein xioami

 

In iobroker legst du ein neues Gerät mit einem Datenpunkt an "Gewuenschte_Temp".

Mit dem Script hier steuere ich nun die Badheizung automatisch. Wie jedes andere Gerät kann die Heizung nun auch via alexa gesteuert werden.

Show/Hidden bash code

View source
 
 
 
var tempbad, gewtemp, tempdiff;
 
 
 
on({id: 'javascript.0.EigeneGeraete.Heizung_Bad_Gew_Temp', change: "ne"}, function (obj) {
 var value = obj.state.val;
 var oldValue = obj.oldState.val;
 tempbad = parseFloat(getState("mihome.0.devices.weather_v1_158d0001d6bf98.temperature").val);
 gewtemp = parseFloat(getState("javascript.0.EigeneGeraete.Heizung_Bad_Gew_Temp").val);
 tempdiff = parseFloat((gewtemp - tempbad));
 console.log(gewtemp);
 console.log(tempbad);
 console.log(tempdiff);
 if (getState("fhem.0.Fenster_Bad.state").val != 'Open') {
 console.log('Fenster ist zu');
 if (tempdiff <= 0.1) {
 try {
 require("request")('HTTPS://192.168.0.158/control?cmd=Servo,1,5,180').on("error", function () {console.error(e);});
 } catch (e) { console.error(e); }
 console.log("request: " + 'HTTPS://192.168.0.158/control?cmd=Servo,1,5,180');
 setState("javascript.0.EigeneGeraete.Heizung_Bad"/*Heizung_Bad*/, 20);
 }
 if (tempdiff >= 0.1 && tempdiff < 0.3) {
 try {
 require("request")('HTTPS://192.168.0.158/control?cmd=Servo,1,5,100').on("error", function () {console.error(e);});
 } catch (e) { console.error(e); }
 console.log("request: " + 'HTTPS://192.168.0.158/control?cmd=Servo,1,5,100');
 setState("javascript.0.EigeneGeraete.Heizung_Bad"/*Heizung_Bad*/, 40);
 }
 if (tempdiff >= 0.3 && tempdiff < 0.4) {
 try {
 require("request")('HTTPS://192.168.0.158/control?cmd=Servo,1,5,60').on("error", function () {console.error(e);});
 } catch (e) { console.error(e); }
 console.log("request: " + 'HTTPS://192.168.0.158/control?cmd=Servo,1,5,60');
 setState("javascript.0.EigeneGeraete.Heizung_Bad"/*Heizung_Bad*/, 60);
 }
 if (tempdiff >= 0.4 && tempdiff < 0.5) {
 try {
 require("request")('HTTPS://192.168.0.158/control?cmd=Servo,1,5,40').on("error", function () {console.error(e);});
 } catch (e) { console.error(e); }
 console.log("request: " + 'HTTPS://192.168.0.158/control?cmd=Servo,1,5,40');
 setState("javascript.0.EigeneGeraete.Heizung_Bad"/*Heizung_Bad*/, 80);
 }
 if (tempdiff >= 0.5) {
 try {
 require("request")('HTTPS://192.168.0.158/control?cmd=Servo,1,5,0').on("error", function () {console.error(e);});
 } catch (e) { console.error(e); }
 console.log("request: " + 'HTTPS://192.168.0.158/control?cmd=Servo,1,5,0');
 setState("javascript.0.EigeneGeraete.Heizung_Bad"/*Heizung_Bad*/, 100);
 }
 } else {
 try {
 require("request")('HTTPS://192.168.0.158/control?cmd=Servo,1,5,180').on("error", function () {console.error(e);});
 } catch (e) { console.error(e); }
 console.log("request: " + 'HTTPS://192.168.0.158/control?cmd=Servo,1,5,180');
 }
});
 
 
  

 

 

Dir hat das Projekt gefallen. Dann unterstütze mich gerne mit einer kleinen Spende via Paypal.

Keine Berechtigung Kommentare zu posten