Hallo,
Ich habe mir eine eigene Presence .cfg geschrieben (nix schweres) jetzt möchte ich noch ein Logfile dazu erstellen
#Anwesenheitserkennung
#Chris
define Chris PRESENCE lan-ping 192.168.178.11 300
attr Chris fp_Grundriss 147,859,2,
attr Chris icon HOME_Status.1
#Sarah
define Sarah PRESENCE lan-ping 192.168.178.12 300
attr Sarah fp_Grundriss 195,863,1,
attr Sarah icon HOME_Status.1
Da ich gerade versuche das gleiche umzusetzen wie in diesem Thread
http://forum.fhem.de/index.php?t=msg&th=10099&prevloaded=1&rid=0&start=0 (//forum.fhem.de/index.php?t=msg&th=10099&prevloaded=1&rid=0&start=0)
jetzt wollte ich meine Anwesenheit logggen um dann mit dem Status absent und Present meine Heizung zusteuern.
Kann mir jemand dabei helfen?
Gruß RedOne
createlog Chris
vorausgesetzt, Du hast autocreate nicht abgeschaltet.
Schreib ich das jetzt in die Definition von Fhem oder in meine .cfg?
Autocreate habe ich nicht ausgeschaltet.
Funktioniert ich habe es in meine .cfg reingeschrieben
Nochmal kurz was anderes
Ist diese Fehlermeldung normal wenn ich auf Save config drücke?
Gruß RedOne
(siehe Anhang / see attachement)
natürlich nicht!
Vermutlich hast du die Datei mit einem anderen User angelegt. Der fhem-User muss Schreibrechte haben oder besser noch der Eigentümer der Datei sein.
Zitat von: roedert schrieb am Do, 10 Oktober 2013 13:30Der fhem-User muss Schreibrechte haben oder besser noch der Eigentümer der Datei sein.
ich vermute wohl eher auf das Verzeichnis ;)
Und wie mache ich das am besten ?
So das gleich der ganze ordner chris_module gleich Schreibrechte hat !
Danke grus
Redone
Auf Befehlszeilenebene:
chown -R fhem /opt/fhem/chris_module
Ein Ordner hat keine Schreibrechte, er erfordert sie.
Linuxgrundlagen auf der Konsole zum nachlesen:
man chown
man chmod
Okay gut bevor ich jetzt weiter mache mit meiner Heizung Steuerung via anwesenheit.
Habe ich noch ne frage,
Kann ich die raum thermostate die in der fhem.cfg stehen auch in eine separate .cfg schreiben und auch einfach ein verweis mit include machen oder ist das nicht so ratsam ?
Und die Anwesenheitserkennung fange ich an mit notify oder ?
Gruß RedOne
wie kann ich den die Abfrage von TIMEOUT_PRESENT 30 auf TIMEOUT_PRESENT 120 setzen?
habe es mit
set Chris TIMEOUT_PRESENT 120
probiert
aber hat nich geklappt und wenn ich es in die definition reinschreibe ändern er es zwar,
vergisst es aber nach einem shutdown restart
Habe es jetzt hinbekommen
Lösung war
ping 192.168.178.11 300 120 .
Jetzt habe ich mein notify erstellt
Define Chris_absent notify Chris:absent set WOZI_Heizung desired-temp 18
Define Chris_present notify Chris:present set WOZI_Heizung desired-temp 22
Der absent Befehl funktioniert wenn ich meine Wlan verbindung trenne
Aber der Present befehl funktioniert nicht.
Und noch ne frage wie kann ich meiner frau ihr Handy da noch mit rein nehmen in den notify Befehl.
Genauso wie wenn nur einer Zuhause ist von uns beiden das die Heizung trotzdem umschaltet auf 22 und erst wenn keiner da ist auf 18 runtergeregelt wird
Wenn ich if eingebe heisst es nur unknow command "if"
Danke Gruß RedOne
Gesendet von meinem GT-I9300 mit Tapatalk-4 now Free (http://'http://tapatalk.com/m?id=10')
Mein notify funktioniert jetzt auch
define Chris_absent notify Chris:absent set WOZI_Heizung desired-temp 18
define Chris_present notify Chris:present set WOZI_Heizung desired-temp 22
so jetzt brauch ich noch meine Frau.
wenn ich sie einfach darunter schreibe per copy und paste dann schaltet er ja immer auf 18°C und 22°C grad wenn einer von uns nicht da ist oder ?
und die zweite frage wie kann ich da noch eine bedingung einfügen so das er ab 23 Uhr auch runterregelt auf 18°C egal ob wir present oder absent sind ?
structure ist dein Freund.
Gruß Markus
Structure ist für das runterregelen ab 23 uhr egal ob wir absent oder present sind oder ?
Und jetzt noch ein anhalts punkt wie ich das mit meiner Frau mache ?
Gruß RedOne
Gesendet von meinem GT-I9300 now Free (http://'http://tapatalk.com/m?id=10')
nein das war für deine Frau ;)
zb in etwar so...
#Anwesenheitserkennung
#Chris
define Chris PRESENCE lan-ping 192.168.178.11 300
attr Chris fp_Grundriss 147,859,2,
attr Chris icon HOME_Status.1
#Sarah
define Sarah PRESENCE lan-ping 192.168.178.12 300
attr Sarah fp_Grundriss 195,863,1,
attr Sarah icon HOME_Status.1
define Bewohner structure Bewohner_structure Chris Sarah
attr Bewohner clientstate_behavior relative
attr Bewohner clientstate_priority present absent
at +23:00:00 set Heizung 18
define Temp_Auto notify Bewohner:absent set Heizung 22
aus dem Kopf und ohne Garantie ;)
Gruß Markus
Kannst du mir vll. noch eine Erklärung geben für
"Clientstate Behavior relative"
Das wäre nett ?
Gruß RedOne
Gesendet von meinem GT-I9300 now Free (http://'http://tapatalk.com/m?id=10')
Zitat von: RedOne am 14 Oktober 2013, 12:20:50
Kannst du mir vll. noch eine Erklärung geben für
"Clientstate Behavior_relative"
Das wäre nett ?
Des andere habe ich soweit verstanden denke ich
Gruß RedOne
Gesendet von meinem GT-I9300 now Free (http://'http://tapatalk.com/m?id=10')
Gesendet von meinem GT-I9300 now Free (http://'http://tapatalk.com/m?id=10')
Sau gut vielen Dank Markus !!! ;D
wenn ich das jetzt mit dem clientstate behavior_relative richtig verstanden habe, bedeutet es das es egal ist wer present ist, und dann die Temperatur auf 22 gesetzt wird,
weil er sich ja das Ereignis aus clientstate_priority holt ?
habe jetzt noch ein Notify eingefügt für present auf 22, jetzt klappt das ganze richtig gut .
#Anwesenheitserkennung
#Chris
define Chris PRESENCE lan-ping 192.168.178.11 300 120
attr Chris fp_Grundriss 147,859,2,
attr Chris icon HOME_Status.1
attr Chris room Unsorted
define FileLog_Chris FileLog ./log/Chris-%Y.log Chris
attr FileLog_Chris logtype text
attr FileLog_Chris room myLogfile
#Sarah
define Sarah PRESENCE lan-ping 192.168.178.12 300 120
attr Sarah fp_Grundriss 195,863,1,
attr Sarah icon HOME_Status.1
attr Sarah room Unsorted
define FileLog_Sarah FileLog ./log/Sarah-%Y.log Sarah
attr FileLog_Sarah logtype text
attr FileLog_Sarah room myLogfile
define Bewohner structure Bewohner_structure Chris Sarah
attr Bewohner clientstate_behavior relative
attr Bewohner clientstate_priority present absent
at +23:00:00 set WOZI_Heizung desired-temp 18
define Bewohner_absent notify Bewohner:absent set WOZI_Heizung desired-temp 18
define Bewohner_present notify Bewohner:present set WOZI_Heizung desired-temp 22
wenn ich jetzt noch ein
at +08:00:00 set Wozi_Heizung desired-temp 22
einfüge setze ich dann damit die notifys ausser kraft ?
Weil es soll ja ab 8 Uhr wieder warm werden oder macht das nichts aus?
Gruß RedOne
okay zu früh gefreut des mit der Handy erkennung funktioniert zwar und die Heizung Schaltet auf 22°C bei anwesenheit und auf 18°C bei abwesenheit.
der at befehl funktioniert auch, um 22 Uhr wird die Heizung auf 18°C runtergeregelt
aber
5 Minuten später greift wieder das notify Present und die Heizung schaltet wieder auf 22°C
meine Idee und gleichzeitig eine frage.
Kann man nicht hingehen und das notify per at befehl um 22 Uhr deaktivieren
und um 8 Uhr wieder Aktivieren?
und mir vll. noch sagen wie man den Status deaktiviert?
Dann hätte ich ja alle Spatzen gegessen
Gruß RedOne
define Temp_Auto notify Bewohner:present {if (Value("Nachtabsenkung") eq "Ein" \
{fhem "set WOZI_Heizung desired-temp 18"} \
}
define Temp_Auto2 notify Bewohner:present {if (Value("Nachtabsenkung") eq "Aus" \
{fhem "set WOZI_Heizung desired-temp 22"} \
}
define Nachtabsenkung dummy
at +23:00:00 set WOZI_Heizung desired-temp 18;; set Nachtabsenkung Ein
at +08:00:00 set WOZI_Heizung desired-temp 22;; set Nachtabsenkung Aus
versuch es mal so
für abwesend must du dir halt selber noch was bauen
Gruß Markus
so habe es jetzt mal versucht zu vervollständigen.
define Temp_Auto3 notify Bewohner:present {if ( Value("AmTag") eq "Ein" \
{fhem "set WOZI_Heizung desired-temp 22"} \
}
define Temp_Auto4 notify Bewohner:present {if ( Value ("AmTag") eq "Aus" \
{fhem "set WOZI_Heizung desired-temp 18"} \
}
define Nachtabsenkung dummy
define Nachtabsenkung_Ein at +23:00:00 set WOZI_Heizung desired-temp 18;; set Nachtabsenkung Ein
define Nachtabsenkung_Aus at +08:00:00 set WOZI_Heizung desired-temp 22;; set Nachtabsenkung Aus
define AmTag dummy
define AmTag_An at +08:00:00 set WOZI_Heizung desired-temp 22;; set AmTag Ein
define AmTag_Aus at +23:00:00 set WOZI_Heizung desired-temp 18;; set AmTag Aus
im Logfile habe ich jetzt folgende Fehler
2013.10.15 19:46:22 3: Temp_Auto3 return value: syntax error at (eval 16) line 1, near ""Ein" {"
syntax error at (eval 16) line 1, near "} }"
2013.10.15 19:46:22 3: Temp_Auto4 return value: syntax error at (eval 17) line 1, near ""Aus" {"
syntax error at (eval 17) line 1, near "} }"
2013.10.15 19:46:22 3: Temp_Auto3 return value: syntax error at (eval 19) line 1, near ""Ein" {"
syntax error at (eval 19) line 1, near "} }"
2013.10.15 19:46:22 3: Temp_Auto4 return value: syntax error at (eval 20) line 1, near ""Aus" {"
syntax error at (eval 20) line 1, near "} }"
woran hängt es den jetzt hab ich in eine falsche richtung gedacht?
Gruß RedOne
Schaut eigentlich gut aus vieleicht hat sich beim kopieren etwas eingeschlichen, windoof neigt dazu...
oder jemand anderes sagt noch was dazu..
du kanst es auch noch so probieren.
define Temp_Auto3 notify Bewohner:present {if ( Value("AmTag") eq "Ein" \
{fhem ("set WOZI_Heizung desired-temp 22")} \
}
Gruß Markus
Guten Morgen,
Nein dies brachte auch keine besserung was ich witzig finde mit deinem Code hat er kein Problem nur mit meinem.
#Chris
define Chris PRESENCE lan-ping 192.168.178.11 300 300
attr Chris Bewohner_structure Bewohner
attr Chris fp_Grundriss 147,859,2,
attr Chris icon HOME_Status.1
attr Chris room Unsorted
define FileLog_Chris FileLog ./log/Chris-%Y.log Chris
attr FileLog_Chris logtype text
attr FileLog_Chris room myLogfile
#Sarah
define Sarah PRESENCE lan-ping 192.168.178.12 300 300
attr Sarah Bewohner_structure Bewohner
attr Sarah fp_Grundriss 195,863,1,
attr Sarah icon HOME_Status.1
attr Sarah room Unsorted
define FileLog_Sarah FileLog ./log/Sarah-%Y.log Sarah
attr FileLog_Sarah logtype text
attr FileLog_Sarah room myLogfile
define Bewohner structure Bewohner_structure Chris Sarah
attr Bewohner clientstate_behavior relative
attr Bewohner clientstate_priority present absent
define Temp_Auto notify Bewohner:absent {if (Value("Nachtabsenkung") eq "Ein" \
{fhem "set WOZI_Heizung desired-temp 18"} \
}
define Temp_Auto2 notify Bewohner:absent {if (Value("Nachtabsenkung") eq "Aus" \
{fhem "set WOZI_Heizung desired-temp 22"} \
}
define Temp_Auto3 notify Bewohner:present {if (Value("AmTag") eq "Ein" \
{fhem "set WOZI_Heizung desired-temp 22")} \
}
define Temp_Auto4 notify Bewohner:present {if (Value ("AmTag") eq "Aus" \
{fhem "set WOZI_Heizung desired-temp 18")} \
}
define Nachtabsenkung dummy
define Nachtabsenkung_Ein at +23:00:00 set WOZI_Heizung desired-temp 18;; set Nachtabsenkung Ein
define Nachtabsenkung_Aus at +08:00:00 set WOZI_Heizung desired-temp 22;; set Nachtabsenkung Aus
define AmTag dummy
define AmTag_An at +08:00:00 set WOZI_Heizung desired-temp 22;; set AmTag Ein
define AmTag_Aus at +23:00:00 set WOZI_Heizung desired-temp 18;; set AmTag Aus
habe jetzt nochmal alles gepostet vll. findet jemand ne lösung für die fehlermeldungen wie beschrieben
Gruß RedOne
Ich glaube ich habe es geschafft.
Die Fehler Meldungen sind weg.
Hat einfach ein klammer zu gefehlt
{If (Value ("AmTag"); eq " Aus " )\
Wäre richtig gewesen
Mal schauen ob sie sich auch anschaltet.
Werde berichten wie ich mehr weiß.
Gruß RedOne
Gesendet von meinem GT-I9300
sructure ist zum zusammenfassen von mehreren presence devices.
zum zeitweise abschalten des notify kannst du disable setzen.
gruss
andre
Also es funktioniert immer noch nicht meine Frau ist nun Present.
Normalerweise sollte jetzt die Heizung auf 22ºc springen da einer von uns Zuhause ist.
Tut sie aber nicht sie Bleibt weiterhin bei 18ºC, auch wenn ich 20min warte bis was passiert.
@andre wie meinst du das mit dem notify disable setzen.
Mir egal wie ich es anstelle Hauptsache ich komme zum Ziel
Gruß RedOne
Gesendet von meinem GT-I9300
Ich glaube der richtet sich nach der Zeit und frägt erst garnicht die Presence ab.
Gesendet von meinem GT-I9300
Hast du den Code Probiert denn ich oben gepostet habe?
In deinen letzten post schaut es etwas anders aus :-(
Gruß Markus
@markus
Hab es rein geschrieben dein code. Bisher keine Besserung werde es jetzt mal laufen lassen
Und abwarten was passiert.
Kann ich dafür auch ein log erstellen um zusehen was er macht im logfile standen nur Fehler.
Nicht aber ob er AmTag Aus schaltet wenn keiner da ist oder AmTag An schaltet wenn einer da ist in der Hoffnung so zusehen wo der Fehler ist.
Ich hoffe ich hab mich richtig ausgedrückt das man weiß was ich will.
Gesendet von meinem GT-I9300
Also es geht nicht obwohl Heute die Heizung 6 mal an und ausgehen musste.
Gruß RedOne
Gesendet von meinem GT-I9300
So auch ich habe es geschafft meine Heizung via PRESENCE zusteuern.
alle varianten getestet und funktionieren!!!
#Heizungssteuerung via Anwesenheit (Ping)
#Chris
define Chris PRESENCE lan-ping 192.168.178.11 300 300
attr Chris Bewohner_structure Bewohner
attr Chris room Unsorted
define FileLog_Chris FileLog ./log/Chris-%Y.log Chris
attr FileLog_Chris logtype text
attr FileLog_Chris room myLogfile
#Sarah
define Sarah PRESENCE lan-ping 192.168.178.12 300 300
attr Sarah Bewohner_structure Bewohner
attr Sarah room Unsorted
define FileLog_Sarah FileLog ./log/Sarah-%Y.log Sarah
attr FileLog_Sarah logtype text
attr FileLog_Sarah room myLogfile
define Bewohner structure Bewohner_structure Chris Sarah
attr Bewohner clientstate_behavior relative
attr Bewohner clientstate_priority present absent
define Nachtabsenkung dummy
define Nachtabsenkung_Aus at *07:00:00 set WOZI_Heizung desired-temp 22;; set Nachtabsenkung Aus
define Nachtabsenkung_An at *22:00:00 set WOZI_Heizung desired-temp 18;; set Nachtabsenkung An
define Temp_Auto notify Bewohner:absent { if ( Value("Nachtabsenkung") eq "An") \
{fhem ("set WOZI_Heizung desired-temp 18")} \
}
define Temp_Auto1 notify Bewohner:present { if ( Value("Nachtabsenkung") eq "An") \
{fhem ("set WOZI_Heizung desired-temp 18")} \
}
define Temp_Auto2 notify Bewohner:present { if ( Value("Nachtabsenkung") eq "Aus") \
{fhem ("set WOZI_Heizung desired-temp 22")} \
}
define Temp_Auto3 notify Bewohner:absent { if ( Value("Nachtabsenkung") eq "Aus") \
{fhem ("set WOZI_Heizung desired-temp 18")} \
}
vielen Dank an Markus für den Denk anstoss und den anfang der Programmierung.
Grüße RedOne