FHEM Forum

FHEM => Automatisierung => Thema gestartet von: majorshark am 02 August 2022, 07:52:06

Titel: Anwendungsbeispiel JsonMod / Gasspeicherfüllstand in DE/EUR
Beitrag von: majorshark am 02 August 2022, 07:52:06
Hallo Forum,

hier mal ein Beispiel für das JodsonMod um den Füllstand der Gasspeicher in Deutschland abzufragen. Die Daten stehen unter https://agsi.gie.eu (https://agsi.gie.eu) zur Verfügung. Nach einer kostenlosen Anmeldung können diese Daten auch mittels API abgerufen werden und mit JsonMod aufbereitet werden.

Wer es braucht ;-)

Grüße Frank

defmod GasInStorageDE JsonMod https://agsi.gie.eu/api?country=de&date=now
attr GasInStorageDE DbLogInclude gasInStorage,injection,trend,full
attr GasInStorageDE comment Status: \
E - Estimated - Geschätzt\
C - Confirm - Bestätigt
attr GasInStorageDE event-on-change-reading gas_Day
attr GasInStorageDE httpHeader x-key: 08154711
attr GasInStorageDE icon gasmeter2
attr GasInStorageDE interval 0 6 * * *
attr GasInStorageDE readingList single(jsonPath('$.gas_day'), 'gas_Day', 'N/A');;\
single(jsonPath('$.data.0.gasInStorage'), 'gasInStorage', 'N/A');;\
single(jsonPath('$.data.0.consumption'), 'consumption', 'N/A');;\
single(jsonPath('$.data.0.consumptionFull'), 'consumptionFull', 'N/A');;\
single(jsonPath('$.data.0.injection'), 'injection', 'N/A');;\
single(jsonPath('$.data.0.withdrawal'), 'withdrawal', 'N/A');;\
single(jsonPath('$.data.0.workingGasVolume'), 'workingGasVolume', 'N/A');;\
single(jsonPath('$.data.0.injectionCapacity'), 'injectionCapacity', 'N/A');;\
single(jsonPath('$.data.0.withdrawalCapacity'), 'withdrawalCapacity', 'N/A');;\
single(jsonPath('$.data.0.status'), 'status', 'N/A');;\
single(jsonPath('$.data.0.trend'), 'trend', 'N/A');;\
single(jsonPath('$.data.0.full'), 'full', 'N/A');;
attr GasInStorageDE room 8.1_Info
attr GasInStorageDE stateFormat Füllstand: full%
Titel: Antw:Anwendungsbeispiel JsonMod / Gasspeicherfüllstand in DE/EUR
Beitrag von: sash.sc am 02 August 2022, 21:34:06
Danke
Titel: Antw:Anwendungsbeispiel JsonMod / Gasspeicherfüllstand in DE/EUR
Beitrag von: mi.ke am 02 August 2022, 23:46:51
Klasse, vielen Dank!
Titel: Antw:Anwendungsbeispiel JsonMod / Gasspeicherfüllstand in DE/EUR
Beitrag von: jkriegl am 11 August 2022, 16:43:40
Anbei eine Visialisierung.
Man beachte, dass Haidach ausschließlich ein bayerischer Speicher ist und noch nicht an AT angeschlossen ist. Dieser ist in der Quelle AT zugeordnet und müsste eigentlich DE zugeordnet werden - also eine Verfälschung der DE Befüllung von ca. 2%.
Rheden und Wolfersberg haben die gesetzliche Sollvorgabe von 65% (1. Aug) verfehlt, Haidach ist in AT. Haidach hat derzeit einen trend von 0,31% wird also (bei keiner Verbesserung) das Okt.-Ziel (80%) klar verfehlen!
Titel: Antw:Anwendungsbeispiel JsonMod / Gasspeicherfüllstand in DE/EUR
Beitrag von: no_Legend am 25 Oktober 2022, 12:54:53
Hallo Forum,

hier mal ein Beispiel für das JodsonMod um den Füllstand der Gasspeicher in Deutschland abzufragen. Die Daten stehen unter https://agsi.gie.eu (https://agsi.gie.eu) zur Verfügung. Nach einer kostenlosen Anmeldung können diese Daten auch mittels API abgerufen werden und mit JsonMod aufbereitet werden.

Wer es braucht ;-)

Grüße Frank

defmod GasInStorageDE JsonMod https://agsi.gie.eu/api?country=de&date=now
attr GasInStorageDE DbLogInclude gasInStorage,injection,trend,full
attr GasInStorageDE comment Status: \
E - Estimated - Geschätzt\
C - Confirm - Bestätigt
attr GasInStorageDE event-on-change-reading gas_Day
attr GasInStorageDE httpHeader x-key: 08154711
attr GasInStorageDE icon gasmeter2
attr GasInStorageDE interval 0 6 * * *
attr GasInStorageDE readingList single(jsonPath('$.gas_day'), 'gas_Day', 'N/A');;\
single(jsonPath('$.data.0.gasInStorage'), 'gasInStorage', 'N/A');;\
single(jsonPath('$.data.0.consumption'), 'consumption', 'N/A');;\
single(jsonPath('$.data.0.consumptionFull'), 'consumptionFull', 'N/A');;\
single(jsonPath('$.data.0.injection'), 'injection', 'N/A');;\
single(jsonPath('$.data.0.withdrawal'), 'withdrawal', 'N/A');;\
single(jsonPath('$.data.0.workingGasVolume'), 'workingGasVolume', 'N/A');;\
single(jsonPath('$.data.0.injectionCapacity'), 'injectionCapacity', 'N/A');;\
single(jsonPath('$.data.0.withdrawalCapacity'), 'withdrawalCapacity', 'N/A');;\
single(jsonPath('$.data.0.status'), 'status', 'N/A');;\
single(jsonPath('$.data.0.trend'), 'trend', 'N/A');;\
single(jsonPath('$.data.0.full'), 'full', 'N/A');;
attr GasInStorageDE room 8.1_Info
attr GasInStorageDE stateFormat Füllstand: full%

Kann man das noch so 1zu1 übernehmen?`
Bei mir kommen alle Readings nur N/A

Mach ich was falsch?

Danke und Grüße Robert
Titel: Antw:Anwendungsbeispiel JsonMod / Gasspeicherfüllstand in DE/EUR
Beitrag von: FHEM-User22 am 26 Oktober 2022, 07:08:31
Moin,

Dankeschön. Funzt!

@no_Legend: Hast Du Dich angemeldet? Und das Attribut httpHeader gesetzt?

Beste Grüße

PS: Hallo Frank, wo waren wir denn beim Stammtisch?
Titel: Antw:Anwendungsbeispiel JsonMod / Gasspeicherfüllstand in DE/EUR
Beitrag von: FHEM-User22 am 26 Oktober 2022, 07:10:55
Moin,

Anbei eine Visialisierung.

sieht gut aus. Könnte man eventuell die Codeschnipsel bekommen?

Beste Grüße
Titel: Antw:Anwendungsbeispiel JsonMod / Gasspeicherfüllstand in DE/EUR
Beitrag von: jkriegl am 01 November 2022, 18:51:11
Gerne {package ui_Table;
$TC{0..3} = "align='left'";
sub sub_farbe {
    my($redgreen)=@_;
    return (int($redgreen)); }
}

card([GasInStDE:trend:col2w],"Trend DE", "",-1,1,15,110,"",undef,2,"90,1,1,,,1,200")
cylinder("DE",0,100,"%",80,70,undef,1,[GasInStDE:full],sub_farbe([GasInStDE:full]),"")
An der Farbe kann man sicher noch etwas verbessern.
Titel: Antw:Anwendungsbeispiel JsonMod / Gasspeicherfüllstand in DE/EUR
Beitrag von: FHEM-User22 am 02 November 2022, 07:27:12
Moin,
Dankeschön. Funktioniert.

Beste Grüße aus Grimma
Titel: Antw:Anwendungsbeispiel JsonMod / Gasspeicherfüllstand in DE/EUR
Beitrag von: Gueco315 am 09 November 2022, 11:47:50
Hallo Frank,

ich habe mich angemeldet und den key eingetragen. Leider verwende ich dblog nicht sondern nur Log Files. Und ich bekomme keine Daten.
Wie würde es mit einem Logfile funktionieren?

Gruß Günter
Titel: Antw:Anwendungsbeispiel JsonMod / Gasspeicherfüllstand in DE/EUR
Beitrag von: Gueco315 am 10 November 2022, 08:55:39
Klappt, hatte einen Fehler in der ReadingList.

Gruß Günter