Hilfe bei Rule mit Timer

  • Ich habe einen Türöffner für eine Innentür über einen PN532 aktiv.

    Mit der vorhandenen Rule löst der Türöffner für 1 Sekunde aus.

    Jetzt habe ich den Öffner ersetzen müssen und gegen ein Modell mit Speicher getauscht. Also würde jetzt eine Viertelsekunde oder halbe Sekund weit ausreichen.

    Das lässt sich aber scheinbar nicht über Rules mit Timer definieren.

    Wie kann ich das realisieren?

    Ich dachte an Pulsetime soweit ich das gelesen habe, aber ich verstehe nicht ganz wie ich die in Rules integrieren kann.

    Die vorhandene Rule:

    Code
    on PN532#DATA=Bernhard do backlog power1 on;power2 on;publish Bernhard;ruletimer1 1 endon on rules#timer=1 do backlog power1 off;power2 off; delay 30; restart 1 endon  on PN532#DATA=Julia do backlog power1 on;power2 on;publish Julia;ruletimer1 1 endon on rules#timer=1 do backlog power1 off;power2 off; delay 30; restart 1 endon  on PN532#DATA=Karte1 do backlog power1 on;power2 on;publish Karte1;ruletimer1 1 endon on rules#timer=1 do backlog power1 off;power2 off; delay 30; restart 1 endon 
  • Hi,

    Das lässt sich aber scheinbar nicht über Rules mit Timer definieren.

    Richtig,, weil der RuleTimer nur in Sekunden arbeitet.

    Alternative wäre mit einem weitern Delay zu arbeiten, der geht ja im 0,1Sekunden Bereich und das ganze jeweils in ein ON <> ENDON zu setzen:

    on PN532#DATA=Bernhard do backlog power1 on; power2 on; publish Bernhard; delay 5; power1 off; power2 off; delay 30; restart 1 endon

    Und das dann für jede Karte so.

    EDIT:
    Warum startest du das Teil nach jeder erkannten Karte eigentlich neu?

    EDIT2:

    Oder, wenn mit Pulstime, wird das in der Konsole eingegeben. In Deinem Falle:

    PowerOnState 0 Damit das Relay auch nach einem Reboot immer brav aus ist.

    Pulsetime 5 Damit es immer nach einer halben Sekunde wieder ausschaltet.

    on PN532#DATA=Bernhard do backlog power1 on; power2 on; publish Bernhard; delay 30; restart 1 endon

    Der Vorteil ware das der Schaltimpuls auch nach Betätigung über WebIF erfolt oder wenn Power über MQTT angetriggert wird.

    Ich hab es jedenfalls bei meiner TÖ Schaltung so gemacht. ;)

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

    3 Mal editiert, zuletzt von HoerMirAuf (13. August 2021 um 11:21)

  • Danke. Die letzte Lösung mit pulsetime1 5 ist so geeignet.

    Ich muss allerdings den Pulsetime mit einer Zahl einem Ausgang zuordnen, da sonst beide Ausgänge den gleichen Pulsetime machen.

    Gelöst habe ich das jetzt so:

    Code
    pulsetime1 3
    pulsetime2 30
    
    rule1 
    on PN532#DATA=Bernhard do backlog power1 on;power2 on; publish Bernhard; delay 30; restart 1 endon....

    Damit habe ich erreicht das der Ausgang 2 (WLED Kontrolleuchte) für ein paar Sekunden weiterleuchtet und der Ausgang 1 nur 0.3 Sekunden aktiv ist

    Warum ich das Teil neustarte?

    Seltsamerweise scheint der sich manchmal aufzuhängen und den PN532 zu vergessen. Nach einem Neustart ist das behoben. Warum das so ist habe ich noch nicht herausgefunden, aber es verhält sich bei 3 verschiedenen Testumgebungen ebenfalls so.