Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

- √ - Mein erstes Plugin: Anzeige des momentanen Stromverbrauches

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

    [wiregate] - √ - Mein erstes Plugin: Anzeige des momentanen Stromverbrauches

    Hallo --

    Ich habe mich mal mit Wiregate-Plugins abgegeben, und habe etwas gebaut, um mir meinen momentanen Stromverbrauch in die Visu zu bringen.

    Ich nutze einen Stromzähler mit Impulsschnittstelle (so ein Ding: http://ecx.images-amazon.com/images/I/416v0H7Ft1L.jpg), an dem eine Tasterschnittstelle hängt. Das Plugin hört auf die GA der Tasterschnittstelle, und merkt sich von Telegramm zu Telegramm die abgelaufene Zeit - daraus wird der momentane Verbrauch gerechnet und in eine GA gegeben.

    Die Anzeige ist bei niedrigem Verbrauch recht langsam, weil ich meine Tasterschnittstelle nur alle fünf Impulse ein Telegramm senden lasse - dann braucht es bei Standby schon mal anderthalb oder 2 Minuten bis Änderungen sichtbar werden. Je höher die Last, um so schneller die Updates.

    Code:
    # Plugin zum Errechnen des momentanen Stromverbrauches
    # Version 0.0 15.7.2013
    # GPL3
    
    #********************
    #***Einstellungen:***
    #********************
    
    
    # Eigenen Aufruf-Zyklus auf 1 Tag setzen, das Script reagiert auf ankommende Telegramme
    $plugin_info{$plugname.'_cycle'} = 86400; 
    
    my $zaehler_ga = '3/1/0'; #GA die die Impulse des Zählers weitergibt (DPT13.001)
    my $verbrauch_ga ='3/2/0'; #GA für den Momentanverbrauch (DPT9.001)
    my $multiplikator = 800; #Zahl der Pulse pro kWh
    
    #*********************
    #*ENDE Einstellungen**
    #*********************
    
    $plugin_subscribe{$zaehler_ga}{$plugname} = 1; # Plugin an Gruppenadresse anmelden
    my $verbrauch;
    my $clicks;
    my $wert;
    my $zeitstempel;
    
    # Hier wird die Gruppenadresse abgefangen und weiterverarbeitet
    
    if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $zaehler_ga)
    {
      $zeitstempel = time();
      $wert=knx_read($zaehler_ga,300,13.001);
      $verbrauch=sprintf("%.2f",(3600/(($zeitstempel-$plugin_info{$plugname.'_zeitstempel'})/($wert-$plugin_info{$plugname.'_wert'})))*$multiplikator/1000);
      knx_write($verbrauch_ga,$verbrauch,9);
      $plugin_info{$plugname.'_zeitstempel'} = $zeitstempel ; # Timestamp ablegen
      $plugin_info{$plugname.'_wert'} = $wert ; # Zählerwert ablegen
    }
    
    return "$verbrauch";
Lädt...
X