Hallo,
ich bin bei meiner Umstellung von eibd auf knxd auf folgendes - in meinen Augen kritisches - Problem gestoßen:
Wenn auf dem Bus mehrere Operationen über den knxd gleichzeitig ausgeführt werden, dann liefert groupreadresponse hin und wieder das Ergebnis einer anderen Operation zurück:
In ca. 95% der Fälle:
# knxtool groupreadresponse ip:192.168.120.28:6720 5/2/221
Send request
Response from 1.1.10: 00 00 <-- korrektes Ergebnis vom richigen Sender
Ending groupreadresponse
In ca. 5% der Fälle:
# knxtool groupreadresponse ip:192.168.120.28:6720 5/2/221
Send request
Write from 1.1.120: 0C 71 <-- nur ein Beispiel, was eben gerade so auf dem Bus passiert
Ending groupreadresponse
Ich sehe mit einem parallel laufenden vbusmonitor1, dass der Request auf dem knxd ankommt und auch die richtige Antwort zur angefragten Gruppenadresse gesendet wird, allerding scheint groupreadresponse einfach die zeitlich nächste Antwort nach der Anfrage zurückzusenden, und nicht die passende Antwort zum vorausgegangenen Request. Das passiert aber wirklich nur, wenn viele parallele Operationen auf dem Bus sind - bei mir im Falle von zyklisch ausgeführten Cron-Jobs. Dieses Problem habe/hatte ich auf eibd nicht - die Umgebung ist komplett gleich.
Ich habe schon nach Lösungen gesucht die Operationen auf dem knxd zeitlich auseinander zu ziehen (pace, queue und single Filter für knxd), aber ich komme da nicht auf eine Lösung.
Vielleicht kann mir hier jemand weiterhelfen und mich in die richtige Richtung lenken.
Vielen Dank im Voraus und viele Grüße
Johannes
ich bin bei meiner Umstellung von eibd auf knxd auf folgendes - in meinen Augen kritisches - Problem gestoßen:
Wenn auf dem Bus mehrere Operationen über den knxd gleichzeitig ausgeführt werden, dann liefert groupreadresponse hin und wieder das Ergebnis einer anderen Operation zurück:
In ca. 95% der Fälle:
# knxtool groupreadresponse ip:192.168.120.28:6720 5/2/221
Send request
Response from 1.1.10: 00 00 <-- korrektes Ergebnis vom richigen Sender
Ending groupreadresponse
In ca. 5% der Fälle:
# knxtool groupreadresponse ip:192.168.120.28:6720 5/2/221
Send request
Write from 1.1.120: 0C 71 <-- nur ein Beispiel, was eben gerade so auf dem Bus passiert
Ending groupreadresponse
Ich sehe mit einem parallel laufenden vbusmonitor1, dass der Request auf dem knxd ankommt und auch die richtige Antwort zur angefragten Gruppenadresse gesendet wird, allerding scheint groupreadresponse einfach die zeitlich nächste Antwort nach der Anfrage zurückzusenden, und nicht die passende Antwort zum vorausgegangenen Request. Das passiert aber wirklich nur, wenn viele parallele Operationen auf dem Bus sind - bei mir im Falle von zyklisch ausgeführten Cron-Jobs. Dieses Problem habe/hatte ich auf eibd nicht - die Umgebung ist komplett gleich.
Ich habe schon nach Lösungen gesucht die Operationen auf dem knxd zeitlich auseinander zu ziehen (pace, queue und single Filter für knxd), aber ich komme da nicht auf eine Lösung.
Vielleicht kann mir hier jemand weiterhelfen und mich in die richtige Richtung lenken.
Vielen Dank im Voraus und viele Grüße
Johannes
Kommentar