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

Manually Controlling Solar Circuit #107

Closed
TheTrueRandom opened this issue Sep 7, 2021 · 7 comments
Closed

Manually Controlling Solar Circuit #107

TheTrueRandom opened this issue Sep 7, 2021 · 7 comments
Labels
question Question about something

Comments

@TheTrueRandom
Copy link

Hi there,

At my home I have a bosch/junkers device equipped with a solar pump (SM200 I suppose).

I do have a switch built in to the solar return pipes to a heat exchanger directly connected to a pool. However the system does not know about this switch. (There is some option to buy from bosch (ms 200) which is supposed to include this switch to the control system but I don't want to buy this expensive device for something I could easily do in software myself).

The issue is that the solar pump modulation is directly based on the temperature of the water tank. If for example the water tank is 55°C and the solar panel is 60°C, the pump would be switched off (too little gain). However in such a case I would like to override the pump and switch the valve to get the temperature to my pool. Also if the water tank reaches 60°C the pump would always be off (which I also cannot figure out how to change 🤔).

When researching I found this project which seems to offer quite some control regarding solar (Example).

Right now I'm reading values (and also changing some) with the HTTP-API exposed by the bosch/junkers device itself. (Example endpoints) Also some solar http endpoints exist already which can be queried. Example:

  • /solarCircuits/sc1/pumpModulation {"id":"/solarCircuits/sc1/pumpModulation","type":"floatValue","writeable":0,"recordable":0,"value":0.0,"unitOfMeasure":"%","state":[{"off":0.0}]}
  • /solarCircuits/sc1/dhwTankTemperature {"id":"/solarCircuits/sc1/dhwTankTemperature","type":"floatValue","writeable":0,"recordable":0,"value":57.1,"unitOfMeasure":"C","state":[{"open":-3276.8},{"short":3276.7}]}

Unfortunately those values are not adjustable.

What I tried so far and works quite good is to physically detach the temperature sensor from the water tank, so the system thinks the temperature is falling and enables the solar pump. So it would work to (physically) emulate the temperature sensor and inject the temperature of the pool when switching the pipe valve.

I wonder if someone has an idea to override the pump modulation or dhwTankTemperature by software? Maybe even by HTTP, which I think should work as the proprietary device (ms 200) also can do it and is not physically connected to the solar device. I have no clue about EMS protocol used in this project.

Thank you

@TheTrueRandom TheTrueRandom added the question Question about something label Sep 7, 2021
@MichaelDvP
Copy link
Contributor

Is it Bosch or Junkers? Junkers call their modules ISM1, ISM2, Bosch MS100, MS200 and Buderus SM10, SM100,, SM200. Function is mainly the same, but Bosch protects its brands by maken them incompatible. Because of this also the state of reverse engineering is different. We can set the maximum tank temperature for all, but the commands for turn on/off differences for Junkers are unknown.

Can you make a little scheme how it is connected, is the extra 3-way-valve manual or electric? I guess it is connected like that:
pool_solar

The maximum tank temperature is normally 60°C to avoid skin burning, if you raise it (max. setting is 90) you should install a thermostatic mixing valve (in german "Brauchwassermischer" for googeling).

Controlling the pump in solar modules is not possible, it is only controller by internal logic, but we can set the paramters for this logic (like tank max. temp). Without knowing exactly your system i suggest: connect the 3-way-valve to a wifi plug, read the tank temperature and if DHW is warm enough (>50/55°C) open the valve. You can also add a temperature sensor to read the pool temperature and open the valve only it if solar reflow is higher than pool. This logic you have to do in your home automation system, emsesp is not a plc, you can't add own logic.

@TheTrueRandom
Copy link
Author

TheTrueRandom commented Sep 8, 2021

Hi @MichaelDvP thank you.
The label on the solar pump reads "AGS10 MS100-2" so I assume it's Bosch? The central heating device is "Condens 9000i W". The installation was done end of last year, so relatively new.
Your scheme looks right, just the 3-way-valve is connected to the solar return pipe.
There is also a thermostatic mixing valve installed.

Do you know how the tank temperature can be increased? When reading all values from the HTTP-Api, I can only find one value at 60°: /dhwCircuits/dhw1/singleChargeSetpoint. I can even increase it but solar will still stop when reaching 60°

connect the 3-way-valve to a wifi plug, read the tank temperature and if DHW is warm enough (>50/55°C) open the valve. You can also add a temperature sensor to read the pool temperature and open the valve only it if solar reflow is higher than pool. This logic you have to do in your home automation system, emsesp is not a plc, you can't add own logic.

That's exactly what I have done already and works perfectly. Just the issue that the solar pump will be off when the water tank reaches 60° (or even will be barely on if it reaches 55° and the solar panel is 65°, Experimenting shows that in this case 100% enable the solar pump (done with physically detaching the sensor) will lead to maximized effectivity when the valve is switched to the pool), so switching the valve will not enable the solar pump. In this case I could override the tank temperature to the temperature of the pool. Do you know how to do that?

@MichaelDvP
Copy link
Contributor

I'm not familiar with the Bosch-API and can not comment it.
But the buffer temperature can be changed in the settings of your control-panel/thermostat. The MS100-manual lists it. If MS100 is compatible with SM100 (buderus), than it also should work with emsesp.

@PhillyGilly
Copy link

  1. I run my Solar to 65C at the bottom of the cylinder which heats the top up to above 60C.
  2. Here are the reported values of on/off delta (times 10 but never mind) in my HA
    image
  3. In my MS200 you can set the delta down to 3C
    image
  4. In line with @bbqkees I don't use my Raspberry PI and ESP32 combo to run anything (apart from table lamps) directly. Instead I monitor in HA and keep the primary config and control in the local equipment. With my SM200 there is an option P see below, but this recommends interfacing the Solar system to a separate pool control system.
    image

@bbqkees
Copy link
Contributor

bbqkees commented Oct 5, 2021

Probably not the best solution but if you want to override the solar pump, you could just add a relay on the pump in parallel with the MS100 so you can turn it on via your home automation independent of what the MS100 is doing.

@Bartekn86
Copy link

Bartekn86 commented Oct 5, 2021

you have wrong settings
pump turn on difference should be 10 degree
pump turn off diference should be 5 degere
max solar temperature should be max temerature that tank can run

after the tank you should have a 3-way valve that reduce temperature to some normal temperature ( 38 degree in my solar instalation)

remember that is a differentil temperature, not the real values

@TheTrueRandom
Copy link
Author

@bbqkees good idea, though I would need to figure out how to do that, as it's not just power on and off (modulation) ?

@emsesp emsesp locked and limited conversation to collaborators Feb 13, 2023
@proddy proddy converted this issue into a discussion Feb 13, 2023
@proddy proddy reopened this Feb 19, 2023
@proddy proddy converted this issue into a discussion Feb 19, 2023
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
question Question about something
Projects
None yet
Development

No branches or pull requests

6 participants