Blocky Skript nur einmal ausführen

  • Hi Leute,

    ich bin neu hier und neu beim ioBroker sowie neu in der Blockly Skriptsprache :)

    Ich habe gestern einmal ein wenig herum experimentiert. Ich würde gerne eine [definition='20','0']Alexa[/definition] Sprachausgabe machen, wenn der CO2 Wert meiner Netatmo Station einen bestimmten Schwellwert überschreitet.

    Soweit funktioniert das ganze auch schon. Allerdings ist es jetzt blöd, dass bei jeder Aktualisierung der Netatmo Station die Sprachausgabe jetzt kommt.

    Kann man das ganze irgendwie weiter einschränken z.B. dass die Ansage nur einmal in der Stunde kommen darf?

    Hat jemand einen Tipp?

  • Schau Dir mal die Funktion: Zeitstempel an!

    Die sollte Dein Vorhaben umsetzen können.

    Zitat

    Wenn Objekt ID ( Wert ) > X und "Letzte Änderung - Zeitstempel = 1 Stunde ( Google Timestamp IoBroker ) "

    mache :

    sonst: ( Bei Bedarf )

    Somit prüft er zu Deiner eingestellten Zeit ob der CO2 Wert erhöht ist.

    Sollte eine Sache von 5 Minuten sein :)

  • Hey ich habe was ähnliches vor das mein Bewegungsmelder auslöst sobald ich aufstehe und dann den restlichen tag nicht mehr auslöst und dann erst wieder um 4uhr morgens oder so aktiv wird. Aber ich verstehe das PascalVC irgendwie nicht wie du das meinst kannst du vielleicht irgendwie ein beispiel exportieren oder es erklären?:/ Wäre auf jeden fall mega und danke im vorraus.:)

    Mfg Nick

  • Wenn Du wirklich nur willst das er einmal auslöst, solltest Du dieses mal versuchen:

    Bitte an Deinen Bewegungsmelder anpassen!
    Die Lampe oder what ever die geschaltet werden soll bitte auch!

    Eigentlich leicht aufgebaut:

    Wenn sich der Status vom PIR ändert,

    1. ) So wird geprüft ob der PIR nun ( 1 oder true ( Bitte im Feld eintragen ) hat.

    2.) ob die aktuelle Zeit zwischen XX:XX und XX:XX ist. ( EInfach 3:50 - 4:05 oder so )

    Wenn beide Bedingungen erfüllt sind, schaltet er was auch immer Du willst.


    Gerade nochmal mit meinem Pir getestet, geht super in der Zeit, danach tut sich nichts mehr, egal wie oft er den Status ändert!


    Grüße


    ****EDIT****

    Und wenn er sich wirklich nur einmal regen soll, dann musst Du mit einer Zusatz-Variable arbeiten:


    Wenn PIR 1 in der Zeit zwischen XX und XX ist, ändere Status auf 1 deiner Variable ( Eine neue Anlegen).

    Anschließend Triggerst Du den Status und schaltest anhand Deines Status wenn 1 ist.

    Die Variable bleibt auf 1, somit keine Veränderung und er schaltet wirklich nur einmal, bei einer Bewegung.

    Einmal am Tag ( 00:00Uhr ) setzt Du die Variable mittel Zeitplan zurück ( 0 )


    Somit wird nur einmal geschaltet, egal ob von Dir die Bewegung ausgelöst wurde, eine Spitze in der Stromversorgung den HC ausgelöst hat oder sonst was, eine Wiederholung findet dann nicht statt!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!