Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HOWTO] Wolf CGB-11, SM-1 and eBus adapter 3 #216

Open
ngblume opened this issue Mar 28, 2021 · 10 comments
Open

[HOWTO] Wolf CGB-11, SM-1 and eBus adapter 3 #216

ngblume opened this issue Mar 28, 2021 · 10 comments
Labels

Comments

@ngblume
Copy link

ngblume commented Mar 28, 2021

Hey everyone,

since I recently started working with eBus and the Wolf heating systems, I would like to post my findings / how far I got and how I got there (for everyone looking to get started).
>> Questions at the end of post

System:

  • Wolf CGB-11
  • Wolf SM-1

eBus-Adapter and tools

  • John30's eBus adapter V3 (https://adapter.ebusd.eu/, RPi-version)
  • RPi 4 (connected via wireless to router)
  • ebusd running on RPi (standard installation from repository; see below)

Status

  1. receiving messages from system
  2. (most) messages properly decoded
  3. missing solar

HowTo (get there)

  • Expertise required: Beginner with some linux command line comfort
  • Duration: 20 min excluding download times for image and updates
  1. Setup RPi with "Raspberry Pi OS Lite" via balena Etcher (https://www.raspberrypi.org/software/operating-systems/)
  2. Eject and reinsert SD card on your computer (the one used for transfering OS to SD card
  3. Place wpa_supplicant.conf in root folder of "boot" containing the following info (edited for your specifics, ensure UTF-8 encoding in your editor, i.e. Notepad++ under "Encoding" > "UTF-8"):
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
ap_scan=1
network={
 scan_ssid=1
 ssid="YOURSSID"
 psk="YOURPASSWD"
key_mgmt=WPA-PSK
}
  1. Place completely empty file with the filename "ssh" (NO extension) in root folder of "boot" drive as well
  2. Eject SD-card and insert into RPi
  3. Start RPi without eBUs adapter V3 attached (might be unnecessary)
  4. Connect to it via SSH using PuTTY
  5. Execute neccessary steps as described by @john30 here: https://adapter.ebusd.eu/raspberrypi.en
  6. Restart RPi as mentioned
  7. Login via SSH
  8. Run "sudo apt-get update"
    sudo apt-get update
  9. Run "sudo apt-get upgrade"
    sudo apt-get upgrade
  10. Reboot
  11. Install ebusd from repository as described by @john30 here: https://github.com/john30/ebusd-debian/blob/master/README.md (if MQTT not required, use different LIST file; don't execute cmd without looking at next lines in readme ;-) )
  12. Reboot RPi
  13. Change eBusd config as follows using "sudo nano /etc/default/ebusd"
    sudo nano /etc/default/ebusd
    DO NOT use "scanconfig" since the Wolf systems apparrently do not adhere to the specification in this context, at least the CGB-11 does not, see here: Could not read field values (ERR: element not found) #71 (comment))
# /etc/default/ebusd:
# config file for ebusd service.

# Options to pass to ebusd (run "ebusd -?" for more info):
EBUSD_OPTS="-c /etc/ebusd/ -d enh:/dev/ttyAMA0 --latency=50 --enablehex"
  1. Change to your home directory via "cd /home/pi/"
    cd /home/pi/
  2. Create folder "ebus-configs" using "mkdir ebus-configs"
    mkdir ebus-configs
  3. Change to newly created folder via "cd ebus-configs"
    cd ebus-configs
  4. Clone GIT repository into this path using "git clone https://github.com/john30/ebusd-configuration.git"
    git clone https://github.com/john30/ebusd-configuration.git
  5. Create folder "/etc/ebusd/" using "sudo mkdir /etc/ebusd/"
    sudo mkdir /etc/ebusd/
  6. Change to directory using "cd /etc/ebusd"
    cd /etc/ebusd
  7. Copy over config files to this folder using "cp /home/pi/ebus-configs/ebusd-configuration/ebusd-2.x.x/de/* /etc/ebusd/"
    cp /home/pi/ebus-configs/ebusd-configuration/ebusd-2.x.x/de/* /etc/ebusd/
  8. Reboot RPI (might not be necessary)
  9. Start eBusd service using "service ebusd start"
    For autostart:
    Once: "sudo update-rc.d ebusd defaults",
    then to activate or deactive autostart: "update-rc.d ebusd enable" or "update-rc.d ebusd disable"
service ebusd start
sudo update-rc.d ebusd defaults
update-rc.d ebusd enable
update-rc.d ebusd disable
  1. Check eBus working properly using "ebusctl s"
    Result should look something like this:
pi@ebus-rpi:/etc/ebusd $ ebusctl s
signal acquired, 35 symbols/sec (98 max), 8 masters
  1. Run full scan of device on the bus (not to confuse with scanconfig) using "ebusctl scan full"
    ebusctl scan full
  2. Wait a little for scan to complete (if you are to eager and proceed, there will be a message stating "scan still in progress")
  3. Show results of scan using "ebusctl scan result"
    Results could look something like this:
pi@ebus-rpi:/etc/ebusd $ ebusctl scan result
08;Kromschroeder;  3B ;
0c;Kromschroeder;  ;0204;-
15;Kromschroeder;  ;0204;-
35;Kromschroeder;  ;0204;-
75;Kromschroeder;  ;0204;-
76;Kromschroeder;  ;0227;-
f6;Kromschroeder;  ;0204;-
  1. Get info from eBus daemon using "ebusctl i".
    Results could look something like this:
    (And if I understood @john30 correctly, the "error: ERR: argument value out of valid range" is the reason, why scanconfig does not work properly)
pi@ebus-rpi:/etc/ebusd $ ebusctl i
version: ebusd 21.2.v21.2
update check: OK, broadcast.csv: different version available
signal: acquired
symbol rate: 22
max symbol rate: 98
min arbitration micros: 6
max arbitration micros: 48
min symbol latency: 10
max symbol latency: 28
reconnects: 0
masters: 8
messages: 63
conditional: 0
poll: 0
update: 6
address 03: master #11
address 07: master #16
address 08: slave #11, scanned "MF=Kromschroeder;ID=  3B ;SW=" error: ERR: argument value out of valid range
address 0c: slave #16, scanned "MF=Kromschroeder;ID=  ;SW=0204;HW=-"
address 10: master #2
address 15: slave #2, scanned "MF=Kromschroeder;ID=  ;SW=0204;HW=-"
address 30: master #3
address 31: master #8, ebusd
address 35: slave #3, scanned "MF=Kromschroeder;ID=  ;SW=0204;HW=-"
address 36: slave #8, ebusd
address 70: master #4
address 71: master #9
address 75: slave #4, scanned "MF=Kromschroeder;ID=  ;SW=0204;HW=-"
address 76: slave #9, scanned "MF=Kromschroeder;ID=  ;SW=0227;HW=-"
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=  ;SW=0204;HW=-"
  1. Try to read a value from the bus, for example the "betrd" broadcast ("Betriebsdaten" - Operation Info) using "ebusctl r betrd".
    Result could look something like this:
pi@ebus-rpi:/etc/ebusd $ ebusctl r betrd
1;00;-;36.0;-;53;15
  1. Look at what you can read with the loaded config using "ebusctl f -F name,comment":
    Results could look something like this:
pi@ebus-rpi:/etc/ebusd $ ebusctl f -F name,comment
betrd,Betriebsdaten des Feuerungsautomaten an den Regler
datetime,Datum/Uhrzeit
error,Fehlernachricht
ident,Identifikation
ident,Identifikation
signoflife,Lebenszeichen
sollw,Sollwertübertragung des Reglers an andere Regler
hg01,HG 01 - Hysterese Vorlauftemperatur
hg02,HG 02 - Untere Geblaesedrehzahl
hg03,HG 03 - Obere Geblaesedrehzahl Warmwasser
hg04,HG 04 - Obere Geblaesedrehzahl Heizung
hg06,HG 06 - Heizkreispumpenbetriebsart
hg07,HG 07 - Heizkreispumpennachlauf
hg08,HG 08 - Maximale Vorlaufsolltemperatur
hg09,HG 09 - Taktsperre
hg10,HG 10 - eBus-Adresse
hg11,HG 11 - Warmwasserschnellstart
hg12,HG 12 - Gasart
hg15,HG 15 - Speicherhysterese
hg16,HG 16 - Pumpenleistung HK minimal
hg17,HG 17 - Pumpenleistung HK maximal
hg21,HG 21 - Kesselminimaltemperatur
hg22,HG 22 - Kesselmaximaltemperatur
hg73,HG 73 - Io-Istwert
hg74,HG 74 - Geblaesedrehzahl
hg75,HG 75 - Warmwasserdurchsatz
hg90,HG 90 - Brennerbetriebsstunden
hg91,HG 91 - Brennerstarts
hg9x,HG 9x - Netzbetriebsstunden
pwm_pumpe,PWM Pumpe
ruecklauf_ist,Ruecklauf Ist-Temperatur
vorlauf_ist,Vorlauf Istwert
vorlauf_soll,Vorlauf Sollwert
warmwasser_ist,Warmwasser Ist-Temperatur
warmwasser_soll,Warmwasser Solltemperatur
eeprom,EEPROM Daten lesen
ram,RAM Daten lesen
,
,
,
,
,
,
,

  1. Read other parameters as listed in the documents in this folder: https://github.com/john30/ebusd-configuration/tree/master/ebusd-2.x.x/de/wolf, for example like this (for different language use different path in step 22):
pi@ebus-rpi:/etc/ebusd $ ebusctl r betrd
1;00;-;36.0;-;53;15

pi@ebus-rpi:/etc/ebusd $ ^C
pi@ebus-rpi:/etc/ebusd $ ebusctl r betrd
1;00;-;36.0;-;53;15

pi@ebus-rpi:/etc/ebusd $ ebusctl r warmwasser_ist
53.0

pi@ebus-rpi:/etc/ebusd $ ebusctl r warmwasser_soll
45.0

pi@ebus-rpi:/etc/ebusd $ ebusctl r vorlauf_ist
36.0

pi@ebus-rpi:/etc/ebusd $ ebusctl r vorlauf_soll
31.0

pi@ebus-rpi:/etc/ebusd $ ebusctl r pwm_pumpe
20
  1. Enjoy eBus!

=======================

Questions

Now, onto my actual question(s):

Why are there no solar values showing up from the SM-1?
There is the "50.csv" file but that states those values as "w" (Write).
Changing to "r" (Read) puts them in the list of readable as per config (see 31.), but reads timeout (would have been to easy..)
The message show up at the adapter, but the config isn't sufficient to alow the ebusd to decode them:

2021-03-28 13:40:42.547 [update notice] received update-read broadcast sollw QQ=f1: 31.398;10.301;0;00;45.000
2021-03-28 13:40:44.530 [update notice] received unknown BC cmd: 71fe501710e4659503530300800080008000800080
>> unknown BC > SM-1

2021-03-28 13:40:47.230 [update notice] received write feuerung betrd QQ=10: Brauchwasser_Heizen;6;31.38;-;-;45.0;-
2021-03-28 13:40:47.519 [update notice] received update-read broadcast betrd QQ=f1: 1;00;-;36.0;-;53;15
2021-03-28 13:40:48.166 [update notice] received unknown BC cmd: 71fe50230908620900005d010000
>> unknown BC > SM-1
2021-03-28 13:40:52.209 [update notice] received write feuerung sollw QQ=10: 31.398;15.000;-;01;45.000
2021-03-28 13:40:52.499 [update notice] received update-read broadcast sollw QQ=f1: 31.398;10.301;0;00;45.000
2021-03-28 13:40:54.015 [update notice] received update-read broadcast betrd QQ=03: 0;40;0;36.0;35;53;15
2021-03-28 13:40:57.164 [update notice] received write feuerung betrd QQ=10: Brauchwasser_Heizen;Kesselpumpeaus;31.38;-;-;45.0;-
2021-03-28 13:40:57.452 [update notice] received update-read broadcast betrd QQ=f1: 1;00;-;36.0;-;53;15
2021-03-28 13:40:59.519 [update notice] received unknown BC cmd: 71fe50180e0080008000800080008000800000
>> unknown BC > SM-1
2021-03-28 13:41:02.116 [update notice] received write feuerung sollw QQ=10: 31.398;15.000;-;01;45.000
2021-03-28 13:41:02.406 [update notice] received update-read broadcast sollw QQ=f1: 31.398;10.301;0;00;45.000
2021-03-28 13:41:06.033 [update notice] received unknown MM cmd: 03f1080008001f000f8002002d
2021-03-28 13:41:07.109 [update notice] received write feuerung betrd QQ=10: Brauchwasser_Heizen;Verbraucheraus;31.38;-;-;45.0;-
2021-03-28 13:41:07.398 [update notice] received update-read broadcast betrd QQ=f1: 1;00;-;36.0;-;53;15
2021-03-28 13:41:12.066 [update notice] received write feuerung sollw QQ=10: 31.398;15.000;-;01;45.000
2021-03-28 13:41:12.354 [update notice] received update-read broadcast sollw QQ=f1: 31.398;10.301;0;00;45.000
2021-03-28 13:41:14.151 [update notice] received unknown BC cmd: 71fe501710e4659b03530300800080008000800080
>> unknown BC > SM-1
2021-03-28 13:41:15.539 [update notice] received unknown BC cmd: 71fe501710e465a203530300800080008000800080
>> unknown BC > SM-1
2021-03-28 13:41:16.091 [update notice] received unknown MM cmd: 30715023094c660000005d010000
2021-03-28 13:41:16.417 [update notice] received unknown MM cmd: 3071502309b01300f4015d010000
2021-03-28 13:41:16.746 [update notice] received unknown MM cmd: 3071502309b8720000005d010000
2021-03-28 13:41:17.049 [update notice] received write feuerung betrd QQ=10: Brauchwasser_Heizen;6;31.38;-;-;45.0;-
2021-03-28 13:41:17.338 [update notice] received update-read broadcast betrd QQ=f1: 1;00;-;36.0;-;53;15
2021-03-28 13:41:18.573 [update notice] received unknown BC cmd: 71fe50230908620900005d010000
>> unknown BC > SM-1

As per this link somewhen / somehow this ussed to work with these config files: https://forum.fhem.de/index.php?topic=64039.0
But when I try "ebusctl r solar kollektortemp" or "ebusctl r solar wwsolartemp" or "ebusctl r solar pumpe", I get an error:

pi@ebus-rpi:/etc/ebusd $ ebusctl r solar kollektortemp
ERR: element not found

Could anyone give me a pointer as to how to get those values decoded as well again?
I don't think I need to do "Creating new message definition files" (https://github.com/john30/ebusd/wiki/HowTos#creating-new-message-definition-files), since the definitions are there, but not working properly... but I might be wrong..
Found: #100
But not sure, why this is required since it worked before.. Will try it out tonight...

And second question:
These values (or some of them) should go into a database for logging and plotting... (Grafana und InfluxDB)
Is the best way to poll for data from the ebus daemon at specific intervals or can I register to an event that triggers once a broadcast is received (for all data broadcasted)? And is there any work in this direction in Python that someone is aware of?

Thanks !

Cheers
Niels Göran

@ngblume ngblume changed the title [HOWTO] Wolf CGB-11, SM-1 and eBUs adapter 3 [HOWTO] Wolf CGB-11, SM-1 and eBus adapter 3 Mar 28, 2021
@bdariusb
Copy link

bdariusb commented Oct 1, 2021

is one able to change the field names in the config files?

@john30
Copy link
Owner

john30 commented Oct 3, 2021

sure. each field may have a name associated with it in the columns titles "field..."

@john30 john30 added the question label Oct 3, 2021
@ngblume
Copy link
Author

ngblume commented Oct 4, 2021

Any response to the question, why no solar data shows up?

@bdariusb
Copy link

bdariusb commented Oct 4, 2021

you don't have the fields defined that you are querying, e.g. ebusctl r solar kollektortemp
Basically all you can query is listed in ebusctl f -F name,comment

Any response to the question, why no solar data shows up?

@bdariusb
Copy link

bdariusb commented Oct 4, 2021

you can define a field with read command but instead of field type r use r[1-9], e.g. r3. This will poll the field values with priority 3 (more on that in the docs)

And second question:

@teeceeell
Copy link

I get stuck with:
ebusct scan full

It's getting stuck with:
1 scan(s) still running

ebusctl i brings this:
root@loxberry:/etc/ebusd# ebusctl i
version: ebusd 21.3.v21.3
device: /dev/ttyAMA0, enhanced
signal: acquired
symbol rate: 48
max symbol rate: 189
reconnects: 0
masters: 1
messages: 56
conditional: 0
poll: 0
update: 6
address 31: master #8, ebusd
address 36: slave #8, ebusd

Any ideas?

@roentgenauge
Copy link

@ngblume Thanks a lot for your detailled step by step description.
I have a Wolf CGB-11 and can follow you until step 29.
But starting with step 30 my system does not give any result on any named values (like betrd).
I'm using ebusd 23.2 on an raspi 3b with the eBus Adapter connected via WLAN to the raspi.

ebusctrl f gives
broadcast datetime = -;13:11:10;-.-.-
broadcast error = E000
broadcast id = no data stored
broadcast id = no data stored
broadcast signoflife = no data stored
memory eeprom = no data stored
memory ram = no data stored
scan.08 = Kromschroeder; 3 ;0935;5130
scan.15 = Kromschroeder; ;0204;-
scan.35 = Kromschroeder; ;0204;-
scan.75 = Kromschroeder; ;0204;-
scan.f6 = Kromschroeder; ;0204;-

Any idea where to look or go ahead?

@ngblume
Copy link
Author

ngblume commented Aug 22, 2023

hm.. very long time ago....

Suggestion:

  1. Can you run "ebusctl i" and post?
  2. Can you run "ebusctl f -F name,comment" and post?
    If you see any labels listed by "ebusctl f -F name,comment", those labels should be readible by "ebusctl r ZZZ"...
    Since the labels are defined per the config files (i.e. https://github.com/john30/ebusd-configuration/blob/master/ebusd-2.x.x/de/wolf/), those mapped in the config files, should be readable.

It appears to me, that I might have made some incorrect assumptions in my original post:

  1. the read command utilizes a class and a name of the parameter, like "ebusctl r solar kollektortemp".. Not sure what actually made "ebusctl r betrd" work
  2. Maybe the name of the config is incorrect, since 50 is in hex 0x32, but the scan showed a device, presumably the SM-1, with address 0x35 (if I interpreted that correctly...), which would make it 53.csv (maybe)

@MacvonUnruh
Copy link

MacvonUnruh commented Feb 12, 2024

Hallo,
ich habe eine neues Bedienmodul an meine Mehrfamilienhaus-Gastherme (Wolf) bekommen und versuche dieses über den ebus auszulesen.
Habe ein Raspi-Zero2 mit eBUS Adapter Shield v5
Anschluss und Konfiguration passt soweit. Ich bekomme auch Daten, kann sie nur nicht "Identifizieren"


2024-02-12` 02:15:45.690 [bus notice] device status: transport opened
2024-02-12 02:15:45.748 [main notice] ebusd 23.3.23.3 started on device: /dev/ttyAMA0, serial high speed, enhanced
2024-02-12 02:15:45.784 [main error] error reading config files from /etc/ebusd/: ERR: element not found, last error: 08.csv:3: ERR: element not found, field type TEMP in field 2
2024-02-12 02:15:45.785 [bus notice] bus started with own address 31/36
2024-02-12 02:15:45.785 [bus error] device status: missing enhanced byte 2
2024-02-12 02:15:45.785 [bus error] device status: unexpected enhanced byte 2
2024-02-12 02:15:45.785 [bus notice] signal acquired
2024-02-12 02:15:45.857 [bus notice] device status: reset, supports info
2024-02-12 02:15:45.920 [bus notice] device status: extra info: firmware 8.1[4106].1[4106], jumpers 0x03
2024-02-12 02:15:46.959 [bus notice] new master 10, master count 2
2024-02-12 02:15:46.976 [bus notice] new master 03, master count 3
2024-02-12 02:15:46.976 [update notice] received unknown MM cmd: 1003080008331900088000000a
2024-02-12 02:15:47.291 [bus notice] new master f1, master count 4
2024-02-12 02:15:47.291 [update notice] received unknown BC cmd: f1fe080008331900080000000a
2024-02-12 02:15:47.657 [update notice] received unknown BC cmd: f1fe50230990d20100005d010000
2024-02-12 02:15:48.024 [update notice] received unknown BC cmd: f1fe502309f07e0101005d010000
2024-02-12 02:15:48.925 [update notice] received unknown BC cmd: 03fe050308010058646ad82d08
2024-02-12 02:15:51.933 [update notice] received unknown MM cmd: 1003050709aa0693010080ff14ff
2024-02-12 02:15:52.249 [update notice] received unknown BC cmd: f1fe050308010110ff6aff2d08
2024-02-12 02:15:55.785 [main notice] found messages: 0 (0 conditional on 0 conditions, 0 poll, 0 update)
2024-02-12 02:15:56.887 [update notice] received unknown MM cmd: 1003080008331900088000000a
2024-02-12 02:15:57.202 [update notice] received unknown BC cmd: f1fe080008331900080000000a
2024-02-12 02:15:57.568 [update notice] received unknown BC cmd: f1fe50230990d20100005d010000
2024-02-12 02:15:57.935 [update notice] received unknown BC cmd: f1fe502309f07e0101005d010000
2024-02-12 02:15:58.846 [bus notice] new master 30, master count 5
2024-02-12 02:15:58.846 [update notice] received unknown BC cmd: 30fe070009008010170212020124
2024-02-12 02:15:59.060 [update notice] received unknown MM cmd: 03f108000800324d080002000a
2024-02-12 02:16:01.825 [update notice] received unknown MM cmd: 1003050709aa0193010080ff14ff
2024-02-12 02:16:02.140 [update notice] received unknown BC cmd: f1fe050308010110ff6aff2d08
2024-02-12 02:16:06.779 [update notice] received unknown MM cmd: 1003080008331900088000000a
2024-02-12 02:16:07.094 [update notice] received unknown BC cmd: f1fe080008331900080000000a
2024-02-12 02:16:07.460 [update notice] received unknown BC cmd: f1fe50230990d20100005d010000
2024-02-12 02:16:07.826 [update notice] received unknown BC cmd: f1fe502309f07e0101005d010000
2024-02-12 02:16:08.678 [update notice] received unknown BC cmd: 03fe050308010058646dd82d08
2024-02-12 02:16:11.736 [update notice] received unknown MM cmd: 1003050709aa0393010080ff14ff


ebusctl i
version: ebusd 23.3.23.3
update check: OK
device: /dev/ttyAMA0, serial high speed, enhanced, firmware 8.1[4106].1[4106]
access: *
signal: acquired
symbol rate: 34
max symbol rate: 244
min arbitration micros: 4
max arbitration micros: 18
min symbol latency: 4
max symbol latency: 9
reconnects: 0
masters: 7
messages: 6
conditional: 0
poll: 0
update: 0
address 03: master #11
address 07: master #16
address 08: slave #11, scanned "MF=Kromschroeder;ID= ;SW=0230;HW=-"
address 0c: slave #16, scanned "MF=Kromschroeder;ID= ;SW=0204;HW=-"
address 10: master #2
address 15: slave #2, scanned "MF=Kromschroeder;ID= ;SW=0204;HW=-"
address 30: master #3
address 31: master #8, ebusd
address 35: slave #3, scanned "MF=Kromschroeder;ID= ;SW=0204;HW=-"
address 36: slave #8, ebusd, scanning
address 70: master #4
address 75: slave #4, scanned "MF=Kromschroeder;ID= ;SW=0204;HW=-"
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID= ;SW=0204;HW=-"


ebusctl f -F name,comment
,
,
,
,
,
,

@leonundjulie
Copy link

Hi. Great description! I followed the way defined in the opening and in consequence I am able to read the fires from my WOLF gas heating system, however, just in task 22 it needs a small correction. The correct command is cp -r /home/pi/ebus-configs/ebusd-configuration/ebusd-2.x.x/de/* /etc/ebusd/ … the “-r” was missing.

Next task: to get the data via MQTT into my iOBroker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants