NEWS
kleines Alarscript benötigt Hilfe
-
Hallo Gemeinde, ich habe hier versucht ein kleiner script zu schreiben was mich bei Abwesenheit per telegram benachrichtigt wenn ein fester geöffnet wurde. habe dazu aus dem Status Fenster script was hier sehr hoch im Umlauf ist den Datenpunkt der Anzahl Fenster auf als trigger verwendet. nur irgendwie löst es nicht aus wenn die Anwesenheit false ist?! kann mir jemand helfen?
danke euch!
//AW const idaw = 'hm-rega.0.950' const idaxel = "hm-rega.0.16372" const idlaura = "hm-rega.0.16371" var aw = getState(idaw).val; var axel = getState(idaxel).val; var laura = getState(idlaura).val; //Fenster/Türen const idfenster = 'javascript.0.Status.Fenster.Anzahl_auf' var fenster = getState(idfenster).val; //Funktion keine Anwesend function alarm() { var text = []; sendTo('telegram.0', { text: text + ' wurde geöffnet !!!', }); } on(idfenster, function(dp) { fenster = dp.state.val; if(!aw) alarm(); });
-
@fischi87
Es wird nicht auf Änderungen von Anwesenheit reagiert.
Vorschlag:const idaw = 'hm-rega.0.950' var aw = getState(idaw).val; //Fenster/Türen const idfenster = 'javascript.0.Status.Fenster.Anzahl_auf' on(idaw, function(dp) { aw = dp.state.val; }); on(idfenster, function(dp) { if(dp.state.val && !aw) { sendTo('telegram.0', { text: 'Ein Fenster wurde geöffnet !!!', }); } });
-
Hallo Paul, danke erstmal für deine antwort. Komm im Moment nicht an das Skript ran aber wieso muss ich auf die aw triggern?
Danke
-
@fischi87 sagte: wieso muss ich auf die aw triggern?
Weil sonst der Anwesenheitsstatus verwendet wird, der bei Skriptstart vorliegt. Ohne Trigger ändert er sich nicht mehr.
-
Aha okay. Noch eine Frage, würde ich jetzt jedesmal wenn sich der Fenster State ändert eine Nachricht bekommen also auch wenn das Fenster wieder geschlossen wurde? Möchte nämlich nur eine Nachricht bekommen wenn geöffnet wurde und nicht wieder eine wenn geschlossen wurde?!
-
@fischi87 sagte: eine Nachricht bekommen also auch wenn das Fenster wieder geschlossen wurde?
Es kommt nur eine Nachricht, wenn mind. ein Fenster offen ist (geöffnet wird). Wenn zwei Fenster offen sind und eines wird geschlossen, kommt allerdings auch eine Nachricht.
Wenn nur beim Öffnen - egal wie viele Fenster - eine Nachricht kommen soll, ändere den Trigger:on({id: idfenster, change: 'gt'}, function() { if(!aw) { sendTo('telegram.0', { text: 'Ein Fenster wurde geöffnet !!!', }); } });
-
@paul53 sagte in kleines Alarscript benötigt Hilfe:
on({id: idfenster, change: 'gt'}, function() { if(!aw) { sendTo('telegram.0', { text: 'Ein Fenster wurde geöffnet !!!', }); } });
danke dir, nach kurzem test, funktioniert erstmal ganz gut. ich test weiter!