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

fuso

Hallo zusammen,

ich habe einen Füllstandssensor HM-SEN-WA-OD in meine Zysterne verbaut. Anlernen und kalibrieren (am Sensor selbst) funktionierte ohne Probleme. jedoch bekomme ich als maximalen Füllstand immer nur 54% angezeigt. Der Sensor funktioniert soweit, d.h. wenn der Füllstand sinkt sinkt auch der angezeigte Fülllevel. Ich habe den Sensor mehrmals kalibriert, weil ich dachte dort einen Fehler gemacht zu haben, aber ohne Erfolg. In einem anderen Posting habe ich schon gelesen, daß ein User auch nur maximal 54% angezeigt bekam, jedoch die Lösung des Problems konnte ich nicht rauslesen.
Ich hänge mal ein listing an, vielleicht kann mir jemand dazu Hilfe anbieten.
Danke vorab schonmal

[Internals:
   CUL_0_MSGCNT 36
   CUL_0_RAWMSG A0D95A610226423F1103406015C00ED
   CUL_0_RSSI -83.5
   CUL_0_TIME 2014-05-20 22:11:13
   DEF        226423
   EVENTS     6
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     36
   NAME       Fuellstand
   NR         45
   STATE      46 %
   TYPE       CUL_HM
   lastMsg    No:95 - t:10 s:226423 d:F11034 06015C00
   protLastRcv 2014-05-20 22:11:13
   rssi_at_CUL_0 avg:-85.79 min:-87.5 max:-83.5 lst:-83.5 cnt:36
   Readings:
     2014-05-20 20:42:46   Activity        alive
     2014-05-11 13:35:08   CommandAccepted no
     2014-05-11 13:34:50   R-caseDesign    set_verticalBarrel
     2014-05-11 13:34:50   R-caseHigh      set_300 cm
     2014-05-11 13:34:50   R-caseWidth     set_150 cm
     2014-05-11 13:34:50   R-fillLevel     set_220 cm
     2014-05-11 13:34:50   R-meaLength     set_230 cm
     2014-05-20 22:10:58   battery         ok
     2014-05-20 22:10:58   level           46 %
     2014-05-20 22:10:58   state           46 %
   Helper:
     mId        009F
     rxType     12
     Prt:
       sProc      0
       Rspwait:
     Role:
       chn        1
       dev        1
     Rssi:
       At_cul_0:
         avg        -85.7916666666666
         cnt        36
         lst        -83.5
         max        -83.5
         min        -87.5
Attributes:
   actCycle   028:00
   actStatus  alive
   expert     2_full
   firmware   1.2
   icon       time_graph
   model      HM-Sen-Wa-Od
   peerIDs   
   room       CUL_HM
   serialNr   KEQ0365416
   subType    sensor]

martinp876

Hi fuso,

zuerst einmal musst du die "set_" loswerden. Lese die Register noch einmal - und prüfe, ob das Schreiben auch funktioniert hat.

Gruss Martin

fuso

Hallo Martin,

danke für Deinen Hinweis.
Ich habe das Register nochmal eingelesen und so wie´s scheint ist dadurch das set weg (obwohl ich das wirklich schon gefühlt 10 mal gemacht hab, genauso wie einen shutdown/restart, get config usw.
Na ja heute scheint´s dann doch irgendwie funktioniert zu haben, aber das reading ist immer noch falsch. Es sollten so in etwa 85% sein und nicht 44% Was meinst Du, sollte ich das Ding nochmal komplett resetten und neu anlernen? Würden noch irgendwelche logfiles helfen das Problem einzugrenzen?
Leider fehlt mir noch komplett die Erfahrung und manche Frage bzw. Beitrag liest sich wahrscheinlich etwas naiv, bitte das zu entschuldigen, hab noch viel zu lernen.

Danke schon mal

ZitatInternals:
   CUL_0_MSGCNT 474
   CUL_0_RAWMSG A0DDEA610226423F1103406015900D3
   CUL_0_RSSI -96.5
   CUL_0_TIME 2014-05-21 22:01:12
   DEF        226423
   EVENTS     79
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     474
   NAME       Fuellstand
   NR         45
   STATE      44.5 %
   TYPE       CUL_HM
   lastMsg    No:DE - t:10 s:226423 d:F11034 06015900
   protLastRcv 2014-05-21 22:01:12
   rssi_at_CUL_0 avg:-86.05 min:-102 max:-82.5 lst:-96.5 cnt:474
   Readings:
     2014-05-21 22:00:56   battery         ok
     2014-05-21 22:00:56   level           44.5 %
     2014-05-21 22:00:56   state           44.5 %
   Helper:
     mId        009F
     rxType     12
     Prt:
       sProc      0
       Rspwait:
     Role:
       chn        1
       dev        1
     Rssi:
       At_cul_0:
         avg        -86.0527426160337
         cnt        474
         lst        -96.5
         max        -82.5
         min        -102
Attributes:
   actCycle   028:00
   actStatus  alive
   expert     2_full
   firmware   1.2
   icon       time_graph
   model      HM-Sen-Wa-Od
   peerIDs   
   room       CUL_HM
   serialNr   KEQ0365416
   subType    sensor

martinp876

da hast du wohl einen bug entdeckt, der vorher noch keinem aufgefallen ist.
Der Level wird in 1% schritten (nicht wie ueblich in 0,5% steps) angegeben. Daher ist der Wert nur die Hälfte...
wird behoben, danke

walter56

Hilfe  :o mein Füllstand Sensor HM-Sen-Wa-Od zeigt plötzlich den doppelten Wert an! ???
145% statt 72,5%

Kann es sein das da was gedreht wurde? Ich kann es mir nicht erklären und außer einem Update habe ich bewusst nichts geändert?



2014-05-25_12:41:11 ga_Zisterne 73
2014-05-25_14:44:29 ga_Zisterne ResndFail
2014-05-25_14:44:29 ga_Zisterne MISSING ACK
2014-05-25_15:03:17 ga_Zisterne 73
2014-05-25_19:24:12 ga_Zisterne 72.5
2014-05-25_20:06:21 ga_Zisterne 145
2014-05-25_20:46:21 ga_Zisterne 146

....  :o ab hier habe ich den Fehler gesucht ...

2014-05-25_21:05:41 ga_Zisterne 145
2014-05-25_21:45:58 ga_Zisterne 144
2014-05-25_21:56:33 ga_Zisterne Activity: alive
2014-05-25_21:57:02 ga_Zisterne Activity: alive
2014-05-25_22:06:47 ga_Zisterne level: 145
2014-05-25_22:06:47 ga_Zisterne 145
2014-05-25_22:06:47 ga_Zisterne battery: ok
2014-05-25_22:11:47 ga_Zisterne Activity: alive


Was muss ich tun um wieder die Richtigen Werte zu bekommen?


Gruß und Danke 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

Bennemannc

Hallo,

da scheint es wohl Unterschiede in den Firmware-Versionen zu geben. Postet doch mal die genaue Bezeichnung und FW Version des Sensores - mit dem "Zeigt nur die Hälfte" und "zeigt plötzlich das doppelte" kann Martin das nicht aussortieren.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

walter56

Hallo :)
Erst mal Danke für die Antwort! :D Hier hast du meinen ganzen Log-File. Ich habe in der Zwischenzeit auch etwas getestet aber nichts hat sich geändert. Am 3.5.2014 habe ich den Sensor in Betrieb genommen. Der Empfang ist zwar nicht besonders (Betonzisterne ???) darum wollte ich mich aber später kümmern ::). Die Zeile "attr ga_Zisterne event-on-change-reading state" habe ich mal auskommentiert!

define ga_Zisterne CUL_HM 23A2D7
attr ga_Zisterne IODev COC
attr ga_Zisterne actCycle 028:00
attr ga_Zisterne actStatus alive
attr ga_Zisterne alias Gartenzisterne
attr ga_Zisterne autoReadReg 5
#attr ga_Zisterne event-on-change-reading state
attr ga_Zisterne expert 2_full
attr ga_Zisterne firmware 1.2
attr ga_Zisterne group Garten
attr ga_Zisterne icon sani_sprinkling
attr ga_Zisterne model HM-Sen-Wa-Od
attr ga_Zisterne msgRepeat 4
attr ga_Zisterne peerIDs
attr ga_Zisterne room Garten,WHS
attr ga_Zisterne serialNr KEQ0849209
attr ga_Zisterne sortby 4
attr ga_Zisterne stateFormat level %
attr ga_Zisterne subType sensor
attr ga_Zisterne verbose 5


Ich habe heute auch schon alle Register gelöscht und neu gesetzt ohne Erfolg! Nur komme ich im Moment nicht an die Zisterne. ??? Erst heute Abend! Vielleicht könnt Ihr aus den Daten etwas herauslesen! :D

Gruß Walter

Viele Grüße 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

martinp876

das klingt jetzt seltsam.
Ihr habt beide einen HM-Sen-Wa-Od FW 1.2 - und einmal wird der Level mit Faktor 2 ausgegeben, einmal nicht.

Ich gehe jetzt aber davon aus, dass der Faktor 2 korrekt war, die Änderung somit ein Fehler.
Damit bleibt das Problem bei fuso, der evtl seine Daten zum Fass nicht korrekt eingegeben hat.

walter56

Hallo Martin
Machst du die Änderung wieder rückgängig? ::) oder muss ich bei mir etwas ändern? :o Oder brauchst du noch Daten? :D


Ich habe auch einen alten Beitrag gefunden in dem es schon mal um den Faktor 2 ging.
http://forum.fhem.de/index.php/topic,11250.msg75511.html#msg75511

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

martinp876

ist schon geändert. Wenn du einen Update machst sollte es erledigt sein.

walter56

Hallo Martin
:) Danke! :)
Jetzt stimmt meine Anzeige wieder!

Man kann es immer wieder sagen dieses Forum ist vorbildlich!

Hier wird ihnen geholfen!! :-*
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,

ich habe die Daten meiner Zisterne nochmals neu und bewusst falsch eingegeben und warte jetzt einfach ab, bis es mal aufhört zu regnen   :'(

Leider fehlt mir noch etwas die Erfahrung um den Fehler ordentlich zu debuggen. Aber ich probier halt einfach weiter und versuch soviel wie möglich im Forum und wiki zu lernen

Fuso

walter56

Hallo fuso

Ich habe heute mit meiner Zisterne einige Tests gemacht. Die Zisterne ist Randvoll und es sind 290cm Sensorleitung verbaut. Der maximale Füllstand ist ca. 265cm und angezeigt wird 85%. jetzt habe ich den HM-Sen-Wa-Od nach Vorschrift neu kalibriert um die 100% zu bekommen.
Leider hat sich nichts geändert ich habe immer noch nicht die 100%. So habe ich mir ein kleines Korrekturmodul gebastelt das ich hier vorstellen möchte. Leider bin ich selbst Neuling (in Perl und FHEM), Falls jemand damit Probleme haben sollte versuche ich zu helfen und hoffe meine geringe Erfahrungen langen!

Mein FHEM.cfg sieht so aus:
define ga_Zisterne CUL_HM 23A2D7
attr ga_Zisterne IODev COC
attr ga_Zisterne actCycle 028:00
attr ga_Zisterne actStatus alive
attr ga_Zisterne alias Gartenzisterne
attr ga_Zisterne autoReadReg 5
attr ga_Zisterne device_timeout 10
attr ga_Zisterne expert 2_full
attr ga_Zisterne firmware 1.2
attr ga_Zisterne icon sani_sprinkling
attr ga_Zisterne model HM-Sen-Wa-Od
attr ga_Zisterne msgRepeat 4
attr ga_Zisterne peerIDs
attr ga_Zisterne serialNr KEQ0849209
attr ga_Zisterne subType sensor
attr ga_Zisterne event-on-change-reading state

#Typen Form: verticalBarrel,horizBarrel,rectangle
#http://www.fhemwiki.de/wiki/HM-Sen-Wa-Od_kapazitiver_Funk-F%C3%BCllstandsmesser
#set ga_Zisterne regSet caseDesign verticalBarrel #Typen Form: verticalBarrel,horizBarrel,rectangle
#set ga_Zisterne regSet caseHigh 280   #190 Behälterhöhe
#set ga_Zisterne regSet caseWidth 260   #250 Behälterbreite
#set ga_Zisterne regSet caseLength 280   #250 Behältertiefe
#set ga_Zisterne regSet meaLength 280   #245 Kabellänge gesamt
#set ga_Zisterne regSet fillLevel 260   #190 #max. Füllhöhe
#set ga_Zisterne regSet ledOnTime 0.3   #0,3 sec LED On Time


define FileLog_ga_Zisterne FileLog ./log/ga_Zisterne-%Y.log ga_Zisterne:.*
attr FileLog_ga_Zisterne alias Gartenzisterne Geber
attr FileLog_ga_Zisterne group Garten
attr FileLog_ga_Zisterne icon rc_INFO
attr FileLog_ga_Zisterne logtype text
attr FileLog_ga_Zisterne room Log_Buch


##############################################
# Anzeigewerte für FHEM berechnen
define be_ZisterneKubik dummy
attr be_ZisterneKubik alias Gartenzisterne
attr be_ZisterneKubik group Garten
attr be_ZisterneKubik icon measure_water_meter
attr be_ZisterneKubik room Garten,WHS
attr be_ZisterneKubik stateFormat state m<Sup>3</Sup>

define be_ZistereProz dummy
attr be_ZistereProz alias Gartenzisterne
attr be_ZistereProz group Garten
attr be_ZistereProz icon sani_sprinkling
attr be_ZistereProz room Garten,WHS
attr be_ZistereProz stateFormat state %


define ZisterneTimer at +*00:20:00 {\
    ZisterneKubikmeter("be_ZisterneKubik", "ga_Zisterne");;\
    ZisterneProzent("be_ZistereProz","ga_Zisterne");;\
}


define FileLog_be_Zisterne FileLog ./log/ga_be_Zisterne-%Y.log (be_ZistereProz|be_ZisterneKubik):.*
attr FileLog_be_Zisterne alias Gartenzisterne
attr FileLog_be_Zisterne group Garten
attr FileLog_be_Zisterne icon rc_INFO
attr FileLog_be_Zisterne logtype SVG_Zisterne,text
attr FileLog_be_Zisterne room Log_Buch

define SVG_be_Zisterne SVG FileLog_be_Zisterne:SVG_Zisterne:CURRENT
attr SVG_be_Zisterne alias Gartenzisterne
attr SVG_be_Zisterne group Garten
attr SVG_be_Zisterne icon message_socket
attr SVG_be_Zisterne label "Stand der Gartenzisterne (% und m3)"
attr SVG_be_Zisterne room Garten,Diagramme
 
kurze Beschreibung der Definitionen:

  • ga_Zisterne ist der Geber mit max 85%
  • FileLog_ga_Zisterne ist der dazugehörige LOG-File
  • be_ZisterneKubik ist der berechnete Zisternenstand in m<Sup>3</Sup>
    max=8,5m<Sup>3</Sup>
  • be_ZistereProz ist der berechnete und korrigierte Wert in %

Jetzt zu dem Perlmodul ich habe es 99_myZisterneUtils.pm genannt

####################################################################
####################################################################
####################################################################
### Berechnet die Werte für die Ziernest
###
### File: 99_myZisterneUtils.pm
###
### Korrekturwert 1.231
### Zysternenvolumen 8500Liter -->Faktor =0.085
###
### Version: vom 29.5.2014  13:30
####################################################################
####################################################################

package main;
use strict;
use warnings;
use POSIX;

sub myZisterneUtils_Initialize($$)
{
  my ($hash) = @_;
}


#######################################################################
# Berechnet aus den Werten der Zisterne die 100%
#
sub ZisterneProzent ($$)
{
  my ($set_device , $get_device ) = @_;

  #Wert lesen
  my $zi = ReadingsVal($get_device,"level",0);
 
  #Wert formatieren
  my $zp = sprintf( "%.1f",($zi * 1.231));

  # Wert in FHEM setzen
  {fhem ("set $set_device $zp")};
 
  return($zp);
}

#######################################################################
# Berechnet aus den Werten der Zisterne die Kubickmeter Wasser
# 100% = 8,500 m3
#
sub ZisterneKubikmeter ($$)
{
  my ($set_device , $get_device ) = @_;

  #Wert lesen
  my $zi = ReadingsVal($get_device,"level",0);
 
  #Wert formatieren
  my $zm = sprintf( "%.2f",($zi * 0.085 * 1.231));

  # Wert in FHEM setzen
  {fhem ("set $set_device $zm")};
 
  return($zm);
}

1;



Ich habe das heute geschrieben und die Werte stimmen. Vorteil ich kann jetzt sehr einfach alle Parameter parametrieren.
Vielleich kann jemand diese Lösung gebrachen.

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

martinp876

Hallo Walter,

dass der Sensor keinen korrekten Level ausgibt halte ich nicht für glaubwürdig. Eher schon, dass wir die Parameter nicht begriffen haben.
hast du schon einmal probiert was passiert wenn du
meaLength änderst und dann fillLevel?
Die Kommentare zu deinen Register verstehe ich nicht:" caseHigh 280  #190 Behälterhöhe"

Gruss Martin

walter56

Hallo Martin :D
Den Kommentar kannst du vergessen, ich habe das Beispiel von einer Webseite genommen den original Wert in Kommentar gesetzt und meine Werte eingetragen. Manchmal setzte ich auch einen alten Wert in Kommentar um einen Test zu machen und so habe ich noch einen Anhaltspunkt. Ich hätte die Zeilen löschen sollen.
zu Deinem Tipp ich habe mal folgende Untersuchung durchgeführt:

Die gemessenen Werte: Kabel 280cm und wenn die Zisterne voll ist dann sind 260cm Wasserstand in der Zisterne. Dies sind die Ausgangswerte. Der Geber meldet zur Zeit 79   (16:52 Uhr)
set ga_Zisterne regSet meaLength 280
set ga_Zisterne regSet fillLevel 260


Ich habe die Werte mal auf
set ga_Zisterne regSet meaLength 250
set ga_Zisterne regSet fillLevel 250

geändern. Nach nun mehr als 2:15 Std wird 78,5 bzw 79 angezeigt. Damit hat sich in meinen Augen nichts geändert! Ich werde das aber beobachten....

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