Anwesenheitskontrolle für 2 Personen, aber wie?

Begonnen von patlabor, 29 November 2013, 18:39:11

Vorheriges Thema - Nächstes Thema

patlabor

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?


Puschel74

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  ;)
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.

patlabor

#2
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

Puschel74

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
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.

justme1968

am besten geht das mit structure. siehe z.b. hier: 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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

patlabor

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?

Markus Bloch

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
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

justme1968

es muss (wie auch in der command ref angegeben trigger allewege .heissen. der punkt am ende gehört dazu.

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

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

Starkstrombastler

Das zweite eq muss mit Q statt G geschrieben werden!

Value("Handy2") eg "absent"

IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

RedOne

#9
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
FHEM auf RaspberryPi
AVR-NET-IO mit Ethersex
HM-LAN-Adapter
4 HM-RT-CC-DN
CUL886Mhz culfw 1.55 + FHEMduino V 1.0b1

raspi-martin

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.

patlabor

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