Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Also die Anzeige (Timeout) war ziemlich durch den Wind, da fehlte ein commit.. Ich hab jetzt erstmal nur "so" neue packages online gestellt, weil fürs PL31 hatte ich mehr vor
Das sollte wenigstens wieder halbwegs sinnig sagen, wo es hakt, es war aber sicher kein Timeout in diesem Plugin, das war ein "Anzeigefehler"..
Ich glaube nicht, zumindest nicht immer. Es steht schon ab und zu mal was von zuletzt ausgeführt "119s" da, was ja eigentlich nicht sein kann, aber ich hab jetzt mal Logging aktiviert und soweit ich sehen kann habe ich jede Minute einen Eintrag:
Allerdings 19:06:33 gibts mehrfach, das habe ich allerdings schon in der Vergangenheit mal gesehen. Genau zu dem Zeipunkt hat er aber "Timeout" bei diesem Plugin angezeigt.
Ausserdem wechselt der Timeout-Fehler in der Anzeige lustig von einem Plugin zum anderen, besonders häufig steht er beim PROWL Plugin.
Ich hab Dir das Wartungs-VPN angemacht, wiregate371. Du kannst alles machen ausser das Licht im Kinderzimmer an :-)
Läuft es wirklich immer ins Timeout ?
Also da ist ein Anzeigefehler, die Ursache dürfte eher ein neuer Bug-case im geliebten DB_File sein;
Ich such da mal weiter, ein Patchlevel kommt selten allein
seit PL 30 macht folgendes Plugin immer einen Timeout. Woran liegt das? Ich kann das so nicht feststellen...
Gruss,
der Jan
Code:
#
# Sperrobjekt Zusatzheizung zurücksetzen
#
use DateTime;
my $schalt_addr = '2/0/130';
my $status_addr = '2/6/130'; #
my $sperr_addr = '2/1/130'; # Adresse Sperrobjekt
my $temp_addr = '5/2/130'; # Temperatur Badezimmer
my $loglevel=0;
my $val;
$plugin_subscribe{$status_addr}{$plugname} = 1;
$plugin_info{$plugname.'_cycle'} = 60;
# alle stati erfragen
# handle telegrams
if (($msg{'dst'} eq $status_addr) && ($msg{'apci'} eq 'A_GroupValue_Write')) # status
{
$val = knx_read($status_addr, 300, 1);
if ($val == 01) {
$plugin_info{$plugname.'_laston'} = time();
} else {
$plugin_info{$plugname.'_lastoff'} = time();
$plugin_info{$plugname.'_sperre'} = 1;
}
return 'Status: '.$val; # wir haben uns nur um das telegramm gekümmert
}
my $lastoff = $plugin_info{$plugname.'_lastoff'};
my $laston = $plugin_info{$plugname.'_laston'};
my $sperre = $plugin_info{$plugname.'_sperre'};
my $zaehler = $plugin_info{$plugname.'_zaehler'};
my $status = knx_read($status_addr, 300, 1);
my $temp = knx_read($temp_addr, 0, 9.001);
my $sperrtemp = $temp > 21.5;
my $overtemp = $temp > 23.0;
my $laufzeit = $lastoff - $laston; # gesamtdauer "EIN"
my $sperrzeit = time() - $lastoff; # zeit seit der letzten sperre
if ($overtemp && ($status == 01)) { # ist an und zu warm, dann ausschalten
knx_write($schalt_addr, 0, 1);
return 'Aus (>T)';
}
if ($sperrtemp) { # es ist ausreichend warm
if ($sperre) { # ist bereits gesperrt, kann so bleiben
if ($loglevel==1) {
return 'Sperre bleibt (T ok)';
} else {
return;
}
} else { # sonst sperren
$plugin_info{$plugname.'_sperre'} = 1;
knx_write($sperr_addr, 1, 1);
return 'Sperre=1 (T ok)';
}
}
if (($sperrzeit>$laufzeit) && $sperre) { #
knx_write($sperr_addr, 1, 1);
$plugin_info{$plugname.'_sperre'} = 0;
return 'Freigabe';
}
return 0;
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: