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

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

Vorheriges Thema - Nächstes Thema

marvin78

Aber das nimmt FHEM seine Stärke, die Dinge miteinander zu kombinieren. Ich nutze ZWave, Homematic und auch noch alte FS20 Sensoren plus Twighlight. Ob ich ein Mittel bilde oder nicht, nutzbar sollten sie alle sein. Das Mittel kann ich außerhalb ggf. ohnehin besser bilden. Aber das ist auch der Grund, warum ich die Abbildung in solchen Modulen nicht uneingeschränkt mag. Es ist nicht "FHEM-style", nicht generisch genug ;). Nicht falsch verstehen: Respekt für die Arbeit. Das Modul wird sicher vielen helfen,

DeeSPe

Zitat von: marvin78 am 09 Januar 2017, 16:28:39
Aber das nimmt FHEM seine Stärke, die Dinge miteinander zu kombinieren. Ich nutze ZWave, Homematic und auch noch alte FS20 Sensoren plus Twighlight. Ob ich ein Mittel bilde oder nicht, nutzbar sollten sie alle sein. Das Mittel kann ich außerhalb ggf. ohnehin besser bilden. Aber das ist auch der Grund, warum ich die Abbildung in solchen Modulen nicht uneingeschränkt mag. Es ist nicht "FHEM-style", nicht generisch genug ;). Nicht falsch verstehen: Respekt für die Arbeit. Das Modul wird sicher vielen helfen,

Danke Marvin.
Bin auch noch kein so alter FHEM Hase und froh über jeden Tipp von "Dienstälteren"!!! ;)
Alles was ich hier mit dem Modul anbieten möchte ist optional.
Keiner soll gezwungen sein irgendetwas von dem Modul benutzen zu müssen.
Wenn es dann passt mit den Sensoren gut, wenn nicht dann eben nicht! 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

marvin78

Das ist mir bewusst. Ich wollte nur aufzeigen, dass so ein Modul schnell ausarten kann, wenn du hier alle Wünsche erfüllen möchtest und es nicht generisch genug vorgesehen ist. Das mit den Sensoren ist da noch einfach. Es gibt sicher noch viel kompliziertere Fälle. Das liegt an FHEM und seinem Zugang, fast alles auf jede erdenkliche Art miteinander kombinieren zu können.

Wie schon gesagt: Was du da machst, ist tolle Arbeit. Aber sei vorsichtig mit den Wünschen der anderen. Sie werden schnell gierig ;)

l2r

eine Anmerkung hab ich noch:

bei deinem Ersten Post in den Erklärungen verwendest du HomeCMDmode-<MODE>-<RESIDENT>

müsste es nicht HomeCMDmode-<MODE>-<ROOMMATE> heißen? Weil über Residents werden ja mehrere ROOMMATEs und GUESTs zusammengefasst?

Nicht falsch verstehen, das soll jetzt nicht klugscheißerisch rüber kommen, sondern andere Leute nicht verwirren. Ich schmeiß das selber auch immer durcheinander ;-)

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

FunkOdyssey

Zitat von: marvin78 am 09 Januar 2017, 16:38:51
Das ist mir bewusst. Ich wollte nur aufzeigen, dass so ein Modul schnell ausarten kann, wenn du hier alle Wünsche erfüllen möchtest und es nicht generisch genug vorgesehen ist. Das mit den Sensoren ist da noch einfach. Es gibt sicher noch viel kompliziertere Fälle. Das liegt an FHEM und seinem Zugang, fast alles auf jede erdenkliche Art miteinander kombinieren zu können.

Wie schon gesagt: Was du da machst, ist tolle Arbeit. Aber sei vorsichtig mit den Wünschen der anderen. Sie werden schnell gierig ;)

Ich denke, dass Marvin hier richtig liegt.
Aktuell sind es Helligkeitswerte. Später kommen immer mehr individuellere Wünsche hinzu.
Ich überlege auch schon ein paar Stunden, ob ich HOMEMODE einsetzen soll oder nicht. Ich mag deinen Ansatz an eierlegende Wollmilchsau. Doch die Flexibilität geht flöten. Ich kann mich z.B. absolut nicht zu 100% auf die Presence-Erkennung verlassen, da Akkus auch mal leerlaufen oder Handys über Nacht ausgeschaltet werden. Ich habe derzeit Geofancy und Presence miteinander kombiniert. Und Presence zählt nur bei Veränderungen innerhalb eines vorgegebenen Zeitraums (!= Nacht).

Bitte verstehe mich nicht falsch! Wirklich nicht. Ich finde die Idee super und es muss ein großer Aufwand gewesen sein.

Doch sobald man von der Norm abweicht wird es schwierig. Ich persönlich würde Alarm z.B. nie über den Resident-Zustand schalten. Aber ich meine beim Überfliegen gelesen zu haben, dass du es auch anders ermöglichst. Soweit war ich noch nicht.

Und für das Sammeln von Readings (Bewegungsmelder, Kontakte, Wetter/Twilight, Verbrauchswerte, etc.) habe ich mir diverse Readingsgroups angelegt.

Ich werde noch einmal ein wenig mit HOMEMODE rumspielen. Ich brauche noch ein wenig Zeit. Danke.

Der absoluter Hammer von dir: Deine Doku! Respekt! Alleine das muss Tage gedauert haben.

Icinger

@marvin
ZitatAber das nimmt FHEM seine Stärke, die Dinge miteinander zu kombinieren.

Denke ich nicht so.....Klar fasst dieses Modul einiges zusammen.
Andererseits kann man ja auch dieses Modul wieder mit anderen kombinieren.

Ich habs bei mir mal installiert und lass es nebenbei laufen.
Ein, zwei Dinge hab ich schon integriert, andere Sachen werde ich sicher nicht über das Homemode abbilden, weil ich da eben wieder speziellere Fälle habe.

Ich finds einfach eine gute Ergänzung zu den bestehenden Residents/Roommates-Modul, welches mir einfach schon mal nen groben "Überblick" über das Haus gibt.

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

DeeSPe

Zitat von: marvin78 am 09 Januar 2017, 16:38:51
Wie schon gesagt: Was du da machst, ist tolle Arbeit. Aber sei vorsichtig mit den Wünschen der anderen. Sie werden schnell gierig ;)

Merci!

Ja, die Gier kommt immer sehr schnell. ;)
Ein Nicht-Entwickler kann auch nicht nachvollziehen wie viel Arbeit und vor allem Zeit man in ein solches Modul investiert in seiner Freizeit.
Primär sollte es in diesem Beitrag um den Test der bisherigen Funktionen des Moduls gehen und evtl. Fehlerbeseitigung.
Sekundär waren dann erst neue Features geplant.

Zitat von: l2r am 09 Januar 2017, 16:57:00
eine Anmerkung hab ich noch:

bei deinem Ersten Post in den Erklärungen verwendest du HomeCMDmode-<MODE>-<RESIDENT>

müsste es nicht HomeCMDmode-<MODE>-<ROOMMATE> heißen? Weil über Residents werden ja mehrere ROOMMATEs und GUESTs zusammengefasst?

Nicht falsch verstehen, das soll jetzt nicht klugscheißerisch rüber kommen, sondern andere Leute nicht verwirren. Ich schmeiß das selber auch immer durcheinander ;-)

Gruß Michael

Ja, die Doku ist da nicht ganz konsistent. Ich weiß!
Bin mir selbst manchmal unsicher wie ich es am besten schreibe.
RESIDENT ist zwar ein Modul, aber beherbergt ja im Prinzip nur die ROOMMATE/GUESTs.
Wenn ich von Befehlsausführung  für RESIDENT/resident/Resident rede/schreibe, meine ich natürlich die jeweiligen ROOMMATE/GUESTs.
Ganz genau müsste es heißen:
ZitatHomeCMDmode-<MODE>-<ROOMMATE/GUEST>
Werde es bei Gelegenheit überarbeiten.

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: FunkOdyssey am 09 Januar 2017, 17:22:15
Ich denke, dass Marvin hier richtig liegt.
Aktuell sind es Helligkeitswerte. Später kommen immer mehr individuellere Wünsche hinzu.
Ich überlege auch schon ein paar Stunden, ob ich HOMEMODE einsetzen soll oder nicht. Ich mag deinen Ansatz an eierlegende Wollmilchsau. Doch die Flexibilität geht flöten. Ich kann mich z.B. absolut nicht zu 100% auf die Presence-Erkennung verlassen, da Akkus auch mal leerlaufen oder Handys über Nacht ausgeschaltet werden. Ich habe derzeit Geofancy und Presence miteinander kombiniert. Und Presence zählt nur bei Veränderungen innerhalb eines vorgegebenen Zeitraums (!= Nacht).

Bitte verstehe mich nicht falsch! Wirklich nicht. Ich finde die Idee super und es muss ein großer Aufwand gewesen sein.

Doch sobald man von der Norm abweicht wird es schwierig. Ich persönlich würde Alarm z.B. nie über den Resident-Zustand schalten. Aber ich meine beim Überfliegen gelesen zu haben, dass du es auch anders ermöglichst. Soweit war ich noch nicht.

Und für das Sammeln von Readings (Bewegungsmelder, Kontakte, Wetter/Twilight, Verbrauchswerte, etc.) habe ich mir diverse Readingsgroups angelegt.

Ich werde noch einmal ein wenig mit HOMEMODE rumspielen. Ich brauche noch ein wenig Zeit. Danke.

Der absoluter Hammer von dir: Deine Doku! Respekt! Alleine das muss Tage gedauert haben.

Danke für die Lorbeeren! :)

Ich versuche schon bei der Entwicklung darauf zu achten das so flexibel (anpassbar) wie möglich zu halten.
Aber Ihr habt recht! Alles wird man nie unter einen Hut bekommen und das ist auch gar nicht das Ziel des Moduls. Mein Ziel ist es grundlegende (optionale) Automationsmöglichkeiten zu bieten ohne sich erst richtig tief in FHEM einarbeiten zu müssen.

Jaaaa, Da hast Du aber sowas von Recht! 8)
Die Doku war neben dem Testen das was am allerlängsten gedauert hat (ca. eine Woche)!
Es war mir aber sehr wichtig möglichst alles detailliert zu dokumentieren, denn ich rege mich selbst immer über nicht oder schlecht dokumentierte Software auf!

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 08 Januar 2017, 22:13:24
Genauso sieht's bei mir aus! Ein Reading für Wochenende bzw. Arbeitswoche wäre noch ganz praktisch...  ;)

Hab das heute mal getestet und die Variable $we kann auch jetzt schon innerhalb der HomeCMD Attribute verwendet werden. Zumindest hat sie heute bei mir brav den Wert 0 gehabt statt undef.
Es sind also bereits Automationen mit dieser Variable möglich.
$wday funktioniert ebenso.

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

Zitat von: DeeSPe am 09 Januar 2017, 20:45:48
Hab das heute mal getestet und die Variable $we kann auch jetzt schon innerhalb der HomeCMD Attribute verwendet werden. Zumindest hat sie heute bei mir brav den Wert 0 gehabt statt undef.
Es sind also bereits Automationen mit dieser Variable möglich.
$wday funktioniert ebenso.

Gruß
Dan

Danke für die Info! Werde es mal ausprobieren...

VG Sebastian



Gesendet von iPad mit Tapatalk

fhainz

Hallo Dan,

Bei mir wird das humidity reading nicht aktualisiert. Temperatur funktioniert, beide attribute gesetzt und zeigen aus das selbe device. humidity und temperature reading sind im device vorhanden.
Hast du eine Idee?

Grüße

DeeSPe

Zitat von: fhainz am 09 Januar 2017, 21:25:38
Hallo Dan,

Bei mir wird das humidity reading nicht aktualisiert. Temperatur funktioniert, beide attribute gesetzt und zeigen aus das selbe device. humidity und temperature reading sind im device vorhanden.
Hast du eine Idee?

Grüße

Lass mal das Device in HomeSensorHumidity weg (also Attribut löschen) und schaue ob es dann funktioniert!
Wenn der Sensor für temperature und humidity der selbe ist, brauchst Du ihn nur bei HomeSensorTemperature angeben. Ist so dokumentiert und funktioniert bei mir auch so. ;)

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

fhainz

Ich hätte die Doku doch aufmerksamer lesen sollen  ::)

Danke dir, jetzt funktioniert es natürlich!  ;D

DeeSPe

Zitat von: fhainz am 09 Januar 2017, 21:33:42
Ich hätte die Doku doch aufmerksamer lesen sollen  ::)

Danke dir, jetzt funktioniert es natürlich!  ;D

Super!
Werd trotzdem mal schauen dort noch eine Prüfung einzubauen damit das nicht wieder passieren kann.
Bis auf die HomeCMD Attribute werden eigentlich alle anderen Attribute validiert und falsche Eingaben mit einer Fehlermeldung abgewiesen. Nur in diesem speziellen Fall noch nicht. ???

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

Prof. Dr. Peter Henning

Schöne Arbeit, allerdings wünsche ich mir eine etwas klarere Definition der Begriffe. Bitte nicht als Mäkelei auffassen, aber gerade bei so vielen Optionen ist es wichtig, dass eine gewisse Systematik eingehalten wird.

Nur drei Beispiele:

HomeSensorTemperature ist der Name eines Außentemperatursensors - dann sollte es aber heißen HomeTemperaturSensor, noch besser HomeExternalTemperatureSensor

HomeSensorsContactOpenTimeMin sollte erstens nicht in Minuten angegeben sein, sondern wie an den meisten anderen Stellen in FHEM in Sekunden. Und zweitens müsste es logisch korrekt heißen HomeSensorContactsMinOpenTime

HomeCMDcontactClosed müsste logischerweise heißen HomeSensorContactsClosedCMD

LG

pah