Closed jperquin closed 3 years ago
@jperquin That is what the active mode is for. That will allow you the request a certain water temperature from the boiler.
The irt board should be connected to connections 3 and 4 on the UBA and a wire between 1 and 2. (See attached picture). There should not be any other devices on the bus. (The iRT bus is very sensitive). The iRT board should be externally powered (USB bus).
I am running a similar setup. I have the older Conrad FHT-80 devices for controlling the radiators. I use a Culfw USB dongle to pickup the communication to the FHT-80 devices (opening percentage of the radiators) and combine that with the outside temperature to calculate the requested water temperature. The iRT board then requests this from the UBA.
Hi Victor,
Thanks for your quick response.
Looking at the package (corresponds to the pic below, except mine is V 1.6), will I be using the mini board (4 pins), 100k resistor and 3-lead cable (yellow/blk/red)?
Suppose the whole unit is powered via the wemos micro-usb port?
Hi,
The complete board will be powered by the USB connector on the wemos. You need to connect the iRT bus to the two blue screw terminals. The rest (the 100k, 4 pin mini PCB, the 3 wire lead and 3.5 mm lead) are not necessary. They are used if you convert the board back to EMS.
Just to double check, you did order the board as iRT board ? It should then be ready to go.
@jperquin If you purchased an iRT modified board its ready to go. The resistor, buck and jack cable are included to revert back to EMS in case you replace the old boiler for a new Nefit boiler.
Thanks Kees.
Had connected the board "as received" but did not get it to communicate with the boiler, so soldered the provided 100k Ohm resistor and no luck either.
Will try again after removing the resistor and advise.
..we have lift-off!
Currently getting following string via MQTT Explorer on boiler data: {"wWSelTemp":88,"selFlowTemp":0,"selBurnPow":0,"pumpMod":0,"outdoorTemp":0,"wWCurTmp":63,"curFlowTemp":58,"retTemp":58,"boilTemp":0,"wWActivated":"on","wWOnetime":"off","burnGas":"off","heatPmp":"on","fanWork":"off","ignWork":"off","heating_temp":88,"wWHeat":"off","burnStarts":0,"burnWorkMin":0,"ServiceCode":"0y","ServiceCodeNumber":7}
Could use some guidance on which parameters to control and what the exact MQTT publish command should look like.
Help much appreciated.
Had a look at the original tweakers post here and have copied the HA sensors and climate logic from @mafradon.
Apparently mafradon has made some changes to the logic and I was wondering if those have been incorporated in the latest FW build, as I am getting this error:
@jperquin Great news that it is working !
There are two things you can actively control via MQTT. If the warm water production is on or off and the requested flow temperature (for heating).
Below some example, adjust the topic to your setup:
Warm water on: topic: home/irt-esp/boiler_cmd_wwactivated data: on
Warm water of: topic: home/irt-esp/boiler_cmd_wwactivated data: off
Request flow temp topic: home/irt-esp/boiler_cmd data: {"cmd":"flowtemp",data:45}
If you request a flow temperature of more than 10 degrees celsius the boiler will start and try to reach the requested flow temperature. if you request a flow temperature less the 10 degrees the boiler will stop. The firmware will try to optimise the burnerpower of the boiler to reach and maintain the request flow temperature. If the requested temperature is lower then the current flow temperature the boiler will stop but keep the pump running until the temperature is below the requested temperature and then it will start again. The PID controller in the firmware will try to optimise the burner power to prevent the boiler from stopping and starting.
I have not seen the changes @mafradon made, but I also have not tried his home assistant configuration.
Thanks Victor.
For HA to publish the correct MQTT command to set the desired flowtemp it can only send a number, not json template data (like {"cmd":"flowtemp",data:45}).
I tried publishing the desired number to "ems-esp/boiler_cmd_flowtemp" but that's not doing anything..
I use a custom piece of c code on an old NLSU2 to publish/control flow temp (long story). I am not a HA expert, but I googled a bit and this topic: publish-mqtt-message-in-json-format explains how to publish a HA value in a JSON format.
The topic 'ems-esp/boiler_cmd_flowtemp' does not exist.
I ended up with the following config for climate.yaml:
- platform: mqtt
name: Cv Ketel
modes:
- "auto"
- "off"
min_temp: 0
max_temp: 80
temp_step: 1
current_temperature_topic: "ems-esp/boiler_data"
temperature_state_topic: "ems-esp/boiler_data"
mode_state_topic: "ems-esp/boiler_data"
current_temperature_template: "{{ value_json.curFlowTemp }}"
temperature_state_template: "{{ value_json.selFlowTemp }}"
mode_state_template: "{% if value_json.wWActivated == 'off' %} off {% else %} auto {% endif %}"
temperature_command_topic: "ems-esp/setpoint"
mode_command_topic: "ems-esp/boiler_cmd_wwactivated"
and an automation that gets triggered by the (dummy) ems-esp/setpoint topic, which then fires the correctly formatted json to ems-esp/boiler_cmd
automations.yaml:
- id: '1598377832108'
alias: EMS-ESP setpoint converter
description: ''
trigger:
- entity_id: sensor.setpoint_flow_temperature
platform: state
condition: []
action:
- data:
payload_template: '{"cmd":"flowtemp",data:{{ states.sensor.setpoint_flow_temperature.state
| int }}}'
retain: true
topic: ems-esp/boiler_cmd
service: mqtt.publish
mode: single
Would be nice if the warmwater temp could also be set to a specific target temperature, not just on or off..
I have not been able to find a message that can set the target warm water temperature. I think it can only be set on the boiler itself. Closing this issue (it can always be reopened).
Question Can the iRT-ESP be used without a room thermostat, ie. Moduline 30?
Device information Set-up: Nefit Ecomline HR from 1997, keesbbq's ift modified complete kit, zwave radiator thermostats for individual zone control and home assistant for the boiler / radiator logic. Current non-domotica install depends on a Honeywell Chronotherm III (just on/off control connected to ports 1 and 2 of the UBA 4000) and I am not sure if buying a Nefit Moduline 30 makes sense for me. Instead I was thinking to just install the iRT_EMS to ports 5 and 6.
Am I on the right track?