Antworten
Mai 13, 2018 - 15:09
also, ich hab das mit dem HTTP versucht. Das klappt, aber selbst der einfachtse Task löst weder eine Reatkion noch wird eine email verschickt.
Habe ganz einfach versucht: Sobald Fensterkontakt Tür open, dann verschicke email und mach Licht an.
Selbst das geht nicht.... kann es sein, dass der Automation Manager nur auf direkte Befehle wie einen Button drücken reagiert?
Vielleicht kann mal jemand diese einfache Aktion testen und schauen, ob sie überhaupt funktioniert.
Danke....
Habe ganz einfach versucht: Sobald Fensterkontakt Tür open, dann verschicke email und mach Licht an.
Selbst das geht nicht.... kann es sein, dass der Automation Manager nur auf direkte Befehle wie einen Button drücken reagiert?
Vielleicht kann mal jemand diese einfache Aktion testen und schauen, ob sie überhaupt funktioniert.
Danke....
Mai 20, 2018 - 14:57
Hier das versprochene update. Also ich habe einen anderen Lichtsensor gekauft, wo mehr Lumen gespeichert werden. Somit klappt der Task jezt wie folgt (siehe Bild).
Allerdings musste ich die Emailbenachrichtigung rausnehmen. Denn die wurde alle paar Minuten geschickt. Interssant wäre jetzt zu wissen, wie ich es einstellen kann, dass nur einmalig eine email bei der jeweiligen Aktion geschickt wird. Hat da jemand eine idee?
Allerdings musste ich die Emailbenachrichtigung rausnehmen. Denn die wurde alle paar Minuten geschickt. Interssant wäre jetzt zu wissen, wie ich es einstellen kann, dass nur einmalig eine email bei der jeweiligen Aktion geschickt wird. Hat da jemand eine idee?
Mai 21, 2018 - 04:40
Guten Morgen
Zuerst erstellen wir eine systemvariable im gateway im gerätemanager von neo:
diese variable soll einen integerwert darstellen, also eine ganzzahl, diese verwenden wir dann in deinem task um zu zählen, wie oft der task ausgelöst war
also so wie im bild variable Counter anlegen:
mit dem button Gerät anlegen... raum vorher anlegen, z.b. Systemvariablen, bei mir ist es AIO GATEWAY...usw
jetzt noch eine vom typ on/off mit dem namen RolloRunterHoch
Zuerst erstellen wir eine systemvariable im gateway im gerätemanager von neo:
diese variable soll einen integerwert darstellen, also eine ganzzahl, diese verwenden wir dann in deinem task um zu zählen, wie oft der task ausgelöst war
also so wie im bild variable Counter anlegen:
mit dem button Gerät anlegen... raum vorher anlegen, z.b. Systemvariablen, bei mir ist es AIO GATEWAY...usw
jetzt noch eine vom typ on/off mit dem namen RolloRunterHoch
Mai 21, 2018 - 04:59
Zuerst erstellest du einen button in deiner fernbedienung mit der aktion die Counter variable auf 0 zu setzen:
dann erstellst du 2 text felder und dem einem schreibst du den inhalt Counter Variable:
dem 2. textfeld gibst du den status der Counter Variable:
jetzt noch zwei textfelder für den helligheitwert vom sensor und deren status, wie im bild
und jetzt noch 2 textfelder für die variable RolloRunterHoch
jetzt testest du deine fernbedienug und klickst den button, der status der variable Counter muss jetzt 0 sein
die variable RolloRH hat noch keinen status und dort steht ?, heligheit vom sensor musste etwas zeigen...
beende die fernbedienung.
Jetzt schreibe ich weiter eine antwort für 2 scripte die du anlegen musst, in eiener neuen antwort.
dann erstellst du 2 text felder und dem einem schreibst du den inhalt Counter Variable:
dem 2. textfeld gibst du den status der Counter Variable:
jetzt noch zwei textfelder für den helligheitwert vom sensor und deren status, wie im bild
und jetzt noch 2 textfelder für die variable RolloRunterHoch
jetzt testest du deine fernbedienug und klickst den button, der status der variable Counter muss jetzt 0 sein
die variable RolloRH hat noch keinen status und dort steht ?, heligheit vom sensor musste etwas zeigen...
beende die fernbedienung.
Jetzt schreibe ich weiter eine antwort für 2 scripte die du anlegen musst, in eiener neuen antwort.
Mai 21, 2018 - 05:22
zuerst im scripteditor auf dieses symbol klicken und leeres script öffnen klicken
jetzt den namen vergeben oben:
CounterTaskRolloRunter
jetzt dieses script einfügen:
"AIO GATEWAY V5+ (EA)",
das ändern in deinen namen vom raum, also wenn dein Raumname Systemvariablen heisst dann muss es so stehen in der zeile
"Systemvariablen",
auch paar zeilen unten entsprechend ändern
dann das script speichern.
das ganze script mit deinem namen sollte so aussehen:
CounterTaskRolloHoch
und diesem inhalt:
Ich mache weiter mit dem task jetzt in neuer Antwort.
jetzt den namen vergeben oben:
CounterTaskRolloRunter
jetzt dieses script einfügen:
getDeviceStatus(
"AIO GATEWAY V5+ (EA)",
"Counter",
{"value":"state","extMeta":"-2147483648-2147483647"},
function(err, status) {
err && console.error(err.message);
console.log(status);
status = status + 1;
executeDeviceCommand(
"AIO GATEWAY V5+ (EA)",
"Counter",
{"value":"setValue","ext":status,"extMeta":"-2147483648-2147483647"},
function(err) {
err && console.error(err.message);
}
);
}
);
bei dieser zeile muss genau dein raumname für die variable sein:"AIO GATEWAY V5+ (EA)",
das ändern in deinen namen vom raum, also wenn dein Raumname Systemvariablen heisst dann muss es so stehen in der zeile
"Systemvariablen",
auch paar zeilen unten entsprechend ändern
dann das script speichern.
das ganze script mit deinem namen sollte so aussehen:
getDeviceStatus(
"Systemvariablen",
"Counter",
{"value":"state","extMeta":"-2147483648-2147483647"},
function(err, status) {
err && console.error(err.message);
console.log(status);
status = status + 1;
executeDeviceCommand(
"Systemvariablen",
"Counter",
{"value":"setValue","ext":status,"extMeta":"-2147483648-2147483647"},
function(err) {
err && console.error(err.message);
}
);
}
);
jetzt noch einen script mit dem namen CounterTaskRolloHoch
und diesem inhalt:
getDeviceStatus(
"Systemvariablen",
"Counter",
{"value":"state","extMeta":"-2147483648-2147483647"},
function(err, status) {
err && console.error(err.message);
console.log(status);
if (status > 1) {
status = 0;
executeDeviceCommand(
"Systemvariablen",
"Counter",
{"value":"setValue","ext":status,"extMeta":"-2147483648-2147483647"},
function(err) {
err && console.error(err.message);
}
);
}
}
);
speichern.Ich mache weiter mit dem task jetzt in neuer Antwort.
Mai 21, 2018 - 06:16
zuerst sobald block muss so aussehen, beide werte abfragen
natürlich deine werte eintragen grösser wie 40000 und kleiner 40000
und jetzt der ganze task:
der erste falls:
hier ist bei script der script zu wählen
CounterTaskRolloRunter
und in dem falls
fragst du die systemvariable Counter auf den wert 1
setztst du die variable RolloRunterHoch auf on
im zweitem teil wird script CounterTaskRolloHoch ausgeführt
im letztem falls wird
zuerst die variable Counter auf 0 geprüft, sie wird falls grösser als 0 wieder auf 0 gesetzt in dem script drüber
wenn sie 0 ist
und variable RolloRunterHoch auf on steht....wird auf on gestellt in dem oberem teil
dann fahren die rollos hoch und wird auch mail gesendet rollos hoch
ganz unten wird die variable wieder auf off gestellt, was heisst die rollos sind oben...
Ich hoffe du hast es verstanden
jetzt da du die temperatur und auch zeit abfragst, solltest du dieses task erstmal speichern und nicht auf das gateway übertragen.
Du erstellst dir zuerst noch ein task der so aussieht und einfach zu verfolgen/testen ist
die werte vom sensor wie gewünscht anpassen bei dir grösser/kleiner 40000 usw...
diesen task speicherst du und überträgst auf das gateway
jetzt startest du deine fernbedienung und beobachtest die werte
falls sensor grösser wie 40000 wird der counter erstmal 1 und du wirst eine mail bekommen, und variable rollo geht auf on, das heisst rolladen sind unten....
wenn wieder grösser wie 40000 wird counter 2 usw. höher und höher, keine mails und rolladen sind immer noch unten
falls der wert jetzt unter 40000 ist wird das script die variable counter auf 0 setzen
und falls sie 0 ist wird abgefragt ob die rollos unten sind, die rollo variable muss on sein
dann wirst du deine mail bekomen das rollos hoch fahren, danach wird die variable rollo auf off gestellt, rollos sind hoch
wenn jetzt wieder helligheit kleiner wie 40000 ist passiert nichts bis die helligheit wieder grösser 40000 ist, usw
melde dich wenn etwas nicht geht oder du nicht verstehst :)
natürlich deine werte eintragen grösser wie 40000 und kleiner 40000
und jetzt der ganze task:
der erste falls:
hier ist bei script der script zu wählen
CounterTaskRolloRunter
und in dem falls
fragst du die systemvariable Counter auf den wert 1
setztst du die variable RolloRunterHoch auf on
im zweitem teil wird script CounterTaskRolloHoch ausgeführt
im letztem falls wird
zuerst die variable Counter auf 0 geprüft, sie wird falls grösser als 0 wieder auf 0 gesetzt in dem script drüber
wenn sie 0 ist
und variable RolloRunterHoch auf on steht....wird auf on gestellt in dem oberem teil
dann fahren die rollos hoch und wird auch mail gesendet rollos hoch
ganz unten wird die variable wieder auf off gestellt, was heisst die rollos sind oben...
Ich hoffe du hast es verstanden
jetzt da du die temperatur und auch zeit abfragst, solltest du dieses task erstmal speichern und nicht auf das gateway übertragen.
Du erstellst dir zuerst noch ein task der so aussieht und einfach zu verfolgen/testen ist
die werte vom sensor wie gewünscht anpassen bei dir grösser/kleiner 40000 usw...
diesen task speicherst du und überträgst auf das gateway
jetzt startest du deine fernbedienung und beobachtest die werte
falls sensor grösser wie 40000 wird der counter erstmal 1 und du wirst eine mail bekommen, und variable rollo geht auf on, das heisst rolladen sind unten....
wenn wieder grösser wie 40000 wird counter 2 usw. höher und höher, keine mails und rolladen sind immer noch unten
falls der wert jetzt unter 40000 ist wird das script die variable counter auf 0 setzen
und falls sie 0 ist wird abgefragt ob die rollos unten sind, die rollo variable muss on sein
dann wirst du deine mail bekomen das rollos hoch fahren, danach wird die variable rollo auf off gestellt, rollos sind hoch
wenn jetzt wieder helligheit kleiner wie 40000 ist passiert nichts bis die helligheit wieder grösser 40000 ist, usw
melde dich wenn etwas nicht geht oder du nicht verstehst :)
Neuen Kommentar hinzufügen