john30 / ebusd

daemon for communication with eBUS heating systems
GNU General Public License v3.0
559 stars 130 forks source link

ebusd scanning only loads all needed csv files when loglevel=debug #923

Closed DiKa67 closed 1 year ago

DiKa67 commented 1 year ago

Description

ebusd does scanning but finds only one device (out of six) and therefore loads only ONE out of six csv files. When I restart my heating device (Vailant) by powering off/on, then all 6 are scanned, but still only ONE CSV file is loaded.

And now the funny part: :-) As soon as loglevel=debug, then everything is fine, all scans are completed within seconds and all six csv files are loaded accordingly, even without restarting the Vaillant system.

Note: I am using the new v5 adapter, attached with USB to Raspberry 4

ebusctl info version: ebusd 23.1.23.1 device: /dev/ttyACM0, enhanced signal: acquired symbol rate: 42 max symbol rate: 119 min arbitration micros: 2 max arbitration micros: 53 min symbol latency: 4 max symbol latency: 4 reconnects: 0 masters: 3 messages: 143 conditional: 49 poll: 0 update: 8 address 03: master #11 address 08: slave #11, scanning address 10: master #2 address 23: slave, scanning address 25: slave, scanning address 31: master #8, ebusd address 36: slave #8, ebusd, scanning address 50: slave, scanning address e0: slave, scanned "MF=Vaillant;ID=OMU00;SW=0118;HW=5202", loaded "vaillant/e0.omu.csv"

After several (10 minutes) the scan will find also other devices, but does not load further the CSV files.

_version: ebusd 23.1.23.1 device: /dev/ttyACM0, enhanced signal: acquired symbol rate: 33 max symbol rate: 121 min arbitration micros: 2 max arbitration micros: 53 min symbol latency: 4 max symbol latency: 4 reconnects: 0 masters: 3 messages: 143 conditional: 49 poll: 0 update: 8 address 03: master #11 address 08: slave #11, scanning address 10: master #2 address 15: slave #2, scanned "MF=Vaillant;ID=UIH00;SW=0374;HW=6901" address 23: slave, scanning address 25: slave, scanning address 31: master #8, ebusd address 36: slave #8, ebusd, scanning address 50: slave, scanning address e0: slave, scanned "MF=Vaillant;ID=OMU00;SW=0118;HW=5202", loaded "vaillant/e0.omu.csv"__

Also remarkable: ebusctl info does not show the firmware version in the line "device" in the buggy case!

Actual behavior

ebusd does scanning but finds only one device (out of six) and therefore loads only ONE out of six csv files. When I restart my heating device (Vailant) by powering off/on, then all 6 are scanned, but still only ONE CSV file is loaded. ebusd_error.log

Expected behavior

ebusd scans all 6 devices and loads the CSV files accordingly.

ebusctl info version: ebusd 23.1.23.1 device: /dev/ttyACM0, enhanced, firmware 1.1[3501].1[3501] signal: acquired symbol rate: 36 max symbol rate: 131 min arbitration micros: 2 max arbitration micros: 109 min symbol latency: 3 max symbol latency: 5 reconnects: 0 masters: 3 messages: 741 conditional: 262 poll: 3 update: 60 address 03: master #11 address 08: slave #11, scanned "MF=Vaillant;ID=EHP00;SW=0419;HW=7201", loaded "vaillant/08.ehp.csv" address 10: master #2 address 15: slave #2, scanned "MF=Vaillant;ID=UIH00;SW=0374;HW=6901", loaded "vaillant/15.uih.csv" address 23: slave, scanned "MF=Vaillant;ID=EHP00;SW=0419;HW=7201", loaded "vaillant/23.ehp.cc.csv" address 25: slave, scanned "MF=Vaillant;ID=EHP00;SW=0419;HW=7201", loaded "vaillant/25.ehp.hwc.csv" address 31: master #8, ebusd address 36: slave #8, ebusd, scanning address 50: slave, scanned "MF=Vaillant;ID=EHP00;SW=0419;HW=7201", loaded "vaillant/50.ehp.mc.csv" address e0: slave, scanned "MF=Vaillant;ID=OMU00;SW=0118;HW=5202", loaded "vaillant/e0.omu.csv" ebus.log

ebusd version

current source from git

ebusd arguments

EBUSD_OPTS="--configpath=http://cfg.ebusd.eu/ --scanconfig=full -d ens:/dev/ttyACM0 -p 8888 --latency=50 --receivetimeout=100000 -l /var/log/ebusd.log --logareas=all --loglevel=info --lograwdatasize=100 --httpport=8889 --htmlpath=/var/ebusd/html"

Operating system

Debian 10 (Buster)

CPU architecture

arm71

Dockerized

None

Hardware interface

adapter 5.0 USB

Related integration

ebusctl

Logs

ebusd_error.log ebus_ok.log

john30 commented 1 year ago

thats weird indeed. can you post a raw log (without debug level) from the start of ebusd until the first scan message that should succeed (slave 08 I suppose)? then cancel and also post the easi> log

DiKa67 commented 1 year ago

Hi John,

Thanks for taking the time, very appreciated! :-)

Her the log files, normal and raw, for BOTH cases (ok and nok):

...01ok... when scan and fileloads works (logareas=all) with #EBUSD_OPTS="--configpath=http://cfg.ebusd.eu/ --scanconfig=full -d ens:/dev/ttyACM0 -p 8888 --latency=50 --receivetimeout=100000 -l /var/log/ebusd.log --logareas=all --lograwdata --lograwdatafile=/var/lo$

and

...02_nok... when scan takes very long and only one file is loaded finally. with EBUSD_OPTS="--configpath=http://cfg.ebusd.eu/ --scanconfig=full -d ens:/dev/ttyACM0 -p 8888 --latency=50 --receivetimeout=100000 -l /var/log/ebusd.log --lograwdata --lograwdatafile=/var/log/ebusd_raw.log $

ebusd_01_ok_raw.log ebusd_01_ok.log ebusd_02_nok_raw.log ebusd_02_nok.log

As well as the easy log:

Build: 20230501 ebusd device string: ens:/dev/ttyACM0 WiFi station: xxx, 192.168.xxx.xxx, 92% (-54dBm) (note: xxx to replace real values) WiFi AP: EBUS, 192.168.4.1 11:59:52 Info executeCommand: executing command: function start server "led 0 10" 11:59:52 function installed 11:59:52 Info replExecuteFromFile: executing command: on wifi 1 start 11:59:52 Info executeCommand: executing command: on wifi 1 start 11:59:52 network trigger installed 11:59:52 Info replExecuteFromFile: executing command: on ethernet 1 start 11:59:52 Info executeCommand: executing command: on ethernet 1 start 11:59:52 network trigger installed 11:59:52 Info replExecuteFromFile: executing command: function aponfor120 "ap EBUS" "after -o 120 \"ap -o\"" 11:59:52 Info executeCommand: executing command: function aponfor120 "ap EBUS" "after -o 120 \"ap -o\"" 11:59:52 function installed 11:59:52 Info replExecuteFromFile: executing command: if "!§isnvs sta.on" "ap EBUS" else "if \"isnvs ap.on\" ap else aponfor120" 11:59:52 Info executeCommand: executing command: if "!§isnvs sta.on" "ap EBUS" else "if \"isnvs ap.on\" ap else aponfor120" 11:59:52 Info executeCommand: executing command: isnvs sta.on 11:59:52 Info executeCommand: executing command: if "isnvs ap.on" ap else aponfor120 11:59:52 Info executeCommand: executing command: isnvs ap.on 11:59:52 Info executeCommand: executing command: aponfor120 11:59:52 Info executeCommand: executing command: ap EBUS 11:59:52 Info pp: pp rom version: 9387209 11:59:52 Info net80211: net80211 rom version: 9387209 11:59:52 Info wifi_init: rx ba win: 6 11:59:52 Info wifi_init: tcpip mbox: 32 11:59:52 Info wifi_init: udp mbox: 6 11:59:52 Info wifi_init: tcp mbox: 6 11:59:52 Info wifi_init: tcp tx win: 5744 11:59:52 Info wifi_init: tcp rx win: 5744 11:59:52 Info wifi_init: tcp mss: 1440 11:59:52 Info wifi_init: WiFi IRAM OP enabled 11:59:52 Info wifi_init: WiFi RX IRAM OP enabled 11:59:52 Info phy_init: phy_version 960,7392adf,Mar 31 2023,16:27:13 11:59:52 Info esp_netif_lwip: DHCP server started on interface WIFI_AP_DEF with IP: 192.168.4.1 11:59:52 Info esp_netif_lwip: DHCP server started on interface WIFI_AP_DEF with IP: 192.168.4.1 11:59:52 AP mode, EBUS 11:59:52 Info executeCommand: executing command: after -o 120 "ap -o" 11:59:52 time trigger installed 11:59:52 Info replExecuteFromFile: executing command: if "isnvs sta.on" sta 11:59:52 Info executeCommand: executing command: if "isnvs sta.on" sta 11:59:52 Info executeCommand: executing command: isnvs sta.on 11:59:52 Info executeCommand: executing command: sta 11:59:52 sta connecting to 'FritzHugoAlpe' 11:59:52 Info cmd_wifi: sta disconnect, reconnect... 11:59:52 Info repl_event_task: non-io event 1: 0 11:59:52 Info executeCommand: executing command: led 0 0 11:59:52 Info statusLedTimerFn: duty set to 0 11:59:55 Info esp_netif_handlers: sta ip: 192.168.103.128, mask: 255.255.255.0, gw: 192.168.103.1 11:59:55 Info repl_event_task: non-io event 1: 1 11:59:55 Info executeCommand: executing command: led 0 50 11:59:55 Info executeCommand: executing command: start 11:59:55 Info executeCommand: executing command: server 11:59:55 Info esp-rest: Starting HTTP Server 11:59:55 server started 11:59:55 Info executeCommand: executing command: led 0 10 11:59:55 Info replExecuteFromFile: executing command: var eth 0 11:59:55 Info executeCommand: executing command: var eth 0 11:59:55 Info replExecuteFromFile: executing command: if "eth -t" "var eth 1" else "if \"eth -wt\" \"var eth 2\"" 11:59:55 Info executeCommand: executing command: if "eth -t" "var eth 1" else "if \"eth -wt\" \"var eth 2\"" 11:59:55 Info executeCommand: executing command: eth -t 11:59:55 Error w5500.mac: w5500_verify_id(234): invalid chip version, expected 0x4, actual 0x0 11:59:55 Error w5500.mac: emac_w5500_init(703): vefiry chip ID failed 11:59:55 Info gpio: GPIO[5]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 11:59:55 Error esp_eth: esp_eth_driver_install(228): init mac failed 11:59:55 Error initialise_ethernet: initialise_ethernet(229): install driver 11:59:55 Error esp_eth: esp_eth_driver_uninstall(256): invalid argument 11:59:55 Info gpio: GPIO[6]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 11:59:55 Info gpio: GPIO[2]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 11:59:55 Info gpio: GPIO[0]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 11:59:55 Info gpio: GPIO[3]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 11:59:55 Ethernet not available 11:59:55 Warning executeCommand: command failed: eth -t = 1 11:59:55 Info executeCommand: executing command: if "eth -wt" "var eth 2" 11:59:55 Info executeCommand: executing command: eth -wt 11:59:55 Info statusLedTimerFn: duty set to 10 11:59:55 Error w5500.mac: w5500_reset(222): reset timeout 11:59:55 Error w5500.mac: emac_w5500_init(701): reset w5500 failed 11:59:55 Info gpio: GPIO[8]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 11:59:55 Error esp_eth: esp_eth_driver_install(228): init mac failed 11:59:55 Error initialise_ethernet: initialise_ethernet(229): install driver 11:59:55 Error esp_eth: esp_eth_driver_uninstall(256): invalid argument 11:59:55 Info gpio: GPIO[6]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 11:59:55 Info gpio: GPIO[3]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 11:59:55 Info gpio: GPIO[2]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 11:59:55 Info gpio: GPIO[5]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 11:59:55 Ethernet not available 11:59:55 Warning executeCommand: command failed: eth -wt = 1 11:59:55 Info replExecuteFromFile: executing command: io -a 11:59:55 Info executeCommand: executing command: io -a 11:59:55 Info replExecuteFromFile: executing command: function chkethcfg "if \"eth -c\" \"var eth 1\"" 11:59:55 Info executeCommand: executing command: function chkethcfg "if \"eth -c\" \"var eth 1\"" 11:59:55 function installed 11:59:55 Info replExecuteFromFile: executing command: if "!var isnew" "if \"!var eth\" chkethcfg" 11:59:55 Info executeCommand: executing command: if "!var isnew" "if \"!var eth\" chkethcfg" 11:59:55 Info executeCommand: executing command: var isnew 11:59:55 variable isnew = 0 11:59:55 Info executeCommand: executing command: if "!var eth" chkethcfg 11:59:55 Info executeCommand: executing command: var eth 11:59:55 variable eth = 0 11:59:55 Info executeCommand: executing command: chkethcfg 11:59:55 Info executeCommand: executing command: if "eth -c" "var eth 1" 11:59:55 Info executeCommand: executing command: eth -c 11:59:55 Warning executeCommand: command failed: eth -c = 1 11:59:55 Info replExecuteFromFile: executing command: function enet eth "led 0 50" "led 1 50" "led 2 50" 11:59:55 Info executeCommand: executing command: function enet eth "led 0 50" "led 1 50" "led 2 50" 11:59:55 function installed 11:59:55 Info replExecuteFromFile: executing command: if "isnvs eth.on" "if \"var eth\" enet" 11:59:55 Info executeCommand: executing command: if "isnvs eth.on" "if \"var eth\" enet" 11:59:55 Info executeCommand: executing command: isnvs eth.on 11:59:55 Warning executeCommand: command failed: isnvs eth.on = 1 11:59:55 Info replExecuteFromFile: executing command: function ebusrpi "ebus -l" "led 0 50" 11:59:55 Info executeCommand: executing command: function ebusrpi "ebus -l" "led 0 50" 11:59:55 function installed 11:59:55 Info replExecuteFromFile: executing command: if "isnvs -s rpi ebus.host" ebusrpi exit 11:59:55 Info executeCommand: executing command: if "isnvs -s rpi ebus.host" ebusrpi exit 11:59:55 Info executeCommand: executing command: isnvs -s rpi ebus.host 11:59:55 Info replExecuteFromFile: executing command: if "isnvs -s usb ebus.host" "ebus -jl" "led 0 50" exit 11:59:55 Info executeCommand: executing command: if "isnvs -s usb ebus.host" "ebus -jl" "led 0 50" exit 11:59:55 Info executeCommand: executing command: isnvs -s usb ebus.host 11:59:55 Info executeCommand: executing command: ebus -jl 11:59:55 Info init_ebus: switching to enhanced eBUS mode on JTAG 11:59:55 Info setup_uart: eBUS UART 1 on TX=10(inv) RX=7(inv) with 2400 Bd 11:59:55 Info uart: ALREADY NULL 11:59:55 Info init_ebus: timer started 11:59:55 Info executeCommand: executing command: led 0 50 11:59:55 Info executeCommand: executing command: exit 11:59:55 Info executeCommand: command exit 11:59:55 Info executeCommand: command exit 11:59:55 Info replExecuteFromFile: successfully executed 46/46 commands from '/data/main.eas' 11:59:55 Welcome to eBUS Adapter Shield Interface! Type 'help' to get the list of commands. 11:59:55 Info statusLedTimerFn: duty set to 50

john30 commented 1 year ago

very strange. it looks as if the SYN generator completely ignores any traffic, even valid one. which is particular strange as other participants answer to requested data.

please post the log with raw bytes into the same file by using these args: --scanconfig=full -d ens:/dev/ttyACM0 --latency=50 --receivetimeout=100 -l /var/log/ebusd.log --lograwdata=bytes

DiKa67 commented 1 year ago

Will do. As I am currently in holidays, I will perform it at the next weekend! Thanks a lot.

DiKa67 commented 1 year ago

Hi John, After being back from holidays, here the log as requested with the parameters:

EBUSD_OPTS="--scanconfig=full -d ens:/dev/ttyACM0 --latency=50 --receivetimeout=100 -l /var/log/ebusd.log --lograwdata=bytes"

ebusd.log

Btw. with those parameters it works pretty nice: Here the result, all devices scanned and csv files loaded successfully after less than one minute:

ebusctl info

version: ebusd 23.1.23.1
device: /dev/ttyACM0, enhanced, firmware 1.1[3501].1[3501]
signal: acquired
symbol rate: 72
max symbol rate: 144
min arbitration micros: 2
max arbitration micros: 51
min symbol latency: 3
max symbol latency: 13
reconnects: 0
masters: 3
messages: 740
conditional: 262
poll: 3
update: 60
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=EHP00;SW=0419;HW=7201", loaded "vaillant/08.ehp.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=UIH00;SW=0374;HW=6901", loaded "vaillant/15.uih.csv"
address 23: slave, scanned "MF=Vaillant;ID=EHP00;SW=0419;HW=7201", loaded "vaillant/23.ehp.cc.csv"
address 25: slave, scanned "MF=Vaillant;ID=EHP00;SW=0419;HW=7201", loaded "vaillant/25.ehp.hwc.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd, scanning
address 50: slave, scanned "MF=Vaillant;ID=EHP00;SW=0419;HW=7201", loaded "vaillant/50.ehp.mc.csv"
address e0: slave, scanned "MF=Vaillant;ID=OMU00;SW=0118;HW=5202", loaded "vaillant/e0.omu.csv"

Thanks for your support! :-)

DiKa67 commented 1 year ago

Hi John,

I now moved to a ebusd docker container on my NAS and all seems to be fine. So no further investigations here needed. :-)

Thanks, Dieter

john30 commented 1 year ago

so you're using 23.2 now, right?

avanmourik commented 1 year ago

Hello, I am very new to python / ebusd and struggeling with seemingly similar problems as described in #923. There are only 3 elements on my EBUS : heatpump Arotherm plus VWL 75/6 A ; system assistant VWZ AI , and Sensocomfort VRC 720/2. Installed sept 2022. Data are stored on PI 4 , ARM71. USB is used to connect EBUSD with PI. Using the most simple ebusd in /etc/default/ ebusd: EBUSD_OPTS="--scanconfig" EBUSD_OPTS="--scanconfig -d ens:/dev/ttyACM0"

I get the following outputs, so equipment recognized but no data, very similar to Dika67 in #923 : Ebusctl find : broadcast datetime = no data stored broadcast error = no data stored broadcast hwcStatus = no data stored broadcast id = no data stored broadcast id = no data stored broadcast load = no data stored broadcast outsidetemp = 27.250 broadcast signoflife = no data stored broadcast vdatetime = 16:48:07;24.08.2023 general valuerange = no data stored hmu ConsumptionThisYear10 = no data stored hmu ConsumptionThisYear11 = no data stored hmu ConsumptionThisYear12 = no data stored hmu ConsumptionThisYear1 = no data stored hmu ConsumptionThisYear2 = no data stored hmu ConsumptionThisYear3 = no data stored hmu ConsumptionThisYear4 = no data stored hmu ConsumptionThisYear5 = no data stored hmu ConsumptionThisYear6 = no data stored hmu ConsumptionThisYear7 = no data stored hmu ConsumptionThisYear8 = no data stored hmu ConsumptionThisYear9 = no data stored hmu ConsumptionTotal = no data stored hmu CurrentCompressorUtil = no data stored hmu CurrentConsumedPower = no data stored hmu currenterror = no data stored hmu CurrentYieldPower = no data stored hmu DateTime = no data stored hmu EnergyCool = no data stored hmu EnergyHc = no data stored hmu errorhistory = no data stored hmu Hours = no data stored hmu HoursCool = no data stored hmu HoursHc = no data stored hmu SetMode = auto;0.0;-;-;1;1;1;0;0;0 hmu State = 0;0;160;0 hmu Status01 = 25.5;24.5;-;-;-;off hmu Status02 = no data stored hmu Status16 = no data stored hmu Status = no data stored hmu StatusCirPump = off hmu WaterThroughput = no data stored hmu YieldThisYear10 = no data stored hmu YieldThisYear11 = no data stored hmu YieldThisYear12 = no data stored hmu YieldThisYear1 = no data stored hmu YieldThisYear2 = no data stored hmu YieldThisYear3 = no data stored hmu YieldThisYear4 = no data stored hmu YieldThisYear5 = no data stored hmu YieldThisYear6 = no data stored hmu YieldThisYear7 = no data stored hmu YieldThisYear8 = no data stored hmu YieldThisYear9 = no data stored hmu YieldTotal = no data stored memory eeprom = no data stored memory ram = no data stored scan id = no data stored scan.08 = Vaillant;HMU00;0607;5103 scan.15 = Vaillant;CTLV2;0514;1104 scan.76 = Vaillant;VWZIO;0202;0103

Ebusctl info: version: ebusd 23.2.23.2 update check: OK device: /dev/ttyACM0, enhanced high speed, firmware 1.1[380f].1[380f] signal: acquired symbol rate: 91 max symbol rate: 159 min arbitration micros: 5 max arbitration micros: 63 min symbol latency: 4 max symbol latency: 4 scan: finished reconnects: 0 masters: 4 messages: 67 conditional: 0 poll: 0 update: 10 address 03: master #11 address 08: slave #11, scanned "MF=Vaillant;ID=HMU00;SW=0607;HW=5103", loaded "vaillant/08.hmu.csv" address 10: master #2 address 15: slave #2, scanned "MF=Vaillant;ID=CTLV2;SW=0514;HW=1104" address 31: master #8, ebusd address 36: slave #8, ebusd address 71: master #9 address 76: slave #9, scanned "MF=Vaillant;ID=VWZIO;SW=0202;HW=0103"

No clue where the CSV Vaillant / 08.hmu.csv resides, but it was NOT on my computer, I checked. The logfile shows a mix of data and non recognized messages, likely to be the result of missing CSV’s for the VWZ and VRC 720/2.

A small part of the log file (/var/log/ebsud.log :

2023-08-26 23:39:50.795 [update notice] received update-write hmu SetMode QQ=10: auto;0.0;-;-;1;1;1;0;0;0 2023-08-26 23:39:51.060 [update notice] received unknown MS cmd: 1076b51009000000ffffff050000 / 0101 2023-08-26 23:39:51.333 [update notice] received unknown MS cmd: 1076b5040100 / 0a0352392326080623f010 2023-08-26 23:39:51.571 [update notice] received unknown MS cmd: 1008b507020900 / 02f504 2023-08-26 23:39:51.810 [update notice] received update-read broadcast vdatetime QQ=10: 23:39:50;26.08.2023 2023-08-26 23:39:52.075 [update notice] received unknown MS cmd: 1008b5110100 / 09250115000000000000 2023-08-26 23:39:52.293 [update notice] received update-read broadcast outsidetemp QQ=10: 16.938 2023-08-26 23:39:52.432 [update notice] received read hmu State QQ=71: 0;0;160;0

Configuration check shows:

ebusd --checkconfig --scanconfig --dumpconfig. 2023-08-25 22:07:46.892 [main notice] ebusd 23.2.23.2 performing configuration check... 2023-08-25 22:07:48.716 [main notice] found messages: 11 (0 conditional on 0 conditions, 0 poll, 4 update) 2023-08-25 22:07:48.716 [main notice] configuration dump: type,circuit,name,comment,qq,zz,pbsb,id,name,part,type,divisor/values,unit,comment u,broadcast,datetime,Datum/Uhrzeit,,fe,0700,,outsidetemp,m,D2B,,°C,Temperatur,time,m,BTI,,,Uhrzeit,date,m,BDA,,,Datum u,broadcast,error,Fehlernachricht,,fe,fe01,,error,m,STR:10,,, u,broadcast,id,Identifikation,,fe,0704,,manufacturer,m,UCH,6=Dungs;15=FH Ostfalia;16=TEM;17=Lamberti;20=CEB;21=Landis-Staefa;22=FERRO;23=MONDIAL;24=Wikon;25=Wolf;32=RAWE;48=Satronic;64=ENCON;80=Kromschröder;96=Eberle;101=EBV;117=Grässlin;133=ebm-papst;149=SIG;165=Theben;167=Thermowatt;181=Vaillant;192=Toby;197=Weishaupt;253=ebusd.eu,,Geräte-Hersteller,id,m,STR:5,,,Geräte-ID,software,m,PIN,,,Software-Version,hardware,m,PIN,,,Hardware-Version r,broadcast,id,Identifikation,,,0704,,manufacturer,s,UCH,6=Dungs;15=FH Ostfalia;16=TEM;17=Lamberti;20=CEB;21=Landis-Staefa;22=FERRO;23=MONDIAL;24=Wikon;25=Wolf;32=RAWE;48=Satronic;64=ENCON;80=Kromschröder;96=Eberle;101=EBV;117=Grässlin;133=ebm-papst;149=SIG;165=Theben;167=Thermowatt;181=Vaillant;192=Toby;197=Weishaupt;253=ebusd.eu,,Geräte-Hersteller,id,s,STR:5,,,Geräte-ID,software,s,PIN,,,Software-Version,hardware,s,PIN,,,Hardware-Version w,broadcast,id,Identifikation,,fe,0704,, w,broadcast,queryexistence,Existenzanfrage,,fe,07fe,, u,broadcast,signoflife,Lebenszeichen,,fe,07ff,, r,memory,eeprom,EEPROM Daten lesen,,,0902,,address,m,UIN,,,Startadresse,count,m,UCH,,,number of bytes,data,s,HEX:,,,Datenbytes w,memory,eeprom,EEPROM Daten schreiben,,,0903,,address,m,UIN,,,Startadresse,data,m,HEX:,,,Datenbytes r,memory,ram,RAM Daten lesen,,,0900,,address,m,UIN,,,Startadresse,count,m,UCH,,,number of bytes,data,s,HEX:,,,Datenbytes w,memory,ram,RAM Daten schreiben,,,0901,,address,m,UIN,,,Startadresse,data,m,HEX:*,,,Datenbytes

To me it looks like there is nothing wrong with the basic communication. Interestingly, when using the setup as used by Dika67, so reading the CSV files from http://cfg.ebusd.eu/ there are no significant differences in results: Ebusctl Find (again no data reported except for outside temp and date/time): scan id = no data stored scan.08 = Vaillant;HMU00;0607;5103 scan.15 = Vaillant;CTLV2;0514;1104 scan.76 = Vaillant;VWZIO;0202;0103

Ebusctl info : address 03: master #11 address 08: slave #11, scanned "MF=Vaillant;ID=HMU00;SW=0607;HW=5103", loaded "vaillant/08.hmu.csv" address 10: master #2 address 15: slave #2, scanned "MF=Vaillant;ID=CTLV2;SW=0514;HW=1104" address 31: master #8, ebusd address 36: slave #8, ebusd, scanning address 71: master #9 address 76: slave #9, scanned "MF=Vaillant;ID=VWZIO;SW=0202;HW=0103"

Then the most interesting experiment: I pieced together the files: _templates.csv, memory.csv, broadcast.csv, 15.700.csv, 08.hmu.cv (regular website (https://github.com/john30/ebusd-configuration/tree/master/ebusd-2.1.x/en) and copying 15.700 CSV to 15.ctlv.csv. I stored these in /etc/ebusd/ folder and in /etc/ebusd/Vaillant/ folder (so double storage). Then changed /etc/default/ ebusd to :

EBUSD_OPTS="--scanconfig" EBUSD_OPTS="--configpath=/etc/ebusd/ --scanconfig=full -d ens:/dev/ttyACM0 -p 8888 --latency=50 --receivetimeout=100000 -l /var/log/ebusd.log --logareas=all --loglevel=info --lograwdatasize=100 --httpport=8889 --htmlpath=/var/ebusd/html".

The results below show that it finds the new configpath (ctlv2 output), but ignores the 08.hmu.csv, moreover there is no sign in the info file about the csv file 15.CTLV2.csv, used by ebusd.

ebusctl find : ctlv2 AdaptHeatCurve = no data stored ctlv2 ContinuosHeating = no data stored ctlv2 CylinderChargeHyst = no data stored ctlv2 CylinderChargeOffset = no data stored ctlv2 Date = no data stored ctlv2 FrostOverRideTime = no data stored ctlv2 GlobalSystemOff = no data stored ctlv2 HwcLockTime = no data stored ctlv2 HwcParallelLoading = no data stored ctlv2 HydraulicScheme = no data stored ctlv2 MaintenanceDate = no data stored ctlv2 ManualCooling = no data stored ctlv2 MaxCylinderChargeTime = no data stored ctlv2 MaxRoomHumidity = no data stored ctlv2 PumpAdditionalTime = no data stored ctlv2 Time = no data stored ctlv2 WaterPressure = no data stored scan.08 = Vaillant;HMU00;0607;5103 scan.15 = Vaillant;CTLV2;0514;1104 scan.76 = Vaillant;VWZIO;0202;0103

ebusctl info: version: ebusd 23.2.23.2 update check: OK device: /dev/ttyACM0, enhanced high speed, firmware 1.1[380f].1[380f] signal: acquired symbol rate: 23 max symbol rate: 159 min arbitration micros: 5 max arbitration micros: 27 min symbol latency: 4 max symbol latency: 4 scan: finished reconnects: 0 masters: 4 messages: 36 conditional: 0 poll: 0 update: 0 address 03: master #11 address 08: slave #11, scanned "MF=Vaillant;ID=HMU00;SW=0607;HW=5103" address 10: master #2 address 15: slave #2, scanned "MF=Vaillant;ID=CTLV2;SW=0514;HW=1104" address 31: master #8, ebusd address 36: slave #8, ebusd, scanning address 71: master #9 address 76: slave #9, scanned "MF=Vaillant;ID=VWZIO;SW=0202;HW=0103"

Part of /var/log/ ebusd.log: (only error messages)

2023-08-27 18:17:09.101 [main debug] performing regular tasks 2023-08-27 18:17:09.696 [update info] received MS cmd: 7108b5110107 / 0a000000a> 2023-08-27 18:17:09.697 [update notice] received unknown MS cmd: 7108b5110107 /> 2023-08-27 18:17:10.833 [update info] received MS cmd: 0376b51206130015000006 /> 2023-08-27 18:17:10.833 [update notice] received unknown MS cmd: 0376b512061300> 2023-08-27 18:17:11.536 [update info] received MS cmd: 1008b5110101 / 092825008> 2023-08-27 18:17:11.536 [update notice] received unknown MS cmd: 1008b5110101 /> 2023-08-27 18:17:11.805 [update info] received MS cmd: 1076b5110101 / 09ffff701> 2023-08-27 18:17:11.805 [update notice] received unknown MS cmd: 1076b5110101 /> 2023-08-27 18:17:12.072 [update info] received MS cmd: 1076b512030f0001 / 07008> 2023-08-27 18:17:12.072 [update notice] received unknown MS cmd: 1076b512030f00> 2023-08-27 18:17:12.286 [update info] received BC cmd: 10feb505025c00 2023-08-27 18:17:12.286 [update notice] received unknown BC cmd: 10feb505025c00 2023-08-27 18:17:12.550 [update info] received MS cmd: 1008b51009000000ffffff07> 2023-08-27 18:17:12.550 [update notice] received unknown MS cmd: 1008b510090000> 2023-08-27 18:17:12.814 [update info] received MS cmd: 1076b51009000000ffffff05> 2023-08-27 18:17:12.814 [update notice] received unknown MS cmd: 1076b510090000> 2023-08-27 18:17:13.087 [update info] received MS cmd: 1076b5040100 / 0a0313171> 2023-08-27 18:17:13.087 [update notice] received unknown MS cmd: 1076b5040100 /> 2023-08-27 18:17:13.183 [update info] received MS cmd: 7108b5110107 / 0a000000a>

Some of the ctlv2 data however can be found via the read command

ebusctl read Date 27.08.2023 ebusctl read MaintenanceDate 01.01.2019 ebusctl read WaterPressure - ebusctl read time 19:33:20 ebusctl read HydraulicScheme 8 ebusctl read FrostOverRideTime ERR: SYN received

Lost in the Jungle!!

DiKa67 commented 1 year ago

Hi avanmourik, Can you please tell us about your setting, hardware, os, interface… And I solved it by moving ebus to a docker container. Before, it was installed on a Raspi, together with OpenHAB, influxdb, Grafana and some other stuff. It ran for some years pretty stable and suddenly brought those issues…

DiKa67 commented 1 year ago

so you're using 23.2 now, right?

Still on 23.1 on docker. Works perfectly since 1,5 months now. :-)

avanmourik commented 1 year ago

Hi,

Yes running 23.2

When it last ran, I used the ttyACM USB connection, and apart from getting almost no data it seemed to work.

Until it crashed completely and could not even start anymore (systemctl start ebusd terminated with code 64 error)

I thought to get rid of all the hassle I am in right now, by using the docker option as you suggested.

It actually seems a lot more elegant than the “traditional” procedure

So installed it, on the basis of a web tutorial and that was OK.

Pulled the files from John Baier from : https://hub.docker.com/r/john30/ebusd/

All ok and then the trouble starts :

I flashed the device, set it up for PI serial, re-installed the bullseye-ebusd software for arm71 (but necessary with the image?)

I changed the device to ttyACM0, since I had been using this device in the previous setup.

It would not run , because the docker was looking for ttyUSB0 , I do not know why.

The command on the website was docker run --rm -it --device=/dev/ttyUSB1:/dev/ttyUSB0 -p 8888 john30/ebus.

But I changed it (maybe wrongly) to docker run --rm -it --device=/dev/ttyACM0:/dev/ttyACM1 -p 8888 john30/ebus

Don’t actually know what the 2 devices in 1 command mean

But the overruling question is what files are still used from the setup document for non-container setup.

Is /etc/default still used as configuration file (including a path to local csv files)?

I guess since you went through all this , so might know the answers.

Were there any other details you wanted to know (your first email)?

Kind regards,

From: DiKa67 @.> Sent: zaterdag 2 september 2023 20:21 To: john30/ebusd @.> Cc: avanmourik @.>; Manual @.> Subject: Re: [john30/ebusd] ebusd scanning only loads all needed csv files when loglevel=debug (Issue #923)

so you're using 23.2 now, right?

Still on 23.1 on docker. Works perfectly since 1,5 months now. :-)

— Reply to this email directly, view it on GitHub https://github.com/john30/ebusd/issues/923#issuecomment-1703905639 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ALTZEN6CL3YAQIF4CNN23XDXYN2HTANCNFSM6AAAAAAYZJ2YMY . You are receiving this because you are subscribed to this thread. https://github.com/notifications/beacon/ALTZEN5BT42RWIPTNUG5OS3XYN2HTA5CNFSM6AAAAAAYZJ2YM2WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTFR6EWO.gif Message ID: @. @.> >

john30 commented 1 year ago

if you move to docker, I suggest that you read the docs for that as it is all quite different (no /etc/defaults/ebusd e.g.): https://github.com/john30/ebusd/blob/master/contrib/docker/README.md the compose file shows all settings available, all of which then have to be passed by environment variables or as arguments to the docker run command: https://github.com/john30/ebusd/blob/master/contrib/docker/docker-compose.example.yaml

john30 commented 1 year ago

besides: having an output of "no data stored" does not mean that there is none. you'd have to actively query these messages to see if the device provides that data. if you don't, then ebusd will answer from cache only. this is specifically true for the "find" command

john30 commented 1 year ago

@DiKa67 this hijacked issue is actually closable, right? btw: you seem to be using a rather old firmware, maybe updating it might help as well, see here

DiKa67 commented 1 year ago

@DiKa67 this hijacked issue is actually closable, right? btw: you seem to be using a rather old firmware, maybe updating it might help as well, see here

Correct, my issue is not longer an issue :-) Thanks John!

avanmourik commented 1 year ago

I used both the read command and the shell script , with same result. No values

From: John @.> Sent: zondag 3 september 2023 18:09 To: john30/ebusd @.> Cc: avanmourik @.>; Manual @.> Subject: Re: [john30/ebusd] ebusd scanning only loads all needed csv files when loglevel=debug (Issue #923)

besides: having an output of "no data stored" does not mean that there is none. you'd have to actively query these messages to see if the device provides that data. if you don't, then ebusd will answer from cache only. this is specifically true for the "find" command

— Reply to this email directly, view it on GitHub https://github.com/john30/ebusd/issues/923#issuecomment-1704343489 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ALTZENZEWKA2PUTEYLIMSXDXYSTSFANCNFSM6AAAAAAYZJ2YMY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

avanmourik commented 1 year ago

OK,

Understand.

Explains a lot.

I read the readme , but it does not suggest , that the downloadable version is a tailored one (docker pull john30/ebusd)

Will dive into it

From: John @.> Sent: zondag 3 september 2023 18:08 To: john30/ebusd @.> Cc: avanmourik @.>; Manual @.> Subject: Re: [john30/ebusd] ebusd scanning only loads all needed csv files when loglevel=debug (Issue #923)

if you move to docker, I suggest that you read the docs for that as it is all quite different (no /etc/defaults/ebusd e.g.): https://github.com/john30/ebusd/blob/master/contrib/docker/README.md https://github.com/john30/ebusd/blob/master/contrib/docker/README.md the compose file shows all settings available, all of which then have to be passed by environment variables or as arguments to the docker run command: https://github.com/john30/ebusd/blob/master/contrib/docker/docker-compose.example.yaml https://github.com/john30/ebusd/blob/master/contrib/docker/docker-compose.example.yaml

— Reply to this email directly, https://github.com/john30/ebusd/issues/923#issuecomment-1704343189 view it on GitHub, or https://github.com/notifications/unsubscribe-auth/ALTZEN3XPYZ72A5SG7RPVWTXYSTNFANCNFSM6AAAAAAYZJ2YMY unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>