Ankündigung

Einklappen
Keine Ankündigung bisher.

Youless Energiemonitor - Plugin

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] Youless Energiemonitor - Plugin

    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
    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;
    Gerne nehme ich Verbesserungsvorschläge entgegen.

    VG Alex

    Zuletzt geändert von alexbeer; 12.02.2016, 00:06.
    Gruß
    alexbeer

    #2
    Hi,

    habe dein Plugin mal ausprobiert, bin neu bei den Plugins, wie bekomme ich die wohl zusätzlich nötigen Module installiert?
    lg
    Stefan

    Kommentar


      #3
      Hallo,
      im Webmin kannst du unter "Updates" weitere Pakete installieren.
      Momentan wird nur der Gesamt-Zählerstand ausgelesen. Ich versuche gerade den Tagesverbrauch via
      http://IP_Youless/V?d=1&f=j zu ermitteln, hierzu müssen nur die Werte im Array kumuliert werden. Klappt leider noch nicht ...
      Gruß
      alexbeer

      Kommentar


        #4
        Hallo Alex,

        auch ich nutze seit einiger Zeit die Youless Zähler, allerdings hatte ich bisher keine Möglichkeit gefunden,die Daten auf dem KXN Bus auszulesen.

        Ein WireGate Server nutze ich auch,also wären die Hardware soweit vorhanden :- )

        Nun finde ich gerade den schon etwas älteren Thread mit dem Plugin, vermutlich hast du das in den letzten Monaten weiter entwickelt ?

        Falls ja, wärst du bereit deine aktuelle Version hier zu posten ? würde mich freuen

        mfG
        Marc

        Kommentar


          #5
          Hi Marc,

          Nein ich habe da nichts mehr weiter dran gemacht.
          Alles was ich brauche, konnte ich so auslesen.
          Die am Anfang angegebene Wiki Seite hat mir geholfen.

          VG Alex
          Gruß
          alexbeer

          Kommentar


            #6
            Hallo Alex,

            dann werde ich mir mal etwas Zeit nehmen und mich in das Thema "reinarbeiten".

            Danke auch für Deine Codebeispiel :- )

            mfG
            Marc

            Kommentar

            Lädt...
            X