Hallo und guten Tag,
ich bin seit längerem damit beschäftigt eine Heizungssteuerung und Alarmanlage auf Basis eines ESP32 für mein Wohnmobil aufzubauen. Als Anfänger habe ich mir hierzu einige Anregungen und Vorschläge aus dem Netz gesammelt und bin letztendlich mit Tasmota Sensor und Rules fast am Ziel.
Vielen Dank an alle die Ihr Wissen hier zur Verfügung stellen. Insbesondere an "Hörmirauf" dessen Rules Übersetzung mir sehr geholfen hat.
Leider ist es nun so, dass ich nicht mehr so recht weiter komme und anfange drum rum zu codieren.
Als erstes hatte ich mir die Heizungssteuerung vorgenommen und mit dieser Rule erfolgreich aber noch ohne die jetzt gewünschte Vollautomatik getestet:
Rule3 ON DS18B20-2#Temperature>=22.5 DO Power1 0 ENDON ON DS18B20-2#Temperature<=22.0 DO Power1 1 ENDON
Das Relais wurde in einer verlängerten Dose direkt am Stecker montiert wo der Heizlüfter eingesteckt wird.
Dann habe ich eine Alarmanlage erstmal auf einen ESP8266 dazu codiert welche nach dem Einschalten kurz piepen sollte und dann für 6 sec rot blinkt bis zum Scharf schalten. Wird ein Reed Kontakt von drei in Reihe unterbrochen soll der Piepser für 6sec piepen und danach ein Relais eine Sirene aktivieren. Nach einem Delay von 1200 schaltet das Relais wieder aus und die Anlage ist wieder scharf. Eingeschaltet und Ausgeschaltet wird die Alarmanlage mit einer Fernbedienung (SonOff kompatibel). Nachdem auch das funktioniert hat habe ich das ganze auf dem ESP32 migriert.
Hier war es dann so, dass nix mehr funktioniert hat und die Alarmanlage sofort nach Alarm wieder ausging und scheinbar alle Delay Befehle versagten. Erst dachte ich, es liegt am DSP32 da ja mit dem ESP8266 alles funktioniert hat. Irgendwann bin ich dann drauf gekommen, dass es die Heizungssteuerung (Rule3) ist welche scheinbar das Delay beeinflusst. Was macht man als Anfänger >> man codiert wild drum rum und schaltet Rule3 jeweils beim Ablauf der rules1 und 2 für die Alarmanlage ab. Auch das Funktioniert mittlerweile ist aber sicher nicht schön gelöst.
Rule1 on RfReceived#Data=0x4D8DE2 do backlog rule2 0; rule3 0; power12 1; power12 0; color FF0000; Power14 3; delay 100; rule2 1; power12 1; power12 0; rule3 1 endon on RfReceived#Data=0x4D8DE8 do backlog rule3 0; power13 0; rule2 0; color 00FF00; power14 1; power12 0; ruletimer1 0; delay 300; Power14 0; rule3 1 endon
und
Rule2 on switch11#state do backlog rule3 0; power12 3; power14 3; RuleTimer1 5 endon on Rules#Timer=1 do backlog power13 1; color FFFFFF; power14 3; delay 1200; power13 0; color FF0000; power14 1; rule2 1; rule3 1 endon
Was auch nicht schön ist, dass die weiße LED (Power14 3) erstmal den Blinkcount5 macht und dann immer an ist. Es wäre schöner wenn die LED bis Alarmende durchblinken würde. Damit kann ich aber leben.
Im Command wurde noch folgendes eingegeben: PowerOnState 0; BlinkTime 5; BlinkCount 5 und Rule1 1, Rule2 1 und Rule3 1.
Power 12=piepser, Power13=Alarmsirene, Switch11 sind die Reedkontakte in Reihe und Power14 ist die WS2812 LED
Für die Heizung wird Power 1 verwendet. Mit Power 9 und 10 würde ich diese gerne mit den Standard Timer umschalten aud 21 und 17 Grad
Sowei funktioniert das nun seit Tagen ganz gut aber jetzt komme ich mit der Automatikfunktion zur Heizung überhaupt nicht mehr weiter.
Diese würde ich gerne über zwei virtuelle Relais zu bestimmten Zeiten über die Standard Timern 1-16 ein und ausschalten:
Z.B. 18;00 Power9 on und um 23:00 Power9 off. Das Relais 9 soll dann die Temeratur (ON DS18B20-2#Temperature>=22.5 DO Power1 0 ENDON ON DS18B20-2#Temperature<=22.0 DO Power1 1 ENDON) an Relais 1 schalten.
Mit Power10 um 24:00 on und um 9:00 off soll dann das Relais 10 die Temeratur (ON DS18B20-2#Temperature>=17.5 DO Power1 0 ENDON ON DS18B20-2#Temperature<=17.0 DO Power1 1 ENDON) in der Nacht bei 17 Grad halten.
Leider habe ich ja nun keine weitere Rule mehr frei und der DSP32 soll StandAlone funktionieren. Daher die Bitte, ob ev. mal jemand aus dem Forum eine Idee zur Lösung beitragen könnte.
LG aus Franken, Horst