Das musst du schon alles genau so lassen, nur der Readings- Name muss zu deiner Def. passen - einen Fehler hatte ich trotzdem drin 😉 : sub v200_filter_kesseltemp($) { # so lassen, hier wird nur der Name der Funktion festgelegt, die du in deinem userReadings aufrufst my ($v200_name) = @_; # so lassen, hier wird aus der Übergabe "@_" der Name deiner Def. geholt und in die Variable "$v200_name" gesteckt my $temp = ReadingsNum("$v200_name","Kessel_Ist",0); # so lassen bis ggf. auf "Kessel_Ist": Hierfür nimmst du den Namen deines original- Readings für die Kesseltemp. (die manchmal neg. Werte bringt) ; hier wird der manchmal negative Temp.- Wert in die Variable "$temp" gesteckt return sprintf "%.1f",abs($temp); # so lassen ; Rückgabe der pos. (Absolut-)Werte zum aufrufenden userReadings und kürzen auf eine Kommastelle (hier war ein Fehler drin - Klammern haben gefehlt) } # hier war eine Klammer zu viel Aber scheinbar wenn nicht genau der Fehlercode beschreiben ist kommt UNKOWN oder? Genau, jeder Fehler muss in der cfg eine Textentsprechung haben. Das kannst du einfach so erweitern. Kann man denn Werte der Vitoden oder vom GWG direkt im Raspi auslesen, um so z.B. weitere Parameter entdecken zu können? Das geht leider nicht so einfach: Die Befehle sind in der vclient- Konfiguration hinterlegt und stammen aus Versuchen, die jemand mal gemacht hat (nicht ich). Man müsste dazu eine Software haben (z.B. die originale von Viessmann) und dann die serielle Komm. mitloggen. Das will ich ja mal mit der Testversion versuchen, aber erst im Herbst/Winter wenn die Therme wieder läuft.
... Mehr anzeigen