Füllstand Sensor HM-SEN-WA-OD meldet nur max. 54%

Begonnen von fuso, 20 Mai 2014, 22:37:48

Vorheriges Thema - Nächstes Thema

walter56

Hallo :D
Nach mehr als 24 Stunden zeigt der Geber HM-Sen-Wa-Od  77,5   ??? an und meine Umrechnung 95,%. ;)

Gruß Walter 
Raspberry Pi mit HMLAN & EnOcean: Eltako FUD14, FB dect: DECT 200,HomeMatic: HM-LC-Bl1PBU-FM, HM-SWI-3-FM,HM-CC-RT-DN, HM-Sen-MDIR-O,HM-WDS10-TH-O, HM-WDS40-TH-I
Abfragen: Solarlog, Telefon, Internet Radio, TTS und abfrage verschiedenen Interenseiten HTTPMO

fuso

Hallo,

jetzt bin ich wieder da zu dem Thema. Konnte mich berufsbedingt fast ein Jahr nicht wirklich darum kümmern. Habe jedoch vor einiger Zeit mitbekommen, daß es für den Sensor eine neue Firmware gibt (V1.3)und die habe ich mir jetzt flashen lassen. Jetzt habe ich den Sensor wieder bekommen und eingebaut und habe doch wieder exakt das gleiche Resultat.  leider haut das Ding immer noch nicht hin. Irgendwann in dem Thread hat "martinp876" mal vermutet, daß meine Zisternen Daten falsch eingegeben sein könnten. Also irgendwie habe ich da auch ein Verständnis Problem. Wenn ich ein stehendes Fass als Zisterne habe, dann ist doch nur die Höhe, und der Durchmesser relevant, oder? Was gebe ich denn dann bei der Länge ein? Ich habe jetzt schon versucht Länge und Höhe gleichzusetzen, keine Änderung. Dann habe ich die Weite und die Höhe gleichgesetzt, geht auch nicht.
Wie habt Ihr denn euer vertical Barrel bemasst? Vielleicht kann mir auch jemand helfen. Mein Faß ist stehend eingebaut, 240 cm hoch, 150 cm im Durchmesser, max. Wasserstand kann 210 cm sein.
Bin für jeden Hinweis dankbar, das Ding scheint nicht ganz Problemfrei zu sein, es gibt ja einige Threads zu dem Sensor

Danke schonmal




martinp876

das case-design erscheint nicht. Nach xml ist es auf Adresse 5A (90) zu finden. Deine Register haben ein 5B (91) register mit dem Wert "1". das ist ein HORIZONTAL_BARREL. Du hast ein VERTICAL_BARREL, was eigentlich default sein sollte und den Wert '0'.

mache ein
set wa regBulk RegL_01: 5B:00

dann sollte das Fass senkrecht stehen.
ich kann die Adresse ändern.... nur unklar ist, wo der Fehler herkommt.
hast du ein getConfig nach dem update gemacht? Wäre wichtig - wenn es klappt kann ich die Adresse ändern. dennoch sehr seltsam


fuso

Hallo Martin,
ich kriegs nicht hin, habe Dein Register so gesetzt wie von Dir beschrieben. hat aber nichts geändert. Nachwievor der selbe Eintrag bei den Readings. Musst mir nur auf die Sprünge helfen, was meinst Du mit "ich kann die Adresse ändern". Bin immer noch kein wirklicher Durchblicker bei FHEM, kannst Du mir beschreiben was Du meinst und wie ich es machen kann.
Danke

martinp876

Die registernamen werden in eine adresse uebersetzt. Die angegebene adresse der "form " wird nicht angezeigt. Aber eine, die nicht beschrieben ist. Koennte also sein, dass die beschreibung nicht zur fw passt. Ich kann es in fhem anpassen, also entsprechend der fw vorgehen. Ist aber schlicht unklar, da nicht dokumentiert und aktuell nicht durch tests belegt. Testen koenntest du. Am besten eine reihe von versuchen. Erst einmal schreiben und lesen probieren... immer loggen. Jeden wert einzeln schreiben, dann getconfig zur kontrolle. Dann der naechste. Immer erst ausfuehren zwischen den versuchen.
Zum einen die gefaessform ueber das regset aendern, min 2 unterschiedliche werte schreiben.
Dann mit regbulk ein paar werte schreiben.
Danach kann man schluesse ziehen.

Der test zur form ist aufwaendig, da die fuellung nur prozentual ausgegeben wird.... da musst du rechnen, klar.

fuso

Hallo Martin,

danke für Deine ausführliche Erklärung. Das muss ich mir erst noch ein- zweimal durchlesen  ???. Aber ich werde Deine Hilfe  annehmen und mal versuchen das Problem auf diese Weise einzugrenzen.
An die anderen HM-SEN-WA-OD Nutzer. Habt Ihr keine Probleme wie von mir beschrieben? Was läuft denn schief mit meinem Kästchen?
fuso

hobby_musiker

Hallo allerseits,

die letzte Meldung in diesem Thread ist zwar schon ein bischen angestaubt, aber nachdem die Temperaturen steigen hab ich mir vorgenommen, meinen Zisternenfüllstand endlich mal richtig zu kalibrieren. Ich habe aber auch nach Kalibrierung im Prinzip dasselbe Problem wie fuso, d.h. der Füllstand wird nicht wie erwartet mit ~100%, sondern weit darunter angegeben (bei mir sind es z.Zt. etwa 65%, obwohl die Zisterne randvoll ist).

Die folgenden Gründe scheiden schon mal aus:
- Firmware scheint relativ aktuell zu sein (1.3)
- Pairing ist OK (R-pairCentral stimmt)
- ich habe jedesmal nach dem Setzen eines Registers die Setup-Taste gedrückt. Der Präfix "set_" vor den Registerwerten ist bei mir zumindest verschwunden. protState zeigt "CMDs_done".
- fehlende Kalibrierung. Seltsamerweise werden bei bei mir IMMER 20 Werte abgefragt, auch wenn für meaLength weniger als 200cm eingestellt sind (entgegen der Beschreibung in http://blog.bubux.de/tag/hm-sen-wa-od/)

Ich hab jetzt gefühlt auch schon alle Threads dieser Welt zum Thema durch (s.u.), trotzdem werde ich das Gefühl nicht los, daß zumindest ich die einzustellenden Parameter und die Funktionsweise des Sensors/dessen Messwert noch nicht wirklich verstanden habe. Dabei könnte das eigentlich so einfach sein...

Ich habe mal ein Bild mit (m)einer Zisterne gepinselt (genauer: deren Schnitt, die Zisterne hat die Form eines vertikalen Zylinders) samt den aus meiner Sicht relevanten Maßangaben, denn sowas sagt ja bekanntlich mehr als 1000 Worte. Die im Bild mit ??? angegeben Register/Parameter des Hm-Sen-Wa-Od würde ich gerne verstehen, der Rest ist klar (glaube ich jedenfalls :-> ).

Meine Zisterne samt Meßeinrichtung habe ich wie folgt ausgemessen:
Durchmesser d = 190cm
Füllstand fs = fsmax = 180cm (momentan ist sie voll)
Länge Messleitung a = 210cm

Get RegList liefert:
list:         register | range              | peer     | description
   0: cyclicInfoMsgDis |   0 to 255         |          | cyclic message
   0: localResDis      |     literal        |          | local reset disable options:off,on
   0: pairCentral      |   0 to 16777215    |          | pairing to central
   0: transmDevTryMax  |   1 to 10          |          | max message re-transmit
   1: caseDesign       |     literal        |          | case desing options:horizBarrel,verticalBarrel,rectangle
   1: caseHigh         | 100 to 10000cm     |          | case hight
   1: caseLength       | 100 to 10000cm     |          | case length
   1: caseWidth        | 100 to 10000cm     |          | case width
   1: fillLevel        | 100 to 300cm       |          | fill level
   1: ledOnTime        |   0 to 1.275s      |          | LED ontime
   1: meaLength        | 110 to 310cm       |          |
   1: sign             |     literal        |          | signature (AES) options:off,on
   1: transmitTryMax   |   1 to 10          |          | max message re-transmit
   1: useCustom        |     literal        |          | use custom options:off,on
   1: waterUppThr      |   0 to 256         |          | water upper threshold
   1: waterlowThr      |   0 to 256         |          | water lower threshold
   4: expectAES        |     literal        | required | expect AES options:off,on
   4: fillLvlLoThr     |   0 to 255         | required | fill level lower threshold
   4: fillLvlUpThr     |   0 to 255         | required | fill level upper threshold
   4: peerNeedsBurst   |     literal        | required | peer expects burst options:on,off


Mein ursprünglicher Ansatz war (wie auch im Wiki https://wiki.fhem.de/wiki/HM-Sen-Wa-Od_kapazitiver_Funk-F%C3%BCllstandsmesser so beschrieben), dass meaLength=a sein müsste, also die Länge der Messleitung. Dementsprechend wäre dann fillLevel=fsmax, also der maximale Füllstand.

Wofür braucht man dann aber noch caseHigh?
Und warum entspricht dann der Füllstand nicht den erwarteten 100%?

Meine Vermutung ist nun - wie auch hier (https://homematic-forum.de/forum/viewtopic.php?f=27&t=30567&sid=3c07ace3e1ede6241111512090a6dec8&start=10), dass einfach nur ein %-Wert hinsichtlich der Gesamtlänge der Messleitung angegeben wird und dass man sich den eigentlichen Füllstand selbst errechnen muss - der Sensor merkt sich in den Registern nur die relevanten Parameter für die HM-CCU, die dann die Berechnung durchführt.

Könnt Ihr das bestätigen? Dann würde ich das Wiki entsprechend anpassen und noch eine Formel zur Umrechnung dazu packen... Vielleicht können wir gemeinsam die Informationen zusammentragen, dann wird es klarer.

Gruß Micha

P.S.: Folgende Threads/Artikel hab ich auch schon durch:
https://wiki.fhem.de/wiki/HM-Sen-Wa-Od_kapazitiver_Funk-F%C3%BCllstandsmesser
https://forum.fhem.de/index.php/topic,11250.0.html
https://forum.fhem.de/index.php/topic,16635.0.html
https://forum.fhem.de/index.php/topic,51638.0.html
http://blog.bubux.de/tag/hm-sen-wa-od/

daschauher

Hallo,
ich habe heute meinen  HM-SEN-WA-OD in Betrieb genommen.  Nachdem ich Gefühlte 100 mal neu abgestimmt habe, weil ich nie 100% füllstand hatte, wollte ich nicht mehr. Jetzt lese ich hier das es normal zu sein scheint. Ich habe auch den Eindruck das die % Angabe sich auf die gesamte Kabel Länge bezieht. So würde es zumindest passen. Leider findet man hierzu richtig wenig. Wie habt ihr das gemacht? Wie könnte man das selbst berechnen?  Mit User Readings vermutlich oder?

VG
Markus

hobby_musiker

Hallo Markus,

ja, ich hab das mit folgendem userReading gemacht:

NormalizedLevel { sprintf("%2.1f %%", (100.0/71.0)*ReadingsVal($NAME, "level", 0));; }

Bei mir war 71% der höchste erreichte Füllstandswert.

Ich hab auch mit den anderen Registern rumgespielt (z.B. useCustom und sign), hat aber nix gebracht. Vielleicht weiss ja jemand anderes im Forum mehr...

Gruß Micha

daschauher

Danke. Aber kann es sein dass die Formel einen dreher hat? Sollte es nicht 71/100*Reading sein?

Gruß
Markus

daschauher

Ach jetzt, du rechnest quasi den aktuellen füllstand in Prozent aus.
Mit leitungslänge/100*Reading komme ich auf die aktuelle füllhöhe in cm.