Alarmanlage und Heizlüftersteuerung für WoMo mit ESP32 auf Basis Tasmota 12.4.0

  • 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

  • Bei Rules bin ich wahrscheinlich keine große Hilfe, aber wenn noch eine Rule benötigt wird,

    dann könntest du es mal mit ESPeasy auf deinem ESP32 probieren.

    Bei ESPeasy hat man 4 Rules.

    Außerdem hat man die Rules ständig im Blick und kann sie an beliebiger Stelle

    nochmals editieren und speichern, weil es einen eigenen Menüpunkt für Rules gibt.

    Da wählt man einfach eine Rule (1-4) aus und sie wird im Fenster angezeigt.

    (Pro Rule 2048 Zeichen)

  • Prima, danke das wäre ja schon mal etwas. ESPeasy soll ja ähnlich sein. Mal sehen was sonst noch kommt.

  • die Idee

    1.die Temperaturveränderung setzt eine VAR1 0 für aus und 1 für ein

    2.on Clock#Timer=1 do ADD1 1 endon ' erhöht die VAR1 wenn im Timer eingestellt ist auf ein

    33. Power schaltet dann in Abhängigkeit von VAR1 wenn grösser 1 ein und wenn kleiner 2 aus - nur so ist ein logisches und möglich

    Sie dir mal das Thema an RE: Einschaltverzögerung und Zeitplan

    Danke für die Antwort, kann das aber grad noch nicht nachvollziehen da ich ja Anfänger bin. Aber zumindest hat es mir die Augen zum Thema Standard Timer geöffnet. Da ich nicht sicher stellen kann, dass ich immer eine Internetverbindung habe müsste ich jedesmal die Zeit als Command eingeben.
    Weiß jemand wie lange und wie genau so ein ESP ohne NTP Zeitsyncronisierung läuft?

    LG Horst

  • um das logische UND aufzulösen- ist das wesentlich.


    rule2

    ON VAR1#state<2 DO Power1 0 ENDON

    ON VAR1#state==2 DO Power1 1 ENDON

    ON VAR1#state>2 DO Backlog Power1 0; VAR1 0 ENDON

    wificonfig 4 wartet auf WLAN Verbindung und NTP bei mich Wochenlang ( aber Achtung- wenn Stromausfall ist dann steht alles - so könnte man auch ein fiktives Startdatum beim Start einstellen)