Autor Thema: Modulfamilie für Bewohner / 10_RESIDENTS 20_ROOMMATE 20_GUEST  (Gelesen 67690 mal)

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3004
  • Wer anderen eine Bratwurst brät...
Jetzt sitze ich vorm Rechner.


Hier der Artikel, wie man generell Devices in Fhem übersetzen kann:
Frontend übersetzen mit widgetOverride und eventMap (am Beispiel ROOMMATE)


msgConfig hat einen Setter "createResidentsDev", der RESIDENTS Devices in Deutsch oder Englisch vorkonfiguriert.

Danke Julian für die nachgereichte Info.
Ich hatte es zwischenzeitlich selbst in msgConfig wieder gefunden.
Irgendwo hatte ich es gesehen, wusste nur nicht mehr wo und fing an an mir selbst zu zweifeln. ::)

Gruß
Dan
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Online volschin

  • Sr. Member
  • ****
  • Beiträge: 995
Ich habe jetzt mal versucht, das Presence-Device direkt im ROOMMATE einzutragen und nicht mehr über Watchdog zu setzen. Leider funktioniert das nur unzuverlässig, da es immer wieder mal vorkommt, dass für kurze Zeit das Bluetooth-Signal abhanden kommt. Der Watchdog hat das kompensiert. Gibt es etwas ähnliches doch auch im ROOMMATE?
RPi2 FHEM5.8,HM-MOD-RPI-PCB+HM-USB-CFG2+hmland 0.101
HM: CC-TC,CC-VD,LC-Dim1T-Pl-2,LC-SW1-PL2,LC-Sw1PBU-FM,LC-Dim1PWM-CV,PB-4DIS-WM,RC-19-SW
SEC-RHS,SEC-SC,SEC-SD,SEC-WIN,SEC-MDIR,Sen-MDIR-WM55,SEC-Sco
HUE: diverse
4xRPi B/B+,4xCO20,OWL+USB,HarmonyHub,FB7490 v6.83

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3004
  • Wer anderen eine Bratwurst brät...
absenceThreshold im PRESENCE Device?

Gruß
Dan
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Online volschin

  • Sr. Member
  • ****
  • Beiträge: 995
Danke, man muss nur im richtigen Device schauen.  :-[
RPi2 FHEM5.8,HM-MOD-RPI-PCB+HM-USB-CFG2+hmland 0.101
HM: CC-TC,CC-VD,LC-Dim1T-Pl-2,LC-SW1-PL2,LC-Sw1PBU-FM,LC-Dim1PWM-CV,PB-4DIS-WM,RC-19-SW
SEC-RHS,SEC-SC,SEC-SD,SEC-WIN,SEC-MDIR,Sen-MDIR-WM55,SEC-Sco
HUE: diverse
4xRPi B/B+,4xCO20,OWL+USB,HarmonyHub,FB7490 v6.83

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3004
  • Wer anderen eine Bratwurst brät...
Danke, man muss nur im richtigen Device schauen.  :-[

Macht aber auch nur da Sinn wenn man mal genau drüber nachdenkt. ;)

Gruß
Dan
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline l2r

  • Full Member
  • ***
  • Beiträge: 481
hallo Julian,

ich habe vorhin versucht mit das Attribut wakeupOffset in meinen WakeupTimern zu ändern. Das ist ja ein Slider
Wenn ich den gewünschten Wert eingestellt habe und auf attr klicke, dann wird anstatt des eingestellten Wertes der String WakeupOffset bei dem Attribut eingetragen.
Kann das sonst noch jemand bestätigen?

über die Kommandozeile habe ich es dann manuell eingetragen.

Bei mir läuft FHEM 5.8

Gruß Michael
Wissen ist Macht.
Ich weiß nix.
Macht nix.

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2807
  • ~ Challenging Innovation ~
Das wäre ein genereller FHEM Bug.


Gruß

Julian
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2807
  • ~ Challenging Innovation ~
Ich habe gerade ein kleines Update eingecheckt. Damit spielt die Reihenfolge keine Rolle mehr, in der RESIDENT/ROOMMATE/GUEST Devices definiert werden.
Es sollte dabei eigentlich keine Verhaltensänderung auftreten. Falls doch, bitte hier melden.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2807
  • ~ Challenging Innovation ~
Ich habe gleich noch einen weiteren Patch hinterher geschoben:


1. Das globale Attribut "language" wird jetzt berücksichtigt und neu angelegte Devices werden automatisch in deutscher Anzeigesprache vorkonfiguriert, wenn die Sprache entsprechend gesetzt ist
2. Mittels neuem Attribut r*_lang lässt sich die globale Spracheinstellung übersteuern und zwischen deutscher und englischer Anzeigesprache umschalten
3. Das Attribut "disable" wird unterstützt
4. Bei Verwendung der Attribute r*_autoGoneAfter oder r_noDuration wird der interne Timer jetzt gestoppt
« Letzte Änderung: 05 März 2017, 20:00:41 von Loredo »
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16340
hallo loredo,

könntest du bitte für RESIDENTS die gleichen durTimer.* readings einbauen wie für ROOMMATE?

ich bin gerade dabei in der willkommens nachricht beim tür öffnen mit anzusagen ob schon jemand anders zuhause ist. je nach dem wie schnell sich jemand genähert hat kann es aber sein das er schon im wlan eingebaucht ist und selber auf present springt bevor er die tür auf macht. ein einfacher vergleich auf durTimerPresence  < 15 sekunden direkt auf das RESIDENTS  device wäre deutlich einfacher als von hand alle ROOMMATEs durch zu gehen oder irgendwie anders selber zu zählen.

danke
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline l2r

  • Full Member
  • ***
  • Beiträge: 481
hi Loredo,

ich hab eine kleine Frage zu deinem DOIF. Und zwar verwendest du bei manchen msg-Befehlen ein ! hinter dem Empfänger msg push @rgr_Residents! -1 |Anwesenheit| Längere Abwesenheit aller Bewohner registriert. Erweitere Sicherheitsprotokolle wurden etabliert.Was bewirkt das ! ?

Gruß Michael

Ich habe gerade folgendes DOIF bei mir im Test, welches auch zwischen Bewohnern und Gästen unterscheidet:



## ROOMMATE arrives at home
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
my $lastState=ReadingsVal([rgr_Residents:lastActivityByDev],"lastState","none");
[rgr_Residents:?lastActivity] and
$devType eq "ROOMMATE" and
($lastState eq "absent" or $lastState eq "gone")
)
(
(msg push @[rgr_Residents:lastActivityByDev] |Anwesenheit| [rgr_Residents:residentsTotalPresent] Bewohner zuhause: [rgr_Residents:residentsTotalPresentNames])
)


## ROOMMATE leaves home but residents are still present
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "absent" and
[?rgr_Residents:presence] eq "present" and
$devType eq "ROOMMATE"
)
(
(msg push @[rgr_Residents:lastActivityByDev] |Anwesenheit| [rgr_Residents:lastActivityBy] abgemeldet. [rgr_Residents:residentsTotalPresent] Bewohner verblieben: [rgr_Residents:residentsTotalPresentNames])
)


## ROOMMATE is absent for longer period but others are still nearby
DOELSEIF
(
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "gone" and
[?rgr_Residents:state] ne "gone"
)
(
(msg push @[rgr_Residents:lastActivityByDev]! -2 |Anwesenheit| Längere Abwesenheit für [rgr_Residents:lastActivityBy] wurde vermerkt.)
)


## all residents are absent for longer period
DOELSEIF
(
[rgr_Residents:?state] and
[?rgr_Residents:state] eq "gone"
)
(
(msg push @rgr_Residents! -1 |Anwesenheit| Längere Abwesenheit aller Bewohner registriert. Erweitere Sicherheitsprotokolle wurden etabliert.)
)


## ROOMMATE leaves home and all residents are absent now
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "absent" and
[?rgr_Residents:state] eq "absent" and
$devType eq "ROOMMATE"
)
(
(msg push @[rgr_Residents:lastActivityByDev] |Anwesenheit| [rgr_Residents:lastActivityBy] abgemeldet. Alle Bewohner sind abwesend, Sicherheitsprotokolle wurden etabliert.)
)


## GUEST control enabled
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
my $lastState=ReadingsVal([rgr_Residents:lastActivityByDev],"lastState","none");
[rgr_Residents:?lastActivity] and
(([?rgr_Residents:lastActivity] ne "absent" and [?rgr_Residents:residentsHome] > 1) or ([?rgr_Residents:lastActivity] eq "absent" and [?rgr_Residents:residentsHome] == 0)) and
$devType eq "GUEST" and
$lastState eq "none"
)
(
(msg push @rgr_Residents -1 |Anwesenheit| Steuerung für [rgr_Residents:lastActivityBy] wurde aktiviert)
)


## GUEST control enabled while no resident present (EXCEPTION!)
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
my $lastState=ReadingsVal([rgr_Residents:lastActivityByDev],"lastState","none");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] ne "absent" and
[?rgr_Residents:residentsHome] == 1 and
$devType eq "GUEST" and
$lastState eq "none"
)
(
(msg push @rgr_Residents! 2 |Anwesenheit| Steuerung für [rgr_Residents:lastActivityBy] wurde aktiviert, obwohl kein Bewohner zuhause ist!)
)


## GUEST control was disabled
DOELSEIF
(
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "none" and
[?rgr_Residents:state] ne "gone"
)
(
(msg push @rgr_Residents -1 |Anwesenheit| Steuerung für [rgr_Residents:lastActivityBy] wurde deaktiviert)
)


## GUEST arrives at home while residents are present
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
my $lastState=ReadingsVal([rgr_Residents:lastActivityByDev],"lastState","none");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:residentsHome] > 1 and
$devType eq "GUEST" and
$lastState eq "absent"
)
(
(msg push @rgr_Residents -2 |Anwesenheit| [rgr_Residents:lastActivityBy] ist jetzt zuhause. Anwesende Bewohner: [rgr_Residents:residentsTotalPresentNames])
)


## GUEST arrives at home while he is the only one (EXCEPTION!)
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
my $lastState=ReadingsVal([rgr_Residents:lastActivityByDev],"lastState","none");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:residentsHome] == 1 and
$devType eq "GUEST" and
$lastState eq "absent"
)
(
(msg push @rgr_Residents! 2 |Anwesenheit| [rgr_Residents:lastActivityBy] ist jetzt alleine zuhause!)
)


## GUEST leaves home while others are still at home
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "absent" and
[?rgr_Residents:presence] eq "present" and
$devType eq "GUEST"
)
(
(msg push @rgr_Residents -2 |Anwesenheit| [rgr_Residents:lastActivityBy] abgemeldet. [rgr_Residents:residentsTotalPresent] Bewohner verblieben: [rgr_Residents:residentsTotalPresentNames])
)


## GUEST leaves home after all residents
DOELSEIF
(
my $devType=InternalVal([rgr_Residents:lastActivityByDev],"TYPE","NONE");
[rgr_Residents:?lastActivity] and
[?rgr_Residents:lastActivity] eq "absent" and
[?rgr_Residents:presence] eq "absent" and
$devType eq "GUEST"
)
(
(msg push @rgr_Residents! |Anwesenheit| [rgr_Residents:lastActivityBy] abgemeldet. Alle Bewohner sind jetzt abwesend, Sicherheitsprotokolle werden etabliert.)
)
Wissen ist Macht.
Ich weiß nix.
Macht nix.

Offline acw81

  • New Member
  • *
  • Beiträge: 22
Ich habe an dem Attribut rr_presenceDevices meines ROOMATE eine PRESENCE Gerät verknüpft das über Events meines AccessPoints getriggert wird. Leider kommen die Änderungen vom PRESENCE Geräte nicht beim ROOMATE Geräte an. Liegt es daran das ich das PRESENCE über Events aktualisiere?

Offline mumpitzstuff

  • Full Member
  • ***
  • Beiträge: 232
Ich habe an dem Attribut rr_presenceDevices meines ROOMATE eine PRESENCE Gerät verknüpft das über Events meines AccessPoints getriggert wird. Leider kommen die Änderungen vom PRESENCE Geräte nicht beim ROOMATE Geräte an. Liegt es daran das ich das PRESENCE über Events aktualisiere?

Bei mir funktioniert das in die andere Richtung. Ich habe ROOMMATES definiert, die durch Sensoren einen bestimmten Status erhalten (Tags, Bewegung, Strom usw.) und den Gesamtstatus der sich daraus ergibt, finde ich im PRESENCE. Nur wenn alle ROOMMATES auf absent geschaltet sind, dann springt PRESENCE auf absent, ansonsten steht es auf present.

Offline KernSani

  • Hero Member
  • *****
  • Beiträge: 1426
Bei mir funktioniert das in die andere Richtung. Ich habe ROOMMATES definiert, die durch Sensoren einen bestimmten Status erhalten (Tags, Bewegung, Strom usw.) und den Gesamtstatus der sich daraus ergibt, finde ich im PRESENCE. Nur wenn alle ROOMMATES auf absent geschaltet sind, dann springt PRESENCE auf absent, ansonsten steht es auf present.
Verwechselst du PRESENCE und RESIDENTS?
RasPi: RFXTRX, HM, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline mumpitzstuff

  • Full Member
  • ***
  • Beiträge: 232
Ups sry du hast natürlich recht. Ich nehme alles zurück.