Seite 2 von 2

Re: Plugins werden unkontrolliert aufgerufen

Verfasst: Di Jan 29, 2019 6:47 am
von Advenoni
Hallo @blaubaerli ,

hier meine Werte:

Code: Alles auswählen

user@wiregate1619:~$ df -k
Dateisystem          1K-Bl▒cke   Benutzt Verf▒gbar Ben% Eingeh▒ngt auf
/dev/hda2              3606532   1498160   1998488  43% /
tmpfs                   121020         0    121020   0% /lib/init/rw
udev                     10240       752      9488   8% /dev
tmpfs                   121020         0    121020   0% /dev/shm
/dev/hda1                90295     43731     42710  51% /boot
none                    121020        48    120972   1% /tmp
user@wiregate1619:~$
Sollte also normal alles passen.
@Robert_Mini ,
hier noch der gesamte Code (wobei das nicht ändern sollte):

Code: Alles auswählen

# Demo-Plugin Grafiken in RRD speichern
# V1.0 2010-03-19

# Eigenen Aufruf-Zyklus auf 300 Sekunden (Default globales RRD-Intervall) setzen
$plugin_info{$plugname.'_cycle'} = $wg_config{''}{'rrd_interval'};

# Luftfeuchte Bad

# Einen Wert der Luftfeuchte von der Gruppenadresse 5/2/79 in einem rrd speichern
# Luftfeuchte_Bad ist ein beliebiger Text; keine Umlaute oder Sonderzeichen (/\: etc)
# und einmalig!
# Dann wird die Funktion knx_read mit der Gruppenadresse aufgerufen, 
# hier max. 300 sek alt
# sonst wird ein Lesetelegramm abgesetzt und die Antwort abgewartet
# DPT5 = 1 Byte 0-100%, zwei Möglichkeiten:
# DPT angeben wie unten oder Gruppenadressen aus der ETS importieren, dann kann der Datentyp entfallen
# update_rrd("Luftfeuchte_Bad","",knx_read("5/2/79",300,5));  # Gruppenadresse, maxAlter, DPT

# Beispiel für Temperaturwert (DPT9/EIS5) von "externem" Sensor
update_rrd("akt_Leistung","",knx_read("0/7/210",300,14));
update_rrd("akt_Leistung_Export","",knx_read("0/7/214",300,14));
update_rrd("akt_Aussentemp","",knx_read("0/4/176",0,9));
update_rrd("akt_Zaehlerstand_kWh","",knx_read("0/7/211",300,13));
update_rrd("Leistung_15_Min","",knx_read("0/7/212",900,13));
update_rrd("akt_Zaehlerstand_Wh","",knx_read("0/7/213",300,13)/1000);
update_rrd("HZ_Pumpe_HK1","",knx_read("0/4/180",600,5));
update_rrd("HZ_Pumpe_HK2","",knx_read("0/4/181",600,5));
update_rrd("HZ_Gang_Stellwert","",knx_read("0/3/246",600,5));
update_rrd("HZ_G-Bad_Stellwert","",knx_read("0/3/247",600,5));
update_rrd("HZ_Kueche_Stellwert","",knx_read("0/3/248",600,5));
update_rrd("HZ_Wohnen_Stellwert","",knx_read("0/3/249",600,5));
update_rrd("HZ_Technik_Stellwert","",knx_read("0/3/250",600,5));
update_rrd("HZ_Kind1_Stellwert","",knx_read("0/4/88",600,5));
update_rrd("HZ_Kind2_Stellwert","",knx_read("0/4/89",600,5));
update_rrd("HZ_Eltern_Stellwert","",knx_read("0/4/90",600,5));
update_rrd("HZ_Studio_Stellwert","",knx_read("0/4/91",600,5));
update_rrd("HZ_Bad_Stellwert","",knx_read("0/4/92",600,5));
update_rrd("HZ_G-Bad_W_Stellwert","",knx_read("0/3/251",600,5));
update_rrd("HZ_Bad_W_Stellwert","",knx_read("0/4/93",600,5));
update_rrd("HZ_Werkstatt_Stellwert","",knx_read("0/5/222",600,5));
update_rrd("HZ_HZ_HK1_EG_kein_Bedarf","",knx_read("0/4/197",0,1));
update_rrd("HZ_HZ_HK1_OG_kein_Bedarf","",knx_read("0/4/198",0,1));
update_rrd("HZ_HK1_Vorlauf","",knx_read("0/4/194",600,9));
update_rrd("HZ_HK2_Vorlauf","",knx_read("0/4/195",600,9));
update_rrd("HZ_Gang_Istwert","",knx_read("0/3/233",600,9));
update_rrd("HZ_G-Bad_Istwert","",knx_read("0/3/235",600,9));
update_rrd("HZ_Kueche_Istwert","",knx_read("0/3/237",600,9));
update_rrd("HZ_Essen_Istwert","",knx_read("0/3/239",600,9));
update_rrd("HZ_Wohnen_Istwert","",knx_read("0/3/241",600,9));
update_rrd("HZ_Technik_Istwert","",knx_read("0/3/243",600,9));
update_rrd("HZ_Kind1_Istwert","",knx_read("0/4/77",600,9));
update_rrd("HZ_Kind2_Istwert","",knx_read("0/4/79",600,9));
update_rrd("HZ_Eltern_Istwert","",knx_read("0/4/81",600,9));
update_rrd("HZ_Studio_Istwert","",knx_read("0/4/83",600,9));
update_rrd("HZ_Bad_Istwert","",knx_read("0/4/85",600,9));
update_rrd("HZ_Werkstatt_Istwert","",knx_read("0/5/221",600,9));
update_rrd("HZ_Brenner_Ein","",knx_read("0/4/187",0,1));
update_rrd("HZ_Brenner_Leistung","",knx_read("0/4/202",0,5));
update_rrd("HZ_Brenner_Pumpe","",knx_read("0/4/196",0,5));
update_rrd("HZ_Brenner_Starts","",knx_read("0/4/203",300,12));
update_rrd("HZ_Brenner_VL_Ist","",knx_read("0/4/204",3000,9));
update_rrd("HZ_Brenner_VL_Soll","",knx_read("0/4/205",300,9));
update_rrd("KWL_Aussenluft_Temp","",knx_read("0/5/27",60,9));
update_rrd("KWL_Zuluft_Temp","",knx_read("0/5/28",60,9));
update_rrd("KWL_Abluft_Temp","",knx_read("0/5/29",60,9));
update_rrd("KWL_Fortluft_Temp","",knx_read("0/5/30",60,9));
update_rrd("KWL_Aussen_Hum","",knx_read("0/5/31",60,9));
update_rrd("KWL_Zuluft_Hum","",knx_read("0/5/32",60,9));
update_rrd("KWL_Abluft_Hum","",knx_read("0/5/33",60,9));
update_rrd("KWL_Fortluft_Hum","",knx_read("0/5/34",60,9));
update_rrd("KWL_Luftstrom","",knx_read("0/5/35",60,13));
update_rrd("HZ_Solar_Kessel","",knx_read("0/4/177",600,9));
update_rrd("HZ_Solar_Modul","",knx_read("0/4/178",600,9));
update_rrd("HZ_WW_Kessel","",knx_read("0/4/179",600,9));
update_rrd("Sonnenstand_Azimuth","",knx_read("1/4/156",600,8));
update_rrd("Sonnenstand_Elevation","",knx_read("1/4/157",600,8));
update_rrd("Helligkeit_Ost","",knx_read("1/1/51",600));
update_rrd("Helligkeit_Sued","",knx_read("1/1/52",600));
update_rrd("Helligkeit_West","",knx_read("1/1/53",600));
update_rrd("Helligkeit_Daemmerung","",knx_read("1/1/54",600));
update_rrd("Windsensor","",knx_read("1/1/55",600));
update_rrd("Temp_Dach","",knx_read("1/1/56",600));
update_rrd("Regen","",knx_read("1/1/57",600,1));
update_rrd("Regen_Heizung","",knx_read("1/1/58",600,1));
update_rrd("KWL_Strom","",knx_read("0/5/38",600));
update_rrd("KWL_kWh","",knx_read("0/5/39",600));
update_rrd("HZ_Solar_Ertrag","",knx_read("0/4/207",600));


# Abgerufen können die Grafiken durch Modifikation der Grafik-URL eines vorhandenen 
# 1-Wire Sensors werden: z.B. 28.0D22CB010000_temp.rrd im letzten Beispiel durch
# Temp_Kueche.rrd ersetzen. Gross/Kleinschreibung beachten!

# Wenn etwas im Plugin-Log stehen soll, kommentarzeichen # entfernen
# Ideal auch zur Debug-Ausgabe
#return "Graphen wurden aktualisiert"; 
#Sonst 0 = Alles Ok, kein Logeintrag
return 0;
@gbglace ,
wenn es nur Plugins anginge die 1-Wire GAs betreffen, dann könnte ich das ganze ja noch nachvollziehen, es waren aber auch andere Plugins betroffen, die sich nur auf den KNX alleine beziehen.
Bild
Plugin hierzu:

Code: Alles auswählen

# return 0;
# COMPILE_PLUGIN


my $rrdFile_15min="/var/www/rrd/Gaszaehler_15min.rrd";
my $rrdFile_1h="/var/www/rrd/Gaszaehler_1h.rrd";
my $rrdFile_1d="/var/www/rrd/Gaszaehler_1d.rrd";

my $rrd_15min="Gaszaehler_15min";
my $rrd_1h="Gaszaehler_1h";
my $rrd_1d="Gaszaehler_1d";


my $Gaszaehler_ga="1/0/154";
my $Gasreste_ga="1/0/155";
my $Gasvolumen_ga="1/0/159";

$plugin_info{$plugname . '_cycle'} = 300; # Aufrufzyklus - 5 Minuten

if (!exists $plugin_info{$plugname.'_Zaehlerstand'}) {
	$plugin_info{$plugname.'_Zaehlerstand'} = 0;
}


  # RRD ggf. anlegen
  if (!-e $rrdFile_15min)
  {
    RRDs::create($rrdFile_15min,
      '--step' => 900,  # 15 Minuten
      'DS:value:COUNTER:2700:0:2147483647',
      # 15 min (für 7,5 d)      1 h (für 35 d)           24 h (für 5 y)            7 d (für 25 y)
      'RRA:AVERAGE:0.5:1:720', 'RRA:AVERAGE:0.5:4:840', 'RRA:AVERAGE:0.5:96:1826', 'RRA:AVERAGE:0.5:672:1300',
      'RRA:MIN:0.5:1:720',     'RRA:MIN:0.5:4:840',     'RRA:MIN:0.5:96:1826',     'RRA:MIN:0.5:672:1300',
      'RRA:MAX:0.5:1:720',     'RRA:MAX:0.5:4:840',     'RRA:MAX:0.5:96:1826',     'RRA:MAX:0.5:672:1300'
    );

    if (RRDs::error) {
      plugin_log($plugname, "Create COUNTER-RRDs failed for $rrdFile_15min: ".RRDs::error);
    } else {
      plugin_log($plugname, "Created COUNTER-RRD for $rrdFile_15min");
    }
  }
 # RRD für 1 Stunde
  if (!-e $rrdFile_1h)
  {
    RRDs::create($rrdFile_1h,
      '--step' => 3600,  # 1 Stunde
      'DS:value:COUNTER:2700:0:2147483647',
      # 1 h (für 35 d)           24 h (für 5 y)            7 d (für 25 y)
      'RRA:AVERAGE:0.5:1:840', 'RRA:AVERAGE:0.5:24:1826', 'RRA:AVERAGE:0.5:168:1300',
      'RRA:MIN:0.5:1:840',     'RRA:MIN:0.5:24:1826',     'RRA:MIN:0.5:168:1300',
      'RRA:MAX:0.5:1:840',     'RRA:MAX:0.5:24:1826',     'RRA:MAX:0.5:168:1300'
    );

    if (RRDs::error) {
      plugin_log($plugname, "Create COUNTER-RRDs failed for $rrdFile_1h: ".RRDs::error);
    } else {
      plugin_log($plugname, "Created COUNTER-RRD for $rrdFile_1h");
    }
  }
 # RRD für 1 Tag
  if (!-e $rrdFile_1d)
  {
    RRDs::create($rrdFile_1d,
      '--start' => -86410,
      '--step' => 86400,  # 1 Tag
      'DS:value:COUNTER:2700:0:2147483647',
      # 24 h (für 5 y)            7 d (für 25 y)
      'RRA:AVERAGE:0.5:1:1826', 'RRA:AVERAGE:0.5:672:1300',
      'RRA:MIN:0.5:1:1826',     'RRA:MIN:0.5:672:1300',
      'RRA:MAX:0.5:1:1826',     'RRA:MAX:0.5:672:1300'
    );

    if (RRDs::error) {
      plugin_log($plugname, "Create COUNTER-RRDs failed for $rrdFile_1d: ".RRDs::error);
    } else {
      plugin_log($plugname, "Created COUNTER-RRD for $rrdFile_1d");
    }
  }

#Zählerstand auslesen
	# Differenz auslesen
        my $Differenz=knx_read($Gaszaehler_ga,1,13);
        # Alten Zählerstand um Differenz erhöhen
        my $Zaehlerstand=$plugin_info{$plugname.'_Zaehlerstand'}  + $Differenz;
        # Aktuellen Wert speichern
        $plugin_info{$plugname.'_Zaehlerstand'} = $Zaehlerstand;
        # Zähler rücksetzen
        knx_write($Gasreste_ga,1,1);
        
#RRDs schreiben und Zählerstand auf den Bus
        my $count_15min=(time()-900).":".($Zaehlerstand * 9);
        my $count_1h=(time()-3600).":".($Zaehlerstand * 36);
        my $count_1d=(time()-86400).":".($Zaehlerstand * 864);
        RRDs::update("$rrdFile_15min","$count_15min");
        RRDs::update("$rrdFile_1h","$count_1h");
        RRDs::update("$rrdFile_1d","$count_1d");
        update_rrd("Gaszaehler","",$Zaehlerstand/100);
        knx_write($Gasvolumen_ga,$Zaehlerstand/100,14);
 
  
return;
Irgendwas muss gestern so um 10 Uhr schief gelaufen sein.
Wie noch zu sehen ist, lief um 9:55 das Plugin noch normal durch.
Wert abfragen, wird rückgemeldet, Zähler rücksetzen, Null wird zurückgemeldet, Plugin gibt aufsummierten Wert aus.
Ab 10 Uhr passt dann gar nichts mehr.

Nach 2 Neustarts des WG läuft soweit wieder alles. Also auch die Plugins verrichten wieder normal ihren Dienst.

Gruß,
Martin

Re: Plugins werden unkontrolliert aufgerufen

Verfasst: Di Jan 29, 2019 7:53 am
von Robert_Mini
Advenoni hat geschrieben: Di Jan 29, 2019 6:47 am Nach 2 Neustarts des WG läuft soweit wieder alles. Also auch die Plugins verrichten wieder normal ihren Dienst.
Ich hatte ähnliches auch 2x in knapp 10 Jahren.
Ursache konnte ich nie finden. Reboot hat das ganze auch bei mir damals gelöst.

Ich setze den Thread mal auf gelöst.
Robert