Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Verständnisfrage zur Ausführung von Plugins

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

  • Werner V
    antwortet
    Hai,

    aber wenn das RRD per default sowieso alle 5 Minuten beschrieben wird bringt mir das auch nix, dann bekomm ich da alle 5 Minuten irgendwelche Werte rein. Bräuchte das beschreiben des RRD nur einmal täglich.

    lg

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Also plugin_info überlebt auch normale Neustarts.

    Mit dem Datum-Check kannst Du das Plugin auch ruhig alle 5 Minuten aufrufen lassen solange die if-Bedingung funktioniert

    Einen Kommentar schreiben:


  • Werner V
    antwortet
    Hallo ihr zwei.

    Danke für eure Antworten

    @Patrick
    ich meine die Ticks im Webmin bei den Plugins, die Spalte ganz rechts. Wenn ich das richtig verstehe sollten die doch nur hoch zählen wenn das Plugin ausgeführt wird?
    Gibt es keine Möglichkeit, dass in das RRD nur einmal am Tag ein Wert geschrieben wird? Ich würde wie gesagt gerne einmal täglich den kWh Verbrauch eintragen lassen, damit ich so einen Vergleich habe wieviel die Pumpe täglich verbraucht.

    @Jumi
    Danke das mit dem Date ist eine gute Idee. Sollte das mit dem RRD aktualisieren doch einmal täglich funktionieren werd ichs dahingehend probieren. Die Idee beim Textfile war, dass wenn das WG einmal neu gestartet wird oder wie du sagt die db verloren geht, hätte ich wenigstens den Wert im Textfile noch.

    lg Werner

    Einen Kommentar schreiben:


  • swiss
    antwortet
    Hallo Werner

    Was meinst du mit Ticks? -> die Einträge im RRD?

    Das RRD wird per default alle 300 Sekunden aktualisiert. Dabei wird der Durchschnittswert der letzten 5 Minuten in das RRD geschrieben. Wenn du nun keinen Wert (innerhalb der 300 sekunden) in das RRD schreibst, wird das RRD die meiste Zeit keine sinvollen Werte protokollieren.

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Ich würde per Date::Time den aktuellen Tag des Monats ausrechnen lassen. Diesen speicherst Du dann in einem plugin_info() remanent als $vortag ab.

    Dann folgt bei Aufruf des Plugins einfach ein Vergleich der den aktuellen Tag ($heute) mit dem Wert aus plugin_info vergleicht.

    Code:
    my $vortag = plugin_info()
    if ($vortag = $heute){
    #nichts machen
    } else {
    update_rrd("waermepumpe_tagesverbrauch","",$diff_kwh);
    $vortag=$heute;
    }
    Die Werte für den Zähler könntest Du auch in einem plugin_info ablegen, so sparst Du Dir das lästige textfile. Wobei das Textfile auch bei einem Datenbankverlust der plugin_db erhalten bleiben würde.

    Beispiele für plugin_info gibt es zahlreich im SVN.

    Grüße

    Einen Kommentar schreiben:


  • Werner V
    antwortet
    Ah Nachtrag... hier das Plugin. Ich bekomme pro Umdrehung der Scheibe einen Impuls auf einen Binäreingang, dieser Zählt dann einfach um eines hoch. Einmal am Tag rufe ich dann diesen Counter Wert ab und speichere ihn in einer Date. Vorher ziehe ich den gespeicherten alten Wert des Vortages ab und trage die Differenz dann in ein RRD ein.

    [HILFE]
    ################################################## ####################################
    #
    # Plugin zur Aufzeichnung des Stromverbrauchs der Wärmepumpe
    # V0.1 2013-01-16
    # by Werner V - www.knx-user-forum.de
    #
    ################################################## ####################################

    #########################
    ### BEGINN DEFINITION ###
    #########################

    # Aufruf-Zyklus auf einmal täglich setzen
    $plugin_info{$plugname.'_cycle'} = 86400;
    my $counter_ga = '5/0/200';

    #########################
    ### ENDE DEFINITION ###
    #########################
    # neuen Stand einlesen
    my $wert_neu = knx_read($counter_ga,300,13);
    # alten Stand einlesen
    open(File,'</var/www/plugins/kwh_counter.txt');
    my $wert_alt = <File>;
    close File;
    # Differenz gestern zu heute ausrechnen und in kWh umrechnen
    my $diff = $wert_neu - $wert_alt;
    my $diff_kwh = $diff / 75;
    # RRD mit neuem Wert beschreiben
    update_rrd("waermepumpe_tagesverbrauch","",$diff_k wh);
    # File mit neuem Wert beschreiben
    open(File,'>/var/www/plugins/kwh_counter.txt');
    print File $wert_neu;
    close File;
    return "Counter = $wert_neu, kWh = $diff_kwh";
    [/HILFE]

    Einen Kommentar schreiben:


  • - √ - Verständnisfrage zur Ausführung von Plugins

    Hallo,

    da ich noch einen alten Zähler mit Scheibe habe und diesen mit >>dieser<< Schnittstelle abtaste, hab ich mir jetzt ein Plugin geschrieben um den täglichen Verbrauch in ein RRD zu schreiben.

    Soweit sogut, mein Problem ist zur Zeit allerdings, dass das Plugin nur einmal täglich ausgeführt werden soll, was es laut "Zuletzt ausgeführt (s)" auch tut, allerdings zählen die Ticks kontinuirlich hoch und an den RRD Einträgen sehe ich, dass es auch ausgeführt wird.

    Wodurch werden die Ticks beeinflusst, bzw. wodurch könnte das Plugin ausgeführt werden ohne dass "Zuletzt ausgeführt (s)" zurückgesetzt wird?

    Danke schon mal für eure Hilfe!

    lg Werner
Lädt...
X