Hallo,
ich stelle hier mal mein erstes Plugin zur Diskussion / Optimierung.
Ziel des Plugins ist es, die Werte die der Youless Energiemeter zur Verfügung stellt auf den Bus zu bringen und die Werte als RRD zu archivieren.
Youless-Energiemeter:
Ich habe von dem lokalen Energieversorger einen klassischen Ferrari-Stromzähler. An eine DIY-Lösung auf Basis einer Photodiode und eines Raspi habe ich mich nicht herangetraut. Per Zufall bin ich dann auf den Energiemonitor http://www.youless.nl/ gestoßen.
In Deutschland scheint der Vertrieb über http://bg-etech.de/os/product_info.php/products_id/44 zulaufen. Die Installation ist sehr einfach und in wenigen Minuten dank der Bedienungsanleitung erledigt.
Auf dem Energiemeter ist ein kleiner Webserver integriert, der diverse Daten über verschiedene URL zu Verfügung stellt.
Plugin
Gerne nehme ich Verbesserungsvorschläge entgegen.
VG Alex
ich stelle hier mal mein erstes Plugin zur Diskussion / Optimierung.
Ziel des Plugins ist es, die Werte die der Youless Energiemeter zur Verfügung stellt auf den Bus zu bringen und die Werte als RRD zu archivieren.
Youless-Energiemeter:
Ich habe von dem lokalen Energieversorger einen klassischen Ferrari-Stromzähler. An eine DIY-Lösung auf Basis einer Photodiode und eines Raspi habe ich mich nicht herangetraut. Per Zufall bin ich dann auf den Energiemonitor http://www.youless.nl/ gestoßen.
In Deutschland scheint der Vertrieb über http://bg-etech.de/os/product_info.php/products_id/44 zulaufen. Die Installation ist sehr einfach und in wenigen Minuten dank der Bedienungsanleitung erledigt.
Auf dem Energiemeter ist ein kleiner Webserver integriert, der diverse Daten über verschiedene URL zu Verfügung stellt.
Plugin
Code:
# Abfrage des Youless - Energiemonitors # Alexbeer, 10.02.2016 # URLs @ http://wiki.td-er.nl/index.php?title=YouLess # Use at your own risk and under terms of GPLv2 use HTML::Entities; use LWP::UserAgent; use JSON::XS; ### Konfiguration Start ### my $url = "http://192.168.178.14"; # IP des Youless Energiemonitors my $kwh_summe_ga = "0/0/3"; my $W_aktuell_ga = "0/0/1"; ### Konfiguration Ende ### # Eigenen Aufruf-Zyklus auf 60 Sekunden setzen $plugin_info{$plugname.'_cycle'} = 60; # Abfragestring kwh Summe # my $url_overview = $url.'/a?f=j'; my $json_overview = get( $url_overview ); die "Could not get $url_overview !" unless defined $json_overview; # JSON String dekodieren my $decoded_json = decode_json( $json_overview); # Variablen füllen my $kwh_sum = $decoded_json->{'cnt'}; my $W_aktuell = $decoded_json->{'pwr'}; # Werte auf den Bus schreiben # knx_write($kwh_summe_ga,$kwh_sum,14); knx_write($W_aktuell_ga,$W_aktuell,14); # RRD schreiben # update_rrd("Stromverbrauch_Summe","",knx_read("0/0/3", 60, 14)); update_rrd("Stromverbrauch_aktuell_w","",knx_read("0/0/1", 60, 14)); return;
VG Alex
Kommentar