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!
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
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!