FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Moli am 15 Juli 2020, 21:53:22

Titel: [gelöst] ReadingsVal zeigt werte nicht in state an
Beitrag von: Moli am 15 Juli 2020, 21:53:22
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"}
Titel: Antw:ReadingsVal zeigt werte nicht in state an
Beitrag von: amenomade am 15 Juli 2020, 22:04:06
Was sagt die Log?
Was sind die Berechtigungen auf /run/Stromverbrauch
Titel: Antw:ReadingsVal zeigt werte nicht in state an
Beitrag von: Moli am 15 Juli 2020, 22:09:05
Die Logs sind leer, die Rechte sind da.

Im Readings sind ja die Werte, ich möchte sie nur im state haben.
Titel: Antw:ReadingsVal zeigt werte nicht in state an
Beitrag von: amenomade am 15 Juli 2020, 22:14:14
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
Titel: Antw:ReadingsVal zeigt werte nicht in state an
Beitrag von: Moli am 15 Juli 2020, 22:17:16
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"}
Titel: Antw:ReadingsVal zeigt werte nicht in state an
Beitrag von: amenomade am 15 Juli 2020, 22:18:26
Mach das Leerzeichen vor den Namen der Readings in readingDefinitions weg
Titel: Antw:ReadingsVal zeigt werte nicht in state an
Beitrag von: Moli am 15 Juli 2020, 22:22:24
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"}
Titel: Antw:ReadingsVal zeigt werte nicht in state an
Beitrag von: amenomade am 15 Juli 2020, 22:27:56
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
Titel: Antw:ReadingsVal zeigt werte nicht in state an
Beitrag 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?


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"}
Titel: Antw:ReadingsVal zeigt werte nicht in state an
Beitrag von: amenomade am 15 Juli 2020, 22:31:28
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
Titel: Antw:ReadingsVal zeigt werte nicht in state an
Beitrag von: amenomade am 15 Juli 2020, 22:38:19
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,
Titel: Antw:ReadingsVal zeigt werte nicht in state an
Beitrag von: Moli am 15 Juli 2020, 22:40:06
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!
Titel: Antw:ReadingsVal zeigt werte nicht in state an
Beitrag von: amenomade am 15 Juli 2020, 22:41:21
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 :)
Titel: Antw:[gelöst] ReadingsVal zeigt werte nicht in state an
Beitrag von: Moli am 15 Juli 2020, 22:43:41
Allerdings, noch mal danke!