Water Heater - Photovoltaic - Tasmota #18009
Replies: 20 comments 12 replies
-
Take care not to overheat the Boiler, because it could explode ! I´m currently try to build a delivery dependend controlled consumption System. In case of overpruduktion of electric Power I want to start adaptive load of my Car, |
Beta Was this translation helpful? Give feedback.
-
@MarcoLeoncino I have build my own heater in the boiler: got 8 DS18B20 temperature sensors. two seperate yController for redundancy, power sensor on each phase and an remote emergency powerOff (if i switch off and the power is still flowing...), SSR relais, overpressure plate... I made my security concept and tested all acurate first - after that the first electron was on the way. It works fine. 750l water, 3 phase heater and 7.5kW, two power levels - 3.8W L1-L2 and 7.5W L1-L2-L3, photovoltaic system 22kWp. The data for controlling it: from my battery system an the power controller of the photovoltaic system. the most one have an API. BUT i do that with my energy after nothing else is to do. As @COtto1234567 said: take care! Maybe i publish the code if i am realy sure that there is no risk any more - but not yet - got now no 100.1% in my head. Die Waldfee |
Beta Was this translation helpful? Give feedback.
-
Dear all, Having said that, let me summarize. I am reading the smartmeter with the following script, which works very well:
I am measuring the temperature of the water in the boiler with a DS18B20 sensor, which is connected to a GPIO pin (the temperature info is displayed properly in the main Tasmota page). Clicking on the TOGGLE button (on the main Tasmota page) I can control the Relay (which is connected too to a GPIO pin) changing its state. This is already nice, how many things you can do with a small ESP. But I would like to automatize everything, in order that the relay changes its state according to what the sensors measure. Now, that all sensors seems to work, I would like to modify the above mentioned script in order that, if "Power_curr" is negative and the temperature read from the DS18B20 is lower than 60°C, the relay change state. And then, when the above conditions are not anymore respected, return to the previous state. Further modification of the script will be done later, but I am wondering how can I change the state of the relay using the above conditions. I need to understand how the Tasmota scripting language works (the smart meter script I understand, but I admit that I took it from the Tasmota pages dedicated to the SML reader), but if you would give me some starting points, I would be very happy. |
Beta Was this translation helpful? Give feedback.
-
Good news: I am able to store the power consumption and the temperature in two variables which I can use in my script. I cannot understand how to "command" a relay with a script. At the moment the relay is connected to the GPIO12 and I can change its state by clicking on TOGGLE in the main screen. |
Beta Was this translation helpful? Give feedback.
-
@MarcoLeoncino Then publish it here. |
Beta Was this translation helpful? Give feedback.
-
Dear all, let me summarize again in a more precise way. With an ESP8266 Flashed with Tasmota 10.1.0, I do the following: -read an Hager EHZ363 with the SML protocol; This is the screenshot of my control panel: The (simple, dummy) code I am using is:
if cur_cons>0 if cur_cons<0 But this is just a first test. At the moment if I have negative consumption (= I am putting energy in the network and this energy is not used) and the temperature of the water in the boiler is lower than 60C, then I turn the boiler ON. If the consumption is positive, I keep the boiler OFF. The boiler has its own automatic control: if temperature will fall down 35°C it will turn ON in any moment of the day. PROBLEMS which I wish to solve: If now I click on "Toggle", I can change the state of the relay only for a second, then the script sets the relay on the level which is determined in the code. I will probably implement a second button which allows me to select MANUAL or AUTO operations. MANUAL operations: the boiler can be switched ON/OFF by clicking on Toggle |
Beta Was this translation helpful? Give feedback.
-
An Hardcopy of Consoles/Console looks like this. Please send it here. 00:00:00.003 HDW: ESP32-D0WDQ6 |
Beta Was this translation helpful? Give feedback.
-
As you want, but it is a lot of stuff: 00:00:00.001 HDW: ESP8266EX |
Beta Was this translation helpful? Give feedback.
-
Hope there is no failture in my example for you. D BS T
S if A1670>0 ; Boiler Heater with 1000W only activ if more then 1000W overproduction M 1 |
Beta Was this translation helpful? Give feedback.
-
To make hot water it is way more efficient to do it directly with "water" solar collectors. |
Beta Was this translation helpful? Give feedback.
-
found more failtures. use this one.
if A1670>0 ; Boiler Heater with 1000W only activ if more then 1000W overproduction
|
Beta Was this translation helpful? Give feedback.
-
befor every section add ">" and at the end there is a missing "#" |
Beta Was this translation helpful? Give feedback.
-
sorry, found more failtures and fix it.
if A1670>0 ; Boiler Heater with 1000W only activ if more then 1000W overproduction
|
Beta Was this translation helpful? Give feedback.
-
Code should be enclosed in 3 backticks like
|
Beta Was this translation helpful? Give feedback.
-
Hope it works
Atemp=0
->sensor53 r
;reading the values from mqtt into variables
; Here we send additional values to mqtt Server like IOBroker(sonoff:1883)
;These Lines are displayed on device by http
|
Beta Was this translation helpful? Give feedback.
-
Thank you! How can I read the state of a Switch in the script? I have implemented two buttons: BOILER and AUTOMATIC: if AUTOMATIC is ON then I let the script run the automatic routine (that means, heat water if energy is negative and if water temperature is lower than a threshold) if AUTOMATIC is OFF then I can switch ON/OFF the boiler by clickling on the button BOILER. How can I read the state of the AUTOMATIC switch in my script? |
Beta Was this translation helpful? Give feedback.
-
I reply to myself (sorry, but there is an huge quantity of information!) pwr[x] = tasmota power state (x = 1-N) |
Beta Was this translation helpful? Give feedback.
-
I would configure only a Relais. This relais can be switched in http of the Tasmota device. Feel free to create your own Variables of Relais state. |
Beta Was this translation helpful? Give feedback.
-
Hello everybody! At the moment I can visualize the Tasmota page by using a VPN connection which is managed by my wifi router. This allows me to check the instantaneous values also when I am not at home and to control buttons. Nothing more, nothing less. As you probably know from other discussions I am really puzzled how I could store the data in the cheapest way possible, without paying a MQTT broker. What I would really like to see are charts of the temperature, power consumption and the state of a relay (namely 3 variable). Perhaps a Raspberry Pi which stores the data? Any other idea? This is the background:
|
Beta Was this translation helpful? Give feedback.
-
Small update: I have added the following defines in my user_config_override: #define USE_SML_SCRIPT_CMD #ifndef USE_SCRIPT #endif // USER_CONFIG_OVERRIDE_H I have flashed an ESP 8266 with the version Tasmota 11.1.0 by Theo Arends.
if (secs%15==0) hour-=4
I am able to make this plot (the plot is only partially filled, because I have restarted my device and of course the array was then empty). In the code, "M:s4hc=0 960" is the array which contains the current consumption data.
Where "M:s4ht=0 960" shall be an array which shall contain the temperature data, I get the following: From the console: 19:58:47.452 QPC: Reset Can somebody tell me what am I doing wrong? Thank you! |
Beta Was this translation helpful? Give feedback.
-
I have a small photovoltaic system which is connected to my household. To heat water we have a 100 liter boiler, which I wired to 1 phase (it is normally 3 phases) and setted up to 1 kW. With a Tasmota 8266 I read my smartmeter, in order to be able to know when the total power is negative (this means I am putting energy in the network and not using it).
Is there a documented way to take the information of the total power and switch the boiler on, as soon as there is energy from the photovoltaic? Of course the water shall be heated also when the sun is not there. Therefore the temperature must be controlled too.
Thanks a lot!
Beta Was this translation helpful? Give feedback.
All reactions