98_dewpoint seit Update 23.05.18 fehlerhaft?

Begonnen von Gast45, 24 Mai 2018, 20:33:54

Vorheriges Thema - Nächstes Thema

sash.sc

Kann ich bestätigen.
Müsste nach der Umstellung im Modul jetzt jedes reading einzeln loggen. Habe auch das SVG umgestellt.
Wollte mir den state;T:.* die logs etwas kleiner halten.

Gruß Sascha

Gesendet von meinem E6653 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Gast45

Beruhigend, dass ich nicht allein das Problem habe :)

Ich habe aber noch die Hoffnung, das irgendwie wieder hin zu bekommen....
Wenn ich mal irgendwann Zeit habe. Das Probieren frisst ja schon ordentlich Zeit.
Meist liegt der Fehler vor der Tastatur

Gast45

Ich habe eine Lösung, die mir zwar auch noch nicht 100%-ig gefällt, aber es kommt dem vorherigen wieder nahe. Auch muss man hier trotzdem jedes SVG wieder anpassen, weil die Werte eine Position nach hinten verschoben sind.

Ich habe einfach ein userReading angelegt
attr <device> userReading all {sprintf("T: %.1f H: %.1f D: %.1f A: %.1f", ReadingsVal("<device>","temperature",0),ReadingsVal("<device>","humidity",0),ReadingsVal("<device>","dewpoint",0),ReadingsVal("<device>","absFeuchte",0))}

<device> natürlich duch das individuell genutzte ersetzen.


Dass die Position im Log gleich bleibt und somit die SVG's nicht angepasst werden müssen, kann man bestimmt wie folgt machen:
attr <device> userReading T {sprintf("%.1f H: %.1f D: %.1f A: %.1f", ReadingsVal("<device>","temperature",0),ReadingsVal("<device>","humidity",0),ReadingsVal("<device>","dewpoint",0),ReadingsVal("<device>","absFeuchte",0))}

Das Reading heißt hier T und dafür steht T nicht mehr direkt im Reading.
Meist liegt der Fehler vor der Tastatur

LuckyDay

@Gast45

mir geht es genauso, deswegen
attr global exclude_from_update 98_dewpoint.pm

Gast45

Zitatattr global exclude_from_update 98_dewpoint.pm
Bewirkt das, dass 98_dewpoint auf der eigenen Installation von Updates ausgenommen wird?

Ich bin kein Freund davon, auf immer und ewig auf einer alten Version hängen zu bleiben. Spätestens wenn man mal ganz neu installieren muss, läuft man hinter der richtigen alten Version hinterher, oder nicht? :)
Meist liegt der Fehler vor der Tastatur

sash.sc

Das Exclude wäre auch ne Möglichkeit gewesen. Ich möchte auch das System eigentlich immer aktuell halten.

Habe deswegen auch die FileLogs alle umgestellt, so dass jedes reading einzeln geschrieben wird.

Gruß Sascha

Gesendet von meinem E6653 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

LuckyDay

Naja, das alte Modul macht das was es soll, ich habe einfach keine Lust meine SVGs und FileLogs der letzten Jahre (7) zu ändern,
für null Vorteile der neuen Version.

die alten Versionen kann man sich auch aus dem SVN ziehen, oder man hat sie in seinen backups.
es gibt ja mehrere Developer die so einen Hauruck update machen, wo die Installation dann nicht mehr so läuft wie gehabt :(
so als Bsp OWSERVER , das geht gar nicht.

Gast45

#22
Ich glaube meine in Antwort #17 geschilderte Lösung hat noch einen Haken. Wenn sich Werte ändern, dann erscheinen zwei Einträge im FileLog.

Einmal mit den neuen Messwerten, aber noch alte Werte für D und A.
Und einmal mit neuen Messwerten und aktuell berechneten Werte für D und A.

Der erste Eintrag ist natürlich total unnütz, weil die Werte nicht zusammenpassen.

Wenn ich Zeit finde, gucke ich morgen nochmal..... :(
Meist liegt der Fehler vor der Tastatur

Gast45

#23
Hallo zusammen,

ich versuche immer noch die Darstellung von Klimadaten wieder so herzustellen, wie es vor dem letzten Update funktionierte. Insbesondere hätte ich gerne wieder Folgendes erreicht:

1. Ein relativ kompaktes FileLog nach folgendem Schema:
2018-05-22_14:40:08 SensorAussen T: 28.5 H: 38.0 D: 12.8 A: 10.6
2018-05-22_14:42:08 SensorAussen T: 28.4 H: 38.0 D: 12.7 A: 10.5
2018-05-22_14:44:08 SensorAussen T: 28.3 H: 38.0 D: 12.6 A: 10.5
2018-05-22_14:46:08 SensorAussen T: 28.2 H: 38.0 D: 12.5 A: 10.4

Es sollen dabei nur geänderte Werte erfasst werden, aber mindestens alle 3 Minuten soll auf jeden Fall ein Eintrag erfolgen.

--> userReading und event-on-....


2. Der STATE soll ebenfalls nach diesem Schema aufgebaut sein:
T: 28.5 H: 38.0 D: 12.8 A: 10.6

--> stateFormat


Lösungsversuch:

Nach vielen Versuchen bin ich der Meinung, dass diese Konfiguration den Wünsche am nähesten kommt:
Internals:
   CHANGED   
   NAME       SensorAussen
   NR         41
   STATE      T: 22.0 H: 74.0 D: 17.1 A: 14.3
   TYPE       dummy
   OLDREADINGS:
   READINGS:
     2018-02-04 12:12:25   Batteriewechsel 0
     2018-06-03 10:52:32   absFeuchte      14.3
     2018-06-03 10:52:32   dewpoint        17.1
     2018-06-03 10:52:52   humidity        74.0
     2018-06-03 10:52:52   state           T: 22.0 H: 74.0 D: 17.1 A: 14.3
     2018-06-03 10:52:52   temperature     22.0
Attributes:
   event-min-interval .*:175
   event-on-change-reading humidity,temperature,state
   group      Sensordaten clonen – verarbeiten – loggen
   icon       temperature_humidity
   room       Sensoren
   stateFormat {sprintf("T: %.1f H: %.1f D: %.1f A: %.1f", ReadingsVal("SensorAussen","temperature",0),
ReadingsVal("SensorAussen","humidity",0),
ReadingsVal("SensorAussen","dewpoint",0),
ReadingsVal("SensorAussen","absFeuchte",0))}
   userReadings state {sprintf("T: %.1f H: %.1f D: %.1f A: %.1f", ReadingsVal("SensorAussen","temperature",0),
ReadingsVal("SensorAussen","humidity",0),
ReadingsVal("SensorAussen","dewpoint",0),
ReadingsVal("SensorAussen","absFeuchte",0))}


Und FileLog gefiltert nach:
REGEXP     SensorAussen:T:.*


Allerdings ergibt sich da ein Problem im FileLog:
2018-06-03_10:49:52 SensorAussen T: 22.0 H: 74.0 D: 17.1 A: 14.3
2018-06-03_10:52:52 SensorAussen T: 22.0 H: 74.0 D: 17.1 A: 14.3
2018-06-03_10:53:52 SensorAussen T: 25.0 H: 74.0 D: 17.1 A: 14.3
2018-06-03_10:53:52 SensorAussen T: 25.0 H: 74.0 D: 20.0 A: 17.0

Wie man sieht erscheinen bei Änderungen zwei Zeilen im FileLog. Die letzte Zeile ist in Ordnung, weil sie konsistente Daten enthält. Die vorletzte Zeile jedoch enthält noch die alten Werte für D und A, aber schon die neuen für T und H. Die Werte dieser Zeile passen somit nicht zusammen.
Gibt es hier noch einen Trick, wie ich das verhindern kann?

Ich glaube ja, dass die von mir eingebrachte Idee das pauschal ändern/vereinfachen könnte:
https://forum.fhem.de/index.php/topic,88336.0.html
Meist liegt der Fehler vor der Tastatur