EBUS an Vaillant ecotec - EBUS: unexpected answer

Begonnen von heural, 19 Dezember 2017, 19:47:32

Vorheriges Thema - Nächstes Thema

heural

Hallo,

ich habe FHEM mit dem EBUS (von John) laufen, dies funktioniert auch soweit super bis auf sporadische Fehler welche mir die  Einstellungen "versauen".

bsp. Heizkurve:
EBUS: unexpected answer 1667\n\n (\061\066\066\067\012\012) received (wrote r -f HeatingCurve\n (\162\040\055\146\040\110\145\141\164\151\156\147\103\165\162\166\145\012), expected \d+\.\d+\n)

Ein Notify was dahinter hängt schreibt mir das dann in einen Dummy usw.

Meine Fragen dazu:
Wie kann so eine Antwort zu Stande kommen, können das Störsignale auf dem Bus sein?
Wie kann man das Abfangen? Ich dachte ein "expect" prüft den Wert auf den geg. Regex und bricht im Fehlerfall ab. Also "postproc" wird nicht ausgeführt. Aber scheinbar ist dem nicht so und ich müsste das innerhalb postproc prüfen. Wofür braucht man dann das "expect"?

Meine Konfig in der bai.cfg dazu:
# Heizkurve lesen
get HKurve cmd {"r -f HeatingCurve\n"}
get HKurve expect "\d+\.\d+\n\n"
get HKurve postproc { sprintf("%3.2f",$_) }



Und hier noch die Geräte, welche am Ebus hängen bzw. welche Ebus-Config:
ebusctl info
version: ebusd 3.0.v3.0-12-g77d2a80
update check: revision v3.0-23-g4c1aefb available, broadcast.csv: different version available, vaillant/15.ui.csv: different version available, vaillant/25.solsy.hwc.csv: different version available, vaillant/26.solsy.hc.csv: different version available, vaillant/35.rcc.1.csv: different version available, vaillant/bai.308523.inc: different version available,
signal: acquired
symbol rate: 23
max symbol rate: 184
reconnects: 0
masters: 4
messages: 747
conditional: 12
poll: 1
update: 10
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0604;HW=5502", loaded "vaillant/bai.308523.inc", "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=UI   ;SW=0508;HW=6201", loaded "vaillant/15.ui.csv"
address 23: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/23.solsy.cc.csv"
address 25: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/25.solsy.hwc.csv"
address 26: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/26.solsy.hc.csv"
address 30: master #3
address 31: master #8, ebusd
address 35: slave #3, scanned "MF=Vaillant;ID=RC C ;SW=0508;HW=6201", loaded "vaillant/35.rcc.1.csv"
address 36: slave #8, ebusd
address 50: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/50.solsy.mc.csv"
address ec: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/ec.solsy.sc.csv"