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: Christian Uhlmann am 24 Januar 2017, 17:26:16
Ok, verstanden. Ist dann nachgelagert in den HomeCMD's hinterlegt.
Ich dachte auch eher an ein Device (Subdevice von Homemode) damit man auch schön darstellen kann, in welchem Raum sind Fenster offen und wie warm / kalt ist es in diesen Räumen.

Naja, schauen wir mal, was die Zukunft bringt :)

Mir geht es mit diesem Modul gerade darum "ein zentrales Device zur Verfügung zu stellen".
Dieses sollte, möglichst übersichtlich, den Gesamtstatus darstellen.
M.E. macht es deshalb keinen Sinn (und trägt auch nicht zur Übersicht bei) zusätzlich zu den vorhandenen Devices noch weitere Sub-Devices anzulegen.
Ich finde gerade, die wirklich gut gelungene, HOMEMODE Device Ansicht innerhalb von HomeKit super!
So eine Übersicht versuche ich auch gerade noch mit einer neuen DetailFn für die Detailansicht in FHEM umzusetzen. Habe damit aber noch meine Schwierigkeiten da es keine wirkliche Dokumentation zur "longpoll-Implementierung für Modulentwickler" gibt. Und ohne longpoll ist eine neue DetailFn m.E. sinnlos.

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

darkness

Zitat von: darkness am 24 Januar 2017, 17:38:06
Hallo,

ich habe das Modul gestern installiert und auf Grund der Super Beschreibung läuft alles auch so weit.
Nur der Punkt Set ... mode evening usw. klappt nicht. Ich kann zwar etwas auswählen, aber das springt dann nach einigen Sekunden zurück (aktuell afternoon).
In den Readings bleibt daytime unverändert.

Gruß


grr. Hat dich erledigt. Nach dem Schreiben des Beitrags geht alles wieder. (Und mit dem Restart hat das bestimmt nichts zu tun.....  ::) sorry )

DeeSPe

Zitat von: darkness am 24 Januar 2017, 17:38:06
Hallo,

ich habe das Modul gestern installiert und auf Grund der Super Beschreibung läuft alles auch so weit.
Nur der Punkt Set ... mode evening usw. klappt nicht. Ich kann zwar etwas auswählen, aber das springt dann nach einigen Sekunden zurück (aktuell afternoon).
In den Readings bleibt daytime unverändert.

Gruß

Jaaa, das ist eine kleine "Denkbaustelle" bei mir! ;)
Der Setter "mode" ist mehr oder weniger ein Überbleibsel aus den Anfangszeiten der Entwicklung an dem Modul um mal schnell was testen zu können.
Wegen dem von Dir berichteten Verhalten habe ich überlegt diesen Setter komplett zu entfernen. Eigentlich macht er auch keinen Sinn mehr denn das Modul soll das ja automatisch machen.

Das Verhalten kommt daher weil "HOMEMODE_GetUpdate" alle 5 Sekunden automatisch aufgerufen wird und entsprechend der vorhanden Informationen der "mode" selbsttätig einstellt wird.

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: DeeSPe am 24 Januar 2017, 17:51:09
Jaaa, das ist eine kleine "Denkbaustelle" bei mir! ;)
Der Setter "mode" ist mehr oder weniger ein Überbleibsel aus den Anfangszeiten der Entwicklung an dem Modul um mal schnell was testen zu können.
Wegen dem von Dir berichteten Verhalten habe ich überlegt diesen Setter komplett zu entfernen. Eigentlich macht er auch keinen Sinn mehr denn das Modul soll das ja automatisch machen.

Achso, hatte es noch drin gelassen damit man den mode auch manuell setzen kann wenn "HomeAutoDaytime 0" gesetzt ist.
Evtl. sollte ich den Setter für "mode" dann bei "HomeAutoDaytime 1" entfernen und bei "HomeAutoDaytime 0" wieder einblenden. Wäre das eine Lösung?

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

darkness

Zitat von: DeeSPe am 24 Januar 2017, 18:02:54
Evtl. sollte ich den Setter für "mode" dann bei "HomeAutoDaytime 1" entfernen und bei "HomeAutoDaytime 0" wieder einblenden. Wäre das eine Lösung?


Für mich wäre das eine Lösung. Aber auch der Hinweis mit der automatischen Aktualisierung wenn HomeAutoDaytime 0 hat mir schon gereicht. Vielleicht könntest du den in deinem Startposting mit aufnehmen (oder ich habe ihn übersehen).

Gruß

DeeSPe

Zitat von: darkness am 25 Januar 2017, 08:51:13
Für mich wäre das eine Lösung. Aber auch der Hinweis mit der automatischen Aktualisierung wenn HomeAutoDaytime 0 hat mir schon gereicht. Vielleicht könntest du den in deinem Startposting mit aufnehmen (oder ich habe ihn übersehen).

Danke für den Hinweis!
War mir gar nicht ausgefallen dass es im ersten Beitrag keine Erklärung für das Attribut HomeAutoDaytime gab. Habe es ergänzt. ;)
In der commandref ist es aber drin! :-[

Hab das jetzt mal in meiner Dev Version so geändert dass der Setter mode normalerweise nicht mehr verfügbar ist. Bei "HomeAutoDaytime 0" kann er wieder benutzt werden, allerdings ohne die Tageszeit abhängigen mode(s) (wie bisher auch schon).

Ich arbeite noch an ein paar anderen Baustellen an dem Modul.
Evtl. kann ich zum Wochenende eine bereits gut getestete neuere Version zur Verfügung stellen.
Eins meiner Hauptanliegen für die neue Version ist (neben Bugfixing und "Eindeutschung") dass ich die doppelten Semikolon innerhalb der HomeCMD Attribute los werde.
Ich denke das würde einige potentielle Fehlerquellen ausschließen!?

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

darkness

Hey,

ich habe noch eine Frage zum HomeContactType. Diesen habe ich bei einem HM-SEC-SCo auf Window gestellt. Sollte dann beim Öffnen des Fensters die Readings contactsWindowsOpen verändert werden?

Bei mir werden alle Readings contactsOutside* und contactsOpen* ebnfalls mit dem Namen des HM-SEC-SCo befüllt.
Ich denke  contactsOpen* ist eine Gesamtanzahl und daher ok. Aber contactsOutside verstehe ich nicht.


DeeSPe

Zitat von: darkness am 25 Januar 2017, 18:30:08
ich habe noch eine Frage zum HomeContactType. Diesen habe ich bei einem HM-SEC-SCo auf Window gestellt. Sollte dann beim Öffnen des Fensters die Readings contactsWindowsOpen verändert werden?

Ja sollte es! Dafür ist es da. Allerdings muss window komplett klein geschrieben werden. Das entsprechende Dropdown ermöglich auch nur dieses.

Zitat von: darkness am 25 Januar 2017, 18:30:08
Bei mir werden alle Readings contactsOutside* und contactsOpen* ebnfalls mit dem Namen des HM-SEC-SCo befüllt.
Ich denke  contactsOpen* ist eine Gesamtanzahl und daher ok. Aber contactsOutside verstehe ich nicht.

Ja, contactsOpen.* sind alle Kontakt Sensoren.
Bei den Readings für contactOutside.* werden die "HomeContactType doorinside" nicht mitgenommen, so dass wirklich nur Kontakte erscheinen die eben einen Weg von Draußen nach Drinnen ermöglichen.

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

darkness

Zitat von: DeeSPe am 25 Januar 2017, 19:07:19
Ja sollte es! Dafür ist es da. Allerdings muss window komplett klein geschrieben werden. Das entsprechende Dropdown ermöglich auch nur dieses.

Vielen Dank fürs erklären. Habe ich darüber auch gemacht.

Abschließende Frage für heute (Versprochen! ;))

Ich habe einen Fensterkontakt das Attribut "HomeOpenTimes 1" und "HomeOpenMaxTrigger 1" gesetzt.

Jetzt erhalte ich jede Minute eine Meldung. Ich dachte ich erhalte mit HomeOpenTimes 1 nach einer Minute die Meldung und mit HomeOpenMaxTrigger 1 diese nur ein Mal?


DeeSPe

Zitat von: darkness am 25 Januar 2017, 19:30:10
Ich habe einen Fensterkontakt das Attribut "HomeOpenTimes 1" und "HomeOpenMaxTrigger 1" gesetzt.

Jetzt erhalte ich jede Minute eine Meldung. Ich dachte ich erhalte mit HomeOpenTimes 1 nach einer Minute die Meldung und mit HomeOpenMaxTrigger 1 diese nur ein Mal?

Hmmm, das sollte eigentlich richtig funktionieren!
Habe auch gerade nochmal den Code dafür geprüft und sehe keinen Grund warum es nicht funktionieren sollte.
Muss aber gestehen dass ich selbst wohl nie mit "HomeOpenTimes 1" getestet habe.
Könntest Du mal bitte mit einem anderen Wert außer 0 oder 1 testen?

Hast Du bei den HM-SEC-SCo's "event-on-*-reading" Attribute gesetzt? Ich tippe: Nein! ;)

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

JoeALLb

Hi Dan,
tolles Modul, vielen Dank!
Die Zusammenfassung von Devices zu einer sinnvollen Struktur ist eine Tolle Idee, bin gespannt was hier noch so alles wird!

Folgendes Feedback habe ich beim Testen gesammelt:
# %CONDITION% bleibt bei mir leer, obwohl es im Yahoo-Wetterdevice gesetzt ist!
# HomeCMDdaytime-midnight würde ich mir noch wünschen da ich um Mitternacht gewisse Dinge "erledigen muss".
# Solareinspeisung würde ich mir zusätzlich zum Stromverbrauch noch wünschen.
# roommates haben ein neues "rr_presenceDevices" Attribut, welches aktuell noch nicht erkannt/unterstützt wird
# Über "Maindoor-Open" werde ich immer 2x zur selben Zeit informiert. Also 2x "open" und später 2x "closed". Hast Du eine Idee, warum das so ist? Ich nutze einen "HM-SEC-SCo" mit gesetztem event-on-change
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

DeeSPe

Zitat von: JoeALLb am 26 Januar 2017, 09:46:08
Hi Dan,
tolles Modul, vielen Dank!
Die Zusammenfassung von Devices zu einer sinnvollen Struktur ist eine Tolle Idee, bin gespannt was hier noch so alles wird!

Folgendes Feedback habe ich beim Testen gesammelt:
# %CONDITION% bleibt bei mir leer, obwohl es im Yahoo-Wetterdevice gesetzt ist!
# HomeCMDdaytime-midnight würde ich mir noch wünschen da ich um Mitternacht gewisse Dinge "erledigen muss".
# Solareinspeisung würde ich mir zusätzlich zum Stromverbrauch noch wünschen.
# roommates haben ein neues "rr_presenceDevices" Attribut, welches aktuell noch nicht erkannt/unterstützt wird
# Über "Maindoor-Open" werde ich immer 2x zur selben Zeit informiert. Also 2x "open" und später 2x "closed". Hast Du eine Idee, warum das so ist? Ich nutze einen "HM-SEC-SCo" mit gesetztem event-on-change

Moin moin,

danke für die Lobesworte! :-[

Zitat von: JoeALLb am 26 Januar 2017, 09:46:08
# %CONDITION% bleibt bei mir leer, obwohl es im Yahoo-Wetterdevice gesetzt ist!

Das kann ich Dir/mir nicht erklären.
condition wird gar nicht im HOMEMODE Device gespeichert!
Es wird immer direkt aus dem Yahoo Weather Device geholt.
Hier mal die entsprechenden Codestücken:
my $sensor = $attr{$name}{HomeYahooWeatherDevice};
my $condition = ReadingsVal($sensor,"condition","");
$com =~ s/%CONDITION%/$condition/g;


Zitat von: JoeALLb am 26 Januar 2017, 09:46:08
# HomeCMDdaytime-midnight würde ich mir noch wünschen da ich um Mitternacht gewisse Dinge "erledigen muss".

Okay, verstanden. Die Frage ist ob sich das wirklich sinnvoll mit in daytime(s) integrieren lässt.
Das würde bedeuten dass night um 23 Uhr startet! Um 24/0 Uhr kommt dann midnight! Wie lange soll midnight anhalten und was kommt danach bis 5 Uhr! Nochmal night wäre doof!
M.E. müssten diese Events (midnight/noon/...) separat von daytime behandelt werden.
Ich überlege mal was. Evtl. hat auch jemand einen Vorschlag dazu?

Zitat von: JoeALLb am 26 Januar 2017, 09:46:08
# Solareinspeisung würde ich mir zusätzlich zum Stromverbrauch noch wünschen.

Kann ich auch verstehen.
Ich tue mich allerdings immer etwas schwer mit der Integration von Devices die ich selbst nicht benutze bzw. zur Verfügung habe.
Schreibe es mal (weiter hinten) auf die Todo Liste!

Zitat von: JoeALLb am 26 Januar 2017, 09:46:08
# roommates haben ein neues "rr_presenceDevices" Attribut, welches aktuell noch nicht erkannt/unterstützt wird

Das kam erst nach der Vorstellung meines Moduls und da ich noch kein Update nachgereicht habe, ist das auch nicht drin.
Eigentlich ist das auch nicht nötig damit das mit HOMEMODE richtig funktioniert. Könnte es aber als zusätzliche Option zur Auswertung mit einbeziehen.
Habe mich mit dem Attribut noch nicht wirklich beschäftigt! Kann man da auch mehrere Devices angeben?

Zitat von: JoeALLb am 26 Januar 2017, 09:46:08
# Über "Maindoor-Open" werde ich immer 2x zur selben Zeit informiert. Also 2x "open" und später 2x "closed". Hast Du eine Idee, warum das so ist? Ich nutze einen "HM-SEC-SCo" mit gesetztem event-on-change

Keine Ahnung! Ich nutze auch die "HM-SEC-SCo" und habe das Problem nicht!
Wie sind denn die "event-on-....." Attribute bei Dir 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

JoeALLb

Hallo Dan,
Vielen Dank für die Rückmeldung.
Zitat von: DeeSPe am 26 Januar 2017, 10:29:19
---Solareinspeisung
Kann ich auch verstehen.
Ich tue mich allerdings immer etwas schwer mit der Integration von Devices die ich selbst nicht benutze bzw. zur Verfügung habe.
Schreibe es mal (weiter hinten) auf die Todo Liste!

Im Prinzip ist das nichts anderes wie ein umgekehrter Stromzähler! Ich würde ihn also genau gleich implementieren.


Die doppelten Messages muss ich mir später genauer ansehen.!

sG Joe
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

darkness

Zitat von: DeeSPe am 25 Januar 2017, 20:21:26

Könntest Du mal bitte mit einem anderen Wert außer 0 oder 1 testen?

Hast Du bei den HM-SEC-SCo's "event-on-*-reading" Attribute gesetzt? Ich tippe: Nein! ;)

Gruß
Dan

Hey,

ich habe heute mal ein wenig getestet.

Bei einem anderen HM-SEC-SCo habe ich folgende Attribute getestet:

ZitatHomeOpenMaxTrigger 2
HomeOpenTimes 5

event-on-change-reading * ist dort ebenfalls gesetzt.

War aber das gleiche Ergebnis. Die Meldung wurde mehr als 2 mal abgesetzt.

Gruß

DeeSPe

Zitat von: darkness am 26 Januar 2017, 16:07:33
Hey,

ich habe heute mal ein wenig getestet.

Bei einem anderen HM-SEC-SCo habe ich folgende Attribute getestet:

event-on-change-reading * ist dort ebenfalls gesetzt.

War aber das gleiche Ergebnis. Die Meldung wurde mehr als 2 mal abgesetzt.

Gruß


Okay, habe es gerade auch mal in der Testumgebung durchgespielt!
Irgendwas ist da tatsächlich komisch, muss das mal genauer analysieren. Ist auf der Todo Liste...
Danke für's berichten!

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