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

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

Vorheriges Thema - Nächstes Thema

l2r

ja da hast du vermutlich Recht und so werde ich mir auch erstmal behelfen und nochmal weiter drüber nachdenken.

Danke trotzdem.

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

DeeSPe

Soeben habe ich das aktuelle Modul für alle im master Branch veröffentlicht.

!!! ACHTUNG !!!
Die Übersetzungsattribute HomeText haben sich verändert und müssen von Euch angepasst werden.
Es wurden nun mehrere Übersetzungen in einem Attribut zusammengefasst, Details siehe commandref im Modul.


Changelog:
v0.262

  • added UWZ integration (experimental)
  • added attribute HomeSeasons
  • changed translation attributes HomeText
  • added attribute HomeModeAlarmArmDelay
  • added attribute HomeDaytimes for custom daytimes
  • added more general informations to commandref

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

Diggewuff

Bei mir scheint HomeAutoPresence nicht richtig zu funktionieren.
die PRESENCE Devices sind alle richtig erkannt worden
Found 2 matching presence devices of devspec "TYPE=PRESENCE" for resident "rr_Joscha"! Matching devices: "JoschaFoyer,JoschaWohnzimmer"
Found 2 matching presence devices of devspec "TYPE=PRESENCE" for resident "rr_Joshua"! Matching devices: "JoshuaFoyer,JoshuaWohnzimmer"
Found 2 matching presence devices of devspec "TYPE=PRESENCE" for resident "rr_Sarah"! Matching devices: "SarahFoyer,SarahWohnzimmer"

If any recognized presence device is wrong, please rename this device so that it will NOT match the residents names (joscha,joshua,sarah) somewhere in the device name.
After renaming simply execute "set Homemode updateInternalsForce" to redo this check.

und die Attribute sind auch gesetzt.
HomeAutoPresence 1
HomePresenceDeviceAbsentCount-rr_Joscha 2
HomePresenceDeviceAbsentCount-rr_Joshua 2
HomePresenceDeviceAbsentCount-rr_Sarah 2


alerdings schalten die rr_* bei einem Wechsel der PRESENCE's nicht um.

Habe ich in der Definition evtl. irgendetwas vergessen?

DeeSPe

Hmm, das funktioniert eigentlich wie es soll.

Bei "HomePresenceDeviceAbsentCount-rr_* 2" müssen aber wirklich beide Devices absent sein damit auch die rr_* auf absent gehen.
Waren immer beide absent bei Deinem Test?

Wenn es nicht daran liegt, gib mal list(s) von z.B. JoschaFoyer und JoschaWohnzimmer.

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

Diggewuff

#364
Es wahren immer beide auf absent. Wie komme ich an die von die benötigten list's?

DeeSPe

Zitat von: Diggewuff am 07 April 2017, 09:54:48
Es wahren immer beide auf abcent. Wie komme ich an die von die benötigten list's?

Das ist doch überall erklärt!
Jeweils in das FHEM Eingabefeld (und mit Enter bestätigen):
list JoschaFoyer
list JoschaWohnzimmer

Beides bitte in Code-Tags hier posten.

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

Diggewuff

#366
Sorry, hier die lists.

Internals:
   ADDRESS    B0:70:2D:73:A1:C7
   CHANGED
   DEF        local-bluetooth B0:70:2D:73:A1:C7 17 45
   MODE       local-bluetooth
   NAME       JoschaFoyer
   NOTIFYDEV  global
   NR         60
   NTFY_ORDER 50-JoschaFoyer
   STATE      absent
   TIMEOUT_NORMAL 17
   TIMEOUT_PRESENT 45
   TYPE       PRESENCE
   Readings:
     2017-04-07 10:00:55   device_name     Joschas iPhone
     2017-04-07 11:32:23   presence        absent
     2017-04-07 11:32:23   state           absent
   Helper:
     ABSENT_COUNT 1
     CURRENT_STATE present
Attributes:
   absenceThreshold 2
   bluetooth_hci_device hci1
   event-on-change-reading state
   group      Lokalisierung Bluetooth
   icon       people_sensor
   room       Anwesenheit,Residents
   verbose    3

Internals:
   ADDRESS    B0:70:2D:73:A1:C7
   CHANGED
   DEF        local-bluetooth B0:70:2D:73:A1:C7 30 45
   MODE       local-bluetooth
   NAME       JoschaWohnzimmer
   NOTIFYDEV  global
   NR         58
   NTFY_ORDER 50-JoschaWohnzimmer
   STATE      absent
   TIMEOUT_NORMAL 30
   TIMEOUT_PRESENT 45
   TYPE       PRESENCE
   Readings:
     2017-04-07 10:00:31   device_name     Joschas iPhone
     2017-04-07 11:30:37   presence        absent
     2017-04-07 11:30:37   state           absent
   Helper:
     ABSENT_COUNT 1
     CURRENT_STATE present
Attributes:
   absenceThreshold 2
   bluetooth_hci_device hci0
   event-on-change-reading state
   group      Lokalisierung Bluetooth
   icon       people_sensor
   room       Anwesenheit,Residents
   verbose    3

Danke für die Hilfe.

DeeSPe

Zitat von: Diggewuff am 07 April 2017, 11:38:10
Sorry, hier die lists.

Internals:
   ADDRESS    B0:70:2D:73:A1:C7
   CHANGED
   DEF        local-bluetooth B0:70:2D:73:A1:C7 17 45
   MODE       local-bluetooth
   NAME       JoschaFoyer
   NOTIFYDEV  global
   NR         60
   NTFY_ORDER 50-JoschaFoyer
   STATE      absent
   TIMEOUT_NORMAL 17
   TIMEOUT_PRESENT 45
   TYPE       PRESENCE
   Readings:
     2017-04-07 10:00:55   device_name     Joschas iPhone
     2017-04-07 11:32:23   presence        absent
     2017-04-07 11:32:23   state           absent
   Helper:
     ABSENT_COUNT 1
     CURRENT_STATE present
Attributes:
   absenceThreshold 2
   bluetooth_hci_device hci1
   event-on-change-reading state
   group      Lokalisierung Bluetooth
   icon       people_sensor
   room       Anwesenheit,Residents
   verbose    3

Internals:
   ADDRESS    B0:70:2D:73:A1:C7
   CHANGED
   DEF        local-bluetooth B0:70:2D:73:A1:C7 30 45
   MODE       local-bluetooth
   NAME       JoschaWohnzimmer
   NOTIFYDEV  global
   NR         58
   NTFY_ORDER 50-JoschaWohnzimmer
   STATE      absent
   TIMEOUT_NORMAL 30
   TIMEOUT_PRESENT 45
   TYPE       PRESENCE
   Readings:
     2017-04-07 10:00:31   device_name     Joschas iPhone
     2017-04-07 11:30:37   presence        absent
     2017-04-07 11:30:37   state           absent
   Helper:
     ABSENT_COUNT 1
     CURRENT_STATE present
Attributes:
   absenceThreshold 2
   bluetooth_hci_device hci0
   event-on-change-reading state
   group      Lokalisierung Bluetooth
   icon       people_sensor
   room       Anwesenheit,Residents
   verbose    3

Danke für die Hilfe.

Das Problem ist "event-on-change-reading state".
Es wird aber presence von HOMEMODE ausgewertet.
Setz mal "event-on-change-reading presence,state", dann sollte es funktionieren.

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

Diggewuff

Hat geklappt, wunderbar, vielen dank. Damitt fliegen noch 5 DOIFs raus, das Modul ist echt der hammer. Danke ;D

DeeSPe

Ich werde ab der kommenden Woche ein paar Umbauten an dem Modul vornehmen.
Leider habe ich nämlich in den letzten Testwochen eine "unschöne" Nebenwirkung des Moduls bemerkt welches die Kontakt- und Bewegungssensoren angeht. Ich staune dass das außer mir sonst noch niemand bemerkt hat. ???
Lasse ich mal ein Fenster offen stehen wenn ich weggehe, so werde ich alle paar Sekunden von entsprechenden Warnmeldungen "genervt", welche eigentlich nur einmalig pro Sensor kommen soll(t)en.
Es hat nun eine Weile gebraucht bis ich herausbekommen habe woher das kommt, denn es tritt in meiner Testumgebung nicht auf.
Grund dafür ist eine Schwachstelle des Moduls in der NotifyFn, welche mir schon früher mal bewusst geworden war. Sie lässt einfach zu viele ungefilterte Events durch und triggert dadurch die Funktion welche die Kontakte und BWMs analysiert zu oft, nämlich auch wenn andere Readings eben dieser Devices aktualisiert werden. In meiner Testumgebung sind diese Devices nur dummy(s) und haben nur ein Reading, deswegen ist es da nie aufgefallen! 8)

Wie gesagt, ich bin mir des Problems bewußt und werde das auch ändern, muss mir dazu aber erstmal eine passende Strategie ausdenken und dann in Code umsetzen. :o
Das Schöne (für mich) daran ist, dass das eine gute Vorbereitung für die Integration weiterer Device Typen und somit einer strikteren Trennung ist.

Ich hoffe niemand außer mir wurde bisher so genervt von den ständigen wiederkehrenden Alarmmeldungen, denn das soll so eigentlich nicht sein!

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

C0mmanda

Konnte das Problem nicht feststellen. Hatte in den letzten Tagen öfters ein Fenster bei Abwesenheit offen aber nicht alle paar Sekunden eine Benachrichtigung erhalten...

Wenn du da abe rumschraubsr, wäre es evtl möglich seperate Helligkeitssensoren zu unterstützen?
"Muss" meine Helligkeitssensoren (1-wire) aktuell unter Bewegungsmelder einrichten damit das zentrale luminance-Reading von Homemode gefüttert wird.

Nur so als Idee ;)


Grtz
CmdA

DeeSPe

Zitat von: C0mmanda am 07 April 2017, 22:30:07
Wenn du da abe rumschraubsr, wäre es evtl möglich seperate Helligkeitssensoren zu unterstützen?
"Muss" meine Helligkeitssensoren (1-wire) aktuell unter Bewegungsmelder einrichten damit das zentrale luminance-Reading von Homemode gefüttert wird.

Nur so als Idee ;)

Das ist sogar die Konsequenz daraus.
Wenn das so klappt wie ich mir das denke, so wird es dann möglich/nötig sein für unterschiedliche Funktionen von HOMEMODE Geräte mehrfach zu konfigurieren. Dabei wird dann auf jeden Fall auch die Helligkeitsberechnung von den BWMs separiert.

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

bstaeheli

Erstmals vielen Dank für dieses Modul!

Habe eine Frage. In deinem Beispiel zu HomeCMDcontactDoormainClosed verwendest du den Platzhalter
%FEIERTAG%

Das finde ich eine coole Idee, nur bei mir wird dies nicht ersetzt sondern Sonos spricht dann:
ZitatGuten Prozent Feiertag Prozent Abend Boris

Habe auch schon %EVENT% ausprobiert, funktioniert aber nicht.

Muss ich hier noch etwas einrichten? Ein Kalender ist eingerichtet.

Gruss
Boris

DeeSPe

Zitat von: bstaeheli am 11 April 2017, 18:15:39
Erstmals vielen Dank für dieses Modul!

Habe eine Frage. In deinem Beispiel zu HomeCMDcontactDoormainClosed verwendest du den Platzhalter
%FEIERTAG%

Das finde ich eine coole Idee, nur bei mir wird dies nicht ersetzt sondern Sonos spricht dann:
Habe auch schon %EVENT% ausprobiert, funktioniert aber nicht.

Muss ich hier noch etwas einrichten? Ein Kalender ist eingerichtet.

Gruss
Boris

https://forum.fhem.de/index.php/topic,64317.msg605976/topicseen.html#msg605976

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

bstaeheli

#374
Danke, man müsste deine Referenz besser lesen:
Zitat%CALENDAR%
name of the calendar