Temperatursensor: HM-WDS30-T-O und openhab

Update: Ich habe nun das logging einige Tage beobachtet.
Leider gibt es immer wieder Aussetzte. Die Aussetzer wären nicht schlimm wenn man die als Aussetzer erkennen würde.
Vielleicht kann man die “falschen” Werte in Zukunft mit HG intelligent abfangen.

P.S. der Beitrag kann geschlossen werden :slight_smile:
Vielen Dank

Hallo @kohle,

mich wundert, dass die Aussetzer überhaupt existieren. Ich habe bei mir einige Temperatursensoren (in Form von Wandthermostaten) im Einsatz, welche zuverlässig alle 2 bis 3 Minuten einen Wert senden. Könntest du mir einmal ein Log posten, in welchem der Übergang in einen Bereich vorhanden ist, in dem Werte nicht mehr aktualisiert werden? Vielleicht gibt das etwas Aufschluss.

Was meinst du damit genau? In welche Spalte? Natürlich könnte man bei “UNREACH” die Temperatur zum Beispiel auf “0” setzen. Ansonsten gibt es ja das “UNREACH” und “LAST_PACKET_RECEIVED” als Fehlerindikator.

Viele Grüße

Sathya

Hallo @sathya

Die Aussetzer passieren immer wieder. Ich beobachte das seit Wochen. Ich kann mir nur “?schwer?” vorstellen das es mit dem Empfang zu tun hat. Da Sender und Empfänger ca. 5m voneinander entfernt sind.

Ich würde Euch hier gerne meine Logs zu Verfügung stellen doch weiß ich nicht wie ich das machen sollte. (ich bin keine Programmierer) – Sorry – nur ein Stümper :joy:

Ich dachte da an einen aufruf von crontab jede minute mit:

homegear -r | rc print($hg->getValue(2, 1, “UNREACH”));

Leider funktioniert das so NICHT! ist nur ein beispiel wie ich versuche an die Variable ran zu kommen.

Hat von euch jemand einen Vorschlag wie ich die Log mit den benötigten Daten zu Verfügung stellen kann ?
lg

Ich würde ein Null bevorzugen anstatt den Letzten Wert zu halten. Weiteres würde ich im Fall eines fehlerhaften lesen ein erneutes lesen Vorschlagen. Erst wenn beim x ten mal lesen kein “echter gültiger” Wert eingelesen werden kann würde ich deine vorgeschlagene 0 schreiben.

Ich finde das mit 0 eine smarte Idee. Vielleicht kann man anstatt 0 ein Sonderzeichen verwenden um mit einer nachgeschalteten Aktion (muss nicht in HG abgebildet sein) den Fehler via Mail mitzuteilen.

Die Werte werden nicht gelesen. Das Gerät sendet diese von sich aus. Von daher ist ein erneutes Lesen nicht möglich.

Das geht nicht, da der Datentyp sich nicht ohne Weiteres ändern kann. Wir müssen also bei Fließkommazahlen bleiben.

Das müsste heißen:

homegear rc 'print($hg->getValue(2, 1, "UNREACH));'

Damit bekommst du allerdings nur den letzten Wert. Poste am besten die gesamte Datei “/var/log/homegear/homegear.log” und schreibe dazu, wann es Aussetzer gab.

Viele Grüße

Sathya