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

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

Vorheriges Thema - Nächstes Thema

mumpitzstuff

Wollte mir das Modul schon seit längerem ansehen, bin aus Zeitmangel aber bisher nicht dazu gekommen (aktuell läuft bei mir das ALARM Modul und ich möchte daher im ersten Schritt die Einstellungen übertragen). Inzwischen habe ich mir die Befehle mal so grob angesehen und bisher folgendes nicht gefunden:

1.) Kann man eine Zeit definieren für den Zustandswechsel von WAIT UNTIL ARMED zu ARMED?
2.) Wenn in dieser Zeit wieder jemand als PRESENT erkannt wird, wird dann der Zustandswechsel aus 1. abgebrochen?
3.) Kann eine Zeit definiert werden, um einen ALARM zu verzögern? Wird automatisch abgebrochen wenn ich in der Zeit nach Hause komme?
4.) Kann man mittels Schalter (Fernbedienung) sagen, das alle Alarme deaktiviert werden sollen bzw. laufende Alarme (Sirene usw.) abgebrochen werden sollen?
5.) Kann man irgendwie auch Feuer/Gas/Wassermelder einbinden?
6.) Gibt es Einschränkungen bei den CMDs was die Zeichen angeht bzw. muss ich irgendwas Escapen wie z.B. | " ' ; usw.?

hartenthaler

Zitat von: DeeSPe am 22 März 2017, 21:21:33
Konfiguration eigener Jahreszeiten
default: 01.01|spring 06.01|summer 09.01|autumn 12.01|winter
müsste das nicht eher 03.01|spring heißen?
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

DeeSPe

Zitat von: mumpitzstuff am 24 März 2017, 15:38:36
Wollte mir das Modul schon seit längerem ansehen, bin aus Zeitmangel aber bisher nicht dazu gekommen (aktuell läuft bei mir das ALARM Modul und ich möchte daher im ersten Schritt die Einstellungen übertragen). Inzwischen habe ich mir die Befehle mal so grob angesehen und bisher folgendes nicht gefunden:

1.) Kann man eine Zeit definieren für den Zustandswechsel von WAIT UNTIL ARMED zu ARMED?
2.) Wenn in dieser Zeit wieder jemand als PRESENT erkannt wird, wird dann der Zustandswechsel aus 1. abgebrochen?
3.) Kann eine Zeit definiert werden, um einen ALARM zu verzögern? Wird automatisch abgebrochen wenn ich in der Zeit nach Hause komme?
4.) Kann man mittels Schalter (Fernbedienung) sagen, das alle Alarme deaktiviert werden sollen bzw. laufende Alarme (Sirene usw.) abgebrochen werden sollen?
5.) Kann man irgendwie auch Feuer/Gas/Wassermelder einbinden?
6.) Gibt es Einschränkungen bei den CMDs was die Zeichen angeht bzw. muss ich irgendwas Escapen wie z.B. | " ' ; usw.?


  • Ich weiß leider nicht genau was Du damit meinst! In der dev Branch Version gibt es ein neues Attribut "HomeModeAlarmArmDelay", in welchem man eine Verzögerung der 3 arm Zustände einstellen kann. Vielleicht ist es das was Du meinst!?
  • Wenn sich das auf HomeModeAlarmArmDelay bezieht: JA.
  • Nein, denn ich möchte alarmiert werden wenn es einen Alarm gibt und nicht erst wenn ein evtl. Einbrecher schon wieder weg ist!
  • Da ist seitens HOMEMODE nichts vorgegeben, da ich Eure Alarmgeber nicht kenne. Du kannst aber gerne einen Abbruch deines Alarmgebers in das Attribut HomeCMDmodeAlarm-disarm einbauen.
  • Bisher nicht. Die Idee gefällt mir aber, eine Integration könnte Sinn machen. Ich schreibe es mal mit auf die Todo-Liste.
  • Keine besonderen! Es ist normaler Perl- bzw. FHEM-Code. Alles was in der FHEM-Eingabezeile bzw. in notify(s)/at(s) funktioniert, funktioniert auch in den HomeCMD Attributen.



Zitat von: hartenthaler am 24 März 2017, 16:37:56
müsste das nicht eher 03.01|spring heißen?

Das war ein Test!
Wollte mal sehen ob es jemanden auffällt. 8)
Neee Quatsch, danke für den Hinweis. Da ist mir ein Fehler unterlaufen. ;)
Das lag sicher daran dass ich 3x überlegt habe ob ich nun deutsches oder englisches/internationales Format nehme, habe mich dann aber wegen der Globalität für das englisches/internationales Format entschieden.

Gruß
Dan

P.S. Wenn ich es schaffe, gibt es heute Abend eine fehlerbereinigte neue dev Version. Versuche gerade noch UWZ zu integrieren.
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

mumpitzstuff

Zitat von: DeeSPe am 24 März 2017, 17:34:43

  • Ich weiß leider nicht genau was Du damit meinst! In der dev Branch Version gibt es ein neues Attribut "HomeModeAlarmArmDelay", in welchem man eine Verzögerung der 3 arm Zustände einstellen kann. Vielleicht ist es das was Du meinst!?
  • Wenn sich das auf HomeModeAlarmArmDelay bezieht: JA.
  • Nein, denn ich möchte alarmiert werden wenn es einen Alarm gibt und nicht erst wenn ein evtl. Einbrecher schon wieder weg ist!
  • Da ist seitens HOMEMODE nichts vorgegeben, da ich Eure Alarmgeber nicht kenne. Du kannst aber gerne einen Abbruch deines Alarmgebers in das Attribut HomeCMDmodeAlarm-disarm einbauen.
  • Bisher nicht. Die Idee gefällt mir aber, eine Integration könnte Sinn machen. Ich schreibe es mal mit auf die Todo-Liste.
  • Keine besonderen! Es ist normaler Perl- bzw. FHEM-Code. Alles was in der FHEM-Eingabezeile bzw. in notify(s)/at(s) funktioniert, funktioniert auch in den HomeCMD Attributen.


  • Ja. Das ist genau was ich suche.
  • Der Anwendungsfall ist der, dass ich irgendwo in der Wohnung einen Schalter habe, um den Alarm abzustellen. Das bedeutet ich löse den Alarm beim betreten der Wohnung aus (Türkontakt, Bewegung), habe dann aber noch 10s-15s Zeit den Alarm abzustellen, bevor meine Nachbarn aus dem Bett fallen.
  • Super.

Danke für die Antworten!

docspider

Bekomme seit heute nach einem FHEM Update und HM Update folgende Fehlermeldung wenn
ich über die FHEM Konsole einen manuellen reload des HM Moduls durchführe:
"Unrecognized character \xC2; marked by <-- HERE after at master <-- HERE near column 49 at ./FHEM/22_HOMEMODE.pm line 23. "
Mein angelegtes HOMMODE Device ist in der Sidebar nicht mehr vorhanden. In der fhem.cfg findet sich das Device auch nicht mehr aber alle anderen (z.B Residents)
Einträge sind noch da..... Shutdown und restart durchgeführt ohne Erfolg.

Nach Versuch das HM Device einfach nochmal anzulegen kommt der Hinweis:"Cannot load module HOMEMODE "...
Hat jemand eine Idee? Bin ich hier überhaupt richtig? :-[

Danke vorab.....

DeeSPe

Woher stammt das Modul 22_HOMEMODE.pm?
Hast Du das manuell bei GitHub runtergeladen?
Vermutlich nicht als RAW!?

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

docspider

#351
Zitat von: DeeSPe am 26 März 2017, 23:15:48
Woher stammt das Modul 22_HOMEMODE.pm?
Hast Du das manuell bei GitHub runtergeladen?
Vermutlich nicht als RAW!?

Gruß
Dan
Hallo Dan,

ja genauso war es. Die Update Funktion wie im Beitrag für die Installation beschrieben hat eine Fehlermeldung ausgegeben:
2017.03.27 17:37:56 1 : UPD FHEM/22_HOMEMODE.pm
2017.03.27 17:37:56 1 : open ./FHEM/22_HOMEMODE.pm failed: Permission denied, trying to restore the previous version and aborting the update

Danach wollte ich die aktuelle Datei hier direkt herunterladen aber habe sie im Beitrag nicht mehr gefunden. Dann hab ich sie
bei GitHub manuell heruntergeladen und vermutlich nicht als RAW.

Was soll ich jetzt am besten machen?

Gruß
Rolf



DeeSPe

Bei mir, und scheinbar auch allen anderen, klappt das genau so mit einem einmaligen Update:
update all https://raw.githubusercontent.com/deespe/fhem-HOMEMODE/master/controls_HOMEMODE.txt

Oder das Modul eben als RAW von GitHub herunterladen und manuell in das FHEM Verzeichnis schieben.

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

docspider

#353
Zitat von: DeeSPe am 27 März 2017, 17:40:40
Bei mir, und scheinbar auch allen anderen, klappt das genau so mit einem einmaligen Update:
update all https://raw.githubusercontent.com/deespe/fhem-HOMEMODE/master/controls_HOMEMODE.txt

Oder das Modul eben als RAW von GitHub herunterladen und manuell in das FHEM Verzeichnis schieben.

Gruß
Dan

Hallo Dan,
vielen Dank für die schnelle Unterstützung.

Habe es folgendermaßen lösen können:
1. HM Device in fhem.cfg aus Backup wieder hergestellt
2. Von GitHub Modul heruntergeladen und in das FHEM Verzeichnis geschoben.
3. Berechtigungen (habe ich leider zu spät gesehen) des Moduls korrekt gesetzt.
4. Restart
5. Nochmals Update wie oben von Dir schon beschrieben

und siehe da, keine Fehlermeldung mehr und alles scheint wieder in Ordnung.
Warum der Eintrag des HM Device aus der cfg verschwunden war und die Berechtigungen des Moduls
im FHEM Verzeichnis verändert waren kann ich leider nicht nachvollziehen.

Also erstmal Danke für die schnelle Hilfe und ich muss die Tage schauen ob alles wieder ok ist.
Schaut aber gut aus.

Gruß
Rolf

DeeSPe

v0.262 ist im dev Branch verfügbar.
Wer gerne vorab testen möchte, wie immer:
update all https://raw.githubusercontent.com/deespe/fhem-HOMEMODE/dev/controls_HOMEMODE.txt

Das Problem mit HomeSensorsContactOpenTimeDividers habe ich behoben, es muss nun genauso viele Divider geben wie Jahreszeiten, sonst gibt es beim Setzen eine Fehlermeldung.
Eine erster Integrationsversuch von UWZ ist auch vorhanden, bin aber noch nicht sicher ob und wie das so funktioniert. Habe das aufgrund mangelnden Unwetters nur nach commandref umgesetzt. Ich denke das ist noch ausbaufähig.
Es gibt für UWZ die neuen Attribute HomeUWZ, HomeCMDuwz-warn-begin und HomeCMDuwz-warn-end und die Platzhalter %UWZLONG% sowie %UWZSHORT% für die Texte der verfügbaren Warnmeldungen.

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

kjmEjfu

Zitat von: DeeSPe am 27 März 2017, 22:14:28
Es gibt für UWZ die neuen Attribute HomeUWZ, HomeCMDuwz-warn-begin und HomeCMDuwz-warn-end und die Platzhalter %UWZLONG% sowie %UWZSHORT% für die Texte der verfügbaren Warnmeldungen.

Wenn mehrere Unwetterwarnungen aktiv sind, welche zieht sich das Modul dann? Alle? nur die neueste? Die mit der höchsten Warnstufe? Die zeitlich am engsten gefasste?
Migriere derzeit zu Home Assistant

DeeSPe

Zitat von: kjmEjfu am 28 März 2017, 08:39:41
Wenn mehrere Unwetterwarnungen aktiv sind, welche zieht sich das Modul dann? Alle? nur die neueste? Die mit der höchsten Warnstufe? Die zeitlich am engsten gefasste?

Bisher sollten bei allen Warnstufen > 0 der begin getriggert werden und in den Platzhaltern sollten alle Warntexte ausgegeben werden.
Wenn mehr als eine Warnung vorhanden ist, werden die Texte bisher durchnummeriert.
Wie gesagt, das werde ich noch verfeinern, die Frage ist nur wie! Dazu fehlt mir bisher Erfahrung mit UWZ.

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

l2r

hi,

ich verwende seit kurzem das Modul PowerMap und den Verbrauch von Geräten, die keine eigenen Powermessung haben zu erfassen. Nun möchte ich die auch in Summe in meinem HOMEMODE-Device erfassen. Du sagt dazu werden die Readings energy und power benötigt.

Klappt soweit auch ganz gut. Allerdings bin ich jetzt bei meinem Fernseher (BRAVIA) auf das Problem gestoßen, dass das power-Reading schon vom BRAVIA-Modul belegt ist (on|off). Ich kann zwar das Reading überschreiben, jedoch steht beim aus bzw. einschalten immer erst on|off drin.

Könntest du einbauen, dass die Readings auch andere Bezeichnungen nutzen könnten bzw. generell auf power und energy geschaut wird, außer wenn man es über das Attribut explizit angibt? oder geht das schon und ich bin zu doof das zu verwenden.

Alternativ wäre es ziemlich genial, wenn sich dein Modul generell alle durch PowerMap erfassten Daten direkt ziehen würde....

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

DeeSPe

Zitat von: l2r am 29 März 2017, 16:36:52
hi,

ich verwende seit kurzem das Modul PowerMap und den Verbrauch von Geräten, die keine eigenen Powermessung haben zu erfassen. Nun möchte ich die auch in Summe in meinem HOMEMODE-Device erfassen. Du sagt dazu werden die Readings energy und power benötigt.

Klappt soweit auch ganz gut. Allerdings bin ich jetzt bei meinem Fernseher (BRAVIA) auf das Problem gestoßen, dass das power-Reading schon vom BRAVIA-Modul belegt ist (on|off). Ich kann zwar das Reading überschreiben, jedoch steht beim aus bzw. einschalten immer erst on|off drin.

Könntest du einbauen, dass die Readings auch andere Bezeichnungen nutzen könnten bzw. generell auf power und energy geschaut wird, außer wenn man es über das Attribut explizit angibt? oder geht das schon und ich bin zu doof das zu verwenden.

Alternativ wäre es ziemlich genial, wenn sich dein Modul generell alle durch PowerMap erfassten Daten direkt ziehen würde....

Gruß Michael

Etwas Ähnliches wurde schon einmal angefragt.
Bisher scheue ich mich aber davor da eine Veränderung reinzubringen.
Denn das würde bedeuten zu einen globalen Attribut im HOMEMODE Device auch noch jedem Energiemesser ein entsprechendes userattr mitzugeben, denn es wäre ja möglich dass das Reading bei jedem Sensor anders heißt.
Den Energiemessern werden bisher keine userattr zugewiesen, im Gegensatz zu Kontakt- oder Bewegungssensoren die einige userattr durch HOMEMODE bekommen.

Bin gerne bereit das zu ändern wenn jemand einen sinnvollen Vorschlag dazu macht.
M.E. geht das wie gesagt nur mit einem globalen Attribut (HomeSensorsPowerEnergyReadings) und entsprechenden userattr (HomeReadings) in jedem Energiemesser.
Oder ich müsste das Attribut HomeSensorsPowerEnergy komplett umbauen. Dann würde dieses aber keinen normalen Devspec mehr entgegennehmen, sondern etwas in der Form:
Sensor1Name:ReadingEnergy:ReadingPower:DividerEnergy:DividerPower,Sensor2Name:ReadingEnergy:ReadingPower,Sensor3Name
Sobald das Attribut HomeSensorsPowerEnergy also ein : enthält würde ich keinen normalen Devspec mehr anwenden, sondern die eben vorgestellte erweiterte Form.
Wenn ReadingEnergy und ReadingPower weggelassen werden, dann würde ich eben energy/power annehmen. Wenn DividerEnergy und DividerPower weggelassen werden, dann nehme ich jeweils Divider 1 an.
Ich stelle mal diese beiden Möglichkeiten zur Diskussion.
Evtl. gibt es noch andere Lösungen die mir gerade nicht einfallen.
Bin für Vorschläge offen.

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: l2r am 29 März 2017, 16:36:52
hi,

ich verwende seit kurzem das Modul PowerMap und den Verbrauch von Geräten, die keine eigenen Powermessung haben zu erfassen. Nun möchte ich die auch in Summe in meinem HOMEMODE-Device erfassen. Du sagt dazu werden die Readings energy und power benötigt.

Klappt soweit auch ganz gut. Allerdings bin ich jetzt bei meinem Fernseher (BRAVIA) auf das Problem gestoßen, dass das power-Reading schon vom BRAVIA-Modul belegt ist (on|off). Ich kann zwar das Reading überschreiben, jedoch steht beim aus bzw. einschalten immer erst on|off drin.

Könntest du einbauen, dass die Readings auch andere Bezeichnungen nutzen könnten bzw. generell auf power und energy geschaut wird, außer wenn man es über das Attribut explizit angibt? oder geht das schon und ich bin zu doof das zu verwenden.

Alternativ wäre es ziemlich genial, wenn sich dein Modul generell alle durch PowerMap erfassten Daten direkt ziehen würde....

Gruß Michael

Die wohl einfachste Lösung in diesem speziellen Fall wäre, um HOMEMODE nicht ändern und damit auch nicht weiter verkomplizieren zu müssen, einen dummy anzulegen und die entsprechenden Readings auf die power und energy Readings dieses dummy zu schreiben.

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