FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: AbeamStart am 18 September 2013, 17:32:27

Titel: Werte aus html Datei holen, loggen und plotten
Beitrag von: AbeamStart am 18 September 2013, 17:32:27
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!
Titel: Aw: Werte aus html Datei holen, loggen und plotten
Beitrag von: UliM am 18 September 2013, 20:45:25
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
Titel: Aw: Werte aus html Datei holen, loggen und plotten
Beitrag von: AbeamStart am 19 September 2013, 09:33:47
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!