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

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

Vorheriges Thema - Nächstes Thema

DeeSPe

Zitat von: Macblock am 05 Dezember 2017, 23:27:32
Hallo Dan,
erst einmal großes Kompliment an Dich. Das ist echt ein super Tool, dass einem viel abnimmt :)
Auch der Support ist perfekt.
Ich muss gestehen, ich habe nicht alle 43 Seiten komplett gelesen, also Sry falls die Frage schon beantwortet wurde. Meine Reed-Kontakte haben z.b. den Namen EG_Wohnzimmer_Reed.
Dies sieht dann natürlich bei den Meldungen nicht so chick aus, wenn ich die Nachricht bekomme, dass EG_Wohnzimmer_Reed gerade geöffnet wurde :-[. Natürlich kann ich alle Reeds umbenennen, aber gibt es eine andere Möglichkeit, dass Problem zu lösen. Vielleicht macht ja auch ein ,,homemode-alias" Sinn.

Viele Grüße

Markus

Sofern das Attribut alias befüllt wurde wird dieses auch benutzt.
Der Fallback ist halt auf den Device Name.

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

Soeben habe ich v1.2.0 in SVN eingecheckt.
Es ist Einiges dazu gekommen und ich habe ein paar Funktionen "modernisiert", darum ist das Changelog auch sehr umfangreich geworden.
Ich habe einige Eurer Wünsche umgesetzt, die letzten Tage eifrig getestet und konnte bei mir keine Fehler feststellen.

Changelog:
Zitatv1.2.0
    - set location wayhome automatically if a ROOMMATE/GUEST sets its location to wayhome (reading wayhome 1)
    - add SmokeSensors
    - add attr HomeTextNosmokeSmoke
    - add attr HomeCMDalarmSmoke, HomeCMDalarmSmoke-on and HomeCMDalarmSmoke-off
    - add 'set modeAlarm confirm' and its HomeCMD attr
    - add 'set panic on/off' and their HomeCMD attr
    - add attr HomeTriggerPanic
    - add attr HomeTriggerAnyoneElseAtHome
    - add attr HomeAtTmpRoom
    - add attr HomeCMDfhemSAVE, HomeCMDfhemUPDATE and HomeCMDfhemDEFINED
    - add placeholder %DEFINED%
    - fix overwrite some Home attributes on HomeSensorsContact and HomeSensorsMotion while re-adding userattr
    - allow more regexps in HomeSensorsContactValues and HomeSensorsMotionValues
    - more robust RESIDENTS Fn
    - more robust NotifyFn
    - more robust handling of disabled devices
    - more robust userattr handling
    - indicate savable changes after updateInternalsForce or updateHomebridgeMapping
    - add missing (non-state-specific) attributes HomeCMDalarmTriggered, HomeCMDalarmTampered, HomeCMDicewarning and HomeCMDuwz-warn

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 bin gerade dabei einen Wiki-Artikel zum Modul HOMEMODE zu verfassen, da es hier im Forum doch zu durcheinander zugeht und viele Informationen, die zusammen gehören, verteilt in vielen Beiträgen zu finden sind.

Wie hier im 1./2. Beitrag, möchte ich dazu viele mögliche Code-Beispiele für die HomeCMD Attribute mit einbringen um Anfängern aufzuzeigen was alles möglich ist.

Am Wiki-Artikel dürfen sich natürlich gern auch andere beteiligen.

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

Hi Dan,
obwohl HomeAtTmpRoom mit einem gültigen Raum gesetzt ist landen alle atTmp... weiter in "Unsorted"  ???
VG Sebastian

DeeSPe

Zitat von: binford6000 am 18 Dezember 2017, 17:54:23
Hi Dan,
obwohl HomeAtTmpRoom mit einem gültigen Raum gesetzt ist landen alle atTmp... weiter in "Unsorted"  ???
VG Sebastian

Das ist merkwürdig!
Normalerweise sollte der Raum beim global Event DEFINED hinzugefügt werden und das klappt bei mir auch problemlos.
Im Moment kann ich  mir nicht vorstellen was da klemmen soll.
Könntest Du mal kurzeitig "verbose 5" setzen im HOMEMODE Device, dann sollte das globale Event beim define im Log angezeigt werden.

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

ComputerZOO

Nabend und Moin,
also bei mir funktioniert es einwandfrei.
@binford6000: Bist du sicher, das die temporären at´s von HOMEMODE auch wirklich mit atTmp_ anfangen? Ich hatte anfangs auch den Unterstrich vergessen und mir dann die genaue Definition in der 22_HOMEMODE.pm angesehen.

DeeSPe

#651
Zitat von: ComputerZOO am 18 Dezember 2017, 19:09:42
Nabend und Moin,
also bei mir funktioniert es einwandfrei.
@binford6000: Bist du sicher, das die temporären at´s von HOMEMODE auch wirklich mit atTmp_ anfangen? Ich hatte anfangs auch den Unterstrich vergessen und mir dann die genaue Definition in der 22_HOMEMODE.pm angesehen.

Auf die Namensgebung hat der User keinen Einfluss.
Die von HOMEMODE automatisch erstellten temporären "at" fangen alle mit "atTmp_" an und enden mit "_<Name des HOMEMODE Device>".
Nur wenn diese Namensgebung bei DEFINED gefunden wird und es sich um ein "at" handelt, wird der Raum 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

binford6000

Zitatund enden mit "_<Name des HOMEMODE Device>".
Jepp, so gehts  ;)
VG Sebastian

DeeSPe

Zitat von: binford6000 am 18 Dezember 2017, 21:34:40
Jepp, so gehts  ;)
VG Sebastian

Ich nehme an Du lässt selbst in den HomeCMD Attributen noch "at"s erstellen und hast sie diesem Namenschema angepasst!?

Ich benutze das Attribut "HomeAtTmpRoom" gar nicht.
Dafür habe ich mir angewöhnt alle definierten Devices in einen Raum passend zum Device TYPE zu stecken, also "at" in Raum "at", "cmdalias" in Raum "cmdalias" usw.
Somit weiß ich immer wo der jeweilige Devicetyp zu finden ist.
Um das zu automatisieren habe ich in HOMEMODE Folgendes gesetzt:
attr TYPE=HOMEMODE HomeCMDfhemDEFINED {fhem "attr %DEFINED% room ".$defs{"%DEFINED%"}->{TYPE}}

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

ZitatIch nehme an Du lässt selbst in den HomeCMD Attributen noch "at"s erstellen und hast sie diesem Namenschema angepasst!?
Ja, genau so. Z.B. um meinen nextcloud-Kalender nach Mitternacht mit reload auf den neusten Stand zu bringen.
Das ist in HOMEMODE in HomeCMDdaytime-night und atTmp_ ... super aufgehoben.

btw: Hattest du nicht mal in Erwägung gezogen, zusätzlich zu Holiday- auch Calendar-Devices zu unterstützen?
Ich bin aber auch so ein großer Fan von HOMEMODE und sage an dieser Stelle mal DANKE für den super Support!  :)

Zitatattr TYPE=HOMEMODE HomeCMDfhemDEFINED {fhem "attr %DEFINED% room ".$defs{"%DEFINED%"}->{TYPE}}
Interessant, ein ARCHETYPE-Light aus HOMEMODE heraus. Da finde ich bestimmt auch Verwendung für...  ;)

VG Sebastian


DeeSPe

Zitat von: binford6000 am 18 Dezember 2017, 22:12:10
Ja, genau so. Z.B. um meinen nextcloud-Kalender nach Mitternacht mit reload auf den neusten Stand zu bringen.
Das ist in HOMEMODE in HomeCMDdaytime-night und atTmp_ ... super aufgehoben.

btw: Hattest du nicht mal in Erwägung gezogen, zusätzlich zu Holiday- auch Calendar-Devices zu unterstützen?
Ich bin aber auch so ein großer Fan von HOMEMODE und sage an dieser Stelle mal DANKE für den super Support!  :)
Interessant, ein ARCHETYPE-Light aus HOMEMODE heraus. Da finde ich bestimmt auch Verwendung für...  ;)

VG Sebastian

Vielen Dank für die Blumen. :)
Es freut mich sehr wenn der Sinn des Moduls durchschaut und es dann entsprechend benutzt wird.

Ja, Calendar möchte ich gern bei Gelegenheit unterstützen, habe mir bisher aber nicht die Zeit genommen mal das Calendar Modul auseinander zu pflücken.
Vielleicht komme ich Anfang 2018 mal dazu. ;)

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

adn77

Hallo zusammen,

vielen Dank für das Modul und die vielen vorbildlich beantworteten Fragen, die mir bereits sehr weiter geholfen haben.

Ich liebe den "Arrival" Modus und den "Ins Bett geh" Modus. Ich triggere einiges auf "Absent", "Gone" und "Home".
Allerdings kann es vorkommen, dass meine Frau längst aus dem Haus ist während bei mir noch "Asleep" steht.

1.) Wie wechselt ihr von "Asleep" auf "Home"?
2.) Eigentlich ist Asleep ja auch Home, egal ob meine Location jetzt genauer "Bed" ist... Benutzt jemand die "Bed" location?
3.) Wie funktioniert das mit mehreren Roommates? RM1 schläft RM2 geht und kommt wieder - ist dann die Location "Home" oder "Bed"?

Vielleicht gibt es ja eine "Best Practices" zu "Location, State und Presence"...wann verwendet man was?!

Alex

PS: ich will aber auch nicht die schönen Tag/Nacht Automatismen vermissen

DeeSPe

Zitat von: adn77 am 18 Dezember 2017, 22:43:33
1.) Wie wechselt ihr von "Asleep" auf "Home"?
2.) Eigentlich ist Asleep ja auch Home, egal ob meine Location jetzt genauer "Bed" ist... Benutzt jemand die "Bed" location?
3.) Wie funktioniert das mit mehreren Roommates? RM1 schläft RM2 geht und kommt wieder - ist dann die Location "Home" oder "Bed"?

1.) Ich mache das per HomeKit Szene "Guten Morgen Dan".
2.) Persönlich benutze ich location gar nicht.
3.) Sobald eine(r) wach zu Hause ist (auch wiederkommt während ein(e) Andere(r) noch zu Hause ist), ist location "home".

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

Habe eben ein kleines Update auf v1.2.1 eingecheckt.

Changelog:
Zitatv1.2.1
    - rename readings alarm_smoke to alarmSmoke
    - add placeholders %SENSORSSMOKE%, %SMOKE%, %SMOKECT% and %SMOKEHR%

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

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