Hacking modulating boilers with fake outdoor sensor

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • thigger
    Automated Home Jr Member
    • Jan 2019
    • 14

    Hacking modulating boilers with fake outdoor sensor

    I've posted about my issues trying to get my E32S (Rinnai/Atag) to work with OpenTherm which it claims to support (though I think it's in the moderation queue). Looking at Dutch forums it may not be possible.
    It got me thinking about alternatives to try to modulate the flow - the boiler allows an external thermometer to be connected and has parameters to control a curve allowing the external thermometer to control the flow temperature (ie so when it's warm outside the flow temperature will be lower as we expect there to be less heat demand). Obviously this isn't quite as good as a genuine opentherm connection.
    The manual contains expected resistance readings for the temperature sensor at different temperatures, and I wondered whether it might be possible to use a digital potentiometer (controlled by arduino/raspberry pi etc) to provide a fake outdoor temperature reading, and thus indirectly control the flow temperature (as the curves to use are also printed in the manual)
    Has anyone tried anything like this? Am I being silly?

    My main issue with this plan is that I have no way of easily knowing what the heat demand is at any given moment - though I gather this can be read from the Evohome protocol as it goes over the air (using HGI80 or a homebrew version).

    I have experience with ESP8266s so I'd intend to try something with one of those, but would be grateful for any suggestions/advice. Obviously if it works I'll publish details! (though it would probably only be relevant to people with modulating boilers that don't support OpenTherm properly/at all)
  • DBMandrake
    Automated Home Legend
    • Sep 2014
    • 2361

    #2
    Originally posted by thigger View Post
    My main issue with this plan is that I have no way of easily knowing what the heat demand is at any given moment - though I gather this can be read from the Evohome protocol as it goes over the air (using HGI80 or a homebrew version).
    If you have a Wifi controller with recent firmware you can see the heat demand being sent to the boiler in the system summary page in the installer menu. That seems to be updated about every 10 seconds so you can just leave it sitting on that page for observation during your testing. The other option is an HGI80 with Domoticz.

    Heat demand is just a 0-100% figure. For BDR91's this is directly used as the TPI duty cycle. For the Opentherm bridge the range is just mapped to a range of flow temperatures. I don't think anyone here has done the work to actually plot the exact mapping between heat demand and flow temperatures the operntherm bridge uses however, but I suspect it is something like 0-100% translating to 30C to 90C, with the upper end of the range (usually) clipped by the flow temperature setting on the boiler.
    Last edited by DBMandrake; 6 January 2019, 11:44 AM.

    Comment

    • thigger
      Automated Home Jr Member
      • Jan 2019
      • 14

      #3
      Cheers - unfortunately I have the older (non-wifi) controller. I'm awaiting a CC1101 radio so I can have a go at making a homebrew HGI80. Does anyone know if it can be done with an ESP8266 module? (most of the guides I've seen use arduino nano or equivalent, but ESP8266 has wifi built in which would be nice. Could always use both I guess!

      I've had a look and it appears a 100k digital potentiometer would cover the entire range from -20C to 100C pretend temperatures (which can be mapped nicely to 90C to 20C flow temperatures by selecting the right heating curve in the boiler). I might have an experiment with just an ESP8266 controlling a digital pot to allow manual control for the moment, before I start looking into trying to estimate demand.

      Comment

      • thigger
        Automated Home Jr Member
        • Jan 2019
        • 14

        #4
        I've now had the opportunity to give my plan a basic test and it works!

        MCP41100 digital potentiometer (with an extra 10k resistor in series to keep the reported temperature range sensible) controlled over SPI by an ESP8266. The only real complication was that I had to tie the resistor to ground, or the boiler started to alarm about sensor failures for its other temperatures.
        I've mapped the outdoor reset curve and can now adjust the boiler's setpoint on the fly by setting the resistance to the point required for the "correct" outdoor temperature required for the boiler setpoint I'm after.

        Next part of the project is to decide how to control the temperatures. I'm still waiting on my CC1101 so I can read heat demand directly, so I'm not quite sure how the HR92 signal operates. I'm wondering whether to target a heat demand of something like 80-99% by increasing the temperature when it's at 100% and decreasing it if it's below 80%. This will be complicated by the fact there's a DHW override on the boiler that sets it straight to maximum temperature when the hot water tank is calling. Suggestions welcome!

        Comment

        • bruce_miranda
          Automated Home Legend
          • Jul 2014
          • 2307

          #5
          does your boiler support any kind of integration. I have done what you are setting out to do. I.e. fool the boiler with an external temperature setting. That was until I found that I could vary the scale my Flow Temp knob max went to, on my boiler using the ebus. So now all I do is alter the max setting that dial will go to, and that in turn allows me to have variable flow temperatures.

          Comment

          • thigger
            Automated Home Jr Member
            • Jan 2019
            • 14

            #6
            It claims to support OpenTherm, but when I spoke to Atag they told me it's such an old version it wouldn't work with the Evohome bridge. In any case, I can now dial up any temperature from 20-90C on my phone (OpenHAB) and the boiler responds nicely. The only question is how to decide what temperature to set - probably based on heat demand read using a CC1101 radio.

            Comment

            • DanD
              Automated Home Ninja
              • Feb 2016
              • 250

              #7
              I don't think there's any pre-written firmware out there for an ESP8266 + CC1101 to decode the Evohome signals so you'll have to modify one of the Atmel ones. In theory, when you've got it working you should be be able to connect it to Domoticz as an 'Evohome via LAN (remote HGI/S80)' device. You should also be able to get the aggregate heat demand info you'll need from either the 'boiler' or 'CH valve' devices that get set-up in Domoticz.

              Dan

              Comment

              • thigger
                Automated Home Jr Member
                • Jan 2019
                • 14

                #8
                I did wonder about sticking the CC1101 onto the ESP, but I have a spare nano clone about so I think I'll put it on there and attach it to the computer running OpenHAB. There's some software that will translate messages onto the MQTT bus for OpenHAB to have a look at (I'm not running Domoticz, though I might look to see if it can be run alongside OpenHAB).

                I don't have any kind of boiler control (the boiler is just triggered from the microswitches on the valves) so I'm not sure if there will be any aggregate heat demand messages floating around my system? (does anyone know?) If not I guess I'll have to listen to the individual radiator calls and try to aggregate it myself somehow (probably just MAX() for the moment). Presumably the HR92s use PID rather than just some kind of proportional opening around their setpoint?

                Comment

                • bruce_miranda
                  Automated Home Legend
                  • Jul 2014
                  • 2307

                  #9
                  Once you can listen to the Evohome messages, the zone valve devices already have the Heat demand aggregated according to the Honeywell algorithms.

                  Comment

                  • DanD
                    Automated Home Ninja
                    • Feb 2016
                    • 250

                    #10
                    Yes, as Bruce has just indicated, the DHW/CH valve devices get created automatically in Domoticz based upon the messages sent between your Evohome controller and the BDR91(s). These devices simply reflect the messages sent from the controller to the BDR91 and Domoticz doesn't do any aggregation, it's all handled by the Evohome controller. The DHW/CH valve devices are just the names given in Domoticz to your BDR91s. Hence, you should be able to capture the same messages via the OpenHAB set-up you described, you'll have to then have to do some coding to decode the messages picked up via your CC1101+Nano as I don't think OpenHAB has any bindings/integration for HGI80/clones, it currently just supports monitoring via your account on the Honeywell server. I don't use OpenHAB though so I may be wrong, but I've seen messages from users requesting it to be implemented within Evohome Binding 2.0.

                    Comment

                    Working...
                    X