Hallo,
ich bekomme mein ebus Plugin nicht mehr ans laufen. Es hat vor längerer Zeit mit einer alten Installation mal funktioniert. Ich arbeite mit 1.9.2-master auf einem Debian mit python 3.9.2.
Um der Ursache auf die Spur zu kommen, habe ich in die connect-Funktion des Plugins mal ein Log self.logger.error("Try to connect") reingemacht, das wird aber nie geschrieben. Ich finde im Plugin aber auch keinen Aufruf der connect-Funktion. Wird die Funktion irgendwie mit an das socket gebunden? Wie kann es dazu kommen, dass sie gar nicht aufgerufen wird?
Noch ein paar Randdaten:
Der ebusd läuft aus meiner Sicht korrekt:
Die Plugin Konfig sieht wie folgt aus, Dort ist die localhost ip auf dem auch der ebusd läuft eingetragen
Die Konfig des ebusd:
Das Log des ebusd sieht eigentlich gut aus:
ich bekomme mein ebus Plugin nicht mehr ans laufen. Es hat vor längerer Zeit mit einer alten Installation mal funktioniert. Ich arbeite mit 1.9.2-master auf einem Debian mit python 3.9.2.
Um der Ursache auf die Spur zu kommen, habe ich in die connect-Funktion des Plugins mal ein Log self.logger.error("Try to connect") reingemacht, das wird aber nie geschrieben. Ich finde im Plugin aber auch keinen Aufruf der connect-Funktion. Wird die Funktion irgendwie mit an das socket gebunden? Wie kann es dazu kommen, dass sie gar nicht aufgerufen wird?
Code:
def connect(self): """ Open socket connection to ebusd deamon """ self.logger.error("Try to connect") self._lock.acquire() try: self._sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self._sock.settimeout(2) self._sock.connect((self.host, self.port)) except Exception as e: self._connection_attempts -= 1 if self._connection_attempts <= 0: self.logger.error('eBus: could not connect to ebusd at {0}:{1}: {2}'.format(self.host, self.port, e)) self._connection_attempts = self._connection_errorlog self._lock.release() return self.logger.info('Connected to {0}:{1}'.format(self.host, self.port)) self.connected = True self._connection_attempts = 0 self._lock.release()
Der ebusd läuft aus meiner Sicht korrekt:
Code:
ebusctl i version: ebusd 22.4.v22.4-3-g406e7be update check: revision v22.4 available device: 192.168.188.110:9999, enhanced signal: acquired symbol rate: 40 max symbol rate: 125 min arbitration micros: 3 max arbitration micros: 7 min symbol latency: 6 max symbol latency: 7 reconnects: 0 masters: 3 messages: 451 conditional: 16 poll: 0 update: 10 address 03: master #11 address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0518;HW=7401", loaded "vaillant/bai.0010006101.inc" ([PROD='']), "vaillant/08.bai.csv" address 10: master #2 address 15: slave #2, scanned "MF=Vaillant;ID=43000;SW=0215;HW=2002", loaded "vaillant/15.430.csv" address 31: master #8, ebusd address 36: slave #8, ebusd
Die Plugin Konfig sieht wie folgt aus, Dort ist die localhost ip auf dem auch der ebusd läuft eingetragen
Code:
ebusd: plugin_name: ebus host: 192.168.188.60 port: 8888
Code:
EBUSD_OPTS="--scanconfig -p 8888 -d enh:192.168.188.110:9999"
Code:
2022-11-03 18:49:03.725 [update notice] received unknown BC cmd: 10feb505020400 2022-11-03 18:49:05.517 [update notice] received update-write bai SetMode QQ=10: auto;43.0;55.0;-;0;0;0;0;0;0 2022-11-03 18:49:11.581 [update notice] received read bai Status01 QQ=10: 29.0;30.0;9.938;-;62.0;off 2022-11-03 18:49:15.632 [update notice] received update-write bai SetMode QQ=10: auto;43.0;55.0;-;0;0;0;0;0;0 2022-11-03 18:49:19.649 [update notice] received read bai Status01 QQ=10: 29.0;30.0;9.938;-;62.0;off 2022-11-03 18:49:21.628 [update notice] received update-read broadcast vdatetime QQ=10: 18:49:23;03.11.2022 2022-11-03 18:49:21.887 [update notice] received update-write bai StatusCirPump QQ=10: off 2022-11-03 18:49:25.730 [update notice] received update-write bai SetMode QQ=10: auto;43.0;55.0;-;0;0;0;0;0;0
Kommentar