Werte aus html Datei holen, loggen und plotten

Begonnen von AbeamStart, 18 September 2013, 17:32:27

Vorheriges Thema - Nächstes Thema

AbeamStart

Hallo,
ich möchte mir täglich meinen Stromzählerstand per Aufruf von:

https://iphone.metering-portal.de/smartmetering/services/IphoneJsonService/?method=uebersicht&username=XXXX&password=XXXXX&view=text

holen, loggen und plotten

Wie kann ich das am Besten umsetzen?
Der html aufruf gibt mir folgenden Inhalz:

{"daten":[{"datum":"06-2013","gesamtBetrag":"25,65","zaehler":[{"betrag":"25,65","type":"STROM","verbrauch":"82,83","zaehlername":"AS1440","zaehlerstand":"3926,99","zaehlpunktbezeichnung":"DE0004946317900000000000001643822"}]},{"datum":"07-2013","gesamtBetrag":"23,76","zaehler":[{"betrag":"23,76","type":"STROM","verbrauch":"73,03","zaehlername":"AS1440","zaehlerstand":"3999,57","zaehlpunktbezeichnung":"DE0004946317900000000000001643822"}]},{"datum":"08-2013","gesamtBetrag":"25,62","zaehler":[{"betrag":"25,62","type":"STROM","verbrauch":"81,52","zaehlername":"AS1440","zaehlerstand":"4081,40","zaehlpunktbezeichnung":"DE0004946317900000000000001643822"}]},{"datum":"09-2013","gesamtBetrag":"15,16","zaehler":[{"betrag":"15,16","type":"STROM","verbrauch":"48,98","zaehlername":"AS1440","zaehlerstand":"4131,58","zaehlpunktbezeichnung":"DE0004946317900000000000001643822"}]}],"errorCode":"0"}

Mich interessiert davon eigtl nur Datum, Verbrauch und Zählerstand

Diese Daten möchte ich in ein File Loggen und anschließend plotten

geht das über ein:

define html_aufruf notify my_schalter:on { GetHttpFile("https://iphone.metering-portal.de:80", "/smartmetering/services/IphoneJsonService/?method=uebersicht&username=XXXX&password=XXXXX&view=text") }

Wie logge und plotte ich die entsprechenden Daten?
Bitte um Hilfe!
FHEM auf Debian (VM)

UliM

Zitat von: AbeamStart schrieb am Mi, 18 September 2013 17:32geht das über ein:

define html_aufruf notify my_schalter:on { GetHttpFile("https://iphone.metering-portal.de:80", "/smartmetering/services/IphoneJsonService/?method=uebersicht&username=XXXX&password=XXXXX&view=text") }

Wie logge und plotte ich die entsprechenden Daten?


define html_aufruf notify my_schalter:on { my $ret = GetHttpFile("https://iphone.metering-portal.de:80", "/smartmetering/services/IphoneJsonService/?method=uebersicht&username=XXXX&password=XXXXX&view=text"); Log 1, $ret; }

Damit würde das Ergebnis schon mal ins Log geschrieben.

Besser lagerst Du den Aufruf in eine 99_myUtils-Routine aus.
define html_aufruf notify my_schalter:on { doLogging() }

Das Wegschreiben in ein Log erreichst Du dadurch, dass Du einen dummy definierst, für diesen dummy ein log anlegst und dann in 99_myUtils sowas baust wie

sub doLogging() {
my $ret = GetHttpFile("https://iphone.metering-portal.de:80", "/smartmetering/services/IphoneJsonService/?method=uebersicht&username=XXXX&password=XXXXX&view=text");
my $datum = $ret;
$datum =~ m/datum\":\"(.*)\"/;
$datum = $1;
trigger mydummy $datum;
#usw
}

(ungetestet!)

Vielleicht denke ich aber auch zu kompliziert und es geht viel einfacher....

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

AbeamStart

Hallo,
und danke für die Antwort, aber hab es nicht wirklich verstanden.
Was muss in die fhem.cfg und was in die 99_myUtils.pm?
Vielen Dank für die Hilfe!
FHEM auf Debian (VM)