Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Timeout meines Plugins seit PL30

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

    [wiregate] - √ - Timeout meines Plugins seit PL30

    Hallo,

    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;
    KNX, DMX over E1.31, DALI, 1W, OpenHAB, MQTT

    #2
    Sehr suspekt aber nachvollziehbar.. Ist in Arbeit..

    Makki
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    Kommentar


      #3
      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

      Makki
      EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
      -> Bitte KEINE PNs!

      Kommentar


        #4
        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:

        Code:
        2012-04-13 19:00:30.913,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:01:31.646,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:01:31.833,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:01:32.101,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:02:32.104,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:03:32.650,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:04:32.918,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:05:32.994,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:06:33.269,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:06:33.418,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:06:33.756,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:07:33.467,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:08:34.292,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:09:34.646,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        2012-04-13 19:10:34.813,Sperre Zusatzheizung,Sperre bleibt (T ok),0s,
        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 :-)

        Gruss,

        der Jan
        KNX, DMX over E1.31, DALI, 1W, OpenHAB, MQTT

        Kommentar


          #5
          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"..

          Makki
          EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
          -> Bitte KEINE PNs!

          Kommentar


            #6
            Hallo makki,

            Das sieht jetzt wieder wesentlich besser aus. Aber die Frage, warum manche Plugins in einer Sekunde mehrfach ausgeführt werden bleibt aber....

            Gruss,

            der Jan
            KNX, DMX over E1.31, DALI, 1W, OpenHAB, MQTT

            Kommentar


              #7
              Zitat von JNK Beitrag anzeigen
              Aber die Frage, warum manche Plugins in einer Sekunde mehrfach ausgeführt werden bleibt aber....
              Hmm, da kann ich jetzt so auf Anhieb kein Problem sehen oder nachvollziehen. Weil das Telegramm einfach mehrfach kommt? (Telegrammwiederholungen??)

              -> Könnte man zwar abfangen (msg->repeated) aber Telegrammwiderholungen sind was schlimmes und sollten an der Wurzel abgeschaltet werden.

              Makki
              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
              -> Bitte KEINE PNs!

              Kommentar

              Lädt...
              X