From 867432a90409cb855a7f52ae491bdc5bcb3b6e56 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sat, 11 Feb 2023 13:21:10 +0100 Subject: [PATCH 01/57] Removing git submodules from src tree --- .gitmodules | 21 --------------------- Arduino/libraries/ArduinoJson | 1 - Arduino/libraries/DallasTemperature | 1 - Arduino/libraries/OneWire | 1 - Arduino/libraries/TelnetStream | 1 - Arduino/libraries/WiFiManager | 1 - Arduino/libraries/pubsubclient | 1 - Arduino/packages/esp8266 | 1 - 8 files changed, 28 deletions(-) delete mode 160000 Arduino/libraries/ArduinoJson delete mode 160000 Arduino/libraries/DallasTemperature delete mode 160000 Arduino/libraries/OneWire delete mode 160000 Arduino/libraries/TelnetStream delete mode 160000 Arduino/libraries/WiFiManager delete mode 160000 Arduino/libraries/pubsubclient delete mode 160000 Arduino/packages/esp8266 diff --git a/.gitmodules b/.gitmodules index f761d0f..fcb84da 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,27 +1,6 @@ -[submodule "Arduino/libraries/pubsubclient"] - path = Arduino/libraries/pubsubclient - url = https://github.com/knolleary/pubsubclient -[submodule "Arduino/libraries/WiFiManager"] - path = Arduino/libraries/WiFiManager - url = https://github.com/tzapu/WiFiManager -[submodule "Arduino/libraries/TelnetStream"] - path = Arduino/libraries/TelnetStream - url = https://github.com/jandrassy/TelnetStream [submodule "Arduino/libraries/aceTime"] path = Arduino/libraries/aceTime url = https://github.com/bxparks/AceTime [submodule "Arduino/libraries/Time"] path = Arduino/libraries/Time url = https://github.com/PaulStoffregen/Time.git -[submodule "Arduino/libraries/ArduinoJson"] - path = Arduino/libraries/ArduinoJson - url = https://github.com/bblanchon/ArduinoJson -[submodule "Arduino/packages/esp8266"] - path = Arduino/packages/esp8266 - url = https://github.com/esp8266/Arduino.git -[submodule "Arduino/libraries/DallasTemperature"] - path = Arduino/libraries/DallasTemperature - url = https://github.com/milesburton/Arduino-Temperature-Control-Library -[submodule "Arduino/libraries/OneWire"] - path = Arduino/libraries/OneWire - url = https://github.com/PaulStoffregen/OneWire.git diff --git a/Arduino/libraries/ArduinoJson b/Arduino/libraries/ArduinoJson deleted file mode 160000 index 1360b6a..0000000 --- a/Arduino/libraries/ArduinoJson +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1360b6a396e096365c917a5518cf29aeac6c9444 diff --git a/Arduino/libraries/DallasTemperature b/Arduino/libraries/DallasTemperature deleted file mode 160000 index 4a0ccc1..0000000 --- a/Arduino/libraries/DallasTemperature +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4a0ccc11c5ba32a4ebf466d7706178c57a8ef61c diff --git a/Arduino/libraries/OneWire b/Arduino/libraries/OneWire deleted file mode 160000 index 0fa5e7a..0000000 --- a/Arduino/libraries/OneWire +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0fa5e7aae3c781808d23b3845e69ea07d0bc173d diff --git a/Arduino/libraries/TelnetStream b/Arduino/libraries/TelnetStream deleted file mode 160000 index 16c07e9..0000000 --- a/Arduino/libraries/TelnetStream +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 16c07e97ee83f2a094706044d1e24d7fdb1c6265 diff --git a/Arduino/libraries/WiFiManager b/Arduino/libraries/WiFiManager deleted file mode 160000 index 16bd0f4..0000000 --- a/Arduino/libraries/WiFiManager +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 16bd0f4f3cf63f495b6e4fc14a7a5867eab328a1 diff --git a/Arduino/libraries/pubsubclient b/Arduino/libraries/pubsubclient deleted file mode 160000 index 2d228f2..0000000 --- a/Arduino/libraries/pubsubclient +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2d228f2f862a95846c65a8518c79f48dfc8f188c diff --git a/Arduino/packages/esp8266 b/Arduino/packages/esp8266 deleted file mode 160000 index 2843a5a..0000000 --- a/Arduino/packages/esp8266 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2843a5ace10eb696f19c9d754be7bbf6331046b5 From 997e93749d64c5b251355c6fa51c2e739e6df1b7 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sat, 11 Feb 2023 13:29:19 +0100 Subject: [PATCH 02/57] config .gitignore --- .gitignore | 3 +++ version.h | 14 +++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 169e912..92d6a92 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ package-lock.json .DS_Store **/.DS_Store Arduino/** +staging/** +libraries/** +arduino-cli.yaml diff --git a/version.h b/version.h index b90a568..87d60f7 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 1 -#define _VERSION_BUILD 2044 -#define _VERSION_GITHASH "db010f2" +#define _VERSION_BUILD 2045 +#define _VERSION_GITHASH "867432a" //#define _VERSION_PRERELEASE beta //uncomment to define prerelease labels: alpha - beta - rc #define _VERSION_DATE "11-02-2023" -#define _VERSION_TIME "09:30:33" +#define _VERSION_TIME "13:28:19" #define _SEMVER_CORE "0.10.1" -#define _SEMVER_BUILD "0.10.1+2044" -#define _SEMVER_GITHASH "0.10.1+db010f2" -#define _SEMVER_FULL "0.10.1+db010f2" +#define _SEMVER_BUILD "0.10.1+2045" +#define _SEMVER_GITHASH "0.10.1+867432a" +#define _SEMVER_FULL "0.10.1+867432a" #define _SEMVER_NOBUILD "0.10.1 (11-02-2023)" -#define _VERSION "0.10.1+db010f2 (11-02-2023)" +#define _VERSION "0.10.1+867432a (11-02-2023)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From 1d8f80b046fad79d935da1818b61cfa57ec1982f Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 12 Feb 2023 10:49:12 +0100 Subject: [PATCH 03/57] updating .gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 169e912..b2df894 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ package-lock.json .DS_Store **/.DS_Store Arduino/** +libraries/** +staging/** +arduino-cli.yaml From d4d33c7894a023d92dad3812692c709dbac1d274 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 13 Feb 2023 21:43:43 +0100 Subject: [PATCH 04/57] Fix for hostname to wifi (credits to @hvxl) --- OTGW-firmware.ino | 1 - networkStuff.h | 1 + version.h | 18 +++++++++--------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/OTGW-firmware.ino b/OTGW-firmware.ino index c5f8c25..8fedb4b 100644 --- a/OTGW-firmware.ino +++ b/OTGW-firmware.ino @@ -75,7 +75,6 @@ void setup() { startNTP(); //start with setting wifi hostname - WiFi.hostname(String(settingHostname)); startWiFi(CSTR(settingHostname), 240); // timeout 240 seconds blinkLED(LED1, 3, 100); setLed(LED1, OFF); diff --git a/networkStuff.h b/networkStuff.h index 8d7403d..5b76bed 100644 --- a/networkStuff.h +++ b/networkStuff.h @@ -123,6 +123,7 @@ void startWiFi(const char* hostname, int timeOut) manageWiFi.setShowInfoUpdate(false); manageWiFi.setShowInfoErase(false); manageWiFi.setMenu(wm_menu); + manageWiFi.setHostname(hostname); //--- fetches ssid and pass and tries to connect //--- if it does not connect it starts an access point with the specified name diff --git a/version.h b/version.h index b90a568..684e10a 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 1 -#define _VERSION_BUILD 2044 -#define _VERSION_GITHASH "db010f2" +#define _VERSION_BUILD 2046 +#define _VERSION_GITHASH "1d8f80b" //#define _VERSION_PRERELEASE beta //uncomment to define prerelease labels: alpha - beta - rc -#define _VERSION_DATE "11-02-2023" -#define _VERSION_TIME "09:30:33" +#define _VERSION_DATE "13-02-2023" +#define _VERSION_TIME "19:11:23" #define _SEMVER_CORE "0.10.1" -#define _SEMVER_BUILD "0.10.1+2044" -#define _SEMVER_GITHASH "0.10.1+db010f2" -#define _SEMVER_FULL "0.10.1+db010f2" -#define _SEMVER_NOBUILD "0.10.1 (11-02-2023)" -#define _VERSION "0.10.1+db010f2 (11-02-2023)" +#define _SEMVER_BUILD "0.10.1+2046" +#define _SEMVER_GITHASH "0.10.1+1d8f80b" +#define _SEMVER_FULL "0.10.1+1d8f80b" +#define _SEMVER_NOBUILD "0.10.1 (13-02-2023)" +#define _VERSION "0.10.1+1d8f80b (13-02-2023)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From d84c4397a1d89a09c02b25cbb626a7072c3135cf Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sat, 18 Feb 2023 20:26:02 +0100 Subject: [PATCH 05/57] Trying to build a relase system --- .github/workflows/release.yml | 24 ++++++++++++++++++++++++ version.h | 14 ++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..966ae55 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,24 @@ +name: release-workflow + +on: + push: + tags: + - "v*.*.*" + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Build + run: echo ${{ github.sha }} > Release.txt + - name: Test + run: cat Release.txt + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + Release.txt + LICENSE \ No newline at end of file diff --git a/version.h b/version.h index 87d60f7..cf288de 100644 --- a/version.h +++ b/version.h @@ -2,6 +2,7 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 1 +<<<<<<< Updated upstream #define _VERSION_BUILD 2045 #define _VERSION_GITHASH "867432a" //#define _VERSION_PRERELEASE beta //uncomment to define prerelease labels: alpha - beta - rc @@ -13,4 +14,17 @@ #define _SEMVER_FULL "0.10.1+867432a" #define _SEMVER_NOBUILD "0.10.1 (11-02-2023)" #define _VERSION "0.10.1+867432a (11-02-2023)" +======= +#define _VERSION_BUILD 2068 +#define _VERSION_GITHASH "d4d33c7" +//#define _VERSION_PRERELEASE beta //uncomment to define prerelease labels: alpha - beta - rc +#define _VERSION_DATE "18-02-2023" +#define _VERSION_TIME "19:56:37" +#define _SEMVER_CORE "0.10.1" +#define _SEMVER_BUILD "0.10.1+2068" +#define _SEMVER_GITHASH "0.10.1+d4d33c7" +#define _SEMVER_FULL "0.10.1+d4d33c7" +#define _SEMVER_NOBUILD "0.10.1 (18-02-2023)" +#define _VERSION "0.10.1+d4d33c7 (18-02-2023)" +>>>>>>> Stashed changes //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From fa737be11ea7eac4b8e333d210d850b25e97a3e7 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 26 Feb 2023 21:07:11 +0100 Subject: [PATCH 06/57] Adding a little memory for use with larger settings... NTP longer FQDN fix --- OTGW-firmware.h | 4 ++-- settingStuff.ino | 5 ++--- version.h | 32 +++++++++----------------------- 3 files changed, 13 insertions(+), 28 deletions(-) diff --git a/OTGW-firmware.h b/OTGW-firmware.h index a257113..ebf4771 100644 --- a/OTGW-firmware.h +++ b/OTGW-firmware.h @@ -111,13 +111,13 @@ String settingHostname = _HOSTNAME; bool statusMQTTconnection = false; bool settingMQTTenable = true; bool settingMQTTsecure = false; -String settingMQTTbroker= "192.168.88.254"; +String settingMQTTbroker= "homeassistant.local"; int16_t settingMQTTbrokerPort = 1883; String settingMQTTuser = ""; String settingMQTTpasswd = ""; String settingMQTThaprefix = HOME_ASSISTANT_DISCOVERY_PREFIX; bool settingMQTTharebootdetection = true; -String settingMQTTtopTopic = "otgw"; +String settingMQTTtopTopic = "OTGW"; String settingMQTTuniqueid = ""; // Intialized in readsettings bool settingMQTTOTmessage = false; bool settingNTPenable = true; diff --git a/settingStuff.ino b/settingStuff.ino index cc864e2..4a072e9 100644 --- a/settingStuff.ino +++ b/settingStuff.ino @@ -27,7 +27,7 @@ void writeSettings(bool show) DebugT(F("Start writing setting data ")); //const size_t capacity = JSON_OBJECT_SIZE(6); // save more setting, grow # of objects accordingly - DynamicJsonDocument doc(1024); + DynamicJsonDocument doc(1280); JsonObject root = doc.to(); root["hostname"] = settingHostname; root["MQTTenable"] = settingMQTTenable; @@ -69,7 +69,6 @@ void writeSettings(bool show) //======================================================================= void readSettings(bool show) { - // Open file for reading File file = LittleFS.open(SETTINGS_FILE, "r"); @@ -83,7 +82,7 @@ void readSettings(bool show) } // Deserialize the JSON document - StaticJsonDocument<1024> doc; + StaticJsonDocument<1280> doc; DeserializationError error = deserializeJson(doc, file); if (error) { diff --git a/version.h b/version.h index cf288de..809c1bf 100644 --- a/version.h +++ b/version.h @@ -2,29 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 1 -<<<<<<< Updated upstream -#define _VERSION_BUILD 2045 -#define _VERSION_GITHASH "867432a" +#define _VERSION_BUILD 2072 +#define _VERSION_GITHASH "141d6bf" //#define _VERSION_PRERELEASE beta //uncomment to define prerelease labels: alpha - beta - rc -#define _VERSION_DATE "11-02-2023" -#define _VERSION_TIME "13:28:19" +#define _VERSION_DATE "26-02-2023" +#define _VERSION_TIME "21:02:42" #define _SEMVER_CORE "0.10.1" -#define _SEMVER_BUILD "0.10.1+2045" -#define _SEMVER_GITHASH "0.10.1+867432a" -#define _SEMVER_FULL "0.10.1+867432a" -#define _SEMVER_NOBUILD "0.10.1 (11-02-2023)" -#define _VERSION "0.10.1+867432a (11-02-2023)" -======= -#define _VERSION_BUILD 2068 -#define _VERSION_GITHASH "d4d33c7" -//#define _VERSION_PRERELEASE beta //uncomment to define prerelease labels: alpha - beta - rc -#define _VERSION_DATE "18-02-2023" -#define _VERSION_TIME "19:56:37" -#define _SEMVER_CORE "0.10.1" -#define _SEMVER_BUILD "0.10.1+2068" -#define _SEMVER_GITHASH "0.10.1+d4d33c7" -#define _SEMVER_FULL "0.10.1+d4d33c7" -#define _SEMVER_NOBUILD "0.10.1 (18-02-2023)" -#define _VERSION "0.10.1+d4d33c7 (18-02-2023)" ->>>>>>> Stashed changes +#define _SEMVER_BUILD "0.10.1+2072" +#define _SEMVER_GITHASH "0.10.1+141d6bf" +#define _SEMVER_FULL "0.10.1+141d6bf" +#define _SEMVER_NOBUILD "0.10.1 (26-02-2023)" +#define _VERSION "0.10.1+141d6bf (26-02-2023)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From 2d64148d127e7d201da92e43683624f498d28459 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Tue, 14 Mar 2023 22:26:17 +0100 Subject: [PATCH 07/57] fix the 0bytes on update Pic firmware, by downgrading the core to 2.7.4 --- Makefile | 6 ++++-- version.h | 24 ++++++++++++------------ 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index ab23311..a74a670 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,9 @@ CFLAGS = $(CFLAGS_DEFAULT) CLI := arduino-cli PLATFORM := esp8266:esp8266 CFGFILE := arduino-cli.yaml -ESP8266URL := https://github.com/esp8266/Arduino/releases/download/3.0.2/package_esp8266com_index.json +# 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 BOARDS := arduino/package_esp8266com_index.json # PORT can be overridden by the environment or on the command line. E.g.: @@ -78,7 +80,7 @@ libraries/PubSubClient: $(CLI) lib install pubsubclient@2.8.0 libraries/TelnetStream: - $(CLI) lib install TelnetStream@1.2.2 + $(CLI) lib install TelnetStream@1.2.4 libraries/AceTime: $(CLI) lib install Acetime@2.0.1 diff --git a/version.h b/version.h index 809c1bf..55f6b94 100644 --- a/version.h +++ b/version.h @@ -1,16 +1,16 @@ //The version number conforms to semver.org format #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 -#define _VERSION_PATCH 1 -#define _VERSION_BUILD 2072 -#define _VERSION_GITHASH "141d6bf" -//#define _VERSION_PRERELEASE beta //uncomment to define prerelease labels: alpha - beta - rc -#define _VERSION_DATE "26-02-2023" -#define _VERSION_TIME "21:02:42" -#define _SEMVER_CORE "0.10.1" -#define _SEMVER_BUILD "0.10.1+2072" -#define _SEMVER_GITHASH "0.10.1+141d6bf" -#define _SEMVER_FULL "0.10.1+141d6bf" -#define _SEMVER_NOBUILD "0.10.1 (26-02-2023)" -#define _VERSION "0.10.1+141d6bf (26-02-2023)" +#define _VERSION_PATCH 2 +#define _VERSION_BUILD 2087 +#define _VERSION_GITHASH "fa737be" +#define _VERSION_PRERELEASE beta +#define _VERSION_DATE "14-03-2023" +#define _VERSION_TIME "22:07:39" +#define _SEMVER_CORE "0.10.2" +#define _SEMVER_BUILD "0.10.2+2087" +#define _SEMVER_GITHASH "0.10.2+fa737be" +#define _SEMVER_FULL "0.10.2-beta+fa737be" +#define _SEMVER_NOBUILD "0.10.2-beta (14-03-2023)" +#define _VERSION "0.10.2-beta+fa737be (14-03-2023)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From 67a443e86d31a5fd3402458840597740cfdbedc1 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Tue, 14 Mar 2023 22:53:21 +0100 Subject: [PATCH 08/57] Update firmware hex files to 6.5 and 5.8 --- data/pic16f1847/gateway.hex | 996 ++++++++++++++++++------------------ data/pic16f1847/gateway.ver | 2 +- data/pic16f88/gateway.hex | 832 +++++++++++++++--------------- data/pic16f88/gateway.ver | 2 +- 4 files changed, 920 insertions(+), 912 deletions(-) diff --git a/data/pic16f1847/gateway.hex b/data/pic16f1847/gateway.hex index cd842d4..47310d8 100644 --- a/data/pic16f1847/gateway.hex +++ b/data/pic16f1847/gateway.hex @@ -1,254 +1,260 @@ :020000040000FA -:100000009F3100278431492C20001A08F0009D31CF -:1000100091180E26921E121B81250900731B392888 -:10002000731AE723322074087806031DE001F806EE -:100030007C1152178A20E501D81EB0230319242809 -:100040007C1D581967280800D81A32207C155213D5 -:1000500051237C1DF633D212F4008A206728521BEC -:10006000033208007308F7007508A4007608A5009D -:100070000800D1157408430603195813731EE723AB -:10008000B023F31A731E0A3203190332553980075D -:10009000083274089B314E2380310332FF3AD71F58 -:1000A0008005D713D217D2187F287C1905328A20F1 -:1000B0007C19581908000B328A20D21658190800EA -:1000C0004030521F70309723D213521F8A20760877 -:1000D00075067406F3137306F100F10E7106F10054 -:1000E000F10CF10CF1060130F118F1067118F3175B -:1000F0007C1808005230731B4130883136288A2022 -:100100005030F3000430F400AA30F5002908F6005E -:10011000D2106728F41B122C74080B002B297929A4 -:100120009629112CAB29B929BF29D129D929E3292D -:100130002A2B392B2A2B422BF729122C052A112C7A -:10014000122C122C352A122C122C122C122C112C9F -:10015000122C3E2A482A122C122C122C122C122C51 -:10016000122C122C122C122C122C122C122C122C9F -:10017000122C122C122C122C122C122C542A5E2A05 -:10018000122C122C122C122C122C122C682A892AB6 -:10019000122C122C122C122C122C122C122C122C6F -:1001A000122C122C122C122C0C2CAF2A122C122CCA -:1001B000122C122C122C122C122C122C122C122C4F -:1001C000122C122C122C122C122C122C2A2B392B02 -:1001D0002A2B422B122C122C122C122C122C122CE9 -:1001E000122CB72AF92A0C2C122C122C122C2A2B86 -:1001F000392B2A2B422B122C122C122C122C122CA3 -:10020000122C122C122C122C122C122C122C122CFE -:10021000122C122C122C192B1F2B122C6030043292 -:100220007708C038F31F7F397306031D7C15F3066A -:1002300000347506031D7C15F5060034F31E080016 -:10024000771E0E2910212408192125087606031D82 -:100250007C15F6060034731B4D294B235909EA38E7 -:10026000FD39E61E5C1A0238F1000301B41BD819EF -:100270000138661E5C1A0238B81F0438B61F1038E1 -:10028000E6192038591B4038F105FF3A750571040D -:100290001921750802394330252CF31A08005C1A1D -:1002A0006A217608A500413903195112031D511A1C -:1002B0005C295116053035234D3025247608083940 -:1002C000463025247608043957302524760802392B -:1002D0004830252CDC190932F61D03327619DC155D -:1002E0000800DC0ADC1D08000132761DDC01491221 -:1002F0000800731B92294B23581D7C198129B41BBC -:1003000008007316B41BD81D8B293208031947083F -:100310001921330826290301B41F34081921B41FF9 -:1003200035082629F31E0800B4170800731F9E29FC -:100330000130240519212508262110297518D51604 -:100340005B1A080076080B3C0319DB1B0800DB175F -:10035000D51A5B170800731F0800C8007502031D3B -:10036000F31A5711AA307502031D0800102129083D -:100370002629731B122C561A561B0800232A731F9A -:1003800008000301F31E731AC9297608FC38571BAD -:10039000D70558060339D8061021571375080338B6 -:1003A0001929731FB81B080073163808192139085A -:1003B0002629731B122CB61B7C19DF290800731623 -:1003C000192137082629731F0800D619E929F31EB9 -:1003D00008001021561E2A081921561E2B08262116 -:1003E0005613DB1AD61D0800561DD2140800731BC5 -:1003F00008004B23CF1B7C19FF29581D08007316DA -:100400004F08CF1B643019212629731B2029D619C8 -:10041000561B0800561A232A2B087602F1002A08D8 -:10042000031C013E7502031CFF3A031D2A2A031C0C -:10043000F109E0307105031D2A2A561908005615E6 -:10044000D6134F30272C56122A082B040319322AB0 -:1004500056170800561DD60A561D08005B1B322A87 -:10046000AA01AB01D6014F30332C731F0800AF1B1C -:100470001E2910212E0819212F082629731B511C13 -:100480000800D1180E2910212C0819212D08262921 -:10049000731B661D0800581A0E29102122004008FF -:1004A0001921410820002629731F08005712F31A4A -:1004B000122C7508C5007608C400122C731F0800A2 -:1004C000D712F31A122C7508C7007608C600122C32 -:1004D000731B762AB008731E5718031908001030D2 -:1004E0001421300819213108262138345710F31E01 -:1004F0002F28731E822A102130080319450819215C -:1005000031082629B00803190800B001B1010F30E5 -:100510002032731B972AB208731ED71803190800DC -:100520001030142132081921330826213934D7100C -:10053000F31E2F28731EA32A10213208031947081F -:10054000192133082629B20803190800B201B301A2 -:100550001130F901FA019B310523823108003A3646 -:100560007C1D0318731B0800731626211929730EAE -:1005700007390B001B322932080008001D320432F3 -:100580000000491A5C160C32DC1A751A03325C162C -:1005900075167C15DC13DC12750849061039C9067E -:1005A000D7111021490819214A082629DC1F080003 -:1005B000103014215213F633D7190632751E5C1E03 -:1005C000EB3375167C15EC33D7117508C900760826 -:1005D000CA00751A491A08004916F12203195C1657 -:1005E00008006330B023031908006330DC16DC1701 -:1005F000352B731F0800D619FF2AF31E0800D61AE0 -:10060000CE0E7C1112247C190C2B10214E0E0339B6 -:100610002621641B760819215B1BD61E172B4E0E54 -:100620004E06031D561B172B5616D6155617D612F7 -:100630000800731F08001021033019212629731F99 -:10064000DB1F08005B137508143C0319DB16031C41 -:100650005B170800731F08007C19D21F122C750845 -:10066000F31E03190800E100740AC3005817DA11D9 -:100670000800731F7C1D0632DA1D0432103014216D -:1006800063082629731F0C2C7C19E20A6108620298 -:10069000031C58170800731B0800B023FF3A80059D -:1006A00008000030F300F501F601D70803197A2B92 -:1006B000A1016223B123031D602B2109D705552B0E -:1006C000720808002117571B06342116571A3034B8 -:1006D000A116D71A3134211457186F2AA114D7182C -:1006E000902AA115D71963342115571D00344808E5 -:1006F000F5000434581F812BD7176208F500430812 -:100700000800D7014208031DA02B521A962B203057 -:10071000FB00D21ABF0A3F081F39E03E86316D2622 -:100720008331031D0800FB0B8A2B52167C117704C2 -:10073000F3002408F5002508F6007808F400080006 -:100740001030F3007430FB00F1010314A82BFB0AF6 -:10075000F10D710842050319A72BC2067B0808009A -:100760007408F200720C090C1F39BA3E8400F21BA7 -:100770000034033072180C30F100F218F10E000949 -:100780007105F10E710E080071080B00C334C134FD -:100790008F349F340234003403340334C0342034A3 -:1007A0000034003400340034F0340F340B000034D3 -:1007B000043407340C34123413341334153417341E -:1007C00019341A341A341A341A341A341E34740D83 -:1007D000031CF31A0800F100710E0F39F1007408C0 -:1007E0000739FB00FB0AC4237106F1067106A1015B -:1007F0000318A10AF10CFB0BF82B031C0800D623ED -:10080000A107210D203E8400850A75088000840A16 -:100810007608800085010800D21B7C1D731F08002C -:1008200006324B23D21B7C1D731F0800A401A501B7 -:1008300074089B31FB238431031D08001021603FA5 -:1008400025042621703F240419290319332C5F3E07 -:1008500084000014FE30000503195434FF3A8D055E -:10086000F938DA0554345F3E84000010000803199B -:1008700042348D040639DA0442342100DE1A452C54 -:10088000DE012000482D21005F15DF149F31002775 -:10089000843122008D0121006A3099002300073045 -:1008A0008C008D0122001E149D172100E7308C0062 -:1008B00007308D00961C16141609961B0530161B62 -:1008C00006300F3903195F0A031E0301090EFC00ED -:1008D000031EFC150F309600D53095002000F9302E -:1008E0009B0000309C0096019701313098009501E3 -:1008F0000B1164000B1D792C23009D0119309B0006 -:100900001E151E129E169D1722008A309700C830B1 -:100910009800171FFE33210010309E007D309D008F -:10092000921612179114000000009D14FC1D9E2CBD -:100930002B308831092084315819FC110030812571 -:100940000130812502308125033081259D18FE3339 -:100950000630DE26DB005630DE26DC009C30DE264C -:10096000DD0001309D0000306D26E400220099007A -:100970000E306D26E6009B31892384316B26B00052 -:10098000031D57146B26B1006B26B200031DD7144C -:100990006B26B3002300FC1D1D162800F9309600BD -:1009A00026309700220015098301200092010339A7 -:1009B000D300FF308D005318F739D318EF398C006E -:1009C0000B17FC1D8B17BF097830D7041430C400F7 -:1009D0005030C5000A30C6005A30C700B417CF17D0 -:1009E000B817B617AF173230CC000D306D26DB00CC -:1009F0001030FB00F901D030A10021086D26FA006B -:100A00007908FA0803190E2DF900FA36031C0C2D8B -:100A10008331B12385318004790A012D0730F9042F -:100A2000F90AA10AFB0BFD2C15308831092085310C -:100A3000F10106306D269831F4208531F10A073036 -:100A40006D269831F4208531F10A08306D269831F1 -:100A5000F4208531F10A09306D269831F420853172 -:100A6000F10A0A306D269831F4208531F10A0B30F5 -:100A70006D269831F420853101306D26D000893102 -:100A8000BD218531FC1D482D4D3084312724853111 -:100A90006400C108031D4F26FC19482D5218AC25CF -:100AA000D51BDA250B19FE2511181C269318EF25E6 -:100AB000111B74268931F521853151193A26601BA5 -:100AC000432C911E482D23001D1D05329908031942 -:100AD0003D2C2000482D9D1C722D1D121D1620003E -:100AE000D116482D8F25D21D482D98310020A60102 -:100AF000D21188310038031D00200A208531D62507 -:100B0000482D093685000301090C20388400800136 -:100B1000840A04097039031D872D8501080020000F -:100B2000013087002608D03E8600230019082000E7 -:100B3000D219080081000A3A03190800073A03197C -:100B4000A62D2608013E831CA6000800A60803194E -:100B500008008101D21508008831332085315210F8 -:100B600080310E2085317C18BE2D581DC02DD31626 -:100B700074087806031DD62DCD0A4D12E001D62D3E -:100B80000130D400D3155316583080312724731FF9 -:100B9000423027240830731B1030BD002230A800DB -:100BA000210091142000F9309A001C1588314D2045 -:100BB00085310800D513551A551CE42D21005A081B -:100BC0005D022000031C080055085A06113903195C -:100BD0000800DA0689316721092085310800931061 -:100BE000CC0B0800D119E00AD8173230CC00650FC1 -:100BF000E5000530650203188C1108002100DE1E97 -:100C0000DE0A20001C1D18269831FC188623883126 -:100C10005E090319DE01DE08031D42208431DF086E -:100C2000031DDF0B08004530843133248631080072 -:100C300021009D14200008001110CB1F2A26D61970 -:100C4000561908008030D60656054F3084312524C9 -:100C500086310800CB03CB1F08005D1CAF17DD1CDD -:100C6000B4175D1DB617993107305D05031DCD2101 -:100C70008631080041083C3C031C080088315F2095 -:100C800086312230400203184A2E2C308831192038 -:100C900086310800511188310A2086310800111E62 -:100CA00008002708203E84008514000885012300E1 -:100CB0009A002000A70A503027060319A701C10394 -:100CC00008002300951C08002000911E612EF200F0 -:100CD0008F257208612E2300110A6126950191006B -:100CE0001514130820000800111321001C085A06CF -:100CF000DA065A065A02031C003CFC39031DB22EC8 -:100D00005A085D02031C992E5A085B020318962E9E -:100D10005A085C022000581D0800031CB52E58110B -:100D2000D8114E3088310920863108002000D815AE -:100D30009B2E2000D8115819B52E58153630883101 -:100D4000092086311C118030D5058C1553145B1E8B -:100D5000DB01D601AA01AB01503084313324863146 -:100D6000200008002000581D08007C1CD81F080027 -:100D70000030F300F501F601F701D812CA26F4009D -:100D8000803113208031731AE7237408F800D813D8 -:100D90008531C02D4D080B00003419340134DC2E90 -:100DA00011341B341C340E34DC2E0034193401345D -:100DB00038343934DC2E1234D8160034F3000830BD -:100DC000FB001C089B1B013EF401F30C0318F40705 -:100DD000F40CF30CFB0BFA337335740D731B013EEB -:100DE0000800031D032F67081F39E70A0B00062FB1 -:100DF0006A2F122F0034062F682F152F062F6A2F07 -:100E0000222F242F282F03143F2700348C13210076 -:100E10008C13432721008C17200046278C1B032F9F -:100E20004427013444306B27003457277108103AA7 -:100E300003190134E717383A031901340A3A031940 -:100E40000134032FBE306B2F57277108E80001349F -:100E50005727E71B312F710C680CF900FA01FA0CC7 -:100E60003B2F680EF039FA00710EF039F100680E70 -:100E70000F397104F900553A0319032F0310993102 -:100E8000F021E70101344427E830472F36302100B4 -:100E9000911020001B020A3E9A001C15911C4E2F37 -:100EA0001C119110080055275527000008005827ED -:100EB0005B275B275B278C1321008C1303108C1797 -:100EC000200054278C1B0314F10C2D3047270800F9 -:100ED00033306B2FCC30F1006D27702770277027CF -:100EE000F10C8C1321008C1303188C173230472718 -:080EF00021008C1720000134E1 -:1010000086316D26883103190800192086316B2638 +:100000009F3100278431562C20001A08F0009D31C2 +:1000100091182226921A9F25121B90250900731B06 +:100020003A28731AF423332074087806031DE2017A +:10003000F8067C1154178B20E701DA1EBD23031943 +:1000400025287C1D5A1968280800DA1A33207C15E7 +:1000500054135E237C1DF633D412F4008B206828E1 +:10006000541B033208007308F7007508A4007608D3 +:10007000A5000800D3157408430603195A13731E0C +:10008000F423BD23F31A731E0A32031903325539C0 +:100090008007083274089B315D2380310332FF3AB8 +:1000A000D91F8005D913D417D41880287C1905329C +:1000B0008B207C195A1908000B328B20D4165A1940 +:1000C00008004030541F7030A423D413541F8B20D9 +:1000D000760875067406F3137306F100F10E7106C7 +:1000E000F100F10CF10CF1060130F118F106711874 +:1000F000F3177C1808005230731B413088313628C2 +:100100008B205030F3000430F400AA30F5002908A9 +:10011000F600D4106828F41B1F2C74080B002C293F +:100120007A2997291E2CAC29BA29C029D229DA2983 +:10013000E429372B462B372B4F2BF8291F2C062A67 +:100140001E2C1F2C1F2C3D2A1F2C1F2C1F2C1F2C3C +:100150001E2C1F2C462A502A1F2C1F2C1F2C1F2CF4 +:100160001F2C1F2C1F2C1F2C1F2C1F2C1F2C1F2C37 +:100170001F2C1F2C1F2C1F2C1F2C1F2C1F2C5C2AEC +:10018000662A1F2C1F2C1F2C1F2C1F2C1F2C702A83 +:10019000912A1F2C1F2C1F2C1F2C1F2C1F2C1F2C97 +:1001A0001F2C1F2C1F2C1F2C1F2C192CB72A1F2C67 +:1001B0001F2C1F2C1F2C1F2C1F2C1F2C1F2C1F2CE7 +:1001C0001F2C1F2C1F2C1F2C1F2C1F2C1F2C372BC0 +:1001D000462B372B4F2B1F2C1F2C1F2C1F2C1F2C5B +:1001E0001F2C1F2CBF2A012B192C1F2C1F2C1F2C3E +:1001F000372B462B372B4F2B1F2C1F2C1F2C1F2C24 +:100200001F2C1F2C1F2C1F2C1F2C1F2C1F2C1F2C96 +:100210001F2C1F2C1F2C1F2C212B2C2B1F2C603034 +:1002200004327708C038F31F7F397306031D7C152D +:10023000F30600347506031D7C15F5060034F31E25 +:100240000800771E0F29112124081A212508760697 +:10025000031D7C15F6060034731B4E2958235B09D9 +:10026000EA38FD39E81E5E1A0238F1000301B41BBA +:10027000DA190138681E5E1A0238B81F0438B61F32 +:100280001038E81920385B1B4038F105FF3A750536 +:1002900071041A21750802394330322CF31A080010 +:1002A0005E1A6B217608A500413903195312031D0C +:1002B000531A5D295316053042234D3032247608F7 +:1002C000083946303224760804395730322476080B +:1002D00002394830322CDE190932F61D0332761904 +:1002E000DE150800DE0ADE1D08000132761DDE0183 +:1002F00049120800731B932958235A1D7C1982291F +:10030000B41B08007316B41BDA1D8C2932080319BC +:1003100047081A21330827290301B41F34081A217A +:10032000B41F35082729F31E0800B4170800731FEF +:100330009F29013024051A21250827211129751824 +:10034000D7165D1A080076080B3C0319DD1B080060 +:10035000DD17D71A5D170800731F0800C800750263 +:10036000031DF31A5911AA307502031D080011214B +:1003700029082729731B1F2C581A581B0800252AE7 +:10038000731F08000301F31E731ACA297608FC388C +:10039000591BD9055A060339DA0611215913750874 +:1003A00003381A29731FB81B0800731638081A215E +:1003B00039082729731B1F2CB61B7C19E02908005C +:1003C00073161A2137082729731F0800D819EA293C +:1003D000F31E08001121581E2A081A21581E2B0846 +:1003E00027215813DD1AD81D0800581DD414080001 +:1003F000731B08005823D11B7C19002A5A1D0800C2 +:1004000073165108D11B64301A212729731B212927 +:10041000D819581B2032581A18322B087602F100CE +:100420002A08031C013E7502031CFF3A031D193202 +:10043000031CF109E0307105031D13322B225819FA +:1004400008005815D8134F30342C58122A082B04A2 +:1004500003190F325817CC1B08004C081A214D08FD +:100460002729581DD80A581DF6335D1B0232AA01F0 +:10047000AB012B22D8014F30402C731F0800AF1B5B +:100480001F2911212E081A212F082729731B531CFD +:100490000800D3180F2911212C081A212D0827290B +:1004A000731B681D08005A1A0F29112122004008E9 +:1004B0001A21410820002729731F08005912F31A36 +:1004C0001F2C7508C5007608C4001F2C731F080078 +:1004D000D912F31A1F2C7508C7007608C6001F2C06 +:1004E000731B7E2AB008731E5918031908001030B8 +:1004F000152130081A213108272138345910F31EEC +:100500003028731E8A2A11213008031945081A2140 +:1005100031082729B00803190800B001B1010F30D4 +:100520002032731B9F2AB208731ED91803190800C2 +:100530001030152132081A21330827213934D910F7 +:10054000F31E3028731EAB2A112132080319470805 +:100550001A2133082729B20803190800B201B30190 +:100560001130F901FA019B311423823108003A3627 +:100570007C1D0318731B0800731627211A29730E9C +:1005800007390B001B322932080008001D320432E3 +:100590000000491A5E160C32DE1A751A03325E1616 +:1005A00075167C15DE13DE12750849061039C9066A +:1005B000D911112149081A214A082729DE1F0800EC +:1005C000103015215413F633D9190632751E5E1EEC +:1005D000EB3375167C15EC33D9117508C900760814 +:1005E000CA00751A491A08004916F92203195E163D +:1005F00008006330BD23031908006330DE16DE17E0 +:10060000422B731F0800D819072BF31E0800D81AB5 +:10061000D00E7C111F247C19142B1121500E03398C +:100620002721661B76081A215D1BD81E1F2B500E32 +:100630005006031D581B1F2B5816D8155817D812D3 +:100640000800731F08007508F31A1121FD3E0318F6 +:10065000080003301A212729731FDD1F08005D13CE +:100660007508143C0319DD16031C5D170800731F81 +:1006700008007C19D41F1F2C7508F31E03190800ED +:10068000E300740AC3005A17DC110800731F7C1DB5 +:100690000632DC1D04321030152165082729731F2E +:1006A000192C7C19E40A63086402031C5A17080019 +:1006B000731B0800BD23FF3A800508000030F300DB +:1006C000F501F601D9080319872BA1016F23BE2379 +:1006D000031D6D2B2109D905622B72080800211713 +:1006E000591B06342116591A3034A116D91A31343F +:1006F00021145918772AA114D918982AA115D919A3 +:1007000063342115591D00344808F50004345A1F7C +:100710008E2BD9176408F50043080800D901420858 +:10072000031DAD2B541AA32B2030FB00D41ABF0A93 +:100730003F081F39E03E863184268331031D0800BF +:10074000FB0B972B54167C117704F3002408F5005B +:100750002508F6007808F40008001030F300743023 +:10076000FB00F1010314B52BFB0AF10D71084205E2 +:100770000319B42BC2067B0808007408F200720C3F +:10078000090C1F39BA3E8400F21B00340330721882 +:100790000C30F100F218F10E00097105F10E710E26 +:1007A000080071080B00C334C1348F349F34023405 +:1007B000003403340334C0342034003400340034B3 +:1007C0000034F0340F340B000034043407340C349C +:1007D0001234133413341534173419341A341A34C8 +:1007E0001A341A341A341E34740D031CF31A080018 +:1007F000F100710E0F39F10074080739FB00FB0A94 +:10080000D1237106F1067106A1010318A10AF10CAA +:10081000FB0B052C031C0800E323A107210D203E40 +:100820008400850A75088000840A760880008501A6 +:100830000800D41B7C1D731F080006325823D41BEC +:100840007C1D731F0800A401A50174089C310A24B3 +:100850008431031D08001121603F25042721703FCA +:1008600024041A290319402C5F3E84000014FE3032 +:10087000000503195434FF3A8D05F938DC0554346A +:100880005F3E840000100008031942348D040639CD +:10089000DC0442342100DE1A522CDE012000562DE9 +:1008A00021005F15DF149F310027843122008D0164 +:1008B00021006A309900230007308C008D0122004E +:1008C0001E149D172100E7308C0007308D00961C08 +:1008D00016141609961B0530161B06300F3903191E +:1008E0005F0A031E0301090EFC00031EFC150F30F6 +:1008F0009600D53095002000F9309B0000309C0018 +:10090000960197013130980095010B1164000B1D81 +:10091000862C23009D0119309B001E151E129E1669 +:100920009D1722008A309700C8309800171FFE33A9 +:10093000210010309E007D309D00921612179114F8 +:10094000000000009D14FC1DAB2C2B3088310920C9 +:1009500084315A19FC1100308F2501308F25023067 +:100960008F2503308F259D18FE330630F526DB00DA +:100970005630F526DC009C30F526DD0001309D0068 +:1009800000308426E600220099000E308426E8001C +:100990009B31982384318226B000031D591482268E +:1009A000B1008226B200031DD9148226B3002300B1 +:1009B000FC1D1D162800F9309600263097002200F5 +:1009C00015098301200092010339D500FF308D0005 +:1009D0005518F739D518EF398C000B17FC1D8B17FC +:1009E000BF097830D9041430C4005030C5000A3033 +:1009F000C6005A30C700B417D117B817B617CC17AE +:100A0000AF173230CE000D308426DD001030FB00F1 +:100A1000F901D030A10021088426FA007908FA08EB +:100A200003191C2DF900FA36031C1A2D8331BE233D +:100A300085318004790A0F2D0730F904F90AA10ADB +:100A4000FB0B0B2D1530883109208531F101063063 +:100A500084269831F7208531F10A073084269831B1 +:100A6000F7208531F10A083084269831F720853146 +:100A7000F10A093084269831F7208531F10A0A30CD +:100A800084269831F7208531F10A0B30842698317D +:100A9000F720853101308426D2008931BD2185318E +:100AA000FC1D562D4D308431342485316400C1083D +:100AB000031D6626FC19562D5418BA25D71BE825A8 +:100AC0000B190C2611182B269318FD25111B8B26AC +:100AD0008931F521853153195126621B502C911E05 +:100AE000562D23001D1D0532990803194A2C20009C +:100AF000562D9D1C802D1D121D162000D316562D1F +:100B00009D25D41D562D98310020A601D411883181 +:100B10000038031D00200A208531E425562D0936B2 +:100B200085000301090C203884008001840A04092F +:100B30007039031D952D85010800200001308700C4 +:100B40002608D03E8600230019082000D41908008A +:100B500081000A3A03190800073A0319B42D260840 +:100B6000013E831CA6000800A608031908008101A5 +:100B7000D4150800883133208531541080310F207E +:100B800085317C18CC2D5A1DCE2DD51674087806CB +:100B9000031DE42DCF0A4F12E201E42D0130D600EF +:100BA000D5155516583080313424731F4230342403 +:100BB0000830731B1030BD002230A80021009114B2 +:100BC0002000F9309A001C1588314D20853108002D +:100BD000D713571A571CF22D21005A085D02200026 +:100BE000031C080057085C06113903190800DC06CD +:100BF000893167210920853108009310CE0B080048 +:100C0000D319E20ADA173230CE00670FE700053059 +:100C1000670203188C1108000B112100DE1EDE0A8A +:100C200020001C1D27269831FC1895238831600967 +:100C30000319E001E008031D42208431E108031D8F +:100C4000E10B080045308431402486310800210042 +:100C50009D14200008001110CB1F3926D8195819EF +:100C600008008030D80658054F3084313224863150 +:100C70000800CB03CB1F08005F1CAF173408F839FE +:100C8000DF1C03190132B4173608F8395F1D031948 +:100C90000132B617993107305F05031DD021863127 +:100CA000080041083C3C031C080088315F20863165 +:100CB000223040020318612E2C30883119208631F1 +:100CC0000800531188310A2086310800111E0800DF +:100CD0002708203E840085140008850123009A001F +:100CE0002000A70A503027060319A701C1030800F6 +:100CF0002300951C08002000911E782EF2009D25EF +:100D00007208782E2300110A782695019100151497 +:100D1000130820000800111321001C085A06DA06E7 +:100D20005A065A02031C003CFC39031DC92E5A08FE +:100D30005D02031CB02E5A085B020318AD2E5A0840 +:100D40005C0220005A1D0800031CCC2ED330DA05AB +:100D50004E3088310920863108002000DA15B22E85 +:100D60002000DA115A19CC2E5A1536308831092054 +:100D700086311C118030D7058C1555145D1EDD01A0 +:100D8000D801AA01AB0150308431402486312000C3 +:100D9000080020005A1D08007C1CDA1F08000030E3 +:100DA000F300F501F601F701DA12E126F4008031D3 +:100DB00014208031731AF4237408F800DA13853193 +:100DC000CE2D4F080B00003419340134F32E1134AA +:100DD0001B341C340E34F32E0034193401343834EF +:100DE0003934F32E1234DA160034F3000830FB00E5 +:100DF0001C089B1B013EF401F30C0318F407F40CD0 +:100E0000F30CFB0BFA337335740D731B013E0800B2 +:100E1000031D212F69081F39E90A0B00242F9A2F7F +:100E2000302F0034242F982F332F242F9A2F402F28 +:100E3000422F472F802F802F802F802F802F802FB1 +:100E4000652F0314612700348C1321008C136C2749 +:100E500021008C1720006F278C1B212F6D27013458 +:100E600044309B27003480277108103A031901345D +:100E7000E917383A031901340A3A03190134212FCA +:100E8000BE309B2FEC0180277108EA0001348027D7 +:100E90007108EB000134E91B532F710C6A0CF90047 +:100EA000FA01FA0C5D2F6A0EF039FA00710EF03972 +:100EB000F1006A0E0F397104F900553A0319212F18 +:100EC00003109931F321E90101348027EC08031D57 +:100ED000212F6B08F1004B2F6D27E830702F363033 +:100EE0002100911020001B020A3E9A001C15911C43 +:100EF000772F1C11911008007E277E270000080024 +:100F000081278427842784278C1321008C130310C6 +:100F10008C1720007D278C1B0314F10C710D1E0D06 +:100F2000EC066C0C03188C3AEC002D307027013461 +:100F300033309B2FCC30F1009D27A027A027A0277E +:100F4000F10C8C1321008C1303188C17323070278E +:080F500021008C172000013480 +:10100000863184268831031908001920863182260A :10101000F93300200D3019200A301928F200720E21 -:10102000122072080F39F63E0318073E0A3ED11708 +:10102000122072080F39F63E0318073E0A3ED31706 :10103000303EC1080319111E212823009A00200008 :101040000034840027084107B03E031C503E203E78 :101050000406840604068514800085014108503A80 -:10106000031DC10A00345430731B4230521908006A +:10106000031DC10A00345430731B42305419080068 :10107000192073080E2074080E2075080E207608BB -:101080000E200A28D51B08008E3000205E080E2096 -:101090000A2045305E1C3620DE013B08031908009B +:101080000E200A28D71B08008E30002060080E2092 +:101090000A204530601C3620E0013B080319080097 :1010A00084003C08850000088501F1003C081220FE :1010B0003B080E203D30192071080E200A284008F8 :1010C0004007203E8400850A0008F900840A0008D1 @@ -262,269 +268,271 @@ :10114000FA0A0319F90A2D301928F91B9E207A0F83 :10115000AB28F90AFA017908BC206430F1007A085A :10116000AD21FA1BF90A7908F1002E30CA28790856 -:10117000BC202F3019207A08F1007108D1139C3E51 +:10117000BC202F3019207A08F1007108D3139C3E4F :10118000031CCC28F1009C3E031CC928F10032301E -:10119000CA2831301920D117FB017108F100F63E41 -:1011A000031CD428FB0ACE287B080319D11BD920A5 -:1011B0007108D11717280F39DF33F91B9E20103023 +:10119000CA2831301920D317FB017108F100F63E3F +:1011A000031CD428FB0ACE287B080319D31BD920A3 +:1011B0007108D31717280F39DF33F91B9E20103021 :1011C000FB00A101A201A301EB282308FC20A3003E :1011D0002208FC20A200FA0DF90DA30DA20DA10D0D -:1011E000FB0BE528D1132108032122080321230842 -:1011F0000321D11B08001728333EF100F11DFD3EED +:1011E000FB0BE528D3132108032122080321230840 +:1011F0000321D31B08001728333EF100F11DFD3EEB :10120000F11FD03E0800F100710E072171080F395F -:101210000319D11B172808002608043C031D663457 +:101210000319D31B172808002608043C031D663455 :10122000433F5A3C193C031C6C340B001334953477 :10123000A83495296C346C3487296C3481296C343A :101240006C34043452296C343829662957296E29A4 :101250008A2979296C3434295F296C346C346C34D4 -:10126000433F19203D30192830216436FA3E1228B8 -:101270003021D6084E30031919282A082B046E3065 -:10128000031919284E0E4E060F39D61ECE065430BD -:10129000CE1C4330561D203819202A08F9002B088F +:10126000433F19203D30192830216636FA3E1228B6 +:101270003021D8084E30031919282A082B046E3063 +:1012800003191928500E50060F39D81ED0065430B5 +:10129000D01C4330581D203819202A08F9002B088B :1012A000FA00A728302147307C184D30192830210A -:1012B0007C0E0F39B03E86316D26893119283021D8 -:1012C0003030E61A3130661E413019283021551E63 -:1012D0008434783055187F300020873430214430F2 -:1012E0005B1A5330DB1B5230DB1A43305B1B493037 -:1012F00019283021640EF100F10CF10C9C20F10C46 +:1012B0007C0E0F39B03E86318426893119283021C1 +:1012C0003030E81A3130681E413019283021571E5D +:1012D0008434783057187F300020873430214430F0 +:1012E0005D1A5330DD1B5230DD1A43305D1B49302F +:1012F00019283021660EF100F10CF10C9C20F10C44 :101300009C2830210C0D803E9C200C0D9C28302107 -:10131000500E0E283021023086316D268931F900B9 -:1013200086316B268931FA00A72830214F306619A3 +:10131000520E0E2830210230863184268931F900A0 +:10132000863182268931FA00A72830214F3068198A :10133000523019282608043C031D6634433F313CD3 -:10134000013C031C6C340319A929C0015115521525 -:10135000AB295111521188311728F901FA01083AC5 +:10134000013C031C6C340319A929C0015315541521 +:10135000AB295311541188311728F901FA01083AC1 :10136000FB00083AFB06FA35F90DF10D0318FA07F0 -:101370000318F90AFB0BB32908005A17DA13C22124 -:101380005A13DA1703105008DA1B500E0F390B00EE +:101370000318F90AFB0BB32908005C17DC13C22120 +:101380005C13DC1703105208DC1B520E0F390B00E4 :10139000E229EE29F129F129F129E229E229DF29BF :1013A000E229053204320332023201320032F030D7 -:1013B0005A1BD0050F30DA1BD00503146C34F03003 -:1013C000DA1FD0055A08C03921008C04200008001B -:1013D0005A093F3821008C0520000800E8218C05BF -:1013E0000800E821FF3A8C0408005A17DA13FA21A2 -:1013F0005A13DA175008DA1B500E0F390B00080089 +:1013B0005C1BD2050F30DC1BD20503146C34F030FB +:1013C000DC1FD2055C08C03921008C042000080015 +:1013D0005C093F3821008C0520000800E8218C05BD +:1013E0000800E821FF3A8C0408005C17DC13FA219E +:1013F0005C13DC175208DC1B520E0F390B0008007F :1014000008000800082A0F2A202A222A162A3B2A26 -:101410000C08DA180C095A05C0398C0608000C08AB -:101420005A190C095A05C0398C060800D31E080049 -:10143000A8088631F1268A3100380319D312080032 -:101440000C09232A0C085A05C039031D2D2ADA1E5F -:101450000800DA12F901FA01372ADA1A0800DA1656 -:10146000023086316D26F9006B26FA000130993181 -:1014700055218A3108000C095A05C039031DFF3077 -:0814800059064039D9060800A5 -:10300000D11A3E28D030860004302602031C6634D4 +:101410000C08DC180C095C05C0398C0608000C08A7 +:101420005C190C095C05C0398C060800D51E080043 +:10143000A808873108278A3100380319D512080017 +:101440000C09232A0C085C05C039031D2D2ADC1E5B +:101450000800DC12F901FA01372ADC1A0800DC1650 +:10146000023086318426F9008226FA000130993153 +:1014700058218A3108000C095C05C039031DFF3072 +:081480005B064039DB060800A1 +:10300000D31A3E28D030860004302602031C6634D2 :10301000423F3D3C031D6634010888311920413F81 :1030200019203A301920203019209831413F0106EB -:10303000F100E039031D492D71080B0040284E288E -:1030400056285E2863286E2879287E28DA28DA2810 -:10305000DA2885286334DA28DA288A288F289A28FB -:10306000A2286334A728AC286334B12863346334BE -:10307000B628BB28C328C828D028D528D112753433 -:103080000108543A03194F29153A03192A2B0C3A0F -:103090000319AA2B1F3A03197A2D63340108523AF7 -:1030A00003195D2C013A0319BD2B63340108503A12 -:1030B0000319B92B1B3A03191E2C63340108503A2B -:1030C0000319BB2B63340108563A0319722A053AD7 -:1030D00003198B29073A0319B72A63340108443AC4 -:1030E0000319412B123A0319D4291B3A0319992ABF -:1030F00011290108433A0319872A112901084F3A77 -:103100000319562C1B3A9F2B63340108433A0319C9 -:103110006B2A63340108433A03198E2ADA2801081E -:10312000533A03191A2A143A0319732B043A031950 -:10313000BF2963340108433A0319ED2B103A0319F0 -:10314000832963340108463A03195B2B6334010871 -:10315000443A0319062A63340108423A0319FA2A49 -:1031600063340108543A03194A29633401084D3A7B -:103170000319A92A633401084F3A0319E3291C3AB9 -:103180000319A52963340108553A0319092C63343E -:103190000108493A0319462C193A0319872C63345C -:1031A0000108533A0319F32A63340108483A031912 -:1031B000512A633401084C3A031D63342608043C49 -:1031C000031D6634433FF1005A3C193C031C6C3428 -:1031D000413FBF3E063E1323433F883119209831BB -:1031E000413FBF3EF100433FF9000830F118403045 -:1031F00071190230A1007118A135A03084001A3075 -:10320000FB0021098005840AFB0B022979085F3E37 -:103210008400210880047908001C031584312524CA -:1032200000340108473C031D633497240318080049 -:103230008108031D6634F100083C031C6C34D13056 -:103240008600F03001182A295005703A03195110F0 -:10325000F10E0F3050057104D000F100013013233E -:103260005A17DA13C030011CDA068931C22103185B -:1032700008005008011C500E0F398831BC2803107B -:103280002608043A031D6634433F313C013C0318D1 -:1032900008006C34D9240318080001305329D924BC -:1032A0000318080003305521EE294E060F39CE06CB -:1032B00000305B1F60292A082B04031D56161030AE -:1032C000D6057A08AB007908AA00D6155617D61687 -:1032D000A901DB1AD2142B0403197F29DB1E080075 -:1032E0002A0823257A08A9002B0823257908A9078D -:1032F000FA1BA90A2A08F9002B08FA00080056163A -:103300004E10CE100800D9240318080003196634A3 -:1033100002300523EE29DD240318080003199A2939 -:1033200044084425031C6C3445084425031D031C34 -:103330009C296C3457109E29581857147A08B100EC -:103340007908B0000F300523EE29DD2403180800AA -:103350000319B42946084425031C6C344708442546 -:10336000031D031CB6296C34D710B829D818D714FC -:103370007A08B3007908B20011300523EE29CB2476 -:1033800003180800B4007A08B50079040319033261 -:10339000DD14CD21EE29B417EE29CB1F0800F8303B -:1033A000DD057830CB00080097240318E129810857 -:1033B000031D6634643C031C7234710DBA008831FD -:1033C000BD28BA01EA29DD2403180332F91F791F49 -:1033D000ED2951102D3088311928F7218831A52881 -:1033E0004030661DF7295816031C5812FE29511447 -:1033F000D114031CD1102C30FF213E30850A8400EB -:1034000079081A007A0880008501080094242608AB -:10341000053C03190532090F6634B9240318080066 -:10342000BC00B02403180800BB003C0888311220FF -:103430003B080E28972403180800AE00173C031C15 -:10344000723416003A3C031D66349824031866341F -:10345000AF003B3C031C723416002F3C031D663446 -:1034600030300102031D031C6C34F100F839031DD8 -:103470006C341400031D6634F10E7135AE045D1416 -:10348000CD212E081F39F1008831CB202F08F10003 -:103490003A30CA202F3019202E0EF100710C073956 -:1034A00017282608043C031D6634433F503C03198B -:1034B0000D32DC0149126612E612E13E0319E616EE -:1034C000FE39031966160123893160298231EA2207 -:1034D0005030883119283F21031C08005910031966 -:1034E00059143D292608043C031D6634433F393CEA -:1034F000093C031C6C3409350D3E22009900200064 -:1035000064061F396406E4001123893135293F21FF -:10351000031C08005911031959153D29CB248318A0 -:10352000972A03180800B8007A08B900EE29B817DE -:10353000EA29972403180800F039031D7234710832 -:103540004A060F39CA06A7224A088831DB28823189 -:10355000F12A972403180800F039031D723471080A -:1035600049060F39C906A72249088831DB28972464 -:1035700003180800C3005813DA110630FB007B085B -:10358000FB030B006C34033E103E033E4D3E033EF6 -:10359000053E4302031DF33316003A3C031D663417 -:1035A000982403180800E200013EE1001600031908 -:1035B0000C323D3C7B18031D663498240318080028 -:1035C0008108031D6634E300DA1558174308883173 -:1035D000BC203A3019206208DA1DBC28BC203D30DE -:1035E00019206308BC283F21031C0800E611031DB5 -:1035F000E615842B3F21031C08005913031D59179E -:103600003D296608F1000E30132B863161269B316F -:10361000910079081823863161269B31910A7A0836 -:103620000732F1000030863161269B31910071082C -:103630002300151413060319272B930615158B1356 -:1036400055309600AA30960095148B171511130863 -:103650002000080097240318080003197234810819 -:10366000031D66345212E03086316D269B310319FA -:103670003E2B2300110F342B20006934172388318F -:10368000BC28972403180800031972348108031D0D -:1036900066344E23031D08008831BD28F100E03058 -:1036A00086316D269B3171060319182B2300110FEB -:1036B000502B20006F342608043C031D6634DB01C8 -:1036C000433F433A0319DB160A3A03195B171A3AC8 -:1036D00003195B16DB08031D5B165B08F1000D3058 -:1036E000132389316F292608043C031D66343F21CA -:1036F000031C9A2B6614E6067C060139031D842BF5 -:10370000FC148623FC18C33F0123532C20001C19F2 -:1037100050347C10661CFC197C142200D0309200BE -:10372000D130940086307C18A63091009300FC10B4 -:1037300020000800433F523C031D6C340100433F0E -:103740004F3A031905321D3A031D6C346615842B5C -:103750006611842B97240318B72B8108031D663448 -:10376000643C031C7234643CCF008831BC28CF1702 -:10377000EA2989310C2989319A29972403180800EC -:1037800003196C34F20016003A3A031D6634F9014D -:1037900098240318080081080319D92BF900160092 -:1037A0002C3A031D66349824031808008108031D71 -:1037B0006634FA007208FB230319E22B0301FB2392 -:1037C000031D69347A08E03F7908F03F72088100F0 -:1037D0008831BC203A301920B728972403180800F4 -:1037E00003196C348108031D6634FB23031D6F34F9 -:1037F00081018831BD28F10001308700C03086008A -:10380000010871060319080001308607831C002C8B -:103810000034972403180800031DF900F91B6C34C9 -:103820008108031D66348331B1239C3180047908FB -:1038300032247104182379088831BC28972403188E -:103840000800031DF900F91B6C348108031D663460 -:103850008331B1239C31FF3A800579083224F10984 -:1038600071051A2C3D24F100F20E720D720D1F39F4 -:10387000D03E86316D269C310800F2000130F218EE -:103880000430721889357219090E08003F21031C93 -:103890000800433F093620300318E404FF3A031CB4 -:1038A000E40564081123433F883119283F21031C94 -:1038B0000800433F093640304C2C2608063C031DC7 -:1038C00066340130F100433F483A03196C2C1F3A2B -:1038D000031D66340430F100443F7119123A423A34 -:1038E0000319762C123A031D6634F135453F533ADD -:1038F00003197E2C1B3A031D6634F10E7108C204B5 -:10390000433F88311920443F1920453F1928972407 -:10391000031808008108031D6634C3005817DA1124 -:10392000E101E2018831BC28D330860008009424EC -:103930000108393C093C031C212DF1001400393CDD -:10394000093C031CAE2CA1001A307102031872341A -:1039500071082E252107031C9D2C72347108080064 -:10396000B92403180800F100F10EB924031C7104F6 -:1039700008001600D03E031C212DF63E031CC82C67 -:10398000DF39F93E031C212DFA3E03186634063E4A -:103990000A3E03100800D9248314031808009C3E33 -:1039A0008310031C1A2D031D7234FA08031D723490 -:1039B0001A2D942401082D3C063294245117010835 -:1039C0002D3C0319E62C5113023C0319860A982456 -:1039D00003180800F90101080319072D2E3C031DE7 -:1039E000212D0730FB0014000319072D393C093C39 -:1039F000031C212D7B192E25FB18F907FB36FB082C -:103A00000319031CF32CFB3E0318F90AF32C511F76 -:103A1000102DF109F90803191F2D7908643CF900EC -:103A2000FA0134250318F10AA208031D013EFA0029 -:103A30007108F90079080319FA0803100800F10A5F -:103A4000102D03146634F901FA002B252B25FA07F3 -:103A50000318F90A0800FA35F90D0800A200A207B8 -:103A6000A20DA207220D08001030FB00A101A20147 -:103A7000FA0DF90DA20D643022020318A200A10D67 -:103A8000FB0B382D210808007902031D0800FA08F5 -:103A90000800413F323A031D63340108433A0319D9 -:103AA0006C2D0B3A0319652D053A031D63349724D9 -:103AB00003180800F039031D7234710E4A06F039FC -:103AC000CA06A7224A0E8831DB283F21031C0800C2 -:103AD0005912031959163D29CB2403180800B600C2 -:103AE0007A08B7007904031903325D15CD21EE2958 -:103AF000B617EE29972403180800C8005715883117 -:103B0000BC285509220015062000921212135306F4 -:103B10000339D3065819023900380319080001394E -:103B20000319D51D962DFF30DE000800031DD519A1 -:103B30009E2DD515A8080319531AB92DA8080319E5 -:103B4000DB2D03305402031C7E2E5336D51D09365F -:103B5000A80BC72D0318832ED31B872E5214803138 -:103B6000523033245430332433249D31D5111C1169 -:103B7000D82DA80153121830D51808300C06183962 -:103B80008C0680315830332433249D31D12D803040 -:103B90000318D306F60DF50DF40DF30D0130F606FE -:103BA0005311D40170089A020630031C9A02911036 -:103BB0006430950008001C19E82DDE08031DD82D7F -:103BC00027309A001C15D401210091142000D82D13 -:103BD0000A3054020318002E5336D51D0936031837 -:103BE000D82DD4080319B72D803152302724D51D84 -:103BF000423027249D312130A800D3135311D12DF9 -:103C0000323054020318D12DD519551ED12D551817 -:103C1000531CD12D0130D506D306D12D9110D40AD5 -:103C2000531A262EA808031D232E5408143C0319EA -:103C30004F2E50305402031C08001C11D511551B87 -:103C4000D51755130800D419852E080054180800FC -:103C5000A8080319402E0301D31D1830551A103A35 -:103C60000C063D058C06D4184C2ED3110314F60D0A -:103C7000F50DF40DF30D0318D315D401A8030800B6 -:103C80001C1153123D1AD31680315830332454304E -:103C9000332433249D3108000830D30608005336FE -:103CA000D51D0936031C08000130D51D0230D5068C -:103CB000D306D51D712E55177C186D2ED51E080004 -:103CC000550911390319080010308C06D506550521 -:103CD0005030843125249E310800D511D31C0800B2 -:103CE000D12D7C1C0800D518103055061039031949 -:103CF0000800D5065517672E5315D82D5319E41A09 -:103D00007C2E0130882E0230882E0330882E04301D -:103D1000DE080319DE005336D51D0936031C1C11BD -:103D2000A801D40153128031583033245230332447 -:103D30003324543033249E315E090319A52E4530B7 -:0C3D4000843127249E317A30DF00D82D1A +:10303000F100E039031D582D71080B0040284E287F +:1030400056285E2863286E2879287E28DD28DD280A +:10305000DD2885286334DD28DD288A288F289A28F2 +:10306000A5286334AA28AF286334B42863346334B2 +:10307000B928BE28C628CB28D328D828D31275341F +:103080000108543A03195229153A0319392B0C3AFD +:103090000319B92B1F3A0319892D63340108523AD9 +:1030A00003196C2C013A0319CC2B63340108503AF4 +:1030B0000319C82B1B3A03192D2C63340108503A0D +:1030C0000319CA2B63340108563A0319812A053AB9 +:1030D00003198E29073A0319C62A63340108443AB2 +:1030E0000319502B123A0319D7291B3A0319A82A9E +:1030F00014290108433A0319962A142901084F3A62 +:103100000319652C1B3AAE2B63340108433A0319AB +:103110007A2A63340108433A03199D2ADD280108FD +:10312000533A0319292A143A0319822B043A031932 +:10313000C22963340108433A0319FC2B103A0319DE +:103140008629113A03190B2A63340108463A0319F8 +:103150006A2B63340108443A0319152A63340108C1 +:10316000423A0319092B63340108543A03194D29D3 +:10317000633401084D3A0319B82A633401084F3A01 +:103180000319E6291C3A0319A82963340108553AA2 +:103190000319182C63340108493A0319552C193ABC +:1031A0000319962C63340108533A0319022B633434 +:1031B0000108483A0319602A633401084C3A031D98 +:1031C00063342608043C031D6634433FF1005A3C37 +:1031D000193C031C6C34413FBF3E063E2223433F53 +:1031E000883119209831413FBF3EF100433FF9003B +:1031F0000830F118403071190230A1007118A13562 +:10320000A03084001A30FB0021098005840AFB0BE2 +:10321000052979085F3E8400210880047908001C94 +:1032200003158431322400340108473C031D633404 +:10323000A624031808008108031D6634F100083C29 +:10324000031C6C34D1308600F03001182D29520552 +:10325000703A03195310F10E0F3052057104D20069 +:10326000F100013022235C17DC13C030011CDC06A6 +:103270008931C221031808005208011C520E0F396F +:103280008831BC2803102608043A031D6634433FE6 +:10329000313C013C031808006C34E8240318080092 +:1032A00001305629E8240318080003305821F12979 +:1032B00050060F39D00600305D1F63292A082B0401 +:1032C000031D58161030D8057A08AB007908AA00FB +:1032D000D8155817D816A901DD1AD4142B040319D0 +:1032E0008229DD1E08002A0832257A08A9002B0849 +:1032F00032257908A907FA1BA90A2A08F9002B0820 +:10330000FA00080058165010D0100800E8240318DE +:1033100008000319663402301423F129EC24031841 +:10332000080003199D2944085325031C6C344508E3 +:103330005325031D031C9F296C345910A1295A18C9 +:1033400059147A08B1007908B0000F301423F1291C +:10335000EC24031808000319B72946085325031C59 +:103360006C3447085325031D031CB9296C34D9104C +:10337000BB29DA18D9147A08B3007908B2001130E1 +:103380001423F129DA2403180800B4007A08B500E0 +:10339000790403190332DF14D021F129B417F1297C +:1033A000CB1F0800F830DF057830CB000800A624DA +:1033B0000318E4298108031D6634643C031C72343D +:1033C000710DBA008831BD28BA01ED29EC2403182B +:1033D0000332F91F791FF02953102D308831192835 +:1033E000FB218831A528681DFB295A1603180800FF +:1033F0005A124030032A5314D31403180800D31070 +:103400002C3004223E30850A840079081A007A089C +:10341000800085010800DA2403180800CC007A082F +:10342000CD0079040319CC17F129A3242608053C03 +:1034300003190532090F6634C82403180800BC00BC +:10344000BF2403180800BB003C08883112203B0849 +:103450000E28A62403180800AE00173C031C723483 +:1034600016003A3C031D6634A72403186634AF00E7 +:103470003B3C031C723416002F3C031D6634303075 +:103480000102031D031C6C34F100F839031D6C3478 +:103490001400031D6634F10E7135AE045F14D021A3 +:1034A0002E081F39F1008831CB202F08F1003A3067 +:1034B000CA202F3019202E0EF100710C0739172861 +:1034C0002608043C031D6634433F503C03190D326B +:1034D000DE0149126812E812E13E0319E816FE39CE +:1034E000031968161023893160298231F222503085 +:1034F000883119284221031C08005B1003195B1452 +:1035000040292608043C031D6634433F393C093CEE +:10351000031C6C3409350D3E22009900200066061C +:103520001F396606E6002023893135294221031C14 +:1035300008005B1103195B154029DA248318A62AB9 +:1035400003180800B8007A08B900F129B817ED2966 +:10355000A62403180800F039031D723471084A06C6 +:103560000F39CA06B6224A088831DB288231F92A87 +:10357000A62403180800F039031D723471084906A7 +:103580000F39C906B62249088831DB28A62403185A +:103590000800C3005A13DC110630FB007B08FB0354 +:1035A0000B006C34033E103E033E4D3E033E053E91 +:1035B0004302031DF33316003A3C031D6634A7246F +:1035C00003180800E400013EE300160003190C3262 +:1035D0003D3C7B18031D6634A724031808008108AE +:1035E000031D6634E500DC155A1743088831BC20FA +:1035F0003A3019206408DC1DBC28BC203D3019205D +:103600006508BC284221031C0800E811031DE815C9 +:10361000932B4221031C08005B13031D5B174029F9 +:103620006808F1000E30222B863178269B319100FC +:1036300079082723863178269B31910A7A08073248 +:10364000F1000030863178269B319100710823000B +:10365000151413060319362B930615158B135530C5 +:103660009600AA30960095148B17151113082000A8 +:103670000800A62403180800031972348108031DEA +:1036800066345412E030863184269B3103194D2B69 +:103690002300110F432B2000693426238831BC28D6 +:1036A000A62403180800031972348108031D663428 +:1036B0005D23031D08008831BD28F100E03086310C +:1036C00084269B3171060319272B2300110F5F2BD2 +:1036D00020006F342608043C031D6634DD01433F9F +:1036E000433A0319DD160A3A03195D171A3A03190A +:1036F0005D16DD08031D5D165D08F1000D30222307 +:1037000089316F292608043C031D66344221031CBD +:10371000A92B6814E8067C060139031D932BFC14C1 +:103720009523FC18C33F1023622C20001C19503431 +:103730007C10681CFC197C142200D0309200D1301F +:10374000940086307C18A63091009300FC10200075 +:103750000800433F523C031D6C340100433F4F3A85 +:10376000031905321D3A031D6C346815932B68113B +:10377000932BA6240318C62B8108031D6634643CD2 +:10378000031C7234643CD1008831BC28D117ED2968 +:1037900089310C2989319A29A624031808000319B4 +:1037A0006C34F20016003A3A031D6634F901A7247E +:1037B0000318080081080319E82BF90016002C3AB9 +:1037C000031D6634A724031808008108031D66340E +:1037D000FA0072080A240319F12B03010A24031DBD +:1037E00069347A08E03F7908F03F72088100883137 +:1037F000BC203A301920B728A62403180800031962 +:103800006C348108031D66340A24031D6F34810162 +:103810008831BD28F10001308700C03086000108E2 +:1038200071060319080001308607831C0F2C003431 +:10383000A62403180800031DF900F91B6C34810845 +:10384000031D66348331BE239C31800479084124F2 +:103850007104272379088831BC28A624031808009E +:10386000031DF900F91B6C348108031D6634833194 +:10387000BE239C31FF3A800579084124F109710586 +:10388000292C4C24F100F20E720D720D1F39D03E1E +:10389000863184269C310800F2000130F218043091 +:1038A000721889357219090E08004221031C08009C +:1038B000433F093620300318E604FF3A031CE605AF +:1038C00066082023433F883119284221031C080041 +:1038D000433F093640305B2C2608063C031D663406 +:1038E0000130F100433F483A03197B2C1F3A031D76 +:1038F00066340430F100443F7119123A423A031918 +:10390000852C123A031D6634F135453F533A0319AD +:103910008D2C1B3A031D6634F10E7108C204433F1F +:1039200088311920443F1920453F1928A62403183F +:1039300008008108031D6634C3005A17DC11E30137 +:10394000E4018831BC28D33086000800A324010894 +:10395000393C093C031C302DF1001400393C093C72 +:10396000031CBD2CA1001A307102031872347108B7 +:103970003D252107031CAC2C723471080800C824B3 +:1039800003180800F100F10EC824031C710408009C +:103990001600D03E031C302DF63E031CD72CDF3919 +:1039A000F93E031C302DFA3E03186634063E0A3EEB +:1039B00003100800E8248314031808009C3E8310B9 +:1039C000031C292D031D7234FA08031D7234292D9E +:1039D000A32401082D3C0632A324531701082D3CD3 +:1039E0000319F52C5313023C0319860AA724031864 +:1039F0000800F90101080319162D2E3C031D302D76 +:103A00000730FB0014000319162D393C093C031C38 +:103A1000302D7B193D25FB18F907FB36FB080319F0 +:103A2000031C022DFB3E0318F90A022D531F1F2D04 +:103A3000F109F90803192E2D7908643CF900FA01FF +:103A400043250318F10AA208031D013EFA0071087C +:103A5000F90079080319FA0803100800F10A1F2D6C +:103A600003146634F901FA003A253A25FA070318D7 +:103A7000F90A0800FA35F90D0800A200A207A20D04 +:103A8000A207220D08001030FB00A101A201FA0DCF +:103A9000F90DA20D643022020318A200A10DFB0B48 +:103AA000472D210808007902031D0800FA080800C4 +:103AB000413F323A031D63340108433A03197B2D19 +:103AC0000B3A0319742D053A031D6334A624031819 +:103AD0000800F039031D7234710E4A06F039CA0627 +:103AE000B6224A0E8831DB284221031C08005B12F3 +:103AF00003195B164029DA2403180800B6007A0877 +:103B0000B7007904031903325F15D021F129B617E4 +:103B1000F129A62403180800C80059158831BC28CB +:103B20005709220015062000121355060239031901 +:103B30000800D506D71D1632FF30E00008005709EF +:103B400022001506200092125506013903190800BB +:103B5000D5065A190800D7190532D715A808031930 +:103B6000551ACD2DA8080319EF2D03305602031C5A +:103B70008F2E5536D71D0936A80BDB2D0318942E32 +:103B8000D51B982E54148031523040245430402498 +:103B900040249D31D7111C11EC2DA801551218306D +:103BA000D71808300C0618398C068031583040245C +:103BB00040249D31E52D80300318D506F60DF50D16 +:103BC000F40DF30D0130F6065511D60170089A0276 +:103BD0000630031C9A0291106430950008001C19ED +:103BE000FC2DE008031DEC2D27309A001C15D60192 +:103BF000210091142000EC2D0A3056020318142ED7 +:103C00005536D71D09360318EC2DD6080319CB2DD0 +:103C1000803152303424D71D423034249D3121303C +:103C2000A800D5135511E52D323056020318E52DA5 +:103C3000D719571EE52D5718551CE52D0130D7060D +:103C4000D506E52D9110D60A551A3A2EA808031D5F +:103C5000372E5608143C0319602E50305602031CB0 +:103C600008001C11D711571BD71757130800D61976 +:103C7000962E0800561808000301D51D1830571A53 +:103C8000103A0C063D058C06D6185D2ED51103148E +:103C9000F60DF50DF40DF30D0318D515D601A80B8F +:103CA00008001C1155123D1AD51680315830402499 +:103CB0005430402440249D3108000830D5060800C7 +:103CC0005536D71D0936031C08000130D71D0230B8 +:103CD000D706D506D71D822E57177C187E2ED71EE5 +:103CE0000800570911390319080010308C06D7064F +:103CF00057055030843132249E310800D711D51C2D +:103D00000800E52D7C1C0800D71810305706103924 +:103D100003190800D7065717782E5515EC2D55199D +:103D2000E61A8D2E0130992E0230992E0330992EED +:103D30000430E0080319E0005536D71D0936031C8E +:103D40001C11A801D6015512803158304024523040 +:103D500040244024543040249E3160090319B62E7B +:0E3D60004530843134249E317A30E100EC2D60 :103E0000031E08008B1321006A309900D7309500FB :103E10002200FF308D0088309700C830980017309E :103E200099001030920011309400A6309100930058 @@ -563,7 +571,7 @@ :10E0200000000000000041003D004F00700065004E :10E030006E0054006800650072006D00200047000B :10E0400061007400650077006100790020003600EF -:10E050002E003400000057004400540020007200DD +:10E050002E003500000057004400540020007200DC :10E060006500730065007400210000005400680022 :10E07000650072006D006F00730074006100740031 :10E08000200064006900730063006F006E006E0082 @@ -577,8 +585,8 @@ :10E1000069006700680000004C006F007700200085 :10E1100070006F007700650072000000450072001B :10E1200072006F0072002000000042003D003100CC -:10E1300032003A00320034002000320038002D0056 -:10E14000310032002D003200300032003200000079 +:10E1300037003A00350032002000310032002D0057 +:10E14000300033002D003200300032003300000078 :10E1500043003D00340020004D0048007A000000DC :10E16000570042005000530043004F0055004C0040 :02E17000450068 diff --git a/data/pic16f1847/gateway.ver b/data/pic16f1847/gateway.ver index c596943..7822c1a 100644 --- a/data/pic16f1847/gateway.ver +++ b/data/pic16f1847/gateway.ver @@ -1 +1 @@ -6.4 +6.5 diff --git a/data/pic16f88/gateway.hex b/data/pic16f88/gateway.hex index 293e0ae..818268b 100644 --- a/data/pic16f88/gateway.hex +++ b/data/pic16f88/gateway.hex @@ -1,53 +1,53 @@ :020000040000FA -:080000008A1500278A11F72B75 +:080000008A1500278A11FB2B71 :08000800F000030E8301F1007A :100010000408F2000A08B0008A111108F3008C18D5 -:10002000D1260D1B462630088A0072088400710E06 +:10002000DA260D1B4F2630088A0072088400710EF4 :080030008300F00E700E0900C0 -:08003800761B4728761A842389 +:08003800761B4728761A882385 :10004000402077087B06031DE601FB067F115A1747 -:100050009820EC01E11E4F23031932287F1D6119FE -:1000600075280800E11A40207F155A13F8227F1DD9 +:100050009820EC01E11E5323031932287F1D6119FA +:1000600075280800E11A40207F155A13FC227F1DD5 :100070002F28DA12F700982075285A1B422808000A :100080007608FA007808B4007908B5000800D91598 -:1000900077084D0603196113761E84234F23F61A41 +:1000900077084D0603196113761E88235323F61A39 :1000A000761E5C2803195728553980075F28770882 -:1000B0008A15AA228A115F28FF3AE01F8005E01303 +:1000B0008A15AC228A115F28FF3AE01F8005E01301 :1000C000DA17DA188D287F196A2898207F196119A4 :1000D000080075289820DA166119080040305A1F68 -:1000E00070303623DA135A1F98207908780677067D +:1000E00070303A23DA135A1F982079087806770679 :1000F000F6137606F400F40E7406F400F40CF40C17 :10010000F4060130F418F4067418F6177F18080086 -:100110005230761B41308A15FC2C98205030F60066 +:100110005230761B41308A15FE2C98205030F60064 :100120000430F700AA30F8003908F900DA10752811 -:10013000F71BBF2B00308A007708A13E03188A0AFC -:1001400082003E2975299229BE2BA729B029B629FC -:10015000BF2BC829D529DB2AE92ADB2AE92AE92984 -:10016000BF2BF729BE2BBF2BBF2B272ABF2BBF2BA3 -:10017000BF2BBF2BBE2BBF2B302A3A2ABF2BBF2B46 -:10018000BF2BBF2BBF2BBF2BBF2BBF2BBF2BBF2B1F -:10019000BF2BBF2BBF2BBF2BBF2BBF2BBF2BBF2B0F -:1001A000BF2B462A502ABF2BBF2BBF2BBF2BBF2BE9 -:1001B000BF2B5A2A7B2ABF2BBF2BBF2BBF2BBF2B9A -:1001C000BF2BBF2BBF2BBF2BBF2BBF2BBF2BB92BE5 -:1001D000A12ABF2BBF2BBF2BBF2BBF2BBF2BBF2BEE -:1001E000BF2BBF2BBF2BBF2BBF2BBF2BBF2BBF2BBF -:1001F000BF2BDB2AE92ADB2AE92ABF2BBF2BBF2B27 -:10020000BF2BBF2BBF2BBF2BBF2BAA2AB92BBF2BBA -:10021000BF2BBF2BDB2AE92ADB2AE92ABF2BBF2B06 -:10022000BF2BBF2BBF2BBF2BBF2BBF2BBF2BBF2B7E -:10023000BF2BBF2BBF2BBF2BBF2BBF2BCA2AD02A54 -:10024000BF2B603027297A08C038F61F7F39760621 +:10013000F71BC32B00308A007708A13E03188A0AF8 +:1001400082003E2975299229C22BA729B029B629F8 +:10015000C32BC829D529DF2AED2ADF2AED2AE92970 +:10016000C32BF729C22BC32BC32B272AC32BC32B8B +:10017000C32BC32BC22BC32B302A3A2AC32BC32B2E +:10018000C32BC32BC32BC32BC32BC32BC32BC32BFF +:10019000C32BC32BC32BC32BC32BC32BC32BC32BEF +:1001A000C32B462A502AC32BC32BC32BC32BC32BD1 +:1001B000C32B5A2A7B2AC32BC32BC32BC32BC32B82 +:1001C000C32BC32BC32BC32BC32BC32BC32BBD2BC5 +:1001D000A12AC32BC32BC32BC32BC32BC32BC32BD2 +:1001E000C32BC32BC32BC32BC32BC32BC32BC32B9F +:1001F000C32BDF2AED2ADF2AED2AC32BC32BC32B07 +:10020000C32BC32BC32BC32BC32BAA2ABD2BC32B9E +:10021000C32BC32BDF2AED2ADF2AED2AC32BC32BE6 +:10022000C32BC32BC32BC32BC32BC32BC32BC32B5E +:10023000C32BC32BC32BC32BC32BC32BCA2AD42A38 +:10024000C32B603027297A08C038F61F7F3976061D :10025000031D7F15F60600347806031D7F15F8068A :100260000034F61E08007A1E2129232134082C218F :1002700035087906031D7F15F9060034761B5929C8 -:10028000F2226209EE38ED1EFD39F4000301C41BB1 +:10028000F6226209EE38ED1EFD39F4000301C41BAD :10029000E11901386D1A02388316DA1F10388312FB :1002A000F405FF3A780574042C21780802394330AC -:1002B000D52BF61A08007908B500413903195912EF +:1002B000D92BF61A08007908B500413903195912EB :1002C000031D591A672959160530CD0061174D30A5 -:1002D000D523790808394630D523790804395730B1 -:1002E000D523790802394830D52B761B8E29F22286 +:1002D000D923790808394630D923790804395730A9 +:1002E000D923790802394830D92B761B8E29F6227A :1002F000611D7F197D29C41B08007616C41BE11DF2 :1003000087294208031951082C2143083929030180 :10031000C41F44082C21C41F45083929F61E0800B3 @@ -55,28 +55,28 @@ :10033000392123297818DD16631A080079080B3C47 :100340000319E31B0800E317DD1A63170800761F83 :100350000800AA307802031D080023213908392932 -:10036000761BBF2B5F1A5F1B0800152A761F08003B +:10036000761BC32B5F1A5F1B0800152A761F080037 :100370000301F61E761AC0297908FC38601BE005D7 :1003800061060339E10623216013780803382C291C -:10039000761BBF2B8316DA1B7F19CF29D32976163C +:10039000761BC32B8316DA1B7F19CF29D329761638 :1003A0002C215B08392183120800761F0800DF1911 :1003B000DB29F61E080023215F1E3A082C215F1E50 :1003C0003B0839215F13E31ADF1D08005F1DDA14B3 -:1003D0000800761B0800F222D71B7F19F129611D46 +:1003D0000800761B0800F622D71B7F19F129611D42 :1003E000080076165708D71B64302C213929761B54 :1003F0003329DF195F1B08005F1A152A3B087902B1 :10040000F4003A08031C013E7802031CFF3A031D66 :100410001C2A031CF409E0307405031D1C2A5F1913 -:1004200008005F15DF134F30D72B5F123A083B04EB +:1004200008005F15DF134F30DB2B5F123A083B04E7 :100430000319242A5F1708005F1DDF0A5F1D0800EB -:10044000631B242ABA01BB01DF014F30E32B761F67 +:10044000631B242ABA01BB01DF014F30E72B761F63 :100450000800BF1B312923213E082C213F083929E0 :10046000761B591C0800D918212923213C082C216E :100470003D083929761B6D1D0800611A21292321A9 :10048000031730082C21310803133929761F08007F -:100490006012F61ABF2B7808CF007908CE00BF2B68 -:1004A000761F0800E012F61ABF2B7808D1007908F1 -:1004B000D000BF2B761B682AC008761E601803196F +:100490006012F61AC32B7808CF007908CE00C32B60 +:1004A000761F0800E012F61AC32B7808D1007908ED +:1004B000D000C32B761B682AC008761E601803196B :1004C00008001030272140082C21410839213834F8 :1004D0006010F61E3D28761E742A23214008031959 :1004E0004F082C2141083929C00803190800C00110 @@ -84,407 +84,407 @@ :10050000031908001030272142082C214308392103 :100510003934E010F61E3D28761E952A2321420824 :10052000031951082C2143083929C208031908006E -:10053000C201C3011130FC01FD018A1564228A1138 +:10053000C201C3011130FC01FD018A1566228A1136 :1005400008000310460C7F1D0318761B0800761662 :1005500039212C29761F0800DF19B02AF61E080061 -:10056000DF1AD50E7F11BF237F19BD2A2321550E17 +:10056000DF1AD50E7F11C3237F19BD2A2321550E13 :10057000033939216A1B79082C21631BDF1EC82A25 :10058000550E5506031D5F1BC82A5F16DF155F1742 -:10059000DF120800761F0800232103302C2139299F -:1005A000761FE31F080063137808143C0319E31651 -:1005B000031C63170800761F08007F19DA1FBF2B82 -:1005C0007808F61E03190800E700770ACD006117C6 -:1005D0000800761FB92B7F19E80A67086802031C18 -:1005E00061170800761B08004F23FF3A80050800BA -:1005F0000030F600F801F901E0080319192BB101E8 -:1006000009235023031D072B3109E005FC2A750837 -:1006100008003117601B06343116601A3034B116E9 -:10062000E01A313431146018612AB114E018822ABA -:100630000034611F202BE0176808F8004D080800FF -:10064000E0014C08031D3F2B5A1A352B2030FE00C9 -:10065000DA1AC90A49081F39E03E8A11D6258A11DB -:10066000031D0800FE0B292B5A167F117A04F60091 -:100670003408F8003508F9007B08F700080010304E -:10068000F6007430FE00F4010314472BFE0AF40D4B -:1006900074084C050319462BCC067E080800770821 -:1006A000F500750CF400740C1F39BA3E8400F51B7C -:1006B0000034033075180C30F400F518F40E0009FE -:1006C0007405F40E740E0800C334C1348F349F34A3 -:1006D0000234003403340334C03420340034003492 -:1006E00000340034F0340F340034043407340C3454 -:1006F0001234133413341534173419341A341A34A9 -:100700001A341A341A341E34770D031CF61A0800F2 -:10071000F400740E0F39F40077080739FE00FE0A62 -:10072000AA237406F4067406B10103100318B10A73 -:10073000F40CFE0B962B031C0800B123B107310DFE -:10074000103E8400831778088000840A79088000AE -:100750008313080003308A007408643E03188A0A71 -:100760008200F40003308A007408743E03188A0A79 -:100770008200DA1B7F1D761F0800C42BF222DA1BD1 -:100780007F1D761F0800B401B50177088A1559232B -:100790008A11031D0800232183170008350439211D -:1007A00084130008831334042C290319E32B5F3EC0 -:1007B00084000014FE30000503195434FF3A860506 -:1007C000F938E20554345F3E840000100008031934 -:0A07D000423486040639E204423484 -:0607DA009A08E91AF32B56 -:1007E000E901CC2C6B14EB148A1500278A11031332 -:1007F00083128601831660308F0007309B00E7303C -:1008000085002730860003300E0640308E185030A9 -:10081000831203196B0E031E6030FF00031EFF15C9 -:10082000831603308E001930990018151812981687 -:10083000D5308100F93092008312003092008E0191 -:100840008F013130900098019817FF1D2D2C2B300F -:100850008A15D1248A116119FF112030FB24A030A0 -:10086000FB2483171030FB24BF17C417D71781014F -:100870000B1164000B1D392CFF1D181641309F0011 -:100880000030D625EA00E03883169D00DA170E30D6 -:10089000D625ED008A15E4228A11D425C000031D57 -:1008A0006014D425C100D425C200031DE014D42552 -:1008B000C30083160D178C141C0983010D13C03956 -:1008C000DB00FF3086005B1BF739DB1BEF3985004F -:1008D0000B17FF1D8B17C9097030E0041430CE00D0 -:1008E0005030CF000A30D0005A30D1003D30D30014 -:1008F0000D30D625E3001030FE00FC01D030B100F1 -:100900003108D625FD007C08FD080319922CFC0057 -:100910000310FD0C031C902C8A1150238A118004B3 -:100920007C0A842C0730FC04FC0AB10AFE0B802CE4 -:1009300015308A15D1248A11F4010630D6258A157E -:10094000D4208A11F40A0730D6258A15D4208A11BA -:10095000F40A0830D6258A15D4208A11F40A093001 -:10096000D6258A15D4208A11F40A0A30D6258A158C -:10097000D4208A11F40A0B30D6258A15D4208A1186 -:100980000130D625D8008A1587268A11FF1DCC2C68 -:100990004D308A11D7238A116400CB08031DB82576 -:1009A000FF19CC2C5A181B25DD1848250B195B257F -:1009B0000C1881250C1BE0258A15B4268A115919BB -:1009C000A325661BF22B8C1ECC2C1819ED2B981C22 -:1009D000EC2C18121816D9160325DA1DCC2C8A1502 -:1009E0000020B601DA118A150038031DC824D2246C -:1009F0008A114425CC2C84008001840A04097039B2 -:100A0000031DFC2C08003608203E84001A08DA1961 -:100A1000080080000A3A03190800073A0319152D47 -:100A20003608013E831CB6000800B608031908000A -:100A30008001DA1508008A15F9248A115A108A11E2 -:100A40001C208A117F182D2D611D2F2DDB16770894 -:100A50007B06031D442DD40A5412E601442D0130B7 -:100A6000DC00DB155B1658308A11D723761F423025 -:100A7000D723DD11761BDD152230B80083168C14C8 -:100A80008312F930910012158A1513258A11080076 -:100A9000DD105D1A5D1F502D5608803C031C0800B8 -:100AA0005D085E06503903190800DE068A153026F7 -:100AB000D1248A1108000B11D30B692DD919E60A2C -:100AC000E1173D30D3006C0FEC0005306C020318C9 -:100AD0008511E91EE90A121D1F158A15FF18E22269 -:100AE0008A1564090319E401E408031D08258A1125 -:100AF000E508031DE50B080045308A11E3238A1140 -:100B000008000C10D21F8F25DF195F1908008030F4 -:100B1000DF065F054F308A11D5238A110800D20302 -:100B2000D21F0800DC308400001CBF17801CC417D3 -:100B30008316001DDA1783128A1507308005031DFE -:100B4000AB218A1108004B083C3C031C08008A15A5 -:100B500020258A1122304A020318B32D2C308A1521 -:100B6000E1248A11080059118A15D2248A1108003B -:100B70000C1E08003708903E84008317000883137A -:100B80009900B70A503037060319B701CB030800A4 -:100B9000031783168C1C0800831203138C1EC82DA8 -:100BA000F50003257508C82D03170D0AC8258C010B -:100BB00083128D0083160C1483120C080313080093 -:100BC0000C131E085606D60656065602031C003C99 -:100BD000FC39031D162E5608803C031C002E7A3C5F -:100BE000031CFE2D611D0800343C031C182E6111EE -:100BF000E1114E308A15D1248A110800E115012E29 -:100C0000E1116119182E611536308A15D1248A1127 -:100C100012118030DD055B17631EE301DF01BA01AD -:100C2000BB0150308A11E3238A110800611D0800BE -:100C30007F1CE11F08000030F600F801F901FA01FD -:100C4000E1122D26F7008A1121208A11761A8423B9 -:100C50007708FB00E1138A112F2D06308A00540813 -:100C6000343E03188A0A8200003419340134442EB9 -:100C700011341B341C340E34442E00341934013426 -:0C0C800038343934442E1234E1160034AC -:040C8C005D09831665 -:100C90001C0683120D135B06C039DB06611980390F -:100CA000003803190800403903195D1D5A2EFF3022 -:100CB000E4000800031D5D19622E5D15B8080319D4 -:100CC0005B1A7D2EB80803199E2E03305C02031CAC -:100CD000422F5B0D5D19803EB80B8B2E0318472FFA -:100CE0005B184B2F5A148A115230E3235430E323FC -:100CF000E3238A115D1112119B2EB8015B1218308B -:100D0000DD1B08300506183985068A115830E323A3 -:100D1000E3238A11942E01300318DB06F90DF80D38 -:100D2000F70DF60DF9065B11DC0173089102063030 -:100D3000031C91028C106430810008001219AB2E44 -:100D4000E408031D9B2E273091001215DC01831649 -:100D50008C1483129B2E0A305C020318C32E5B0D89 -:100D60005D19803E03189B2EDC0803197B2E8A1127 -:100D70005230D7235D1D4230D7238A112130B8006D -:100D80005B105B11942E32305C020318942E5D19B7 -:100D90005D1E942E5D1B5B1F942E4030DD06DB062E -:100DA000942E8C10DC0A5B1AE92EB808031DE62E7F -:100DB0005C08143C0319132F50305C02031C08001C -:100DC00012115D115D18DD145D100800DC19492F4A -:100DD00008005C180800B8080319042F5D09DB1926 -:100DE000183A0506DD1D0839DD1910398506DC18AD -:100DF000102FDB110314F90DF80DF70DF60D031884 -:100E0000DB15DC01B803080012115B12DD19DB16DB -:100E10008A115830E3235430E323E3238A11080076 -:100E20000830DB0608005B0D5D19803E031C0800DE -:100E300040305D1D8030DD06DB065D1D352F5D1405 -:100E40007F18312FDD1E08005D0950390319080095 -:100E500010308506DD065D0550308A11D5238A11D4 -:100E600008005D11DB1F0800942E7F1C0800DD1BAD -:100E700010305D06103903190800DD065D142B2FB4 -:100E80005B159B2E5B19EA1A402F01304C2F023064 -:100E90004C2F03304C2F0430E4080319E4005B0DA1 -:100EA0005D19803E031C1211B801DC015B128A112E -:100EB0005830E3235230E323E3235430E3238A11F1 -:100EC00064090319692F45308A11D7238A117A30B2 -:040ED000E5009B2E70 -:0C0ED400031D812F07308A006E081F39B3 -:100EE000753E03188A0AEE0A8200842FE82F902F9D -:100EF0000034842FE62F932F842FE82FA02FA22FCA -:100F0000A62F0314BD270034851383168513C1272C -:100F1000831685178312C427851B812FC2270134AE -:100F20004430E9270034D5277408103A03190134F6 -:100F3000EE17383A031901340A3A03190134812FA4 -:100F4000BE30E92FD5277408EF000134D527EE1BFA -:100F5000AF2F740C6F0CFC00FD01FD0CB92F6F0E50 -:100F6000F039FD00740EF039F4006F0E0F3974047F -:100F7000FC00553A0319812F03108A15D121EE0187 -:100F80000134C227E830C52F363083168C10120288 -:100F900083120A3E910012158C1CCC2F12118C105A -:100FA0000800D327D32700000800D627D927D92740 -:100FB000D927851383168513031085178312D2272B -:100FC000851B0314F40C2D30C52708003330E92F9E -:100FD000CC30F400EB27EE27EE27EE27F40C851338 -:100FE00083168513031885173230C5278316851796 -:040FF0008312013433 +:10059000DF120800761F08007808F61A2321FD3EB6 +:1005A000031808000330F529761FE31F08006313C2 +:1005B0007808143C0319E316031C63170800761F20 +:1005C00008007F19DA1FC32B7808F61E03190800EC +:1005D000E700770ACD0061170800761FBD2B7F1951 +:1005E000E80A67086802031C61170800761B080008 +:1005F0005323FF3A800508000030F600F801F901A6 +:10060000E00803191D2BB1010D235423031D0B2BEF +:100610003109E005002B750808003117601B06340E +:100620003116601A3034B116E01A313431146018C2 +:10063000612AB114E018822A0034611F242BE017CC +:100640006808F8004D080800E0014C08031D432B22 +:100650005A1A392B2030FE00DA1AC90A49081F3904 +:10066000E03E8A11E2258A11031D0800FE0B2D2BA6 +:100670005A167F117A04F6003408F8003508F9009C +:100680007B08F70008001030F6007430FE00F4011B +:1006900003144B2BFE0AF40D74084C0503194A2B66 +:1006A000CC067E0808007708F500750CF400740C81 +:1006B0001F39BA3E8400F51B0034033075180C3026 +:1006C000F400F518F40E00097405F40E740E080019 +:1006D000C334C1348F349F340234003403340334C0 +:1006E000C03420340034003400340034F0340F348B +:1006F0000034043407340C341234133413341534F6 +:10070000173419341A341A341A341A341A341E3479 +:10071000770D031CF61A0800F400740E0F39F4006C +:1007200077080739FE00FE0AAE237406F406740645 +:10073000B10103100318B10AF40CFE0B9A2B031C31 +:100740000800B523B107310D103E840083177808E7 +:100750008000840A790880008313080003308A002F +:100760007408683E03188A0A8200F40003308A0085 +:100770007408783E03188A0A8200DA1B7F1D761FF0 +:100780000800C82BF622DA1B7F1D761F0800B40173 +:10079000B50177088A155B238A11031D0800232100 +:1007A00083170008350439218413000883133404A7 +:1007B0002C290319E72B5F3E84000014FE3000054E +:1007C00003195434FF3A8605F938E20554345F3E84 +:1007D0008400001000080319423486040639E2043C +:0207E0004234A1 +:0E07E2009A08E91AF72BE901D02C6B14EB14DE +:1007F0008A1500278A11031383128601831660303D +:100800008F0007309B00E7308500273086000330DB +:100810000E0640308E185030831203196B0E031EE3 +:100820006030FF00031EFF15831603308E00193061 +:100830009900181518129816D5308100F9309200D9 +:100840008312003092008E018F01313090009801A8 +:100850009817FF1D312C2B308A15D3248A1161196A +:10086000FF112030FF24A030FF2483171030FF2415 +:10087000BF17C417D71781010B1164000B1D3D2C46 +:10088000FF1D181641309F000030E225EA00E038D5 +:1008900083169D00DA170E30E225ED008A15E62258 +:1008A0008A11E025C000031D6014E025C100E02589 +:1008B000C200031DE014E025C30083160D178C143D +:1008C0001C0983010D13C039DB00FF3086005B1B60 +:1008D000F739DB1BEF3985000B17FF1D8B17C90993 +:1008E0007030E0041430CE005030CF000A30D00019 +:1008F0005A30D1003D30D3000D30E225E3001030F6 +:10090000FE00FC01D030B1003108E225FD007C087A +:10091000FD080319962CFC000310FD0C031C942CFD +:100920008A1154238A1180047C0A882C0730FC0425 +:10093000FC0AB10AFE0B842C15308A15D3248A11C7 +:10094000F4010630E2258A15D4208A11F40A073012 +:10095000E2258A15D4208A11F40A0830E2258A1586 +:10096000D4208A11F40A0930E2258A15D4208A118C +:10097000F40A0A30E2258A15D4208A11F40A0B30D1 +:10098000E2258A15D4208A110130E225D8008A1583 +:1009900089268A11FF1DD02C4D308A11DB238A1144 +:1009A0006400CB08031DC425FF19D02C5A181F253D +:1009B000DD184C250B195F250C1885250C1BEC2523 +:1009C0008A15B6268A115919AF25661BF62B8C1E7F +:1009D000D02C1819F12B981CF02C18121816D916B7 +:1009E0000725DA1DD02C8A150020B601DA118A15E8 +:1009F0000038031DCA24D4248A114825D02C840031 +:100A00008001840A04097039031D002D080036088E +:100A1000203E84001A08DA19080080000A3A0319F7 +:100A20000800073A0319192D3608013E831CB60049 +:100A30000800B608031908008001DA1508008A15B5 +:100A4000FB248A115A108A111C208A117F18312D1B +:100A5000611D332DDB1677087B06031D482DD40A54 +:100A60005412E601482D0130DC00DB155B165830CE +:100A70008A11DB23761F4230DB23DD11761BDD1567 +:100A80002230B80083168C148312F93091001215AD +:100A90008A1515258A110800DD105D1A5D1F542D79 +:100AA0005608803C031C08005D085E065039031997 +:100AB0000800DE068A153226D3248A1108000B119D +:100AC000D30B6D2DD919E60AE1173D30D3006C0F19 +:100AD000EC0005306C0203188511E91EE90A121DAD +:100AE0001F158A15FF18E4228A1564090319E40109 +:100AF000E408031D0A258A11E508031DE50B08001B +:100B000045308A11E7238A1108000C10D21F932563 +:100B1000DF195F1908008030DF065F054F308A114A +:100B2000D9238A110800D203D21F0800DC308400C8 +:100B3000001CBF174408F839801C0319A02DC417E6 +:100B400083165A08F839001D0319A72DDA178312E6 +:100B50008A1507308005031DAB218A1108004B0858 +:100B60003C3C031C08008A1522258A1122304A02C7 +:100B70000318BF2D2C308A15E3248A11080059115F +:100B80008A15D4248A1108000C1E08003708903EEC +:100B900084008317000883139900B70A5030370682 +:100BA0000319B701CB030800031783168C1C080038 +:100BB000831203138C1ED42DF50007257508D42D40 +:100BC00003170D0AD4258C0183128D0083160C1493 +:100BD00083120C08031308000C131E085606D606D1 +:100BE00056065602031C003CFC39031D1F2E5608F6 +:100BF000803C031C0C2E7A3C031C0A2E611D08004D +:100C0000343C031C212ED330E1054E308A15D32409 +:100C10008A110800E1150D2EE1116119212E6115CF +:100C200036308A15D3248A1112118030DD055B1706 +:100C3000631EE301DF01BA01BB015030812D611D4C +:100C400008007F1CE11F08000030F600F801F901E0 +:100C5000FA01E1123626F7008A1121208A11761A4C +:100C600088237708FB00E1138A11332D06308A00B0 +:100C700054083D3E03188A0A8200003419340134B6 +:100C80004D2E11341B341C340E344D2E00341934C7 +:0E0C90000134383439344D2E1234E11600345C +:020C9E005D09EE +:100CA00083161C0683120D135B06C039DB0661191F +:100CB0008039003803190800403903195D1D632E7F +:100CC000FF30E4000800031D5D196B2E5D15B808A8 +:100CD00003195B1A862EB8080319A72E03305C028D +:100CE000031C482F5B0D5D19803EB80B942E031832 +:100CF0004D2F5B18512F5A148A115230E72354306C +:100D0000E723E7238A115D111211A42EB8015B12AB +:100D10001830DD1B08300506183985068A11583051 +:100D2000E723E7238A119D2E01300318DB06F90D16 +:100D3000F80DF70DF60DF9065B11DC017308910251 +:100D40000630031C91028C106430810008001219D7 +:100D5000B42EE408031DA42E273091001215DC01E7 +:100D600083168C148312A42E0A305C020318CC2E36 +:100D70005B0D5D19803E0318A42EDC080319842E38 +:100D80008A115230DB235D1D4230DB238A11213072 +:100D9000B8005B105B119D2E32305C0203189D2E53 +:100DA0005D195D1E9D2E5D1B5B1F9D2E4030DD0677 +:100DB000DB069D2E8C10DC0A5B1AF22EB808031D90 +:100DC000EF2E5C08143C0319192F50305C02031CF1 +:100DD000080012115D115D18DD145D100800DC19AA +:100DE0004F2F08005C1808005D09DB19183A05064A +:100DF000DD1D0839DD1910398506DC18162FDB11C9 +:100E00000314F90DF80DF70DF60D0318DB15DC01D1 +:100E1000B80B080012115B12DD19DB168A1158306D +:100E2000E7235430E723E7238A1108000830DB0664 +:100E300008005B0D5D19803E031C080040305D1DFD +:100E40008030DD06DB065D1D3B2F5D147F18372FDC +:100E5000DD1E08005D0950390319080010308506B1 +:100E6000DD065D0550308A11D9238A1108005D1115 +:100E7000DB1F08009D2E7F1C0800DD1B10305D0667 +:100E8000103903190800DD065D14312F5B15A42EFF +:100E90005B19EA1A462F0130522F0230522F0330CD +:100EA000522F0430E4080319E4005B0D5D19803E05 +:100EB000031C1211B801DC015B128A115830E723C0 +:100EC0005230E723E7235430E7238A1164090319DA +:100ED0006F2F45308A11DB238A117A30E500A42E6A +:100EE000031D872F07308A006E081F397B3E0318C9 +:100EF0008A0AEE0A82008A2FEE2F962F00348A2F5C +:100F0000EC2F992F8A2FEE2FA62FA82FAC2F03148A +:100F1000C3270034851383168513C72783168517C7 +:100F20008312CA27851B872FC82701344430EF2737 +:100F30000034DB277408103A03190134EE17383AED +:100F4000031901340A3A03190134872FBE30EF2FF9 +:100F5000DB277408EF000134DB27EE1BB52F740C80 +:100F60006F0CFC00FD01FD0CBF2F6F0EF039FD0072 +:100F7000740EF039F4006F0E0F397404FC00553A0A +:100F80000319872F03108A15D121EE010134C827D8 +:100F9000E830CB2F363083168C10120283120A3EB3 +:100FA000910012158C1CD22F12118C100800D92719 +:100FB000D92700000800DC27DF27DF27DF2785137C +:100FC00083168513031085178312D827851B0314F6 +:100FD000F40C2D30CB2708003330EF2FCC30F40049 +:100FE000F127F427F427F427F40C851383168513CF +:100FF000031885173230CB278316851783120134E7 :10100000D91A402804303602031C663422083D3CBD -:10101000031D663420088A15E1242108E1243A30B2 -:10102000E1242030E12408308A0020082106F40061 -:10103000E039031DA52C7408203E03188A0A82009B +:10101000031D663420088A15E3242108E3243A30AE +:10102000E3242030E32408308A0020082106F4005D +:10103000E039031DA72C7408203E03188A0A820099 :1010400042284D2855285D2862286A28F2287228EF :10105000BA28BA28BA2879286334BA28BA28BA280C :101060007E288928912863349628633463349B282A :10107000633463346334A028A828AD286334B528CA :10108000D91275342008543A03192C29153A03193A -:10109000872A0C3A0319042B63342008523A0319A7 -:1010A000B52B013A0319162B63342008503A031963 -:1010B000122B1B3A0319792B63342008503A031979 -:1010C000142B63342008563A0319452A053A0319AC -:1010D000682963342008443A03199E2A123A0319F6 -:1010E000B529F22820084F3A0319B02B1B3AFA2AE7 -:1010F00063342008433A03193E2A63342008533AE4 -:101100000319F229143A0319CF2A043A03199C2926 -:1011100063342008433A03194C2B103A0319602911 -:1011200063342008463A0319B72A63342008443A46 -:101130000319E82963342008543A03192729633432 +:10109000892A0C3A0319062B63342008523A0319A3 +:1010A000B72B013A0319182B63342008503A03195F +:1010B000142B1B3A03197B2B63342008503A031975 +:1010C000162B63342008563A0319472A053A0319A8 +:1010D000682963342008443A0319A02A123A0319F4 +:1010E000B529F22820084F3A0319B22B1B3AFC2AE3 +:1010F00063342008433A0319402A63342008533AE2 +:101100000319F429143A0319D12A043A03199C2922 +:1011100063342008433A03194E2B103A031960290F +:1011200063342008463A0319B92A63342008443A44 +:101130000319EA2963342008543A03192729633430 :1011400020084F3A0319C4291C3A03198229633431 -:101150002008553A0319652B63342008493A0319CE -:10116000A32B193A0319DF2B63342008483A0319DB -:101170002E2A633420084C3A031D63343608043C9D +:101150002008553A0319672B63342008493A0319CC +:10116000A52B193A0319E12B63342008483A0319D7 +:10117000302A633420084C3A031D63343608043C9B :10118000031D66342308F4005A3C193C031C6C34DC -:1011900041302102063E6E2223088A15E1248A1579 +:1011900041302102063E702223088A15E3248A1575 :1011A00041302102F4002308FC000830F4184030DC :1011B00074190230B10003107418B10DA03084000E :1011C0001A30FE0031098005840AFE0BE3287C08F2 :1011D0005F3E8400310880047C08001C03158A11DE -:1011E000D52300342008473C031D63343608043CF3 +:1011E000D92300342008473C031D63343608043CEF :1011F000031D663430302302F400F839031D6634D1 :10120000F030211809295805703C03195910F40EC3 -:101210000F3058057404D800F40001306E226217B4 -:10122000E213C030211CE2068A158C265808211CC6 -:10123000580E07398A15DF2C03103608043A031DAF -:1012400066342308313C013C031808006C34322416 -:101250000318080001303029322403180800033035 +:101210000F3058057404D800F400013070226217B2 +:10122000E213C030211CE2068A158E265808211CC4 +:10123000580E07398A15E12C03103608043A031DAD +:1012400066342308313C013C031808006C34342414 +:101250000318080001303029342403180800033033 :101260003221CF2955060F39D5060030631F3D299D :101270003A083B04031D5F161030DF057D08BB00F4 :101280007C08BA00DF155F17DF16B901E31ADA141C -:101290003B0403195C29E31E08003A087E247D08FC -:1012A000B9003B087E247C08B907FD1BB90A3A083F +:101290003B0403195C29E31E08003A0880247D08FA +:1012A000B9003B0880247C08B907FD1BB90A3A083D :1012B000FC003B08FD0008005F165510D510080023 -:1012C0003224031808000319663402306422CF293F -:1012D000362403180800031977294E08A024031C9C -:1012E0006C344F08A024031D031C79296C34601052 +:1012C0003424031808000319663402306622CF293B +:1012D000382403180800031977294E08A224031C98 +:1012E0006C344F08A224031D031C79296C34601050 :1012F0007B29611860147D08C1007C08C0000F3094 -:101300006422CF29362403180800031991295008B4 -:10131000A024031C6C345108A024031D031C932932 +:101300006622CF29382403180800031991295008B0 +:10131000A224031C6C345108A224031D031C93292E :101320006C34E0109529E118E0147D08C3007C08B6 -:10133000C20011306422CF29242403180800C400FD +:10133000C20011306622CF29262403180800C400F9 :101340007D08C5007C040319A929AB21031C801466 :10135000CF29C417CF29DC308400520DD21F0800DA -:10136000F83080057830D2000800ED230318C22938 +:10136000F83080057830D2000800EF230318C22936 :101370008008031D6634643C031C7234740DC6007F -:101380008A15832DC601CB2936240318CA29FC1FD0 -:101390007C1FCE2959102D308A15E12CD8218A15B1 -:1013A0006B2D30306D1DD8296116031C6112DF29A9 -:1013B0005914D914031CD9103C30E0212E30831766 -:1013C00084007C088000840A7D0880008313080064 -:1013D0003608053C031D6634072403180800C700BF -:1013E0008A15D62CED2303180800BE00173C031CF9 -:1013F000723400083A3C031D6634840AEE23031855 -:101400006634BF003B3C031C723400082F3C031DB4 -:101410006634840A30300002031D031C6C34F4006F -:10142000F839031D6C34840A8008031D6634F40EF9 -:101430000310740DBE04AB21031C00143E081F39B9 -:10144000F4008A1591253F08F4003A3090252F309A -:10145000E1243E0EF400740C0739DF2C3608043CFE -:10146000031D66346D12ED122308313C0319ED168D -:10147000FE3903196D165B228A15292E1C21031CC7 -:1014800008006210031962141A293608043C031D6F -:1014900066342308393C093C031C6C34033EF400D9 -:1014A000E03883169D008312E0306A057404EA0078 -:1014B0006C228A15FE2D6D08F4000E306E2A8A11FA -:1014C000C8258A15831208005F228D007C087122CE -:1014D0005F228D0A7D08712AF40000305F228D00A2 -:1014E0007408031783160C1483120C060319842A3C -:1014F0008C0683160C158B1355308D00AA308D0089 -:101500008C148B170C1183120C0803130800ED23A5 -:1015100003180800031972348008031D66345A1238 -:10152000E0308A11D6258A1503199B2A03170D0F5F -:10153000912A0313693470228A15822DED23031832 -:101540000800031972348008031D6634AA22031DA3 -:101550000800C029F400E0308A11D6258A157406E7 -:101560000319712A03170D0FAC2A03136F343608C1 -:10157000043C031D6634E3012308433A0319E316D0 -:101580000A3A031963171A3A03196316E308031D8D -:1015900063166308F4000D306E228A15382E360863 -:1015A000043C031D66341C21031CF02A6D14ED0657 -:1015B0007F060139031DE02AFF14E222FF18A30071 -:1015C0005B22AE2B121950347F106D1CFF197F1453 -:1015D00003307F18063083169C008312FF1008002A -:1015E0002308523C031D6C346B148610831686103E -:1015F0008A11002823084F3A031D1D3A031D6C343D -:101600006D11231C6D15E02AED230318102B8008A3 -:10161000031D6634643C031C7234643CD7009C2A6E -:10162000D717CB298A15D02D8A15632EED230318E1 -:10163000080003196C34F5003A300002031D6634CB -:10164000840AFC01EE230318080080080319342BD8 -:10165000FC002C300002031D6634840AEE230318BC -:1016600008008008031D6634FD007508592303191E -:101670003D2B03015923031D693483177D08800026 -:1016800084137C08800083138417750880008A15F2 -:1016900082253A30E1247D2DED230318080003193B -:1016A0006C348008031D66345923031D6F34800198 -:1016B000C029F400E0308400000874060319080013 -:1016C00001308407831C5C2B0034ED2303180800D1 -:1016D000031DFC00FC1B6C348008031D66348A115A -:1016E00050238A1580047C088D23740471227C08A1 -:1016F0009C2AED2303180800031DFC00FC1B6C341E -:101700008008031D66348A1150238A15FF3A80052C -:101710007C088D23F4097405762B9723F50E750D3F -:10172000750D1F39D03E8A11D6258A150800031081 -:10173000F5000130F5180430F4007518F40D751932 -:10174000F40E740808001C21031C08002030231824 -:10175000EA04FF3A231CEA056A086C222308CC2914 -:101760001C21031C08004030A72B3608063C031D33 -:1017700066340130F4002308483A0319C52B1F3A98 -:10178000031D66340430F40012302406423A031973 -:10179000CE2B123A031D66340310F40D2508533A7C -:1017A0000319D62B1B3A031D6634F40E7408CC04BF -:1017B00023088A15E1242408E1242508E12CED23DF -:1017C000031808008008031D6634CD006117E70187 -:1017D000E8019C2A233084000800EA230008393CF1 -:1017E000093C031C7C2CF400840A0008393C093CA9 -:1017F000031C052CB1001A307402031872347408EB -:101800008A243107031CF32B723474080800EA237E -:10181000112403180800F400F40E1124031C7404AE -:10182000080030300002031C7C2CF63E031C202CE8 -:10183000DF39F93E031C7C2CFA3E03186634063E61 -:101840000A3E840A03100800322483140318080097 -:101850009C3E8310031C752C031D7234FD08031D70 -:101860007234752CEA2300082D3C3C2CEA235917CE -:1018700000082D3C03193F2C5913023C0319840A1C -:10188000EE2303180800FC0100080319622C2E3C0B -:10189000031D7C2C0730FE00840A00080319622C0B -:1018A000393C093C031C7C2C7E198A24FE18FC0759 -:1018B0000310FE0CFE080319031C4C2CFB3E0318FE -:1018C000FC0A4C2C591F6B2CF409FC0803197A2CC8 -:1018D0007C08643CFC00FD0190240318F40AB20863 -:1018E000031D013EFD007408FC007C080319FD087F -:1018F00003100800F40A6B2C03146634FC01FD008D -:1019000086248624FD070318FC0A08000310FD0D39 -:10191000FC0D0800B200B207B20DB207320D08008C -:101920001030FE00B101B201FD0DFC0DB20D6430AE -:1019300032020318B200B10DFE0B942C31080800DE -:101940007C02031D0800FD0808002108323A031D2F -:1019500063342008433A0319B72C0B3A031D633450 -:101960001C21031C08006212031962161A29242480 -:10197000031808008316DA007D08DB007C040319D5 -:10198000C52C5C158312AB21CF29DA178312CF291E -:101990008A11D6258A1503190800E12403170D0AB8 -:1019A000C82CC8240D30E1240A30E12CF500750E56 -:1019B000DA2475080F39F63E0318073E0A3ED91798 -:1019C000303ECB0803190C1EE72C9900003484002C -:1019D00037084B07B03E031C503E903E0406840679 -:1019E00004068317800083134B08503A031DCB0A6B -:1019F00000345430761B42305A190800E12476082E -:101A0000D6247708D6247808D6247908D624D22C70 -:101A1000DD1808008E30C8246408D624D22445304E -:101A2000641CFC24E4014708031908008400000832 -:101A3000F4004708D6243D30E1247408D624D22C83 -:101A40004A084A07103E840083170008FC00840AF5 -:101A50000008FD0083130D308A004A08CA0A333E8D -:101A600003188A0A8200552D6D2D552D6D2D6D2D73 -:101A70006D2D7D2D6D2D6D2D6D2D6D2D6D2D6D2D86 -:101A80006D2D6D2D6B2D6D2D6D2DA12D7D2D7D2D34 -:101A90006D2D6D2D552D812D812DA32DA32DA32DC4 -:101AA000A32DA32DA32DA32DA32D7C085A252F30C4 -:101AB000E1247D08F4000830FE00F40D6225FE0BE1 -:101AC0005D2D0800140DDF2CFC09FD09FD0A03192A -:101AD000FC0A2D30E12CFC1B64257D0F712DFC0AC6 -:101AE000FD017C0882256430F4007D087626FD1B0C -:101AF000FC0A7C08F4002E30902D7C0882252F30C3 -:101B0000E1247D08F4007408D9139C3E031C922D37 -:101B1000F4009C3E031C8F2DF4003230902D3130A8 -:101B2000E124D917FE017408F400F63E031C9A2D37 -:101B3000FE0A942D7E080319D91B9F257408D91716 -:101B4000DF2CFC1B64251030FE00B101B201B30193 -:101B5000AF2D3308C025B3003208C025B200FD0DFB -:101B6000FC0DB30DB20DB10DFE0BA92DD91331082B -:101B7000C7253208C7253308C725D91B0800DF2C25 -:101B8000333EF400F41DFD3EF41FD03E0800F40087 -:101B9000740ECB2574080F390319D91BDF2C0800EC -:101BA0003608043C031D66340D308A0023085A3C75 -:101BB000193C031C6C34DF3E03188A0A820013347C -:101BC0009534A8345E2E6C346C34502E6C344A2E0E -:101BD0006C346C3404341B2E6C34012E2F2E202ECA -:101BE000372E532E422E6C34FD2D282E6C346C343F -:101BF0006C342308E1243D30E12CF9256A08FD3ED0 -:101C0000DA2CF925DF084E300319E12C3A083B04A1 -:101C10006E300319E12C550E55060F39DF1ED5061F -:101C20005430D51C43305F1D2038E1243A08FC00B5 -:101C30003B08FD006D2DF92547307F184D30E12C14 -:101C4000F9257F0E0739B03E8A11D6258A15E12C79 -:101C5000F9253030ED1A31306D1E4130E12CF92577 -:101C60005D1E843478305D1B7F30C8248734F925AD -:101C70004430631A5330E31B5230E31A4330631B82 -:101C80004930E12CF9256A0EF400F40CF40C6225BD -:101C9000F40C622DF925050D803E6225050D622D9F -:101CA000F925580ED62CF92502308A11D6258A1529 -:101CB000FC008A11D4258A15FD006D2DF9254F30C1 -:101CC0006D195230E12C3608043C031D663423089C -:101CD000313C013C031C6C340319722ECA015915A6 -:101CE0005A15742E59115A118A15DF2CFC01FD0169 -:101CF000083AFE00083AFE060310FD0DFC0DF40D37 -:0E1D00000318FD070318FC0AFE0B7C2E0800DA -:021D0E0062175A -:101D1000E2138C266213E2170E308A005808E21B89 -:101D2000580E0739963E03188A0A8200A12EAD2E5E -:101D3000B02EB02EB02EA12EA12E9E2EF030E21F7E -:101D4000D8056208C0398316850483120800620929 -:101D50003F388316850583120800A72685050800ED -:101D6000A726FF3A850408006217E213B92662131A -:101D7000E2170E308A005808E21B580E0739C33E9E -:101D800003188A0A8200080008000800CB2ED22E11 -:101D9000E32EE52ED92E0508E21805096205C039A3 -:101DA000850608000508621905096205C03985061F -:101DB0000800DB1E0800B8088A116A278A15003857 -:101DC0000319DB1208000509E62E05086205C03973 -:101DD000031DF02EE21D0800E211FC01FD01FA2EA8 -:101DE000E2190800E21502308A11D625FC00D4253C -:0C1DF000FD0001308A1532218A15080020 +:101380008A15852DC601CB2938240318CA29FC1FCC +:101390007C1FCE2959102D308A15E32CD9218A15AE +:1013A0006D2D6D1DD92961160318080061123030AA +:1013B000E1295914D91403180800D9103C30E2214E +:1013C0002E30831784007C088000840A7D0880000A +:1013D000831308003608053C031D663409240318EE +:1013E0000800C7008A15D82CEF2303180800BE0098 +:1013F000173C031C723400083A3C031D6634840A0F +:10140000F02303186634BF003B3C031C7234000811 +:101410002F3C031D6634840A30300002031D031C78 +:101420006C34F400F839031D6C34840A8008031D01 +:101430006634F40E0310740DBE04AB21031C0014BB +:101440003E081F39F4008A1593253F08F4003A300E +:1014500092252F30E3243E0EF400740C0739E12C62 +:101460003608043C031D66346D12ED122308313C2E +:101470000319ED16FE3903196D165D228A152B2E00 +:101480001C21031C08006210031962141A29360873 +:10149000043C031D66342308393C093C031C6C34AE +:1014A000033EF400E03883169D008312E0306A05A5 +:1014B0007404EA006E228A15002E6D08F4000E30C6 +:1014C000702A8A11D4258A158312080061228D00A2 +:1014D0007C08732261228D0A7D08732AF400003093 +:1014E00061228D007408031783160C1483120C06F6 +:1014F0000319862A8C0683160C158B1355308D0024 +:10150000AA308D008C148B170C1183120C08031356 +:101510000800EF2303180800031972348008031D24 +:1015200066345A12E0308A11E2258A1503199D2A81 +:1015300003170D0F932A0313693472228A15842D21 +:10154000EF2303180800031972348008031D663462 +:10155000AC22031D0800C029F400E0308A11E22506 +:101560008A1574060319732A03170D0FAE2A031385 +:101570006F343608043C031D6634E3012308433A04 +:101580000319E3160A3A031963171A3A0319631683 +:10159000E308031D63166308F4000D3070228A15FA +:1015A0003A2E3608043C031D66341C21031CF22A23 +:1015B0006D14ED067F060139031DE22AFF14E422B3 +:1015C000FF18A3005D22B02B121950347F106D1C40 +:1015D000FF197F1403307F18063083169C00831296 +:1015E000FF1008002308523C031D6C346B14861056 +:1015F000831686108A11002823084F3A031D1D3ACE +:10160000031D6C346D11231C6D15E22AEF230318A2 +:10161000122B8008031D6634643C031C7234643C46 +:10162000D7009E2AD717CB298A15D22D8A15652E69 +:10163000EF230318080003196C34F5003A30000258 +:10164000031D6634840AFC01F02303180800800897 +:101650000319362BFC002C300002031D6634840A6B +:10166000F023031808008008031D6634FD00750888 +:101670005B2303193F2B03015B23031D693483178D +:101680007D08800084137C0880008313841775080C +:1016900080008A1584253A30E3247F2DEF23031838 +:1016A000080003196C348008031D66345B23031D96 +:1016B0006F348001C029F400E03084000008740613 +:1016C0000319080001308407831C5E2B0034EF23CC +:1016D00003180800031DFC00FC1B6C348008031D6C +:1016E00066348A1154238A1580047C088F2374047D +:1016F00073227C089E2AEF2303180800031DFC00B8 +:10170000FC1B6C348008031D66348A1154238A152F +:10171000FF3A80057C088F23F4097405782B992300 +:10172000F50E750D750D1F39D03E8A11E2258A150B +:1017300008000310F5000130F5180430F4007518A6 +:10174000F40D7519F40E740808001C21031C080020 +:1017500020302318EA04FF3A231CEA056A086E22A7 +:101760002308CC291C21031C08004030A92B360873 +:10177000063C031D66340130F4002308483A03197F +:10178000C72B1F3A031D66340430F40012302406C0 +:10179000423A0319D02B123A031D66340310F40D9C +:1017A0002508533A0319D82B1B3A031D6634F40E4F +:1017B0007408CC0423088A15E3242408E3242508AC +:1017C000E32CEF23031808008008031D6634CD00C6 +:1017D0006117E701E8019E2A233084000800EC230A +:1017E0000008393C093C031C7E2CF400840A0008E4 +:1017F000393C093C031C072CB1001A307402031851 +:10180000723474088C243107031CF52B723474086D +:101810000800EC23132403180800F400F40E13242A +:10182000031C7404080030300002031C7E2CF63EBA +:10183000031C222CDF39F93E031C7E2CFA3E0318D0 +:101840006634063E0A3E840A0310080034248314DA +:10185000031808009C3E8310031C772C031D723470 +:10186000FD08031D7234772CEC2300082D3C3E2C20 +:10187000EC23591700082D3C0319412C5913023C45 +:101880000319840AF02303180800FC010008031957 +:10189000642C2E3C031D7E2C0730FE00840A0008B9 +:1018A0000319642C393C093C031C7E2C7E198C24C2 +:1018B000FE18FC070310FE0CFE080319031C4E2C37 +:1018C000FB3E0318FC0A4E2C591F6D2CF409FC0832 +:1018D00003197C2C7C08643CFC00FD019224031855 +:1018E000F40AB208031D013EFD007408FC007C08E8 +:1018F0000319FD0803100800F40A6D2C0314663464 +:10190000FC01FD0088248824FD070318FC0A080058 +:101910000310FD0DFC0D0800B200B207B20DB207B6 +:10192000320D08001030FE00B101B201FD0DFC0DBA +:10193000B20D643032020318B200B10DFE0B962CCA +:10194000310808007C02031D0800FD08080021087A +:10195000323A031D63342008433A0319B92C0B3A79 +:10196000031D63341C21031C080062120319621654 +:101970001A292624031808008316DA007D08DB00E4 +:101980007C040319C72C5C158312AB21CF29DA170D +:041990008312CF29C6 +:0C1994008A11E2258A1503190800E324DB +:1019A00003170D0ACA2CCA240D30E3240A30E32C95 +:1019B000F500750EDC2475080F39F63E0318073E56 +:1019C0000A3ED917303ECB0803190C1EE92C9900AA +:1019D0000034840037084B07B03E031C503E903E55 +:1019E0000406840604068317800083134B08503ACC +:1019F000031DCB0A00345430761B42305A190800BC +:101A0000E3247608D8247708D8247808D8247908DD +:101A1000D824D42CDD1808008E30CA246408D824B9 +:101A2000D4244530641CFE24E4014708031908004F +:101A300084000008F4004708D8243D30E3247408EB +:101A4000D824D42C4A084A07103E84008317000883 +:101A5000FC00840A0008FD0083130D308A004A0848 +:101A6000CA0A353E03188A0A8200572D6F2D572D5A +:101A70006F2D6F2D6F2D7F2D6F2D6F2D6F2D6F2D76 +:101A80006F2D6F2D6F2D6F2D6D2D6F2D6F2DA32D44 +:101A90007F2D7F2D6F2D6F2D572D832D832DA52D00 +:101AA000A52DA52DA52DA52DA52DA52DA52D7C08F4 +:101AB0005C252F30E3247D08F4000830FE00F40D8F +:101AC0006425FE0B5F2D0800140DE12CFC09FD09B7 +:101AD000FD0A0319FC0A2D30E32CFC1B66257D0F43 +:101AE000732DFC0AFD017C0884256430F4007D0818 +:101AF0007826FD1BFC0A7C08F4002E30922D7C0811 +:101B000084252F30E3247D08F4007408D9139C3E0B +:101B1000031C942DF4009C3E031C912DF4003230E4 +:101B2000922D3130E324D917FE017408F400F63EFB +:101B3000031C9C2DFE0A962D7E080319D91BA12596 +:101B40007408D917E12CFC1B66251030FE00B1018A +:101B5000B201B301B12D3308C225B3003208C2254A +:101B6000B200FD0DFC0DB30DB20DB10DFE0BAB2D92 +:101B7000D9133108C9253208C9253308C925D91B0D +:101B80000800E12C333EF400F41DFD3EF41FD03E6E +:101B90000800F400740ECD2574080F390319D91B01 +:101BA000E12C08003608043C031D66340D308A0021 +:101BB00023085A3C193C031C6C34E13E03188A0A82 +:101BC000820013349534A834602E6C346C34522E59 +:101BD0006C344C2E6C346C3404341D2E6C34032E57 +:101BE000312E222E392E552E442E6C34FF2D2A2EC6 +:101BF0006C346C346C342308E3243D30E32CFB2537 +:101C00006A08FD3EDC2CFB25DF084E300319E32C6F +:101C10003A083B046E300319E32C550E55060F3974 +:101C2000DF1ED5065430D51C43305F1D2038E32419 +:101C30003A08FC003B08FD006F2DFB2547307F185C +:101C40004D30E32CFB257F0E0739B03E8A11E2258B +:101C50008A15E32CFB253030ED1A31306D1E4130F2 +:101C6000E32CFB255D1E843478305D1B7F30CA2455 +:101C70008734FB254430631A5330E31B5230E31A98 +:101C80004330631B4930E32CFB256A0EF400F40C4F +:101C9000F40C6425F40C642DFB25050D803E6425B1 +:101CA000050D642DFB25580ED82CFB2502308A111A +:101CB000E2258A15FC008A11E0258A15FD006F2DAA +:101CC000FB254F306D195230E32C3608043C031DC0 +:101CD00066342308313C013C031C6C340319742E18 +:101CE000CA0159155A15762E59115A118A15E12C27 +:101CF000FC01FD01083AFE00083AFE060310FD0D46 +:101D0000FC0DF40D0318FD070318FC0AFE0B7E2ED4 +:021D10000800C9 +:0E1D12006217E2138E266213E2170E308A006B +:101D20005808E21B580E0739983E03188A0A8200A9 +:101D3000A32EAF2EB22EB22EB22EA32EA32EA02EE5 +:101D4000F030E21FD8056208C0398316850483127B +:101D5000080062093F388316850583120800A9260A +:101D600085050800A926FF3A850408006217E213DA +:101D7000BB266213E2170E308A005808E21B580E89 +:101D80000739C53E03188A0A8200080008000800C7 +:101D9000CD2ED42EE52EE72EDB2E0508E218050900 +:101DA0006205C03985060800050862190509620543 +:101DB000C03985060800DB1E0800B8088A117027A4 +:101DC0008A1500380319DB1208000509E82E0508FA +:101DD0006205C039031DF22EE21D0800E211FC016C +:101DE000FD01FC2EE2190800E21502308A11E225FD +:101DF000FC00E025FD0001308A1532218A1508001B :101E0000031E08008B138316031360308F002730E6 :101E10008600E730850007309B00E6309D000630E5 :101E20009C00D73081001930990026309800831229 @@ -524,7 +524,7 @@ :1042200000000000000041003D004F0070006500EC :104230006E0054006800650072006D0020004700A9 :10424000610074006500770061007900200035008E -:104250002E00370000005700440054002000720078 +:104250002E00380000005700440054002000720077 :1042600065007300650074002100000054006800C0 :10427000650072006D006F007300740061007400CF :10428000200064006900730063006F006E006E0020 @@ -538,8 +538,8 @@ :1043000069006700680000004C006F007700200023 :1043100070006F00770065007200000045007200B9 :1043200072006F0072002000000042003D0031006A -:1043300032003A00320034002000320038002D00F4 -:10434000310032002D003200300032003200000017 +:1043300037003A00350031002000310032002D00F6 +:10434000300033002D003200300032003300000016 :1043500043003D00340020004D0048007A0000007A :0E4360004500430053004C005000420057003F :1043A000000000000000000000000000000000000D diff --git a/data/pic16f88/gateway.ver b/data/pic16f88/gateway.ver index 760606e..3659ea2 100644 --- a/data/pic16f88/gateway.ver +++ b/data/pic16f88/gateway.ver @@ -1 +1 @@ -5.7 +5.8 From cc1c894e54874ff3a9e91873ccf108652191d31f Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Tue, 14 Mar 2023 23:13:11 +0100 Subject: [PATCH 09/57] Update readme for 0.10.2 maintaince release --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e18b294..e8bd117 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ Looking for the documentation, go here (work in progress):
https://github. | Version | Release notes | |-|-| +| 0.10.2 | Bugfix: issue #213 which caused 0 bytes after update of PIC firwmare (dropped to Adruino core 2.7.4)
Update to filesystem to include latest PIC firmware (6.5 and 5.8, released 12 march 2023)
Fix: Back to correct hostname to wifi (credits to @hvxl)
Fix: Adding a little memory for use with larger settings.| | 0.10.1 | Beter build processes to generate consistant quality using aruidno-cli and github actions (Thx to @hvxl and @DaveDavenport)
Maintaince to sourcetree, removed cruft, time.h library, submodules
Fix: parsing VH Status Master correctly
Enhancement: Stopping send time commands on detections of PS=1 mode
Fix: Mistake in MQTT configuration of auto discovery template for OEM fault code
Added wifi quality indication (so you can understand better)
Remove: Boardtype, as it was static in compiletime building| | 0.10.0 | Updated: Added support fox 6.x firmware (pic16f1847) (Thanks to @hvxl / Schelte Bron)
Added reporting of "firmware type"
Improved: DHCP can override NTP settings now
Improved: Sending SC command on the minute (00 second), after reset ESP all commands (SR 21, SR 22) are resend
Bugfix: bitwise not bytewise AND operation for ASF flags OEM codes
Readout S0 output from configurable GPIO, interupt rtn added for this, enhanced Dallas-type sensor logic (autoconfigure, code cleanup) (Thanks to @RobR)
Web UI improvements by @rlagerwij and @Nicole| | 0.9.5 | Improved: WebUI improved by community
Bugfix: Device Online status indicator for Home Assistant
Improved: Update of 5.x series (pic16f88) firmwares, preparing for 6.x (pic16f1847) updates.
Bugfix: Prevent spamming OTGW firmware website in case of rebootloop
Added: Unique useragent| From 42216c539054c7c2dce038fc9cae24092152766d Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Tue, 14 Mar 2023 23:13:48 +0100 Subject: [PATCH 10/57] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e8bd117..f108f7c 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ The features of this Nodosop OpenTherm Gateware ESP8266 based firmware are: To do: - InfluxDB client to do direct logging - Instant update of webUI using websockets -- Showing log of OT messages using websockets847 +- 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 From 10b24b643a3f5cf2cb60b7c0da87a31145b473a8 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Thu, 16 Mar 2023 22:49:59 +0100 Subject: [PATCH 11/57] Turning off WTD during setup --- OTGW-firmware.ino | 7 ++++--- version.h | 22 +++++++++++----------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/OTGW-firmware.ino b/OTGW-firmware.ino index 37a27b3..4731ac4 100644 --- a/OTGW-firmware.ino +++ b/OTGW-firmware.ino @@ -49,6 +49,7 @@ void setup() { // Serial is initialized by OTGWSerial. It resets the pic and opens serialdevice. // OTGWSerial.begin();//OTGW Serial device that knows about OTGW PIC // while (!Serial) {} //Wait for OK + initWatchDog(); // setup the WatchDog WatchDogEnabled(0); // turn off watchdog SetupDebugln(F("\r\n[OTGW firmware - Nodoshop version]\r\n")); @@ -64,6 +65,7 @@ void setup() { setLed(LED1, ON); setLed(LED2, ON); + LittleFS.begin(); readSettings(true); @@ -78,7 +80,7 @@ void setup() { startWiFi(CSTR(settingHostname), 240); // timeout 240 seconds blinkLED(LED1, 3, 100); setLed(LED1, OFF); - + startTelnet(); // start the debug port 23 startMDNS(CSTR(settingHostname)); startLLMNR(CSTR(settingHostname)); @@ -86,7 +88,6 @@ void setup() { startWebserver(); startMQTT(); // start the MQTT after webserver, always. - initWatchDog(); // setup the WatchDog lastReset = ESP.getResetReason(); SetupDebugf("Last reset reason: [%s]\r\n", CSTR(lastReset)); rebootCount = updateRebootCount(); @@ -99,7 +100,7 @@ void setup() { // Setup the OTGW PIC resetOTGW(); // reset the OTGW pic startOTGWstream(); // start port 25238 - // initSensors(); // init DS18B20 (after MQ is up! ) + // initSensors(); // init DS18B20 (after MQ is up! ) initOutputs(); WatchDogEnabled(1); // turn on watchdog diff --git a/version.h b/version.h index 2633b62..0bf3587 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#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_BUILD 2089 +#define _VERSION_GITHASH "9b6336a" +#define _VERSION_PRERELEASE beta +#define _VERSION_DATE "16-03-2023" +#define _VERSION_TIME "22:49:30" +#define _SEMVER_CORE "0.10.3" +#define _SEMVER_BUILD "0.10.3+2089" +#define _SEMVER_GITHASH "0.10.3+9b6336a" +#define _SEMVER_FULL "0.10.3-beta+9b6336a" +#define _SEMVER_NOBUILD "0.10.3-beta (16-03-2023)" +#define _VERSION "0.10.3-beta+9b6336a (16-03-2023)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From bba1ca831315c19e71f7a977e635e66f314b6f94 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sat, 18 Mar 2023 14:23:12 +0100 Subject: [PATCH 12/57] Revert "Turning off WTD during setup" This reverts commit 10b24b643a3f5cf2cb60b7c0da87a31145b473a8. --- OTGW-firmware.ino | 7 +++---- version.h | 22 +++++++++++----------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/OTGW-firmware.ino b/OTGW-firmware.ino index 4731ac4..37a27b3 100644 --- a/OTGW-firmware.ino +++ b/OTGW-firmware.ino @@ -49,7 +49,6 @@ void setup() { // Serial is initialized by OTGWSerial. It resets the pic and opens serialdevice. // OTGWSerial.begin();//OTGW Serial device that knows about OTGW PIC // while (!Serial) {} //Wait for OK - initWatchDog(); // setup the WatchDog WatchDogEnabled(0); // turn off watchdog SetupDebugln(F("\r\n[OTGW firmware - Nodoshop version]\r\n")); @@ -65,7 +64,6 @@ void setup() { setLed(LED1, ON); setLed(LED2, ON); - LittleFS.begin(); readSettings(true); @@ -80,7 +78,7 @@ void setup() { startWiFi(CSTR(settingHostname), 240); // timeout 240 seconds blinkLED(LED1, 3, 100); setLed(LED1, OFF); - + startTelnet(); // start the debug port 23 startMDNS(CSTR(settingHostname)); startLLMNR(CSTR(settingHostname)); @@ -88,6 +86,7 @@ void setup() { startWebserver(); startMQTT(); // start the MQTT after webserver, always. + initWatchDog(); // setup the WatchDog lastReset = ESP.getResetReason(); SetupDebugf("Last reset reason: [%s]\r\n", CSTR(lastReset)); rebootCount = updateRebootCount(); @@ -100,7 +99,7 @@ void setup() { // Setup the OTGW PIC resetOTGW(); // reset the OTGW pic startOTGWstream(); // start port 25238 - // initSensors(); // init DS18B20 (after MQ is up! ) + // initSensors(); // init DS18B20 (after MQ is up! ) initOutputs(); WatchDogEnabled(1); // turn on watchdog diff --git a/version.h b/version.h index 0bf3587..2633b62 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2089 -#define _VERSION_GITHASH "9b6336a" -#define _VERSION_PRERELEASE beta -#define _VERSION_DATE "16-03-2023" -#define _VERSION_TIME "22:49:30" -#define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2089" -#define _SEMVER_GITHASH "0.10.3+9b6336a" -#define _SEMVER_FULL "0.10.3-beta+9b6336a" -#define _SEMVER_NOBUILD "0.10.3-beta (16-03-2023)" -#define _VERSION "0.10.3-beta+9b6336a (16-03-2023)" +#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)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From af0991142578223c834525aa8419518a8d16e89f Mon Sep 17 00:00:00 2001 From: Halim Date: Tue, 11 Apr 2023 09:46:35 +0200 Subject: [PATCH 13/57] Update index.js Enable support for https when OTGW is behind a reverse proxy. --- data/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/index.js b/data/index.js index 0b4eff4..5cdb509 100644 --- a/data/index.js +++ b/data/index.js @@ -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"; From 7b36109dce025c830f2051cb940bdc0fa32189f5 Mon Sep 17 00:00:00 2001 From: mcc05 <38889743+mcc05@users.noreply.github.com> Date: Thu, 4 May 2023 08:34:05 +0100 Subject: [PATCH 14/57] removed unit_of_measure from items that have none --- data/mqttha.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/data/mqttha.cfg b/data/mqttha.cfg index 4cb178e..b15c6a0 100644 --- a/data/mqttha.cfg +++ b/data/mqttha.cfg @@ -133,16 +133,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 }}" } From 9000d6cc8f6859dec0d94a9980b716cc61d6cf61 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Tue, 9 May 2023 23:30:36 +0200 Subject: [PATCH 15/57] cleanup transfer.dat in wrong place --- .github/actions/build/transfer.dat | 28 ---------------------------- version.h | 22 +++++++++++----------- 2 files changed, 11 insertions(+), 39 deletions(-) delete mode 100644 .github/actions/build/transfer.dat diff --git a/.github/actions/build/transfer.dat b/.github/actions/build/transfer.dat deleted file mode 100644 index 51d0ae6..0000000 --- a/.github/actions/build/transfer.dat +++ /dev/null @@ -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 diff --git a/version.h b/version.h index 2633b62..cbdd337 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#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_BUILD 2094 +#define _VERSION_GITHASH "259eb21" +#define _VERSION_PRERELEASE beta +#define _VERSION_DATE "09-05-2023" +#define _VERSION_TIME "23:26:24" +#define _SEMVER_CORE "0.10.3" +#define _SEMVER_BUILD "0.10.3+2094" +#define _SEMVER_GITHASH "0.10.3+259eb21" +#define _SEMVER_FULL "0.10.3-beta+259eb21" +#define _SEMVER_NOBUILD "0.10.3-beta (09-05-2023)" +#define _VERSION "0.10.3-beta+259eb21 (09-05-2023)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From 4b94231959131f32070abe77692518ada9d3f949 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Tue, 9 May 2023 23:45:01 +0200 Subject: [PATCH 16/57] removing renovate.json from tree --- renovate.json | 5 ----- version.h | 14 +++++++------- 2 files changed, 7 insertions(+), 12 deletions(-) delete mode 100644 renovate.json diff --git a/renovate.json b/renovate.json deleted file mode 100644 index f45d8f1..0000000 --- a/renovate.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": [ - "config:base" - ] -} diff --git a/version.h b/version.h index cbdd337..e3443da 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2094 -#define _VERSION_GITHASH "259eb21" +#define _VERSION_BUILD 2095 +#define _VERSION_GITHASH "9000d6c" #define _VERSION_PRERELEASE beta #define _VERSION_DATE "09-05-2023" -#define _VERSION_TIME "23:26:24" +#define _VERSION_TIME "23:31:54" #define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2094" -#define _SEMVER_GITHASH "0.10.3+259eb21" -#define _SEMVER_FULL "0.10.3-beta+259eb21" +#define _SEMVER_BUILD "0.10.3+2095" +#define _SEMVER_GITHASH "0.10.3+9000d6c" +#define _SEMVER_FULL "0.10.3-beta+9000d6c" #define _SEMVER_NOBUILD "0.10.3-beta (09-05-2023)" -#define _VERSION "0.10.3-beta+259eb21 (09-05-2023)" +#define _VERSION "0.10.3-beta+9000d6c (09-05-2023)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From efa49afa00d8547e534969d842a7881ccf4a91aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ben=20H=C3=A4hlen?= Date: Wed, 10 May 2023 11:07:39 +0200 Subject: [PATCH 17/57] Update Makefile Trying to fix build --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index a74a670..585f14c 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ CFLAGS = $(CFLAGS_DEFAULT) CLI := arduino-cli PLATFORM := esp8266:esp8266 -CFGFILE := arduino-cli.yaml +CFGFILE := $(PWD)/arduino/arduino-cli.yaml # 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 @@ -48,8 +48,8 @@ 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 board_manager.additional_urls $(ESP8266URL) $(CLI) config set directories.downloads $(PWD)/staging $(CLI) config set directories.user $(PWD) $(CLI) config set sketch.always_export_binaries true From 8fab46bb3afed302747c74e6373bbbec727ae539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ben=20H=C3=A4hlen?= Date: Wed, 10 May 2023 11:09:25 +0200 Subject: [PATCH 18/57] Update Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 585f14c..a56d2e5 100644 --- a/Makefile +++ b/Makefile @@ -48,7 +48,7 @@ distclean: clean $(CFGFILE): $(CLI) config init --dest-file $(CFGFILE) - $(CLI) config set directories.data $(PWD)/arduino + $(CLI) config set directories.data $(PWD)/arduino --config-file $(CFGFILE) $(CLI) config set board_manager.additional_urls $(ESP8266URL) $(CLI) config set directories.downloads $(PWD)/staging $(CLI) config set directories.user $(PWD) From 0c0c0719b115f6358c94d9c474b744d2e222108d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ben=20H=C3=A4hlen?= Date: Wed, 10 May 2023 11:16:34 +0200 Subject: [PATCH 19/57] Fixing CI Pipeline --- Makefile | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index a56d2e5..2cbcd02 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,9 @@ CFLAGS = $(CFLAGS_DEFAULT) CLI := arduino-cli PLATFORM := esp8266:esp8266 CFGFILE := $(PWD)/arduino/arduino-cli.yaml -# bug in http stream, fallback to 2.7.4 +# 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 @@ -48,12 +50,12 @@ distclean: clean $(CFGFILE): $(CLI) config init --dest-file $(CFGFILE) - $(CLI) config set directories.data $(PWD)/arduino --config-file $(CFGFILE) - $(CLI) config set board_manager.additional_urls $(ESP8266URL) - $(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) From 3874336409d9d569ea1d02593f9a6c72d66f7575 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Wed, 10 May 2023 20:37:34 +0200 Subject: [PATCH 20/57] Add more sensors for HA, so SAT will easily integrate --- OTGW-Core.h | 2 +- data/mqttha.cfg | 10 ++++++++++ version.h | 18 +++++++++--------- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/OTGW-Core.h b/OTGW-Core.h index 76687d7..e9485cc 100644 --- a/OTGW-Core.h +++ b/OTGW-Core.h @@ -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" }, diff --git a/data/mqttha.cfg b/data/mqttha.cfg index b15c6a0..724bf83 100644 --- a/data/mqttha.cfg +++ b/data/mqttha.cfg @@ -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": "temperature", "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": "temperature", "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" } diff --git a/version.h b/version.h index e3443da..4078edb 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2095 -#define _VERSION_GITHASH "9000d6c" +#define _VERSION_BUILD 2096 +#define _VERSION_GITHASH "4b94231" #define _VERSION_PRERELEASE beta -#define _VERSION_DATE "09-05-2023" -#define _VERSION_TIME "23:31:54" +#define _VERSION_DATE "10-05-2023" +#define _VERSION_TIME "06:54:37" #define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2095" -#define _SEMVER_GITHASH "0.10.3+9000d6c" -#define _SEMVER_FULL "0.10.3-beta+9000d6c" -#define _SEMVER_NOBUILD "0.10.3-beta (09-05-2023)" -#define _VERSION "0.10.3-beta+9000d6c (09-05-2023)" +#define _SEMVER_BUILD "0.10.3+2096" +#define _SEMVER_GITHASH "0.10.3+4b94231" +#define _SEMVER_FULL "0.10.3-beta+4b94231" +#define _SEMVER_NOBUILD "0.10.3-beta (10-05-2023)" +#define _VERSION "0.10.3-beta+4b94231 (10-05-2023)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From ef30af634f2954a4c5aaa9d837465b0c9cbdf717 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 23 Jul 2023 22:51:08 +0200 Subject: [PATCH 21/57] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f108f7c..c94817d 100644 --- a/README.md +++ b/README.md @@ -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):
https://github.com/rvdbreemen/OTGW-firmware/wiki/Documentation-of-OTGW-firmware +Looking for the documentation, go here (work in progress):
[Wiki with Documentation](https://github.com/rvdbreemen/OTGW-firmware/wiki) | Version | Release notes | |-|-| From 827df64c2bee3f914690adef6cbd68260d8fcfef Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Tue, 12 Sep 2023 21:08:30 +0200 Subject: [PATCH 22/57] Fixing a " by sergantd --- data/mqttha.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/mqttha.cfg b/data/mqttha.cfg index 724bf83..c769036 100644 --- a/data/mqttha.cfg +++ b/data/mqttha.cfg @@ -123,7 +123,7 @@ 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": "temperature", "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": "temperature", "name": "%hostname%_MaxCapacityMinModLevel_hb_u8", "stat_t": "%mqtt_pub_topic%/MaxCapacityMinModLevel_hb_u8", "unit_of_measurement": "kW, "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": "temperature", "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 }}" } From d99f2728705d3b11b3a41c6843e315f7f42d1340 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Tue, 12 Sep 2023 23:29:47 +0200 Subject: [PATCH 23/57] Another fix by Sergantd --- data/mqttha.cfg | 4 ++-- version.h | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/data/mqttha.cfg b/data/mqttha.cfg index c769036..5f71e3e 100644 --- a/data/mqttha.cfg +++ b/data/mqttha.cfg @@ -122,8 +122,8 @@ 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": "temperature", "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": "temperature", "name": "%hostname%_MaxCapacityMinModLevel_hb_u8", "stat_t": "%mqtt_pub_topic%/MaxCapacityMinModLevel_hb_u8", "unit_of_measurement": "kW", "value_template": "{{ value }}"} +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 }}" } diff --git a/version.h b/version.h index 4078edb..5fb9a0d 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2096 -#define _VERSION_GITHASH "4b94231" +#define _VERSION_BUILD 2097 +#define _VERSION_GITHASH "827df64" #define _VERSION_PRERELEASE beta -#define _VERSION_DATE "10-05-2023" -#define _VERSION_TIME "06:54:37" +#define _VERSION_DATE "12-09-2023" +#define _VERSION_TIME "21:15:34" #define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2096" -#define _SEMVER_GITHASH "0.10.3+4b94231" -#define _SEMVER_FULL "0.10.3-beta+4b94231" -#define _SEMVER_NOBUILD "0.10.3-beta (10-05-2023)" -#define _VERSION "0.10.3-beta+4b94231 (10-05-2023)" +#define _SEMVER_BUILD "0.10.3+2097" +#define _SEMVER_GITHASH "0.10.3+827df64" +#define _SEMVER_FULL "0.10.3-beta+827df64" +#define _SEMVER_NOBUILD "0.10.3-beta (12-09-2023)" +#define _VERSION "0.10.3-beta+827df64 (12-09-2023)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From 082f2f5c2d1c1ac5767b7b68d2e783216dd2764a Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 11:57:19 +0100 Subject: [PATCH 24/57] Just to update the binaries and test the workflow in github --- .github/workflows/release.yml | 6 +++--- version.h | 18 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 966ae55..0dbca74 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,13 +12,13 @@ jobs: - name: Checkout uses: actions/checkout@v3 - name: Build - run: echo ${{ github.sha }} > Release.txt + run: echo ${{ github.sha }} > Release-${{ github.ref_name }}.txt - name: Test - run: cat Release.txt + run: cat Release-${{ github.ref_name }}.txt - name: Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: files: | - Release.txt + Release-${{ github.ref_name }}.txt LICENSE \ No newline at end of file diff --git a/version.h b/version.h index 5fb9a0d..3821385 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2097 -#define _VERSION_GITHASH "827df64" +#define _VERSION_BUILD 2101 +#define _VERSION_GITHASH "d99f272" #define _VERSION_PRERELEASE beta -#define _VERSION_DATE "12-09-2023" -#define _VERSION_TIME "21:15:34" +#define _VERSION_DATE "17-03-2024" +#define _VERSION_TIME "11:46:27" #define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2097" -#define _SEMVER_GITHASH "0.10.3+827df64" -#define _SEMVER_FULL "0.10.3-beta+827df64" -#define _SEMVER_NOBUILD "0.10.3-beta (12-09-2023)" -#define _VERSION "0.10.3-beta+827df64 (12-09-2023)" +#define _SEMVER_BUILD "0.10.3+2101" +#define _SEMVER_GITHASH "0.10.3+d99f272" +#define _SEMVER_FULL "0.10.3-beta+d99f272" +#define _SEMVER_NOBUILD "0.10.3-beta (17-03-2024)" +#define _VERSION "0.10.3-beta+d99f272 (17-03-2024)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From c531dece4607498f4ca4a89e971227cfead4f6e2 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 12:02:38 +0100 Subject: [PATCH 25/57] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e325266..cb02562 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -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 From 912f0e857a5ca0ddd9fa280df1e7f31717ec6b91 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 17:56:21 +0100 Subject: [PATCH 26/57] Updates to CI Build actions --- .github/actions/build/action.yml | 2 +- .github/actions/setup/action.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 2a6f408..f67d7a0 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -15,7 +15,7 @@ runs: run: cat version.h | sed -n '/^#define _SEMVER_FULL.*$/s/^#.*"\(.*\)"$/semver=\1/p' >> $GITHUB_OUTPUT shell: bash - id: upload - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: OTGW-firmware-${{steps.semver.outputs.semver}} path: | diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 86236ea..ef10890 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -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 From cd083907fc616fd76cf6d6651c149b32b57a146b Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 18:02:02 +0100 Subject: [PATCH 27/57] Update action.yml --- .github/actions/build/action.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index f67d7a0..9c82398 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -19,6 +19,6 @@ runs: with: name: OTGW-firmware-${{steps.semver.outputs.semver}} path: | - build/**/*.bin - build/**/*.elf - build/*.bin + build/**/*-${{steps.semver.outputs.semver}}.bin + build/**/*-${{steps.semver.outputs.semver}}.elf + build/*-${{steps.semver.outputs.semver}}.bin From d6c6ddc75ccd078381d6d9bd38635feb52ede92f Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 18:07:19 +0100 Subject: [PATCH 28/57] renaming all files to correct semver version --- .github/actions/build/action.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 9c82398..65e05ae 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -14,11 +14,17 @@ runs: - id: semver run: cat version.h | sed -n '/^#define _SEMVER_FULL.*$/s/^#.*"\(.*\)"$/semver=\1/p' >> $GITHUB_OUTPUT shell: bash + - if: rename + run: | + mv build/*.bin build/*-${{steps.semver.outputs.semver}}.bin + mv build/**/*.bin build/*-${{steps.semver.outputs.semver}}.bin + mv build/**/*.elf build/*-${{steps.semver.outputs.semver}}.elf + shell: bash - id: upload uses: actions/upload-artifact@v4 with: name: OTGW-firmware-${{steps.semver.outputs.semver}} path: | - build/**/*-${{steps.semver.outputs.semver}}.bin - build/**/*-${{steps.semver.outputs.semver}}.elf - build/*-${{steps.semver.outputs.semver}}.bin + build/**/*.bin + build/**/*.elf + build/*.bin From 2f34aeb771b616f28f725662c5172f285f8e4a88 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 18:10:41 +0100 Subject: [PATCH 29/57] Trying to move & rename in the CI pipeline --- .github/actions/build/action.yml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 65e05ae..ae07ca0 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -5,21 +5,20 @@ description: Build using arduino-cli and makefile runs: using: composite steps: - - id: build - run: make -j$(nproc) - shell: bash - id: filesys - run: make filesystem + run: | + make filesystem + mv build/littlefs.bin build/littlefs-${{steps.semver.outputs.semver}}.bin + - id: build + run: | + make -j$(nproc) + mv build/**/*.bin build/*-${{steps.semver.outputs.semver}}.bin + mv build/**/*.elf build/*-${{steps.semver.outputs.semver}}.elf + shell: bash shell: bash - id: semver run: cat version.h | sed -n '/^#define _SEMVER_FULL.*$/s/^#.*"\(.*\)"$/semver=\1/p' >> $GITHUB_OUTPUT shell: bash - - if: rename - run: | - mv build/*.bin build/*-${{steps.semver.outputs.semver}}.bin - mv build/**/*.bin build/*-${{steps.semver.outputs.semver}}.bin - mv build/**/*.elf build/*-${{steps.semver.outputs.semver}}.elf - shell: bash - id: upload uses: actions/upload-artifact@v4 with: From de2beaf22c19a7a1f35f23cc5e8dae26dd8a147b Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 21:45:50 +0100 Subject: [PATCH 30/57] run semver step before rest, and fix filesystem building by adding shell: bash --- .github/actions/build/action.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index ae07ca0..3cfa805 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -1,24 +1,23 @@ name: arduino-cli build description: Build using arduino-cli and makefile - runs: using: composite steps: + - id: semver + run: cat version.h | sed -n '/^#define _SEMVER_FULL.*$/s/^#.*"\(.*\)"$/semver=\1/p' >> $GITHUB_OUTPUT + shell: bash - id: filesys run: | make filesystem mv build/littlefs.bin build/littlefs-${{steps.semver.outputs.semver}}.bin + shell: bash - id: build run: | make -j$(nproc) mv build/**/*.bin build/*-${{steps.semver.outputs.semver}}.bin mv build/**/*.elf build/*-${{steps.semver.outputs.semver}}.elf shell: bash - shell: bash - - id: semver - run: cat version.h | sed -n '/^#define _SEMVER_FULL.*$/s/^#.*"\(.*\)"$/semver=\1/p' >> $GITHUB_OUTPUT - shell: bash - id: upload uses: actions/upload-artifact@v4 with: @@ -26,4 +25,4 @@ runs: path: | build/**/*.bin build/**/*.elf - build/*.bin + build/*.bin \ No newline at end of file From ebc03c86d247fe03410e085d75a20e848ed63d54 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 21:50:00 +0100 Subject: [PATCH 31/57] Add create build directory --- .github/actions/build/action.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 3cfa805..12f3aff 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -7,6 +7,9 @@ runs: - 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: filesys run: | make filesystem From 167c54954926c95da0ad92915c14eb5c69bf68d1 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 21:55:53 +0100 Subject: [PATCH 32/57] fix: upload artifacts from build directory --- .github/actions/build/action.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 12f3aff..d352088 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -26,6 +26,5 @@ runs: with: name: OTGW-firmware-${{steps.semver.outputs.semver}} path: | - build/**/*.bin - build/**/*.elf + build/**.elf build/*.bin \ No newline at end of file From 7fe61d339fd453224356b1f8843938f9cebe3be1 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 21:56:31 +0100 Subject: [PATCH 33/57] Fix: remove the double astrix --- .github/actions/build/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index d352088..d39688c 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -26,5 +26,5 @@ runs: with: name: OTGW-firmware-${{steps.semver.outputs.semver}} path: | - build/**.elf + build/*.elf build/*.bin \ No newline at end of file From 42a8c82a9b31498b9158986678b9384c87ceb78f Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 23:08:33 +0100 Subject: [PATCH 34/57] Fixing move of files after build --- .github/actions/build/action.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index d39688c..f082779 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -15,11 +15,12 @@ runs: make filesystem mv build/littlefs.bin build/littlefs-${{steps.semver.outputs.semver}}.bin shell: bash - - id: build - run: | - make -j$(nproc) - mv build/**/*.bin build/*-${{steps.semver.outputs.semver}}.bin - mv build/**/*.elf build/*-${{steps.semver.outputs.semver}}.elf +- id: build + run: | + make -j$(nproc) + for file in build/**/*.bin; do mv "$file" "${file%.*}-${{steps.semver.outputs.semver}}.bin"; done + for file in build/**/*.elf; do mv "$file" "${file%.*}-${{steps.semver.outputs.semver}}.elf"; done + shell: bash shell: bash - id: upload uses: actions/upload-artifact@v4 From 0976cca684842edb927136b06817026bcf4565d7 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 23:11:24 +0100 Subject: [PATCH 35/57] Fix block mapping --- .github/actions/build/action.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index f082779..722e57d 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -15,12 +15,11 @@ runs: make filesystem mv build/littlefs.bin build/littlefs-${{steps.semver.outputs.semver}}.bin shell: bash -- id: build - run: | - make -j$(nproc) - for file in build/**/*.bin; do mv "$file" "${file%.*}-${{steps.semver.outputs.semver}}.bin"; done - for file in build/**/*.elf; do mv "$file" "${file%.*}-${{steps.semver.outputs.semver}}.elf"; done - shell: bash + - id: build + run: | + make -j$(nproc) + for file in build/**/*.bin; do mv "$file" "${file%.*}-${{steps.semver.outputs.semver}}.bin"; done + for file in build/**/*.elf; do mv "$file" "${file%.*}-${{steps.semver.outputs.semver}}.elf"; done shell: bash - id: upload uses: actions/upload-artifact@v4 From 7fe322e72b3237c56bd42a5be24bd40e8e1df84e Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 23:25:11 +0100 Subject: [PATCH 36/57] Fix: the moving of the make results --- .github/actions/build/action.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 722e57d..6b75ec7 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -18,8 +18,9 @@ runs: - id: build run: | make -j$(nproc) - for file in build/**/*.bin; do mv "$file" "${file%.*}-${{steps.semver.outputs.semver}}.bin"; done - for file in build/**/*.elf; do mv "$file" "${file%.*}-${{steps.semver.outputs.semver}}.elf"; done + find build -type f + for file in build/**/*.bin; do mv "$file" "build/${file##*/}-${{steps.semver.outputs.semver}}.bin"; done + for file in build/**/*.elf; do mv "$file" "build/${file##*/}-${{steps.semver.outputs.semver}}.elf"; done shell: bash - id: upload uses: actions/upload-artifact@v4 From ddeca02371349765899060b16eb2d4dca770e077 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 23:30:12 +0100 Subject: [PATCH 37/57] Fix: filename pattern --- .github/actions/build/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 6b75ec7..37b178d 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -19,8 +19,8 @@ runs: run: | make -j$(nproc) find build -type f - for file in build/**/*.bin; do mv "$file" "build/${file##*/}-${{steps.semver.outputs.semver}}.bin"; done - for file in build/**/*.elf; do mv "$file" "build/${file##*/}-${{steps.semver.outputs.semver}}.elf"; done + for file in build/**/*.bin; do mv "$file" "build/${file%.*}-${{steps.semver.outputs.semver}}.bin"; done + for file in build/**/*.elf; do mv "$file" "build/${file%.*}-${{steps.semver.outputs.semver}}.elf"; done shell: bash - id: upload uses: actions/upload-artifact@v4 From 2617630ecee51ceebf4303112f306cae2125abcb Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 23:38:04 +0100 Subject: [PATCH 38/57] Fix: more difficult than you think --- .github/actions/build/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 37b178d..489161a 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -19,8 +19,8 @@ runs: run: | make -j$(nproc) find build -type f - for file in build/**/*.bin; do mv "$file" "build/${file%.*}-${{steps.semver.outputs.semver}}.bin"; done - for file in build/**/*.elf; do mv "$file" "build/${file%.*}-${{steps.semver.outputs.semver}}.elf"; done + for file in build/**/*.bin; do mv "$file" "build/${file##*/%.*}-${{steps.semver.outputs.semver}}.bin"; done + for file in build/**/*.elf; do mv "$file" "build/${file##*/%.*}-${{steps.semver.outputs.semver}}.elf"; done shell: bash - id: upload uses: actions/upload-artifact@v4 From 308ce1388dd21e9e06ae64bc5da5c7f8f5ba13c5 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sun, 17 Mar 2024 23:41:37 +0100 Subject: [PATCH 39/57] Fix: adding basename to mv command --- .github/actions/build/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 489161a..137ede6 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -19,8 +19,8 @@ runs: run: | make -j$(nproc) find build -type f - for file in build/**/*.bin; do mv "$file" "build/${file##*/%.*}-${{steps.semver.outputs.semver}}.bin"; done - for file in build/**/*.elf; do mv "$file" "build/${file##*/%.*}-${{steps.semver.outputs.semver}}.elf"; done + for file in build/**/*.bin; do mv "$file" "build/$(basename ${file%.*})-${{steps.semver.outputs.semver}}.bin"; done + for file in build/**/*.elf; do mv "$file" "build/$(basename ${file%.*})-${{steps.semver.outputs.semver}}.elf"; done shell: bash - id: upload uses: actions/upload-artifact@v4 From bb0eabe319e125ed63409d222e2c025f8fab3bf7 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 18 Mar 2024 00:09:33 +0100 Subject: [PATCH 40/57] Changes to make file, and build action. To simplify it --- .github/actions/build/action.yml | 2 +- Makefile | 4 ++-- version.h | 14 +++++++------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 137ede6..017a722 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -13,7 +13,7 @@ runs: - id: filesys run: | make filesystem - mv build/littlefs.bin build/littlefs-${{steps.semver.outputs.semver}}.bin + for file in build/*.littlefs.bin; do mv "$file" "build/$(basename ${file%.*}).${{steps.semver.outputs.semver}}.littlefs.bin"; done shell: bash - id: build run: | diff --git a/Makefile b/Makefile index 2cbcd02..33f4bcf 100644 --- a/Makefile +++ b/Makefile @@ -30,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 diff --git a/version.h b/version.h index 3821385..feca954 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2101 -#define _VERSION_GITHASH "d99f272" +#define _VERSION_BUILD 2102 +#define _VERSION_GITHASH "308ce13" #define _VERSION_PRERELEASE beta #define _VERSION_DATE "17-03-2024" -#define _VERSION_TIME "11:46:27" +#define _VERSION_TIME "23:47:22" #define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2101" -#define _SEMVER_GITHASH "0.10.3+d99f272" -#define _SEMVER_FULL "0.10.3-beta+d99f272" +#define _SEMVER_BUILD "0.10.3+2102" +#define _SEMVER_GITHASH "0.10.3+308ce13" +#define _SEMVER_FULL "0.10.3-beta+308ce13" #define _SEMVER_NOBUILD "0.10.3-beta (17-03-2024)" -#define _VERSION "0.10.3-beta+d99f272 (17-03-2024)" +#define _VERSION "0.10.3-beta+308ce13 (17-03-2024)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From ac10b1d8835c3631a08f56cc8f1c38de7a00bbc8 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 18 Mar 2024 00:26:00 +0100 Subject: [PATCH 41/57] Fix: Trying to get a clean filesystem rename --- .github/actions/build/action.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 017a722..b6da378 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -10,11 +10,6 @@ runs: - id: create-build-dir run: mkdir -p build shell: bash - - id: filesys - run: | - make filesystem - for file in build/*.littlefs.bin; do mv "$file" "build/$(basename ${file%.*}).${{steps.semver.outputs.semver}}.littlefs.bin"; done - shell: bash - id: build run: | make -j$(nproc) @@ -22,6 +17,12 @@ runs: for file in build/**/*.bin; do mv "$file" "build/$(basename ${file%.*})-${{steps.semver.outputs.semver}}.bin"; done for file in build/**/*.elf; do mv "$file" "build/$(basename ${file%.*})-${{steps.semver.outputs.semver}}.elf"; done shell: bash + - id: filesys + run: | + make filesystem + for file in build/*.littlefs.bin; do mv "$file" "build/$(basename -s .littlefs.bin $file).${{steps.semver.outputs.semver}}.littlefs.bin"; done + shell: bash + - id: upload uses: actions/upload-artifact@v4 with: From ea5465777cd135f763806065e7660050110825c5 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 18 Mar 2024 00:32:26 +0100 Subject: [PATCH 42/57] Fix: one more change --- .github/actions/build/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index b6da378..9f176a2 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -14,8 +14,8 @@ runs: run: | make -j$(nproc) find build -type f - for file in build/**/*.bin; do mv "$file" "build/$(basename ${file%.*})-${{steps.semver.outputs.semver}}.bin"; done - for file in build/**/*.elf; do mv "$file" "build/$(basename ${file%.*})-${{steps.semver.outputs.semver}}.elf"; done + 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: | From baae5e0b67e51dae50af9793a02291210c8a36c6 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 18 Mar 2024 00:35:21 +0100 Subject: [PATCH 43/57] Fix: Fixing filesystem rename --- .github/actions/build/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 9f176a2..54ef2ac 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -20,7 +20,7 @@ runs: - id: filesys run: | make filesystem - for file in build/*.littlefs.bin; do mv "$file" "build/$(basename -s .littlefs.bin $file).${{steps.semver.outputs.semver}}.littlefs.bin"; done + 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 From 121461173af48d2b46b41ffe523597cfa607de09 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 18 Mar 2024 00:53:33 +0100 Subject: [PATCH 44/57] Okay, testing workflow action build --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c94817d..ffda78f 100644 --- a/README.md +++ b/README.md @@ -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 | From aa4ea299ae0ad3031dfe9d769b403213322f8c85 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 1 Apr 2024 09:26:25 +0200 Subject: [PATCH 45/57] Fix APIGW, make it dependend on localURL (index.js) Fix status value for REST API, use OR instead of AND operator --- OTGW-Core.ino | 2 +- data/index.js | 106 ++++++++++++++++++++++++-------------------------- version.h | 18 ++++----- 3 files changed, 60 insertions(+), 66 deletions(-) diff --git a/OTGW-Core.ino b/OTGW-Core.ino index f6a9450..b7fc25d 100644 --- a/OTGW-Core.ino +++ b/OTGW-Core.ino @@ -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; } } diff --git a/data/index.js b/data/index.js index 5cdb509..18574ed 100644 --- a/data/index.js +++ b/data/index.js @@ -8,11 +8,11 @@ ** TERMS OF USE: MIT License. See bottom of file. *************************************************************************** */ - const localURL=window.location.protocol+'//'+window.location.host; - const APIGW=window.location.protocol+'//'+window.location.host+'/api/'; - "use strict"; - + + const localURL=window.location.protocol+'//'+window.location.host; + const APIGW=localURL+'/api/'; + let needReload = true; refreshDevTime(); @@ -161,21 +161,20 @@ } //============================================================================ - function refreshDevTime() - { - //console.log("Refresh api/v0/devtime .."); - fetch(APIGW+"v0/devtime") + function refreshDevTime() { + fetch(APIGW + "v0/devtime") .then(response => response.json()) .then(json => { - //console.log("parsed .., data is ["+ JSON.stringify(json)+"]"); - for( let i in json.devtime ){ - if (json.devtime[i].name == "dateTime") - { - //console.log("Got new time ["+json.devtime[i].value+"]"); - document.getElementById('theTime').innerHTML = json.devtime[i].value; - } - if (json.devtime[i].name == "message") document.getElementById('message').innerHTML = json.devtime[i].value; - } + const dateTime = json.devtime.find(item => item.name === "dateTime"); + const message = json.devtime.find(item => item.name === "message"); + + if (dateTime) { + document.getElementById('theTime').innerHTML = dateTime.value; + } + + if (message) { + document.getElementById('message').innerHTML = message.value; + } }) .catch(function(error) { var p = document.createElement('p'); @@ -183,23 +182,22 @@ document.createTextNode('Error: ' + error.message) ); }); - } // refreshDevTime() //============================================================================ - function refreshFirmware(){ - console.log("refreshFirmware() .. "+APIGW+"firmwarefilelist"); - fetch(APIGW+"firmwarefilelist") + function refreshFirmware() { + console.log("refreshFirmware() .. " + APIGW + "firmwarefilelist"); + fetch(APIGW + "firmwarefilelist") .then(response => response.json()) .then(files => { - console.log("parsed ... data is ["+ JSON.stringify(files)+"]"); - + console.log("parsed ... data is [" + JSON.stringify(files) + "]"); + let displayPICpage = document.getElementById('displayPICpage'); while (displayPICpage.lastChild) { displayPICpage.lastChild.remove(); } let tableDiv = document.createElement("div"); tableDiv.setAttribute("class", "pictable"); - + var rowDiv = document.createElement("div"); rowDiv.setAttribute("class", "picrow"); rowDiv.setAttribute("id", "firmwarename"); @@ -212,31 +210,29 @@ rowDiv.appendChild(fldDiv); //--- version on screen --- var valDiv = document.createElement("div"); - valDiv.setAttribute("class", "piccolumn2"); - valDiv.textContent = "Version" + valDiv.setAttribute("class", "piccolumn2"); + valDiv.textContent = "Version" rowDiv.appendChild(valDiv); //--- size on screen --- var sizDiv = document.createElement("div"); - sizDiv.setAttribute("class", "piccolumn3"); - sizDiv.textContent = "Size" + sizDiv.setAttribute("class", "piccolumn3"); + sizDiv.textContent = "Size" rowDiv.appendChild(sizDiv); //--- refresh icon --- var btn = document.createElement("div"); btn.setAttribute("class", "piccolumn4"); - rowDiv.appendChild(btn); + rowDiv.appendChild(btn); //--- flash to pic icon--- var btn = document.createElement("div"); - rowDiv.appendChild(btn); + rowDiv.appendChild(btn); tableDiv.appendChild(rowDiv); - for( let i in files ) - { - console.log("["+files[i].name+"]=>["+files[i].version+"]=>["+files[i].size+"]"); + for (let i in files) { + console.log("[" + files[i].name + "]=>[" + files[i].version + "]=>[" + files[i].size + "]"); - // var displayPICflash = document.getElementById('displayPICflash'); var rowDiv = document.createElement("div"); rowDiv.setAttribute("class", "picrow"); - rowDiv.setAttribute("id", "firmware_"+files[i].name); + rowDiv.setAttribute("id", "firmware_" + files[i].name); rowDiv.style.background = "lightblue"; //--- field Name --- var fldDiv = document.createElement("div"); @@ -245,56 +241,54 @@ rowDiv.appendChild(fldDiv); //--- version on screen --- var valDiv = document.createElement("div"); - valDiv.setAttribute("class", "piccolumn2"); - valDiv.textContent = files[i].version; + valDiv.setAttribute("class", "piccolumn2"); + valDiv.textContent = files[i].version; rowDiv.appendChild(valDiv); //--- size on screen --- var sizDiv = document.createElement("div"); - sizDiv.setAttribute("class", "piccolumn3"); - sizDiv.textContent = files[i].size; + sizDiv.setAttribute("class", "piccolumn3"); + sizDiv.textContent = files[i].size; rowDiv.appendChild(sizDiv); //--- refresh icon --- var btn = document.createElement("div"); btn.setAttribute("class", "piccolumn4"); var a = document.createElement('a'); // a.title = "Update"; - a.href = localURL+'/pic?action=refresh&name='+files[i].name+'&version='+files[i].version; - var img = document.createElement('img'); - img.src = localURL+'/update.png'; + a.href = localURL + '/pic?action=refresh&name=' + files[i].name + '&version=' + files[i].version; + var img = document.createElement('img'); + img.src = localURL + '/update.png'; img.title = "Update firmware from web"; img.style.width = '16px'; img.style.height = 'auto'; - img.setAttribute=("alt", "Update"); + img.setAttribute = ("alt", "Update"); a.appendChild(img); - btn.appendChild(a); - rowDiv.appendChild(btn); + btn.appendChild(a); + rowDiv.appendChild(btn); //--- flash to pic icon--- var btn = document.createElement("div"); btn.setAttribute("class", "piccolumn5"); var a = document.createElement('a'); - a.href = localURL+'/pic?action=upgrade&name='+files[i].name+'&version='+files[i].version; - var img = document.createElement('img'); - img.src = localURL+'/system_update.png' + a.href = localURL + '/pic?action=upgrade&name=' + files[i].name + '&version=' + files[i].version; + var img = document.createElement('img'); + img.src = localURL + '/system_update.png' img.title = "Install firmware onto pic"; img.style.width = '16px'; img.style.height = 'auto'; - img.setAttribute=("alt", "Install"); + img.setAttribute = ("alt", "Install"); a.appendChild(img); - btn.appendChild(a); - rowDiv.appendChild(btn); + btn.appendChild(a); + rowDiv.appendChild(btn); tableDiv.appendChild(rowDiv); } displayPICpage.appendChild(tableDiv); - + }) - .catch(function(error) { + .catch(function (error) { var p = document.createElement('p'); p.appendChild( document.createTextNode('Error: ' + error.message) ); - }); - - + }); } diff --git a/version.h b/version.h index feca954..2bc4794 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2102 -#define _VERSION_GITHASH "308ce13" +#define _VERSION_BUILD 2105 +#define _VERSION_GITHASH "1214611" #define _VERSION_PRERELEASE beta -#define _VERSION_DATE "17-03-2024" -#define _VERSION_TIME "23:47:22" +#define _VERSION_DATE "01-04-2024" +#define _VERSION_TIME "09:17:10" #define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2102" -#define _SEMVER_GITHASH "0.10.3+308ce13" -#define _SEMVER_FULL "0.10.3-beta+308ce13" -#define _SEMVER_NOBUILD "0.10.3-beta (17-03-2024)" -#define _VERSION "0.10.3-beta+308ce13 (17-03-2024)" +#define _SEMVER_BUILD "0.10.3+2105" +#define _SEMVER_GITHASH "0.10.3+1214611" +#define _SEMVER_FULL "0.10.3-beta+1214611" +#define _SEMVER_NOBUILD "0.10.3-beta (01-04-2024)" +#define _VERSION "0.10.3-beta+1214611 (01-04-2024)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From 6752fdfc8e368e09ce9f14ec095152d11714ff51 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 1 Apr 2024 21:49:18 +0200 Subject: [PATCH 46/57] Fixed all status functions --- OTGW-Core.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OTGW-Core.ino b/OTGW-Core.ino index b7fc25d..c79a496 100644 --- a/OTGW-Core.ino +++ b/OTGW-Core.ino @@ -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; } } From 3f0320f41ffe6aa237c3468df3f3a9b79ef513a4 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Tue, 2 Apr 2024 18:32:39 +0200 Subject: [PATCH 47/57] rollback changes index.js --- data/index.js | 104 ++++++++++++++++++++++++++------------------------ version.h | 18 ++++----- 2 files changed, 64 insertions(+), 58 deletions(-) diff --git a/data/index.js b/data/index.js index 18574ed..5cdb509 100644 --- a/data/index.js +++ b/data/index.js @@ -8,11 +8,11 @@ ** TERMS OF USE: MIT License. See bottom of file. *************************************************************************** */ - "use strict"; - const localURL=window.location.protocol+'//'+window.location.host; - const APIGW=localURL+'/api/'; + const APIGW=window.location.protocol+'//'+window.location.host+'/api/'; + "use strict"; + let needReload = true; refreshDevTime(); @@ -161,20 +161,21 @@ } //============================================================================ - function refreshDevTime() { - fetch(APIGW + "v0/devtime") + function refreshDevTime() + { + //console.log("Refresh api/v0/devtime .."); + fetch(APIGW+"v0/devtime") .then(response => response.json()) .then(json => { - const dateTime = json.devtime.find(item => item.name === "dateTime"); - const message = json.devtime.find(item => item.name === "message"); - - if (dateTime) { - document.getElementById('theTime').innerHTML = dateTime.value; - } - - if (message) { - document.getElementById('message').innerHTML = message.value; - } + //console.log("parsed .., data is ["+ JSON.stringify(json)+"]"); + for( let i in json.devtime ){ + if (json.devtime[i].name == "dateTime") + { + //console.log("Got new time ["+json.devtime[i].value+"]"); + document.getElementById('theTime').innerHTML = json.devtime[i].value; + } + if (json.devtime[i].name == "message") document.getElementById('message').innerHTML = json.devtime[i].value; + } }) .catch(function(error) { var p = document.createElement('p'); @@ -182,22 +183,23 @@ document.createTextNode('Error: ' + error.message) ); }); + } // refreshDevTime() //============================================================================ - function refreshFirmware() { - console.log("refreshFirmware() .. " + APIGW + "firmwarefilelist"); - fetch(APIGW + "firmwarefilelist") + function refreshFirmware(){ + console.log("refreshFirmware() .. "+APIGW+"firmwarefilelist"); + fetch(APIGW+"firmwarefilelist") .then(response => response.json()) .then(files => { - console.log("parsed ... data is [" + JSON.stringify(files) + "]"); - + console.log("parsed ... data is ["+ JSON.stringify(files)+"]"); + let displayPICpage = document.getElementById('displayPICpage'); while (displayPICpage.lastChild) { displayPICpage.lastChild.remove(); } let tableDiv = document.createElement("div"); tableDiv.setAttribute("class", "pictable"); - + var rowDiv = document.createElement("div"); rowDiv.setAttribute("class", "picrow"); rowDiv.setAttribute("id", "firmwarename"); @@ -210,29 +212,31 @@ rowDiv.appendChild(fldDiv); //--- version on screen --- var valDiv = document.createElement("div"); - valDiv.setAttribute("class", "piccolumn2"); - valDiv.textContent = "Version" + valDiv.setAttribute("class", "piccolumn2"); + valDiv.textContent = "Version" rowDiv.appendChild(valDiv); //--- size on screen --- var sizDiv = document.createElement("div"); - sizDiv.setAttribute("class", "piccolumn3"); - sizDiv.textContent = "Size" + sizDiv.setAttribute("class", "piccolumn3"); + sizDiv.textContent = "Size" rowDiv.appendChild(sizDiv); //--- refresh icon --- var btn = document.createElement("div"); btn.setAttribute("class", "piccolumn4"); - rowDiv.appendChild(btn); + rowDiv.appendChild(btn); //--- flash to pic icon--- var btn = document.createElement("div"); - rowDiv.appendChild(btn); + rowDiv.appendChild(btn); tableDiv.appendChild(rowDiv); - for (let i in files) { - console.log("[" + files[i].name + "]=>[" + files[i].version + "]=>[" + files[i].size + "]"); + for( let i in files ) + { + console.log("["+files[i].name+"]=>["+files[i].version+"]=>["+files[i].size+"]"); + // var displayPICflash = document.getElementById('displayPICflash'); var rowDiv = document.createElement("div"); rowDiv.setAttribute("class", "picrow"); - rowDiv.setAttribute("id", "firmware_" + files[i].name); + rowDiv.setAttribute("id", "firmware_"+files[i].name); rowDiv.style.background = "lightblue"; //--- field Name --- var fldDiv = document.createElement("div"); @@ -241,54 +245,56 @@ rowDiv.appendChild(fldDiv); //--- version on screen --- var valDiv = document.createElement("div"); - valDiv.setAttribute("class", "piccolumn2"); - valDiv.textContent = files[i].version; + valDiv.setAttribute("class", "piccolumn2"); + valDiv.textContent = files[i].version; rowDiv.appendChild(valDiv); //--- size on screen --- var sizDiv = document.createElement("div"); - sizDiv.setAttribute("class", "piccolumn3"); - sizDiv.textContent = files[i].size; + sizDiv.setAttribute("class", "piccolumn3"); + sizDiv.textContent = files[i].size; rowDiv.appendChild(sizDiv); //--- refresh icon --- var btn = document.createElement("div"); btn.setAttribute("class", "piccolumn4"); var a = document.createElement('a'); // a.title = "Update"; - a.href = localURL + '/pic?action=refresh&name=' + files[i].name + '&version=' + files[i].version; - var img = document.createElement('img'); - img.src = localURL + '/update.png'; + a.href = localURL+'/pic?action=refresh&name='+files[i].name+'&version='+files[i].version; + var img = document.createElement('img'); + img.src = localURL+'/update.png'; img.title = "Update firmware from web"; img.style.width = '16px'; img.style.height = 'auto'; - img.setAttribute = ("alt", "Update"); + img.setAttribute=("alt", "Update"); a.appendChild(img); - btn.appendChild(a); - rowDiv.appendChild(btn); + btn.appendChild(a); + rowDiv.appendChild(btn); //--- flash to pic icon--- var btn = document.createElement("div"); btn.setAttribute("class", "piccolumn5"); var a = document.createElement('a'); - a.href = localURL + '/pic?action=upgrade&name=' + files[i].name + '&version=' + files[i].version; - var img = document.createElement('img'); - img.src = localURL + '/system_update.png' + a.href = localURL+'/pic?action=upgrade&name='+files[i].name+'&version='+files[i].version; + var img = document.createElement('img'); + img.src = localURL+'/system_update.png' img.title = "Install firmware onto pic"; img.style.width = '16px'; img.style.height = 'auto'; - img.setAttribute = ("alt", "Install"); + img.setAttribute=("alt", "Install"); a.appendChild(img); - btn.appendChild(a); - rowDiv.appendChild(btn); + btn.appendChild(a); + rowDiv.appendChild(btn); tableDiv.appendChild(rowDiv); } displayPICpage.appendChild(tableDiv); - + }) - .catch(function (error) { + .catch(function(error) { var p = document.createElement('p'); p.appendChild( document.createTextNode('Error: ' + error.message) ); - }); + }); + + } diff --git a/version.h b/version.h index 2bc4794..9ad980d 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2105 -#define _VERSION_GITHASH "1214611" +#define _VERSION_BUILD 2106 +#define _VERSION_GITHASH "6752fdf" #define _VERSION_PRERELEASE beta -#define _VERSION_DATE "01-04-2024" -#define _VERSION_TIME "09:17:10" +#define _VERSION_DATE "02-04-2024" +#define _VERSION_TIME "18:29:36" #define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2105" -#define _SEMVER_GITHASH "0.10.3+1214611" -#define _SEMVER_FULL "0.10.3-beta+1214611" -#define _SEMVER_NOBUILD "0.10.3-beta (01-04-2024)" -#define _VERSION "0.10.3-beta+1214611 (01-04-2024)" +#define _SEMVER_BUILD "0.10.3+2106" +#define _SEMVER_GITHASH "0.10.3+6752fdf" +#define _SEMVER_FULL "0.10.3-beta+6752fdf" +#define _SEMVER_NOBUILD "0.10.3-beta (02-04-2024)" +#define _VERSION "0.10.3-beta+6752fdf (02-04-2024)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From c6572d40eb7f87d1241232d03d929ff0f14e1df1 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Wed, 3 Apr 2024 23:04:30 +0200 Subject: [PATCH 48/57] Update release workflow to nodejs20 --- .github/workflows/release.yml | 4 ++-- version.h | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0dbca74..b416f88 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,13 +10,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Build run: echo ${{ github.sha }} > Release-${{ github.ref_name }}.txt - name: Test run: cat Release-${{ github.ref_name }}.txt - name: Release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') with: files: | diff --git a/version.h b/version.h index 9ad980d..0086589 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2106 -#define _VERSION_GITHASH "6752fdf" +#define _VERSION_BUILD 2108 +#define _VERSION_GITHASH "3f0320f" #define _VERSION_PRERELEASE beta #define _VERSION_DATE "02-04-2024" -#define _VERSION_TIME "18:29:36" +#define _VERSION_TIME "23:13:43" #define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2106" -#define _SEMVER_GITHASH "0.10.3+6752fdf" -#define _SEMVER_FULL "0.10.3-beta+6752fdf" +#define _SEMVER_BUILD "0.10.3+2108" +#define _SEMVER_GITHASH "0.10.3+3f0320f" +#define _SEMVER_FULL "0.10.3-beta+3f0320f" #define _SEMVER_NOBUILD "0.10.3-beta (02-04-2024)" -#define _VERSION "0.10.3-beta+6752fdf (02-04-2024)" +#define _VERSION "0.10.3-beta+3f0320f (02-04-2024)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From 20cf3adda714cc7ce1ae631b07136c1bb54dbdb2 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Wed, 3 Apr 2024 23:13:09 +0200 Subject: [PATCH 49/57] Adding release build artifacts to release --- .github/workflows/release.yml | 2 ++ LICENSE | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b416f88..19692ba 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,4 +21,6 @@ jobs: with: files: | Release-${{ github.ref_name }}.txt + build/*.elf + build/*.bin LICENSE \ No newline at end of file diff --git a/LICENSE b/LICENSE index dd8dec1..d1ce6c1 100644 --- a/LICENSE +++ b/LICENSE @@ -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 From 054866b8afacfed6d15d63f0130b83d91cd56673 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 8 Apr 2024 21:37:27 +0200 Subject: [PATCH 50/57] trying to call build from release flow --- .github/workflows/release.yml | 3 ++- version.h | 18 +++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 19692ba..379d413 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,7 +12,8 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Build - run: echo ${{ github.sha }} > Release-${{ github.ref_name }}.txt + uses: ./.github/actions/build + #run: echo ${{ github.sha }} > Release-${{ github.ref_name }}.txt - name: Test run: cat Release-${{ github.ref_name }}.txt - name: Release diff --git a/version.h b/version.h index 0086589..bb295a9 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2108 -#define _VERSION_GITHASH "3f0320f" +#define _VERSION_BUILD 2109 +#define _VERSION_GITHASH "20cf3ad" #define _VERSION_PRERELEASE beta -#define _VERSION_DATE "02-04-2024" -#define _VERSION_TIME "23:13:43" +#define _VERSION_DATE "06-04-2024" +#define _VERSION_TIME "23:04:43" #define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2108" -#define _SEMVER_GITHASH "0.10.3+3f0320f" -#define _SEMVER_FULL "0.10.3-beta+3f0320f" -#define _SEMVER_NOBUILD "0.10.3-beta (02-04-2024)" -#define _VERSION "0.10.3-beta+3f0320f (02-04-2024)" +#define _SEMVER_BUILD "0.10.3+2109" +#define _SEMVER_GITHASH "0.10.3+20cf3ad" +#define _SEMVER_FULL "0.10.3-beta+20cf3ad" +#define _SEMVER_NOBUILD "0.10.3-beta (06-04-2024)" +#define _VERSION "0.10.3-beta+20cf3ad (06-04-2024)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From baec3cb355f149f906d826fd79f98e74d96de13e Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 8 Apr 2024 21:43:27 +0200 Subject: [PATCH 51/57] fixing the release workflow by adding setup --- .github/workflows/release.yml | 3 ++- version.h | 18 +++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 379d413..32e12ab 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,8 +12,9 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Build + uses: ./.github/actions/setup uses: ./.github/actions/build - #run: echo ${{ github.sha }} > Release-${{ github.ref_name }}.txt + run: echo ${{ github.sha }} > Release-${{ github.ref_name }}.txt - name: Test run: cat Release-${{ github.ref_name }}.txt - name: Release diff --git a/version.h b/version.h index bb295a9..95e8b42 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2109 -#define _VERSION_GITHASH "20cf3ad" +#define _VERSION_BUILD 2110 +#define _VERSION_GITHASH "054866b" #define _VERSION_PRERELEASE beta -#define _VERSION_DATE "06-04-2024" -#define _VERSION_TIME "23:04:43" +#define _VERSION_DATE "08-04-2024" +#define _VERSION_TIME "21:38:09" #define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2109" -#define _SEMVER_GITHASH "0.10.3+20cf3ad" -#define _SEMVER_FULL "0.10.3-beta+20cf3ad" -#define _SEMVER_NOBUILD "0.10.3-beta (06-04-2024)" -#define _VERSION "0.10.3-beta+20cf3ad (06-04-2024)" +#define _SEMVER_BUILD "0.10.3+2110" +#define _SEMVER_GITHASH "0.10.3+054866b" +#define _SEMVER_FULL "0.10.3-beta+054866b" +#define _SEMVER_NOBUILD "0.10.3-beta (08-04-2024)" +#define _VERSION "0.10.3-beta+054866b (08-04-2024)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From b4a0b2fbeda6f5594458d0684e34228592164d81 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 8 Apr 2024 21:47:10 +0200 Subject: [PATCH 52/57] Adding one more setp --- .github/workflows/release.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 32e12ab..5c1a8c7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,18 +11,20 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Build + - name: Setup environment uses: ./.github/actions/setup + - name: Build uses: ./.github/actions/build - run: echo ${{ github.sha }} > Release-${{ github.ref_name }}.txt + #run: echo ${{ github.sha }} > Release-${{ github.ref_name }}.txt - name: Test - run: cat Release-${{ github.ref_name }}.txt + #run: cat Release-${{ github.ref_name }}.txt - name: Release uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') with: files: | - Release-${{ github.ref_name }}.txt build/*.elf build/*.bin - LICENSE \ No newline at end of file + LICENSE + Release-${{ github.ref_name }}.txt + \ No newline at end of file From 58609c8c5fe6ce25c5b0ea5893a51e1049b6a01f Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 8 Apr 2024 21:50:55 +0200 Subject: [PATCH 53/57] Hmmm, fixing idents and space in yml --- .github/workflows/release.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5c1a8c7..2dee84a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: uses: ./.github/actions/build #run: echo ${{ github.sha }} > Release-${{ github.ref_name }}.txt - name: Test - #run: cat Release-${{ github.ref_name }}.txt + run: cat Release-${{ github.ref_name }}.txt - name: Release uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') @@ -26,5 +26,4 @@ jobs: build/*.elf build/*.bin LICENSE - Release-${{ github.ref_name }}.txt - \ No newline at end of file + Release-${{ github.ref_name }}.txt \ No newline at end of file From 8d9da27f2fd2bf046c5c47e78f6bb7122db463ae Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Mon, 8 Apr 2024 21:54:53 +0200 Subject: [PATCH 54/57] Cleaning up release flow --- .github/workflows/release.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2dee84a..0088b02 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,9 +15,6 @@ jobs: uses: ./.github/actions/setup - name: Build uses: ./.github/actions/build - #run: echo ${{ github.sha }} > Release-${{ github.ref_name }}.txt - - name: Test - run: cat Release-${{ github.ref_name }}.txt - name: Release uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') @@ -25,5 +22,4 @@ jobs: files: | build/*.elf build/*.bin - LICENSE - Release-${{ github.ref_name }}.txt \ No newline at end of file + LICENSE \ No newline at end of file From 6d6c11715d5ab288ea1fd4baa9455fde311c70a6 Mon Sep 17 00:00:00 2001 From: Nicole Koopmans Date: Fri, 12 Apr 2024 16:27:56 +0200 Subject: [PATCH 55/57] added provisions for password field --- data/index.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/data/index.js b/data/index.js index 0b4eff4..0d0948c 100644 --- a/data/index.js +++ b/data/index.js @@ -514,6 +514,12 @@ 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") { sInput.setAttribute("type", "number"); From d0b5fbcaaf4b9d0542da7090a691bf4db8db924e Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sat, 13 Apr 2024 13:18:01 +0200 Subject: [PATCH 56/57] fix: hiding the password in the UI --- data/index.js | 6 ++++++ restAPI.ino | 5 +++-- version.h | 18 +++++++++--------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/data/index.js b/data/index.js index 5cdb509..5423ef3 100644 --- a/data/index.js +++ b/data/index.js @@ -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") { diff --git a/restAPI.ino b/restAPI.ino index 5dee78d..c2943df 100644 --- a/restAPI.ino +++ b/restAPI.ino @@ -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"); diff --git a/version.h b/version.h index 95e8b42..2611dfc 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2110 -#define _VERSION_GITHASH "054866b" +#define _VERSION_BUILD 2111 +#define _VERSION_GITHASH "8d9da27" #define _VERSION_PRERELEASE beta -#define _VERSION_DATE "08-04-2024" -#define _VERSION_TIME "21:38:09" +#define _VERSION_DATE "13-04-2024" +#define _VERSION_TIME "13:05:44" #define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2110" -#define _SEMVER_GITHASH "0.10.3+054866b" -#define _SEMVER_FULL "0.10.3-beta+054866b" -#define _SEMVER_NOBUILD "0.10.3-beta (08-04-2024)" -#define _VERSION "0.10.3-beta+054866b (08-04-2024)" +#define _SEMVER_BUILD "0.10.3+2111" +#define _SEMVER_GITHASH "0.10.3+8d9da27" +#define _SEMVER_FULL "0.10.3-beta+8d9da27" +#define _SEMVER_NOBUILD "0.10.3-beta (13-04-2024)" +#define _VERSION "0.10.3-beta+8d9da27 (13-04-2024)" //The version information is created automatically, more information here: https://github.com/rvdbreemen/autoinc-semver From ad255a50fabb9de6c075202b18a81f84197bd901 Mon Sep 17 00:00:00 2001 From: Robert van den Breemen Date: Sat, 13 Apr 2024 13:40:20 +0200 Subject: [PATCH 57/57] Cleaning up the fix a bit --- data/index.js | 6 ------ version.h | 14 +++++++------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/data/index.js b/data/index.js index 91ca668..5423ef3 100644 --- a/data/index.js +++ b/data/index.js @@ -520,12 +520,6 @@ 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") { sInput.setAttribute("type", "number"); diff --git a/version.h b/version.h index 2611dfc..37145f1 100644 --- a/version.h +++ b/version.h @@ -2,15 +2,15 @@ #define _VERSION_MAJOR 0 #define _VERSION_MINOR 10 #define _VERSION_PATCH 3 -#define _VERSION_BUILD 2111 -#define _VERSION_GITHASH "8d9da27" +#define _VERSION_BUILD 2112 +#define _VERSION_GITHASH "1c8485a" #define _VERSION_PRERELEASE beta #define _VERSION_DATE "13-04-2024" -#define _VERSION_TIME "13:05:44" +#define _VERSION_TIME "13:40:09" #define _SEMVER_CORE "0.10.3" -#define _SEMVER_BUILD "0.10.3+2111" -#define _SEMVER_GITHASH "0.10.3+8d9da27" -#define _SEMVER_FULL "0.10.3-beta+8d9da27" +#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+8d9da27 (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