battery / batteryLevel / ... -> Vereinheitlichen

Begonnen von Amenophis86, 06 Mai 2018, 19:37:18

Vorheriges Thema - Nächstes Thema

fhainz

Wobei man die (Elektrische) Leistung ebenso mit power übersetzen kann. Ich will hier aber wirklich keine Diskussionen über EN->DE Übersetzungen starten, so gut ist mein Englisch bei weiten nicht. ;D
Viele Module haben ein power Reading mit der Einhat Watt. Daher kommt meine voreigenommene Meinung  8)

Markus M.

Zitat von: fhainz am 01 Juni 2018, 17:02:37
Viele Module haben ein power Reading mit der Einhat Watt. Daher kommt meine voreigenommene Meinung  8)
Du hast natürlich Recht: batteryCurrent in A wollte ich schreiben ;)
Bei batteryPower wären es in der Tat W, wenn man auch noch batteryCapacity braucht dann wohl in Ah
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

CoolTux

Ich sehe immer noch kein Wikieintrag. Der Thread ist zwar schön und gut aber nicht jeder Entwickler kann/will hier nach lesen. Es sollte im Developerbereich des Wikis einen Eintrag geben.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Amenophis86

#93
Ich bin dran Leon, sry bei mir ist gerade sau viel los privat.

Edit:
Hier der erste Vorschlag fürs Wiki: https://wiki.fhem.de/wiki/DevelopmentGuidelines#BatteryReadings
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...

HCS

Ich habe noch eine Frage zur Umbaustrategie:

Da sehe ich im Repo zwei Varianten:
74_NUKIDevice.pm: batteryState zusätzlich zu battery ergänzt
36_WMBUS.pm: battery durch batteryState ersetzt

Wie soll denn mit Modulen, die bereits ein battery-reading haben, verfahren werden?

Wiki sagt:
ZitatEs gibt nur diese drei Readings für den Batteriestatus:
    batteryState
    batteryPercent
    batteryVoltage
...

Aus dem "nur" leite ich ab, dass es battery nicht mehr geben sollte.

Sidey

Ich implementier die Reading erst mal zusätzlich, damit Anwender die Chance haben, ihre Trigger anzupassen.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

Amenophis86

Denke auch für einen Übergang kann es battery weiterhin geben. Außerdem sollte es einen Ankündigungsthread geben. Kann das jemand machen?
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

Nach Hinweis von krikan habe ich folgenden neuen Artikel im Wiki erstellt: https://wiki.fhem.de/wiki/DevelopmentGuidelinesReadings Wäre nett, wenn jemand mal drüber schauen könnte. Insbesondere über den Englischen Teil. Danke
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...

rudolfkoenig

Vielen Dankl!

Ich wuerde den letzten Absatz so formulieren:

Important: The FHEM module will only report the values received from the device, i.e. not each module reports a batteryState reading. Additionally, if the device sent a batteryPercent value earlier but the last message from the device only contained a 'battery: low', the batteryPercent reading wont be changed. 

Sidey

Zitat von: Amenophis86 am 04 Juni 2018, 18:59:06
Nach Hinweis von krikan habe ich folgenden neuen Artikel im Wiki erstellt: https://wiki.fhem.de/wiki/DevelopmentGuidelinesReadings Wäre nett, wenn jemand mal drüber schauen könnte. Insbesondere über den Englischen Teil. Danke

Ich habe es gelesen und den Text gleich etwas geändert.

Wo ich noch nicht so sicher bin ist folgender Satz:

ZitatWichtig: das jeweilige Modul setzt nur die Readings, die es aus den aktuellen Daten vom Gerät bestimmen kann. Konkret: niemand kann sich darauf verlassen, welche der drei battery Readings vorhanden sind (es gibt nicht überall ein batteryState). Wenn das Gerät früher ein Percent gemeldet hat, aber in der letzten Nachricht nur state, dann wird das Percent Reading nicht angefasst.

Ist es nicht möglich, batteryState zu bestimmen, wenn eines der anderen beiden vorhanden ist.
Haben wir einen Grund, weshalb wir das nicht errechnen, wenn ja, dann sollte dieser Grund in die Doku.


Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

rudolfkoenig

ZitatIst es nicht möglich, batteryState zu bestimmen, wenn eines der anderen beiden vorhanden ist..
Vermutlich. Aber in manchen Faellen kommen die Geraete, die das gleiche Protokoll sprechen, von unterschiedlichen Herstellern. Ich moechte als Modul-Maintainer nicht fuer jedes Geraet eine Messreihe starten (am besten mit unterschiedlichen Batterietypen und Temperaturbereichen), um zu sagen, wann low erreicht ist.

Amenophis86

Danke Sidey für die Korrektur und danke Rudolf für den Vorschlag. Habe diesen auch eingebaut.

Wie Rudolf sagte, wollten wir dem Modulentwickler nicht aufhalsen, dass er für jedes Gerät messen muss. Natürlich steht es ihm aber frei dies zu tun und batteryState entsprechend auf low zu setzen.
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

Zitat von: sledgeHi,

ich habe keine Rechte in Developer zu posten, daher als PM: Es gibt einige Module, die sind ja "orphaned"  - beispielsweise MAX!. Dennoch wäre die Implementierung zumindest des batteryState-Readings dort idR trivial, da das bisherige Reading "battery" bereits (ok|low) ausgibt - meist nur ein zwei Zeilen Code an den relevanten Stellen.

Code: [Auswählen]
      readingsBulkUpdate($shash, "mode", $ctrl_modes[$mode] );
      readingsBulkUpdate($shash, "battery", $batterylow ? "low" : "ok");
      readingsBulkUpdate($shash, "displayActualTemperature", ($displayActualTemperature) ? 1 : 0);


Wenn ich das richtig sehe, gehört hier ja "nur" eine weitere Zeile

Code:
      readingsBulkUpdate($shash, "batteryState", $batterylow ? "low" : "ok");

dazu?

Ich habe jetzt kein Problem, Patches für solche Trivialfälle zu erstellen, frage mich aber, ob man sowas nicht ggfs zumindest für die orphans zentral anstoßen möchte?

Gruß,

Tom

Er würde die Änderung für MAX übernehmen, aber nicht das Modul offiziell betreuen wollen.
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...

rudolfkoenig

Um es einfach zu halten: ich habe die Zeile hinzugefuegt, Syntax-Getestet, und 10_MAX.pm eingecheckt.

CoolTux

Zitat von: rudolfkoenig am 07 Juni 2018, 21:57:22
Um es einfach zu halten: ich habe die Zeile hinzugefuegt, Syntax-Getestet, und 10_MAX.pm eingecheckt.

Dazu gibt es aktuell einen Thread
https://forum.fhem.de/index.php/topic,88507.0/topicseen.html
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net