FHEM Forum

FHEM => Automatisierung => Thema gestartet von: satprofi am 24 August 2025, 14:39:20

Titel: JsonMod readings mappen
Beitrag von: satprofi am 24 August 2025, 14:39:20
Hallo.
Habe hier Ladestellenverzeichnis ->  Link  (https://community.beenergised.cloud/api/community/price_information?) das ich auf div. Anbieter filtere. Jetzt möchte ich die Werte Conditions auf die richtige Summe ausgeben. Habe dazu die Umrechnungstabelle, wo der Wert COM255 eine bestimete Zahl bedeutet. Wie mappe ich diese Readings jetzt auf diese Zahl?
Titel: Aw: JsonMod readings mappen
Beitrag von: TomLee am 24 August 2025, 15:07:06
Zitat von: herrmannj am 25 Juli 2020, 12:59:00...
Ersetzen und Umrechnen von Werten (Anforderung von Rewe2000): Weil jetzt beliebige perl Ausdrücke verwendet werden können problemlos. Ich würde mir eine kleine Funktion in eine 99.my.. schreiben, zum Beispiel ...

Titel: Aw: JsonMod readings mappen
Beitrag von: satprofi am 25 August 2025, 09:32:22
Danke für den Wink, aber da steh ich trotzdem etwas an.
Titel: Aw: JsonMod readings mappen
Beitrag von: TomLee am 25 August 2025, 11:23:01
Keine Ahnung wie Du filterst.
Bspw. könnte ein single-Eintrag in readingList so ähnlich aussehen:

single(convELWA(jsonPath('$.bli.1.bla')), 'blub', 'nA')
Die Funktion convELWA() mappt die Werte zu Zahlen mittels Hash (%lookup) und wird in einer 99_my_Utils-Datei angelegt.

Die würd ich so definieren:
sub convELWA {
  my $val = shift;
  my  %lookup= (
    'COM255' => 2,
    'MC_T_4500 EUR' => 6,
    'bla' => 9
  );
 
my $ret = $lookup{$val};
return $val if !$ret;
return $ret;
}

Oder noch kürzer so:
sub convELWA {
  my $val = shift;
  my %lookup = (
    'COM255' => 2,
    'MC_T_4500 EUR' => 6,
    'bla' => 9
  );
  return $lookup{$val} // $val;
}


Titel: Aw: JsonMod readings mappen
Beitrag von: betateilchen am 25 August 2025, 12:21:39
Zitat von: TomLee am 25 August 2025, 11:23:01Keine Ahnung wie Du filterst.

Das würde mich auch interessieren. Im Moment kommen über den angegebenen Link fast 21 MB an json-Input. Es macht doch wahrscheinlich wenig Sinn, diese riesige Datenmenge verarbeiten zu wollen, wenn man am Ende (vermutlich) nur eine Handvoll Ladestationen haben möchte.
Titel: Aw: JsonMod readings mappen
Beitrag von: satprofi am 29 August 2025, 08:42:51
Vergesst es, ich hatte nach der Nummer gefiltert, wo aber täglich andere Anbieter stehen. Nur der erste dürfte immer gleich sein.
Es gäbe auch eine XML Datei zum abrufen, hab's aber aufgegeben. Umgerechnet der Werte, die ja fix sind, auf zahlen hatte ich über Script erledigt