Rule befehl nur einmal ausführen

  • Hallo zusammen ich habe eine Heizung die ich an und ausschalten kann mit einer taste (1sec drücken Heizung an, 3sec drücken Heizung aus.)



    Jetzt zu meiner Idee, ich wollte über einen dh11 Sensor und zwei Relais das ganze automatisieren.



    ist die Temperatur zb unter 15° geht Relais1 für eine Sekunde an ist die Temperatur über 18° geht das zweite Relais1 für 3 sec an.



    Mein Problem ist, wenn ich jetzt zb pulsetime1 10 eingebe geht das Relais an und wieder aus wie gewünscht.



    Nur mach ich das zb über die Rule Funktion



    Code
    rule1 on DHT11#Temperature>15 do power1 1 endon



    bleit logischer Weise das Relais1 solange an wie die Temperatur auch über 15° ist.



    Mir fehlt das logische Verständnis gerade wie ich den ganzen Befehl Aufbauen soll.


    Könnte evtl. auch mit ein Relais gehen.



    Vieleicht hat irgendeiner von euch eine Idee.


    ich steh auf dem schlauch gerade damit X/


    Der Befehl darf so zu sagen ja nur einmal bei >15° ausgeführt werden und erst wenn wieder >18° ist darf der 2 Befehl auch wieder nur einmal ausgeführt werden.


    Ich hoffe es ist so etwas verständlich.


    Gruß Simonsky

  • Zur hilfreichsten Antwort springen
  • Warum so umständlich?

    Du könntest die Heizung auch direkt mit einem Relais und Fühler steuern.

    Dazu benötigt man nur eine Rule…..

    Bei 15 Grad an, bei 18 Grad aus


    Inspiration du hier:

  • Warum so umständlich weil ich es beschreiben habe wie die Heizung funktioniert. Wir reden von einer mobilen Diesel Heizung. Sonst hätte ich es mir schon so einfach gemacht. Aber ich sehe schon ich werde es womöglich mit fhem lösen müssen dachte ich bekomme es evtl mit tasmota direkt hin 😅

  • Hallo! Lese schon etwas länger hier im Forum mit und befasse mich auch intensiv mit Tasmota,


    wäre die ONE SHOT Option das was du suchst?


    Code
    Rule<x>
    
    5 = enable one-shot (e.g., sometimes used for slow changing sensors like temperature) detection


    Commands - Tasmota


    dadurch wird die Rule nur 1x ausgeführt beim ersten Trigger..


    sonst wäre ev noch ein Umweg über ein Vergleich mit Variablen (braucht aber wohl IF..ELSE) oder Scripting?


    lg hk2k2

  • simonsky

    Hat einen Beitrag als hilfreichste Antwort ausgewählt.
  • Genau so habe ich mir das vorgestellt. vielen vielen Dank für die Hilfe.


    Habe nur POWER2 in on noch ausgetauscht.


    Was genau macht die teleperiod 100 und rule1 5 konnte bis jetzt noch nicht alles so kapieren.


    Und eine frage hätte ich noch könnte ich das auch mit einen Relai abbilden.


    Code
    Sprich: erst bei >22 POWER1 schaltet einmal 3sec on und bei <15 POWER1 schaltet 1sec on.


    Ist jetzt nur so interessehalber. Komme auch mit den zwei Relais zurecht. :)

  • ohne Test evtl ähnlich


    pulsetime1 10

    teleperiod 100


    Rule1 5

    Rule1 1

    Rule1

    ON tele-DHT11-3#temperature>18 do backlog pulstime1 10; Power1 on ENDON

    ON tele-DHT11-3#temperature<15 DO backlog pulstime1 30; Power1 off ENDON


    Ps: tele- fragt den Trigger nur jede 100 Sekunden ab um die Hysterese zu stützen