[gelöst] ReadingsVal zeigt werte nicht in state an

Begonnen von Moli, 15 Juli 2020, 21:53:22

Vorheriges Thema - Nächstes Thema

Moli

Hallo,

da ich mir die Finger schon wund gegoogelt habe, frage ich mal hier nach Hilfe.

Eigentlich ganz simple ich lese ein paar Dateien ein, da sind nur Zahlen und nur in der ersten Zeile und möchte mir diese Anzeigen.

Als Test habe noch /etc/timezone eingelesen und das funktioniert, aber /run/StromVerbrauch nicht.

Und ich weiß nicht warum ...

Unter dem Punkt Readings wird es übrigens richtig angezeigt, nur in State bekomme ich es nicht. (Timezone ja, Stromverbrauch nein)

Danke im Voraus für die Hilfe.


define myReadings CustomReadings
attr myReadings interval 300
attr myReadings readingDefinitions timezone:qx(cat /etc/timezone 2>&1), stromverbrauch:qx(head -1 /run/StromVerbrauch 2>&1)
attr myReadings room Input
attr myReadings stateFormat {"Timezone: " . ReadingsVal($name,"timezone",0) . "!"."Strom: " . ReadingsVal($name,"stromverbrauch",0) . " Watt"}

amenomade

Was sagt die Log?
Was sind die Berechtigungen auf /run/Stromverbrauch
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Moli

Die Logs sind leer, die Rechte sind da.

Im Readings sind ja die Werte, ich möchte sie nur im state haben.

amenomade

Ok falsch verstanden.
Dann zeig mal bitte ein vollständiges "list myReadings"

Was Du im Perl Code gemacht hast, kann man einfach so schreiben:
attr myReadings stateFormat Timezone: timezone !Strom: stromverbrauch Watt
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Moli

Ich habe das hier der Übersicht halber etwas gekürzt, hier das komplette:


Internals:
   FUUID      5f0b5e50-f33f-18b8-bbec-cc2aeb741446348c
   NAME       myReadings
   NR         18
   STATE      Timezone: Europe/Berlin!Strom:  Watt
   TYPE       CustomReadings
   READINGS:
     2020-07-15 22:12:14    feuchteaussen  77
     2020-07-15 22:12:14    feuchtekeller  63.0
     2020-07-15 22:12:14    stromverbrauch 192.9
     2020-07-15 22:12:14   photovoltaik    0
     2020-07-15 22:12:14   state           OK
     2020-07-15 22:12:14   timezone        Europe/Berlin
Attributes:
   interval   300
   readingDefinitions timezone:qx(cat /etc/timezone 2>&1),photovoltaik:qx(cat /run/SolarAll 2>&1), stromverbrauch:qx(head -1 /run/StromVerbrauch 2>&1), feuchtekeller:qx(cat /run/HumKeller 2>&1), feuchteaussen:qx(cat /run/HumOut 2>&1)
   room       Input
   stateFormat {"Timezone: " . ReadingsVal($name,"timezone",0) . "!"."Strom: " . ReadingsVal($name,"stromverbrauch","") . " Watt"}

amenomade

Mach das Leerzeichen vor den Namen der Readings in readingDefinitions weg
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Moli

So? Keine Änderung, auch bei Deiner Variante, das gleiche Ergebnis.

Timezone geht, Srom nicht.


Internals:
   FUUID      5f0b5e50-f33f-18b8-bbec-cc2aeb741446348c
   NAME       myReadings
   NR         18
   STATE      Timezone: Europe/Berlin!Strom:  Watt
   TYPE       CustomReadings
   READINGS:
     2020-07-15 22:17:14    feuchteaussen  72
     2020-07-15 22:17:14    feuchtekeller  63.1
     2020-07-15 22:17:14    stromverbrauch 231.2
     2020-07-15 22:17:14   photovoltaik    0
     2020-07-15 22:17:14   state           OK
     2020-07-15 22:17:14   timezone        Europe/Berlin
Attributes:
   interval   300
   readingDefinitions timezone:qx(cat /etc/timezone 2>&1),photovoltaik:qx(cat /run/SolarAll 2>&1), stromverbrauch:qx(head -1 /run/StromVerbrauch 2>&1), feuchtekeller:qx(cat /run/HumKeller 2>&1), feuchteaussen:qx(cat /run/HumOut 2>&1)
   room       Input
   stateFormat {"Timezone: " .ReadingsVal($name,"timezone",0) . "!"."Strom: " .ReadingsVal($name,"stromverbrauch","") . " Watt"}

amenomade

Deine Readings wurden nach der Änderung noch nicht aktualisiert (in deinem neuen "list")

EDIT: und die Änderung hast Du laut "list" immer noch nicht gemacht
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Moli

Du hast recht, aber es stehen ja Werte im Reading, wenn auch alt, müssten diese nicht angezeigt werden?


Internals:
   FUUID      5f0b5e50-f33f-18b8-bbec-cc2aeb741446348c
   NAME       myReadings
   NR         18
   STATE      Timezone: Europe/Berlin!Strom:  Watt
   TYPE       CustomReadings
   READINGS:
     2020-07-15 22:29:17    feuchteaussen  72
     2020-07-15 22:29:17    feuchtekeller  63.1
     2020-07-15 22:29:17    stromverbrauch 231.2
     2020-07-15 22:29:17   photovoltaik    0
     2020-07-15 22:29:17   state           OK
     2020-07-15 22:29:17   timezone        Europe/Berlin
Attributes:
   interval   300
   readingDefinitions timezone:qx(cat /etc/timezone 2>&1),photovoltaik:qx(cat /run/SolarAll 2>&1), stromverbrauch:qx(head -1 /run/StromVerbrauch 2>&1), feuchtekeller:qx(cat /run/HumKeller 2>&1), feuchteaussen:qx(cat /run/HumOut 2>&1)
   room       Input
   stateFormat {"Timezone: " .ReadingsVal($name,"timezone",0) . "!"."Strom: " .ReadingsVal($name,"stromverbrauch","") . " Watt"}

amenomade

Die Änderung hast Du laut "list" immer noch nicht gemacht
ZitatreadingDefinitions timezone:qx(cat /etc/timezone 2>&1),photovoltaik:qx(cat /run/SolarAll 2>&1),<hier kein Leerzeichen>stromverbrauch:qx(head -1 /run/StromVerbrauch 2>&1),<hier auch nicht>feuchtekeller:qx(cat /run/HumKeller 2>&1),<und hier immer noch nicht, weg damit>feuchteaussen:qx(cat /run/HumOut 2>&1)
Dann auf eine Aktualisierung warten
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

Zitat von: Moli am 15 Juli 2020, 22:30:24
Du hast recht, aber es stehen ja Werte im Reading, wenn auch alt, müssten diese nicht angezeigt werden?

Das Problem ist, dass dein Reading nicht "stromverbrauch" sondern "<Leerzeichen>stromverbrauch" heisst,
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Moli

Das wars, ich dachte Du meinst im stateFormat.

Ich dachte mir schon, das ein simpler Fehler sein muss, das kann man nicht Googlen.

Vielen Dank!

amenomade

Zitat von: amenomade am 15 Juli 2020, 22:18:26
Mach das Leerzeichen vor den Namen der Readings in readingDefinitions weg

;)

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

Moli