FHEM Forum

FHEM => Frontends => readingsGroup / readingsHistory => Thema gestartet von: Helmi55 am 25 Januar 2022, 13:25:05

Titel: #erledigt# Formatierung rG
Beitrag von: Helmi55 am 25 Januar 2022, 13:25:05
Hallo liebe Leute,
ich brauche bitte eure Hilfe bei der Formatierung.
Ich habe die Erträge meiner miniPV Anlage in einer rG zusammengefasst nur schaffe ich die Formatierung nicht
Die Werte Tag, Monat und Jahr € sollten jeweils in der selben Reihe neben den kWh stehen.
Die Überschrift habe ich ja geschafft nur leider die Werte nicht

Hier ein RAW von der rG
defmod rg_PVErtrag_neu readingsGroup <>,<kWh>,<€>,<Datum>,<Zeit>\
.*:statEmeter_0_kWhDay, .*:Ertrag_Tag, <>\
.*:statEmeter_0_kWhMonth, .*:Ertrag_Monat, <>\
.*:statEmeter_0_kWhYear, .*:Ertrag_Jahr,
attr rg_PVErtrag_neu mapping { 'statEmeter_0_kWhDay' => 'Tag', 'Ertrag_Tag' => 'Tag €',  'statEmeter_0_kWhMonth' => 'Monat', 'Ertrag_Monat' => 'Monat €', 'statEmeter_0_kWhYear' => 'Jahr', 'Ertrag_Jahr' => 'Jahr €'}


und noch ein Bild wie es jetzt aussieht

Kann mir bitte jemand unter die Arme greifen - Danke
Gruß
Helmut
Titel: Antw:Formatierung rG
Beitrag von: OdfFhem am 25 Januar 2022, 13:52:56
@Helmi55

Ungefähr so, dann stehen die Tag-Angaben in einer Zeile:
.*:statEmeter_0_kWhDay,Ertrag_Tag, <>\
Kann natürlich nur klappen, wenn beide Readings aus einem FHEM-Device stammen ...
Titel: Antw:Formatierung rG
Beitrag von: frank am 25 Januar 2022, 14:18:41
attr valueColumn
Titel: Antw:Formatierung rG
Beitrag von: Helmi55 am 25 Januar 2022, 14:54:12
Danke @OdfFhem
so hat es geklappt
defmod rg_PVErtrag_neu readingsGroup <>,<kWh>,<€>\
.*:statEmeter_0_kWhDay,Ertrag_Tag, <>\
.*:statEmeter_0_kWhMonth,Ertrag_Monat, <>\
.*:statEmeter_0_kWhYear,Ertrag_Jahr,
attr rg_PVErtrag_neu mapping { 'statEmeter_0_kWhDay,Ertrag_Tag' => 'Tag',  'statEmeter_0_kWhMonth,Ertrag_Monat' => 'Monat', 'statEmeter_0_kWhYear,Ertrag_Jahr' => 'Jahr'}
attr rg_PVErtrag_neu room PVAnlage

Nur jetzt schmeisst es mich mit dem Mapping

Hast du dafür bitte auch noch eine Tip
Sänks
Helmut

Titel: Antw:Formatierung rG
Beitrag von: OdfFhem am 25 Januar 2022, 15:07:04
@Helmi55

Im linken Teil des Mappings steht normalerweise ein Readingname, rechts der neue Text.

Vermutlich brauchst Du fürs Mapping sowieso nur den Readingnamen des ersten Feldes einer Zeile ...
Titel: Antw:Formatierung rG
Beitrag von: Helmi55 am 25 Januar 2022, 15:17:00
servus

leider nein....

{ 'statEmeter_0_kWhDay' => 'Tag', 'statEmeter_0_kWhMonth' => 'Monat', 'statEmeter_0_kWhYear' => 'Jahr' }
Gruß
Helmut
Titel: Antw:Formatierung rG
Beitrag von: OdfFhem am 25 Januar 2022, 19:18:51
@Helmi55

Vermutlich funktioniert es in etwa so bei Dir:
defmod rg_PVErtrag_neu readingsGroup <>,<kWh>,<€>\
.*:IRGENDEINreading1,statEmeter_0_kWhDay,Ertrag_Tag\
.*:IRGENDEINreading2,statEmeter_0_kWhMonth,Ertrag_Monat\
.*:IRGENDEINreading3,statEmeter_0_kWhYear,Ertrag_Jahr
attr rg_PVErtrag_neu nonames 1
attr rg_PVErtrag_neu room PVAnlage
attr rg_PVErtrag_neu valueFormat {\
  if ($READING eq "IRGENDEINreading1") {\
    return 'Tag';;\
  } elsif ($READING eq "IRGENDEINreading2") {\
    return 'Monat';;\
  } elsif ($READING eq "IRGENDEINreading3") {\
    return 'Jahr';;\
  } else {\
    return $VALUE;;\
  }\
}

IRGENDEINreading1,IRGENDEINreading2,IRGENDEINreading3 musst Du durch irgendein "uninteressantes" Reading aus dem betroffenen FHEM-Device ersetzen; dessen Wert wird dann durch Tag,Monat oder Jahr übersetzt ...
Titel: Antw:Formatierung rG
Beitrag von: Helmi55 am 26 Januar 2022, 09:11:44
Guten Morgen,
Wau Danke so funktioniert es.

D.h. da ich statEmeter und Ertrag schon verwende, kann rG das für die Zeilen nicht mehr auflösen?

Danke für deine Zeit und Mühe

PS: gibts noch ein attr "Sonne" damit der Ertrag besser wird ;D ;D ;D

LG
Helmut
Titel: Antw:Formatierung rG
Beitrag von: Helmi55 am 26 Januar 2022, 16:52:28
Hallo guten Abend

eine Frage habe ich noch - für Datum und Zeit dachte ich ist das attr "notime" zuständig.
Das ist aber nicht gesetzt - warum wird dann kein Datum und Zeit mehr angezeigt?

Nice ehe und Danke
Helmut
Titel: Antw:Formatierung rG
Beitrag von: OdfFhem am 26 Januar 2022, 17:30:44
@Helmi55

Timestamp wird nur bei einspaltiger Ausgabe autom. ausgegeben und nur dann hat notime eine Bedeutung.

Bei mehrspaltiger Ausgabe wird es schwierig, einen Timestamp auszugeben;
man kann aber selbst eine solche Spalte hinzufügen ...
Titel: Antw:Formatierung rG
Beitrag von: Helmi55 am 26 Januar 2022, 18:04:38
Servus habe da jetzt im Forum danach gesucht und bin auf diesen Ansatz gekommen, aber leider NEIN
Es zerreißt mit nur die Formatierung!
defmod rg_PVErtrag_neu readingsGroup <>,<kWh>,<€>,<Zeit>\
.*:fs_free,statEmeter_0_kWhDay,Ertrag_Tag,<{readingsTimestamp($DEVICE,"statEmeter_0_kWhDay","")}@reading>\
.*:fs_size,statEmeter_0_kWhMonth,Ertrag_Monat,<{readingsTimestamp($DEVICE,"statEmeter_0_kWhMonth","")}@reading>\
.*:fw_ver,statEmeter_0_kWhYear,Ertrag_Jahr,<{readingsTimestamp($DEVICE,"statEmeter_0_kWhYear","")}@reading>\

attr rg_PVErtrag_neu alias Ernte PV Anlage kWh und €
attr rg_PVErtrag_neu nonames 1
attr rg_PVErtrag_neu room PVAnlage
attr rg_PVErtrag_neu valueFormat {\
  if ($READING eq "fs_free") {\
    return 'Tag';;\
  } elsif ($READING eq "fs_size") {\
    return 'Monat';;\
  } elsif ($READING eq "fw_ver") {\
    return 'Jahr';;\
  } else {\
    return $VALUE;;\
  }\
}

Danke
Helmut
Titel: Antw:Formatierung rG
Beitrag von: OdfFhem am 26 Januar 2022, 19:05:52
@Helmi55

Ist readingsTimestamp eine eigene Routine ?
In FHEM schreibt man diese normalerweise ReadingsTimestamp ...

Da man kein Reading ersetzt, sollte @reading entfallen ...

<{readingsTimestamp($DEVICE,"statEmeter_0_kWhYear","")}@reading>
müsste vermutlich eher so aussehen
<{ReadingsTimestamp($DEVICE,"statEmeter_0_kWhYear","")}>
Titel: Antw:Formatierung rG
Beitrag von: Helmi55 am 26 Januar 2022, 20:07:28
Wau - Danke - du bist SPITZE
Danke für deine Geduld.
Meine letzte Frage - dann bist mich in diesem Thema los  ;D ;D ;D
Warum hab ich mir die Formatierung zerschossen

defmod rg_PVErtrag_neu readingsGroup <>,<kWh>,<€>,<Zeit>\
.*:fs_free,statEmeter_0_kWhDay,Ertrag_Tag,<{ReadingsTimestamp($DEVICE,"statEmeter_0_kWhDay","")}>\
.*:fs_size,statEmeter_0_kWhMonth,Ertrag_Monat,<{ReadingsTimestamp($DEVICE,"statEmeter_0_kWhMonth","")}>\
.*:fw_ver,statEmeter_0_kWhYear,Ertrag_Jahr,<{ReadingsTimestamp($DEVICE,"statEmeter_0_kWhYear","")}>\

attr rg_PVErtrag_neu alias Ernte PV Anlage kWh und €
attr rg_PVErtrag_neu nonames 1
attr rg_PVErtrag_neu room PVAnlage
attr rg_PVErtrag_neu valueFormat {\
  if ($READING eq "fs_free") {\
    return 'Tag';;\
  } elsif ($READING eq "fs_size") {\
    return 'Monat';;\
  } elsif ($READING eq "fw_ver") {\
    return 'Jahr';;\
  } else {\
    return $VALUE;;\
  }\
}



Schönen Abend
Helmut
Titel: Antw:Formatierung rG
Beitrag von: OdfFhem am 26 Januar 2022, 22:21:26
@Helmi55

Ich vermute, dass wegen der zusätzlichen Spalte jedes durch .* qualifizierte FHEM-Device dargestellt wird.

Wenn Du also den ReadingsTimestamp-Rückfallwert von "" auf "unbekannt" setzt, würde dieser oft zu sehen sein.
Wenn Du das Attribut nonames löschst oder auf 0 setzt, würden die Namen der qualifizierten FHEM-Devices sichtbar.

Im Zweifel sollte .* "entschärft" werden:
... falls nur ein Device betroffen ist, durch dessen Name
... falls mehrere betroffen sind, eine der vielen Möglichkeiten lt. readingsGroup-Doku
Titel: Antw:Formatierung rG
Beitrag von: Helmi55 am 27 Januar 2022, 09:57:30
Guten Morgen,
Danke für deine Zeit. Das ist für mich schon etwas zu hoch.
Da muss ich ohne Zeitangabe auskommen. Hauptsache ich habe jetzt eine schöne Übersicht.
Im Wiki habe ich auch nichts zu meinem Beispiel gefunden - oder nicht verstanden :-[

Schönen Tag
Helmut
Titel: Antw:Formatierung rG
Beitrag von: OdfFhem am 27 Januar 2022, 11:14:28
@Helmi55

In Deinem Fall kommen wahrscheinlich alle Readings aus einem Device
... nach einem Screenshot weiter oben wohl MQTT2_shellyem_<MAC>

Du müsstest also
.*:fs_free,statEmeter_0_kWhDay,Ertrag_Tag,<{ReadingsTimestamp($DEVICE,"statEmeter_0_kWhDay","")}>\
.*:fs_size,statEmeter_0_kWhMonth,Ertrag_Monat,<{ReadingsTimestamp($DEVICE,"statEmeter_0_kWhMonth","")}>\
.*:fw_ver,statEmeter_0_kWhYear,Ertrag_Jahr,<{ReadingsTimestamp($DEVICE,"statEmeter_0_kWhYear","")}>\
ändern in
MQTT2_shellyem_.*:fs_free,statEmeter_0_kWhDay,Ertrag_Tag,<{ReadingsTimestamp($DEVICE,"statEmeter_0_kWhDay","")}>\
MQTT2_shellyem_.*:fs_size,statEmeter_0_kWhMonth,Ertrag_Monat,<{ReadingsTimestamp($DEVICE,"statEmeter_0_kWhMonth","")}>\
MQTT2_shellyem_.*:fw_ver,statEmeter_0_kWhYear,Ertrag_Jahr,<{ReadingsTimestamp($DEVICE,"statEmeter_0_kWhYear","")}>\

Dann sollten alle/die meisten Leerzeilen verschwinden ... hoffentlich, da ungetestet ...
Titel: Antw:Formatierung rG
Beitrag von: Helmi55 am 27 Januar 2022, 11:23:55
Vielen herzlichen Dank für deine Geduld und Zeit.
Genau so wie ich es wollte. Das hätte ich nie hinbekommen.
Aber ich glaube, ich verstehe es jetzt.

Jetzt kommt es endlich auf gelöst.
Schönen Tag noch

Helmut