1
mirror of https://github.com/rvdbreemen/OTGW-firmware synced 2024-11-16 04:33:49 +01:00
Go to file
Robert van den Breemen 7b25f4a269
adding the discord badge
2021-02-21 13:47:10 +01:00
.vscode epoch per msg 2021-02-21 09:44:57 +01:00
data update version to 0.7.6 2021-02-21 10:05:52 +01:00
docs Update 2021-01-12-espresiff-flash-tool.png 2021-01-22 22:40:37 +01:00
example-api Update api-call-responses.txt 2021-02-10 22:34:44 +01:00
Specification before update 0.7.0 2021-01-20 00:15:57 +01:00
.gitattributes Initial commit 2020-10-25 20:33:41 +01:00
.gitignore Update .gitignore 2021-02-14 20:37:07 +00:00
Debug.h integrated OTGWSerial Class by Schelte Bron 2021-02-08 00:13:52 +01:00
FSexplorer.ino clean up code 2021-02-19 08:41:33 +01:00
helperStuff.ino check once a day for new version 2021-02-20 17:49:56 +01:00
jsonStuff.ino update version to 0.7.6 2021-02-21 10:05:52 +01:00
LICENSE update to 0.6.0 and 2021 copyright notices 2021-01-11 00:37:30 +01:00
MQTTstuff.ino update version to 0.7.6 2021-02-21 10:05:52 +01:00
networkStuff.h check pic version on boot 2021-02-19 01:48:31 +01:00
OTGW-Core.h update version to 0.7.6 2021-02-21 10:05:52 +01:00
OTGW-Core.ino update version to 0.7.6 2021-02-21 10:05:52 +01:00
OTGW-firmware.h update version to 0.7.6 2021-02-21 10:05:52 +01:00
OTGW-firmware.ino update version to 0.7.6 2021-02-21 10:05:52 +01:00
OTGW-ModUpdateServer-impl.h integrated OTGWSerial Class by Schelte Bron 2021-02-08 00:13:52 +01:00
OTGW-ModUpdateServer.h Fix for OTA resets by hardware watchdog 2021-01-11 09:12:07 +01:00
OTGWSerial.cpp Get rid of library 2021-02-16 14:20:20 +00:00
OTGWSerial.h Get rid of library 2021-02-16 14:20:20 +00:00
README.md adding the discord badge 2021-02-21 13:47:10 +01:00
restAPI.ino update version to 0.7.6 2021-02-21 10:05:52 +01:00
safeTimers.h before update 0.3.1 2020-12-12 01:34:41 +01:00
settingStuff.ino update version to 0.7.6 2021-02-21 10:05:52 +01:00
timeStuff.ino epoch per msg 2021-02-21 09:44:57 +01:00
updateServerHtml.h remove annoying timer 2021-02-18 23:11:42 +00:00
version.h epoch per msg 2021-02-21 09:44:57 +01:00
versionStuff.ino Clean up code 2021-02-16 22:49:05 +00:00

OTGW-firmware for NodeMCU - ESP 8266

Join the Discord chat

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).

Breaking change: With version 0.7.2 (and up) the LitteFS filesystem is used. This means you do need to reflash your filesystem, settings are lost in the process.

The features of this Nodosop OpenTherm NodeMCU firmware are:

  • breaking change: implemented LittleFS - (v0.7.2+)
  • reliable OTGW PIC firmware upgrade (to latest version)
  • parsing the OT protocol on the NodeMCU (8266)
  • parsing all known OT protocol message ID's (2.2+2.3b), including Heating/Ventilation and Remeha specific msgid's
  • 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 25238 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 flash your OTGW PIC firmware through wifi. Instead use the NEW reliable PIC firmware upgrade, just goto the File Explorer tab and click the PIC upgrade button

To do:

  • InfluxDB client to do direct logging
  • Instant update of webUI using websockets
  • Showing log of OT messages using websockets

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.6 PIC firmware integration done.
NTP configurable
Web UI only values that have been updated
Update to REST API to include epoch of last update to message
0.7.5 Complete set of status bits in UI and Central Heating 2 information
0.7.4 Integration of the otgw-pic firmware upgrade code - upgrade to pic firmware version 5.0 (by Schelte Bron)
0.7.3 Adding MQTT disable/enable option
Adding MQTT long password (max. 100 chars)
Adding executeCommand API (verify and return response for commands)
Adding RESTAPI /api/v1/otgw/cmdrsp/{command} that returns {response from command}
Added uptime and otgw fwversion in devinfo UI
0.7.2 Breaking change: Moving over to LittleFS. This means you need to reflash your device using a USB cable.
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 shoutout to the following people, for testing, discussing, and feedback on development:

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

A big thank should goto Schelte Bron @hvlx for amazing work on the OpenTherm Gateway and for providing access to the upgrade routines of the PIC. Enabling this custom firmware a reliable way to upgrade you PIC firmware.