Modulfamilie für Bewohner / 10_RESIDENTS 20_ROOMMATE 20_GUEST

Begonnen von Loredo, 19 Januar 2014, 23:12:34

Vorheriges Thema - Nächstes Thema

noanda

Ich habe ein Problem mit "mood". Wenn ich versuche über diesen Reading etwas zu steuern, z.B. die beleuchtung wird er einfach nicht ausgelesen. Erscheint auch nicht im Log. oder Event Monitor.

Um sicher zu sein das ich nichts falsch mache, habe ich das Notify mit Reasings anderer Sensoren probiert. Da kein Problem. habe es mit DOIF IF usw versucht, keine Reaktion. Hat jemand eine Lösung?

probiert habe ich:

(rr_Sommer)
IF ([rr_Sommer:rr_mood] = "relaxed") (set test off)


(rr_Sommer)
IF ([rr_Sommer:rr_mood] eq "relaxed") (set test off)


(rr_Sommer)
IF ([rr_Sommer:mood] = "relaxed") (set test off)



(rr_Sommer)
IF ([rr_Sommer:mood] eq "relaxed") (set test off)


Wieso geht das nicht?
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

Andy89

ich machs sowas mit ReadingsVal, zB.:

define nt_test notify rr_Andy:.* {if (ReadingsVal("rr_Andy","mood",0) eq "happy") {fhem("set WZ_Stehlampe on")}}

Das Beispiel funktioniert bei mir^^
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

noanda

bei mir leider nicht

   
define nt_test notify rr_Sommer:.* {if (ReadingsVal("rr_Sommer","mood",0) eq "happy") {fhem("set test off")}}
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

Andy89

FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

noanda

sorry ist der Frust .-)

2015.02.01 13:05:02 2: ROOMMATE set rr_Sommer mood happy
2015.02.01 13:05:02 5: ROOMMATE rr_Sommer: called function ROOMMATE_Set()


Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

Loredo

Zitat von: noanda am 01 Februar 2015, 13:07:05
sorry ist der Frust .-)

2015.02.01 13:05:02 2: ROOMMATE set rr_Sommer mood happy
2015.02.01 13:05:02 5: ROOMMATE rr_Sommer: called function ROOMMATE_Set()



Das ist sicherlich ein Problem mit deiner Notify-Deklaration. Du solltest in dieser Hinsicht einmal schauen.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Ein Hinweis für diejenigen, die das Modul gerne in deutscher Sprache in der Oberfläche haben möchten:
http://forum.fhem.de/index.php/topic,33613.msg259937.html#msg259937


Dort ist beschrieben, wie man das mit Hilfe von eventMap und widgetOverride erreichen kann.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Bernd D.

Hallo zusammen,

ist im Modul Residents eine einfache Möglichkeit vorgesehen festzustellen, ob Bewohner im Haus oder nicht im Haus sind?

Ein bewohntes Haus kann ja die Stati home, gotosleep, asleep und awoken haben.
Ein umbewohntes Haus die Stati absent und gone.

Wenn ich nun wissen möchte, ob das Haus unbewohnt ist, muss ich dann immer auf (absent oder gone) testen, oder gibt es dafür ein eigenes Attribut?

Ich bin darauf gestoßen, weil ich in meiner Rolladensteuerung bisher immer nur auf "absent" getestet habe, aber das Modul Residents ja nach einiger Zeit automatisch auf "gone" wechselt. Das hat meine Rolladenlogik dann durcheinander gebracht.

Vielen Dank für die Hilfe!

Gruß,
Bernd

der-Lolo

Du kannst ja einfach auf Residents total Home triggern...

Zitat2015-03-27 09:31:21   lastState       absent
     2015-03-27 09:31:21   presence        present
     2015-03-30 07:47:50   residentsAbsent 1
     2014-10-11 18:47:19   residentsAsleep 0
     2014-10-11 18:47:19   residentsAwoken 0
     2015-02-26 17:15:46   residentsGone   0
     2014-10-11 18:48:34   residentsGotosleep 0
     2015-03-18 01:02:44   residentsGuests 0
     2015-03-30 07:47:50   residentsHome   1
     2015-03-18 01:02:44   residentsTotal  2
     2015-03-30 07:47:50   residentsTotalAbsent 1
     2015-03-30 07:47:50   residentsTotalPresent 1
     2014-10-11 18:47:19   residentsTotalWayhome 0
     2015-03-27 09:31:21   state           home
so mache ich es jedenfalls.

Bernd D.

Residents total home gibt es nicht. Meinst Du residentsTotalPresent?
Das müsste klappen, probiere ich mal aus.
Vielen Dank!

Loredo

da gibt es mehrere Wege.


Bei der Frage "anwesend" oder "nicht anwesend", also einer Schwarz/Weiß Sicht, macht das Reading "presence" Sinn, denn es kann nur 2 Status haben.
Wenn man aber genauer differenzieren möchte, ob eine kurze oder längere Abwesenheit vorliegt, dann ist das Reading "state" genau dafür da und man wertet dort eben die Values "absent" bei kurzer und "gone" bei längerer Abwesenheit aus.


Auf die Total-Werte zu triggern kann man machen, ist aber nicht unbedingt zielführend in diesem Fall, weil euch die eigentliche Anzahl der anwesenden Personen ja egal ist.


Übrigens ist es nicht unbedingt richtig auf "totalHome" zu triggern, denn man kann auch zuhause sein und nicht den Status "home" haben, sondern z.B. "gotosleep,asleep,awoken". Man gilt dann natürlich immer noch als zuhause. Kommt aber drauf an, ob ihr diesen Workflow verwendet (siehe neuer Wiki Artikel Weckautomation). Richtiger wäre da das Reading residentsTotalPresent oder residentsTotalAbsent. Aber wie gesagt, ganz korrekt sind nur "presence" und "state".
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Bernd D.

Vielen Dank Loredo!
Dann ist presence genau das wonach ich gesucht hatte.

Bademeister

Hallo zusammen,

ich habe versucht über die PING Erkennung meines Handys die Anwesenheit festzustellen. Dies habe ich mit dem Module PRESENCE gemacht - die Rückmeldung present und absent ist erfolgreich. Diesen State möchte ich gerne an den Roommate rr_Markus übergeben.

Dazu habe ich einen Watchdog wie folgt angelegt

setstate rr_Markus absent; setstate wd.rr.Markus.presence defined

Def: Markus.Handy:absent 00:03:15 Markus.Handy:present setstate rr_Markus absent; setstate wd.rr.Markus.presence defined

Dieser Watchdog erkennt wenn die Bedingung "absent" des Handys zutrifft, jedoch ändert sich der State von rr_Markus nicht.

Was mache ich falsch?

Loredo

Der Befehl muss nicht


setstate rr_Markus absent


heißen, sondern stattdessen


set rr_Markus absent
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Bademeister

Cmd angepasst aber es tut sich immer noch nichts. :(

Markus.Handy:absent 00:03:15 Markus.Handy:present set rr_Markus absent;; setstate wd.rr.Markus.presence defined
attr wd.rr.Markus.presence regexp1WontReactivate 1


Das Log habe ich auf verbose=4 gesetzt; dennoch kommt keine Hinweismeldung

Markus.Handy = absent
wd.rr.Markus.presence = Next: 17:35:15
state von rr_Markus = home

Gebe ich den Befehl set rr_Markus absent  in der Kommandzeile ein wird der Status erfolgreich umgesetzt.