FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: WolfgangV am 13 November 2014, 11:00:55

Titel: Geofancy soll für zwei Personen schalten
Beitrag von: WolfgangV am 13 November 2014, 11:00:55
Hallo,

ich bin FHEM-Anfänger und habe seit einigen Wochen hier erfolgreich Geofancy am Laufen. Es schaltet auch wunderbar, allerdings nicht, wenn zwei Personen gleichzeitig aus dem Haus sind

Gisela.homestatus absent && Wolfgang.homestatus absent set Haus desired-temp 18

Ich vermute mal, dass da irgendwo eine/mehrere Klammern fehlen ???
Denn - wie gesagt - für jeder Person einzeln wird erfolgreich geschaltet.
Kann mich jemand über meinen Perl-Fehler aufklären?

Gruß


Wolfgang
Titel: Antw:Geofancy soll für zwei Personen schalten
Beitrag von: Puschel74 am 13 November 2014, 11:49:19
Hallo,

Was steht den im FHEM-Logfile wenn das notify, ich denke mal es ist eines, aufgerufen wird?

Auch hier immer weider gerne:
http://forum.fhem.de/index.php/topic,16311.0.html (http://forum.fhem.de/index.php/topic,16311.0.html)
Wenn wir weniger raten müssen kann man dir schneller helfen  ;)

Grüße
Titel: Antw:Geofancy soll für zwei Personen schalten
Beitrag von: Markus am 13 November 2014, 14:04:30
Schau die mal Strukture an
Titel: Antw:Geofancy soll für zwei Personen schalten
Beitrag von: der-Lolo am 13 November 2014, 14:30:52
Und - Oder das Residents Modul.
Ich glaube gerade mit geofancy macht es sinn das ein zu setzen.
Titel: Antw:Geofancy soll für zwei Personen schalten
Beitrag von: Loredo am 14 November 2014, 20:22:56
Das RESIDENTS Modul ist speziell dafür "designed", mehrere ROOMMATEs zusammen zu fassen ;-)
Titel: Antw:Geofancy soll für zwei Personen schalten
Beitrag von: WolfgangV am 15 November 2014, 14:18:45
Hallo,

zunächst mal danke für die Rückmeldungen.
Tatsächlich war (ausch) ein Fehler in der structure "Haus" enthalten. Den habe ich jetzt beseitigt. Außerdem versuche ich eine andere Code-Variante.  Jetzt schaltet geofancy. Aber nur/schon wenn meine Frau das Haus verlässt. Ich will aber nicht alleine daheim sitzen und frieren  ;)
Mal im Ernst: Ist denn die Syntax des Befehls richtig? Irgendwie versteht es doch anscheinend nicht, dass es nur schalten soll, wenn BEIDE außer Haus sind.

ZitatDEF    
geofancy:currLoc_Gisela:.underway && geofancy:currLoc_Wolfgang:.underway set Haus desired-temp 18
NAME
   
Heizung_aus
NOTIFYDEV
   
geofancy
NR
   
54
NTFY_ORDER
   
50-Heizung_aus
REGEXP
   
geofancy:currLoc_Gisela:.underway
STATE
   
2014-11-15 09:07:13
TYPE
   
notify

Wie man sieht ist unter REGEXP auch nur meine Frau eingetragen.

Gruß


Wolfgang
Titel: Antw:Geofancy soll für zwei Personen schalten
Beitrag von: Loredo am 15 November 2014, 14:29:21
Der Königsweg wäre, ein RESIDENTS Device anzulegen, die ROOMMATE-Devices für Gisela und Wolfgang dort als Mitglied zu registrieren und deine Notifies alle auf das RESIDENTS Device zu setzen.

From Scratch sähe das so aus:


define geofancy GEOFANCY geo
define rgr_Residents RESIDENTS
set rgr_Residents addRoommate Wolfgang
set rgr_Residents addRoommate Gisela
define n_rr_Wolfgang NOTIFY geofancy:currLoc_Wolfgang.* set rr_Wolfgang location $EVTPART1
define n_rr_Gisela NOTIFY geofancy:currLoc_Gisela.* set rr_Gisela location $EVTPART1
define n_Residents.absent NOTIFY rgr_Residents:presence:.absent set Haus desired-temp 18
define n_Residents.present NOTIFY rgr_Residents:presence:.present set Haus desired-temp 21
Titel: Antw:Geofancy soll für zwei Personen schalten
Beitrag von: WolfgangV am 16 November 2014, 18:57:21
Hallo,

danke für die Hilfe, aber leider funzt das auch nicht, wie ich heute mal ausgetestet habe und man aus dem Logfile sehen kann:

Zitat2014.11.16 13:54:26.601 2: GEOFANCY set geofancy clear
2014.11.16 14:11:33.491 3: GEOFANCY geofancy: Wolfgang left home and is underway
2014.11.16 14:11:33.563 3: CUL_HM set Dach_links_Clima desired-temp 18
2014.11.16 14:11:33.605 3: CUL_HM set Dach_rechts_Clima desired-temp 18
2014.11.16 14:11:33.648 3: n_Wolfgang.absence return value: Missing right curly or square bracket at (eval 357) line 2, at end of line
syntax error at (eval 357) line 2, at EOF

2014.11.16 14:11:33.667 3: n_Wolfgang.whereabout return value: Please define Wolfgang.whereabout first
2014.11.16 14:11:33.675 2: ROOMMATE set rr_Wolfgang location underway
2014.11.16 14:11:33.737 2: ROOMMATE set rr_Wolfgang location underway
2014.11.16 14:12:46.814 3: GEOFANCY geofancy: Gisela left home and is underway

2014.11.16 14:12:49.643 3: CUL_HM set Ankleide_Clima desired-temp 18
2014.11.16 14:12:49.686 3: CUL_HM set Arbeitszimmer_Clima desired-temp 18
2014.11.16 14:12:49.725 3: n_Gisela.absence return value: Missing right curly or square bracket at (eval 361) line 3, at end of line
syntax error at (eval 361) line 3, at EOF

2014.11.16 14:12:49.745 3: n_Gisela.whereabout return value: Please define Gisela.whereabout first
2014.11.16 14:12:49.754 2: ROOMMATE set rr_Gisela location underway
2014.11.16 14:12:49.816 2: ROOMMATE set rr_Gisela location underway
2014.11.16 16:36:28.810 1: FHEMWEB SSL/HTTPS error:
2014.11.16 17:39:32.118 3: GEOFANCY geofancy: Wolfgang arrived at home
2014.11.16 17:39:32.194 3: CUL_HM set Bad_oben_Clima burstXmit
2014.11.16 17:39:32.199 3: CUL_HM set Bad_unten_Clima burstXmit
2014.11.16 17:39:32.203 3: CUL_HM set Kueche_Clima burstXmit
2014.11.16 17:39:32.208 3: CUL_HM set Wohnzimmer_links_Clima burstXmit
2014.11.16 17:39:32.212 3: CUL_HM set Wohnzimmer_rechts_Clima burstXmit
2014.11.16 17:39:32.331 3: n_Wolfgang.Presence return value: Please define Wolfgang.homestatus first
2014.11.16 17:39:32.352 3: n_Wolfgang.whereabout return value: Please define Wolfgang.whereabout first
2014.11.16 17:39:32.359 2: ROOMMATE set rr_Wolfgang location home
2014.11.16 17:39:32.418 2: ROOMMATE set rr_Wolfgang location home
2014.11.16 17:41:07.613 3: GEOFANCY geofancy: Gisela arrived at home
2014.11.16 17:41:07.650 3: CUL_HM set Bad_oben_Clima burstXmit
2014.11.16 17:41:07.655 3: CUL_HM set Bad_unten_Clima burstXmit
2014.11.16 17:41:07.659 3: CUL_HM set Kueche_Clima burstXmit
2014.11.16 17:41:07.663 3: CUL_HM set Wohnzimmer_links_Clima burstXmit
2014.11.16 17:41:07.668 3: CUL_HM set Wohnzimmer_rechts_Clima burstXmit
2014.11.16 17:41:07.729 3: CUL_HM set Bad_oben_Clima controlMode auto
2014.11.16 17:41:07.790 3: CUL_HM set Bad_unten_Clima controlMode auto
2014.11.16 17:41:07.851 3: CUL_HM set Kueche_Clima controlMode auto
2014.11.16 17:41:07.954 3: CUL_HM set Wohnzimmer_links_Clima controlMode auto
2014.11.16 17:41:08.056 3: CUL_HM set Wohnzimmer_rechts_Clima controlMode auto
2014.11.16 17:41:08.209 3: n_Gisela.Presence return value: Please define Gisela.homestatus first
2014.11.16 17:41:08.230 3: n_Gisela.whereabout return value: Please define Gisela.whereabout first
2014.11.16 17:41:08.240 2: ROOMMATE set rr_Gisela location home
2014.11.16 17:41:08.298 2: ROOMMATE set rr_Gisela location home

Zur Erklärung des Logfiles:

ich habe jetzt einmal deinen obigen Code am Laufen, aber auch den aus dem Wiki "Anwesenheitserkennung". Bei letzterem versuche ich vergeblich, in der letzten Textzeile einen Backslash einzufügen. Jedesmal, wenn ich das Ändern des notifiy bestätige, werden alle Änderungen vorgenommen, aber der Backslash fehlt - warum auch immer das geschieht. Dem entsprechend meckert wohl das Logfile "Missing right curly or square bracket at (eval 361) line 3, at end of line".

Man sieht am Logfile, dass alle Einzelaktionen, die geofancy vornehmen soll, brav abgearbeitet werden. Aber auch mit Roommate nach dem vorgeschlagenen Code passiert leider nichts, wenn zusätzlich Räume (structure "set Haus desired-temp 18") ausgeschaltet werden sollen, weil beide abwesend sind.

Gruß


Wolfgang
Titel: Antw:Geofancy soll für zwei Personen schalten
Beitrag von: der-Lolo am 16 November 2014, 21:33:50
ich bin nicht ganz sicher was du da machst - helfen wird wahrscheinlich wenn du dich auf die DEF beim manipulieren beschränkst und nicht in der fhem.cfg rumfingerst...
Titel: Antw:Geofancy soll für zwei Personen schalten
Beitrag von: WolfgangV am 16 November 2014, 21:57:32
Tu ich nicht!
Titel: Antw:Geofancy soll für zwei Personen schalten
Beitrag von: WolfgangV am 18 November 2014, 14:29:59
Hallo,

habs doch getan:  ;)

Nach einem Großputz auch in der fhem.cfg, bei welchem ich alle Codes all meiner Versuche, Geofancy zum richtigen Schalten zu  bewegen, entfernt habe, funktioniert der obige Code einwandfrei.

Offensichtlich war die arme Heizung durch all die verschiedenen Codevarianten, die parallel liefen, durch Überforderung gelähmt.  ;)

Danke nochmal für die Hilfe und auch für die Geduld, die ihr solch Ahnungslosen wie mir entgegenbringt!

Gruß


Wolfgang
Titel: Antw:Geofancy soll für zwei Personen schalten
Beitrag von: Loredo am 18 November 2014, 14:36:26
Ja wunderbar, meinen Glückwunsch!  ;D