KNX Schnittstelle nach Update auf 5.4 ohne Funktion

Hallo Zusammen,

ich habe heute von der 5.3 auf die 5.4 upgedated (Windows 10). Nach dem Update funktioniert meine Kommunikation mit der USB KNX-Schnittstelle nicht mehr. Ich habe jetzt alles wieder zurück gesichert und es funktioniert wieder einwandfrei. Im 5.4 Logfile erscheint immer wieder dieser Error:
24.10.2020 16:43:11 | 48919 | ERROR | FlowHandler | Kann Daten nicht zur Instanz #48919 weiterleiten: invalid string position

Diese Instanz ist das KNX/EIB Gateway (FT1.2).
Hat jemand eine Idee oder muss ich nach dem Update irgendetwas umstellen?

Vielen Dank für eure Unterstützung,
Christian

Wir haben zur 5.4 einiges an KNX umgebaut und für KNX Secure vorbereitet. Hast du du ein Datenblatt für dein Gateway? Wir erfordern aber der 5.4, dass das Gateway cEMI Frames innerhalb von FT1.2 sendet… bisher wärst du auch der erste, der dort ein Problem hätte.

paresy

Hallo paresy,

ich habe das Gateway IF-RS232 Universal von eibmarkt - war glaube ich die damalige Empfehlung. Hier der Link zum Datenblatt https://www.eibmarkt.com/Files/Datenblatt/if-rs232%20Universal.pdf
Sollte es hiermit nicht mehr funktionieren (ist ja auch schon etwas älter), kannst du eine neue Empfehlung für ein Gateway geben?

Danke,

Christian

Ich würde auf ein IP-Gateway wechseln. Und dort kannst du fast alles nehmen, welches Tunneling Verbindungen kann. Das N000401 von EIBMarkt nutzen hier viele und hätte PoE… Das von MDT ist nicht viel teurer und hätte bereits IP Secure, was wir bestimmt in der Zukunft auch unterstützen werden. Oder Weinzierl hat ein nettes in 1TE Breite, welches vom Bus mit Spannung versorgt wird.

Und ja - das Gerät wird leider nicht mehr gehen. Das sendet die Nachrichte nicht im cEMI Format. Du kommst also bereits von der 2.0, oder? :slight_smile:

paresy

Hallo paresy,

ja, ich komme schon von der 2.0 bzw. war schon früher dabei.
Danke für deine Antwort - werde mich mal um die neue Hardware kümmern.

Viele Grüße,
Christian

Ich bekomme aber auch mit IP Gateway ständig Zeitübeschreitungswarnungen…
Von vielen unterschiedlichen Instanzen. Finde ich echt lästig.

Ich habe mittlerweile zahlreiche Installationen auf 5.4 upgedatet und habe bisher in keiner einzigen Anlage ein Problem. Ich vermute, es liegt nicht an IPS.

Aber an was könnte das liegen?
Vorher 4.1 keine Zeitüberschreitungen, nun tägliche dutzende!?

Es sind meistens Skripte in denen ein Zustand abgefragt wird und dieser wahrscheinlich keine Rückmeldung bekommt.

Wie genau, hast du mal einen Codeschnipsel von diesem Teil?

Bei mir gibt es mit 5.4 auch keine Auffälligkeiten, Anbindung über IP-Interface.

Hast Du mal die Busspannung gemessen?

Guten Morgen,

die Busspannung dürfte in Ordnung sein. KNX-seitig habe ich auch nie Probleme…

Ich würde ja nichts sagen, wenn es nur 1 Skript wäre. Aber es sind ja unzählige:

Hier ist eines als Beispiel (kann natürlich gerne alle hochladen):


[b]<?php[/b]

// Sollwertvorgabe für PM Konstantlichtregelung bei Tag / Nacht

// Gästebad Grundbeleuchtung: 41799
// Aaron: 32038
// Emil: 38072
// Flur OG: 26831
// Treppe: 52943
// WC: 13137
// Eltern Grundbeleuchtung: 47604
// Eltern Bett: 16445
// Windfang: 31093
// PM Wohnen: 49481

// Uhrzeit
$timestamp = time();
$uhrzeit = date("H:i", $timestamp);
$datum = date("d.m.Y", $timestamp);
 
$actualZeitStartHour = GetValue(54031); 
$actualZeitStartMinute = GetValue(30258); 
$actualZeitStopHour = GetValue(48935); 
$actualZeitStopMinute = GetValue(34206); 

// Lux Werte
$WertTAG = GetValue(29246); 
$WertNACHT = GetValue(15771); 

$automatik = GetValue(17372); 

// Abfrage ob Uhrzeit im Tagbetrieb ist (Nach keine Durchsage)
$tagbetrieb = false;
$timeStart = mktime($actualZeitStartHour,$actualZeitStartMinute); 
$timeStop = mktime($actualZeitStopHour,$actualZeitStopMinute); 
    // Gibt den Timestamp für: 2006-04-05T01:02:03+00:00 
    // mktime(1, 2, 3, 4, 5, 2006) 

if ($automatik == true)
{
        if ($timestamp > $timeStart && $timestamp < $timeStop) 
            {   // Tagbetrieb
            
            // RequestAction(41799, $WertTAG);
            // RequestAction(32038, $WertTAG);
            // RequestAction(38072, $WertTAG);
            // RequestAction(26831, $WertTAG);
            // RequestAction(52943, $WertTAG);
            // RequestAction(13137, $WertTAG);
            // RequestAction(47604, $WertTAG);
            // RequestAction(31093, $WertTAG);
            RequestAction(49481, $WertTAG);

            }
        else
            {
                // Nachtbetrieb
                
                // RequestAction(41799, $WertNACHT);
                // RequestAction(32038, $WertNACHT);
                // RequestAction(38072, $WertNACHT);
                // RequestAction(26831, $WertNACHT);
                // RequestAction(52943, $WertNACHT);
                // RequestAction(13137, $WertNACHT);
                // RequestAction(47604, $WertNACHT);
                // RequestAction(31093, $WertNACHT);
                RequestAction(49481, $WertNACHT);
            }    
}


Kannst du denn aus dem WebFront ganz normal schalten? Passiert das Problem also immer oder nur sehr sporadisch?

paresy

Ja, aus dem Webfront habe ich keine Probleme
Ja, es ist eigentlich nicht täglich sondern wie du sagst sporadisch

Moin,

hatte vor einiger Zeit ein ähnliches Problem. Hast du schon mal in die Einstellungen beim Gateway geschaut auf was die Zeit eingestellt ist? Ich hatte nach Empfehlung von Paresy meine Einstellungen auf drei setzen müssen und dann gab es keine Fehler mehr.

Gateway KNX.PNG

Danke für die Info!

War zuerst auf 25, aktuell auf 35 und habe es jetzt mal auf 3 gesetzt, finde ich aber sehr wenig…

lg

Leider ist dieser Wert je nach IP-Gateway und Bus unterschiedlich. Wir geben standardmäßig 6 vor… den perfekten Wert muss man aber herausfinden. 35 ist schon sehr hoch. Welches IP-Gateway hast du genau?

paresy

MDT SCN-IP000.02

ich hatte bis vor kurzem 25 drinnen. und werde es jetzt mal mit 6 testen…

UPDATE:
Spielt aber keine Rolle. Heute früh wieder eine Zeitüberschreitung bei Einstellung 3 !


[b]<?php[/b]

// PM Konstantlichtregelung Sperre bei Tag / Nacht

// Uhrzeit
$timestamp = time();
$uhrzeit = date("H:i", $timestamp);
$datum = date("d.m.Y", $timestamp);
 
$actualZeitStartHour = GetValue(56831); 
$actualZeitStartMinute = GetValue(18854); 
$actualZeitStopHour = GetValue(40465); 
$actualZeitStopMinute = GetValue(42789); 

//Schalter
$PM_Windfang = GetValue(21969); 
$PM_Wohnen = GetValue(25451); 
$PM_WC = GetValue(57744); 
$PM_Kochen = GetValue(58892); 
$PM_Emil = GetValue(26014); 
$PM_Aaron = GetValue(40872); 
$PM_Gaestebad = GetValue(12677); 
$PM_FlurOG = GetValue(30488); 
$PM_Eltern = GetValue(29541); 
$PM_Elternbad = GetValue(14149); 
$PM_ElternGrundbeleuchtung = GetValue(59144); 
$PM_Treppe = GetValue(22808); 

$WertTAG = true;
$WertNACHT = false;

$automatik = GetValue(57419); 

// Abfrage ob Uhrzeit im Tagbetrieb ist (Nach keine Durchsage)
$tagbetrieb = false;
$timeStart = mktime($actualZeitStartHour,$actualZeitStartMinute); 
$timeStop = mktime($actualZeitStopHour,$actualZeitStopMinute); 
    // Gibt den Timestamp für: 2006-04-05T01:02:03+00:00 
    // mktime(1, 2, 3, 4, 5, 2006) 

if ($automatik == true)
{
        if ($timestamp > $timeStart && $timestamp < $timeStop) 
            {   // Tagbetrieb

                // Info Objekt         
                EIB_Switch(38552, $WertTAG);

                    // PM Freigaben
                if ($PM_FlurOG == true)
                    {
                        RequestAction(32646, $WertTAG);
                    }
                 if ($PM_Aaron == true)
                    {
                        EIB_Switch(56543, $WertNACHT); // umgekehrt
                    }
                 if ($PM_Emil == true)
                    {
                        EIB_Switch(35809, $WertNACHT); // umgekehrt
                    }
                if ($PM_Eltern == true)
                    {
                        RequestAction(19652, $WertTAG);
                    }
                if ($PM_ElternGrundbeleuchtung == true)
                    {
                        RequestAction(55195, $WertTAG);
                    }
                if ($PM_Elternbad == true)
                    {
                      RequestAction(57615, $WertNACHT); // umgekehrt
                      RequestAction(58420, $WertNACHT);   // umgekehrt
                    }    
                if ($PM_Windfang == true)
                    {
                    RequestAction(25663, $WertNACHT);      // umgekehrt  
                    }
                if ($PM_Wohnen == true)
                    {
                     RequestAction(48974, $WertNACHT);     // umgekehrt  
                    }
                if ($PM_Kochen == true)
                    {
                     RequestAction(35015, $WertTAG);    
                    }
                if ($PM_Gaestebad == true)
                    {
                     RequestAction(42202, $WertTAG);   
                    }
                if ($PM_WC == true)
                    {
                   RequestAction(41518, $WertNACHT);      // umgekehrt  
                    }
                if ($PM_Treppe == true)
                    {
                       RequestAction(32646, $WertTAG);         
                    }

            }
        else
            {
                // Nachtbetrieb

                EIB_Switch(38552, $WertNACHT);
                    
                    // PM Freigaben
                    if ($PM_FlurOG == true)
                    {
                        RequestAction(32646, $WertNACHT);
                    }
                  if ($PM_Aaron == true)
                    {
                        EIB_Switch(56543, $WertTAG); // umgekehrt
                    }
                 if ($PM_Emil == true)
                    {
                        EIB_Switch(35809, $WertTAG); // umgekehrt
                    }
                if ($PM_Eltern == true)
                    {
                        RequestAction(55195, $WertNACHT);
                    }
                if ($PM_ElternGrundbeleuchtung == true)
                    {
                        RequestAction(19652, $WertNACHT);
                    }               

                 if ($PM_Elternbad == true)
                    {
                      RequestAction(57615, $WertTAG);  // umgekehrt
                      RequestAction(58420, $WertTAG);  // umgekehrt    
                    }    
                if ($PM_Windfang == true)
                    {
                    RequestAction(25663, $WertTAG);  // umgekehrt  
                    }
                if ($PM_Wohnen == true)
                    {
                    RequestAction(48974, $WertTAG);    // umgekehrt  
                    }
                if ($PM_Kochen == true)
                    {
                     RequestAction(35015, $WertNACHT);   
                    }
                if ($PM_Gaestebad == true)
                    {
                      RequestAction(42202, $WertNACHT);   
                    }
                if ($PM_WC == true)
                    {
                    RequestAction(41518, $WertTAG);      // umgekehrt  
                    }       
                if ($PM_Treppe == true)
                    {
                     RequestAction(32646, $WertNACHT);    
                    }

            }    
}






Dann wäre die Frage, was der Busmonitor zu dem Zeitpunkt zeigt.

Werde ich aufzeichnen. Ich habe nur den Rechner mit ETS nicht immer laufen…