Projekt Abwesenheit Erkennung (Ping) + Heizung Steuerung

Begonnen von ChrisW, 08 Januar 2013, 08:59:42

Vorheriges Thema - Nächstes Thema

Puschel74

Was steht im Logfile?
Pflaster die Abfrage mal mit LOG bitte

define Heizung_AutoEco notify Anwesenheit.*:.* { \
if (Value("Anwesenheit_Chris") eq "on") { \
fhem ("set Heizung auto") if (Value("Heizung") eq "off");; \
Log (3,"Setze Heizung Auto");; \
} \
else { \
fhem ("set Heizung eco") if (Value("Heizung") eq "on");; \
Log (3,"Setze Heizung Eco");;\
}\
Log (3,"Ich mach nix warum auch immer);;\
}


Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ChrisW

Nach Manuell Abwesenheit_Chris ON / OFF folgendes im Log ..

2013.01.08 13:28:31 3: Heizung_AutoEco return value: Can't find string terminator '"' anywhere before EOF at (eval 28) line 1.

2013.01.08 13:28:37 3: Heizung_AutoEco return value: Can't find string terminator '"' anywhere before EOF at (eval 29) line 1.
Raspberry PI3 mit allem möglichen.

ChrisW

Hast " vergessen schon selbst gefunden ;)

Hier die Logs ..
2013.01.08 13:34:49 3: Setze Heizung Auto
2013.01.08 13:34:49 3: Ich mach nix warum auch immer
2013.01.08 13:35:04 3: Setze Heizung Eco
2013.01.08 13:35:04 3: Ich mach nix warum auch immer
Raspberry PI3 mit allem möglichen.

Puschel74

Hallo,

mir fehlt aber das
set Heizung auto
und
set Heizung Eco.
Die logeinträge sind ok - also wird das notify abgearbeitet.
Den letzten Log kannst du wieder raus werfen - der zeigt nur das das notify überhaupt angesprungen wird.
Hat
Heizung
den Status on oder off??

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ChrisW

Hab es mal mit
set MAX_Bad desiredTemperature 7.0 usw. versucht das macht er auch nicht ! Quasi gar nichts.


Die Heizung hat keinen Status on / off

Man kann nur ECO AUTO BOOST 4.0 5.0 6.0 usw. auswählen zum einstellen.

Hab den Code oben im 1. Post drin.

Raspberry PI3 mit allem möglichen.

Puschel74

Hallo,

naja, mit

fhem ("set Heizung auto") if (Value("Heizung") eq "off");; \
und
fhem ("set Heizung eco") if (Value("Heizung") eq "on");; \
schalten wir ja nur dann auf auto bzw. eco wenn der status zum Prüfzeitpunkt
off oder on ist - das wird er aber nie also wird auch nicht auf Auto / Eco gesetzt.

Entweder finden wir passende Prüfkriterien oder wir lassen die Prüfung ganz weg.

Versuchs mal mit
fhem ("set Heizung auto");; \
und
fhem ("set Heizung eco");; \
bitte und poste nochmal das Logfile nachher.

Danke und Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ChrisW

hmm das stimmt. Aber so wichtig ist die Prüfung eig. nicht oder ?

2013.01.08 14:09:46 3: Setze Heizung Auto
2013.01.08 14:09:59 3: Setze Heizung Eco

ABER es wurde nichts geschaltet ..

Aber wie ich sehe passietr bei dem befehl: set Heizung eco NICHTS ..
auch wenn ich Ihn manuell eingebe komisch ..
Per Auswahl siehe 1. post im room MAX wenn ich da eco auswähle und das setze macht er es ..
vielleicht muss so eine structure anders angesteuert werden ???
Raspberry PI3 mit allem möglichen.

ChrisW

AHHHHHHHHHHH der Befehl muss :
set Heizung desiredTemperature eco
set Heizung desiredTemperature auto

Jetzt funktioniert es.

Wofür war die Überprüfung ist die wirklich wichtig ?? Da ich ja AUTO und ECO nur schalten will?

Kann man nicht statt On / OFF auf ECO / AUTO Prüfen ??

Nu fehlt ja nurnoch die ODER || Geschichte ;=)
Raspberry PI3 mit allem möglichen.

justme1968

hallo,

noch eine anmerkung zum ping... so einfach ohne eine wartezeit oder hysterese einzubauen wird das nicht funktionieren weil die telefone normalerweise sofort oder nach einer weile das netz stilllegen wenn das display aus ist. d.h. auch wenn das handy im haus ist ist es so lange es in der tasche ist es per ping meistens bis garnicht erreichbar.

der ansatz der funktioniert ist im wlan router nachzuschauen ob das geraet angemeldet ist weil es dort erst nach sehr viel längerer inaktivität rausfliegt und durch die periodischen verbindungsversuche für mail abholen oder ähnliches immer wieder aktualisiert wird.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ChrisW

Hallo,
also ich habe bei meinen Android Handys keine Probleme.
Bei Handy 1 ist Ping fast immer 100% Okay
Bei Handy 2 jedoch mal OFF obwohl Ping Okay ist. Daher auch die Prüfung wenn OFF ;)

Raspberry PI3 mit allem möglichen.

Puschel74

Hallo,

ob die Prüfung wichtig ist oder nicht, darüber scheiden sich die Geister.
Sie ist nicht unbedingt notwendig (für den Code) aber sie schadet auch nicht da nicht nochmal der Status gesendet wird wenn er schon denselben hat.
So gesehen hilft die Prüfung, "etwas" Sendelast zu sparen.
Du kannst also hergehen und
nur dann AUTO wenn ECO und umgekehrt
oder
nur dann AUTO wenn nicht AUTO und umgekehrt.
Was dir lieber ist.
Prüfen kann man in FHEM so gut wie alles (wenn man weiß wie ;-) ).

Und die ODER-Geschichte, hmmm...
In einem anderen Codeschnipsel bei mir in der fhem.cfg prüfe ich die Uhrzeit or (also nicht ||) Türkontakt und das funktioniert auch.
Aber das ist ein anderer Beitrag.

@andre
Deine Anmerkung mit dem pink ist richtig.
Da muss aber der Anfang der Kette nachgebessert werden - die Abfrage ob die Handys on sind.
Der Code für die Auswertung klappt soweit ja schon.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ChrisW

Okay dann lasse ich die Prüfung weg.

Kann man den irgendwie das mit dem ODER anders lösen ?

Quasi noch ein Schleife einbauen die dann Tanja abfragt ?

Oder  man verbindet beide Ping in einen " Jemand Zuhause " On / Off ?

Raspberry PI3 mit allem möglichen.

Puschel74

Oder versuch doch mal anstelle von || or zu schreiben.

Wie im anderen Beitrag schon geschrieben - ich bin grad am klein anfangen aber bisher
klappts und das Licht schaltet.
Ok der Code ist noch ganz am Anfang.
Aber ich hab einen Schnipsel da frage ich mit or ab und nciht mit 2 |

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ChrisW

ne klappt auch nicht wie ärgerlich :(

2013.01.08 15:40:55 3: Heizung_AutoEco return value: syntax error at (eval 32) line 1, near ") or"
syntax error at (eval 32) line 1, near "}  else"
syntax error at (eval 32) line 1, near "; }"

2013.01.08 15:41:19 3: Heizung_AutoEco return value: syntax error at (eval 40) line 1, near ") or"
syntax error at (eval 40) line 1, near "}  else"
syntax error at (eval 40) line 1, near "; }"

2013.01.08 15:41:22 3: Heizung_AutoEco return value: syntax error at (eval 41) line 1, near ") or"
syntax error at (eval 41) line 1, near "}  else"
syntax error at (eval 41) line 1, near "; }"
Raspberry PI3 mit allem möglichen.

Puschel74

Hallo,

da hat es aber nen anderen Fehler drinnen, oder?

Ich meinte eigentlich so:
if (Value("Anwesenheit_Chris") eq "on") or (Value("Anwesenheit_Tanja") eq "on") { \

Was hast du eingetragen?
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.