-
-
Notifications
You must be signed in to change notification settings - Fork 114
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
EMS-ESP only seeing Junkers boiler but neither the JUNKERS SAS Hybrid Heat Pump nor the FW200 #459
Comments
Seems you have a cascade module with heatpump and boiler connected on one side and thermostat on the other. Right? You have to connect ems-esp to the side of the thermostat. |
The heat pump itself has a controller. The FW200 is connected to that controller as well as the boiler bus. So it seems to be that the Hybrid controller is the center of action, indeed. I'll try to reconnect to the controller directly and will let you know the result. |
Then the cascade is integrated in heatpump. |
Reconnected to the Heat Pump controller results in a different, but nevertheless unsatisfying result. Here's the changed config output: { Here the result from another deep scan in this config: And again ... lots of unknown traffic: |
Ok, looks good. You have your boiler on0x70: I'll add this to database as heatpump. Please check with this software. |
Wow, that was quick ... much better! I can see all the gas related boiler parameters and the temperature related FW200 settings now, which is great! Any chance to get these parameters showing up as well. I am happy to support this where and however possible. The new device setup after the FW change: { Output of show values: Much less unknown traffic on the bus: |
If you can change these parameters on FW200, there is a message to the boiler/pump/controller containing the parameter. You have to log the messages and change the parameter on the thermostat. After this change there will be a message The unknown you already logged: If you need help with the logs, please attach as txt file, it's easier to search and edit. And add the description what (name) was changed in what order and to what value. |
O.K. ... will do so and attach the results as txt ... watch this space ... |
Here is a block of a "watch 10" log where I changed the gas/power cost ratio factor from 3,7 to 3,6 and back to 3,7 in the FW200. Are you able to locate where the setting was changed in the log? 000+01:36:05.987 N 36: [emsesp] Thermostat(0x10) <- Boiler(0x08), Version(0x02), data: 0A |
Looks like offset 14 in Telegram 0xBB, a bit uncommon that the thermostat send 6 bytes, maybe there are some associated settings. ratio 3.7 = 0x25 with factor 10, ratio 3.6 = 0x24:
Can you check in terminal |
This is the output from read 8 BB: Setting on factor 3,7: ems-esp:$ read 8 BB Seems to be not more in it ... Setting on Factor 3,0: ems-esp:$ read 8 BB Seems to be that the 25, respective 1E indeed do reflect it ... with a factor 10 ... Let me do some more parameter changes to the hybrid system and see if I find some more interesting bits to add to EMS-ESP ... I begin to understand the telegram coding ... |
👍 |
Here's what happens when I switch the FW200 settings as follows ... Just a first try to find out if this reverse engineering may work ... there are several further parameter possibilities with e.g. CO2 optimized setup etc.
########## ems-esp:$ watch 10 ########## This looks like the first value switch at 1) This one I can't interpret properly ... but it might be the change under 2) This one I don't know at all: Here is the change to 10 degrees under 3) Here the change to 15 degrees uder 4) Again, no clue what this might be: I assume this is changing back to cost optimization under 5) with the standard value of 3,3 And here finally the switching back to the factor of 3,7 under 6) Makes sense?! |
The first value 03 (offset 12) is the mode switch, 03 = fixed temp, 02 = cost opt. (from last change) could be a switch of bit 0? Or there are mode options in this mode. Youre right offset 13 is switchover temperature in full degrees.
This a command from thermostat to boiler to set this calculated flowtemp. We have seen this in your first post.
Yes, go on. |
Next log with comments inline: What I did:
In summary to me it looks that the full data string at 0xBB is setup as follows:
Relevant data starting after 0xFF, thereby data offset should be 12:
Bit 19 and 20 are relevant for all modes with Bit 19 reflecting the delay setting for the Boiler to support the Heatpump and Bit 20 setting the Temperature difference of when this will happen. Bit 14 seems to be the handover Temp for the "Outside Temp handover" mode . Bit 18 ... have not seen that changing, yet. ems-esp:$ watch 10 ##### 000+13:38:19.245 N 17: [emsesp] Thermostat(0x10) -> All(0x00), RCTime(0x06), data: 16 04 0C 09 1A 15 06 00 ##### ##### 000+13:38:42.490 N 24: [emsesp] Thermostat(0x10) <- Boiler(0x08), UBAParameters(0x16), data: 02 ##### ##### 000+13:39:02.630 N 29: [emsesp] Me(0x0B) <- Thermostat(0x10), JunkersMonitor(0x016F), data: 19 ##### 000+13:39:31.121 N 41: [emsesp] Thermostat(0x10) <- Boiler(0x08), Version(0x02), data: 0A ##### 000+13:39:43.251 N 44: [emsesp] Thermostat(0x10) <- Boiler(0x08), UBAParameters(0x16), data: 02 ##### 000+13:40:19.467 N 53: [emsesp] Thermostat(0x10) -> All(0x00), RCTime(0x06), data: 16 04 0C 09 1C 14 06 00 ##### 000+13:40:32.185 N 56: [emsesp] Thermostat(0x10) <- Boiler(0x08), Version(0x02), data: 0A |
Wow, good analysis. Thiis is what i set for testing:
The info shows, that this pump mainly sends HT3 telegrams, not the ems+ heatpump values (all pending):
i've changed the setting to reduce pending handlers and empty entities in custoization, check if now something is missing. |
Thanks! I gave the new build a try ... Found one thing ... I changed the gas price ratio to 3,6 and the HP seems to take that value as the read 8 BB below shows ...
But when physically checking the FW200, it keeps the old facor of 3,7 ... hmmm. ########## The Junkers system should be all HT3 based as of a "friend" from Junkers ... Here some further Infos on the parameter names from the Junkers Manual ... Bit 13 (hybrid_strategy / Hybrid-Control-Strategy) Bit 14 (switchover_temp / Outside-Switchover-Temp) ... goes from -20 degree to +20 degree Bit 19 (delay_boiler_support / Delay-Boiler-Support) ... goes from 5min to 120min ... only positive numbers More to come on the further "still unknown" communication on the bus as soon as I have a bit more time again. |
Another finding with the new ems-esp fw version: Lots of values on the FW200 side are gone now ... { |
Check with The thermostat has not changed, i think it takes a minute to fetch all values. |
The thermostat has a copy: ems-esp:$ read 10 BB and yes, I can set it: ems-esp:# call system send "0B 10 BB 0E 24" and the FW200 after that shows the right value of 3,6! Just to assure ... both are in sync after that: ems-esp:# read 8 bb |
Ok, we have to move reading/writing of these values to thermostat. |
Yes .. just checked ... after a single change to "08 10 BB 0E 26", the Thermostat then instantly syncs the value down to the HP ... ems-esp:# read 10 bb We're getting closer :-) |
Moved the hybrid settings to thermostat, please check. |
@MichaelDvP that document regarding MsgID 187 (BB)hex is updated now. |
Works nicely now with the new version ... I can change the values in ems-esp and they instantly sync into the FW200 Thermostate and in parallel to the HP ... Great job ... Thanks so far ... I'll look into the further parameters as time allows and will now integrate it into my iobroker setup. Is it ok to just keep this thread open to complete the setup? |
Tested for some days now ... works flawlessly as is! |
Question
I yesterday received the EMS-ESP device from BBQKees.
EMS-ESP can see my Junkers boiler correctly, but none of the other devices are showing.
My setup:
E32 Gateway connected to the service jack of the in 2013/2014 built Junkers Cerapur ZSB-14.
Junkers SupraECO SAS Hybrid HSC Heat Pump is installed and in the BUS as well.
FW200 Thermostat is installed in the living room controlling all parameters of the gas heating and the heat pump.
All devices are ok for controlling as of the Production date (e.g. FW200 is FD306)
A regular scan for devices didn't change anything.
A deep scan (via telnet) showed some for me still weired output (see attached screenshots) and an unknown Thermostat.
Any help would be very much appreciated, for me in order to see and control with EMS-ESP via the FW200 and see/control the heat pump as well.
The main use case will be:
I especially want to control the usage distribution between the gas heating and the heat pump via the gas/power price relation once my photovoltaik with batteries is installed and connected to my iobroker and MQTT based home automation.
Would it possibly make a difference to not use the service jack but the direct bus connect at the boiler parallel to the FW200?
I also updated FW to Version 3.4.0.0b11 without any change already ...
Screenshots
Result of the deep scan:
Unknown traffic on the bus:
Result of "read 17 2":
Device information
{
"System": {
"version": "3.4.0b11",
"uptime": "000+14:28:46.699",
"uptime (seconds)": 52126,
"network time": "disconnected",
"freemem": 109,
"reset reason": "Software reset CPU / Software reset CPU",
"temperature sensors": 0
},
"Network": {
"connection": "Ethernet",
"hostname": "ems-esp",
"MAC": "XX:XX:XX:XX:XX:XX",
"IPv4 address": "192.168.1.200/255.255.255.0",
"IPv4 gateway": "192.168.1.254",
"IPv4 nameserver": "192.168.1.254"
},
"Status": {
"bus status": "connected",
"bus protocol": "HT3",
"bus telegrams received (rx)": 298165,
"bus reads (tx)": 5591,
"bus writes (tx)": 0,
"bus incomplete telegrams": 282,
"bus reads failed": 31,
"bus writes failed": 0,
"bus rx line quality": 100,
"bus tx line quality": 100,
"temperature sensors": 0,
"temperature sensor reads": 0,
"temperature sensor fails": 0,
"analog sensors": 0,
"API calls": 2605,
"API fails": 1
},
"Devices": [
{
"type": "Boiler",
"name": "GBx72/Trendline/Cerapur/Greenstar Si/27i",
"device id": "0x08",
"product id": 123,
"version": "06.02",
"entities": 66,
"handlers received": "0x10 0x11 0x15 0x1C 0x18 0x19 0x1A 0x35 0x34 0x2A",
"handlers fetched": "0x14 0x16 0x33 0x26",
"handlers pending": "0xBF 0xC2 0xD1 0xE3 0xE4 0xE5 0xE6 0xE9 0xEA"
},
{
"type": "Thermostat",
"name": "generic thermostat",
"device id": "0x17",
"product id": 0,
"version": "00.00",
"entities": 0,
"handlers pending": "0xA3 0x06 0xA2 0x12 0xB1 0xB0"
},
{
"type": "Controller",
"name": "Controller",
"device id": "0x09",
"product id": 152,
"version": "02.08",
"entities": 0
},
{
"type": "Connect",
"name": "cascade",
"device id": "0x0C",
"product id": 0,
"version": "00.00",
"entities": 0
}
]
}
The text was updated successfully, but these errors were encountered: