GELÖST: DOIF Presence und Roomate

Begonnen von meddie, 02 Mai 2016, 16:49:35

Vorheriges Thema - Nächstes Thema

meddie

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

CoolTux


and [Smartphone.Eddie] ne "gone")


gone gibt es im presence Modul nicht. Nur bei roommate.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

meddie

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:

CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

meddie

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

CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net