FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: meddie am 02 Mai 2016, 16:49:35

Titel: GELÖST: DOIF Presence und Roomate
Beitrag von: meddie am 02 Mai 2016, 16:49:35
Hallo zusammen,

wieder mal ein leidiges DOIF Thema. ICh komme mit meiner DOIF einfach nicht weiter und weiß nicht wieso.

Ich habe zwei Smartphones meins und meiner Frau. Beide werden über di eFritzbox mit dem Presence Modul angefragt. Sollte dieses verfügbar sein bekommt es denn Status present.

Nun habe ich für mich und für meine Frau einen Roommate angelegt und möchte über ein DOIF den Status des Roommates entsprechende des Smartphones setzen.
Sprich wenn mein Smartphone online ist, dann ist rr_Eddie home, andernfalls absent.

so sieht meine DOIF aus aber es passiert nichts

Internals:
   CFGFN
   DEF        ([Smartphone.Eddie] eq "present") (set rr_Eddie home) DOELSEIF ([Smartphone.Eddie] eq "absent" and [Smartphone.Eddie] ne "gone") (set rr_Eddie absent)
   NAME       SmartphoneEddieDI
   NR         1325
   NTFY_ORDER 50-SmartphoneEddieDI
   STATE      initialized
   TYPE       DOIF
   Readings:
     2016-05-02 16:39:05   state           initialized
   Condition:
     0          InternalDoIf($hash,'Smartphone.Eddie','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "present"
     1          InternalDoIf($hash,'Smartphone.Eddie','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "absent" and InternalDoIf($hash,'Smartphone.Eddie','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) ne "gone"
   Devices:
     0           Smartphone.Eddie
     1           Smartphone.Eddie
     all         Smartphone.Eddie
   Do:
     0:
       0          set rr_Eddie home
     1:
       0          set rr_Eddie absent
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Internals:
     0           Smartphone.Eddie:STATE
     1           Smartphone.Eddie:STATE
     all         Smartphone.Eddie:STATE
   Itimer:
   Regexp:
     All:
   State:
Attributes:


Habt Ihr ein Tipp für mich vielen Dank
Gruß Eddie
Titel: Antw:DOIF Presence und Roomate
Beitrag von: CoolTux am 02 Mai 2016, 17:01:09

and [Smartphone.Eddie] ne "gone")


gone gibt es im presence Modul nicht. Nur bei roommate.
Titel: Antw:DOIF Presence und Roomate
Beitrag von: meddie am 02 Mai 2016, 17:18:18
Ups,

vielen Dank für den Tipp dass sollte eigentlich rr_Eddie heißen. Habe korrigiert, trotzdem keine Funktion

Internals:
   CFGFN
   DEF        ([Smartphone.Eddie] eq "present") (set rr_Eddie home) DOELSEIF ([Smartphone.Eddie] eq "absent" and [rr_Eddie] ne "gone") (set rr_Eddie absent)
   NAME       SmartphoneEddieDI
   NR         1325
   NTFY_ORDER 50-SmartphoneEddieDI
   STATE      initialize
   TYPE       DOIF
   Readings:
     2016-05-02 17:17:14   state           initialize
   Condition:
     0          InternalDoIf($hash,'Smartphone.Eddie','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "present"
     1          InternalDoIf($hash,'Smartphone.Eddie','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "absent" and InternalDoIf($hash,'rr_Eddie','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) ne "gone"
   Devices:
     0           Smartphone.Eddie
     1           Smartphone.Eddie rr_Eddie
     all         Smartphone.Eddie rr_Eddie
   Do:
     0:
       0          set rr_Eddie home
     1:
       0          set rr_Eddie absent
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Internals:
     0           Smartphone.Eddie:STATE
     1           Smartphone.Eddie:STATE rr_Eddie:STATE
     all         Smartphone.Eddie:STATE rr_Eddie:STATE
   Itimer:
   Regexp:
     All:
   State:
Attributes:
Titel: Antw:DOIF Presence und Roomate
Beitrag von: CoolTux am 02 Mai 2016, 17:28:43
Nimm mal die and Bedingung raus. Die ist eh Unsinn. Ausserdem vereinfachen wir erstmal dadurch. Kenne mich leider nicht so sehr mit DOIF aus. Aber für mich sieht das gut aus.
Titel: Antw:DOIF Presence und Roomate
Beitrag von: meddie am 06 Mai 2016, 11:34:43
Hi sorry dass ich mich jetzt erst melde.
Es funktioniert, der Code war richtig. Ich habe nur die ganze Zeit den state des Smartphones per setstate gesetzt und das hat scheinbar nicht richtig getriggert.
Kaum war ich daheim schon hat es alles richtig funktioniert.

Danke für Deine Hilfe
Gruß Eddie
Titel: Antw:GELÖST: DOIF Presence und Roomate
Beitrag von: CoolTux am 06 Mai 2016, 12:47:50
Gerne. Und wie gesagt nimm das and gone raus. Das passt eh nicht.
Gone schaltet Dein roommate automatisch wenn du länger wie 30 Stunden absent bist.