Skip to content
This repository has been archived by the owner on Oct 4, 2021. It is now read-only.

Disable boiler messages in console and MQTT, if no boiler is connected. #81

Closed
lobocobra opened this issue Mar 26, 2019 · 8 comments
Closed
Labels
enhancement New feature or request

Comments

@lobocobra
Copy link

Referring to closed topic #65

If you do not have a boiler connected to the heating, it would be nice, if the MQTT messages and the console messages for the boiler are not active.

As proposed by you to unset the Boiler_type (value 0x00) the console and MQTT displaying could be prevented.

@lobocobra lobocobra added the enhancement New feature or request label Mar 26, 2019
@proddy
Copy link
Collaborator

proddy commented Mar 29, 2019

Thinking about this, there must be a controller or something that is the UBA Master. In your case which device is this and what is heating up your floor heating?

@lobocobra
Copy link
Author

My floor-heating is connected to heating-circuit 2. I saw it even written in the manual, that floor-heatings are always HC2.
=> What I believe and see in the admin menu of the heating, is that heating-circuit 1 is prepared for a potential boiler, but not activated.

I will check in UBA master if I can read out something usefull, in order to know if a boiler is actually there or not.

@lobocobra
Copy link
Author

lobocobra commented Apr 14, 2019

Hey @proddy
I am stuck in the code :(. I need to extract data beyond the 27 bytes, which are red with thermostat read 47 I successfully added a section that reads in A5 (so I guess I understood the code), but failed to extent reading 47 position 36.
=> I tried to extend the variable in ems.h as follows: #define EMS_MAX_TELEGRAM_LENGTH 48

WORKS: EMS_Thermostat.roomoffset         = _toByte(06); // read  offset temp at min outside temp send 0b 90 47 06 01
does not work: EMS_Thermostat.maxvorlauf         = _toByte(35); // read max temp send 0b 90 47 23 01
does not work: EMS_Thermostat.auslegungstemp     = _toByte(36); // read max temp at min outside temp send 0b 90 47 24 01 

Following the code I see no reason why it would not show in the telegram more than 27bytes.
=> Has this to do with the EMS BUS itself? I understood that this value includes CRC&etc.

I need to understand this in order to solve the topic here.

@proddy
Copy link
Collaborator

proddy commented Apr 14, 2019

I limit it to 32 bytes as this was the max for my EMS bus. You can experiment by receiving more data by changing first in
Line 25 in ems.h. The EMS_MAX_TELEGRAM_LENGTH

if that doesn't work then we'll need to adjust the UART driver, so line 113 in emsuart.cpp change the 31 to something larger (EMS_MAX_TELEGRAM_LENGTH - 1 typically).

@lobocobra
Copy link
Author

Hi @proddy

Many thanks for your fast response.

The 2nd hint was exactly what I was looking for, but it seems that my bus is also limited at 32 bytes.
=> I changed both lines of codes but it did not help, but I left the changes as the EMS_MAX_TELEGRAM_LENGTH - 1 makes sense anyway :-)

So in conclusion I do either need to adaptvoid _process_RC35Set(uint8_t src, uint8_t * data, uint8_t length) or I write a new function that responds on read requets of 5 bytes length (that would make work also my MWTT RAW thing ).

If it works all I will ask if, the changes make sense for the community. I extend the heating control in a way that my house optimizes the temp itself. For that I need to read more values from the heating.

@proddy
Copy link
Collaborator

proddy commented Apr 14, 2019

yes the best way is to read it in two 32 byte chunks, by setting the offset of the first to 0 and the 2nd to 31 for example

@lobocobra
Copy link
Author

lobocobra commented Apr 15, 2019

I have now a fully working version of the code and added following variables (they can be changed/red by MQTT):

  • ausschalthysterese
  • einschalthysterese
  • antipendelzeit
  • kesselpumennachlauf
  • maxvorlauf
  • auslegungstemp
  • roomoffset
  • minoutsidetemp
  • housetype
  • tempaveragebool

While all is working for a RC35, I must admit. that I had to hack the code and proddy will not be able to accept it the way I did it. I would be ready to invest time, if someone is really interested (as I was) to have those values. But making it nicely would mean to adapt the code of proddy strongly.
=> Thus it makes only sense to adapt the code if more than a handfull want the features too (which I doubt).
=> The version I made I can easily update for my usage from time to time.
=> Of course you can also use it if you have a RC35 with heating circuit 2 and you want to be able to change all important values of your heating remotely.

https://github.com/lobocobra/EMS-ESP-HC2/tree/dev
=> If I hear from nobody that you need that code, I will probably simply close this topic and keep the code up to date for me and some, that might want to use it.

@lobocobra
Copy link
Author

closed as it is solved for me and it seems not to be an issue for the community

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants