Page 1 of 1

Project idea: Digital differential temperature controller ?

Posted: 26 Aug 2018, 20:41
by fjk
Hi folks!

Current state: Idea

Digital differential temperature controller with ESP Easy on Sonoff devices

If this is possible, the digital temperature controller should be used as differential thermostat.

The plan is to configure the differential temperature controller for a heating system with two heating circuits with different losses in water-bearing returns. The difference in loss should be compensated with an auxiliary heater, which the differential temperature controller is then to control.

Components:
- 1 ESP Easy module
- 2 temperature sensors (DS18b20)
- Output: free GPIO with PWM for controlling a DAC/SSR module
- Functional coding: via Rulesets only

Questions:
- What do you think, doable?
- Has anyone built a solution like this yet?
- Does anyone know publicly available sources that could be reused?
- Are there any other hints and recommendations to avoid falling into any traps or reinventing wheels?

Many thanks in advance.

/FJK

Re: Project idea: Digital differential temperature controller ?

Posted: 27 Aug 2018, 00:04
by TD-er
You could try if [name#value] syntax also works in the formula bar of the plugin.

Re: Project idea: Digital differential temperature controller ?

Posted: 27 Aug 2018, 07:31
by fjk
TD-er wrote: 27 Aug 2018, 00:04 You could try if [name#value] syntax also works in the formula bar of the plugin.
I'm sorry, but apparently I didn't quite understand the hint. ;)

Which plugin is meant or how may I understand "formula bar" in this context?

/FJ

Re: Project idea: Digital differential temperature controller ?

Posted: 27 Aug 2018, 08:29
by grovkillen
So you want to output the temperature difference between two temp sensors?

Example:
Temperature1 = 15 degrees
Temperature2 = 40 degrees

TempDiff = Temperature2 - Temperature1 = 40 - 15 = 25 degrees

Is this you idea? If it is you can do it in multiple ways... one way is to do it using formulas as TD-er suggested. Another way is to use Dummy variables. Either way you need to explain more in low level terms. We don't really "care" if you are going to use it to measure water temperature in a heater or if it's the sun light levels in the garage or what ever you may do with it. We "only" care about the math behind it, and if my example mentioned above is what you're trying to do then yes, it's a common use of ESP Easy. :)

Just to be clear, I love your questions and we really like to help. 8-)

Re: Project idea: Digital differential temperature controller ?

Posted: 27 Aug 2018, 09:27
by fjk
I think I got it. ;)

You mean probably https://www.letscontrolit.com/wiki/inde ... velControl and set the target value via "Set Level:", right?

Variable target values, i.e. the measured values of another sensor as target value, obviously cannot be entered.
(see screenshot; it's cuted, limited length)

If this were possible, it would probably solve the problem in the sense of a two-point control.

In addition to "On/Off", the GPIO would also have to accept "PWM" for stepless control.

Ingenious approach on your part, but not yet fully supported. ;)

Any chance to get that missing elements implemented? Whom to ask as I'm not a developer ... :( ?

Screenshot 2018-08-27 09.03.16.png
Screenshot 2018-08-27 09.03.16.png (86.99 KiB) Viewed 9111 times

/FJ

Re: Project idea: Digital differential temperature controller ?

Posted: 28 Aug 2018, 22:32
by fjk
grovkillen wrote: 27 Aug 2018, 08:29 So you want to output the temperature difference between two temp sensors?

Example:
Temperature1 = 15 degrees
Temperature2 = 40 degrees

TempDiff = Temperature2 - Temperature1 = 40 - 15 = 25 degrees

Is this you idea? If it is you can do it in multiple ways... one way is to do it using formulas as TD-er suggested. Another way is to use Dummy variables. Either way you need to explain more in low level terms. We don't really "care" if you are going to use it to measure water temperature in a heater or if it's the sun light levels in the garage or what ever you may do with it. We "only" care about the math behind it, and if my example mentioned above is what you're trying to do then yes, it's a common use of ESP Easy. :)

Just to be clear, I love your questions and we really like to help. 8-)
The aim is to raise the flow temperature in the second heating circuit, i.e. the one with the higher loss, to such an extent that both return flow temperatures are equal.

For this it is necessary to take the return temperature of the first heating circuit as the target value. This target temperature also changes over time and depending on weather conditions / season.

Therefore, no fixed target value should be used for "Set Level:" with "Level Control", but it should also be possible to set a variable value or a sensor reference or value via "TaskValueSet" (or comparable).

Did I explain it better now?

/FJ

Re: Project idea: Digital differential temperature controller ?

Posted: 29 Aug 2018, 05:45
by grovkillen
Okay sounds like you should be able to do that via rules and dummy's.

Re: Project idea: Digital differential temperature controller ?

Posted: 29 Aug 2018, 07:40
by fjk
grovkillen wrote: 29 Aug 2018, 05:45 Okay sounds like you should be able to do that via rules and dummy's.
if you could give me a hint how I can change the value for "Set Level:" within the PlugIn "Level Control" from "outside", then I can try that.

Should this also work with "TaskValueSet"? Or is there another action to influence the target value from a rule with or via dummy devices?

Entering a variable, e.g.: "[Return1#Temperature]" instead of a fixed value, e.g. "28", for the target value does not seem to work. I already tried that.

/FJ

Re: Project idea: Digital differential temperature controller ?

Posted: 29 Aug 2018, 08:52
by grovkillen
We may need to look into that plug-in and add support for that using TaskValueSet. Please open a new issue in GitHub.

Re: Project idea: Digital differential temperature controller ?

Posted: 21 Jan 2019, 06:25
by gregoinc
Greetings,

I am in a similar situation, but coming from a very low knowledge base having never used ESP8266 previously. In essence I have a wall mounted split system AC unit and I would like a simple way of turning the AC unit on and off (only) via infrared. Being new to the forum if adding my comments in this thread is inappropriate then please let me know and I will start a separate thread.

So far... I have a NodeMCU ESP8266 operational with ESPEasy firmware. I have 2 x DS18b20 operational and supplying outdoor and inside temperatures. Beyond that, I have no idea how to get the rest happening? I assume I have to load the heatpumpir codes, but have no idea?

Again, humble apology if my comments here are screwing things up.... I suspect this happens too often and it would be frustrating for the gurus on here.

Thanks, Mark

Re: Project idea: Digital differential temperature controller ?

Posted: 21 Jan 2019, 20:55
by kimot
Forgot about regulator plugin and write it completely via rules.

Re: Project idea: Digital differential temperature controller ?

Posted: 21 Jan 2019, 22:33
by gregoinc
kimot wrote: 21 Jan 2019, 20:55 Forgot about regulator plugin and write it completely via rules.
Hi kimot... thanks for the reply. Yep, using rules seems to be the general thinking. I'll see if I can track down some documentation on the rules i.e. for syntax, functions, etc. I figure rules can support mathematical equations so some differential analysis can be done between outdoor and indoor temps.

Re: Project idea: Digital differential temperature controller ?

Posted: 31 Jan 2019, 07:34
by gregoinc
Haven't progressed much further... looking for some rules advice. I too require a differential calculation approach. I have 2 x DS18b20 sensors on GPIO-14 and an infrared LED on GPIO-12 and would be grateful of some guidance. Here's my setup...
Studio_20190131_173242.png
Studio_20190131_173242.png (102.73 KiB) Viewed 8331 times
The IR is setup based on the coding from ToniA based here: https://github.com/ToniA/ESPEasy/tree/HeatpumpIR and uses this command to turn on the air conditioner: heatpumpir,daikin,1,3,0,24,4,2

So really all I need is some rules coding that compares between Temp1 and Temp2 and then runs the heatpump command. Sounds simple but understanding the syntax is elusive for sure :(