Hallo fhem Gemeinde. Ich habe mir eine Anwesenheitserkennung gebastelt die auch super funktioniert. Jetzt habe ich einen notify eingefügt der mir hallo sagen soll, wenn ich zuhause bin. Leider wiederholt er das jetzt ständig. Wie kann ich das einstellen, das fhem mir erst nach meiner abwesendheit (apsent) und ich wieder da bin (present) mir den Sprachbefehl wiedergibt?
Meine config schaut so aus bis jetzt
define Simonsky PRESENCE function {get_LEBT_Status("xx:xx:xx:xx:xx:xx","Simonsky")} 30
attr Simonsky userattr presence presence_map structexclude
attr Simonsky devStateIcon present:rc_dot@green absent:rc_dot@red
attr Simonsky presence Anwesenheit
attr Simonsky room Anwesenheit
define FileLog_Simonsky FileLog ./log/Simonsky-%Y-%m-%V.log Simonsky.*
attr FileLog_Simonsky logtype text
attr FileLog_Simonsky room Autolog
define simonsky_speak notify a set speak hallo,simon
define simonsky_present notify Simonsky:present set speak hallo Simon
Hallo simonsky,
1. bitte Codetags nutzen
2. Bitte mit dem List Befehl arbeiten
3. Schau dir mal das Attr. event-on-change-reading an, das dürfte helfen
Hallo danke erst mal stehe nur grad weng auf dem schlauch könntest du mir ein beispiel zeigen und was ist Codetags
Ein Beispiel für was?
Codetags ist das Symbol mit der # über den Smilies. Da setzt du deinen Code rein, dann lässt es sich besser lesen. Beispiel:
Hier steht der Code
achso oh soory das wuste ich so noch nicht ::)
Kein Problem, deswegen sage ich es dir ja ;)
Ich antworte mal hier und nicht auf die PM. Dafür ist ein Forum da, um Probleme zu lösen und nicht per PM.
Hast du dir in der CommandRef angeschaut für was das Attribut da ist bzw was es macht?
Ich habe es so verstanden das es meinen wer zB present immer hält bis sich was ändert zB absenr nur wie setze ich das ganze jetzt um das verstehe ich noch nicht so ganz
Korrekt, hast du das Attr nicht gesetzt wird jedes mal ein Event erzeugt, wenn der Status an FHEM gesendet wird, dies löst jedes Mal dein notify aus. Also musst du das Attribut bei dem Device setzen, das nur ein Event auslösen soll, wenn der Status sich ändert. Dazu kommt, dass du noch angegeben musst, für welchen Status ein Event erzeugt werden darf. Beispiel:
attr DEVICE event-on-change-reading .*
attr DEVICE event-on-change-reading state
Nr 1 heißt, bei jeder Änderung eines Readings wird das entsprechende Event generiert. Nr 2 heißt, nur, wenn sich das Reading state ändert wird ein Event generiert.
okey vielen dank ich werde es gleich mal ausprobieren
also es scheit wohl zu gehn vielen dank für die hilfe ;D
Kein Problem ;)