FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: bgewehr am 01 Mai 2014, 15:54:00

Titel: Boolsche Operatoren addieren? (perl)
Beitrag von: bgewehr am 01 Mai 2014, 15:54:00
Hallo!

Ich habe 4 Presence devices Bernd, Kerstin usw.

Ich möchte nun einen Anwesenheitszähler haben, der die Anzahl der anwesenden Personen abbildet.

Dazu habe ich nun den dummy anwesend angelegt, der vom at anwesend_at befüllt werden soll.

Was mache ich hier falsch?
define anwesend_at at +*00:00:05 {fhem("set anwesend {$Bernd=="present"+$Kerstin=="present}")}
Titel: Antw:Boolsche Operatoren addieren? (perl)
Beitrag von: der-Lolo am 01 Mai 2014, 16:01:58
schau Dir mal das Residents Modul an - bestens dafür geeignet...
Titel: Antw:Boolsche Operatoren addieren? (perl)
Beitrag von: justme1968 am 01 Mai 2014, 16:03:15
schau dir structure an. wenn du nur andere devices zusammen fassen möchtest ist das genau das was du brauchst.

gruss
  andre
Titel: Antw:Boolsche Operatoren addieren? (perl)
Beitrag von: bgewehr am 01 Mai 2014, 16:22:04
Kann man das sinnvoll mit presence kombinieren?


Sent from my iPhone using Tapatalk
Titel: Antw:Boolsche Operatoren addieren? (perl)
Beitrag von: justme1968 am 01 Mai 2014, 16:40:27
ja. natürlich.

und wenn du hier oder im wiki danach schaust wirst du eine ganze reihe von beispielen finden.
Titel: Antw:Boolsche Operatoren addieren? (perl)
Beitrag von: bgewehr am 01 Mai 2014, 16:43:34
Mach ich, danke!


Sent from my iPhone using Tapatalk
Titel: Antw:Boolsche Operatoren addieren? (perl)
Beitrag von: Dietmar63 am 01 Mai 2014, 19:07:53
$Bernd=="present"

wird nicht funktionieren. == durch eq ersetzen!

Perl hat verschiedene Vergleichsoperatoren, je nach dem ob es sich um numerischen oder Stringvergleich handelt.
Titel: Antw:Boolsche Operatoren addieren? (perl)
Beitrag von: bgewehr am 06 Mai 2014, 20:54:54
Zitat von: der-Lolo am 01 Mai 2014, 16:01:58
schau Dir mal das Residents Modul an - bestens dafür geeignet...

Wow, das ist ja wirklich spitze.

Im Wiki habe ich leider nichts dazu gefunden. Muss ich ein notify auf meine Presence Devices legen, damit der homestatus der Roommates durch presence devices geändert wird?
Ein Attribut "Presence-Device" wäre auch schön...
Titel: Antw:Boolsche Operatoren addieren? (perl)
Beitrag von: der-Lolo am 06 Mai 2014, 21:04:50
Ja - ich habe es zumindest über notifys gelöst...
Es gibt ja dann auch noch mehr states als present und absent, die sind über klick aufs Icon erreichbar - oder wechseln zeitbezogen...
Loredo hat sich recht viel mühe mit der Comandref gegeben, es gibt auch eine gute Erklärung im Thread.
Titel: Antw:Boolsche Operatoren addieren? (perl)
Beitrag von: bgewehr am 06 Mai 2014, 21:37:55
OK, das hier funktioniert gut:

define rr_Bernd_follow_Bernd notify Bernd IF ([Bernd] eq "present") (set rr_Bernd home) ELSE (set rr_Bernd absent)

Titel: Antw:Boolsche Operatoren addieren? (perl)
Beitrag von: der-Lolo am 06 Mai 2014, 22:04:14
super - presence erledigst Du über Bluetooth? Ich hoffe mit einem Watchdog...
Titel: Antw:Boolsche Operatoren addieren? (perl)
Beitrag von: bgewehr am 06 Mai 2014, 23:00:21
Nein, ich nehme einen Fritzbox Ping...


Sent from my iPhone using Tapatalk
Titel: Antw:Boolsche Operatoren addieren? (perl)
Beitrag von: der-Lolo am 07 Mai 2014, 18:22:08
Wenn du zufrieden bist ist alles gut, in der regel schalten handys aber w-lan im standby ab, w-lan kostet ausserdem eine menge akku leistung... Bluetooth funktioniert energiesparsam und besser.