Neues Modul: 22_HOMEMODE.pm - grundlegende Automationen und mehr

Begonnen von DeeSPe, 07 Januar 2017, 15:59:43

Vorheriges Thema - Nächstes Thema

Schlimbo

Hallo Dan,

auch von mir, vielen dank für dein Modul.
Ich habe das Modul zwar schon eine Zeit am laufen, aber mich erst jetzt so richtig damit beschäftigt und einige meiner "alten" Notify's und DOIF's durch dein Modul ersetzt.
Bei dem Einbinden meiner Haustüre habe ich aber momentan noch ein Problem:
Der Türstatus (offen/ geschlossen) wird durch ein MAX-Fensterkontakt Sensor erfasst, dieser liefert die Werte "opened" und "closed" da "HomeSensorsContactValues" ja standardmäßig auf open|tilted|on steht, habe ich es wie folgt angepasst:
attr <Name> HomeSensorsContactValues opened|open|tilted|on
Allerdings bekomme ich, egal ob ich die Türe schließe oder öffne immer nur HomeCMDcontactDoormainClosed getriggert.
Die Befehle aus HomeCMDcontactDoormainOpen werden nie ausgeführt.

Mache ich hier noch etwas falsch?

Gruß schlimbo

binford6000

ZitatDemnächst möchte ich weitere Features integrieren.
Für mich würden als nächstes auf dem Programm stehen:
Integration UWZ
Integration Calendar als Erweiterung zu holiday

Welche konkreten und allgemein sinnvollen Wünsche habt Ihr?

Hi Dan,
auf Calendar warte ich sehnsüchtig!!  :D

Was mir noch fehlt - vielleicht habe ich es auch nur übersehen - ist sowas wie eine "do-always" Funktion.
Oder um es mal in Homemode zu formulieren:

attr <name> HomeCMDmode-doalways
oder vielleicht auch sowas wie
attr <name> HomeCMDmode-do-for-interval
wobei intervall konfigurierbar sein sollte.

VG Sebastian

DeeSPe

Zitat von: Schlimbo am 19 Februar 2017, 13:42:41
Der Türstatus (offen/ geschlossen) wird durch ein MAX-Fensterkontakt Sensor erfasst, dieser liefert die Werte "opened" und "closed" da "HomeSensorsContactValues" ja standardmäßig auf open|tilted|on steht, habe ich es wie folgt angepasst:
attr <Name> HomeSensorsContactValues opened|open|tilted|on

Das sollte soweit passen. Es müssen alle Zustände abgedeckt sein die "offen" bedeuten.
Dabei kommt mir gerade die Idee warum ich das nicht umkehre!? Der Status "zu" hat (im besten Fall) nur einen Zustand! 8)

Evtl. musst Du auch noch das Attribut HomeSensorsContactReadings anpassen, sofern die Zustände nicht in den Readings state und sabotageError gemeldet werden...
Dann sollte es eigentlich "flutschen". 8)

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

Schlimbo

Hallo Dan,
der status ist bei diesen Sensoren auch im Reading "state".
Verstehe auch nicht warum es bei Doormain nicht funktioniert, bei den Fenster, die den gleichen Sensor haben funktionieren der offen/geschlossen Status wie er soll.
Kann es sein das Doormain  das Attribut "HomeSensorsContactValues" nicht korrekt beachtet?

DeeSPe

Zitat von: Schlimbo am 19 Februar 2017, 14:05:34
Kann es sein das Doormain  das Attribut "HomeSensorsContactValues" nicht korrekt beachtet?

Da wird vom Code her kein Unterschied gemacht!
Nur dass bei doormain eben noch die dafür zuständigen CMD Attribute ausgeführt werden.
Doofe Frage: HomeContactType im jeweiligen Gerät ist auch entsprechend auf doormain gesetzt?

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

Schlimbo

#215
Hallo Dan,
Ja, das ist auf Doormain gesetzt. Hier das List vom Sensor:
Internals:
   CHANGED
   DEF        ShutterContact 032d00
   IODev      cm
   LASTInputDev cm
   MSGCNT     3
   NAME       MAX_Wohnungstuere
   NR         623
   RSSI       -50
   STATE      closed
   TYPE       MAX
   addr       032d00
   backend    cm
   cm_MSGCNT  3
   cm_TIME    2017-02-19 13:19:29
   rferror    0
   type       ShutterContact
   Helper:
     Dblog:
       Battery:
         Logdb:
           TIME       1487506709.27639
           VALUE      ok
       Closed:
         Logdb:
           TIME       1487506723.90498
           VALUE
       Opened:
         Logdb:
           TIME       1487506709.27639
           VALUE
   Readings:
     2017-02-19 13:19:29   RSSI            -50
     2017-02-19 13:19:29   battery         ok
     2017-02-15 22:19:29   firmware        1.3
     2017-02-15 22:19:29   groupid         0
     2017-02-15 22:19:29   msgcnt          26
     2017-02-19 13:19:29   onoff           0
     2017-02-19 13:19:29   state           closed
     2017-02-15 22:19:29   testresult      15
   Internals:
     interfaces switch_active;battery
Attributes:
   DbLogInclude .*
   HomeContactType doormain
   HomeModeAlarmActive armaway
   HomeValues opened|tilted|on
   IODev      cm
   alias      Wohnungstüre
   devStateIcon .*closed:status_locked .*opened:status_open
   event-min-interval battery:604800
   event-on-change-reading battery,state
   icon       fts_door_right_open
   room       MAX
   userattr   HomeContactType:doorinside,dooroutside,doormain,window HomeModeAlarmActive HomeOpenDontTriggerModes HomeOpenDontTriggerModesResidents HomeOpenMaxTrigger HomeOpenTimeDividers HomeOpenTimes HomeReadings HomeValues


Edit:
Es funktioniert jetzt! :)
Schuld war das "HomeValues" Attribut am Sensor. Dieses wird ja vorrangig zum "HomeSensorsContactValues" verwendet.
Verstehen aber trotzdem nicht so ganz, was daran falsch war/ist.
Dieses verhalten ist auch reproduzierbar,  sobald ich das Attribut am Sensor setzte funktioniert es nicht mehr.

Schlimbo

Noch eine Frage zu der Doku:
Was hat es mit der Variable %TOBE% auf sich?

Aus der Doku werde ich nicht ganz schlau:
Zitat%TOBE%
ist oder sind des Reading condition des überwachten Yahoo Wetter Device
kann z.B. für Wetterinfo in den HomeTextWeather Attributen benutzt werden
Zitat%CONDITION%
Wert des Reading condition des überwachten Yahoo weather Device
kann z.B. für Wetter(vorhersage) benutzt werden

Beispielcode HomeTextWeatherLong:
ZitatEs %TOBE% %CONDITION% bei %TEMPERATURE%°C und %HUMIDITY%% Luftfeuchtigkeit. Die gefühlte Temperatur ist %WINDCHILL%°C bei einer Windgeschwindigkeit von %WIND%km/h. Der Luftdruck ist %PRESSURETREND% bei %PRESSURE%hPa.
Die Variable %TOBE% war immer auf "are" gesetzt, habe jetzt herausgefunden dass, wenn ich das Attribut "HomeTextAre" setzte, %TOBE% auch beeinflusst wird.
Könntest du dir das bitte noch mal ansehen?

Und noch ein Frage zum Beispielcode von "HomeCMDcontactDoormainClosed":
Wo kommt hier die Variable %FEIERTAG% her, konnte hierzu nichts finden.

In der Doku ist mir noch ein kleiner copy/paste Fehler aufgefallen.
Das zweite HomeTextAre sollte HomeTextClosed heißen:
Zitat von: DeeSPe am 07 Januar 2017, 15:59:43
HomeTextAre
Übersetzung für "are"
Werte: frei wählbar
Werteformat: Wort
Standardwert: are

HomeTextAre
Übersetzung für "closed"
Werte: frei wählbar
Werteformat: Wort
Standardwert: closed

Gruß Schlimbo

Christian Uhlmann

#217
Hat sich erledigt, da waren noch zwei ; in HomeCMD... Befehlen ...

Hallo zusammen,

ich bekomme seit einigen Tage einen Fehler, wenn ich mein Zuhause verlassen (per GEOFANCY).
Ich nutze für meinen ROOMATE 3 presence devices und lasse HOMEMODE per

[s]HomeAutoPresence = 1[/s]
die Anwesenheit steuern.

Hab schon verbose = 5 angeschmissen, aber es kommen nicht mehr Fehler außer:
[s]Can't use an undefined value as an ARRAY reference at ./FHEM/22_HOMEMODE.pm line 1561.[/s]
Leider kann ich nichts damit anfangen und weiß daher auch nicht, welche Attribute oder sonstigen Einstellungen zu diesem Fehler führen können.

Nur vielleicht soviel, ich nutzt GEOFANCY rr_geofenceUUIDs um hier eine komplette Übersicht je Person zu haben.

Hier das List vom Homemode Device:

[s]Internals:
   CFGFN
   CHANGED
   DEF        Familie
   NAME       HomeMode
   NR         912
   NTFY_ORDER 50-HomeMode
   RESIDENTS  Christian,Katrin,rg_Anne,rg_Baerbel
   SENSORSCONTACT EG.az.FK.Arbeitszimmer,EG.bz.FK.Fenster,EG.fl.TK.Eingangstuer,EG.ku.FK.LinksLinks,EG.ku.FK.RechtsRechts,EG.ku.TK.Terrassentuer,EG.wz.FK.EckeLinksLinks,EG.wz.FK.EckeRechtsRechts,EG.wz.FK.LinksRechts,EG.wz.TK.Terrasse,KG.vr.WS.Filteranlage,OG.bz.FK.Bad,OG.fl.FK.Flur,OG.k1.FK.Links,OG.k1.FK.Rechts,OG.k2.FK.FensterKind2,OG.sz.FK.FensterSchlafzimmer
   SENSORSMOTION EG.fl.BMK.Flur_Motion,EG.ku.BMK.Kueche_Motion,HM_33BB75,KG.fl.BMK.Flur_Motion,KG.sb.BMK.Schwimmbad_Motion,OG.ku.BMK.Kueche_Motion
   STATE      evening
   TRIGGERTIME_NEXT 1487534752.17269
   TYPE       HOMEMODE
   VERSION    0.239
   Readings:
     2017-02-19 20:55:09   HomeInfo        <html>Gefunden wurden 3 übereinstimmende(s) Anwesenheits Gerät(e) vom Devspec "TYPE=PRESENCE" für Bewohner "Christian"! Übereinstimmende Geräte: "PRE.christian.BT,PRE.christian.GEO,PRE.christian.UNIFI"<br>Gefunden wurden 3 übereinstimmende(s) Anwesenheits Gerät(e) vom Devspec "TYPE=PRESENCE" für Bewohner "Katrin"! Übereinstimmende Geräte: "PRE.katrin.BT,PRE.katrin.GEO,PRE.katrin.UNIFI"<br>Gefunden wurden 1 übereinstimmende(s) Anwesenheits Gerät(e) vom Devspec "TYPE=PRESENCE" für Bewohner "rg_Anne"! Übereinstimmende Geräte: "PRE.anne.UNIFI"<br>Gefunden wurden 1 übereinstimmende(s) Anwesenheits Gerät(e) vom Devspec "TYPE=PRESENCE" für Bewohner "rg_Baerbel"! Übereinstimmende Geräte: "PRE.baerbel.UNIFI"<br><br>Falls ein oder mehr Anweseheits Geräte falsch zugeordnet wurden, so benenne diese bitte so um dass die Bewohner Namen (christian,katrin,anne,baerbel) nicht Bestandteil des Namen sind.<br>Nach dem Umbenennen führe einfach "set HomeMode updateInternalsForce" aus um diese Überprüfung zu wiederholen.</html>
     2017-02-19 20:45:21   absFeuchte      6.2
     2017-02-19 21:05:41   alarmTriggered
     2017-02-19 21:05:41   alarmTriggered_ct 0
     2017-01-19 13:27:03   anyoneElseAtHome off
     2017-02-19 21:05:41   contactsDoorsInsideOpen
     2017-02-19 21:05:41   contactsDoorsInsideOpen_ct 0
     2017-02-19 21:05:41   contactsDoorsInsideOpen_hr
     2017-02-19 21:05:41   contactsDoorsMainOpen
     2017-02-19 21:05:41   contactsDoorsMainOpen_ct 0
     2017-02-19 21:05:41   contactsDoorsMainOpen_hr
     2017-02-19 21:05:41   contactsDoorsOutsideOpen
     2017-02-19 21:05:41   contactsDoorsOutsideOpen_ct 0
     2017-02-19 21:05:41   contactsDoorsOutsideOpen_hr
     2017-02-19 21:05:41   contactsOpen
     2017-02-19 21:05:41   contactsOpen_ct 0
     2017-02-19 21:05:41   contactsOpen_hr
     2017-02-19 21:05:41   contactsOutsideOpen
     2017-02-19 21:05:41   contactsOutsideOpen_ct 0
     2017-02-19 21:05:41   contactsOutsideOpen_hr
     2017-02-19 21:05:41   contactsWindowsOpen
     2017-02-19 21:05:41   contactsWindowsOpen_ct 0
     2017-02-19 21:05:41   contactsWindowsOpen_hr
     2017-02-19 18:00:00   daytime         evening
     2017-02-19 20:45:21   dewpoint        3.7
     2017-01-23 22:46:43   dnd             off
     2017-02-19 21:05:17   humidity        87
     2017-02-19 20:58:34   humidityTrend   constant
     2017-02-19 10:14:43   icewarning      0
     2017-02-19 20:04:09   lastAbsentByPresenceDevice PRE.christian.BT
     2017-02-08 13:33:00   lastAbsentByResident Christian
     2017-02-19 20:26:52   lastActivityByPresenceDevice PRE.christian.GEO
     2017-02-19 20:26:52   lastActivityByResident Christian
     2017-02-16 23:09:46   lastAsleepByResident Christian
     2017-02-17 09:52:27   lastAwokenByResident Christian
     2017-02-08 13:31:07   lastCMDerror    error: >Experimental aliasing via reference not enabled at (eval 432195) line 1.
< in CMD: {\ my $msgText = ReadingsVal("Christian","msgText","-");;;;\ my $msg = "Bewohner Christian ist nun 1 - ".$msgText;;;;\ fhem "msg \@Christian $msg";;;;\ }
     2017-02-19 20:05:58   lastContact     EG.wz.TK.Terrasse
     2017-02-19 20:06:02   lastContactClosed EG.wz.TK.Terrasse
     2017-02-16 22:59:46   lastGotoleepByResident Christian
     2017-02-19 21:02:28   lastMotion      HM_33BB75
     2017-02-19 20:40:43   lastMotionClosed OG.ku.BMK.Kueche_Motion
     2017-02-19 20:26:52   lastPresentByPresenceDevice PRE.christian.GEO
     2017-02-08 13:33:22   lastPresentByResident Christian
     2017-02-19 20:55:09   light           0
     2017-02-08 13:33:22   location        home
     2017-02-19 21:05:41   luminance       10
     2017-02-19 20:54:29   luminanceTrend  constant
     2017-02-19 18:00:00   mode            evening
     2017-02-14 14:00:02   modeAlarm       disarm
     2017-02-19 21:05:41   motionsInside   EG.fl.BMK.Flur_Motion,EG.ku.BMK.Kueche_Motion,HM_33BB75,KG.fl.BMK.Flur_Motion,KG.sb.BMK.Schwimmbad_Motion,OG.ku.BMK.Kueche_Motion
     2017-02-19 21:05:41   motionsInside_ct 6
     2017-02-19 21:05:41   motionsInside_hr EGFlur - Bewegungsmelder (Kabel), Bewegung, HM_33BB75, KGFlur - Bewegungsmelder (Kabel), Schwimmbad - Bewegungsmelder (Kabel) and OGKueche - Bewegungsmelder (Kabel)
     2017-02-19 21:05:41   motionsOutside
     2017-02-19 21:05:41   motionsOutside_ct 0
     2017-02-19 21:05:41   motionsOutside_hr
     2017-02-19 21:05:41   motionsSensors  EG.fl.BMK.Flur_Motion,EG.ku.BMK.Kueche_Motion,HM_33BB75,KG.fl.BMK.Flur_Motion,KG.sb.BMK.Schwimmbad_Motion,OG.ku.BMK.Kueche_Motion
     2017-02-19 21:05:41   motionsSensors_ct 6
     2017-02-19 21:05:41   motionsSensors_hr EGFlur - Bewegungsmelder (Kabel), Bewegung, HM_33BB75, KGFlur - Bewegungsmelder (Kabel), Schwimmbad - Bewegungsmelder (Kabel) and OGKueche - Bewegungsmelder (Kabel)
     2017-02-08 13:33:22   presence        present
     2017-02-19 20:26:52   prevActivityByResident Christian
     2017-02-19 20:05:58   prevContact     EG.wz.TK.Terrasse
     2017-02-19 20:06:02   prevContactClosed EG.wz.TK.Terrasse
     2017-02-07 15:22:27   prevLocation    arrival
     2017-02-19 18:00:00   prevMode        afternoon
     2017-02-17 11:05:59   prevModeAlarm   disarm
     2017-02-19 21:02:28   prevMotion      HM_33BB75
     2017-02-19 20:40:43   prevMotionClosed KG.sb.BMK.Schwimmbad_Motion
     2017-01-08 14:59:33   season          winter
     2017-02-19 21:05:41   sensorsTampered
     2017-02-19 21:05:41   sensorsTampered_ct 0
     2017-02-19 21:05:41   sensorsTampered_hr
     2017-02-19 18:00:00   state           evening
     2017-02-19 21:05:17   temperature     5.7
     2017-02-19 20:58:34   temperatureTrend constant
     2017-02-19 21:00:08   twilight        0
     2017-02-19 20:55:09   twilightEvent   ss_astro
   Helper:
     externalHumidity 1
     lastChangedAttr HomeCMDpresence-absent-Christian-PRE.christian.GEO
     lastChangedAttrValue ---
     allMonitoredDevices:
       HomeMode
       Familie
       Christian
       PRE.christian.BT
       PRE.christian.GEO
       PRE.christian.UNIFI
       Katrin
       PRE.katrin.BT
       PRE.katrin.GEO
       PRE.katrin.UNIFI
       rg_Anne
       PRE.anne.UNIFI
       rg_Baerbel
       PRE.baerbel.UNIFI
       EG.az.FK.Arbeitszimmer
       EG.bz.FK.Fenster
       EG.fl.TK.Eingangstuer
       EG.ku.FK.LinksLinks
       EG.ku.FK.RechtsRechts
       EG.ku.TK.Terrassentuer
       EG.wz.FK.EckeLinksLinks
       EG.wz.FK.EckeRechtsRechts
       EG.wz.FK.LinksRechts
       EG.wz.TK.Terrasse
       KG.vr.WS.Filteranlage
       OG.bz.FK.Bad
       OG.fl.FK.Flur
       OG.k1.FK.Links
       OG.k1.FK.Rechts
       OG.k2.FK.FensterKind2
       OG.sz.FK.FensterSchlafzimmer
       EG.fl.BMK.Flur_Motion
       EG.ku.BMK.Kueche_Motion
       HM_33BB75
       KG.fl.BMK.Flur_Motion
       KG.sb.BMK.Schwimmbad_Motion
       OG.ku.BMK.Kueche_Motion
       SYS.twilight
       GV.ab.TF.Blumengitter
     Presdevs:
       Christian:
         PRE.christian.BT
         PRE.christian.GEO
         PRE.christian.UNIFI
       Katrin:
         PRE.katrin.BT
         PRE.katrin.GEO
         PRE.katrin.UNIFI
Attributes:
   HomeAdvancedUserAttr 1
   HomeAutoAlarmModes 1
   HomeAutoAsleep 10
   HomeAutoAwoken 10
   HomeAutoPresence 1
   HomeCMDmode-absent-resident { my $msgText = ReadingsVal("%RESIDENT%","msgText","-");; my $msg = "Bewohner %RESIDENT% ist nun %PRESENTR% - ".$msgText;; fhem "msg \@Christian $msg";; }
   HomeCMDmode-asleep set SYS.all.Lights off
   HomeCMDmode-asleep-resident { my $msgText = ReadingsVal("%RESIDENT%","msgText","-");; my $msg = "Bewohner %RESIDENT% ist nun %PRESENTR% - ".$msgText;; fhem "msg \@Christian $msg";; }
   HomeCMDmode-awoken-resident { my $msgText = ReadingsVal("%RESIDENT%","msgText","-");; my $msg = "Bewohner %RESIDENT% ist nun %PRESENTR% - ".$msgText;; fhem "msg \@Christian $msg";; }
   HomeCMDmode-gone-resident { my $msgText = ReadingsVal("%RESIDENT%","msgText","-");; my $msg = "Bewohner %RESIDENT% ist nun %PRESENTR% - ".$msgText;; fhem "msg \@Christian $msg";; }
   HomeCMDmode-gotosleep-resident { my $msgText = ReadingsVal("%RESIDENT%","msgText","-");; my $msg = "Bewohner %RESIDENT% ist nun %PRESENTR% - ".$msgText;; fhem "msg \@Christian $msg";; }
   HomeCMDmode-home-resident { my $msgText = ReadingsVal("%RESIDENT%","msgText","-");; my $msg = "Bewohner %RESIDENT% ist nun %PRESENTR% - ".$msgText;; fhem "msg \@Christian $msg";; }
   HomePresenceDeviceAbsentCount-Christian 3
   HomePresenceDeviceAbsentCount-Katrin 3
   HomeSensorTemperatureOutside GV.ab.TF.Blumengitter
   HomeSensorsContact subType=threeStateSensor
   HomeSensorsMotion subType=motionDetector
   HomeTwilightDevice SYS.twilight
   devStateIcon {(HOMEMODE_devStateIcon($name),"toggle")}
   event-on-change-reading .*
   genericDeviceType security
   homebridge inactive
   homebridgeMapping SecuritySystemCurrentState=modeAlarm,values=armhome:0;armaway:1;armnight:2;disarm:3
SecuritySystemTargetState=SecuritySystemCurrentState,cmds=0:modeAlarm+armhome;1:modeAlarm+armaway;2:modeAlarm+armnight;3:modeAlarm+disarm,delay=1
SecuritySystemAlarmType=alarmTriggered_ct,values=0:0;/.*/:1
OccupancyDetected=presence,values=present:1;absent:0
Mute=dnd,valueOn=on,cmds=1:dnd+on;0:dnd+off
On=anyoneElseAtHome,valueOn=on,cmds=1:anyoneElseAtHome+on;0:anyoneElseAtHome+off
ContactSensorState=contactsOutsideOpen_ct,values=0:0;/.*/:1
StatusTampered=sensorsTampered_ct,values=0:0;/.*/:1
MotionDetected=motionsInside_ct,values=0:0;/.*/:1
   icon       floor
   room       Bewohner
   userattr   HomeCMDmode-absent-Christian:textField-long HomeCMDmode-absent-Katrin:textField-long HomeCMDmode-absent-rg_Anne:textField-long HomeCMDmode-absent-rg_Baerbel:textField-long HomeCMDmode-asleep-Christian:textField-long HomeCMDmode-asleep-Katrin:textField-long HomeCMDmode-asleep-rg_Anne:textField-long HomeCMDmode-asleep-rg_Baerbel:textField-long HomeCMDmode-awoken-Christian:textField-long HomeCMDmode-awoken-Katrin:textField-long HomeCMDmode-awoken-rg_Anne:textField-long HomeCMDmode-awoken-rg_Baerbel:textField-long HomeCMDmode-gone-Christian:textField-long HomeCMDmode-gone-Katrin:textField-long HomeCMDmode-gotosleep-Christian:textField-long HomeCMDmode-gotosleep-Katrin:textField-long HomeCMDmode-gotosleep-rg_Anne:textField-long HomeCMDmode-gotosleep-rg_Baerbel:textField-long HomeCMDmode-home-Christian:textField-long HomeCMDmode-home-Katrin:textField-long HomeCMDmode-home-rg_Anne:textField-long HomeCMDmode-home-rg_Baerbel:textField-long HomeCMDpresence-absent-Christian-PRE.christian.BT:textField-long HomeCMDpresence-absent-Christian-PRE.christian.GEO:textField-long HomeCMDpresence-absent-Christian-PRE.christian.UNIFI:textField-long HomeCMDpresence-absent-Christian-device:textField-long HomeCMDpresence-absent-Christian:textField-long HomeCMDpresence-absent-Katrin-PRE.katrin.BT:textField-long HomeCMDpresence-absent-Katrin-PRE.katrin.GEO:textField-long HomeCMDpresence-absent-Katrin-PRE.katrin.UNIFI:textField-long HomeCMDpresence-absent-Katrin-device:textField-long HomeCMDpresence-absent-Katrin:textField-long HomeCMDpresence-absent-rg_Anne:textField-long HomeCMDpresence-absent-rg_Baerbel:textField-long HomeCMDpresence-present-Christian-PRE.christian.BT:textField-long HomeCMDpresence-present-Christian-PRE.christian.GEO:textField-long HomeCMDpresence-present-Christian-PRE.christian.UNIFI:textField-long HomeCMDpresence-present-Christian-device:textField-long HomeCMDpresence-present-Christian:textField-long HomeCMDpresence-present-Katrin-PRE.katrin.BT:textField-long HomeCMDpresence-present-Katrin-PRE.katrin.GEO:textField-long HomeCMDpresence-present-Katrin-PRE.katrin.UNIFI:textField-long HomeCMDpresence-present-Katrin-device:textField-long HomeCMDpresence-present-Katrin:textField-long HomeCMDpresence-present-rg_Anne:textField-long HomeCMDpresence-present-rg_Baerbel:textField-long HomePresenceDeviceAbsentCount-Christian:1,2,3 HomePresenceDeviceAbsentCount-Katrin:1,2,3 HomePresenceDevicePresentCount-Christian:1,2,3 HomePresenceDevicePresentCount-Katrin:1,2,3
   verbose    5
   webCmd     modeAlarm
[/s]


und falls es besser zum nachstellen hilft die Raw def:

[s]defmod HomeMode HOMEMODE Familie
attr HomeMode userattr HomeCMDmode-absent-Christian:textField-long HomeCMDmode-absent-Katrin:textField-long HomeCMDmode-absent-rg_Anne:textField-long HomeCMDmode-absent-rg_Baerbel:textField-long HomeCMDmode-asleep-Christian:textField-long HomeCMDmode-asleep-Katrin:textField-long HomeCMDmode-asleep-rg_Anne:textField-long HomeCMDmode-asleep-rg_Baerbel:textField-long HomeCMDmode-awoken-Christian:textField-long HomeCMDmode-awoken-Katrin:textField-long HomeCMDmode-awoken-rg_Anne:textField-long HomeCMDmode-awoken-rg_Baerbel:textField-long HomeCMDmode-gone-Christian:textField-long HomeCMDmode-gone-Katrin:textField-long HomeCMDmode-gotosleep-Christian:textField-long HomeCMDmode-gotosleep-Katrin:textField-long HomeCMDmode-gotosleep-rg_Anne:textField-long HomeCMDmode-gotosleep-rg_Baerbel:textField-long HomeCMDmode-home-Christian:textField-long HomeCMDmode-home-Katrin:textField-long HomeCMDmode-home-rg_Anne:textField-long HomeCMDmode-home-rg_Baerbel:textField-long HomeCMDpresence-absent-Christian-PRE.christian.BT:textField-long HomeCMDpresence-absent-Christian-PRE.christian.GEO:textField-long HomeCMDpresence-absent-Christian-PRE.christian.UNIFI:textField-long HomeCMDpresence-absent-Christian-device:textField-long HomeCMDpresence-absent-Christian:textField-long HomeCMDpresence-absent-Katrin-PRE.katrin.BT:textField-long HomeCMDpresence-absent-Katrin-PRE.katrin.GEO:textField-long HomeCMDpresence-absent-Katrin-PRE.katrin.UNIFI:textField-long HomeCMDpresence-absent-Katrin-device:textField-long HomeCMDpresence-absent-Katrin:textField-long HomeCMDpresence-absent-rg_Anne:textField-long HomeCMDpresence-absent-rg_Baerbel:textField-long HomeCMDpresence-present-Christian-PRE.christian.BT:textField-long HomeCMDpresence-present-Christian-PRE.christian.GEO:textField-long HomeCMDpresence-present-Christian-PRE.christian.UNIFI:textField-long HomeCMDpresence-present-Christian-device:textField-long HomeCMDpresence-present-Christian:textField-long HomeCMDpresence-present-Katrin-PRE.katrin.BT:textField-long HomeCMDpresence-present-Katrin-PRE.katrin.GEO:textField-long HomeCMDpresence-present-Katrin-PRE.katrin.UNIFI:textField-long HomeCMDpresence-present-Katrin-device:textField-long HomeCMDpresence-present-Katrin:textField-long HomeCMDpresence-present-rg_Anne:textField-long HomeCMDpresence-present-rg_Baerbel:textField-long HomePresenceDeviceAbsentCount-Christian:1,2,3 HomePresenceDeviceAbsentCount-Katrin:1,2,3 HomePresenceDevicePresentCount-Christian:1,2,3 HomePresenceDevicePresentCount-Katrin:1,2,3
attr HomeMode HomeAdvancedUserAttr 1
attr HomeMode HomeAutoAlarmModes 1
attr HomeMode HomeAutoAsleep 10
attr HomeMode HomeAutoAwoken 10
attr HomeMode HomeAutoPresence 1
attr HomeMode HomeCMDmode-absent-resident { my $msgText = ReadingsVal("%RESIDENT%","msgText","-");;;; my $msg = "Bewohner %RESIDENT% ist nun %PRESENTR% - ".$msgText;;;; fhem "msg \@Christian $msg";;;; }
attr HomeMode HomeCMDmode-asleep set SYS.all.Lights off
attr HomeMode HomeCMDmode-asleep-resident { my $msgText = ReadingsVal("%RESIDENT%","msgText","-");;;; my $msg = "Bewohner %RESIDENT% ist nun %PRESENTR% - ".$msgText;;;; fhem "msg \@Christian $msg";;;; }
attr HomeMode HomeCMDmode-awoken-resident { my $msgText = ReadingsVal("%RESIDENT%","msgText","-");;;; my $msg = "Bewohner %RESIDENT% ist nun %PRESENTR% - ".$msgText;;;; fhem "msg \@Christian $msg";;;; }
attr HomeMode HomeCMDmode-gone-resident { my $msgText = ReadingsVal("%RESIDENT%","msgText","-");;;; my $msg = "Bewohner %RESIDENT% ist nun %PRESENTR% - ".$msgText;;;; fhem "msg \@Christian $msg";;;; }
attr HomeMode HomeCMDmode-gotosleep-resident { my $msgText = ReadingsVal("%RESIDENT%","msgText","-");;;; my $msg = "Bewohner %RESIDENT% ist nun %PRESENTR% - ".$msgText;;;; fhem "msg \@Christian $msg";;;; }
attr HomeMode HomeCMDmode-home-resident { my $msgText = ReadingsVal("%RESIDENT%","msgText","-");;;; my $msg = "Bewohner %RESIDENT% ist nun %PRESENTR% - ".$msgText;;;; fhem "msg \@Christian $msg";;;; }
attr HomeMode HomePresenceDeviceAbsentCount-Christian 3
attr HomeMode HomePresenceDeviceAbsentCount-Katrin 3
attr HomeMode HomeSensorTemperatureOutside GV.ab.TF.Blumengitter
attr HomeMode HomeSensorsContact subType=threeStateSensor
attr HomeMode HomeSensorsMotion subType=motionDetector
attr HomeMode HomeTwilightDevice SYS.twilight
attr HomeMode devStateIcon {(HOMEMODE_devStateIcon($name),"toggle")}
attr HomeMode event-on-change-reading .*
attr HomeMode genericDeviceType security
attr HomeMode homebridge inactive
attr HomeMode homebridgeMapping SecuritySystemCurrentState=modeAlarm,values=armhome:0;;armaway:1;;armnight:2;;disarm:3\
SecuritySystemTargetState=SecuritySystemCurrentState,cmds=0:modeAlarm+armhome;;1:modeAlarm+armaway;;2:modeAlarm+armnight;;3:modeAlarm+disarm,delay=1\
SecuritySystemAlarmType=alarmTriggered_ct,values=0:0;;/.*/:1\
OccupancyDetected=presence,values=present:1;;absent:0\
Mute=dnd,valueOn=on,cmds=1:dnd+on;;0:dnd+off\
On=anyoneElseAtHome,valueOn=on,cmds=1:anyoneElseAtHome+on;;0:anyoneElseAtHome+off\
ContactSensorState=contactsOutsideOpen_ct,values=0:0;;/.*/:1\
StatusTampered=sensorsTampered_ct,values=0:0;;/.*/:1\
MotionDetected=motionsInside_ct,values=0:0;;/.*/:1
attr HomeMode icon floor
attr HomeMode room Bewohner
attr HomeMode verbose 5
attr HomeMode webCmd modeAlarm

setstate HomeMode evening
setstate HomeMode 2017-02-19 20:58:34 .humidity 87
setstate HomeMode 2017-02-19 20:54:29 .luminance 10
setstate HomeMode 2017-02-19 20:58:34 .temperature 5.7
setstate HomeMode 2017-02-19 20:55:09 HomeInfo <html>Gefunden wurden 3 übereinstimmende(s) Anwesenheits Gerät(e) vom Devspec "TYPE=PRESENCE" für Bewohner "Christian"! Übereinstimmende Geräte: "PRE.christian.BT,PRE.christian.GEO,PRE.christian.UNIFI"<br>Gefunden wurden 3 übereinstimmende(s) Anwesenheits Gerät(e) vom Devspec "TYPE=PRESENCE" für Bewohner "Katrin"! Übereinstimmende Geräte: "PRE.katrin.BT,PRE.katrin.GEO,PRE.katrin.UNIFI"<br>Gefunden wurden 1 übereinstimmende(s) Anwesenheits Gerät(e) vom Devspec "TYPE=PRESENCE" für Bewohner "rg_Anne"! Übereinstimmende Geräte: "PRE.anne.UNIFI"<br>Gefunden wurden 1 übereinstimmende(s) Anwesenheits Gerät(e) vom Devspec "TYPE=PRESENCE" für Bewohner "rg_Baerbel"! Übereinstimmende Geräte: "PRE.baerbel.UNIFI"<br><br>Falls ein oder mehr Anweseheits Geräte falsch zugeordnet wurden, so benenne diese bitte so um dass die Bewohner Namen (christian,katrin,anne,baerbel) nicht Bestandteil des Namen sind.<br>Nach dem Umbenennen führe einfach "set HomeMode updateInternalsForce" aus um diese Überprüfung zu wiederholen.</html>
setstate HomeMode 2017-02-19 20:45:21 absFeuchte 6.2
setstate HomeMode 2017-02-19 21:05:41 alarmTriggered
setstate HomeMode 2017-02-19 21:05:41 alarmTriggered_ct 0
setstate HomeMode 2017-01-19 13:27:03 anyoneElseAtHome off
setstate HomeMode 2017-02-19 21:05:41 contactsDoorsInsideOpen
setstate HomeMode 2017-02-19 21:05:41 contactsDoorsInsideOpen_ct 0
setstate HomeMode 2017-02-19 21:05:41 contactsDoorsInsideOpen_hr
setstate HomeMode 2017-02-19 21:05:41 contactsDoorsMainOpen
setstate HomeMode 2017-02-19 21:05:41 contactsDoorsMainOpen_ct 0
setstate HomeMode 2017-02-19 21:05:41 contactsDoorsMainOpen_hr
setstate HomeMode 2017-02-19 21:05:41 contactsDoorsOutsideOpen
setstate HomeMode 2017-02-19 21:05:41 contactsDoorsOutsideOpen_ct 0
setstate HomeMode 2017-02-19 21:05:41 contactsDoorsOutsideOpen_hr
setstate HomeMode 2017-02-19 21:05:41 contactsOpen
setstate HomeMode 2017-02-19 21:05:41 contactsOpen_ct 0
setstate HomeMode 2017-02-19 21:05:41 contactsOpen_hr
setstate HomeMode 2017-02-19 21:05:41 contactsOutsideOpen
setstate HomeMode 2017-02-19 21:05:41 contactsOutsideOpen_ct 0
setstate HomeMode 2017-02-19 21:05:41 contactsOutsideOpen_hr
setstate HomeMode 2017-02-19 21:05:41 contactsWindowsOpen
setstate HomeMode 2017-02-19 21:05:41 contactsWindowsOpen_ct 0
setstate HomeMode 2017-02-19 21:05:41 contactsWindowsOpen_hr
setstate HomeMode 2017-02-19 18:00:00 daytime evening
setstate HomeMode 2017-02-19 20:45:21 dewpoint 3.7
setstate HomeMode 2017-01-23 22:46:43 dnd off
setstate HomeMode 2017-02-19 21:05:17 humidity 87
setstate HomeMode 2017-02-19 20:58:34 humidityTrend constant
setstate HomeMode 2017-02-19 10:14:43 icewarning 0
setstate HomeMode 2017-02-19 20:04:09 lastAbsentByPresenceDevice PRE.christian.BT
setstate HomeMode 2017-02-08 13:33:00 lastAbsentByResident Christian
setstate HomeMode 2017-02-19 20:26:52 lastActivityByPresenceDevice PRE.christian.GEO
setstate HomeMode 2017-02-19 20:26:52 lastActivityByResident Christian
setstate HomeMode 2017-02-16 23:09:46 lastAsleepByResident Christian
setstate HomeMode 2017-02-17 09:52:27 lastAwokenByResident Christian
setstate HomeMode 2017-02-08 13:31:07 lastCMDerror error: >Experimental aliasing via reference not enabled at (eval 432195) line 1.\
< in CMD: {\ my $msgText = ReadingsVal("Christian","msgText","-");;;;;;;;\ my $msg = "Bewohner Christian ist nun 1 - ".$msgText;;;;;;;;\ fhem "msg \@Christian $msg";;;;;;;;\ }
setstate HomeMode 2017-02-19 20:05:58 lastContact EG.wz.TK.Terrasse
setstate HomeMode 2017-02-19 20:06:02 lastContactClosed EG.wz.TK.Terrasse
setstate HomeMode 2017-02-16 22:59:46 lastGotoleepByResident Christian
setstate HomeMode 2017-02-19 21:02:28 lastMotion HM_33BB75
setstate HomeMode 2017-02-19 20:40:43 lastMotionClosed OG.ku.BMK.Kueche_Motion
setstate HomeMode 2017-02-19 20:26:52 lastPresentByPresenceDevice PRE.christian.GEO
setstate HomeMode 2017-02-08 13:33:22 lastPresentByResident Christian
setstate HomeMode 2017-02-19 20:55:09 light 0
setstate HomeMode 2017-02-08 13:33:22 location home
setstate HomeMode 2017-02-19 21:05:41 luminance 10
setstate HomeMode 2017-02-19 20:54:29 luminanceTrend constant
setstate HomeMode 2017-02-19 18:00:00 mode evening
setstate HomeMode 2017-02-14 14:00:02 modeAlarm disarm
setstate HomeMode 2017-02-19 21:05:41 motionsInside EG.fl.BMK.Flur_Motion,EG.ku.BMK.Kueche_Motion,HM_33BB75,KG.fl.BMK.Flur_Motion,KG.sb.BMK.Schwimmbad_Motion,OG.ku.BMK.Kueche_Motion
setstate HomeMode 2017-02-19 21:05:41 motionsInside_ct 6
setstate HomeMode 2017-02-19 21:05:41 motionsInside_hr EGFlur - Bewegungsmelder (Kabel), Bewegung, HM_33BB75, KGFlur - Bewegungsmelder (Kabel), Schwimmbad - Bewegungsmelder (Kabel) and OGKueche - Bewegungsmelder (Kabel)
setstate HomeMode 2017-02-19 21:05:41 motionsOutside
setstate HomeMode 2017-02-19 21:05:41 motionsOutside_ct 0
setstate HomeMode 2017-02-19 21:05:41 motionsOutside_hr
setstate HomeMode 2017-02-19 21:05:41 motionsSensors EG.fl.BMK.Flur_Motion,EG.ku.BMK.Kueche_Motion,HM_33BB75,KG.fl.BMK.Flur_Motion,KG.sb.BMK.Schwimmbad_Motion,OG.ku.BMK.Kueche_Motion
setstate HomeMode 2017-02-19 21:05:41 motionsSensors_ct 6
setstate HomeMode 2017-02-19 21:05:41 motionsSensors_hr EGFlur - Bewegungsmelder (Kabel), Bewegung, HM_33BB75, KGFlur - Bewegungsmelder (Kabel), Schwimmbad - Bewegungsmelder (Kabel) and OGKueche - Bewegungsmelder (Kabel)
setstate HomeMode 2017-02-08 13:33:22 presence present
setstate HomeMode 2017-02-19 20:26:52 prevActivityByResident Christian
setstate HomeMode 2017-02-19 20:05:58 prevContact EG.wz.TK.Terrasse
setstate HomeMode 2017-02-19 20:06:02 prevContactClosed EG.wz.TK.Terrasse
setstate HomeMode 2017-02-07 15:22:27 prevLocation arrival
setstate HomeMode 2017-02-19 18:00:00 prevMode afternoon
setstate HomeMode 2017-02-17 11:05:59 prevModeAlarm disarm
setstate HomeMode 2017-02-19 21:02:28 prevMotion HM_33BB75
setstate HomeMode 2017-02-19 20:40:43 prevMotionClosed KG.sb.BMK.Schwimmbad_Motion
setstate HomeMode 2017-01-08 14:59:33 season winter
setstate HomeMode 2017-02-19 21:05:41 sensorsTampered
setstate HomeMode 2017-02-19 21:05:41 sensorsTampered_ct 0
setstate HomeMode 2017-02-19 21:05:41 sensorsTampered_hr
setstate HomeMode 2017-02-19 18:00:00 state evening
setstate HomeMode 2017-02-19 21:05:17 temperature 5.7
setstate HomeMode 2017-02-19 20:58:34 temperatureTrend constant
setstate HomeMode 2017-02-19 21:00:08 twilight 0
setstate HomeMode 2017-02-19 20:55:09 twilightEvent ss_astro
[/s]


Ach und nochwas, FHEM ist danach gecrasht und wir neugestartet ... was leider nicht so schön ist  :-\


Danke und Grüße

Christian[/s]
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota

DeeSPe

Zitat von: Schlimbo am 19 Februar 2017, 19:26:26
Edit:
Es funktioniert jetzt! :)
Schuld war das "HomeValues" Attribut am Sensor. Dieses wird ja vorrangig zum "HomeSensorsContactValues" verwendet.
Verstehen aber trotzdem nicht so ganz, was daran falsch war/ist.
Dieses verhalten ist auch reproduzierbar,  sobald ich das Attribut am Sensor setzte funktioniert es nicht mehr.

Das ist eigentlich unmöglich! Habe soeben noch einmal den Code geprüft und kann kein Problem feststellen. An allen Stellen wo das benutzt wird ist attr HomeValues mit Fallback auf attr HomeSensorsContactValues definiert.
Du bist auch der Erste der sich diesbezüglich beschwert, bei allen Anderen scheint es zu klappen. ;)

Zitat von: Schlimbo am 19 Februar 2017, 21:04:33
Noch eine Frage zu der Doku:
Was hat es mit der Variable %TOBE% auf sich?

Das ist immer passend zur Weather Condition.
Es IST Regen......
Es SIND Regen und Schnee......

Es wird Normalerweise in englisch ausgegeben, aber es ziehen eben auch die Übersetzungen aus HomeTextIs und HomeTextAre.

Zitat von: Schlimbo am 19 Februar 2017, 21:04:33
Und noch ein Frage zum Beispielcode von "HomeCMDcontactDoormainClosed":
Wo kommt hier die Variable %FEIERTAG% her, konnte hierzu nichts finden.

Schau Dir mal das Attribut HomeEventsHolidayDevices und speziell das Zitat in der Doku dazu an.
Vielleicht wird es Dir dann klarer.

Zitat von: Schlimbo am 19 Februar 2017, 21:04:33
In der Doku ist mir noch ein kleiner copy/paste Fehler aufgefallen.
Das zweite HomeTextAre sollte HomeTextClosed heißen:

Danke! Ist berichtigt! 8)

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

Schlimbo

Hallo Dan,
Ich bin der Sache gerade noch mal etwas auf dem Grund gegangen.
Damit ich im Log auch sehe, was geschieht habe ich HomeCMDcontactDoormain auf:
{
  my $state = "%STATE%";
  my $alias = "%ALIAS%";
  $alias =~ s/d/D/;
  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");
}
gesetzt.

Hier ein Auszug aus dem Log mit gesetzten Attribut
attr MAX_Wohnungstuere HomeValues opened
2017.02.19 23:21:34.012 5: HM: Events from monitored device MAX_Wohnungstuere: $VAR1 = 'state: opened';

2017.02.19 23:21:34.021 5: HM: Events from monitored device HM: $VAR1 = 'prevContact: Schlafzimmer_Fensterkontakt';
$VAR2 = 'lastContact: MAX_Wohnungstuere';

2017.02.19 23:21:34.099 5: HM: cmd: {
  my $state = "geschlossen";
  my $alias = "die Wohnungstüre";
  $alias =~ s/d/D/;
  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");
}
2017.02.19 23:21:34.100 5: HM: cmdline: {
2017.02.19 23:21:34.101 5: HM: cmdline:  my $state = "geschlossen";
2017.02.19 23:21:34.101 5: HM: cmdline:  my $alias = "die Wohnungstüre";
2017.02.19 23:21:34.102 5: HM: cmdline:  $alias =~ s/d/D/;
2017.02.19 23:21:34.102 5: HM: cmdline:  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");
2017.02.19 23:21:34.102 5: HM: cmdline: }
2017.02.19 23:21:34.103 5: HM: cmdnew: {  my $state = "geschlossen";  my $alias = "die Wohnungstüre";  $alias =~ s/d/D/;  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!"); }
2017.02.19 23:21:34.108 3: HomeMode:HomeCMDcontactDoormain: Die Wohnungstüre ist nun geschlossen!
2017.02.19 23:21:34.109 4: executed CMDs: {  my $state = "geschlossen";;  my $alias = "die Wohnungstüre";;  $alias =~ s/d/D/;;  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");; }
2017.02.19 23:21:34.126 5: HM: Events from monitored device HM: $VAR1 = 'contactsDoorsMainOpen: MAX_Wohnungstuere';
$VAR2 = 'contactsDoorsMainOpen_ct: 1';
$VAR3 = 'contactsDoorsMainOpen_hr: Die Wohnungstüre';
$VAR4 = 'contactsOpen: MAX_Schlafzimmertuere,MAX_Tuerschloss,MAX_Wohnungstuere,Schlafzimmer_Fensterkontakt';
$VAR5 = 'contactsOpen_ct: 4';
$VAR6 = 'contactsOpen_hr: Die Schlafzimmer Türe, Wohnungsschloss, die Wohnungstüre und das Schlafzimmer Fenster';
$VAR7 = 'contactsOutsideOpen: MAX_Wohnungstuere,Schlafzimmer_Fensterkontakt';
$VAR8 = 'contactsOutsideOpen_ct: 2';
$VAR9 = 'contactsOutsideOpen_hr: Die Wohnungstüre und das Schlafzimmer Fenster';

2017.02.19 23:21:37.663 5: HM: Events from monitored device MAX_Wohnungstuere: $VAR1 = 'state: closed';

2017.02.19 23:21:37.689 5: HM: cmd: {
  my $state = "geschlossen";
  my $alias = "die Wohnungstüre";
  $alias =~ s/d/D/;
  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");
}
2017.02.19 23:21:37.690 5: HM: cmdline: {
2017.02.19 23:21:37.690 5: HM: cmdline:  my $state = "geschlossen";
2017.02.19 23:21:37.691 5: HM: cmdline:  my $alias = "die Wohnungstüre";
2017.02.19 23:21:37.691 5: HM: cmdline:  $alias =~ s/d/D/;
2017.02.19 23:21:37.691 5: HM: cmdline:  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");
2017.02.19 23:21:37.691 5: HM: cmdline: }
2017.02.19 23:21:37.692 5: HM: cmdnew: {  my $state = "geschlossen";  my $alias = "die Wohnungstüre";  $alias =~ s/d/D/;  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!"); }
2017.02.19 23:21:37.696 3: HomeMode:HomeCMDcontactDoormain: Die Wohnungstüre ist nun geschlossen!
2017.02.19 23:21:37.696 4: executed CMDs: {  my $state = "geschlossen";;  my $alias = "die Wohnungstüre";;  $alias =~ s/d/D/;;  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");; }
2017.02.19 23:21:37.710 5: HM: Events from monitored device HM: $VAR1 = 'contactsDoorsMainOpen: ';
$VAR2 = 'contactsDoorsMainOpen_ct: 0';
$VAR3 = 'contactsDoorsMainOpen_hr: ';
$VAR4 = 'contactsOpen: MAX_Schlafzimmertuere,MAX_Tuerschloss,Schlafzimmer_Fensterkontakt';
$VAR5 = 'contactsOpen_ct: 3';
$VAR6 = 'contactsOpen_hr: Die Schlafzimmer Türe, Wohnungsschloss und das Schlafzimmer Fenster';
$VAR7 = 'contactsOutsideOpen: Schlafzimmer_Fensterkontakt';
$VAR8 = 'contactsOutsideOpen_ct: 1';
$VAR9 = 'contactsOutsideOpen_hr: Das Schlafzimmer Fenster'


Und hier ohne dem Attribut am Sensor:
2017.02.19 23:28:13.874 5: HM: Events from monitored device MAX_Wohnungstuere: $VAR1 = 'state: opened';

2017.02.19 23:28:13.883 5: HM: Events from monitored device HM: $VAR1 = 'prevContact: MAX_Wohnungstuere';

2017.02.19 23:28:13.957 5: HM: cmd: {
  my $state = "geöffnet";
  my $alias = "die Wohnungstüre";
  $alias =~ s/d/D/;
  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");
}
2017.02.19 23:28:13.958 5: HM: cmdline: {
2017.02.19 23:28:13.959 5: HM: cmdline:  my $state = "geöffnet";
2017.02.19 23:28:13.959 5: HM: cmdline:  my $alias = "die Wohnungstüre";
2017.02.19 23:28:13.959 5: HM: cmdline:  $alias =~ s/d/D/;
2017.02.19 23:28:13.960 5: HM: cmdline:  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");
2017.02.19 23:28:13.960 5: HM: cmdline: }
2017.02.19 23:28:13.960 5: HM: cmdnew: {  my $state = "geöffnet";  my $alias = "die Wohnungstüre";  $alias =~ s/d/D/;  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!"); }
2017.02.19 23:28:13.965 3: HomeMode:HomeCMDcontactDoormain: Die Wohnungstüre ist nun geöffnet!
2017.02.19 23:28:13.966 4: executed CMDs: {  my $state = "geöffnet";;  my $alias = "die Wohnungstüre";;  $alias =~ s/d/D/;;  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");; }
2017.02.19 23:28:13.981 5: HM: Events from monitored device HM: $VAR1 = 'contactsDoorsMainOpen: MAX_Wohnungstuere';
$VAR2 = 'contactsDoorsMainOpen_ct: 1';
$VAR3 = 'contactsDoorsMainOpen_hr: Die Wohnungstüre';
$VAR4 = 'contactsOpen: MAX_Schlafzimmertuere,MAX_Tuerschloss,MAX_Wohnungstuere,Schlafzimmer_Fensterkontakt';
$VAR5 = 'contactsOpen_ct: 4';
$VAR6 = 'contactsOpen_hr: Die Schlafzimmer Türe, Wohnungsschloss, die Wohnungstüre und das Schlafzimmer Fenster';
$VAR7 = 'contactsOutsideOpen: MAX_Wohnungstuere,Schlafzimmer_Fensterkontakt';
$VAR8 = 'contactsOutsideOpen_ct: 2';
$VAR9 = 'contactsOutsideOpen_hr: Die Wohnungstüre und das Schlafzimmer Fenster';

2017.02.19 23:28:19.128 5: HM: Events from monitored device MAX_Wohnungstuere: $VAR1 = 'state: closed';

2017.02.19 23:28:19.163 5: HM: cmd: {
  my $state = "geschlossen";
  my $alias = "die Wohnungstüre";
  $alias =~ s/d/D/;
  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");
}
2017.02.19 23:28:19.164 5: HM: cmdline: {
2017.02.19 23:28:19.164 5: HM: cmdline:  my $state = "geschlossen";
2017.02.19 23:28:19.165 5: HM: cmdline:  my $alias = "die Wohnungstüre";
2017.02.19 23:28:19.165 5: HM: cmdline:  $alias =~ s/d/D/;
2017.02.19 23:28:19.165 5: HM: cmdline:  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");
2017.02.19 23:28:19.166 5: HM: cmdline: }
2017.02.19 23:28:19.166 5: HM: cmdnew: {  my $state = "geschlossen";  my $alias = "die Wohnungstüre";  $alias =~ s/d/D/;  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!"); }
2017.02.19 23:28:19.171 3: HomeMode:HomeCMDcontactDoormain: Die Wohnungstüre ist nun geschlossen!
2017.02.19 23:28:19.172 4: executed CMDs: {  my $state = "geschlossen";;  my $alias = "die Wohnungstüre";;  $alias =~ s/d/D/;;  Log 3, ("HomeMode:HomeCMDcontactDoormain: $alias ist nun $state!");; }
2017.02.19 23:28:19.187 5: HM: Events from monitored device HM: $VAR1 = 'contactsDoorsMainOpen: ';
$VAR2 = 'contactsDoorsMainOpen_ct: 0';
$VAR3 = 'contactsDoorsMainOpen_hr: ';
$VAR4 = 'contactsOpen: MAX_Schlafzimmertuere,MAX_Tuerschloss,Schlafzimmer_Fensterkontakt';
$VAR5 = 'contactsOpen_ct: 3';
$VAR6 = 'contactsOpen_hr: Die Schlafzimmer Türe, Wohnungsschloss und das Schlafzimmer Fenster';
$VAR7 = 'contactsOutsideOpen: Schlafzimmer_Fensterkontakt';
$VAR8 = 'contactsOutsideOpen_ct: 1';
$VAR9 = 'contactsOutsideOpen_hr: Das Schlafzimmer Fenster'


Zitat von: DeeSPe am 19 Februar 2017, 22:53:55
Das ist immer passend zur Weather Condition.
Es IST Regen......
Es SIND Regen und Schnee......

Es wird Normalerweise in englisch ausgegeben, aber es ziehen eben auch die Übersetzungen aus HomeTextIs und HomeTextAre.
Danke für die Erklärung, jetzt habe ich es verstanden. :)
Zitat von: DeeSPe am 19 Februar 2017, 22:53:55
Schau Dir mal das Attribut HomeEventsHolidayDevices und speziell das Zitat in der Doku dazu an.
Vielleicht wird es Dir dann klarer.
ZitatHomeEventsHolidayDevices
Hier ist ein Devspec von holiday Device(s) anzugeben.
Zitat
Ich empfehle die holiday Dateinen in Großbuchstaben anzulegen, da dann die daraus resultierenden Platzhalter ebenfalls Großbuchstaben sind und somit zu den anderen Platzhaltern passen.
Verstehe ich das richtig, dass dein holiday Device einfach den Namen "FEIERTAG" (Datenamei FEIERTAG.holiday) hat und deswegen die variable bei dir %FEIERTAG% heißt?

Gruß Schlimbo

DeeSPe

Zitat von: Schlimbo am 20 Februar 2017, 00:05:32
Hallo Dan,
Ich bin der Sache gerade noch mal etwas auf dem Grund gegangen.

Bin der Sache heute Nacht auch nachgegangen und habe evtl. Schwachstellen entdeckt.
Ich schicke Dir gleich mal eine PN dazu.

Zitat von: Schlimbo am 20 Februar 2017, 00:05:32
Verstehe ich das richtig, dass dein holiday Device einfach den Namen "FEIERTAG" (Datenamei FEIERTAG.holiday) hat und deswegen die variable bei dir %FEIERTAG% heißt?

Genauuuuuuu..... 8)

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

DeeSPe

Zitat von: binford6000 am 19 Februar 2017, 13:45:59
Hi Dan,
auf Calendar warte ich sehnsüchtig!!  :D

Was mir noch fehlt - vielleicht habe ich es auch nur übersehen - ist sowas wie eine "do-always" Funktion.
Oder um es mal in Homemode zu formulieren:

attr <name> HomeCMDmode-doalways
oder vielleicht auch sowas wie
attr <name> HomeCMDmode-do-for-interval
wobei intervall konfigurierbar sein sollte.

VG Sebastian

Sorry, zwischen Schlimbo seinen ganzen Antworten ist mir Deine irgendwie untergegangen. :-[

Ich denke dass ich mich nächste Woche mal mit Calendar und UWZ befasse.

Was meinst Du mit doalways?

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

binford6000

ZitatWas meinst Du mit doalways?

Hi Dan,
ich meine damit Funktionen oder Abfragen, welche ständig oder in (definierbaren) Intervalllen
vom HOMEMODE Modul durchgeführt werden.

ZitatHomeCMDdaytime
Befehle die ausgeführt werden sollen sobald sich die Tageszeit (daytime) auf einen beliebigen Wert ändert.
Um die jeweilige eingetretene Tageszeit zu ermitteln ist der Platzhalter %DAYTIME% vorgesehen.
Auslöser: Änderung der Tageszeit (daytime)

HomeCMDdaytime-<afternoon/day/evening/morning/night>
Befehle die ausgeführt werden sollen sobald die jeweilige Tageszeit (daytime) erreicht ist.
Auslöser: Änderung der Tageszeit (daytime) auf bestimmten Wert
Bei "night" könnte man z.B. die Heizung bewohnerunabhängig ausschalten, bei "morning" wieder ein.

Hier werden Aktionen zu einem bestimmten Zeitpunkt ausgeführt.
Gibt es die Möglichkeit, Aktionen/Abfragen in einem Zeitraum auszuführen?

Korrigiere mich bitte wenn ich das falsch interpretiert habe  ;)

VG Sebastian

DeeSPe

Zitat von: binford6000 am 22 Februar 2017, 11:46:39
Hi Dan,
ich meine damit Funktionen oder Abfragen, welche ständig oder in (definierbaren) Intervalllen
vom HOMEMODE Modul durchgeführt werden.

Hier werden Aktionen zu einem bestimmten Zeitpunkt ausgeführt.
Gibt es die Möglichkeit, Aktionen/Abfragen in einem Zeitraum auszuführen?

Korrigiere mich bitte wenn ich das falsch interpretiert habe  ;)

VG Sebastian

Sorry, verstehe ich immer noch nicht so richtig. :o
Woher soll der Zeitraum kommen?
Erkläre doch mal bitte konkret was Du erreichen willst, dann kann ich mir das besser vorstellen und dazu was überlegen.

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

binford6000

ZitatErkläre doch mal bitte konkret was Du erreichen willst, dann kann ich mir das besser vorstellen und dazu was überlegen.

Mein konkreter Verwendungszweck wäre die zentrale Lichtsteuerung auf Basis von Anwesenheit und Helligkeit.
Aktuell habe ich das in einem DIOF mit LIGHTSCENE und 6 HUEDEVICEs stecken. Und da hier ständig geschaut wird, ob es noch hell genug ist bzw. ob sich die Anwesenheit geändert hat, kann ich es imho momentan leider nicht mit in HOMEMODE packen...

Oder vielleicht hast Du ja noch einen Tipp für mich wie es doch jetzt schon geht...?  ;)

VG Sebastian