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

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

Vorheriges Thema - Nächstes Thema

charly166

Zitat von: DeeSPe am 19 Dezember 2019, 16:37:36
Hallo charly166,

ich komme leider im Moment zeitlich nicht dazu mir das näher anzusehen und auszutesten,
Hoffentlich ist im Januar wieder etwas mehr Ruhe dafür.

Gruß
Dan

Hallo Dan,
mach dir bitte keinen Stress - das ist alles nur nice to have. Genieße nun erstmal Weihnachten. Ich habe mich nun erstmal mit einem Workaround beholfen und lese die Events beim Auslösen nochmal aus dem Kalender direkt ein!
Viele Grüße

Charly
--- FHEM 5.9 Docker Image fhem/fhem-docker auf Diskstation ---

FunkOdyssey

Kann es sein, dass dieses Modul battery-Readings (Zwave), die Prozentwerte enthalten mit dem Wert "ok" überschreiben? Irgendwie hat sich seit dem Tests des Moduls meine andere Batterieüberwachung verabschiedet.

DeeSPe

Zitat von: FunkOdyssey am 26 Dezember 2019, 00:43:11
Kann es sein, dass dieses Modul battery-Readings (Zwave), die Prozentwerte enthalten mit dem Wert "ok" überschreiben? Irgendwie hat sich seit dem Tests des Moduls meine andere Batterieüberwachung verabschiedet.

Nein, das Modul überschreibt definitiv keine Readings in anderen Devices.

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

FunkOdyssey

Wirklich nicht.
Ich bin nicht fit in Perl, aber das hier sieht nach meinen Problemen aus:
https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/22_HOMEMODE.pm#L665

Ich habe zeitgleich im Log eine OK-Meldung und den Prozentwert.

DeeSPe

#1054
Der erwähnte Code setzt keine Readings.
Hier werden lediglich beim Ausführen von updateInternals zwei Trigger gesendet. Dies ist nötig, damit beim Hinzufügen neuer Sensoren mit leerer Batterie diese auch sofort erkannt werden und das entsprechende HomeCMD ausgeführt wird.

Ich denke nicht dass es gut und übersichtlich ist 2 Batterieüberwachungen zu verwenden. Dabei können genau diese ungewollten Effekte auftreten.

Die Trigger konnte ich nicht entfernen, aber ich habe in der angehängten Testversion den ersten Trigger so verändert dass bei nummerischen Werten auch ein numerischer erster Trigger (100 bzw. 100% bzw. 100 %) gesendet wird statt dem ok, evtl hilft Dir das weiter!?

Gruß
Dan

EDIT: Dateianhang entfernt.
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

FunkOdyssey

Ich nehme dein Modul dann mal wieder in Betrieb. Mit der Version aus dem Post oben. Ich beobachte das nun weiter.




Folgende Zeilen hatte ich bisher im Log, wenn HOMEMODE in Benutzung war:

2019-12-08_17:20:20 zw_pir battery: ok
2019-12-08_17:20:20 zw_pir battery: 100 %


Und das können eigentlich nicht die Zeiten sein, in denen sich der Z-Wave-Sensor normalerweise meldet. Täglich um 06:00 Uhr hole ich per "get xyz battery" die Werte und warte danach aufs WAKEUP.

Ich nutze folgende Batterieüberwachung:
https://forum.fhem.de/index.php/topic,82637.0.html
https://github.com/Amenophis86/Batteryfunktion/tree/no-BatteryStatusBot

Die versagt scheinbar aber, wenn im Log plötzlich zeitgleiche Events auftreten und außerdem Text und Werte miteinander vermischt werden.




Ich verstehe aber nicht wieso du HOMEMODE schreibend auf die Geräte zugreift. Mir ist das egal, ob ein Modul auf fremde Module zugreift. Aber warum werden die Readings getriggert und dann scheinbar auch mit falschen Werten überschrieben?



DeeSPe

Zitat von: FunkOdyssey am 27 Dezember 2019, 16:41:33
Ich verstehe aber nicht wieso du HOMEMODE schreibend auf die Geräte zugreift. Mir ist das egal, ob ein Modul auf fremde Module zugreift. Aber warum werden die Readings getriggert und dann scheinbar auch mit falschen Werten überschrieben?

Hier wird nicht schreibend auf Geräte zugegriffen!
Weitere Erklärung wie schon hier:
Zitat von: DeeSPe am 27 Dezember 2019, 09:30:29
Der erwähnte Code setzt keine Readings.
Hier werden lediglich beim Ausführen von updateInternals zwei Trigger gesendet. Dies ist nötig, damit beim Hinzufügen neuer Sensoren mit leerer Batterie diese auch sofort erkannt werden und das entsprechende HomeCMD ausgeführt wird.

Ich denke nicht dass es gut und übersichtlich ist 2 Batterieüberwachungen zu verwenden. Dabei können genau diese ungewollten Effekte auftreten.

Zitat von: FunkOdyssey am 27 Dezember 2019, 16:41:33
Ich nehme dein Modul dann mal wieder in Betrieb. Mit der Version aus dem Post oben. Ich beobachte das nun weiter.

Wenn Dir das Modul, welches ich in meiner Freizeit (für hauptsächlich mich) erstellt habe und es dann weiter so modifiziert habe so dass auch andere Benutzer etwas damit anfangen können, nicht zusagt ist das für mich völlig okay. Niemand zwingt Dich das Modul zu benutzen.

Schönen guten Abend...
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

FunkOdyssey

Ich dachte, dass ich damit helfen könnte.

Hast du batteriebetriebene Zwave-Geräte?
Mich würde es interessieren, ob du so etwas auch im FileLog hast.

FunkOdyssey

Nun sieht es folgendermaßen in meinem Sensoren-Log aus:


2019-12-27_18:26:59 contact_garage battery: 100
2019-12-27_18:26:59 contact_garage battery: 100%
2019-12-27_18:26:59 contact_garage battery: 100 %
2019-12-27_18:26:59 contact_garage battery: 90 %


90% war der letzte alte Wert im FileLog. Dieser dürfte der richtige Wert sein.

suppenesser

Hallo zusammen,

kann es sein das sich im Wiki zum Modul Homemode ein Schreibfehler eingeschlichen hat?
Beim Attribut HomeCMDfhemSAVE steht im Wiki .....Timeow(), sollte das nicht ...TimeNow() sein?

Jedenfalls ist seit der Änderung auf TimeNow mein Fehler im LOG weg..... (siehe Anhänge)

Grüße Thomas
Raspberry PI B+ | HM-LAN-CFG | HM-LC-Sw1PBU-FM | HM-TC-WM-W-EU | DECT 200 | DHT22 | 1 Wire Temp.Sensoren

binford6000

Zitat von: suppenesser am 03 Januar 2020, 08:23:00
Hallo zusammen,

kann es sein das sich im Wiki zum Modul Homemode ein Schreibfehler eingeschlichen hat?
Beim Attribut HomeCMDfhemSAVE steht im Wiki .....Timeow(), sollte das nicht ...TimeNow() sein?

Jedenfalls ist seit der Änderung auf TimeNow mein Fehler im LOG weg..... (siehe Anhänge)

Grüße Thomas

Ist korrigiert  ;)
VG Sebastian

Wolle02

Guten Morgen,

ich spiele gerade mit dem Homemodemodul herum. Die automatische Erkennung der Presence-Devices hat auch gut funktioniert; nur leider etwas zu gut  ;) Ich habe nämlich neben der BT und WLAN Presence-Erkennung meines Handys auch zwei Presence-Devices für meine Computer. Da diese Presence-Devices auch meinen Namen beinhalten wurden sie von Homemode nun auch erkennt, so dass im Attribut HomePresenceDeviceAbsentCount-rr_Wolle nun der Wert 4 steht.
So steht es ja auch im Wiki:
ZitatWerden pro ROOMMATE/GUEST mehrere Presence Devices gefunden und zugeordnet, so wird automatisch dass Attribut HomePresenceDeviceAbsentCount-<NAME-ROOMMATE/GUEST> auf die Anzahl der gefundenen Presence Devices gesetzt, so dass der/die jeweilige ROOMMATE/GUEST immer erst als abwesend gewertet wird sobald alle zugehörigen Presence Devices abwesend sind. Analog dazu gibt es noch das Attribut HomePresenceDevicePresentCount-<NAME-ROOMMATE/GUEST>.

Nun möchte ich gerne die beiden Presence-Devices für meine Computer von der Erkennung ausschließen. Leider finde ich nirgends im Modul die einzelnen Devices, die herangezogen werden. Ich kann natürlich das Attribut HomePresenceDeviceAbsentCount-rr_Wolle auf 2 setzen, dann weiß ich ja aber nicht, ob auch wirklich die Computer von der Anwesenheitserkennung ausgeschlossen sind oder meine Handy mit BT und WLAN.

Was verstehe ich hier denn grundlegend falsch?

Gruß
Wolle

volschin

Zitat von: Wolle02 am 04 Januar 2020, 07:39:40
Guten Morgen,

ich spiele gerade mit dem Homemodemodul herum. Die automatische Erkennung der Presence-Devices hat auch gut funktioniert; nur leider etwas zu gut  ;) Ich habe nämlich neben der BT und WLAN Presence-Erkennung meines Handys auch zwei Presence-Devices für meine Computer. Da diese Presence-Devices auch meinen Namen beinhalten wurden sie von Homemode nun auch erkennt, so dass im Attribut HomePresenceDeviceAbsentCount-rr_Wolle nun der Wert 4 steht.
So steht es ja auch im Wiki:
Nun möchte ich gerne die beiden Presence-Devices für meine Computer von der Erkennung ausschließen. Leider finde ich nirgends im Modul die einzelnen Devices, die herangezogen werden. Ich kann natürlich das Attribut HomePresenceDeviceAbsentCount-rr_Wolle auf 2 setzen, dann weiß ich ja aber nicht, ob auch wirklich die Computer von der Anwesenheitserkennung ausgeschlossen sind oder meine Handy mit BT und WLAN.

Was verstehe ich hier denn grundlegend falsch?

Gruß
Wolle
Nenn deine Computer einfach nicht Wolle, dann passt das auch. [emoji6]
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Wolle02

Na das ist mir schon auch klar; aber das kann doch nicht die Lösung sein!?

binford6000

Zitat von: Wolle02 am 04 Januar 2020, 12:08:09
Na das ist mir schon auch klar; aber das kann doch nicht die Lösung sein!?

Wenn es Windows Rechner sind, könntest du noch das Modul WINCONNECT für diese verwenden anstatt PRESENCE.
https://wiki.fhem.de/wiki/WINCONNECT

Ansonsten wie volschin vorgeschlagen hat einfach umbenennen.  ;)

VG Sebastian