Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Problem mit RRD_creator.pl

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

  • crsp
    antwortet
    Thema erledigt.
    Es wird nun regelmäßig der Wert abgefragt und auch sauber vom Vitogate beantwortet. Es wird also auch sauber eine RRD gefüllt.
    Danke für die Hilfe, hat bei mir einiges zum Verständnis des WG und den Plugins beigetragen.

    gruss, crsp

    Einen Kommentar schreiben:


  • crsp
    antwortet
    Ohhh, ich mag ja den Tag nicht vor dem Abend... aber es sieht besser aus!
    Es gab eine neues bzw. neueres Applikationsprogramm fürs Vitogate und das reagiert sogar auf die "Lesen" Anfrage auf die GA. Hab gerade mal den Gruppenmonitor laufen und beobachte was so den Tag über passiert.

    gruss, crsp

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Du könntest den Betriebsstundenzähler SourceForge.net Repository - [openautomation] Contents of /wiregate/plugin/generic/Betriebsstundenzaehler.pl dafür missbrauchen. plugin_cycle setzt Du dann auf 240 Sekunden und fügst an geeigneter Stelle ein knx_write ein ... bin im Moment etwas in Eile, heute Abend evtl. mehr falls Du nicht weiter kommst.

    Gruß

    Einen Kommentar schreiben:


  • crsp
    antwortet
    Auf "lesen" antwortet das Vitogate offensichtlich nicht. Ich sehe zwar, dass das Plugin regelmäßig auf der GA fragt, aber da scheint eisernes Schweigen zu herrschen.

    Hab das gestern dann mal noch ausprobiert und aus der ETS alle paar Minuten eine Statusmeldung auf die GA des Verdichters geschickt und siehe da, der Graph wird gemalt. Doof.
    Gäbe es vielleicht die Möglichkeit (Plugin?) den Status, der 1x gesendet wurde, solange alle x-Minuten zu repeaten, bis ein anderer Status an die GA gesendet wird?`

    Gruss, crsp

    Einen Kommentar schreiben:


  • makki
    antwortet
    Antwortet sie auf Lesetelegramme?
    Sollte jedes KNX-Gerät können (ok, war bissig, ist ja keins )

    Ansonsten kann man tricksen: das RRD weiss davon nichts, dann kommen halt alte Werte, sofern aus dem (eibd-)Cache gelesen wird (mit hohem/0-timeout)
    Aber Fakt ist: das RRD will (Defaultmässig: mind. alle 300s*3=15 Minuten) einen Wert haben..

    Makki

    Einen Kommentar schreiben:


  • crsp
    antwortet
    Nein, der Status wird nur bei Änderung gesendet...sprich bei EIN und AUS.
    Das Viessmann Vitogate kann wohl nicht zyklisch senden

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Wie wird die auf den Bus gegeben -> DPT ?
    Oder geht es um reines I/O ? Sollte eigentlich auch passen. Die GA auf die der Wert des Verdichters gesendet wird ist sauber ins WireGate übertragen (ETS-Import bzw. im Webmin bei den Gruppenadressen eingetragen)?

    edit:
    Achso, wird der Status des Verdichter regelmäßig (< 5 Minuten) gesendet?

    Einen Kommentar schreiben:


  • crsp
    antwortet
    Hm, irgendwas mache ich wohl falsch. Es kommen für die Verdichterlaufzeit einfach keine Werte an. Der RRD wird erstellt, aber nichts angezeigt.
    Hab jetzt mal testweise die Temperatur vom WW Speicher in 'nen RRD schreiben lassen, die Kürvchen werden sauber gemalt.

    gruss, Rico

    Einen Kommentar schreiben:


  • StefanW
    antwortet
    Richtig, wie Jumi bereits geschrieben hat:

    Plugins nur als solche laufen lassen - also im Plugin-System - weil sich nur dort die passende Laufzeitumgebung befindet (die Plugins werden durch den wiregated.pl daemon ausgeführt).

    Stefan

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Die Scripte/Plugins laufen in der Konsole definitiv nicht. Da fehlen einfach Abhängigkeiten in Form von Subs die im wiregated liegen.

    Der SVN Code ist eine 1:1 Kopie von meinem System.


    Baustelle 2.0

    Einen Kommentar schreiben:


  • crsp
    antwortet
    ja, aber im Plugin-Log tauchen auch Fehler auf:


    2012-12-23 22:44:53.063,rrd_graph.pl,,0s,Undefined subroutine &main::rrdupdate called at (eval 888) line 6.

    2012-12-23 23:32:05.212,RRD_creator.pl,,0s,syntax error at (eval 904) line 27, near "'/etc/wiregate/plugin/generic/conf.d/'("

    und die Line 27 motzt er ja auch an, wenn ichs auf der console ausführe....

    Einen Kommentar schreiben:


  • kleinklausi
    antwortet
    hallo,

    die plugins werden vom Wiregate ausgeführt. schau mal im Webmin!

    Gruß

    Einen Kommentar schreiben:


  • crsp
    antwortet
    Der Code ist eigentlich der aus dem SVN:

    Code:
    #!/usr/bin/perl
    # Buswerte in RRD speichern
    # V2.0 2012-08-16
    # Info und Konfiguration in /etc/wiregate/plugin/generic/conf.d/RRD_creator.conf_sample
    # Eigene Konfiguration speichern unter /etc/wiregate/plugin/generic/conf.d/RRD_creator.conf
    # Alternativ über Webmin -> Plugins -> Pluginname -> config
    
    # Variablen deklarieren
    my @rrds;
    # conf einlsen
    &readConf;
    # Aufrufzyklus = Heartbeat RRD
    $plugin_info{$plugname.'_cycle'} = 300;
    
    # MAIN
    
    foreach my $rrd (@rrds) {
    update_rrd($rrd->{name},"",knx_read($rrd->{ga},300,$rrd->{dpt}));
    #plugin_log($plugname, "triggered $rrd->{name}");
    }
    
    return;
    
    # SUBS
    sub readConf
    {
     my $confFile = '/etc/wiregate/plugin/generic/conf.d/'.basename($plugname,'.pl').'.conf';
     if (! -f $confFile) {
    
     } else {
      #plugin_log($plugname, "reading conf file [$confFile].");
      open(CONF, $confFile);
      my @lines = <CONF>;
      close($confFile);
      my $result = eval("@lines");
      #($result) and plugin_log($plugname, "conf file [$confFile] returned result[$result]");
      if ($@) {
       plugin_log($plugname, "ERR: conf file [$confFile] returned:");
       my @parts = split(/\n/, $@);
       plugin_log($plugname, "--> $_") foreach (@parts);
      }
     }
    }
    und dazu in /etc/wiregate/plugin/generic/conf.d/ eine RRD_creator.conf mit der Zeile

    Code:
    push @rrds, { name => "WP_Kompressor_Laufzeit", 	ga => "0/5/4", dpt => 1};
    wird, wenn ich das scropt als root auf der console ausführe mit

    Undefined subroutine &main::basename called at ./RRD_creator.pl line 27.

    quittiert.

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Poste mal Deinen gesamten Code sonst ist das stochern im Nebel.

    Gruß

    Einen Kommentar schreiben:


  • crsp
    antwortet
    Ja, in der RRD_creator.conf im conf.d steht im Moment eine Zeile

    Code:
    push @rrds, { name => "WP_Kompressor_Laufzeit", 	ga => "0/5/4", dpt => 1};
    daraufhin spuckt er diese FM.

    Baue ich nun das RRD_creator.pl entsprechend deinen Empfehlungen um, spuckt er folgendes:

    Undefined subroutine &main::knx_read called at ./RRD_creator.pl line 19.


    Gruss, Rico

    Einen Kommentar schreiben:

Lädt...
X