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

WOLF BM-2: strategy to find a specific read command #460

Closed
bdariusb opened this issue Oct 18, 2021 · 8 comments
Closed

WOLF BM-2: strategy to find a specific read command #460

bdariusb opened this issue Oct 18, 2021 · 8 comments
Labels

Comments

@bdariusb
Copy link

In my system the BM-2 controller is a slave at address 35. At the moment I only know 2 of the read commands:
CC7427 - heating mode
CC7527 - dhw mode
And I need a third one - to find ventilation mode. So thinking about the options to find it, supposedly knowing what value too look for - 0, 1, 2 or 3.
How about executing a shell script with a while loop in which I execute e.g. ebusctl hex 35502203CC7500 and just increase the command address on each iteration?
Could that have any side effects on the ebus itself or the appliances connected?

@john30
Copy link
Owner

john30 commented Nov 6, 2021

yes of course, unless you'd know that the PBSB 5022 is only a "read" kind of message and not used to adjust some settings

@bdariusb
Copy link
Author

bdariusb commented Jan 17, 2022

I thought I will post an update:
I managed to find the correct command to read the status, but that's pretty much it.
Some example definitions would be:
r,bm2,ventilation_mode,Ventilation mode,,35,5022,CC8F27,ventilation_mode,,UCH,0x00=Off;0x01=Auto;0x02=Reduced;0x03=Nominal;0x04=MoistureProtection,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
w,bm2,ventilation_mode,Ventilation mode,,30,5023,CC8F27,ventilation_mode,,UCH,0x00=Off;0x01=Auto;0x02=Reduced;0x03=Nominal;0x04=MoistureProtection,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
The write command, however, does not have any effect on the controller (although accepted). There is an official ethernet adapter by Wolf (Wolf Ism8i). It triggers the BM2 to go into a special mode and then you can control it. I'd like to think that it triggers some sequence or just issues a command to enter that mode, or so is my impression.

@zivillian
Copy link

I may have some useful input, please excuse if it is not helpful. I know very little to nothing about ebus, but I've "looked closely" at the Wolf Smartset application (and written an ISM to MQTT Adapter).

I've "found" three XML files: DeviceTemplates.xml ConverterTemplates.xml and ParameterTemplates.xml.

DeviceTemplate.xml contains all devices and for each device a list of used / supported parameters.

ParameterTemplates.xml contains all the metadata like name, type and value list for each parameter. This is linked to DeviceTemplate.xml via the PTID

ConverterTemplates.xml contains the type and telegram numbers for ebus. This is linked to ParameterTemplates.xml via CTID == PTID

If I'm correct the telegram numbers must be converted to hex in little endian and prefix with CC to get the read command.

The "sequence" is most likely a Converter which map values to multiple telegram numbers like the NumericConverter32Template which uses two telegram numbers to send an unsigned 32bit interger.

@bdariusb
Copy link
Author

bdariusb commented Feb 6, 2022

Another update:
seems i have just used the wrong type for the write commands, should have been unsigned int, as in:
w,bm2,ventilation_mode,Ventilation mode,,30,5023,CC8F27,ventilation_mode,,UIN,0=Off;1=Auto;2=Reduced;3=Normal;4=MoistureProtection,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, This command sets the BM2 ventilation mode, so seems that it does not need to be switched to 'external control mode' after all.

I may have some useful input, please excuse if it is not helpful. I know very little to nothing about ebus, but I've "looked closely" at the Wolf Smartset application (and written an ISM to MQTT Adapter).

I've "found" three XML files: DeviceTemplates.xml ConverterTemplates.xml and ParameterTemplates.xml.

DeviceTemplate.xml contains all devices and for each device a list of used / supported parameters.

ParameterTemplates.xml contains all the metadata like name, type and value list for each parameter. This is linked to DeviceTemplate.xml via the PTID

ConverterTemplates.xml contains the type and telegram numbers for ebus. This is linked to ParameterTemplates.xml via CTID == PTID

If I'm correct the telegram numbers must be converted to hex in little endian and prefix with CC to get the read command.

The "sequence" is most likely a Converter which map values to multiple telegram numbers like the NumericConverter32Template which uses two telegram numbers to send an unsigned 32bit interger.

@zivillian That looks really promising, thanks 👍 I will take a deeper look when I have a chance.
Btw is there an english version of these resource files?

@szurr
Copy link

szurr commented Feb 7, 2022

Please share if you discover something. Option for away mode will be most useful for beginning but right now I struggle with connection with ebus... Another thing to do 😁

@zivillian
Copy link

Btw is there an english version of these resource files?

There is an english version of the Smartset App, but as far as I can tell, it also contains the german XML files. If I'm correct the UI uses the text.culture.{lang}.js files located at wwwroot\js\localized-text inside the installer to translate the visible values like "1x Warmwasser":"1x DHW"

@bdariusb
Copy link
Author

zivillian you were right buddy, for example the command I was searching for (CC8F27) to control the ventilation mode is telegram number 10127 which in turn is 8F27 in little endian

@john30
Copy link
Owner

john30 commented Nov 13, 2022

closed due to inactivity

@john30 john30 closed this as completed Nov 13, 2022
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

4 participants