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

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

Vorheriges Thema - Nächstes Thema

popy

Danke für die Infos.

Habe es jetzt mit einem Notify gemacht damit der room in die location übernommen wird, mit folgendem code:


P_BT.*.room:.* {
  my $roommate = "rr_".substr($NAME,5);
  my $room = ReadingsVal($NAME,"room","");

  if ($room eq "")
  {
    $room = "unbekannt";
  }

  Log 1, "act_set_rr_location: Bluetooth Gerät ".$NAME." ist jetzt im Raum ".$room;
  fhem "setreading ".$roommate." location ".$room;
}


Funktioniert 1a, es wird in location der room gesetzt oder sonst unbekannt.
Weiters setzte ich mir jetzt einen Dummy Alias "Jemand im Wohnzimmer" mit folgendem DOIF:

([#"^rr_.*":location:$_ eq "Wohnzimmer"] > 0) (set P_WZ present) DOELSE (set P_WZ absent)

Danke Deiner Hilfe im anderen Thread  ::)
Und zu Guter letzt kann ich nun meinen "Niemand mehr im Wohnzimmer" Watchdog drauf aufsetzen:

P_WZ:absent 00:15 P_WZ:present {evtWZBTAbsentHandler()} ; setstate watchdog_Niemand_im_WZ defined

und das Wohnzimmer nach 15 Minuten ausschalten.
Funktioniert soweit alles, muss sich noch in der Praxis beweisen.

Danke Jedenfalls für Deine Unterstützung und Deine Code Schnippsel, diese helfen ungemein.

pOpY

popy

Eine Frage noch zum Modul.
Derzeit habe ich als webcmd "state" gesetzt und somit eine Combobox mit dem aktuellen state & Dazu passende devStateIcon's (Siehe Bild).

Ich möchte Gerne neben der state combobox noch die location anzeigen und aber das devSTateIcon behalten.
Alle meine Versuche mit setzen von "stateformat" und entfernen von devStateIcon waren nur semi-erfolgreich.
Sprich ich kann die icons entfernen und mittels stateformat ausgeben was ich will, beides (icon & stateformat) geht aber nicht!?
Hoffe ich habe mich verständlich ausgedrückt  ::)

Würde mich über jeden Hinweis freuen.
Danke pOpY

CoolTux

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

popy

Zitat von: CoolTux am 03 November 2017, 03:02:35
webCmd   state:location

Danke für die Antwort.
Leider funktioniert es nicht ganz mit:

webCmd state:location

Raus kommt das wie im Bild im Anhang.

pOpY

CoolTux

Dann stimmt irgendwas nicht. Gerade getestet. Bei mir geht das.
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

moskito

@popy
schau mal ob das Attribut rr_locations existiert und dort Werte eingetragen sind

Gruß
Danny
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean

popy

Zitat von: moskito am 03 November 2017, 09:28:59
@popy
schau mal ob das Attribut rr_locations existiert und dort Werte eingetragen sind

Gruß
Danny

Nun klappts, habe bei rr_locations nun "home,gotosleep,asleep,awoken,absent,Wohnzimmer,Schlafzimmer,unbekannt" eingetragen.

Danke
pOpY


CoolTux

bisschen übereifrig. es geht um location. asleep ist keine location

atwork,home,wayhome,underway

wegen meiner noch Bahnhof oder so. aber nicht asleep oder gotosleep
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

mrbreil

Bekomme nach dem ich ein "userReadings" Attribut
attr rr_Lisa userReadings image {((ReadingsVal("rr_Lisa","state","absent") eq "home" ) ? "/fhemcommands/images/residents/lisa-farbe.png" : "/fhemcommands/images/residents/lisa-grau.png");;}\

angelegt habe immer folgenden Fehler:

readingsUpdate(rr_Lisa,image,/fhemcommands/images/residents/lisa-farbe.png) missed to call readingsBeginUpdate first.

Ich denke das hat irgendwas mit readingsSingleUpdate und readingsBeginUpdate zu tun, aber das übersteigt meine Fähigkeiten bei weitem, hat jemand eine Idee?

Gruß Christian

Jamo

Hi Loredo,
mir ist aufgefallen, dass das reading 'presence' im RESIDENTS modul für rgr_Guests überhaupt erst dann erzeugt wird, wenn man den 'state' von rgr_Guests einmal auf 'present' setzt. Vorher gibt es das reading gar nicht. 

Was war mein Problem? Nun ich hatte ich mir irgendwie den fhem statefile zerschossen nachdem ich meine CCU2 gelöscht hatte (FHEM hatte sich aufgehängt). Danach war der Status von rgr_Guests kaputt. Viele meiner Abfragen verwenden (Readingsval ("rgr_Guests","presence","na") eq "present"), deswegen funktionierte nichts nehr so wie vorher. Ich habe dann mit set rgr_Guests state absent den status auf 'absent' gesetzt, trotzdem funktionierten meine Abfragen nicht. Ich habe dann festgestellt, das es das reading 'presence' im RESIDENTS modul für rgr_Guests gar nicht gibt. Erst mit einem set rgr_Guests state present wurde dieses reading dann letztendlich angelegt.

Falls Du das nachvollziehen kannst, könnte man das in der Art fixen das es ein reading present immer gibt, dann eben mit einem 'none' oder so als startwert?

Meine definition von rgr_Guests defmod rgr_Guests RESIDENTS

Alternativ ist mir beim schreiben dieses Textes eingefallen, das es schlauer wäre, auf (Readingsval ("rgr_Guests","presence","absent") eq "present") anstatt auf (Readingsval ("rgr_Guests","presence","na") eq "present") abzufragen :-(

Danke fürs lesen!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

nias

Nabend,

ROOMMATE schaltet "Nias" nicht auf state=home zurück und ich weiss nicht mehr weiter...

RAW-Block:

defmod Nias ROOMMATE Bewohner
attr Nias alias Status
attr Nias devStateIcon .*zuhause:user_available:absent .*anwesend:user_available:absent .*abwesend:user_away:home .*verreist:user_ext_away:home .*bettfertig:scene_toilet:asleep .*schlaeft:scene_sleeping:awoken .*schläft:scene_sleeping:awoken .*aufgestanden:scene_sleeping_alternat:home .*:user_unknown:home
attr Nias eventMap home:zuhause absent:abwesend gone:verreist gotosleep:bettfertig asleep:schläft awoken:aufgestanden
attr Nias group Nias
attr Nias icon people_sensor
attr Nias room Residents
attr Nias rr_geofenceUUIDs xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
attr Nias rr_lang DE
attr Nias rr_realname group
attr Nias sortby 1
attr Nias verbose 5
attr Nias webCmd state
attr Nias widgetOverride state:zuhause,bettfertig,schläft,aufgestanden,abwesend,verreist

setstate Nias zuhause
setstate Nias 2017-12-14 18:59:34 durTimerAbsence 00:00:00
setstate Nias 2017-12-14 18:59:34 durTimerAbsence_cr 0
setstate Nias 2017-12-14 18:50:22 durTimerPresence 00:00:00
setstate Nias 2017-12-14 18:50:22 durTimerPresence_cr 0
setstate Nias 2017-12-11 22:20:51 durTimerSleep 00:00:00
setstate Nias 2017-12-11 22:20:51 durTimerSleep_cr 0
setstate Nias 2017-12-14 18:59:34 lastArrival 2017-12-14 18:59:34
setstate Nias 2017-12-14 18:50:22 lastDeparture 2017-12-14 18:50:22
setstate Nias 2017-12-14 18:59:34 lastDurAbsence 00:09:12
setstate Nias 2017-12-14 18:59:34 lastDurAbsence_cr 9
setstate Nias 2017-12-14 18:50:22 lastDurPresence 00:01:19
setstate Nias 2017-12-14 18:50:22 lastDurPresence_cr 1
setstate Nias 2017-12-14 18:31:19 lastLocation Zuhause
setstate Nias 2017-12-14 17:29:00 lastLocationAddr -
setstate Nias 2017-12-14 17:29:00 lastLocationLat XXX
setstate Nias 2017-12-14 17:29:00 lastLocationLong YYY
setstate Nias 2017-12-14 18:50:22 lastMood calm
setstate Nias 2017-12-14 18:59:34 lastState absent
setstate Nias 2017-12-14 18:57:26 location home
setstate Nias 2017-12-14 18:57:26 locationAddr -
setstate Nias 2017-12-14 18:57:26 locationLat -
setstate Nias 2017-12-14 18:57:26 locationLong -
setstate Nias 2017-12-14 18:57:26 locationPresence absent
setstate Nias 2017-12-14 18:59:34 mood calm
setstate Nias 2017-12-14 18:59:34 presence present
setstate Nias 2017-12-14 18:59:34 state home
setstate Nias 2017-12-14 17:10:59 wayhome 0


Nun simuliere ich mit wget die GeofancyApp:
# sim_geo.sh wayhome

2017.12.14 19:03:41 5: GEOFANCY geofancy: detected data format: Geofency.app
2017.12.14 19:03:41 5: GEOFANCY geofancy: Checking rr_geofenceUUIDs for Nias
2017.12.14 19:03:41 4: GEOFANCY geofancy: Found matching UUID at ROOMMATE device Nias
2017.12.14 19:03:41 4: GEOFANCY geofancy: id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx name=wayhome trig=0 date=1513274621 lat= long= address:- dev=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx devAlias=Nias
2017.12.14 19:03:41 5: ROOMMATE Nias: received location information: id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx name=wayhome trig=0 date=2017-12-14 19:03:41 lat=- long=- address:- device=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
2017.12.14 19:03:41 5: ROOMMATE Nias: received signal from underway location
2017.12.14 19:03:41 5: ROOMMATE Nias: wayhome signal received
2017.12.14 19:03:41 4: ROOMMATE Nias: implicit state change caused by location wayhome
2017.12.14 19:03:41 4: ROOMMATE Nias: implicit mood change caused by state absent
2017.12.14 19:03:41 4: ROOMMATE Nias: AutoGone timer scheduled: 1513404221


Das klappt *prima*!

Aber leider gehts nicht mehr zurück...
# sim_geo.sh home

2017.12.14 19:05:14 5: GEOFANCY geofancy: detected data format: Geofency.app
2017.12.14 19:05:14 5: GEOFANCY geofancy: Checking rr_geofenceUUIDs for Nias
2017.12.14 19:05:14 4: GEOFANCY geofancy: Found matching UUID at ROOMMATE device Nias
2017.12.14 19:05:14 4: GEOFANCY geofancy: id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx name=home trig=0 date=1513274714 lat= long= address:- dev=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx devAlias=Nias
2017.12.14 19:05:14 5: ROOMMATE Nias: received location information: id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx name=home trig=0 date=2017-12-14 19:05:14 lat=- long=- address:- device=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
2017.12.14 19:05:14 5: ROOMMATE Nias: received signal from home location


Die "location" steht danach auf "home", aber der state/presence bleiben auf "absent".
Jemand eine Idee wo es hier hakt?

nias

okay, hat sich erledigt.
Hab in meiner Simulation den "entry" Parameter an die URL falsch verfüttert...

mrbreil

Möchte das noch mal nach vorne holen, spamt mir das ganze log zu. Das ist doch kein normales Verhalten des Moduls?
Keiner einen Tip, was da falsch läuft?

Gruß Christian

Zitat von: mrbreil am 07 Dezember 2017, 14:25:45
Bekomme nach dem ich ein "userReadings" Attribut
attr rr_Lisa userReadings image {((ReadingsVal("rr_Lisa","state","absent") eq "home" ) ? "/fhemcommands/images/residents/lisa-farbe.png" : "/fhemcommands/images/residents/lisa-grau.png");;}\

angelegt habe immer folgenden Fehler:

readingsUpdate(rr_Lisa,image,/fhemcommands/images/residents/lisa-farbe.png) missed to call readingsBeginUpdate first.

Ich denke das hat irgendwas mit readingsSingleUpdate und readingsBeginUpdate zu tun, aber das übersteigt meine Fähigkeiten bei weitem, hat jemand eine Idee?

Gruß Christian

DeeSPe

Zitat von: mrbreil am 20 Dezember 2017, 09:14:02
Möchte das noch mal nach vorne holen, spamt mir das ganze log zu. Das ist doch kein normales Verhalten des Moduls?
Keiner einen Tip, was da falsch läuft?

Gruß Christian

Ich sehe im userReading zu viele Klammer und einen Trigger gibt es auch nicht.
Mit einem angegebenen Trigger wären es auch weniger Log Ausgaben.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

igami

Ich hätte da noch einen Wunsch zum neuen Jahr.
Im Log habe ich viele Meldungen der Art

2017.12.31 10:43:29 2: ROOMMATE set Michael_P home
2017.12.31 10:43:29 2: ROOMMATE set Michael_P location arrival

Diese werden mit verbose 2 gelogt. Laut der Definition in der commandref
Zitat
verbose
Set the verbosity level. Possible values:

    0 - server start/stop
    1 - error messages or unknown packets
    2 - major events/alarms.
    3 - commands sent out will be logged.
    4 - you'll see whats received by the different devices.
    5 - debugging.
sollten diese aber mit verbose 3 gelogt werden.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED