Tiemme 4Heat Stove WiFi Controller

Hi guys, do you think there is a command to force the switch on when it is in Standby, I wanted to have the boiler turn on when the thermostat is turned on for the first time each day, so as not to drop the puffer temperature too much… Thanks.

Hello,
Newbie here, but I’m reading it with a lot of interest.
I have a really nice stove and that would be the Dielle Grecale. Works like a champ, but I would love it to be able to turn it on while I’m still in bed.
I’m aware of the 4heat and Dielle modules (they are basically the same?).
But I was hoping there was a contact on the stove’s module that I could use to only turn it on. I don’t need to change temps or anything else.
Can homebody tell me if that exists? There’s a lot of unused connections and I was hoping there would be one that I could use to turn it on.
Or are there other options for it?

Thank you very much in advance!!
Joep

Hi,
normally you can connect something like a shelly relay to the contact avaliable for the external thermostat, but I think this is off-topic here :sweat_smile:

Hello, @zauberertz ,
thanks for the work done.

I am using since a few month the integration on a Carinci stove equipped with with Tiemme electronics and it works quite well.

Since a few days, I noted some errors in HA about deprecated Unit of Measure used. Opened a post here.

Is there anyhting you can do about this?

my regards,
Deimos

I know little about programming and only about the Arduino IDE, but I think it could be useful that somebody who knows about programming to make a program to see the commands that works in a Tiemme board.

The program could be send to board comands A2Wxyz, W=0,1 xyz from 000 to 999 + 000000000000 if the board responds, then sending this response to serial monitor or a log file.

Same with I30xyz+000000000000

Regarding the hardware I think I have not any problems, maybe I would use an esp32 or an Arduino Mega

If I get this program, I would test to find out the meaning of these commands, as I have done with the 4Heat commands

EDIT

According to the setup of the Tiemme board, in some cases St or Service( according display) may appear on the display (left timer before the system shows the message service)

If you send this command I20118000000000000 the board responds with this command J2011800000000txyz, txyz is the value displayed by St or Service.

But the most interesting thing is that if you send, for instance, J20118000000001000, the board responds I20118000000001000 and you have changed the value to 1000 for St or Service.

Now If you send this command I20118000000000000 the board responds with this command J20118000000001000, and St or Srvice 1000

Value txyz up to 9999

You have reset this counter without having to enter the tpar technical menu, and you do not need the password

EDIT2

@carloda

Hi guys, do you think there is a command to force the switch on when it is in Standby, I wanted to have the boiler turn on when the thermostat is turned on for the first time each day, so as not to drop the puffer temperature too much… Thanks.

I don’t understand your question, there are two completely different states off and standby.

You can see the status of the stove sending the command I30001000000000000, if the response is 0 it is OFF if the response is 11 it is standby.

Does it really happen when the answer is 11 standby?

Good morning,

I have been using the socket connection and socket commands with the 4heat module for several years without problems but a few days ago it no longer worked. the socket connection is no longer established, IP address ok, module visible on the network and in the 4heat app. device reset done. Do you also encounter this problem on your side? module update?

Thanks in advance

Joseph

I have a Moretti Aqua oven but I can’t find out if its board is compatible with the 4Heat module. It is covered and the only way to access it and see the manufacturer would be to remove all the cabling. Understandably, it doesn’t really appeal to me.
Perhaps someone uses a Moretti oven and knows if it is possible to connect it to HA?
Also, maybe someone can show me the direction in terms of hardware. My oven does not have Wi-Fi, but RS232 output. I have no idea about the standards, but browsing this forum I got the impression that if you connect an RJ11 converter / cable to RS232, then it should be possible to test the maxgu suggested ESPHome wifi module.
thanks

catdogmaus

I think that If your stove uses a Tiemme controller it might work.

To know if it is Tiemme, upload a picture of the display and the controller with the cover where I can see the RJ11, RJ45 and display sockets.

I have at hand board pin layout from the manual. If u need an actual photo let me know.


When I remember it right RJ11 marked RS232 is going outside to DE9 and RJ45 seems to go to fan control. But all the cables are too long and it looks more like a bird’s nest, not proper cabling so it’s nearly impossible to properly trace it.

catdogmaus

Your board could be the Tiemme NG21

In this case I think that it is possible that you can use the 4heat module and the ESPHome integration leoshusar if you use HA.

To test I would unplug the rj11 db9 cable from the Tiemme board and directly connect rj11 cable to the rs232 socket on the board

Thanks!
I have a mini board lying around so I just try it out. Unfortunately, all other components take probably til May to arrive, but maybe it’s even better to experiment when the season is over.

I have a Carinci stove. have we reached a situation where a connection can work?

I’m a bit confused about the cables for my Moretti oven. As maxgu showed above, I should have a Tiemme NG21 board. I looked and there is used rj45 which goes out to DE9. As always, only 4 cables have been used, but the arrangement is confusing. Moretti has used DE9 pins 1-4 (pictured) but according to the standard DE9 Tx is pin2 and Rx is pin3. However, GND should be pin 5, which is currently unused. Also, if GND is not by standard, Tx, Rx may not be either. Maybe someone has an idea how the correct pin layout could be or best (safest) way to find out!?
Thanks

Edit: I actually somehow figured it out but I am still unable to add it to HA with “Unknown error” popping up. At the moment it seems that stove is talking to ESPHome (with some errors) but as I said no luck to adding it as integration

[13:38:16][D][text_sensor:064]: 'State': Sending state 'OFF'
[13:38:17][D][text_sensor:064]: 'Error': Sending state 'No'
[13:38:17][D][select:015]: 'Power': Sending state P6 (index 5)
[13:38:17][W][fourheat:186]: Response timeout, retrying (0/3)
[13:38:17][W][fourheat:186]: Response timeout, retrying (1/3)
[13:38:18][W][fourheat:186]: Response timeout, retrying (2/3)
[13:38:18][W][fourheat:189]: Response timeout, giving up
[13:38:18][W][fourheat:192]: Clearing command TX queue, because the module can reappear in an unknown state
[13:38:18][D][binary_sensor:036]: 'Stove offline': Sending state ON
[13:38:19][D][sensor:093]: 'Exhaust temperature': Sending state 37.00000 °C with 0 decimals of accuracy
[13:38:19][D][binary_sensor:036]: 'Stove offline': Sending state OFF
[13:38:19][D][sensor:093]: 'Puffer temperature': Sending state 47.00000 °C with 0 decimals of accuracy
[13:38:19][D][sensor:093]: 'Boiler temperature': Sending state 49.00000 °C with 0 decimals of accuracy
[13:38:19][D][sensor:093]: 'Water pressure': Sending state 1328.00000 mbar with 0 decimals of accuracy
[13:38:19][D][sensor:093]: 'Airflow': Sending state 206.00000 Nr with 0 decimals of accuracy
[13:38:19][D][number:012]: 'Boiler target temperature': Sending state 60.000000
[13:38:31][D][text_sensor:064]: 'State': Sending state 'OFF'
[13:38:32][D][text_sensor:064]: 'Error': Sending state 'No'
[13:38:32][D][select:015]: 'Power': Sending state P6 (index 5)
[13:38:32][W][fourheat:186]: Response timeout, retrying (0/3)
[13:38:32][W][fourheat:186]: Response timeout, retrying (1/3)
[13:38:33][W][fourheat:186]: Response timeout, retrying (2/3)
[13:38:33][W][fourheat:189]: Response timeout, giving up
[13:38:33][W][fourheat:192]: Clearing command TX queue, because the module can reappear in an unknown state

I don’t understand anything.

The rj45 socket is for modbus rs485 communication and for other purposes and has been explained in this forum since more one year ago.

So you cannot use rj45 for 4heat or he ESPHome integration leoshusar if you use HA.

To be honest, I don’t really understand either. Actually, at the moment I am only interested in the DE9 plug that comes on the outside of oven.
TiEmme says that NG21 “can be plug in serial dialogue modules RS 232, RS 485”. (So I just ignore the board for now) Visually they are the same and oven actually only has one outside. RS 232 is a 3-wire system, RS 485 is a 2-wire system. As I said before, Moretti(TiEmme) has somehow used pins 1-4. This thread is long and it is possible that I missed something important but ESPHome reads now what the oven sends. This is also where my wisdom ends when it comes to software. My skills are limited simply to matching together things that others have done.
Thanks

Since the problem with incomplete or beta projects is always the fragmentation of the necessary information, and you can only get help if someone actually has time to deal with you, in this post I will try to put together information for those who have a Moretti Aqua oven (or TiEmme NG21 board).
My Moretti oven allows you to use RS 232 pin 1-4 for communication.
I personally decided to use GitHub - leoshusar/4heat-esphome: ESPHome integration for Tiemme 4Heat controllers. project as the most financially friendly. You need a D1 mini board, an RS232 to TTL board and some sort of rs232 connector/adapter. It is possible to use any appropriate board but then you have to change wiring on board side.
The instruction for connecting the hardware is shown in the image below.

My ESPHome yaml is as following (It has some important changes from leoshusar demo yaml to avoid errors and crashing with this version of board.) I also added lot of missing datapoints, but here, everything depends on the setting of your oven (do you have a buffer, do you also use drinking water heating, etc.) So you probably need to adjust it accordingly.

substitutions:
  name: "moretti"
  friendly_name: Moretti

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  name_add_mac_suffix: false
  project:
    name: esphome.web
    version: '1.0'

esp8266:
  board: d1_mini

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:

# Allow Over-The-Air updates
ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device via WiFi AP.
captive_portal:

external_components:
  source: github://leoshusar/4heat-esphome

uart:
  tx_pin: GPIO1
  rx_pin: GPIO3
  baud_rate: 9600

fourheat:

switch:
  - id: state_switch
    name: State
    platform: fourheat
    restore_mode: DISABLED
    datapoint: J30001
    on_datapoint: J30253
    off_datapoint: J30254
    on_data: '1'
    off_data: '1'
    parser: |-
      auto size = data.size();
      return
        data[size - 1] != '0' ||
        data[size - 2] != '0';

text_sensor:
  - id: state
    name: State
    platform: fourheat
    datapoint: J30001
    options:
      0: "OFF"
      1: "Check Up"
      2: "Ignition"
      3: "Stabilization"
      4: "Ignition"
      5: "Run"
      6: "Modulation"
      7: "Extinguishing"
      8: "Safety"
      9: "Block"
      10: "Recover Ignition"
      11: "Standby"
      30: "Ignition"
      31: "Ignition"
      32: "Ignition"
      33: "Ignition"
      34: "Ignition"

  - id: error
    name: Error
    platform: fourheat
    datapoint: J30002
    options:
      0: "No"
      1: "Safety Thermostat HV1: signalled also in case of Stove OFF"
      2: "Safety PressureSwitch HV2: signalled with Combustion Fan ON"
      3: "Extinguishing for Exhausting Temperature lowering"
      4: "Extinguishing for water over Temperature"
      5: "Extinguishing for Exhausting over Temperature"
      6: "unknown"
      7: "Encoder Error: No Encoder Signal (in case of P25=1 or 2)"
      8: "Encoder Error: Combustion Fan regulation failed (in case of P25=1 or 2)"
      9: "Low pressure in to the Boiler"
      10: "High pressure in to the Boiler Error"
      11: "DAY and TIME not correct due to prolonged absence of Power Supply"
      12: "Failed Ignition"
      13: "Ignition"
      14: "Ignition"
      15: "Lack of Voltage Supply"
      16: "Ignition"
      17: "Ignition"
      18: "Lack of Voltage Supply"

  - id: combustion_power
    name: Combustion power
    platform: fourheat
    datapoint: J30011
    icon: "mdi:heating-coil"
    options:
      1: "P1"
      2: "P2"
      3: "P3"
      4: "P4"
      5: "P5"
      6: "Cleaning"
      7: "Standby"
      8: "Ignition 2"
      9: "Modulation"
      10: "Ignition P0"
      11: "MAX P"
      12: "Extinguish"
      100: "Off"
      110: "Off"
      120: "Pmax Test"
      255: "Ignition"
      0: "Stabilizing"

button:
  - id: clear_error
    name: Clear error
    platform: fourheat
    datapoint: J30255

select:
  - id: power
    name: Power
    platform: fourheat
    datapoint: B20364
    options:
      1: "P1"
      2: "P2"
      3: "P3"
      4: "P4"
      5: "P5"
      6: "Auto"

binary_sensor:
  - id: stove_offline
    name: Stove offline
    platform: fourheat
    type: module_offline

  - id: room_thermostat_state
    name: Room thermostat state
    platform: fourheat
    datapoint: J40007
    parser: return data[data.size() - 3] == '0';



sensor:
  - id: exhaust_temperature
    name: Exhaust temperature
    platform: fourheat
    datapoint: J30005
    device_class: temperature
    unit_of_measurement: °C

  - id: buffer_temperature
    name: Buffer temperature
    platform: fourheat
    datapoint: J30012
    device_class: temperature
    unit_of_measurement: °C

  - id: boiler_temperature
    name: Boiler temperature
    platform: fourheat
    datapoint: J30017
    device_class: temperature
    unit_of_measurement: °C

  - id: water_pressure
    name: Water pressure
    platform: fourheat
    datapoint: J30020
    device_class: pressure
    unit_of_measurement: mbar

  - id: airflow
    name: Airflow
    platform: fourheat
    datapoint: J30026
    unit_of_measurement: Nr

  - id: comb_fan_speed
    name: Combustion Fan Speed
    icon: "mdi:fan"
    platform: fourheat
    datapoint: J30025
    unit_of_measurement: rpm

  - id: room_temperature
    name: Room temperature
    platform: fourheat
    datapoint: J30006
    device_class: temperature
    unit_of_measurement: °C

number:
  - id: boiler_target_temperature
    name: Boiler target temperature
    platform: fourheat
    datapoint: B20199
    device_class: temperature
    unit_of_measurement: °C
    min_value: 0
    max_value: 90

  - id: buffer_thermostat_threshold
    name: Buffer thermostat threshold
    platform: fourheat
    datapoint: B20241
    device_class: temperature
    unit_of_measurement: °C
    min_value: 1
    max_value: 20

  - id: buffer_target_temperature
    name: Buffer target temperature
    platform: fourheat
    datapoint: B20225
    device_class: temperature
    unit_of_measurement: °C
    min_value: 20
    max_value: 110

If everything is fine and the oven is visible in ESPHome add-on logs, it can be added as a new ESPHome device.

There is also an add-on as mentioned in beginning of this thread GitHub - zaubererty/homeassistant-4heat: Integration for 4 heat wifi module of Tiemme but it probably wont work with this ESPHome wifi module.

request
The NG21 board also has a “night mode”. (it’s not about lighting as you might think, but noise) It is possible that it is also on other TiEmme boards. If someone could ever find this setup datapoint that would be amazing. thanks

1 Like

@catdogmaus

I think that the problem finding the datapoints is not a hardware problem, the hardware could be an esp32 and a ttl rs232 module, by the way, the module you use may have serious problems, see jorgezao post 239,240.

I think the problem is making the program that I think can be made as I indicate in my post 244

The program could be sent to board commands A2Wxyz, W=0 xyz from 000 to 999 adding 000000000000, same with W=1 if the board responds, then sending this response to serial monitor or a log file.

Same with I30xyz adding 000000000000

I saw this post and considered using 3V, but in my tests the module I have has not had any overheating problems.

I understand that most people here use the tiemme wifi module to find datapoints. As for esp32, I don’t have the corresponding competence either. Since the basic functionality is guaranteed even now, people who have, obviously have no interest in spending more their time on it

Not sure if anyone is still interested in using rs232, my duepi-evo based stove uses something similar.

I use esplink (which uses txp port 23) for my integration, and wrote a simple proxy in python to capture Tx and Rx

So when you control the stove, you can monitor the commands send to and responses received from😉

And then i used chatgpt to make sense of the collected data.

@catdogmaus

Official 4heat application has fewer datapoints than those described in this forum, these are the datapoints of the official application 4heat for Milkuz Pellet Stove of Тони Станојоски another stove has different datapoints.

You have more datapoints here

Each Tiemme board and even depending on its setup, has different datapoints.

Here are in Spanish the tests that I have carried out with more datapoints

https://www.solarweb.net/forosolar/attachments/usuarios-biomasa/31176d1708376793-comunicacion-rs232-modulo-wifi-4heat-tiemme-comunicacion-4heat-rs232red.docx

You can see also post 5 and my post 185

Beside there are parameters that can only be changed in the technical menu, so you have to enter tpar and do the setup, your password may be 0000