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

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

Vorheriges Thema - Nächstes Thema

DeeSPe

#390
Es ist vollbracht!
Soeben habe ich das Modul in v1.0.0 in das offizielle SVN von FHEM eingecheckt.
Somit steht es ab morgen für alle im Update bereit.

Bitte löscht die evtl. vorhanden zusätzlichen Einträge im FHEM Update:
update delete https://raw.githubusercontent.com/deespe/fhem-HOMEMODE/master/controls_HOMEMODE.txt
oder
update delete https://raw.githubusercontent.com/deespe/fhem-HOMEMODE/dev/controls_HOMEMODE.txt

Nochmals vielen Dank an alle Tester und Feedback-Geber.

Im Github Repo werde ich zukünftig weiter Beta Versionen mit Funktionserweiterungen zum Vorab-Testen bereitstellen.

Gruß
Dan

P.S. Zeitpunkt jetzt sind alle Repos auf exakt gleichem Stand. Alle Github Branches sind identisch mit der Version im SVN.
P.P.S.
Changelog
v1.0.0

  • discard negative values in power, energy and luminance calculations
  • improved removal of Home userattr on released devices
  • remove all Home userattr in UndefFn
  • fixed waittime warnings
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


Use of uninitialized value $waittime in concatenation (.) or string at ./FHEM/22_HOMEMODE.pm line 2245.
Use of uninitialized value $minutes in pattern match (m//) at ./FHEM/22_HOMEMODE.pm line 1922.
2017.04.27 17:29:50 1: define atTmp_HomeOpenTimer_Terassen_Tuer_Homemode at +no valid minutes given {HOMEMODE_ContactOpenCheck("Homemode","Terassen_Tuer","",2)}: Wrong timespec no: either HH:MM:SS or {perlcode}
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $waittime in concatenation (.) or string at ./FHEM/22_HOMEMODE.pm line 2225.
Use of uninitialized value $waittime in concatenation (.) or string at ./FHEM/22_HOMEMODE.pm line 2245.
Use of uninitialized value $minutes in pattern match (m//) at ./FHEM/22_HOMEMODE.pm line 1922.
2017.04.27 17:38:01 1: define atTmp_HomeOpenTimer_Terassen_Tuer_Homemode at +no valid minutes given {HOMEMODE_ContactOpenCheck("Homemode","Terassen_Tuer","",2)}: Wrong timespec no: either HH:MM:SS or {perlcode}
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.
Use of uninitialized value $d in hash element at fhem.pl line 3970.

Hi Dan,
nach dem letzten Update habe ich die folgenden Fehler.Ich habe in der zwischenzeit nichts geändert,von daher muss es durch eine Änderung am Modul kommen. Vll habe ich auch nur überlesen, dass ich was ändern muss. Wollte dich nur Informieren.
Grüße

DeeSPe

Danke. Hatte den Fehler schon selbst bemerkt und in der v1.0.0 gefixt.

Habe im Beitrag drüber mal noch das Changelog angefügt.
Das hatte ich leider vergessen. 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

Chris8888

#393
Hallo Dan,

erst einmal danke und super, dass dein Modul nun "final" ist.
Seit dem heutigen Update läuft mir allerdings sekündlich das Log voll:
2017.04.28 16:35:39 1: devStateIcon XXXstr: Undefined subroutine &main::HOMEMODE_devStateIcon called at (eval 2024) line 1.

Hast du eine Idee was das ist?

Danke und Gruß
Christian


Kommando zurück, ich habe herade deinen Eintrag #381 gesehen. Hat sich erledigt.

Und dann noch langsamer als du...Asche auf mein Haupt. ;-)
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

DeeSPe

Zitat von: Chris8888 am 28 April 2017, 16:40:42
Hallo Dan,

erst einmal danke und super, dass dein Modul nun "final" ist.
Seit dem heutigen Update läuft mir allerdings sekündlich das Log voll:
2017.04.28 16:35:39 1: devStateIcon XXXstr: Undefined subroutine &main::HOMEMODE_devStateIcon called at (eval 2024) line 1.

Hast du eine Idee was das ist?

Danke und Gruß
Christian

Bitteschön: https://forum.fhem.de/index.php/topic,64317.msg621994.html#msg621994

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

v1.0.1 ist ab sofort im SVN und ab morgen im Update.

Einen übersehenen Mini-Bug (Use of uninitialized value $d in hash element at fhem.pl line 4053) und einen Darstellungsfehler in der commandref habe ich behoben.

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

#396
Moin,
ich habe mir soeben eine HomeSpecialLocation mit dem Namen sofa angelegt. Danach habe ich set xyz updateInternalsForce durchgeführt, allerdings taucht das ganze nicht im HomeCMDlocation-sofa auf. Gibt es irgendwelche Informationen, warum das nicht will?
(Habe auch schon nen shutdown restart gemacht - ohne Erfolg).


EDIT: Ich habe mir jetzt erstmal das userattr HomeCMDlocation-sofa:textField-long von Hand hinzugefügt, allerdings weiß ich nicht, ob das evtl. automatisch wieder überschrieben wird nach nem Neustart.

DeeSPe

#397
Zitat von: ComputerZOO am 03 Mai 2017, 22:24:08
Moin,
ich habe mir soeben eine HomeSpecialLocation mit dem Namen sofa angelegt. Danach habe ich set xyz updateInternalsForce durchgeführt, allerdings taucht das ganze nicht im HomeCMDlocation-sofa auf. Gibt es irgendwelche Informationen, warum das nicht will?
(Habe auch schon nen shutdown restart gemacht - ohne Erfolg).


EDIT: Ich habe mir jetzt erstmal das userattr HomeCMDlocation-sofa:textField-long von Hand hinzugefügt, allerdings weiß ich nicht, ob das evtl. automatisch wieder überschrieben wird nach nem Neustart.

Danke, das war mir noch gar nicht aufgefallen.
Die HomeSpecialLocations wurden versehentlich als HomeCMDmode-..... Attribute erstellt.
Habe es in meiner Dev Version schon gefixt und kommt mit dem nächsten Update.
Ein paar weitere Kleinigkeiten habe ich auch gefixt, muss das aber nochmal bis morgen im Live-System testen bevor ich die neue Version veröffentliche.

Gruß
Dan

EDIT: Übrigens ist updateInternalsForce nicht nötig beim Verändern der Attribute des HOMEMODE Device. Wenn nötig wird das automatisch ausgeführt.
updateInternalsForce ist nur nötig wenn Devices ausserhalb vom HOMEMODE Device verändert werden. Z.B. wenn RESIDENTS hinzugefügt oder entfernt werden, oder PRESENCE Devices hinzugefügt oder entfernt werden.
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

peter0255

Hallo Dan,

kann man vielleicht den Code von Deinem Homemode Eve App kopieren, würde bei mir mit kleinen Anpassungen genau passen und würde mir viel Arbeit sparen.

Viele Grüße Peter

DeeSPe

Zitat von: peter0255 am 05 Mai 2017, 14:14:48
Hallo Dan,

kann man vielleicht den Code von Deinem Homemode Eve App kopieren, würde bei mir mit kleinen Anpassungen genau passen und würde mir viel Arbeit sparen.

Viele Grüße Peter

Das ist Open Source, kopiere was Du möchtest und passe es für Dich an! 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

peter0255

Hallo Dan,

ich wollte bei mir wie Du es in der EVE APP.png gemacht hast unter Wohnung Temperatur, Energieverbrauch usw. anzeigen, bekomme aber mit den Platzhalter keine Werte angezeigt. Hast Du vielleicht ein Bsp. für Temperatur ? WEATHER ist angelegt, bekomme auch die Werte im HomeMode

Gruß Peter

DeeSPe

Zitat von: peter0255 am 05 Mai 2017, 14:48:31
Hallo Dan,

ich wollte bei mir wie Du es in der EVE APP.png gemacht hast unter Wohnung Temperatur, Energieverbrauch usw. anzeigen, bekomme aber mit den Platzhalter keine Werte angezeigt. Hast Du vielleicht ein Bsp. für Temperatur ? WEATHER ist angelegt, bekomme auch die Werte im HomeMode

Gruß Peter

Das homebridgeMapping wird automatisch (anhand der vorhandenen Readings) richtig gesetzt wenn Du "set <HOMEMODE> updateHomebridgeMapping" ausführst.

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.0.2 in SVN eingecheckt.
Ist dann also ab morgen früh im Update enthalten.

Changelog v1.0.2:

  • fixed userattr for HomeSpecialLocations
  • fixed holiday calendar end event
  • fixed repeated resetting count of presence devices
  • removed space-replacing dashes in event readings and their placeholders
  • added attribute HomeCMDfhemINITIALIZED
  • added attribute disabledForIntervals
  • created at(s) are persistent now on "shutdown restart"
  • userattr of HOMEMODE device will now be recreated on updateInternalForce
  • placeholders can now be used without quote marks (if needed for numbers)
  • sort set locations alphabetically
  • sort set modes alphabetically
  • lots of simplifications in NotifyFN
  • added missing dependencies
  • removed Dumper
  • removed some verbose 5 logs

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

Nabend.

Schön das das Modul jetzt offiziell ist.
Ich würde hier gerne mein interesse an der Option => "Überwachung von Batteriewerten und passendem HomeCMD Attribut" vermerken.
Zusätzlich eine kurze Frage zu


HomeCMDdaytime
Befehle die ausgeführt werden sollen sobald sich die Tageszeit (daytime) auf einen beliebigen Wert ändert.
Um die jeweilige eingetretene Tageszeit zu ermitteln ist der Platzhalter %DAYTIME% vorgesehen.
Auslöser: Änderung der Tageszeit (daytime)

Ich würde das jetzt so verstehen nach dem Motto:  attr Homemode HomeCMDdaytime ((10:00) set hier da dortn;(11:00) set dort hier usw).
Ich vermute allerdings, dass ich damit nicht ganz richtig liege. Könnte da jemand kurz nen Tip zu geben?

Danke

DeeSPe

Zitat von: Esjay am 05 Mai 2017, 22:35:54
Ich würde hier gerne mein interesse an der Option => "Überwachung von Batteriewerten und passendem HomeCMD Attribut" vermerken.

Bin noch am überlegen wie ich das unterbringen soll.
Problematisch sind die unterschiedlichen Batteriewerte.

Zitat von: Esjay am 05 Mai 2017, 22:35:54
Zusätzlich eine kurze Frage zu


HomeCMDdaytime
Befehle die ausgeführt werden sollen sobald sich die Tageszeit (daytime) auf einen beliebigen Wert ändert.
Um die jeweilige eingetretene Tageszeit zu ermitteln ist der Platzhalter %DAYTIME% vorgesehen.
Auslöser: Änderung der Tageszeit (daytime)

Ich würde das jetzt so verstehen nach dem Motto:  attr Homemode HomeCMDdaytime ((10:00) set hier da dortn;(11:00) set dort hier usw).
Ich vermute allerdings, dass ich damit nicht ganz richtig liege. Könnte da jemand kurz nen Tip zu geben?

Hier geht es um Befehle die zur jeweiligen daytime ausgeführt werden sollen.
Mit daytime sind die Tageszeiten aus Attribut HomeDaytimes gemeint!
ZitatHomeDaytimes
space separated list of time|text pairs for possible daytimes starting with the first event of the day (lowest time)
default: 05:00|morning 10:00|day 14:00|afternoon 18:00|evening 23:00|night

Der Platzhalter %DAYTIME% wäre zur Programmierung innerhalb von HomeCMDdaytime.
Bei gesetztem "HomeAdvancedUserAttr 1" kannst Du auch die Attribute HomeCMDdaytime-<Tageszeit> für jede Tageszeit individuell benutzen.

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