FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: digital.arts am 14 Oktober 2015, 13:47:31

Titel: [gelöst] userReadings oder StateFormat : Umrechnung cm in Liter ...
Beitrag von: digital.arts am 14 Oktober 2015, 13:47:31
Hallo zusammen,

kurz mein Anliegen:
habe meinen Heizöltank mit Ultraschallsensor bestückt, der misst von ganz oben (vom Entlüftungsrohr...) zur aktuellen Füllhöhe.
Diese Höhe in cm wird mir auch als Reading des devices (ein mysensors-device) angezeigt.
Nun würde ich gerne als zusätzlichen Wert den (ca.) aktuellen Ölstand in Litern angezeigt bekommen.
Eine Umrechnungsformel habe ich mir zusammengestellt, funktioniert auch (auf dem Papier).
Nur so zur Info: Sensormessung bei max. Befüllung (ca. 1425 L) ist 19 cm; empirisch ermittelt sind 1 cm Höhe ca. 12 L; daraus folgt also die Formel
aktueller Ölstand in L = (1425 - ((gemessene Höhe - 19) * 12)) *4  (mal 4, weil es insgesamt 4 zusammenhängende 1500l-Tanks sind)

Wie kann ich meine Berechnung als Attribut des devices in Form eines userReadings (oder stateFormat ? ) bringen ?
Für Unterstützung schon mal im Voraus vielen Dank !

VG
Karl


EDIT: Betreff geändert und eine Klammer im Text war zuviel....
EDIT 2: Sven und marvin78 haben mir bei der Lösung geholfen, vielen Dank !
Titel: Antw:userReadings oder StateFormat : Umrechnung cm in Liter - wie funktionierts ?
Beitrag von: SvenJust am 14 Oktober 2015, 15:03:24
Hallo Karl,

userReadings und stateFormat sind doch ausführlich erläutert: http://fhem.de/commandref_DE.html

Konkret hilft vielleicht die folgende Zeile, dtest muss angepasst werden:
attr dtest userReadings oelstand {(1425 - ((ReadingsVal("dtest","state",0) -19) *12)) *4}

VG
Sven
Titel: Antw:userReadings oder StateFormat : Umrechnung cm in Liter - wie funktionierts ?
Beitrag von: digital.arts am 14 Oktober 2015, 16:12:50
Hallo Sven,

vielen Dank, teilweise funktioniert das so, wie Du vorgeschlagen hast...
Vielleicht habe ich da einen Denkfehler: wenn ich so ein userReadings erstelle, wird mir dieses Reading dann nicht im Detailfenster des devices angezeigt ?
Da steht weiterhin unter "Readings" nur das eine vom Sensor gelieferte, hier "distance1" mit dem cm-Wert...
Wenn ich Deinen Berechnungsstring jedoch als stateFormat definiere, dann bekomme ich den gewünschten Liter-Wert unter "Internals" im STATE angezeigt...

VG
Karl

Titel: Antw:userReadings oder StateFormat : Umrechnung cm in Liter - wie funktionierts ?
Beitrag von: SvenJust am 14 Oktober 2015, 16:23:04
Zitat von: digital.arts am 14 Oktober 2015, 16:12:50wenn ich so ein userReadings erstelle, wird mir dieses Reading dann nicht im Detailfenster des devices angezeigt ?
Doch, das neue Reading erscheint unter Readings. Eventuell musst Du die Seite aktualisieren?

VG
Sven
Titel: Antw:userReadings oder StateFormat : Umrechnung cm in Liter - wie funktionierts ?
Beitrag von: marvin78 am 14 Oktober 2015, 16:30:38
Damit das neue Reading erscheint, muss es zunächst ein event geben. Siehe Doku zu userReadings.
Titel: Antw:userReadings oder StateFormat : Umrechnung cm in Liter - wie funktionierts ?
Beitrag von: digital.arts am 15 Oktober 2015, 08:02:37
Hallo zusammen,

vielen Dank Sven und marvin78, genau so war es dann auch...
es wurde, nachdem sich der Füllstand noch nicht geändert hatte, kein Sensorwert geliefert und damit auch kein neues Event generiert.
Habe das jetzt mit einem setreading simuliert, und prompt habe ich ein neues Reading  ;)
Danke für die Unterstützung und Erhellung !

VG
Karl