Giter VIP home page Giter VIP logo

irt-esp's Introduction

IRT-ESP

IRT-ESP is a project to build an electronic controller circuit using an Espressif ESP8266 micro controller to communicate with iRT based Boilers from the Nefit Ecomline HR Classic range and compatibles such as Buderus.

This project is a fork of the Victor-Mo iRT-ESP and Proddy EMS-ESP project. Victor is no longer actively maintaining his project, so I've decided to do my best to develop it further.

It can operate in two modes: active and passive. In passive mode it just decodes iRT messages and report the status via MQTT or the build-in web interface. In active mode it can maintain a set water temperature, but this is a work in progress. Currently the only supported hardware is a modified EMS Bus gateway from BBQKees. Without the hardware modification it will not work !

For more information about the iRT protocol have a look at Victors wiki, additional information you can find here.

Supported features

In passive mode the firmware can decode the water temperature, if the boiler is running, what mode: heating or warm water, and if the pump is running. It also can show the number of burner starts, runtime of the burner, set- and current power of the burner, set- and current flowtemp, the return temperatur of the boiler, ... if the connected thermostat request the information.

In the active mode it will start the burner and sets a max water temp. The burner power will be set by a PID-regulator depended on the water temperature you set, 'boiler flowtemp 35' will set a target flow temperature of 35°C and a very low burner power. 'boiler flowtemp 90' will run the boiler at full power but not necessarily on a maximum flow temperature of 90°C because it is limited on a setting which can be changed by 'set maxflowtemp XX' (standard value is 60°C).

For my needs it is useful to target the regulation on the return-temperature, but you can change this in the user-settings.

I also added a restart delay, so the burner will not immidatly restart if the flow- (or return-) temperature falls below the selected flow-temperature, but will wait for (standard) 10 minutes and start again. In the meanwhile the burner is off, but the heat pump is running.

Please keep in mind this software is not anymore too experimental. It works on my boiler, it may not work on yours. The active mode can seriously damage your boiler, for example running it at full power for extended time. Always monitor your boiler when running in active mode !

Please keep also in mind, that in active mode, the gateway must be the only device on the bus (beside the boiler ;-) ). That means you can't use your thermostat anymore.

But if it does not work, create a log file (log j), create a ticket, and I will see what I can do.

Building the software

For building the software, have a look at the EMS-ESP wiki and iRT-ESP wiki.

First start, passive mode

The default tx_mode is now set to passive IRT mode. Telnet to the device and enable logging (log j). The output should look like this (depending on your thermostat):

log j

System Logging set to Jabber mode
(00:56:43.985) irt_parseTelegram: 00 05 35: 01 01 FE 90 90 E6 E6 D0 D0 2E 2E CF 30 82 82 6B 6B B8 B8 86 86 00 FF A3 A3 07 07 D3 D3 CA CA 03 FC A4 A4 7D 7D AC AC DC DC 2A D5 8A 8A A1 A1 98 98 83 83 FE 01
(00:56:48.985) irt_parseTelegram: 00 05 35: 01 01 FE 90 90 40 40 5A 5A 61 61 CF 30 93 93 73 73 0E 0E 4D 4D FF 00 C9 C9 C3 C3 79 79 AB AB 00 FF F0 F0 01 01 CD CD ED ED 00 FF F0 F0 01 01 D8 D8 B9 B9 05 FA
(00:56:54.025) irt_parseTelegram: 00 05 35: 01 01 FE 90 90 C3 C3 79 79 F2 F2 CF 30 82 82 C3 C3 79 79 E0 E0 00 FF A3 A3 C3 C3 79 79 C1 C1 03 FC A4 A4 C3 C3 79 79 C6 C6 2A D5 8A 8A C3 C3 79 79 E8 E8 FE 01
(00:56:59.065) irt_parseTelegram: 00 05 35: 01 01 FE 90 90 C3 C3 79 79 F2 F2 CF 30 81 81 C3 C3 79 79 E3 E3 51 AE 86 86 C3 C3 79 79 E4 E4 E9 16 85 85 C3 C3 79 79 E7 E7 74 8B 83 83 C3 C3 79 79 E1 E1 A0 5F
(00:57:03.625) irt_parseTelegram: 00 05 35: 01 01 FE 90 90 C3 C3 79 79 F2 F2 CF 30 82 82 C3 C3 79 79 E0 E0 00 FF A3 A3 C3 C3 79 79 C1 C1 03 FC A4 A4 C3 C3 79 79 C6 C6 2A D5 8A 8A C3 C3 79 79 E8 E8 FE 01

First start, active mode

In order to work in active mode the IRT-EMS-ESP should be the only device on the bus ! Telnet to the device and issue the following commands:

set tx_mode 5 (also possible to set in the web-UI of the device)

restart

The device will now restart, if the device is back. Reconnect and enable logging (log j). The output should look like this:

log j

System Logging set to Jabber mode
(00:00:14.769) irt_rawTelegram: 00 05 01: 00 - "."
(00:00:14.869) irt_rawTelegram: 00 05 01: 01 - "."
(00:00:14.990) irt_rawTelegram: 00 05 01: 02 - "."
(00:00:15.110) irt_rawTelegram: 00 05 01: 03 - "."
(00:00:15.230) irt_rawTelegram: 00 05 01: 00 - "."
(00:00:15.288) irt_tx: 01 05 1E: 90 A5 F0 28 00 00 82 A5 F0 3A 00 00 A3 A5 F0 1B 00 00 A4 A5 F0 1C 00 00 8A A5 F0 32 00 00
(00:00:15.330) irt_rawTelegram: 00 05 01: 01 - "."
(00:00:15.450) irt_rawTelegram: 00 05 01: 02 - "."
(00:00:15.570) irt_rawTelegram: 00 05 01: 03 - "."
(00:00:15.670) irt_rawTelegram: 00 05 01: 00 - "."
set(00:00:16.571) irt_rawTelegram: 00 05 35: 01 01 FE 90 90 A5 A5 F0 F0 28 28 67 98 82 82 A5 A5 F0 F0 3A 3A 00 FF A3 A3 A5 A5 F0 F0 1B 1B 03 FC A4 A4 A5 A5 F0 F0 1C 1C 20 DF 8A 8A A5 A5 F0 F0 32 32 FE 01
| 81:35 82:00 83:A0 85:74 86:E9 8A:FE 90:67 A3:03 A4:20 0H  

Set the desired water temerature (set_water 30) and change the logging to only show the status line (log s):

log s

System Logging set to Solar Module only

01:35 04:00 05:04 07:00 11:FF 14:00 15:04 17:FF 73:52 78:05 | 81:35 82:00 83:A0 85:74 86:E9 8A:FE 90:67 93:00 A3:03 A4:1F A6:1E C9:05 E8:05 ED:00 0H
Starting scheduled query from EMS devices
01:35 04:00 05:04 07:00 11:FF 14:00 15:04 17:FF 73:52 78:01 | 81:35 82:00 83:A0 85:74 86:E9 8A:FE 90:67 93:00 A3:03 A4:1F A6:1E C9:05 E8:05 ED:00 0H  

set_water 30

Irt set water temp, wc 1

Water temp set to 30 (1e)

01:35 04:00 05:04 07:69 11:FF 14:00 15:04 17:FF 73:52 78:07 | 81:35 82:00 83:A0 85:74 86:E9 8A:FE 90:67 93:00 A3:03 A4:1F A6:1E C9:05 E8:05 ED:00 0H
01:23 04:00 05:04 07:75 11:FF 14:00 15:04 17:FF 73:52 78:05 | 81:35 82:84 83:00 85:04 86:E9 8A:FE 90:67 93:00 A3:53 A4:24 A6:1D C9:02 E8:05 ED:00 -H
01:23 04:00 05:04 07:75 11:FF 14:00 15:04 17:FF 73:52 78:05 | 81:35 82:84 83:00 85:04 86:E9 8A:FE 90:67 93:00 A3:53 A4:24 A6:1D C9:01 E8:05 ED:00 -H

Web UI

The web UI is initially reachable on 192.168.4.1, the PW is admin. Here you can see the values fetched by the gateway and do some general and user settings.

Hardware change needed

The software runs on a modified EMS Bus Wi-Fi Gateway. In short; Remove the 100 KOhm resistor (R5) to ground and replace it with a 1.5 MOhm resistor to 5 Volt. Without the modification it will not work !

The 1.5 MOhm resistor works for my setup where the Thermostat is 5 meters a way from the boiler. This value may have to be adapted for different distances.

Victor-Mo adapted BBQKees's schematic to show the change: Modified Schematic

BBQKees also sold an already modified interface board but this is not available anymore (11/2022). But he sells the EMS interface board V3. Here you need to remove the 100 KOhm resistor (R22) to ground and replace it with a 1.5 MOhm resistor to 5 Volt (between pin 2 and pin 8 of U2).

irt-esp's People

Contributors

proddy avatar victor-mo avatar glennarens avatar vuego123 avatar gl3nni3 avatar klstanie avatar harrymayr avatar bonusbartus avatar gert05 avatar neonox31 avatar xeyame avatar geezerrr avatar reenx avatar egrekov avatar peclik avatar rknall avatar codacy-badger avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.