@freaky:
Nun zu meinem Problem, Handy geht ins WLAN, Lampen gehen an, ich sitz nun im Wohnzimmer und brauch das Licht nicht mehr im Flur, schalte über die vis das Flur Licht aus,
In der nächsten ping Phase, zack geht das Licht wieder an, wie kann ich das umgehen das es dann aus bleibt, zur Zeit schalte ich einfach das WLAN im Handy wieder aus. `
Naja wenn du auf jeden Ping reagierst, wird das öfter passieren, da dein Handy hin und wieder nicht anpingbar sein wird, dank dem Deep-Standby.
Du könntest einen Status erstellen, z. B. Anwesenheit, der beim erfolgreichen anpingen des Handys auf true gesetzt wird und erst wenn dein Handy beispielsweise 20 Minuten nicht anpingbar ist, setzt du diesen wieder auf abwesend. (mit setTimeout und clearTimeout arbeiten)
Die Lampe wird dann nur geschalten, wenn sich die Anweseheit auf true ändert.
on(Anwesenheit, function() {
if(getState(Anwesenheit).val === true) {
setState(NameDeinesLichtes, true);
} // endIf
});
@freaky:
Also habe ich den basic ausgebaut, den neuen eingebaut.
In der Zeit wo ich aber den Strom abgeschaltet habe, habe ich alle 10 Sekunden, die Nachricht in Telegram bekommen, kann man das irgendwie einstellen das ich nur einmal eine Nachricht bekomme? `
Auch hier könntest du mit Timeouts arbeiten, beispielswese wenn er nicht anpinbar ist und die Nachricht gesendet hast setzt du eine Variable oder Status auf defektNachrichtgesendet=true und fragst diese mit ab und beim nächsten erfolgreichen anpingen wird die Variable wieder auf false gesetzt.
var defektNachrichtGesendet = false;
on(pingGeraet, function() {
if(getState(pingGeraet).val === true) {
defektNachrichtGesendet = false;
} else if(getState(pingGeraet).val === false && defektNachrichtGesendet === false) {
// Code zum Nachricht senden hier einfügen
defektNachrichtGesendet=true;
}
)};
beste Grüße
fox