1
mirror of https://github.com/rvdbreemen/OTGW-firmware synced 2024-11-16 04:33:49 +01:00

Squashed commit of the following:

commit ad255a50fa
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sat Apr 13 13:40:20 2024 +0200

    Cleaning up the fix a bit

commit 1c8485af72
Merge: d0b5fbc 6d6c117
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sat Apr 13 13:37:07 2024 +0200

    Merge pull request #243 from DutchessNicole/main

    added provisions for password field

commit d0b5fbcaaf
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sat Apr 13 13:18:01 2024 +0200

    fix: hiding the password in the UI

commit 6d6c11715d
Author: Nicole Koopmans <joy.anne.koopmans@gmail.com>
Date:   Fri Apr 12 16:27:56 2024 +0200

    added provisions for password field

commit 8d9da27f2f
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Apr 8 21:54:53 2024 +0200

    Cleaning up release flow

commit 58609c8c5f
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Apr 8 21:50:55 2024 +0200

    Hmmm, fixing idents and space in yml

commit b4a0b2fbed
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Apr 8 21:47:10 2024 +0200

    Adding one more setp

commit baec3cb355
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Apr 8 21:43:27 2024 +0200

    fixing the release workflow by adding setup

commit 054866b8af
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Apr 8 21:37:27 2024 +0200

    trying to call build from release flow

commit 20cf3adda7
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Wed Apr 3 23:13:09 2024 +0200

    Adding release build artifacts to release

commit c6572d40eb
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Wed Apr 3 23:04:30 2024 +0200

    Update release workflow to nodejs20

commit 3f0320f41f
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Tue Apr 2 18:32:39 2024 +0200

    rollback changes index.js

commit 6752fdfc8e
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Apr 1 21:49:18 2024 +0200

    Fixed all status functions

commit aa4ea299ae
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Apr 1 09:26:25 2024 +0200

    Fix APIGW, make it dependend on localURL (index.js)
    Fix status value for REST API, use OR instead of AND operator

commit 121461173a
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Mar 18 00:53:33 2024 +0100

    Okay, testing workflow action build

commit baae5e0b67
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Mar 18 00:35:21 2024 +0100

    Fix: Fixing filesystem rename

commit ea5465777c
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Mar 18 00:32:26 2024 +0100

    Fix: one more change

commit ac10b1d883
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Mar 18 00:26:00 2024 +0100

    Fix: Trying to get a clean filesystem rename

commit bb0eabe319
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Mar 18 00:09:33 2024 +0100

    Changes to make file, and build action. To simplify it

commit 308ce1388d
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 23:41:37 2024 +0100

    Fix: adding basename to mv command

commit 2617630ece
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 23:38:04 2024 +0100

    Fix: more difficult than you think

commit ddeca02371
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 23:30:12 2024 +0100

    Fix: filename pattern

commit 7fe322e72b
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 23:25:11 2024 +0100

    Fix: the moving of the make results

commit 0976cca684
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 23:11:24 2024 +0100

    Fix block mapping

commit 42a8c82a9b
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 23:08:33 2024 +0100

    Fixing move of files after build

commit 7fe61d339f
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 21:56:31 2024 +0100

    Fix: remove the double astrix

commit 167c549549
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 21:55:53 2024 +0100

    fix: upload artifacts from build directory

commit ebc03c86d2
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 21:50:00 2024 +0100

    Add create build directory

commit de2beaf22c
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 21:45:50 2024 +0100

    run semver step before rest, and fix filesystem building by adding shell: bash

commit 2f34aeb771
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 18:10:41 2024 +0100

    Trying to move & rename in the CI pipeline

commit d6c6ddc75c
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 18:07:19 2024 +0100

    renaming all files to correct semver version

commit cd083907fc
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 18:02:02 2024 +0100

    Update action.yml

commit 912f0e857a
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 17:56:21 2024 +0100

    Updates to CI Build actions

commit c531dece46
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 12:02:38 2024 +0100

    Update main.yml

commit 082f2f5c2d
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Mar 17 11:57:19 2024 +0100

    Just to update the binaries and test the workflow in github

commit d99f272870
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Tue Sep 12 23:29:47 2023 +0200

    Another fix by Sergantd

commit 827df64c2b
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Tue Sep 12 21:08:30 2023 +0200

    Fixing a " by sergantd

commit ef30af634f
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Jul 23 22:51:08 2023 +0200

    Update README.md

commit 1ecc24036b
Merge: 3874336 45dc372
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun May 14 09:22:31 2023 +0200

    Merge branch 'dev' of https://github.com/rvdbreemen/OTGW-firmware into dev

commit 3874336409
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Wed May 10 20:37:34 2023 +0200

    Add more sensors for HA, so SAT will easily integrate

commit 45dc37267c
Merge: 4b94231 0c0c071
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Wed May 10 20:35:40 2023 +0200

    Merge pull request #220 from brhahlen/dev

    Fix CI Pipeline

commit 0c0c0719b1
Author: Ben Hählen <brhahlen+git@gmail.com>
Date:   Wed May 10 11:16:34 2023 +0200

    Fixing CI Pipeline

commit 8fab46bb3a
Author: Ben Hählen <brhahlen+git@gmail.com>
Date:   Wed May 10 11:09:25 2023 +0200

    Update Makefile

commit efa49afa00
Author: Ben Hählen <brhahlen+git@gmail.com>
Date:   Wed May 10 11:07:39 2023 +0200

    Update Makefile

    Trying to fix build

commit 4b94231959
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Tue May 9 23:45:01 2023 +0200

    removing renovate.json from tree

commit 9000d6cc8f
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Tue May 9 23:30:36 2023 +0200

    cleanup transfer.dat in wrong place

commit 259eb21c1d
Merge: 1214689 7b36109
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Fri May 5 21:10:24 2023 +0200

    Merge pull request #218 from mcc05/dev

    removed unit_of_measure  from items that have none

commit 7b36109dce
Author: mcc05 <38889743+mcc05@users.noreply.github.com>
Date:   Thu May 4 08:34:05 2023 +0100

    removed unit_of_measure  from items that have none

commit 12146893b8
Merge: bba1ca8 af09911
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sat Apr 15 10:29:30 2023 +0200

    Merge pull request #216 from hgokduman/dev

    Update index.js

commit af09911425
Author: Halim <hgokduman@users.noreply.github.com>
Date:   Tue Apr 11 09:46:35 2023 +0200

    Update index.js

    Enable support for https when OTGW is behind a reverse proxy.

commit bba1ca8313
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sat Mar 18 14:23:12 2023 +0100

    Revert "Turning off WTD during setup"

    This reverts commit 10b24b643a.

commit 10b24b643a
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Thu Mar 16 22:49:59 2023 +0100

    Turning off WTD during setup

commit 9b6336a8fe
Merge: 42216c5 301d6a1
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Thu Mar 16 22:10:07 2023 +0100

    Merge branch 'main' into dev

commit 42216c5390
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Tue Mar 14 23:13:48 2023 +0100

    Update README.md

commit cc1c894e54
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Tue Mar 14 23:13:11 2023 +0100

    Update readme for 0.10.2 maintaince release

commit c73b242406
Merge: 67a443e 87e4f7e
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Tue Mar 14 22:59:47 2023 +0100

    Merge branch 'main' into dev

commit 67a443e86d
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Tue Mar 14 22:53:21 2023 +0100

    Update firmware hex files to 6.5 and 5.8

commit 2d64148d12
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Tue Mar 14 22:26:17 2023 +0100

    fix the 0bytes on update Pic firmware, by downgrading the core to 2.7.4

commit fa737be11e
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Feb 26 21:07:11 2023 +0100

    Adding a little memory for use with larger settings... NTP longer FQDN fix

commit 141d6bf6f7
Merge: d84c439 d4d33c7
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sat Feb 18 20:31:58 2023 +0100

    Merge branch 'dev' into dev-more-actions

commit d84c4397a1
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sat Feb 18 20:26:02 2023 +0100

    Trying to build a relase system

commit d4d33c7894
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Mon Feb 13 21:43:43 2023 +0100

    Fix for hostname to wifi (credits to @hvxl)

commit 1d8f80b046
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sun Feb 12 10:49:12 2023 +0100

    updating .gitignore

commit 997e93749d
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sat Feb 11 13:29:19 2023 +0100

    config .gitignore

commit 867432a904
Author: Robert van den Breemen <robert@vandenbreemen.net>
Date:   Sat Feb 11 13:21:10 2023 +0100

    Removing git submodules from src tree
This commit is contained in:
Robert van den Breemen 2024-04-14 23:29:19 +02:00
parent 301d6a1484
commit b6bf90eebc
15 changed files with 99 additions and 104 deletions

View File

@ -1,24 +1,32 @@
name: arduino-cli build
description: Build using arduino-cli and makefile
runs:
using: composite
steps:
- id: build
run: make -j$(nproc)
shell: bash
- id: filesys
run: make filesystem
shell: bash
- id: semver
run: cat version.h | sed -n '/^#define _SEMVER_FULL.*$/s/^#.*"\(.*\)"$/semver=\1/p' >> $GITHUB_OUTPUT
shell: bash
- id: create-build-dir
run: mkdir -p build
shell: bash
- id: build
run: |
make -j$(nproc)
find build -type f
for file in build/**/*.ino.bin; do mv "$file" "build/$(basename -s .ino.bin ${file})-${{steps.semver.outputs.semver}}.ino.bin"; done
for file in build/**/*.ino.elf; do mv "$file" "build/$(basename -s .ino.elf ${file})-${{steps.semver.outputs.semver}}.ino.elf"; done
shell: bash
- id: filesys
run: |
make filesystem
for file in build/*.ino.littlefs.bin; do mv "$file" "build/$(basename -s .ino.littlefs.bin $file).${{steps.semver.outputs.semver}}.littlefs.bin"; done
shell: bash
- id: upload
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: OTGW-firmware-${{steps.semver.outputs.semver}}
path: |
build/**/*.bin
build/**/*.elf
build/*.bin
build/*.elf
build/*.bin

View File

@ -1,28 +0,0 @@
id version address size mask name
0 3.0 00 1 e0 SavedSettings
1 3.0 01 4 0 FunctionLED
2 3.0 e0 32 0 AlternativeCmd
3 4.0a3 d8 8 0 ThermResponse
4 4.0a6 01 1 0 FunctionGPIO
5 4.0a6 02 2 0 AwaySetpoint
1 4.0a6 04 6 0 FunctionLED
6 4.0a7 aa 16 0 UnknownFlags
1 4.0a9 06 6 0 FunctionLED
6 4.0a9 af 16 0 UnknownFlags
6 4.0a9.1 b1 16 0 UnknownFlags
6 4.0a10 b3 16 0 UnknownFlags
6 4.0a11.1 b5 16 0 UnknownFlags
0 4.0b0 00 1 80 SavedSettings
6 4.0b0 d0 16 0 UnknownFlags
3 4.0b0 d8 0 0 ThermResponse
7 4.0.1.1 130 1 0 ThermostatModel
7 4.1 0d 1 0 ThermostatModel
8 4.2.7 0e 1 cf Configuration
8 4.2.8 0e 1 ca Configuration
8 6.3 0e 1 c2 Configuration
9 5.5 0f 2 0 DHWSetting
9 6.0 0 0 0 DHWSetting
9 6.2 0f 2 0 DHWSetting
10 5.5 11 2 0 MaxCHSetting
10 6.0 0 0 0 MaxCHSetting
10 6.2 11 2 0 MaxCHSetting

View File

@ -5,7 +5,7 @@ runs:
using: composite
steps:
- id: python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.x'
- id: apt

View File

@ -13,6 +13,6 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
- uses: ./.github/actions/build

View File

@ -10,15 +10,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup environment
uses: ./.github/actions/setup
- name: Build
run: echo ${{ github.sha }} > Release.txt
- name: Test
run: cat Release.txt
uses: ./.github/actions/build
- name: Release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
Release.txt
build/*.elf
build/*.bin
LICENSE

View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2021-2022 Robert van den Breemen
Copyright (c) 2021-2024 Robert van den Breemen
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -11,8 +11,10 @@ CFLAGS = $(CFLAGS_DEFAULT)
CLI := arduino-cli
PLATFORM := esp8266:esp8266
CFGFILE := arduino-cli.yaml
# bug in http stream, fallback to 2.7.4
CFGFILE := $(PWD)/arduino/arduino-cli.yaml
# Add CLICFG command to add config file location to CLI command
CLICFG := $(CLI) --config-file $(CFGFILE)
# bug in http stream, fallback to 2.7.4
# ESP8266URL := https://github.com/esp8266/Arduino/releases/download/3.0.2/package_esp8266com_index.json
ESP8266URL := https://github.com/esp8266/Arduino/releases/download/2.7.4/package_esp8266com_index.json
LIBRARIES := libraries/WiFiManager libraries/ArduinoJson libraries/PubSubClient libraries/TelnetStream libraries/AceTime libraries/OneWire libraries/DallasTemperature
@ -28,8 +30,8 @@ TOOLS = $(wildcard arduino/packages/esp8266/hardware/esp8266/*/tools)
ESPTOOL = python3 $(TOOLS)/esptool/esptool.py
BOARD = $(PLATFORM):d1_mini
FQBN = $(BOARD):eesz=4M2M,xtal=160
IMAGE = build/$(subst :,.,$(BOARD))/$(INO).bin
FILESYS = build/littlefs.bin
IMAGE = build/$(INO).bin
FILESYS = build/$(INO).littlefs.bin
export PYTHONPATH = $(TOOLS)/pyserial
@ -48,12 +50,12 @@ distclean: clean
$(CFGFILE):
$(CLI) config init --dest-file $(CFGFILE)
$(CLI) config set board_manager.additional_urls $(ESP8266URL)
$(CLI) config set directories.data $(PWD)/arduino
$(CLI) config set directories.downloads $(PWD)/staging
$(CLI) config set directories.user $(PWD)
$(CLI) config set sketch.always_export_binaries true
$(CLI) config set library.enable_unsafe_install true
$(CLICFG) config set directories.data $(PWD)/arduino
$(CLICFG) config set board_manager.additional_urls $(ESP8266URL)
$(CLICFG) config set directories.downloads $(PWD)/staging
$(CLICFG) config set directories.user $(PWD)
$(CLICFG) config set sketch.always_export_binaries true
$(CLICFG) config set library.enable_unsafe_install true
##
# Make sure CFG is updated before libraries are called.
@ -61,43 +63,43 @@ $(CFGFILE):
$(LIBRARIES): | $(CFGFILE)
$(BOARDS): | $(CFGFILE)
$(CLI) core update-index
$(CLI) core install $(PLATFORM)
$(CLICFG) core update-index
$(CLICFG) core install $(PLATFORM)
refresh: | $(CFGFILE)
$(CLI) lib update-index
$(CLICFG) lib update-index
flush: | $(CFGFILE)
$(CLI) cache clean
$(CLICFG) cache clean
libraries/WiFiManager: | $(BOARDS)
$(CLI) lib install WiFiManager@2.0.15-rc.1
$(CLICFG) lib install WiFiManager@2.0.15-rc.1
libraries/ArduinoJson:
$(CLI) lib install ArduinoJson@6.17.2
$(CLICFG) lib install ArduinoJson@6.17.2
libraries/PubSubClient:
$(CLI) lib install pubsubclient@2.8.0
$(CLICFG) lib install pubsubclient@2.8.0
libraries/TelnetStream:
$(CLI) lib install TelnetStream@1.2.4
$(CLICFG) lib install TelnetStream@1.2.4
libraries/AceTime:
$(CLI) lib install Acetime@2.0.1
$(CLICFG) lib install Acetime@2.0.1
# libraries/Time:
# $(CLI) lib install --git-url https://github.com/PaulStoffregen/Time
# # https://github.com/PaulStoffregen/Time/archive/refs/tags/v1.6.1.zip
libraries/OneWire:
$(CLI) lib install OneWire@2.3.6
$(CLICFG) lib install OneWire@2.3.6
libraries/DallasTemperature: | libraries/OneWire
$(CLI) lib install DallasTemperature@3.9.0
$(CLICFG) lib install DallasTemperature@3.9.0
$(IMAGE): $(BOARDS) $(LIBRARIES) $(SOURCES)
$(info Build code)
$(CLI) compile --config-file $(CFGFILE) --fqbn=$(FQBN) --warnings default --verbose --build-property compiler.cpp.extra_flags="$(CFLAGS)"
$(CLICFG) compile --fqbn=$(FQBN) --warnings default --verbose --build-property compiler.cpp.extra_flags="$(CFLAGS)"
filesystem: $(FILESYS)
@ -117,7 +119,7 @@ $(PROJ).zip: $(PROJ)-fw.bin $(PROJ)-fs.bin
# Build the image with debugging output
debug: CFLAGS = $(CFLAGS_DEFAULT) -DDEBUG
debug: $(IMAGE)
# Load only the sketch into the device
upload: $(IMAGE)
$(ESPTOOL) --port $(PORT) -b $(BAUD) write_flash 0x0 $(IMAGE)

View File

@ -327,7 +327,7 @@ enum OpenThermMessageID {
{ 12, OT_READ , ot_u8u8, "FHBsize", "Size of Fault-History-Buffer supported by slave", "" },
{ 13, OT_READ , ot_u8u8, "FHBindexFHBvalue", "Index number / Value of referred-to fault-history buffer entry", "" },
{ 14, OT_WRITE , ot_f88, "MaxRelModLevelSetting", "Maximum relative modulation level setting", "%" },
{ 15, OT_READ , ot_u8u8, "MaxCapacityMinModLevell", "Maximum boiler capacity (kW) / Minimum boiler modulation level(%)", "kW/%" },
{ 15, OT_READ , ot_u8u8, "MaxCapacityMinModLevel", "Maximum boiler capacity (kW) / Minimum boiler modulation level(%)", "kW/%" },
{ 16, OT_WRITE , ot_f88, "TrSet", "Room Setpoint", "°C" },
{ 17, OT_READ , ot_f88, "RelModLevel", "Relative Modulation Level", "%" },
{ 18, OT_READ , ot_f88, "CHPressure", "CH water pressure", "bar" },

View File

@ -669,7 +669,7 @@ void print_status(uint16_t& value)
if (is_value_valid(OTdata, OTlookupitem)){
// AddLogf("Status u16 [%04x] _value [%04x] hb [%02x] lb [%02x]", OTdata.u16(), _value, OTdata.valueHB, OTdata.valueLB);
value = (OTcurrentSystemState.MasterStatus<<8) & OTcurrentSystemState.SlaveStatus;
value = (OTcurrentSystemState.MasterStatus<<8) | OTcurrentSystemState.SlaveStatus;
}
}
@ -706,7 +706,7 @@ void print_solar_storage_status(uint16_t& value)
}
if (is_value_valid(OTdata, OTlookupitem)){
//OTGWDebugTf(PSTR("Solar Storage Master / Slave Mode u16 [%04x] _value [%04x] hb [%02x] lb [%02x]"), OTdata.u16(), _value, OTdata.valueHB, OTdata.valueLB);
value = (OTcurrentSystemState.SolarMasterStatus<<8) & OTcurrentSystemState.SolarSlaveStatus;
value = (OTcurrentSystemState.SolarMasterStatus<<8) | OTcurrentSystemState.SolarSlaveStatus;
}
}
@ -786,7 +786,7 @@ void print_statusVH(uint16_t& value)
if (is_value_valid(OTdata, OTlookupitem)){
//OTGWDebugTf(PSTR("Status u16 [%04x] _value [%04x] hb [%02x] lb [%02x]"), OTdata.u16(), _value, OTdata.valueHB, OTdata.valueLB);
value = (OTcurrentSystemState.MasterStatusVH<<8) & OTcurrentSystemState.SlaveStatusVH;
value = (OTcurrentSystemState.MasterStatusVH<<8) | OTcurrentSystemState.SlaveStatusVH;
}
}

View File

@ -6,7 +6,7 @@ OpenTherm Nodoshop OTGW hardware - an ESP8266 firmware
This project is an firmware for the Nodoshop OTGW hardware, based on ESP8266 devkits.
Starting with version 2.3 of the Nodoshop hardware the devkit has changed from NodeMCU to a Wemos D1mini. This is fully supported by the hardware and this firmware.
Starting with version 2.3 of the Nodoshop hardware the devkit has changed from NodeMCU to a Wemos D1mini. This is fully supported by the hardware and this firmware.
Supporting hardware version are:
| Version | Hardware supported |
@ -56,7 +56,7 @@ To do:
- Instant update of webUI using websockets
- Showing log of OT messages using websockets
Looking for the documentation, go here (work in progress): <br> https://github.com/rvdbreemen/OTGW-firmware/wiki/Documentation-of-OTGW-firmware
Looking for the documentation, go here (work in progress): <br> [Wiki with Documentation](https://github.com/rvdbreemen/OTGW-firmware/wiki)
| Version | Release notes |
|-|-|

View File

@ -8,8 +8,8 @@
** TERMS OF USE: MIT License. See bottom of file.
***************************************************************************
*/
const localURL='http://'+window.location.host;
const APIGW='http://'+window.location.host+'/api/';
const localURL=window.location.protocol+'//'+window.location.host;
const APIGW=window.location.protocol+'//'+window.location.host+'/api/';
"use strict";
@ -513,6 +513,12 @@
sInput.setAttribute("type", "text");
sInput.setAttribute("maxlength", data[i].maxlen);
sInput.setAttribute("size", (data[i].maxlen > 20 ? 20 : data[i].maxlen));
}
else if (data[i].type == "p")
{
sInput.setAttribute("type", "password");
sInput.setAttribute("maxlength", data[i].maxlen);
sInput.setAttribute("size", (data[i].maxlen > 20 ? 20 : data[i].maxlen));
}
else if (data[i].type == "f")
{

View File

@ -121,6 +121,16 @@
58 ; %homeassistant%/sensor/%node_id%/Hcratio/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-Hcratio", "device_class": "temperature", "name": "%hostname%_OTC_heat_curve_ratio", "stat_t": "%mqtt_pub_topic%/DHWFlowRate", "unit_of_measurement": "°C", "value_template": "{{ value }}", "state_class" : "measurement" }
124 ; %homeassistant%/sensor/%node_id%/OpenThermVersionMaster/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-OpenThermVersionMaster", "name": "%hostname%_Master_OT_protocol_version", "stat_t": "%mqtt_pub_topic%/OpenThermVersionMaster", "unit_of_measurement": "", "value_template": "{{ value }}" }
125 ; %homeassistant%/sensor/%node_id%/OpenThermVersionSlave/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-OpenThermVersionSlave", "name": "%hostname%_Slave_OT_protocol_version", "stat_t": "%mqtt_pub_topic%/OpenThermVersionSlave", "unit_of_measurement": "", "value_template": "{{ value }}" }
// boundary values
15 ; %homeassistant%/sensor/%node_id%/MaxCapacityMinModLevel_lb_u8/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-MaxCapacityMinModLevel_lb_u8", "device_class": "power_factor", "name": "%hostname%_MaxCapacityMinModLevel_lb_u8", "stat_t": "%mqtt_pub_topic%/MaxCapacityMinModLevel_lb_u8", "unit_of_measurement": "%", "value_template": "{{ value }}"}
15 ; %homeassistant%/sensor/%node_id%/MaxCapacityMinModLevel_hb_u8/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-MaxCapacityMinModLevel_hb_u8", "device_class": "power", "name": "%hostname%_MaxCapacityMinModLevel_hb_u8", "stat_t": "%mqtt_pub_topic%/MaxCapacityMinModLevel_hb_u8", "unit_of_measurement": "kW", "value_template": "{{ value }}"}
48 ; %homeassistant%/sensor/%node_id%/TdhwSetUBTdhwSetLB_value_lb/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-TdhwSetUBTdhwSetLB_value_lb", "device_class": "temperature", "name": "%hostname%_TdhwSetUBTdhwSetLB_value_lb", "stat_t": "%mqtt_pub_topic%/TdhwSetUBTdhwSetLB_value_lb", "unit_of_measurement": "°C", "value_template": "{{ value }}" }
48 ; %homeassistant%/sensor/%node_id%/TdhwSetUBTdhwSetLB_value_hb/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-TdhwSetUBTdhwSetLB_value_hb", "device_class": "temperature", "name": "%hostname%_TdhwSetUBTdhwSetLB_value_hb", "stat_t": "%mqtt_pub_topic%/TdhwSetUBTdhwSetLB_value_hb", "unit_of_measurement": "°C", "value_template": "{{ value }}" }
49 ; %homeassistant%/sensor/%node_id%/MaxTSetUBMaxTSetLB_value_lb/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-MaxTSetUBMaxTSetLB_value_lb", "device_class": "temperature", "name": "%hostname%_MaxTSetUBMaxTSetLB_value_lb", "stat_t": "%mqtt_pub_topic%/MaxTSetUBMaxTSetLB_value_lb", "unit_of_measurement": "°C", "value_template": "{{ value }}" }
49 ; %homeassistant%/sensor/%node_id%/MaxTSetUBMaxTSetLB_value_hb/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-MaxTSetUBMaxTSetLB_value_hb", "device_class": "temperature", "name": "%hostname%_MaxTSetUBMaxTSetLB_value_hb", "stat_t": "%mqtt_pub_topic%/MaxTSetUBMaxTSetLB_value_hb", "unit_of_measurement": "°C", "value_template": "{{ value }}" }
50 ; %homeassistant%/sensor/%node_id%/HcratioUBHcratioLB_value_lb/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-HcratioUBHcratioLB_value_lb", "device_class": "temperature", "name": "%hostname%_HcratioUBHcratioLB_value_lb", "stat_t": "%mqtt_pub_topic%/HcratioUBHcratioLB_value_lb", "unit_of_measurement": "°C", "value_template": "{{ value }}" }
50 ; %homeassistant%/sensor/%node_id%/HcratioUBHcratioLB_value_hb/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-HcratioUBHcratioLB_value_hb", "device_class": "temperature", "name": "%hostname%_HcratioUBHcratioLB_value_hb", "stat_t": "%mqtt_pub_topic%/HcratioUBHcratioLB_value_hb", "unit_of_measurement": "°C", "value_template": "{{ value }}" }
// Statistics
116 ; %homeassistant%/sensor/%node_id%/BurnerStarts/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-BurnerStarts", "name": "%hostname%_BurnerStarts", "stat_t": "%mqtt_pub_topic%/BurnerStarts", "unit_of_measurement": "", "value_template": "{{ value }}", "state_class" : "total_increasing" }
117 ; %homeassistant%/sensor/%node_id%/CHPumpStarts/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-CHPumpStarts", "name": "%hostname%_CHPumpStarts", "stat_t": "%mqtt_pub_topic%/CHPumpStarts", "unit_of_measurement": "", "value_template": "{{ value }}", "state_class" : "total_increasing" }
@ -133,16 +143,16 @@
113 ; %homeassistant%/sensor/%node_id%/BurnerUnsuccessfulStarts/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-BurnerUnsuccessfulStarts", "name": "%hostname%_BurnerUnsuccessfulStarts", "stat_t": "%mqtt_pub_topic%/BurnerUnsuccessfulStarts", "unit_of_measurement": "", "value_template": "{{ value }}", "state_class" : "total_increasing" }
114 ; %homeassistant%/sensor/%node_id%/FlameSignalTooLow/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-FlameSignalTooLow", "name": "%hostname%_FlameSignalTooLow", "stat_t": "%mqtt_pub_topic%/FlameSignalTooLow", "unit_of_measurement": "", "value_template": "{{ value }}" }
// split
0 ; %homeassistant%/sensor/%node_id%/status_master/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-status_master", "name": "%hostname%_Status_Master", "stat_t": "%mqtt_pub_topic%/status_master", "unit_of_measurement": "", "value_template": "{{ value }}" }
0 ; %homeassistant%/sensor/%node_id%/status_slave/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-status_slave", "name": "%hostname%_Status_Slave", "stat_t": "%mqtt_pub_topic%/status_slave", "unit_of_measurement": "", "value_template": "{{ value }}" }
0 ; %homeassistant%/sensor/%node_id%/status_master/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-status_master", "name": "%hostname%_Status_Master", "stat_t": "%mqtt_pub_topic%/status_master"}
0 ; %homeassistant%/sensor/%node_id%/status_slave/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-status_slave", "name": "%hostname%_Status_Slave", "stat_t": "%mqtt_pub_topic%/status_slave"}
// split
5 ; %homeassistant%/sensor/%node_id%/ASF_flags/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-ASF_flags", "name": "%hostname%_Application_Specific_Fault", "stat_t": "%mqtt_pub_topic%/ASF_flags", "unit_of_measurement": "", "value_template": "{{ value }}" }
5 ; %homeassistant%/sensor/%node_id%/OEMFaultCode/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-OEMFaultCode", "name": "%hostname%_OEMFaultCode", "stat_t": "%mqtt_pub_topic%/OEMFaultCode", "unit_of_measurement": "", "value_template": "{{ value }}" }
// split
2 ; %homeassistant%/sensor/%node_id%/master_configuration/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-master_configuration", "name": "%hostname%_Status_Master_Configuration", "stat_t": "%mqtt_pub_topic%/master_configuration", "unit_of_measurement": "", "value_template": "{{ value }}" }
2 ; %homeassistant%/sensor/%node_id%/master_memberid_code/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-master_memberid_code", "name": "%hostname%_Status_Master_Memberid_Code", "stat_t": "%mqtt_pub_topic%/master_memberid_code", "unit_of_measurement": "", "value_template": "{{ value }}" }
3 ; %homeassistant%/sensor/%node_id%/slave_configuration/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-slave_configuration", "name": "%hostname%_Status_Slave_Configuration", "stat_t": "%mqtt_pub_topic%/slave_configuration", "unit_of_measurement": "", "value_template": "{{ value }}" }
3 ; %homeassistant%/sensor/%node_id%/slave_memberid_code/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-slave_memberid_code", "name": "%hostname%_Status_Slave_Memberid_Code", "stat_t": "%mqtt_pub_topic%/slave_memberid_code", "unit_of_measurement": "", "value_template": "{{ value }}" }
2 ; %homeassistant%/sensor/%node_id%/master_configuration/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-master_configuration", "name": "%hostname%_Status_Master_Configuration", "stat_t": "%mqtt_pub_topic%/master_configuration"}
2 ; %homeassistant%/sensor/%node_id%/master_memberid_code/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-master_memberid_code", "name": "%hostname%_Status_Master_Memberid_Code", "stat_t": "%mqtt_pub_topic%/master_memberid_code"}
3 ; %homeassistant%/sensor/%node_id%/slave_configuration/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-slave_configuration", "name": "%hostname%_Status_Slave_Configuration", "stat_t": "%mqtt_pub_topic%/slave_configuration"}
3 ; %homeassistant%/sensor/%node_id%/slave_memberid_code/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-slave_memberid_code", "name": "%hostname%_Status_Slave_Memberid_Code", "stat_t": "%mqtt_pub_topic%/slave_memberid_code"}
// split
101 ; %homeassistant%/sensor/%node_id%/solar_storage_master_mode/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-solar_storage_master_mode", "name": "%hostname%_solar_storage_master_mode", "stat_t": "%mqtt_pub_topic%/solar_storage_master_mode", "unit_of_measurement": "", "value_template": "{{ value }}" }
101 ; %homeassistant%/sensor/%node_id%/solar_storage_mode_status/config ; {"avty_t": "%mqtt_pub_topic%", "dev": {"identifiers": "%node_id%", "manufacturer": "Schelte Bron", "model": "otgw-nodo", "name": "OpenTherm Gateway (%hostname%)", "sw_version": "%version%"}, "uniq_id": "%node_id%-solar_storage_mode_status", "name": "%hostname%_solar_storage_mode_status", "stat_t": "%mqtt_pub_topic%/solar_storage_mode_status", "unit_of_measurement": "", "value_template": "{{ value }}" }

View File

@ -1,5 +0,0 @@
{
"extends": [
"config:base"
]
}

View File

@ -421,7 +421,8 @@ void sendDeviceSettings()
RESTDebugTln(F("sending device settings ...\r"));
sendStartJsonObj("settings");
//sendJsonSettingObj("string", settingString, "p", sizeof(settingString)-1);
//sendJsonSettingObj("string", settingString, "s", sizeof(settingString)-1);
//sendJsonSettingObj("float", settingFloat, "f", 0, 10, 5);
//sendJsonSettingObj("intager", settingInteger , "i", 2, 60);
@ -431,7 +432,7 @@ void sendDeviceSettings()
sendJsonSettingObj("mqttbroker", CSTR(settingMQTTbroker), "s", 32);
sendJsonSettingObj("mqttbrokerport", settingMQTTbrokerPort, "i", 0, 65535);
sendJsonSettingObj("mqttuser", CSTR(settingMQTTuser), "s", 32);
sendJsonSettingObj("mqttpasswd", CSTR(settingMQTTpasswd), "s", 100);
sendJsonSettingObj("mqttpasswd", CSTR(settingMQTTpasswd), "p", 100);
sendJsonSettingObj("mqtttoptopic", CSTR(settingMQTTtopTopic), "s", 15);
sendJsonSettingObj("mqtthaprefix", CSTR(settingMQTThaprefix), "s", 20);
sendJsonSettingObj("mqttharebootdetection", settingMQTTharebootdetection, "b");

View File

@ -1,16 +1,16 @@
//The version number conforms to semver.org format
#define _VERSION_MAJOR 0
#define _VERSION_MINOR 10
#define _VERSION_PATCH 2
#define _VERSION_BUILD 2088
#define _VERSION_GITHASH "50c3ed2"
//#define _VERSION_PRERELEASE beta //uncomment to define prerelease labels: alpha - beta - rc
#define _VERSION_DATE "14-03-2023"
#define _VERSION_TIME "23:58:40"
#define _SEMVER_CORE "0.10.2"
#define _SEMVER_BUILD "0.10.2+2088"
#define _SEMVER_GITHASH "0.10.2+50c3ed2"
#define _SEMVER_FULL "0.10.2+50c3ed2"
#define _SEMVER_NOBUILD "0.10.2 (14-03-2023)"
#define _VERSION "0.10.2+50c3ed2 (14-03-2023)"
#define _VERSION_PATCH 3
#define _VERSION_BUILD 2112
#define _VERSION_GITHASH "1c8485a"
#define _VERSION_PRERELEASE beta
#define _VERSION_DATE "13-04-2024"
#define _VERSION_TIME "13:40:09"
#define _SEMVER_CORE "0.10.3"
#define _SEMVER_BUILD "0.10.3+2112"
#define _SEMVER_GITHASH "0.10.3+1c8485a"
#define _SEMVER_FULL "0.10.3-beta+1c8485a"
#define _SEMVER_NOBUILD "0.10.3-beta (13-04-2024)"
#define _VERSION "0.10.3-beta+1c8485a (13-04-2024)"
//The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver