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

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

Vorheriges Thema - Nächstes Thema

darkness

Ich dachte dass ich die Tageszeit manuell setzte und so evtl Szenen triggern kann.



docspider

Hallo Dan,

bin gestern per Zufall auf dieses neue Modul gestossen. Ich bin zwar noch kein FHEM Profi aber selbst ich habe mich schnell einlesen können und ohne Probleme installieren können. Eigentlich hatte ich nur nach einer automatischen Jahreszeiten Verwaltung gesucht die ich Zur Zeit manuell per Dummy einstelle. Jetzt noch so viel mehr!

Heute schon der erste Test mit der Abwesenheitserkennung. Genau wie beschrieben gestern durchgeführt und läuft genauso wie ich mir es vorgestellt habe. Klasse!
Dann gestern auch noch gleich die anderen Devices wie Aussentempfühler, mehrere Kontakt Sensoren, Holiday Kalender und Wetter usw. implementiert. Alle Informationen wie gewünscht. Jetzt muss ich nur noch die Informationen in das "tägliche Leben" integrieren.   :D

Klasse Arbeit! Hoffe auch dass das Modul dann irgendwann in die FHEM Updates aufgenommen werden können da sicherlich noch einige Ideen und Verbesserungen einfliesen werden.

Viele Grüße und Danke für das Modul!

Rolf




DeeSPe

Hi Rolf,

danke dass Du dem Modul eine Chance gibst und so viele positive Nebeneffekte erzielen konntest.

Und vor Allem Danke dass Du Dir die Zeit genommen hast ein paar Zeilen Feedback zu schreiben.
Denn das ist für "uns Entwickler" das Wertvollste!

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

Esjay

Hi, ich habe jetzt schon etwas länger geguckt, aber ich komme noch nicht so richtig zurecht.
Ich wollte mit etwas einfachem anfangen. Sprich 2 Fensterkontakte überwachen. Wenn ich es richtig verstehe, muss ich das Attribut HomeSensorsContact setzen. Traurig,aber da scheitert es schon dran.
Hier mal ein list der beiden Kontakte

Internals:
   DEF        ShutterContact 10cb79
   IODev      Max_Steuerung
   LASTInputDev Max_Steuerung
   MSGCNT     2
   Max_Steuerung_MSGCNT 2
   Max_Steuerung_TIME 2017-02-17 10:08:07
   NAME       MAX_10cb79
   NR         70
   RSSI       -72.5
   STATE      closed
   TYPE       MAX
   addr       10cb79
   rferror    0
   type       ShutterContact
   Readings:
     2017-02-17 10:08:07   RSSI            -72.5
     2017-02-17 10:08:07   battery         ok
     2017-02-17 10:08:07   onoff           0
     2017-02-17 10:08:07   state           closed
   Internals:
     interfaces switch_active;battery
Attributes:
   IODev      Max_Steuerung
   alias      Schlafzimmer_Fenster
   genericDeviceType window
   group      Fenster
   room       Schlafzimmer


Internals:
   DEF        ShutterContact 002202
   IODev      Max_Steuerung
   LASTInputDev Max_Steuerung
   MSGCNT     33
   Max_Steuerung_MSGCNT 33
   Max_Steuerung_TIME 2017-02-17 10:34:24
   NAME       Terassen_Tuer
   NR         24
   RSSI       -59
   STATE      closed
   TYPE       MAX
   addr       002202
   backend    Max_Steuerung
   rferror    0
   type       ShutterContact
   Readings:
     2017-02-17 10:34:24   RSSI            -59
     2017-02-17 10:34:24   battery         ok
     2017-02-17 10:34:24   onoff           0
     2017-02-17 10:34:24   state           closed
   Internals:
     interfaces switch_active;battery
Attributes:
   IODev      Max_Steuerung
   group      Fenster
   room       Wohnzimmer


Wie genau muss das Attribut den nun aussehen?

Danke fürs erleuchten!

FranzB94

Hi Esjay!

Das mit dem Attribut HomeSensorsContact ist schon der richtige Weg. In diesem Attribut der HOMEMODE-Definition musst du die beiden Sensoren "ShutterContact 10cb79" und "ShutterContact 002202" eintragen. Nach dem abspeichern hast du in den Definitionen der beiden Kontakte neue "userattr". Hier kannst du weitere Einstellungen vornehmen. In den Readings der HOMEMODE-Definition siehst du die Ergebnisse und mit den HomeCMD-Einstellungen kanst du darauf reagieren.

Gruß Franz 

Esjay

#200
Zitat von: FranzB94 am 17 Februar 2017, 13:08:05
Hi Esjay!

Das mit dem Attribut HomeSensorsContact ist schon der richtige Weg. In diesem Attribut der HOMEMODE-Definition musst du die beiden Sensoren "ShutterContact 10cb79" und "ShutterContact 002202" eintragen. Nach dem abspeichern hast du in den Definitionen der beiden Kontakte neue "userattr". Hier kannst du weitere Einstellungen vornehmen. In den Readings der HOMEMODE-Definition siehst du die Ergebnisse und mit den HomeCMD-Einstellungen kanst du darauf reagieren.

Gruß Franz
Danke für deine Bereitschaft zur Hilfe. Das war auch mein Ansatz, allerdings erhalte ich dann die Meldung ShutterContact 10cb79 must be a valid devspec.

Zitat von: DeeSPe am 17 Februar 2017, 13:33:49
Richtig!

In der Dokumentation steht doch eindeutig dass jede Form von Devspec erlaubt ist.

Gruß
Dan

Kaum macht man es richtig. Danke für das Modul Dan

Gruß

DeeSPe

Zitat von: Esjay am 17 Februar 2017, 11:01:44
Wenn ich es richtig verstehe, muss ich das Attribut HomeSensorsContact setzen. Traurig,aber da scheitert es schon dran.

Richtig!

In der Dokumentation steht doch eindeutig dass jede Form von Devspec erlaubt ist.

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: FranzB94 am 17 Februar 2017, 13:08:05
Das mit dem Attribut HomeSensorsContact ist schon der richtige Weg. In diesem Attribut der HOMEMODE-Definition musst du die beiden Sensoren "ShutterContact 10cb79" und "ShutterContact 002202" eintragen.

Das ist keine valide Devspec.

Wenn Du alle vom TYPE MAX und type ShutterContact überwachen willst dann:
attr <HOMEMODE> HomeSensorsContact TYPE=MAX:FILTER=type=ShutterContact

Genauso gut für deine beiden Kontakte könntest Du auch:
attr <HOMEMODE> HomeSensorsContact MAX_10cb79,Terassen_Tuer
setzen.

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

Ich habe soeben das Modul im ersten Beitrag aktualisiert.
Für das evtl. auftretende Problem dass HOMEMODE seinen tageszeitabhängigen Modus nicht mehr aktualisiert, habe ich nun einen Fix eingebaut und die letzten Tage getestet. Bei mir ist das Problem nun nicht wieder aufgetreten.

Changelog:

  • Falls die GetUpdate Funktion stehen bleiben sollte, wird diese nun automatisch wieder gestartet

Demnä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?

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

Spezialtrick

Zitat von: Spezialtrick am 17 Januar 2017, 17:30:22
Nunja, wenn das attr HomeAutoAlarmModes auf 0 gestellt wird, könnte man vier weitere Attribute sichtbar machen, die es erlauben ein Gerät sowie das entsprechende Reading für eine Aktion festzulegen, z.B.:


attr ManualmodeAlarm armhome Remotecontrol1Button1:on
attr ManualmodeAlarm armnight Remotecontrol1Button2:on
attr ManualmodeAlarm armaway Remotecontrol1Button3:on
attr ManualmodeAlarm disarm Remotecontrol1Button4:on


Bei mehreren Schaltern/Fernbedienungen dann:


attr ManualmodeAlarm armhome Remotecontrol1Button1:on;Remotecontrol2Button1:on


So könnte man zumindest unterschiedliche Geräte mit unterschiedlichen Readings darstellen. Wäre sowas umsetzbar?  ???

Hallo Dan,

hast du hierüber mal nachgedacht?

Viele Grüße!
FHEM - Debmatic - Zigbee2MQTT - Homekit

DeeSPe

Zitat von: Spezialtrick am 19 Februar 2017, 12:13:16
Hallo Dan,

hast du hierüber mal nachgedacht?

Viele Grüße!

Tut mir leid, daran hatte ich nicht wirklich gedacht! ::)

So wie Du das mit den 4x attr geschrieben hast, würde das aber nicht funktionieren. Damit wird jedes mal das attr ManualmodeAlarm wieder überschrieben!
Wenn das einen Weg mit hineinfinden soll, dann muss ich mir dafür etwas Anderes überlegen.
Es sollte möglichst alles innerhalb eines Attributs setzbar sein. Bin mir nur noch nicht sicher wie am Besten.
Vielleicht so:
attr <HOMMEMODE> HomeCTRLmodeAlarm <dev1>:<read1>,<dev2>:<read1> <dev1>:<read2>,<dev2>:<read2> <dev1>:<read3>,<dev2>:<read3> <dev1>:<read4>,<dev2>:<read4>
Wobei die Reihenfolge der alphabetisch geordneten modeAlarm States entspricht: armaway armhome armnight disarm
Ich denke ich könnte es mal so probieren, was denkst Du?

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

Spezialtrick

#206
Zitat von: DeeSPe am 19 Februar 2017, 12:35:22

Vielleicht so:
attr <HOMMEMODE> HomeCTRLmodeAlarm <dev1>:<read1>,<dev2>:<read1> <dev1>:<read2>,<dev2>:<read2> <dev1>:<read3>,<dev2>:<read3> <dev1>:<read4>,<dev2>:<read4>
Wobei die Reihenfolge der alphabetisch geordneten modeAlarm States entspricht: armaway armhome armnight disarm
Ich denke ich könnte es mal so probieren, was denkst Du?

Würde ich super finden. Wenn man sich mit dem Modul beschäftigt, muss man ja so oder so, auch mal die Doku lesen, daher sehe ich wegen der alphabetischen Sortierung kein Problem. Vllt. kann man es ja so gestalten, dass es eine zusätzliche und nicht exklusive Möglichkeit ist, die Modi umzuschalten.

Ich wollte Dir aber nochmal ein Lob aussprechen, habe vorgestern entdeckt, dass man die Alarmmodi über die Homebridge/Home umschalten kann... Der absolute Knaller.  :D

(https://uploads.tapatalk-cdn.com/20170219/e9630906403fe45b629095c4c29e3726.jpg)
FHEM - Debmatic - Zigbee2MQTT - Homekit

DeeSPe

#207
Zitat von: DeeSPe am 19 Februar 2017, 12:35:22
Vielleicht so:
attr <HOMEMODE> HomeCTRLmodeAlarm <dev1>:<read1>,<dev2>:<read1> <dev1>:<read2>,<dev2>:<read2> <dev1>:<read3>,<dev2>:<read3> <dev1>:<read4>,<dev2>:<read4>

Merke gerade selbst dass das nicht geht, wir brauchen ja Reading und Value!
Neue Idee:
attr <HOMEMODE> HomeCTRLmodeAlarm <dev1>:<read>:<value1>,<dev2>:<read>:<value1> <dev1>:<read>:<value2>,<dev2>:<read>:<value2> <dev1>:<read>:<value3>,<dev2>:<read>:<value3> <dev1>:<read>:<value4>,<dev2>:<read>:<value4>

Zitat von: Spezialtrick am 19 Februar 2017, 12:42:25
Ich wollte Dir aber nochmal ein Lob aussprechen, habe vorgestern entdeckt, dass man die Alarmmodi über die Homebridge/Home umschalten kann... Der absolute Knaller.  :D

Danke!
Aber klar ist das mit in HomeKit gemappt. 8)
Das war eines meiner Hauptanliegen mit dem Modul, die Anzeige/Steuerung in HomeKit (meine Haupt-GUI)!

Gruß
Dan

P.S. Jetzt wo Du das entdeckt hast, brauchst Du dann überhaupt noch die "andere Control-Möglichkeit"? :P
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

Spezialtrick

Zitat von: DeeSPe am 19 Februar 2017, 12:48:04
Aber klar ist das mit in HomeKit gemappt. 8)
Das war eines meiner Hauptanliegen mit dem Modul, die Anzeige/Steuerung in HomeKit (meine Haupt-GUI)!

Gruß
Dan

P.S. Jetzt wo Du das entdeckt hast, brauchst Du dann überhaupt noch die "andere Control-Möglichkeit"? :P

Sagen wir es mal so. Ich traue der automatischen Abschaltung per Anwesenheitserkennung noch nicht so ganz. :P Die funktioniert zwar ziemlich gut, allerdings habe ich damit ein kleineres Problem. Ich wohne in einem Mehrparteienhaus im 4.OG und die Anwesenheitserkennung funktioniert, sodass das Verlassen der Wohnung problemlos erkannt wird. Allerdings funktioniert die Anwesenheitserkennung so gut, dass ich direkt vor dem Haus, also 4 Etage tiefer ebenfalls kurz als "Anwesend" erkannt werde. Lässt sich die Sendereichweite einschränken? (Möglicherweise eine Frage für ein neues Thema)  ::)

Schaltest du die Anlage automatisch über die Anwesenheitserkennung?
FHEM - Debmatic - Zigbee2MQTT - Homekit

DeeSPe

Zitat von: Spezialtrick am 19 Februar 2017, 12:59:32
Schaltest du die Anlage automatisch über die Anwesenheitserkennung?

Ja, ich vertraue voll und ganz der Automatik!
Das hat bei mir bisher immer zu 100% geklappt.

Ich habe nur 2x at konfiguriert damit in den Zeiten wo mein (noch nicht WLAN steuerbarer) BotVac fährt, die Alarmanlage bei Bedarf von armaway auf armhome geschaltet wird, damit die BWMs keinen Alarm melden. 8)

Übrigens habe ich eine ähnliche Anforderung gerade bei meinen Eltern, die möchte ich mit einer HomeMatic Schlüsselbund-Fernbedienung ausstatten damit sie auf den HOMEMODE Einwirkung haben. Dazu habe ich mir aber überlegt dass ich die 4 Tasten benutze um nur ihren ROOMMATE Status zu ändern (home|away|gotosleep|panik), der Rest macht dann wieder die Automatik. Panik soll dann sofort die Sirene auslösen...

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