OWTHERM: Formatierung des STATUS, state

Begonnen von cwagner, 05 Januar 2014, 12:26:05

Vorheriges Thema - Nächstes Thema

cwagner

Liebe Gemeinde,
ersetze nun in einer komplexen Klima/Heizungssteuerung an mehreren Stellen Homematic-Temperatur-Sensoren durch DS1820 (DS18B20, DS18S20), weil ich bei schnellen Prozessen viel mehr Messwerte abfordern kann.
Das hat auf Anhieb auch geklappt und es ist eine Freude, wie "zackig" die Regelprozesse nun werden.

Aber ich habe mir bei mehreren Modulen auf der Console haufenweise Fehlermeldungen eingefangen, die ich inzwischen auf die spezielle Formatierung eines automatisch angelegten Sensors zurückführe:

Direkt nach Anlage sendet der seine Temperatur als:

Zitat2014-01-04 19:16:58 OWTHERM OWX_28_905F9B010000 T: 18.44 ? ▾
Wenn ich nun mit stateFormat und der Festlegung der Einheit formatiere, erhalte ich:

Zitat2014-01-04_16:49:32 T_Ruecklauf_Anhebung T: 25.13 °C ▾
Solange ich aus dem Dropdown im Web-Interfache die Einheit "C" auswähle, fange ich mir auf der Console Fehlermeldungen ein, "C" sei unerlaubt. Mit "Celsius" geht es.

Außerdem habe ich exakt alle 60 Sekunden diese Fehlermeldungen:

ZitatUse of uninitialized value $d in hash element at fhem.pl line 3060.
Use of uninitialized value $d in hash element at fhem.pl line 3073.
Use of uninitialized value $dev in hash element at fhem.pl line 2981.
Und zwar jedesmal, wenn ein Sensor ein Reading liefert.

Gibt es einen Ansatz, die Fehlermeldungen (die auch in Modulen für ähnliche Meldungen sorgen) abzustellen oder die Ursache weiter einzugrenzen?

Herzliche Grüße

Christian
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Prof. Dr. Peter Henning

Tja, das ist ein minimaler Bug in OWTHERM. In der Liste möglicher Attribute steht "C" als Wert drin - das wird aber nicht korrekt erkannt. Also bitte bis auf Weiteres nur "Celsius" benutzen, wird irgendwann demnächst gefixed.

Mit den Fehlermeldungen aus fhem.pl kann ich nichts anfangen. Wie lauten denn die "ähnlichen Meldungen in den Modulen" ?

LG

pah

cwagner

Sorry, diese Antwort habe ich erst heute wiedergefunden.

Internals:
   STATE      T: 37.5
   TYPE       OWTHERM
     2014-02-01 16:05:39   state           T: 37.50 °C ▾
     2014-02-01 16:05:39   temperature     37.5025
   stateFormat {"T: ".sprintf('%.1f',ReadingsVal($name,'temperature',0))}

Mit ähnlichen Modulen meinte ich, dass die OWTHERM-typische Darstellung T: 37.50 °C ▾  (also mit Einheit und dem kleinen Abwärtspfeil) bei weiterverarbeiten Modulen wie PID/PID20/THRESHOLD zu Folgefehlern führt, weil die typischerweise eine einfache Zahl erwarten, wie sie in temperature geführt wird.

Bei dieser Gelegenheit: Welche Bedeutung hat das kleine Dreieck am Ende der Einheit - anfangs hatte ich es als Trendpfeil willkommen geheißen, doch es zeigt immer abwärts...

Herzliche Grüße

Christian Wagner
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Joachim

Moin Christian,
bastel mal dise Zeile, für Dich angepasst mit rein:
attr TS_Bad userReadings Temperatur { int ( 10 * ReadingsVal("TS_Bad","temperature",0) + 0.5 ) / 10 }

Es wird ein userReading mit dem Namen Temperatur gesetzt, in dem bis auf eine Nachkommastelle der rest kaufm.weggerundet wird.
jetzt kannst Du alle weiteren Nachverarbeitungen auf Temperatur triggern.
Achtung: Der neue Name darf nicht identisch mit temperature oder T sein, sonst gibt es Probleme.

ZitatBei dieser Gelegenheit: Welche Bedeutung hat das kleine Dreieck am Ende der Einheit - anfangs hatte ich es als Trendpfeil willkommen geheißen, doch es zeigt immer abwärts...
Alarmgrenze über bzw. unterschritten.

Gruß JAochim

FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

cwagner

Moin, moin,

danke für die hilfreiche Info über das Userreading - und vor allem über das kleine Dreieck. Auf den Hinweis auf die Alarmgrenzen wäre ich wahrscheinlich nie gekommen. Und nun habe ich es auch in der Doku gefunden und verstanden ;:)

Herzliche Grüße

Christian
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB