Batteriestatus und Speicherung des letzten Wechsel

Begonnen von Amenophis86, 12 Januar 2018, 19:23:20

Vorheriges Thema - Nächstes Thema

_fhemuser_

#30
Ich bin gerade auf diesen thread gestossen und finde die Idee dahinter sehr gut, aber in den letzten Beitägen versucht ihr über die groupid einen Zwischenstatus zu speichern.
Das funktioniert nicht wenn der MAX-Cube und Fensterkontakte verwendet werden. Über die groupid werden die Fensterkontakte den passenden Heizungsreglern zugeordnet.

Readings Fensterkontakt hinzugefügt

MAXLAN_error 0
MAXLAN_errorInCommand
MAXLAN_initialized 1
MAXLAN_isAnswer 0
MAXLAN_valid 100
RSSI -75
battery ok
firmware 1.4
groupid 2
onoff 0
state closed
testresult 15
fhem in der aktuellsten Version auf:
Raspberry 4 mit SSD | fhem2fhem | NanoCul433 Selbstbau | NanoCul868 Selbstbau | DbLog | MAX! | zigbee2MQTT | homebridge | alexa
inkl zigbee2MQTT Server, Unifi-Server

Raspberry 4 mit SD Karte | fhem2fhem | motioneye

Amenophis86

Wieso? Wenn eine GroupID vergeben wurde wird diese auf 0 gesetzt nach einem Tausch. Wenn keine vergeben wurde, dann muss der Nutzer nur eine fiktive einmalig vergeben um auf diese zu triggern, wenn sie wieder 0 ist. Nach dem Tausch wird dann entweder die alte wieder gesetzt, oder die fiktive.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Wzut

ist doch schön dann gibt es ein Reading groupid - genau darum geht es erst einmal.
Die Frage ist allerdings wie verhält sich da das Reading bei Batt Wechsel ?
Ich kann das leider nicht nachstellen da ich schon ewig keine Original MAX Software mehr betreibe.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

_fhemuser_

#33
Die IDs werden im Cube passend zu den Geräten gespeichert und haben sich bei mir bisher beim Batteriwechsel in den Thermostaten nicht verändert. Bei den Fensterkontakten habe ich bislang noch keine Batterien getauscht.

Ich werde mal testweise alte Batterien in einen Fensterkontakt und in einen Thermosaten einbauen und testen.
fhem in der aktuellsten Version auf:
Raspberry 4 mit SSD | fhem2fhem | NanoCul433 Selbstbau | NanoCul868 Selbstbau | DbLog | MAX! | zigbee2MQTT | homebridge | alexa
inkl zigbee2MQTT Server, Unifi-Server

Raspberry 4 mit SD Karte | fhem2fhem | motioneye

Wzut

OK, dann fällt auch das zum Thema Bat Wechsel Erkennung raus. D.h. es bleibt dann wohl wirklich nur die Alternative des Nachschauens auf eine lang anstehende Meldung.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

_fhemuser_

Ich habe gerade mal bei einem Thermostaten eine leere und eine volle Batterie eingesetzt. Nach den Lernfahrten waren alle vorherigen Einstellungen bezüglich des Wochenprofils und der Kopplung mit dem Fensterkontakt wieder vorhanden.
Die Batterieleerwarnung wird in Kürze wohl detektiert.

Dann habe ich bei einem Fensterkontakt die Batterien entfernt und an ein regelbares Netzteil angeschlossen.
Auch hier bleibt die Zuordnung erhalten.
Bei Batteriespannungen unterhalb von 2,4 Volt wird nach längerer Zeit oder direkt beim Auslösen des Kontakts der Batterieleerstatus übermittelt. Bei Spanungen von ca 2 Volt funktioniert der Fensterkontakt garnicht mehr.
Wenn die Spannung wieder ansteigt, erlischt die Batteriewarnung. Eine zuerlässige Erkennung ob die Batterie getauscht wurde ist somit nicht möglich. Beim MAX!System werden leider keine Zwichenwerte übermittelt, aus denen man eine erneuerte Batterie ableiten könnte.
Auch die anderen Readings ändern sich nicht.

Wäre es möglich über eine Taste den Batteriewechsel manuell einzutragen?
fhem in der aktuellsten Version auf:
Raspberry 4 mit SSD | fhem2fhem | NanoCul433 Selbstbau | NanoCul868 Selbstbau | DbLog | MAX! | zigbee2MQTT | homebridge | alexa
inkl zigbee2MQTT Server, Unifi-Server

Raspberry 4 mit SD Karte | fhem2fhem | motioneye

Mitch

Grundsätzlich sehr nett, aber ich habe noch einige Probleme damit.

1. ich habe einige Devices, die zwar ein Reading battery haben, aber nicht mit einbezogen werden sollen
2. habe ich viel zu viele Logeinträge
FHEM im Proxmox Container

MadMax-FHEM

Zitat von: _fhemuser_ am 22 Januar 2018, 12:37:58
Wäre es möglich über eine Taste den Batteriewechsel manuell einzutragen?

Da letztendlich "nur" ein "setreading BattWechselDummy Batterie gewechselt" ausgeführt wird lässt sich das machen...

Z.B. per webCmd etc.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Amenophis86

Hört sich an, als ob aus dem Codeteil eher ein Modul werden muss um allen Ansprüchen gerecht zu werden :D
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Mumpitz

hallo zusammen

ich wollte mir soeben das Script holen und es einmalig ausführen. Nun habe ich jedoch festgestellt, dass im git ein Modul 99_batterycheck.pm vorhanden ist. Leider finde ich jedoch keine entsprechende Doku wie man das Modul definiert...

Jemand eine Idee?

gruess

MadMax-FHEM

Einfach nach /opt/fhem/FHEM kopieren.

Ist quasi eine weitere myUtils.pm

Kurz da nur Handy...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Mumpitz

Zitat von: MadMax-FHEM am 22 Januar 2018, 20:17:41
Einfach nach /opt/fhem/FHEM kopieren.

Ist quasi eine weitere myUtils.pm

Kurz da nur Handy...

Gruß, Joachim

habe ich gemacht, und dann?

MadMax-FHEM

#42
Siehe erster Post im Thread: z.B. Notify anlegen und Sub aufrufen lassen und zunächst die Initialisierungs-Sub manuell ausführen (sofern sich nix geändert hat)...

So lang ist der Thread ja noch nicht da kann man sich schon noch "durchquälen" ;)

Achja: reload 99_batterycheck.pm oder Neustart von fhem nicht vergessen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Amenophis86

Alternativ kannst du den Inhalt der Datei auch einfach in deine vorhanden 99_myUtils einfügen. Zum starten musst du nur die Funktion BatteryStart() ausführen. Das geht indem du in der Commandozeile { BatteryStart()} eingibst und Enter drückst. Vorher die entsprechenden Variablen anpassen.

Steht aber auch alles im ersten Post, außer wie man die Funktion aufruft ;)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Amenophis86

Wenn ich mir die Diskussion von heute ansehe, dann ist es bei MAX! wohl wirklich so, dass wir uns nur auf die Zeit einstellen müssen. Das ist ziemlich doof, gerade solange es sich um einen Code und kein Modul handelt. Mal sehen, ob ich das hinbekomme. Ist somit auch aufwendiger zu Programmieren. Versprecht euch nicht zu früh etwas, habe noch einen Test nächste Woche vor mir und bis dahin wenig Zeit zum programmieren. Mal sehen.

Zitat von: Mitch am 22 Januar 2018, 13:01:21
1. ich habe einige Devices, die zwar ein Reading battery haben, aber nicht mit einbezogen werden sollen
Aktuell werden nur HM Device, MAX! (nicht richtig), XiaomiFlower und Z-Wave unterstützt. Da es sich aktuell noch um einen Code und kein Modul handelt, wirst du die entsprechenden Device selbst "deaktvieren" müssen im Code. Nur mal Interessehalber, welche wären das und wieso?

Zitat
2. habe ich viel zu viele Logeinträge
Welche hast du denn? Aktuell kann es nur folgende geben:
# ignoring Devices that were just created by autocreate
  if($DeviceNameParts[0] eq "HM" || $DeviceNameParts[0] eq "ZWave" || $DeviceNameParts[0] eq "MAX")
  {
    Log3(undef, 1, "my_StoreBatteryStatus      ignoring Device: $Device");
    return;
  }

Und dieser kommt, wenn deine Device mit HM / ZWave / MAX heißen. Dh wenn du sie nicht umbenannt hast. Ist das der Fall?

Zitat von: _fhemuser_ am 22 Januar 2018, 12:37:58
Wäre es möglich über eine Taste den Batteriewechsel manuell einzutragen?
Ja eigentlich schon, wäre aber auch wieder ein eigener Code und spricht auch für ein Modul.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...