FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: patlabor am 29 November 2013, 18:39:11

Titel: Anwesenheitskontrolle für 2 Personen, aber wie?
Beitrag von: patlabor am 29 November 2013, 18:39:11
Hallo zusammen,

habe seit heute morgen fhem auf meiner fritzbox laufen und mache gerade meine ersten gehversuche.

momentan habe ich noch keine andere hardware und "spiele" momentan nur mit dummys.

habe jetzt vor eine Anwesenheitskontrolle für 2 Personen zu realisieren.

Dazu habe ich 2 PRESENCE devices angelegt die das handy meiner frau und mein handy überwachen. Das funktioniert auch zuverlässig. Damit ich diese jedoch nicht bei jedem einzelnen schaltvorgang der die anwesenheit berücksichtigt getrennt abfragen muß, habe ich mir ein dummy device "anwesend" erstellt das auf "ein" stehen soll, sobald mindestens einer zuhause ist, und auf abwesend schalten soll, sobald beide handys ausser haus sind.

dafür habe ich mir jetzt folgendes zusammengebastelt:

   
+*00:01:00 {if ( Value("Handy1") eq "absent" && Value("Handy2") eg "absent" ) {fhem ("set anwesend off")} else {fhem ("set anwesend on")} }

leider bleibt hierbei "anwesend" stur auf "off" stehen.

nehme ich jeztz das && Value("Handy2") eg "absent" raus, funktioniert das ganze ganau so wie ich es mir vorstelle. ist das handy im wlan eingebucht, steht anwesend auf "ein", falls nicht, bleit es auf "aus"

wo liegt mein fehler?

Titel: Antw:Anwesenheitskontrolle für 2 Personen, aber wie?
Beitrag von: Puschel74 am 29 November 2013, 19:56:28
Hallo,

Zitathabe seit heute morgen fhem auf meiner fritzbox laufen und mache gerade meine ersten gehversuche.

Welches FHEM?
Das von fhem.de oder die Labor von AVM?

Gib mal oben in die FHEM-Befehlszeile ein "fheminfo" ein bitte und poste das Ergebniss.

Grüße

P.S.: Eine aussagekräftige Signatur würde evtl. die eine oder andere Nachfrage nach der Hardware und der FHEM-Version ersparen  ;)
Titel: Antw:Anwesenheitskontrolle für 2 Personen, aber wie?
Beitrag von: patlabor am 29 November 2013, 19:58:57
Das aktuelle fhem von fhem.de

fheminfo spuckt folgendes aus:



Fhem info:
  Release  : 5.5
  Branch   : DEVELOPMENT
  OS       : linux
  Arch     : mipsel-linux
  Perl     : v5.14.2
  uniqueID : faf54cfea22e8a281ee26449c2f28a20


Das ganze läuft auf einer FB7420
Titel: Antw:Anwesenheitskontrolle für 2 Personen, aber wie?
Beitrag von: Puschel74 am 29 November 2013, 20:06:50
Hallo,

ok dann tippe ich mal drauf das:

Zitat{if ( Value("Handy1") eq "absent" && Value("Handy2") eg "absent" )
Wenn diese Bedingung NICHT erfült ist (also eines der beiden Handys present ist) der Rest garnicht erst ausgewertet wird weil -- diese Bedingung ja nicht erfüllt ist.
Ok. Da ist noch ein else drinnen das eigentlich, theoretisch greifen sollte aber ...
ich hasse bei solchen Abfragen Einzeiler
da muss jemand anders helfen der PRESENCE verwendet und fit mit Einzeilern ist.

Sorry

Grüße
Titel: Antw:Anwesenheitskontrolle für 2 Personen, aber wie?
Beitrag von: justme1968 am 29 November 2013, 20:12:00
am besten geht das mit structure. siehe z.b. hier: http://forum.fhem.de/index.php/topic,15239.msg99012.html#msg99012 (http://forum.fhem.de/index.php/topic,15239.msg99012.html#msg99012). dann ist das ruck zuck auch auf mehr als zwei handys erweitert.

für die wartezeit nimm einen watchdog. wenn du hier im forum suchst findest du auch dafür beispiele. auch in vermbindung mit presence.

und im wiki ist beides auf der presence seite auch beschreiben.

gruss
  andre
Titel: Antw:Anwesenheitskontrolle für 2 Personen, aber wie?
Beitrag von: patlabor am 03 Dezember 2013, 16:41:10
ok, das mit der structure und watchdog habe ich glaube ich hinbekommen aber irgendwie funktioniert der watchdog immer nur genau ein mal.

habe die watchdogs so definiert:

define anwesendwd watchdog zuhause:absent 00:00:50 SAME set jemandda present;; trigger anwesendwd
define alleweg watchdog zuhause:present 00:00:50 SAME set jemandda absent;; trigger alleweg

aber nachdem der watchdog einmal ausgelöst hat bleibt er einfach auf "triggered" stehen und nichts tut sich mehr. Auch ein direkt eingegebenes "trigger anwesendwd" oder "trigger alleweg" setzt die watchdogs nicht auf "defined" zurück.

habe ich hier irgend was falsch verstanden?
Titel: Antw:Anwesenheitskontrolle für 2 Personen, aber wie?
Beitrag von: Markus Bloch am 03 Dezember 2013, 18:35:01
Laut der Doku zu watchdog sollte er das auch, aber offensichtlich funktioniert das nicht.

Bitte probier mal anstatt dem trigger Befehl folgendes:

setstate anwesendwd defined

Gruß
Markus
Titel: Antw:Anwesenheitskontrolle für 2 Personen, aber wie?
Beitrag von: justme1968 am 03 Dezember 2013, 18:51:15
es muss (wie auch in der command ref angegeben trigger allewege .heissen. der punkt am ende gehört dazu.

gruss
  andre
Titel: Antw:Anwesenheitskontrolle für 2 Personen, aber wie?
Beitrag von: Starkstrombastler am 03 Dezember 2013, 22:00:45
Das zweite eq muss mit Q statt G geschrieben werden!

Value("Handy2") eg "absent"

Titel: Antw:Anwesenheitskontrolle für 2 Personen, aber wie?
Beitrag von: RedOne am 03 Dezember 2013, 22:18:29
Hallo und guten Abend,

Ich hab im diesem Thread (falls es dir hilft) meine Heizungssteuerung gepostet.
Auch via Presence mit LanPing.
Und läuft bei mir tadellos.

http://forum.fhem.de/index.php?topic=15233.0

Grus Christian

Gesendet von meinem GT-I9300 mit Tapatalk
Titel: Antw:Anwesenheitskontrolle für 2 Personen, aber wie?
Beitrag von: raspi-martin am 03 Dezember 2013, 22:26:57
Hallo!

Ich habe das gelöst mit der Überwachung von WLAN und Bluetooth vom iPhone von mir und meiner Frau.

define wd_a_ab watchdog (iPhoneMartin:absent|iPhoneMartinBlue:absent|iPhoneFranziska:absent|iPhoneFranziskaBlue:absent) 01:00 (iPhoneMartin:present|iPhoneMartinBlue:present|iPhoneFranziska:present|iPhoneFranziskaBlue:present) {abwesend();;}
attr wd_a_ab regexp1WontReactivate 1


Wenn also nach 60 Minuten kein Gerät gesehen wurde, dann löst der watchdog aus und ruft mein Script abwesend() auf.
Titel: Antw:Anwesenheitskontrolle für 2 Personen, aber wie?
Beitrag von: patlabor am 04 Dezember 2013, 05:20:57
hallo zusammen,

danke für die vielen hinweise und hilfestellungen. in meinem fall war es tatsächlich der . am ende der watchdog definition. nachdem der punkt gesetzt war, läuft jetzt alles wie es soll