ikkemaniac / OTGW-firmware

A NodeMCU firmware for the Nodoshop version of the Opentherm Gateway (OTGW) - an ESP8266 firmware

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OTGW-firmware for NodeMCU - ESP 8266

Join the chat at https://gitter.im/OTGW-firmware/community

Opentherm Nodoshop firmware

This is a custom firmware for the Nodoshop NodeMCU/ESP8266 version of the OpenTherm Gateway.

It can be found here: https://www.nodo-shop.nl/nl/opentherm-gateway/188-opentherm-gateway.html
More information on this gateway can be read here: http://otgw.tclcode.com/ (also location of the OTGW PIC firmware)

The goal of this project is to become a fully functioning ESP8266 firmware that operates the OTGW as a standalone application. With a WebUI, MQTT and REST API, integration with Home Assistant (using MQTT discovery) and a TCP connection for serial connection (on port 25238).

The features of this Custom OTGW NodeMCU (ESP8266) firmware are:

  • parsing the protocol on the NodeMCU (8266)
  • enable telnet listening (interpreted data and debugging)
  • send MQTT messages for every change (parsed OT message)
  • integrate with Home Assistant (and Domoticz)
  • serial interface on port 1023 for original OTmonitor application (bi-directional)
  • simple REST API (http:///api/v0/otgw/{id})
  • simple REST API (http:///api/v1/otgw/id/{id} or http:///api/v1/otgw/label/{textlabel eg. Tr or Toutside}
  • sending commands thru MQTT (topic: OTGW/command)
  • sending commands thru REST API (/api/v1/otgw/command/{any command})
  • settings for Hostname and MQTT in the webUI (just compile and edit in webUI)
  • OTmonitor Web UI (standalone interface)
  • reliable OTA upgrades ofr NodeMCU (v0.6.0+)

WARNING: Do not upgrade your PIC thru WiFi using port 1023! Connect Your OTGW to your serialport instead for upgrade.

To do:

  • InfluxDB client to do direct logging

Looking for the documentation, go here (work in progress):
https://github.com/rvdbreemen/OTGW-firmware/wiki/Documentation-of-OTGW-firmware

Version Release notes
0.7.1 Adding reset gateway to enter self-programming mode more reliable.
Changed to port 25238 for serial TCP connections (default of OTmonitor application by Schelte Bron)
Bugfix: Settings UI works even with "browserplugins". Thanks @STemplar
0.7.0 Added all Ventilation/Heat Recovery msgids (2.3b OT spec). Plus Remeha msgids. Thanks @STemplar
Added OTGW pic reset on bootup.
Translate dutch to english.
Bugfix: Serial flushing & writebuffer checking to prevent overflow during flashing.
0.6.1 Bugfix: setting page did not always work correctly, now it does.
0.6.0 Standalone UI for simple OT monitor purposes and deviceinformation, moved index.html to SPIFF
OTA is possible after flashing 0.6.0 (Hardware watchdog is fed, during flash uploads now)
0.5.1 REST APIs, v1, for OTmonitor values, GetByLabel, GetByID, POST otgw/command/{command}
0.5.0 Implemented the UI for settings (restapi, read/write file in json)
0.4.2 Bi-directional serial communication on port 25238 (aka ser2net) for use with OTmonitor application
0.4.1 MQTT command sending now works, topic: OTGW/command and
0.4.0 RestAPI implemented - as simple as /api/v0/otgw/{id} to get the latest values
0.3.1 Bug: Open AP after configuration, change ESP to STA mode on StartWifi
No more default Debug to Serial, only to port 23 telnet
0.3.0 Read only Serial stream implementend on port 25238 (debug port remains on port 23 - telnet)
0.2.0 Auto-discovery throug MQTT implemented for integration with home assistant (and domoticz)
0.1.0 MQTT messaging implemented
0.0.1 parsing of OT protocol implemented (use telnet to see) Watchdog implemented

Shoutout to early adopters helping me out testing and discussing the firmware in development. For pushing features, testing and living on the edge.

So a big thanks goes to the following people:

  • @vampywiz17
  • @Stemplar
  • @tjfsteele
  • @proditaki

About

A NodeMCU firmware for the Nodoshop version of the Opentherm Gateway (OTGW) - an ESP8266 firmware

License:MIT License


Languages

Language:C++ 65.0%Language:C 18.0%Language:JavaScript 9.9%Language:HTML 3.7%Language:CSS 3.4%