Fehlerhafte Formatierung beim State -> °C

Begonnen von sprell, 16 Juni 2020, 17:33:54

Vorheriges Thema - Nächstes Thema

sprell

Hallo zusammen,

mir ist aufgefallen, dass der State bei den Thermostaten eine fehlerhafte Formatierung hat. Hat das Problem noch jemand?
Bei mir steht bei allen Thermostaten im State °C hinter der Zahl. Seltsamerweise sind alle anderen Werte korrekt formatiert.

Beispiel:


state 7.0°C
temperature 23.8
weekprofile-0-Sat-temp 5.0 °C


In der Raw definition sieht es so aus:


setstate xxx 2020-06-16 17:36:37 state 7.0°;C
setstate xxx 2020-06-16 17:36:37 temperature 23.8
setstate xxx 2020-06-16 14:28:07 testresult 160
setstate xxx 2020-06-16 14:28:07 valveOffset 0
setstate xxx 2020-06-16 17:36:37 valveposition 0
setstate xxx 2020-06-16 14:28:07 weekprofile-0-Sat-temp 5.0 °C


Habe erst ein Update gemacht. Sollten also die neusten Versionen laufen. Danke und viele Grüße. :-)

amenomade

Und was ist damit fehlerhaft?

state 7.0°Cführt dazu, dass in der Weboberfläsche 7.0°C gezeigt wird.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

sprell

Früher war das nicht so. Ich lese den State über ein Skript aus und da war es früher eben ordentlich formatiert: "state 7.0 °C" (Zahl, Leerzeichen und °C) und nicht "state 7.0°C".
Ist ja auch kein großes Problem. Ich wollte halt nur fragen ob das normal ist oder ggf. gefixt wird.

amenomade

Das ist so seit rev 21824 (1.Mai 2020)

Anscheinend sogar explizit gewollt, da folgendes im Code steht:
1935   $c = '°C' if (exists($shash->{'.desiredTemperature'}) && (substr($shash->{'.desiredTemperature'},0,1) ne 'o')); # on/off
1936   #$c = '°C' if (defined($shash->{'.desiredTemperature'}) && substr($shash->{'.desiredTemperature'},0,1) ne 'o'); # on/off


Also einmal mit °C und einmal kommentiert mit °C
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

sprell

Ok, wenn das so gewollt ist, ist es eben so.  ;)

Danke für deine Hilfe.  :)

amenomade

Nee, die Frage an den Modulautor (@Wzut)  lohnt sich: anscheinend hat er sich 2x überlegt ;)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Christoph Morrison

War nicht mal Konvention, dass state ohne Einheiten geliefert wird und die User sich das nach Bedarf mit Einheiten / oder sonst was mit stateFormat einblenden?

rudolfkoenig

An diese Konvention kann ich mich nicht erinnern, aber an langwierige Diskussionen, ob man Einheiten im Readingwert oder separat oder gar nicht angeben soll. Aber ich haette nichts dagegen :)

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Also... ehrlich gesagt: ich bin auch für keine Einheit in Readings, aber man muss auch sagen, dass anscheinend keine allgemeine Entscheidung getroffen wurde und kein Pflicht besteht (bzw die Diskussion wegen Types ist irgendwie gestorben). Das Ziel ist nicht,  diese langen Diskussionen zwischen Entwickler hier wieder anzufangen.

Allerdings, wenn man eine Einheit im Reading will, finde ich "°C" eher unschön im Vergleich mit "°C"

Just my 2ct ;)





Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Bubbles71

Hallo,

mir währe ein STATE ohne Einheit auch lieber. In einer readingsGroup

Heizung_Haus readingsGroup MAX_.*:state,temperature,desiredTemperature,valveposition,mode,battery

wird nun bei state
Zitat10.0°C
angezeigt. Ich hänge lieber über valueFormat die Einheit an, statt komplizierter °C zu löschen.

Oder wieder als state mit °C. Das war für die Anzeige auch OK.

Liebe Grüße,

Roland


Wzut

so besser spät als nie, sorry bin z.Z. im Urlaub und der Thread wäre mir beinahe durchgerutscht.
Ich hatte sowieso vor im Maintainer Bereich dazu noch einen extra Thread aufzumachen, u.A. da ich mit use utf8 noch so meine Probleme habe.
Anyway, das deg; ist entstanden weil es die wenigsten Probleme mit verschiedenen Browsern gemacht hat.
Ich bin eigentlich auch ein Verfechter von Readings ohne gegliche Einheiten und bei komplett von mir geschriebenen Modulen gibt es auch keine,
hier als Erbe ist es etwas anderes, aber ich überlege schon länger diese auch hier komplett entfallen zu lassen.
Allerdings muß man da auch FHEMWEB im Hinterkopf behalten denn das schmuggelt mir auch bei Testgeräten ein °C auf den Bildschirm ganz ohne Wert.
IMHO hängt das bei FHEMWEB damit zusammen wenn es das Reading desiredTemperature gibt, bin mir aber nicht mehr ganz sicher.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

rudolfkoenig

IMHO hängt das bei FHEMWEB damit zusammen wenn es das Reading desiredTemperature gibt..
Korrekt, ist historisch, ich wuerde das heute so nicht mehr machen.
Bin sogar dafuer, es auszubauen, ich trau mich nur nicht :)

Christoph Morrison

Zitat von: rudolfkoenig am 17 Juni 2020, 18:03:30
IMHO hängt das bei FHEMWEB damit zusammen wenn es das Reading desiredTemperature gibt..
Korrekt, ist historisch, ich wuerde das heute so nicht mehr machen.
Bin sogar dafuer, es auszubauen, ich trau mich nur nicht :)

Ich wäre dafür. Kannst du das nicht zweistufig machen: Im ersten Schritt wirft dieser Vorgang einfach jedesmal einen Logeintrag mit dem Hinweis, dass sich das Verhalten in Zeitraum x ändern wird. Im zweiten Schritt baust du es dann aus und kannst jeden der hier dann aufschlägt damit abfertigen, dass er mal in seine Logs gucken soll.

Wzut

Zitat von: rudolfkoenig am 17 Juni 2020, 18:03:30
Bin sogar dafuer, es auszubauen, ich trau mich nur nicht :)
Vorschlag : sag mir wie deine FHEMWEB Änderung aussehen würde damit ich 10_MAX darauf vorbereiten kann.
D.h. im Idealfall gehen wir mit beiden Änderungen zeitgleich an den Start (Mitte Juli)

Zitat von: Bubbles71 am 16 Juni 2020, 21:51:43
mir währe ein STATE ohne Einheit auch lieber. In einer readingsGroup
gerade bei rg machen es sich nach meiner Meinung die User meist etwas zu einfach mit STATE/state (siehe auch das letzte Thema mit den FKs),
ich bevorzuge immer die nackten Readings (temperature /mode / desiredTemperature /onoff / usw.)
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher