From 8e62a9941750b7b56ea90d88f85f758da3475620 Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 10 Mar 2019 15:09:51 +0100 Subject: [PATCH 1/4] 1.5.7b --- CHANGELOG.md | 268 ++- LICENSE.md | 13 - README.md | 351 ++- checkcode.py | 28 + clean_fw.py | 24 + doc/Domoticz/nefit/mqtt.py | 113 + doc/Domoticz/nefit/plugin.py | 165 ++ doc/Domoticz/readme.txt | 10 + doc/espurna/example.PNG | Bin 43418 -> 0 bytes doc/home_assistant/automations.yaml | 16 +- doc/home_assistant/binary_sensor.yaml | 4 +- doc/home_assistant/climate.yaml | 38 +- doc/home_assistant/ha.png | Bin 104135 -> 109280 bytes doc/home_assistant/scripts.yaml | 2 +- doc/home_assistant/sensors.yaml | 55 +- doc/home_assistant/switches.yaml | 8 +- doc/home_assistant/ui-lovelace.yaml | 19 +- ...cap.png => Schematic_EMS-ESP-supercap.png} | Bin doc/telnet/telnet_example.jpg | Bin 73952 -> 0 bytes doc/telnet/telnet_menu.jpg | Bin 0 -> 139774 bytes doc/telnet/telnet_stats.PNG | Bin 81753 -> 45917 bytes doc/telnet/telnet_verbose.PNG | Bin 185846 -> 132800 bytes espurna/boiler-espurna.ino | 466 ---- espurna/custom.h | 25 - espurna/index.html | 1893 ----------------- firmware/nodemcu2.bin | Bin 508336 -> 0 bytes firmware/wemos-d1mini.bin | Bin 507776 -> 0 bytes lib/MyESP/MyESP.cpp | 1178 ++++++++++ lib/MyESP/MyESP.h | 228 ++ lib/TelnetSpy/TelnetSpy.cpp | 655 ++++++ lib/TelnetSpy/TelnetSpy.h | 281 +++ platformio.ini-example | 52 +- rename_fw.py | 13 + src/ESPHelper.cpp | 895 -------- src/ESPHelper.h | 219 -- src/boiler.ino | 956 --------- src/ds18.cpp | 221 ++ src/ds18.h | 55 + src/ems-esp.ino | 1211 +++++++++++ src/ems.cpp | 1668 ++++++++++----- src/ems.h | 261 +-- src/ems_devices.h | 146 ++ src/emsuart.cpp | 19 +- src/emsuart.h | 9 +- src/my_config.h | 91 +- src/version.h | 12 +- 46 files changed, 6145 insertions(+), 5523 deletions(-) delete mode 100644 LICENSE.md create mode 100644 checkcode.py create mode 100644 clean_fw.py create mode 100644 doc/Domoticz/nefit/mqtt.py create mode 100644 doc/Domoticz/nefit/plugin.py create mode 100644 doc/Domoticz/readme.txt delete mode 100644 doc/espurna/example.PNG rename doc/schematics/{Schematic_EMS-ESP-Boiler-supercap.png => Schematic_EMS-ESP-supercap.png} (100%) delete mode 100644 doc/telnet/telnet_example.jpg create mode 100644 doc/telnet/telnet_menu.jpg delete mode 100644 espurna/boiler-espurna.ino delete mode 100644 espurna/custom.h delete mode 100644 espurna/index.html delete mode 100644 firmware/nodemcu2.bin delete mode 100644 firmware/wemos-d1mini.bin create mode 100644 lib/MyESP/MyESP.cpp create mode 100644 lib/MyESP/MyESP.h create mode 100644 lib/TelnetSpy/TelnetSpy.cpp create mode 100644 lib/TelnetSpy/TelnetSpy.h create mode 100644 rename_fw.py delete mode 100644 src/ESPHelper.cpp delete mode 100644 src/ESPHelper.h delete mode 100644 src/boiler.ino create mode 100644 src/ds18.cpp create mode 100644 src/ds18.h create mode 100644 src/ems-esp.ino create mode 100644 src/ems_devices.h diff --git a/CHANGELOG.md b/CHANGELOG.md index a35d4d7f3..f059cb5f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,32 +1,280 @@ -# EMS-ESP-Boiler Changelog +# EMS-ESP Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [1.5.6] 2019-03-09 ### Added -- Setting the mode and setpoint temperature on a RC35 +- test_mode option + +### Changed + +- upgraded MyESP library +- minor changes + + +## [1.5.5] 2019-03-07 + +### Fixed +- Support the latest ArduinoJson v6 and espressif8266 2.0.4 libraries (in PlatformIO do a `pio lib update` and `pio update`) + +### Changed + +- MQTT keep alive to 2 minutes (60 seconds was just too short for slower networks) +- Improved MQTT startup time +- Setting wifi or mqtt settings are immediate, no need to restart the ESP +- Text changes in the help + +### Added +- Show if MQTT is connected +- Show version of MyESP (the custom MQTT, Wifi, OTA, MDNS, Telnet library) +- EMS-OT OpenTherm connector + +## [1.5.4] 2019-03-03 + +### Changed + +- MQTT keep alive changed from 5 minutes to 1 minute + +### Added +- Callback for OTA. This is used to disable EMS bus during a firmware OTA update, which caused problems with the latest ESP89266 core libraries +- Added rough estimate of WiFi signal strength to info page +- Added the build time & date to the info page (optional in platformio.ini) + +## [1.5.3] 2019-02-22 + +### Changed + +- Support for latest esp8266 arduino core version [2.5.0](https://github.com/esp8266/Arduino/releases/tag/2.5.0) and platform espressif8266 version 2.0.0 +- Added board type to the info screen + +### Added + +- Improved MQTT LWT (Last Will Testament). Uses payload called 'online' and 'offline'. See https://github.com/proddy/EMS-ESP/issues/57 +- Added ESP32 support to MyESP library +- Added Bosch Easy thermostat, Buderus Logamax U122 +- Support for changing boiler wwtemp via MQTT (merge #58 from egrekov). thanks! + +### Removed + +- Custom MDNS support. Now handled much better in the new esp core under OTA + +## [1.5.2] 2019-02-04 + +### Changed + +- Change wifi settings using the `set wifi ` command + +### Added + +- Added incoming MQTT "TOPIC_BOILER_WWACTIVATED" to set the warm water on/off. Payload is 1 or 0. See [issue](https://github.com/proddy/EMS-ESP/issues/46#issuecomment-460375689). +- Added the list of all MQTT topics to the README file + +## [1.5.1] 2019-02-03 + +### Fixed + +- issue with Serial monitoring conflicting with UART when both running +- Fixed typo with -D settings in the example platformio.ini + +### Changed + +- `thermostat temp` now except floats (e.g. 20.5). Some thermostats may round up or down if they use 0.5 intervals. + +## [1.5.0] 2019-02-03 + +### Added + +- Support for RC10 thermostat +- New command `set serial` + +### Changed + +- Improved Tx logic. Retries are more efficient and startup is faster and less error prone. +- "# Rx telegrams" and "# Tx telegrams" show number of successful Reads and Writes initiated by the user or automatically by the code. This makes it easy to see if the Tx is working. +- Some refactoring in preparation for the EMS+ support coming soon + +### Removed + +- Removed the `poll` and `tx` commands +- `DEBUG_SUPPORT`. Now controlled with the 'set serial' command +- removed MQTT and WIFI settings from my_config.h. These have to be set either within the application (using set) or hardcoded in platformio.ini You can now check in `my_config.h` without everyone seeing your passwords! +- TxCapable removed from `info` + +## [1.4.1] 2019-01-29 + +### Added + +- The led pin, dallas pin and both thermostat and boiler type IDs can be set with the application, and stored. + +### Changed + +- some minor improvements to autodetect + +## [1.4.0] 2019-01-27 + +### Changed + +- last will MQTT topic prefixed with a header like the rest of the topics +- All double and float numbers rendered to 2 decimal places (precision = 2) +- Default logging set to None when starting a telnet session + +### Added + +- Added support for external Dallas sensors (DS1822, DS18S20, DS18B20, DS1825). See readme +- Added UBAParametersMessage type to fetch boiler modulation min & max values +- Report shows system load average + +## [1.3.2] 2019-01-23 + +### Fixed + +- Handle thermostats that don't have builtin temperature sensors when showing current temperature (https://github.com/proddy/EMS-ESP/issues/18#issuecomment-451012963) + +### Changed + +- Improved way to identify if the EMS bus is connected +- Improved 'types' command to show more details +- Improved auto detect of thermostat types + +### Added + +- Some more devices like the Nefit Topline & RC310 thermostat recognition +- Added a check to see Tx is possible. See 'Tx Capable' under the 'info' screen + +### Removed + +- Removed `MY_BOILER_MODELID` from `my_config.h`. It's always hardcoded. + +## [1.3.1] 2019-01-12 + +### Fixed + +- telnet commands with set are no longer forced to lower case + +### Changed + +- Custom settings (e.g set led) moved outside MyESP +- Moved all MQTT to my_config.h making it independent from Home Assistant + +### Added + +- MQTT keep alive, last will testament and other settings all configurable in my_config.h +- RC35: MQTT day/night/auto mode; sets setpoint temperature in type 0x3D depends on current night/day Mode (@SpaceTeddy) [#33](https://github.com/proddy/EMS-ESP/pull/33) + +## [1.3.0] 2019-01-09 + +### Changed + +- Renamed project from EMS-ESP-Boiler to EMS-ESP since it's kinda EMS generic now +- Support for RC20F and RFM20 (https://github.com/proddy/EMS-ESP/issues/18) +- Moved all EMS device information into a separate file `ems_devices.h` so no longer need to touch `ems.h` +- Telnet commands can be strings now and output is suspended when typing + +### Removed + +- Removed SHOWER_TEST +- Removed WIFI and MQTT credentials from the platformio.ini file + +### Added + +- Settings are saved and loaded from the ESP8266's file system (SPIFFS). Can be set using the 'set' command +- Improved support when in Access Point mode (192.168.4.1) +- pre-built firmwares are back + +## [1.2.4] 2019-01-04 + +### Changed + +- Scanning known EMS Devices now ignores duplicates (https://github.com/proddy/EMS-ESP/pull/30) +- ServiceCode stored as a two byte char +- Support for RC20F and RFM20 (https://github.com/proddy/EMS-ESP/issues/18) + +## [1.2.3] 2019-01-03 + +### Fixed + +- Can now hardcode Boiler and Thermostat types in my_config.h to bypass auto-detection +- Fixed MQTT subscribing to Heating and Hot Water active topics +- Fixed for listening to incoming MQTT topics (https://github.com/proddy/EMS-ESP/issues/27) +- Fixed handling of current temperature on an RC35-type thermostat that doesn't have a sensor (https://github.com/proddy/EMS-ESP/issues/18) + +## [1.2.2] 2019-01-02 + +### Fixed + +- Issues in 1.2.1 (see https://github.com/proddy/EMS-ESP/issues/25) +- Logic for determining if there is activity on the EMS bus and using the onboard LEDs properly + +## [1.2.1] 2019-01-02 + +### Fixed + +- Only process broadcast messages if the offset (byte 4) is 0. (https://github.com/proddy/EMS-ESP/issues/23) +- Improved checking for duplicate sent Tx telegrams by comparing CRCs +- Removed distiquishing between noise on the line and corrupt telegrams (https://github.com/proddy/EMS-ESP/issues/24) + +## [1.2.0] 2019-01-01 + +### Fixed + +- Incorrect indenting in `climate.yaml` (thanks @mrfixit1) +- Improved support for slower WiFi connections +- Fixed issue with OTA not always giving back a completion response to platformio +- Fixed issue with repeating reads after a raw mode send +- Fixed handling of long integers (thanks @SpaceTeddy) + +### Added + +- added 'dout' flashmode to platformio.ini so OTA works now when uploading to a Wemos D1 Pro's or any other board with larger flash's +- added un tested supporting RC35 type of thermostats +- Try and discover and set Boiler and Thermostat types automatically +- Fetch UBATotalUptimeMessage from Boiler to get total working minutes +- Added check to see if bus is connected. Shown in stats page +- If no Wifi connection can be made, start up as a WiFi Access Point (AP) +- Report out service codes and water-flow [pull-request](https://github.com/proddy/EMS-ESP/pull/20/files). Thanks @Bonusbartus + +### Changed + +- Build option is called `DEBUG_SUPPORT` (was `USE_SERIAL`) +- Replaced old **ESPHelper** with my own **MyESP** library to handle Wifi, MQTT, MDNS and Telnet handlers. Supports asynchronous TCP and has smaller memory footprint. And moved to libs directory. +- Simplified LED error checking. If enabled (by default), solid means connected and flashing means error. Uses either an external pull-up or the onboard ESP8266 LED. +- Improved Telnet debugging which uses TelnetSpy to keep a buffer of previous output +- Optimized memory usage & heap conflicts, removing nasty things like strcpy, sprintf where possible +- Improved checking for tap water on/off (thanks @Bonusbartus) + +### Removed + +- Time and TimeLib's. Not used in code. +- Removed build option `MQTT_MAX_PACKAGE_SIZE` as not using the PubSubClient library any more +- Removed all of Espurna's pre-built firmwares and instructions to build. Keeping it simple. + +## [1.1.1] 2018-12-23 + +### Removed + +- Espurna build notes and ready made firmware ## [1.1.0] 2018-12-22 ### Fixed -- Fixed handling of negative flaoting point values (like outdoor temp) +- Fixed handling of negative floating point values (like outdoor temp) - Fixed handling of auto & manual mode on an RC30 -- [Fixed condition where all telegram types were processed, instead of only broadcasts or our own reads](https://github.com/proddy/EMS-ESP-Boiler/issues/15) +- [Fixed condition where all telegram types were processed, instead of only broadcasts or our own reads](https://github.com/proddy/EMS-ESP/issues/15) ### Added - Created this CHANGELOG.md file! -- [Added support for the Nefit Easy thermostat, reading of temperature values only](https://github.com/proddy/EMS-ESP-Boiler/issues/9) - note *read only* (big thanks @**kroon040** for lending me an Easy device) -- [Added support for RC35/Moduline 400](https://github.com/proddy/EMS-ESP-Boiler/issues/14) - *read only* -- [New raw logging mode for logging](https://github.com/proddy/EMS-ESP-Boiler/issues/11) -- [New 'r'command to send raw data to EMS](https://github.com/proddy/EMS-ESP-Boiler/issues/11) -- [Added MQTT messages for hot water on and heating on](https://github.com/proddy/EMS-ESP-Boiler/issues/10) +- [Added support for the Nefit Easy thermostat, reading of temperature values only](https://github.com/proddy/EMS-ESP/issues/9) - note *read only* (big thanks @**kroon040** for lending me an Easy device) +- [Added support for RC35/Moduline 400](https://github.com/proddy/EMS-ESP/issues/14) - *read only* +- [New raw logging mode for logging](https://github.com/proddy/EMS-ESP/issues/11) +- [New 'r'command to send raw data to EMS](https://github.com/proddy/EMS-ESP/issues/11) +- [Added MQTT messages for hot water on and heating on](https://github.com/proddy/EMS-ESP/issues/10) - Implemented FIFO circular buffer queue for up to 20 Tx messages (Q command to show queue) - Toggle Tx transmission via telnet (use 'X' command) - Show thermostat type in help stats (use 's' command) diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 1129666ae..000000000 --- a/LICENSE.md +++ /dev/null @@ -1,13 +0,0 @@ -#### Copyright 2018 [Paul Derbsyhire](mailto:dev@derbyshire.nl). All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met : - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and / or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The views and conclusions contained in the software and documentation are those of the -authors and should not be interpreted as representing official policies, either expressed -or implied, of [Paul Derbyshire](mailto:dev@derbyshire.nl). \ No newline at end of file diff --git a/README.md b/README.md index df9114d5a..f9aad9cf8 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,38 @@ -# EMS-ESP-Boiler +# EMS-ESP -EMS-ESP-Boiler is a project to build a controller circuit running with an ESP8266 to communicate with EMS (Energy Management System) based Boilers and Thermostats from the Bosch range and compatibles such as Buderus, Nefit, Junkers etc. +EMS-ESP is a project to build an electronic controller circuit using an Espressif ESP8266 microcontroller to communicate with EMS (Energy Management System) based Boilers and Thermostats from the Bosch range and compatibles such as Buderus, Nefit, Junkers etc. -There are 3 parts to this project, first the design of the circuit, second the code for the ESP8266 microcontroller firmware and lastly an example configuration for Home Assistant to monitor the data and issue direct commands via MQTT. +There are 3 parts to this project, first the design of the circuit, secondly the code for the ESP8266 microcontroller firmware with telnet and MQTT support, and lastly an example configuration for Home Assistant to monitor the data and issue direct commands via a MQTT broker. -[![version](https://img.shields.io/badge/version-1.1.0-brightgreen.svg)](CHANGELOG.md) -[![branch](https://img.shields.io/badge/branch-dev-orange.svg)](https://github.org/xoseperez/espurna/tree/dev/) -[![license](https://img.shields.io/github/license/xoseperez/espurna.svg)](LICENSE) +[![Codacy Badge](https://api.codacy.com/project/badge/Grade/b8880625bdf841d4adb2829732030887)](https://app.codacy.com/app/proddy/EMS-ESP?utm_source=github.com&utm_medium=referral&utm_content=proddy/EMS-ESP&utm_campaign=Badge_Grade_Settings) +[![version](https://img.shields.io/badge/version-1.5.5-brightgreen.svg)](CHANGELOG.md) -- [EMS-ESP-Boiler](#ems-esp-boiler) +- [EMS-ESP](#ems-esp) - [Introduction](#introduction) - - [Supported Boilers Types](#supported-boilers-types) + - [Supported EMS Devices](#supported-ems-devices) - [Supported ESP8266 devices](#supported-esp8266-devices) - [Getting Started](#getting-started) - [Monitoring The Output](#monitoring-the-output) - [Building The Circuit](#building-the-circuit) - [Powering The EMS Circuit](#powering-the-ems-circuit) + - [Adding external temperature sensors](#adding-external-temperature-sensors) - [How The EMS Bus Works](#how-the-ems-bus-works) - [EMS IDs](#ems-ids) - [EMS Polling](#ems-polling) - [EMS Broadcasting](#ems-broadcasting) - [EMS Reading and Writing](#ems-reading-and-writing) - [The ESP8266 Source Code](#the-esp8266-source-code) - - [Supported EMS Types](#supported-ems-types) - - [Supported Thermostats](#supported-thermostats) - - [RC20 (Moduline 300)](#rc20-moduline-300) - - [RC30 (Moduline 400)](#rc30-moduline-400) - - [RC35](#rc35) - - [TC100/TC200 (Nefit Easy)](#tc100tc200-nefit-easy) + - [Special EMS Types](#special-ems-types) + - [Which thermostats are supported?](#which-thermostats-are-supported) - [Customizing The Code](#customizing-the-code) - [Using MQTT](#using-mqtt) - [The Basic Shower Logic](#the-basic-shower-logic) - [Home Assistant Configuration](#home-assistant-configuration) - [Building The Firmware](#building-the-firmware) - [Using PlatformIO Standalone](#using-platformio-standalone) - - [Using ESPurna](#using-espurna) - - [Using Pre-built Firmware](#using-pre-built-firmware) - [Building Using Arduino IDE](#building-using-arduino-ide) + - [Using the Pre-built Firmware](#using-the-pre-built-firmware) + - [Troubleshooting](#troubleshooting) - [Known Issues](#known-issues) - [Wish List](#wish-list) - [Your Comments and Feedback](#your-comments-and-feedback) @@ -44,82 +40,84 @@ There are 3 parts to this project, first the design of the circuit, second the c ## Introduction -My original intention for this home project with to build my own smart thermostat for my Nefit Trendline boiler and then have it controlled automatically via [Home Assistant](https://www.home-assistant.io/) on my mobile phone. I had a few ESP32s and ESP8266s lying around from previous IoT projects and building a specific circuit to decode the EMS messages was a nice challenge into designing complete end-to-end complex electronic circuits. I then began adding new features such as timing how long the shower would be running for and subsequently triggering an alarm (actually a shot of cold water) after a certain period. +The original intention for this home project was to build a custom smart thermostat that interfaces with my Nefit Trendline HRC30 boiler and have it controlled via a mobile app using MQTT. I had a few cheap ESP32s and ESP8266s microcontrollers lying around from previous IoT projects and learning how to build a circuit to decode the EMS bus messages seemed like a nice challenge. -Acknowledgments and kudos to the following people and their open-sourced projects that have helped me get this far: +Acknowledgments and kudos to the following people who have open-sourced their projects: - **susisstrolch** - Probably the first working version of the EMS bridge circuit I found designed for the ESP8266. I borrowed Juergen's [schematic](https://github.com/susisstrolch/EMS-ESP12) and parts of his code logic. + **susisstrolch** - One of the first working versions of the EMS bridge circuit I found designed for specifically for the ESP8266. I borrowed Juergen's [schematic](https://github.com/susisstrolch/EMS-ESP12) and parts of his code ideas for reading telegrams. - **bbqkees** - Kees built a [circuit](https://github.com/bbqkees/Nefit-Buderus-EMS-bus-Arduino-Domoticz) and some sample Arduino code to read from the EMS and push messages to Domoticz. His SMD board is also now available for purchase. + **bbqkees** - Kees built a working [circuit](https://shop.hotgoodies.nl/ems/) and his SMD board is available for purchase on his website. - **EMS Wiki** - A comprehensive [reference](https://emswiki.thefischer.net/doku.php?id=wiki:ems:telegramme) for decoding the EMS telegrams, which I found not always to be 100% accurate. It's in German so use Google Translate if you need help. + **EMS Wiki** - A comprehensive [reference](https://emswiki.thefischer.net/doku.php?id=wiki:ems:telegramme) (in German) for the EMS bus which is a little outdated, not always 100% accurate and sadly no longer maintained. -## Supported Boilers Types +## Supported EMS Devices -Most Bosch branded boilers that support the Logamatic EMS (and EMS+) bus protocols work with this design. Which are Nefit, Buderus, Worcester and Junkers and copyrighted. Please make sure you read the **Disclaimer** carefully before sending ambigious messages to your EMS bus as you cause device damage. +Most Bosch branded boilers that support the Logamatic EMS bus protocols work with this design. This includes Nefit, Buderus, Worcester and Junkers (all copyrighted). Please make sure you read the **Disclaimer** carefully before sending ambiguous messages to your EMS bus as you could cause serious damage to your equipment. + +Note support for the later EMS Plus (EMS+ or EMS2) standard hasn't been added yet to the library. If you'd like to help please reach out. ## Supported ESP8266 devices -I've tested the code and circuit with a few ESP8266 development boards such as the Wemos D1 Mini, Wemos D1 Mini Pro, Nodemcu0.9 and Nodemcu2 boards. It will also work on bare ESP8266 chips such as the E-12s but do make sure you disabled the LED support and wire the UART correctly as the code doesn't use the normal Rx and Tx pins. This is explained below. +The code and circuit has been tested with a few ESP8266 development boards such as the Wemos D1 Mini, Wemos D1 Mini Pro, Nodemcu0.9 and Nodemcu2 dev boards. It will also work on bare ESP8266 chips such as the ESP-12E but do make sure you disabled the LED support and wire the UART correctly as the code doesn't use the normal Rx and Tx pins. ## Getting Started -1. Either build the circuit below or purchase a ready built board from bbqkees via his [GitHub](https://github.com/bbqkees/Nefit-Buderus-EMS-bus-Arduino-Domoticz) page or the [Domoticz forum](http://www.domoticz.com/forum/viewtopic.php?f=22&t=22079&start=20). -2. Get an ESP8266 dev board and connect the 2 EMS output lines from the boiler to the circuit and the Rx and Tx out to ESP pins D7 and D8 respectively. The EMS connection can either be the 12-15V AC direct from the thermostat bus line or from the 3.5" Service Jack at the front. -3. Optionally connect the three LEDs to show Rx and Tx traffic and Error codes to pins D1, D2, D3 respectively. I use 220 Ohm pull-down resistors. These pins are configurable in ``boiler.ino``. This is further explained in the **code** section below. -4. Build and upload the firmware to the ESP8266 device. I used Platformio with Visual Studio. Do make sure you set the MQTT and WiFi credentials correctly and if you're not using MQTT leave the MQTT_IP blank. The firmware supports OTA too with the default hostname as 'boiler' (or 'boiler.' depending on your OS and how the mdns resolves hostnames). -5. Power the ESP either via USB or direct into the 5v vin pin from an external power 5V volts supply with min 400mA. -6. Attach the 3v3 out on the ESP8266 to the DC power line on the EMS circuit as indicated in the schematics. -7. The WiFi connects via DHCP by default. Find the IP by from your router and then telnet (port 23) to it. Tip: to enable Telnet on Windows run `dism /online /Enable-Feature /FeatureName:TelnetClient` or install something like [putty](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html). If everything is working you should see the messages appear in the window as shown in the next section. However if you're unable to locate the IP of the ESP then probably the WiFi failed to instantiate. In this case add -DUSE_SERIAL to the build options, connect at USB, build, upload and then use a terminal to connect to the serial port to see the debug messages. A word of warning, do not use both a USB and power from the EMS at the same time. +1. Either build the circuit described below or purchase a ready built board from bbqkees. +2. Grab any ESP8266 dev board. The latest bbqkees boards have a Wemos D1 pre-mounted with a copy of this firmware. +3. Optionally add external Dallas temperature sensors and an external LED. The default pins for these are D1 and D5 respectively. +4. Decide whether to compile and upload the code yourself using PlatformIO or just upload the pre-baked firmware using the esptool (read these [instructions](#using-the-pre-built-firmware)). If you want to build yourself now is the time to customize your settings in `my_custom.h`. Upload the firmware. +5. Connect a USB 5v power supply to the ESP8266 board, either via laptop/PC or external power supply. +7. When the ESP8266 starts up for the first time the onboard LED will be flashing. This is because the EMS bus is not yet connected. +8. If you haven't hardcoded the WiFi credentials in step 4, the ESP8266 will boot up in a WiFi Access Point (AP) mode with the ssid name `ems-esp`. Now you can either use a laptop and connect to this AP using Telnet to `192.168.1.4` or if its powered from a computers USB use a Serial monitor tool to the ESP's COM port. Tip: to enable Telnet on Windows 10 run `dism /online /Enable-Feature /FeatureName:TelnetClient` or install something like [putty](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html). +9. Next is to change some of the settings. Type `set` to list the current stored settings. Use `set wifi` to add your wifi credentials and if you're using MQTT set the host, username and password. There is no need to reboot the device. +10. The `led_gpio` will default to the onboard LED (which is probably blinking now). Ignore `thermostat_type` and `boiler_type` as these will be auto-detected hopefully later on. +11. **Important**: If `serial` is set to `on` set it to `off` using `set serial off`. The EMS bus is disabled when the serial is on. This mode is only used for setting up a new board or debugging startup issues. +12. Hook up the ESP to the EMS board as follows: + +| EMS board | ESP8266 dev board | +| ----------|------------------ | +| Ground/G/J2| GND/G | +| Rx/J2 | D7 | +| Tx/J2 | D8 | +| VC/J2 | 3v3 or 5v | +13. Connect the EMS lines to the ESP. This can be done via the two EMS wires or via the 3.5" service jack if you have an bbqkees board. +14. Reboot the ESP, either by the reset switch or pulling the power. +15. The ESP will first perform an autodetect to try and discover the EMS devices attached. If your boiler and thermostat are recognized it will set these types and store them for ever and ever. You can trace the output by telnet'ing to the board `telnet ems-esp.local`. Also type `info` to check what happened. +16. If your boiler/thermostat is not discovered create a GitHub issue stating the type and product ID. These will be added to the file `ems_devices.h` in a future release. +17. If all is well and there is traffic on the EMS bus the onboard LED will stop blinking and be permanently on. If this is annoying you can disable with `set led off`. To see the EMS messages type `set log v` for verbose logging. +18. And all is not well, check the wiring, make sure serial is off and look at the telnet session for errors. If in doubt, wipe the ESP with `pio run -t erase` and start again with step #3 ## Monitoring The Output Use the telnet client to inform you of all activity and errors real-time. This is an example of the telnet output: -![Telnet](doc/telnet/telnet_example.jpg) +![Telnet](doc/telnet/telnet_menu.jpg) -If you type 'l 4' and Enter, it will toggle verbose logging showing you more detailed messages. I use ANSI colors with white text for info messages, green for well formatted telegram packages (which have validated CRC checks), red for corrupt packages and yellow for send responses. +Type 'log v' and Enter and you'll be seeing verbose logging messages. ANSI colors with white text for info messages, green are for broadcast telegrams, yellow are the ones sent to us and red are for unknown data or telegrans which have failed the CRC check. ![Telnet](doc/telnet/telnet_verbose.PNG) -To see the current values of the Boiler and its parameters type 's' and hit Enter. Watch out for unsuccessful telegram packets in the #CrcErrors line. +To see the current stats and collected values type 'info'. Watch out for unsuccessful telegram packets in the #CrcErrors line. ![Telnet](doc/telnet/telnet_stats.PNG) -Commands can be issued directly to the EMS bus typing in a letter followed by an optional parameter and pressing Enter. Supported commands are: - -- **b** to send a read command to the boiler. The 2nd parameter is the type. For example 'b 33' will request type UBAParameterWW and bring back the Warm Water temperatures from the Boiler. -- **t** is similar, but to send a read command to the thermostat. -- **T** set the thermostat temperature to the given celsius value -- **w** to adjust the temperature of the warm water from the boiler -- **a** to turn the warm tap water on and off -- **h** to list all the recognized EMS types -- **P** to toggle the Polling response on/off (note it's not necessary to have Polling enabled to work) -- **m** to set the thermostat mode to manual or auto -- **S** to toggle the Shower Timer functionality on/off -- **A** to toggle the Shower Timer Alert functionality on/off - -**Disclaimer: be careful when sending values to the boiler. If in doubt you can always reset the boiler to its original factory settings by following the instructions in the user guide. On my **Nefit Trendline HRC30** that is done by holding down the Home and Menu buttons simultaneously for a few seconds, selecting factory settings from the scroll menu and lastly pressing the Reset button.** +**Disclaimer: be careful when sending values to the boiler. If in doubt you can always reset the boiler to its original factory settings by following the instructions in the user guide. For example on my Nefit Trendline that is done by holding down the Home and Menu buttons simultaneously for a few seconds, selecting factory settings from the scroll menu followed by pressing the Reset button.** ## Building The Circuit -The EMS circuit is really all credit to the hard work many people have done before me, noticeably *susisstrolch* with his ESP8266 [version](https://github.com/susisstrolch/EMS-ESP8266_12-PCB/tree/newmaster/Schematics/EMS-ESP8266-12). - -I've included a prototype boards you can build yourself on a breadboard. One part for only reading values from the Boiler and an extension with the write logic so you can also send commands. - -We need the Rx/Tx of the ESP8266 for flashing, so the code in ``emsuart.cpp`` switches the UART pins to use RX1 and TX1 (GPIO13/D7 and GPIO15/D8 respectively). This also prevents any bogus stack data being sent to EMS bus when the ESP8266 decides to crash like after a Watch Dog Reset. +Included is a prototype boards you can build yourself on a breadboard. The breadboard layout was done using [DIY Layout Creator](https://github.com/bancika/diy-layout-creator) and sources files are included in this repo. ![Breadboard Circuit](doc/schematics/breadboard.png) -The schematic used (as designed by [susisstrolch](https://github.com/susisstrolch/EMS-ESP8266_12-PCB)): +The schematic used: ![Schematic](doc/schematics/circuit.png) *Optionally I've also added 2 0.5A/72V polyfuses between the EMS and the two inductors L1 and L2 for extra protection.* -And lastly if you don't fancy building the circuit, [bbqkees](http://www.domoticz.com/forum/memberlist.php?mode=viewprofile&u=1736) can sell you one complete with SMD components which looks like the photo below when connected to a Wemos D1 Mini: +And here's a version using an early prototype board from **bbqkees**: ![WemosD1](doc/schematics/wemos_kees.png) @@ -134,33 +132,35 @@ The EMS circuit will work with both 3.3V and 5V. It's easiest though to power di | With Power Circuit | | ------------------------------------------ | -| ![Power circuit](doc/schematics/Schematic_EMS-ESP-Boiler-supercap.png) | +| ![Power circuit](doc/schematics/Schematic_EMS-ESP-supercap.png) | + +## Adding external temperature sensors + +The code supports auto-detection of Dallas type temperature sensors. The default gpio pin used on the ESP8266 is D5 but this can be configured in the setting menu (`set dallas_gpio`). The dallas chips DS1822, DS18S20, DS18B20, DS1825 are supported including their parasite varieties. ## How The EMS Bus Works -Packages are sent to the EMS "bus" from the Boiler and any other compatible connected devices via serial TTL transmission. The protocol is 9600 baud, 8N1 (8 bytes, no parity, 1 stop bit). Each package is terminated with a break signal ``, a 11-bit long low signal of zeros. +Packages are streamed to the EMS "bus" from any other compatible connected device via serial TTL transmission using protocol 9600 baud, 8N1 (8 bytes, no parity, 1 stop bit). Each package is terminated with a break signal ``, a 11-bit long low signal of zeros. A package can be a single byte (see Polling below) or a string of 6 or more bytes making up an actual data telegram. A telegram is always in the format: ``[src] [dest] [type] [offset] [data] [crc] `` -I reference the first 4 bytes as the *header* in this document. +The first 4 bytes is referenced as the *header* in this document. ### EMS IDs Each device has a unique ID. -The Boiler has an ID of 0x08 (type MC10) and also referred to as the Bus Master or UBA. +In this example a UBA boiler has an ID of 0x08 (such as a MC10) and also referred to as the Bus Master. -My thermostat, which is a* Moduline 300* uses the RC30 protocol and has an ID 0x17. If you're using a RC35 type thermostat such as the newer Moduline 300s or 400s use 0x10 and make adjustments in the code as appropriate. bbqkees did a nice write-up on his github page [here](https://github.com/bbqkees/Nefit-Buderus-EMS-bus-Arduino-Domoticz/blob/master/README.md). - -Our circuit acts as a service key and thus uses an ID 0x0B. This ID is reserved for special devices intended for installation engineers for maintenance work. +The circuit acts as a service key and thus uses an ID 0x0B. This ID is reserved for special devices intended for service engineers. ### EMS Polling The bus master (boiler) sends out a poll request every second by sending out a sequential list of all possible IDs as a single byte followed by the break signal. The ID always has its high 8th bit (MSB) set so in the code we're looking for 1 byte messages matching the format `[dest|0x80] `. -Any connected device can respond to a Polling call with an acknowledging by sending back a single byte with its own ID. In our case we would listen for a `[0x8B] ` (meaning us) and then send back `[0x0B] ` to say we're alive and ready. Although I found this is not needed for normal operation so it's disabled as default in the code. +Any connected device can respond to a Polling request with an acknowledgement by sending back a single byte with its own ID. In our case we would listen for a `[0x8B] ` (meaning us) and then send back `[0x0B] ` to say we're alive and ready. Polling is also the trigger to start transmitting any packages queued for sending. It must be done within 200ms or the bus master will time out. @@ -168,7 +168,7 @@ Polling is also the trigger to start transmitting any packages queued for sendin When a device is broadcasting to everyone there is no specific destination needed. `[dest]` is always 0x00. -The tables below shows which types are broadcasted regularly by the boiler (ID 0x08) and thermostat (ID 0x17). The **data length** is excluding the 4 byte header and CRC and the **Name** references those in the [ems wiki](https://emswiki.thefischer.net/doku.php?id=wiki:ems:telegramme). +The tables below shows which types are broadcasted regularly by the boiler (in this case ID 0x08) and thermostat (ID 0x17). The **data length** is excluding the 4 byte header and CRC and the **Name** references those in the German [ems wiki](https://emswiki.thefischer.net/doku.php?id=wiki:ems:telegramme). | Source (ID) | Type ID | Name | Description | Data length | Frequency | | ------------- | ------- | ------------------- | -------------------------------------- | ----------- | ---------- | @@ -189,106 +189,86 @@ Refer to the code in `ems.cpp` for further explanation on how to parse these mes ### EMS Reading and Writing -Telegram packets can only be sent after the Boiler sends a poll to the sending device. The response can be a read command to request data or a write command to send data. At the end of the transmission a poll response is sent from the client (` `) to say we're all done and free up the bus for other clients. +Telegrams can only be sent after the Master (boiler) sends a poll to the receiving device. The response can be a read command to request data or a write command to send data. At the end of the transmission a poll response is sent from the client (` `) to say we're all done and free up the bus for other clients. -When doing a request to read data the `[src]` is our device `(0x0B)` and the `[dest]` must have has it's MSB (8th bit) set. Say we were requesting data from the thermostat we would use `[dest] = 0x97` since RC30 has an ID of 0x17. +When executing a request to read data the `[src]` is our device `(0x0B)` and the `[dest]` must have has it's MSB (8th bit) set. Say we were requesting data from the thermostat we would use `[dest] = 0x97` since RC20 has an ID of 0x17. Following a write request, the `[dest]` doesn't have the 8th bit set and after this write request the destination device will send either a single byte 0x01 for success or 0x04 for failure. -Every telegram sent is echo'd back to Rx. +Every telegram sent is echo'd back to Rx, along the same Bus used for all Rx/Tx transmissions. ## The ESP8266 Source Code -*Disclaimer*: This code here is really for reference only, I don't expect anyone to use "as is" since it's highly tailored to my environment and my needs. Most of the code however is self explanatory with comments here and there in the code. +`emsuart.cpp` handles the low level UART read and write logic to the bus. You shouldn't need to touch this. All receive commands from the EMS bus are handled asynchronously using a circular buffer via an interrupt. A separate function processes the buffer and extracts the telegrams. -The code is built on the Arduino framework and is dependent on these external libraries: +`ems.cpp` is the logic to read the EMS data packets (telegrams), validates them and process them based on the type. -- Time http://playground.arduino.cc/code/time -- PubSubClient http://pubsubclient.knolleary.net -- ArduinoJson https://github.com/bblanchon/ArduinoJson -- CRC32 https://github.com/bakercp/CRC32 +`ems-esp.ino` is the Arduino code for the ESP8266 that kicks it all off. This is where we have specific logic such as the code to monitor and alert on the Shower timer and light up the LEDs. -`emsuart.cpp` handles the low level UART read and write logic. You shouldn't need to touch this. All receive commands from the EMS bus are handled asynchronously using a circular buffer via an interrupt. A separate function processes the buffer and extracts the telegrams. Since we don't send too many write commands this is done sequentially. I couldn't use the standard Arduino Serial implementation because of the 11-bit break signal causes a frame-error which gets ignored. +`my_config.h` has all the custom settings tailored to your environment. Specific values here are also stored in the ESP's SPIFFs (File system). -`ems.cpp` is the logic to read the EMS packets (telegrams), validates them and process them based on the type. +`ems_devices.h` has all the configuration for the known EMS devices currently supported. -`boiler.ino` is the Arduino code for the ESP8266 that kicks it all off. This is where we have specific logic such as the code to monitor and alert on the Shower timer and light up the LEDs. LED support is enabled by setting the -DUSE_LED build flag. +`MyESP.cpp` is my custom library to handle WiFi, MQTT and Telnet. Uses a modified version of [TelnetSpy](https://github.com/yasheena/telnetspy) -`ESPHelper.cpp` is my customized version of [ESPHelper](https://github.com/ItKindaWorks/ESPHelper) with added Telnet support and some other minor tweaking. - -### Supported EMS Types +### Special EMS Types `ems.cpp` defines callback functions that handle all the broadcast types listed above (e.g. 0x34, 0x18, 0x19 etc) plus these extra types: -| Source (ID) | Type ID | Name | Description | -| ----------------- | ---------------- | ----------------------------- | ---------------------------------------- | -| Boiler (0x08) | 0x33 | UBAParameterWW | reads selected & desired warm water temp | -| Boiler (0x08) | 0x14 | UBATotalUptimeMessage | | -| Boiler (0x08) | 0x15 | UBAMaintenanceSettingsMessage | | -| Boiler (0x08) | 0x16 | UBAParametersMessage | | -| Thermostat (0x17) | 0xA8 | RC20Set | sets operating modes for an RC20 | -| Thermostat (0x10) | 0xA7 | RC30Set | sets operating modes for an RC30 | -| Thermostat | 0x02 | Version | reads Version major/minor | -| Thermostat | 0x91, 0x41, 0x0A | Status Message | read monitor values | +| Source (ID) | Type ID | Name | Description | +| ------------- | ------- | ----------------------------- | ---------------------------------------- | +| Boiler (0x08) | 0x33 | UBAParameterWW | reads selected & desired warm water temp | +| Boiler (0x08) | 0x14 | UBATotalUptimeMessage | | +| Boiler (0x08) | 0x15 | UBAMaintenanceSettingsMessage | | +| Boiler (0x08) | 0x16 | UBAParametersMessage | | -In `boiler.ino` you can make calls to automatically send these read commands. See the function *regularUpdates()* +In `ems.cpp` you can add scheduled calls to specific EMS types in the functions `ems_getThermostatValues()` and `ems_getBoilerValues()`. -### Supported Thermostats +### Which thermostats are supported? -Modify `EMS_ID_THERMOSTAT` in `myconfig.h` to the thermostat type you want to support. +I am still working on adding more support to known thermostats. Any contributions here are welcome. The know types are listed in `ems_devices.h` and include -#### RC20 (Moduline 300) - -Read and write of setpoint temp and mode supported. - -#### RC30 (Moduline 400) - -Read and write of setpoint temp and mode supported. - -Type's 3F, 49, 53, 5D are identical. So are 4B, 55, 5F and mostly zero's. Types 40, 4A, 54 and 5E are also the same. - -#### RC35 - -***not implemented yet***! - -An RC35 thermostat can support up to 4 heating circuits each controlled with their own Monitor and Working Mode IDs. - -Fetching the thermostats setpoint temp us by requesting 0x3E and looking at the 3rd byte in the data telegram (data[2]) and dividing by 2. -The mode is on type 0x47 (or 0x3D) and the 8th byte (data[7]). 0=off, 1=on, 2=auto - -#### TC100/TC200 (Nefit Easy) - -There is limited support for an Nefit Easy TC100/TC200 type thermostat. The current room temperature and setpoint temperature can be read. What I'm still figuring out is how to read the mode and set the temperature values without sending http post commands to their web server. +- RC20 and RC30, both are fully supported +- RC10 support is being added +- RC35 with support for the 1st heating circuit (HC1) +- TC100/TC200/Easy but only with support for reading the temperatures. There seems to be no way to set settings using EMS bus messages that I know of. One option is to send XMPP messages but a special server is needed and out of scope for this project. ### Customizing The Code - To configure for your thermostat and specific boiler settings, modify `my_config.h`. Here you can - - set the thermostat type. The default ID is 0x17 for an RC30 Moduline 300. - - set flags for enabled/disabling functionality such as `BOILER_THERMOSTAT_ENABLED`, `BOILER_SHOWER_ENABLED` and `BOILER_SHOWER_TIMER`. - - Set WIFI and MQTT settings, instead of doing this in `platformio.ini` + - set flags for enabled/disabling functionality such as `BOILER_SHOWER_ENABLED` and `BOILER_SHOWER_TIMER`. + - Set WIFI and MQTT settings. The values can also be set from the telnet command menu using the **set** command. - To add new handlers for EMS data types, first create a callback function and add to the `EMS_Types` array at the top of the file `ems.cpp` and modify `ems.h` +- To add new devices modify `ems_devices.h` ### Using MQTT -When the ESP8266 boots it will send a start signal via MQTT. This is picked up by Home Assistant and sends a notification informing me that the device has booted. Useful for knowing when the ESP gets reset. +The boiler data is collected and sent as a single JSON object to MQTT TOPIC `home/ems-esp/boiler_data`. The `home` preifx is the MQTT topic prefix and can be customized in `my_config.h`. A hash is generated (CRC32 based) to determine if the payload has changed, otherwise it will not be sent. An example payload looks like: -I'm using the standard PubSubClient client so make sure you set `-DMQTT_MAX_PACKET_SIZE=400` as the default package size is 128 and our JSON messages are around 300 bytes. +`{"wWSelTemp":"60","selFlowTemp":"5.0","outdoorTemp":"?","wWActivated":"on","wWComfort":"Comfort","wWCurTmp":"46.0","wWCurFlow":"0.0","wWHeat":"on","curFlowTemp":"54.2","retTemp":"51.5","burnGas":"off","heatPmp":"off","fanWork":"off","ignWork":"off","wWCirc":"off","selBurnPow":"0","curBurnPow":"0","sysPress":"1.2","boilTemp":"56.7","pumpMod":"0","ServiceCode":"0H"}` -I run Mosquitto on my Raspberry PI 3 as the MQTT broker. +Similarly the thermostat values are also sent as a JSON package with the topic `home/ems-esp/thermostat_data` along with the current mode, room temperature and set temperature: -The boiler data is collected and sent as a single JSON object to MQTT TOPIC `home/boiler/boiler_data` (or `{hostname}/boiler_data` for ESPurna). A hash is generated (CRC32 based) to determine if the payload has changed, otherwise don't send it. An example payload looks like: +`{"thermostat_currtemp":"19.8","thermostat_seltemp":"16.0","thermostat_mode":"manual"}` -`{"wWCurTmp":"43.0","wWHeat":"on","curFlowTemp":"51.7","retTemp":"48.0","burnGas":"off","heatPmp":"off","fanWork":"off","ignWork":"off","wWCirc":"off","selBurnPow":"0","curBurnPow":"0","sysPress":"1.6","boilTemp":"54.7","pumpMod":"4"}` +These incoming MQTT topics are also handled: -Similarly the thermostat values are sent as a json package under a topic named `home/boiler/thermostat_data` with the current mode, room temperature and set temperature. +| topic | ID in my_config.h | Payload | Description | +| ------------------- | ------------------------- | ---------------------- | ---------------------------------------- | +| thermostat_cmd_temp | TOPIC_THERMOSTAT_CMD_TEMP | temperature as a float | sets the thermostat current setpoint | +| thermostat_cmd_mode | TOPIC_THERMOSTAT_CMD_MODE | auto, day, night | sets the thermostat mode | +| wwactivated | TOPIC_BOILER_WWACTIVATED | 0 or 1 | turns boiler warm water on/off (not tap) | +| boiler_cmd_wwtemp | TOPIC_BOILER_CMD_WWTEMP | temperature as a float | sets the boiler wwtemp current setpoint | -These topics can be configured in the `TOPIC_*` defines in `boiler.ino`. Make sure you change the HA configuration too to match. +If MQTT is not used use 'set mqtt_host' to remove it. + +Some home automation systems such as Domoticz and OpenHab have special formats for their MQTT messages so I would advise to use [node-red](https://nodered.org/) as a parser like in [this example](https://www.domoticz.com/forum/download/file.php?id=18977&sid=67d048f1b4c8833822175eac6b55ecff). ### The Basic Shower Logic -Checking whether the shower is running was tricky. We know when the warm water is on and being heated but need to distinguish between the central heating, shower, hot tap and bath. I found via trial and error the Selected Burner Max Power is between 80% and 115% when the shower is running and fixed at 75% if the central heating is on. Furthermore the Selected Flow Impulsion is 80 C for the heating. +Checking whether the shower is running is tricky. We know when the warm water is on and being heated but need to distinguish between the central heating, shower, hot tap and even a bath tap. So this code is a little experimental. -There is other logic in the code to compensate for ramp up and whether the shower is turned off and back on again quickly within a 10 second window. +There is other logic in the code to compensate for water heating up to shower temperature and whether the shower is turned off and back on again quickly within a 10 second window. ## Home Assistant Configuration @@ -300,122 +280,85 @@ and the alerts on an iOS/Android device using PushBullet, PushOver or any notifi ![Home Assistant iPhone notify)](doc/home_assistant/ha_notify.jpg) -You can find the .yaml configuration files under `doc/ha`. See also https://community.home-assistant.io/t/thermostat-and-boiler-controller-for-ems-based-boilers-nefit-buderus-bosch-using-esp/53382 +You can find the .yaml configuration files under `doc/ha`. See also this [HA forum post](https://community.home-assistant.io/t/thermostat-and-boiler-controller-for-ems-based-boilers-nefit-buderus-bosch-using-esp/53382). ## Building The Firmware ### Using PlatformIO Standalone -PlatformIO is my preferred way. The code uses a modified version [ESPHelper](https://github.com/ItKindaWorks/ESPHelper) which handles all the basic handling of the WiFi, MQTT, OTA and Telnet server. I switched from Atom to the marvelous Visual Studio Code, works on Windows, OSX and Linux. - **On Windows:** - Download [Git](https://git-scm.com/download/win) (install using the default settings) - Download and install [Visual Studio Code](https://code.visualstudio.com/docs/?dv=win) (VSC). It's like 40MB so don't confuse with the commercial Microsoft Visual Studio. - Restart the PC (if using Windows) to apply the new PATH settings. It should now detect Git -- Install these VSC extensions: PlatformIO IDE & GitLens, and then click reload to activate them +- Install the VSC extension "PlatformIO IDE" then click reload to activate it - Git clone this repo, eith using `git clone` from PlatformIO's terminal or the Git GUI interface -- Create a `platformio.ini` based on the `platformio.ini-example` making the necessary changes for your WiFi and MQTT credentials in the build flags. If you're not using MQTT leave MQTT_IP empty (`MQTT_IP=""`) +- Create a `platformio.ini` based on the `platformio.ini-example` making the necessary changes for your board type -**On Linux (e.g. Ubuntu under Windows10):** +**On Linux (e.g. Ubuntu under Windows 10):** -- make sure Python 2.7 is installed -- make sure you have a Linux distro installed (https://docs.microsoft.com/en-us/windows/wsl/install-win10) -- Do: +Make sure Python 2.7 is installed, then... ```python % pip install -U platformio % sudo platformio upgrade % platformio platform update -% git clone https://github.com/proddy/EMS-ESP-Boiler.git -% cd EMS-ESP-Boiler +% git clone https://github.com/proddy/EMS-ESP.git +% cd EMS-ESP % cp platformio.ini-example platformio.ini ``` -- edit `platformio.ini` to set `env_default` and the flags `WIFI_SSID WIFI_PASSWORD, MQTT_IP, MQTT_USER, MQTT_PASS`. If you're not using MQTT leave MQTT_IP empty (`MQTT_IP=""`) +edit `platformio.ini` to set `env_default` to your board type, then ```c % platformio run -t upload ``` -### Using ESPurna - -[ESPurna](https://github.com/xoseperez/espurna/wiki) is framework that handles most of the tedious tasks of building IoT devices so you can focus on the functionality you need. This replaces my ESPHelper code in the standalone version above. ESPurna is natively built on PlatformIO and Visual Studio Code too which is nice. The latest version I tested this on is 1.13.3. So if you're brave, follow these steps: - -1. Download and install [NodeJS](https://nodejs.org/en/download). This gives you npm. Choose the LTS version -2. Download ESPurna by cloning the ESPurna git repository (command palette, git clone, https://github.com/xoseperez/espurna.git) -3. Restart VSC. -4. From VSC open the folder `espurna\code`. PlatformIO should detect and set some things up for you automagically -5. open a terminal window (*ctrl-`*) -6. Install the node modules: `npm install --only=dev` -7. Build the web interface: `node node_modules/gulp/bin/gulp.js`. This will create a compressed `code/espurna/static/index.html.gz.h`. If you get warnings about lf during the building edit `gulpfile.js` and change the line `'failOnError': true` to `false` as a temporary workaround. -8. Modify the platformio.ini file making sure you add `-DUSE_CUSTOM_H -DUSE_EXTRA` to the `debug_flags` -9. Copy the following files from EMS-ESP-Boiler repo to where you installed ESPurna -```c -espurna/index.html -> code/html/index.html -espurna/custom.h -> code/config/custom.h -espurna/boiler-espurna.ino -> code/espurna/boiler-espurna.ino -ems*.* -> code/espurna/ -``` -10. Now build and upload as you usually would with PlatformIO (or ctrl-arl-t and choose the right build). Look at my version of platformio.ini as an example. -11. When the firmware loads, use a wifi connected pc/mobile to connect to the Access Point called ESPURNA_XXXXXX. Use 'fibonacci' as the password. Navigate to `http://192.168.4.1` from a browser, set a new username and password when prompted, log off the wifi and reconnect to the AP using these new credentials. Again go to 192.168.4.1 -12. In the ADMIN page enable Telnet and SAVE -13. In the WIFI page add your home wifi details, click SAVE and reboot, and go to the new IP -14. Configure MQTT - -The Telnet functions are `BOILER.READ`, `BOILER.INFO` and a few others for reference. `HELP` will list them. Add your own functions to expand the functionality by calling the EMS* functions as in the examples. - -If you run into issues refer to ESPurna's official setup instructions [here](https://github.com/xoseperez/espurna/wiki/Build-and-update-from-Visual-Studio-Code-using-PlatformIO) and [here](https://github.com/xoseperez/espurna/wiki/Configuration). - -This is what ESPurna looks like with the custom boiler code: - -![Example running in ESPurna](doc/espurna/example.PNG) - -*Note: I didn't bother porting all the EMS Read and Write commands from the Telnet code to the Espurna, but its pretty straight forward if you want to extend the code.* - -### Using Pre-built Firmware - -pre-baked firmwares for some ESP8266 devices based on ESPurna are available in the directory `/firmware` which you can upload yourself using [esptool](https://github.com/espressif/esptool) bootloader. On Windows, follow these instructions: - -1. Check if you have **python 2.7** installed. If not [download it](https://www.python.org/downloads/) and make sure you select the option to add Python to the windows PATH -2. Install the ESPTool by running `pip install esptool` from a command prompt -3. Connect the ESP via USB, figure out the COM port -4. run `esptool.py -p write_flash 0x00000 ` where firmware is the `.bin` file and \ is the COM port, e.g. `COM3` - -now follow the steps in ESPurna section above from #10 on to configure the device. - ### Building Using Arduino IDE -Porting to the Arduino IDE can be a little tricky but it is possible. +Porting to the Arduino IDE can be a little tricky but it did it once. Something along these lines: - Add the ESP8266 boards (from Preferences add Additional Board URL `http://arduino.esp8266.com/stable/package_esp8266com_index.json`) -- Go to Boards Manager and install ESP8266 2.4.x platform +- Go to Boards Manager and install ESP8266 2.4.x platform. Make sure your board supports SPIFFS. - Select your ESP8266 from Tools->Boards and the correct port with Tools->Port -- From the Library Manager install ArduinoJson 5.13.x, PubSubClient 2.6.x, CRC32 and Time -- The Arduino IDE doesn't have a common way to set build flags (ugh!) so you'll need to un-comment these lines in `boiler.ino`: +- From the Library Manager install the needed libraries from platformio.ini. Note make sure you pick ArduinoJson v5 (5.13.4 and above) and not v6. See https://arduinojson.org/v5/doc/ +- Put all the files in a single sketch folder +- cross your fingers and hit CTRL-R to compile -```c -#define WIFI_SSID "" -#define WIFI_PASSWORD "" -#define MQTT_IP "" -#define MQTT_USER "" -#define MQTT_PASS "" -``` +## Using the Pre-built Firmware -- Put all the files in a single sketch folder (`ESPHelper.*, boiler.ino, ems.*, emsuart.*`) -- cross your fingers and hit CTRL-R to compile... +pre-baked firmware for the Wemos D1 mini is available in the GitHub [releases](https://github.com/proddy/EMS-ESP/releases) which you can upload yourself using the [esptool](https://github.com/espressif/esptool) bootloader like `esptool.py -p write_flash 0x00000 `. Here's how to set it up on Windows: + +1. Check if you have **python 2.7** installed. If not [download it](https://www.python.org/downloads/) and make sure you select the option to add Python to the windows PATH +2. Then install the ESPTool by running `pip install esptool` from a command prompt + +The ESP8266 will start in Access Point (AP) mode. Connect via WiFi to the SSID **EMS-ESP** and telnet to **192.168.4.1**. Then use the `set wifi` command to configure your own network settings like `set wifi your_ssid your_password`. Alternatively connect the ESP8266 to your PC and open a Serial monitor (with baud 115200) to configure the settings. Make sure you disable Serial support before connecting the EMS lines using `set serial off`. + +`set` wil list all currently stored settings. + +`set erase` will clear all settings. + +## Troubleshooting + +When flashing for the first time the Serial port is enabled by default with baud 115200. You can then use a PC with USB to the ESP8266 to set the settings like wifi, mqtt etc and also monitor the boot up procedure. Remember to disable the serial (`set serial off`) when connecting to the EMS lines. + +The onboard LED will flash if there is no connection with the EMS bus. You can disable LED support by the 'set led' command from the telnet client. + +If you want to completely erase the ESP and rebuild the firmware then do a `pio run -t erase` which will wipe the onboard flash including the SPIFFs where all the settings are stored. ## Known Issues Some annoying issues that need fixing: -- Very infrequently an EMS write command is not sent, probably due to a collision somewhere in the UART between an incoming Rx and a Poll. The retries in the code fix this for now. +- On newer EMS+ Boilers the Tx commands for reading and writing may not always work. I believe there is some handshake that needs to happen before the UBA3/Master is able to send a poll request to our service device. ## Wish List -- Measure amount of gas in m3 per day for the hot water vs the central heating, and convert this into cost in Home Assistant -- Support changing temps on an Nefit Easy. To do this you must send XMPP messages directly to the thermostat. See this project: https://github.com/robertklep/nefit-easy-core -- Store custom params like wifi credentials, mqtt, thermostat type on ESP8266 using SPIFFS -- Automatic detection of thermostat type -- Add support for a temperature sensor on the circuit (DS18B20) +- Measure amount of gas in m3 per day for the hot water vs the central heating, and convert this into cost. +- Support changing temperatures on an Nefit Easy. To do this we must send XMPP messages directly to the thermostat. There is already a TCP stack and a Wifi and Telnet server running in the code, so the building blocks are there to extend with another XMPP client. Here are a number of Python based projects that show how to do this: + - https://github.com/patvdleer/nefit-client-python + - https://github.com/marconfus/ha-nefit + - https://github.com/robertklep/nefit-easy-core +- Improve detection of Heating Off without checking for selFlowTemp (selected flow temperature) +- Split MQTT into smaller chunks. Now the messages can be up to 600 bytes which may cause issues. Preferably make the items configurable. ## Your Comments and Feedback @@ -423,4 +366,4 @@ Any comments, suggestions or code contributions are very welcome. Please post a ## DISCLAIMER -This code and libraries were developed from information gathered on the internet and many hours of reverse engineering the communications between the EMS bus and thermostats. It is **not** based on any official documentation or supported libraries from Buderus/Junkers/Nefit (and associated companies) and therefore there are no guarantees whatsoever regarding the safety of your devices and/or their settings, or the accuracy of the information provided. \ No newline at end of file +This code and libraries were developed from information gathered on the internet and many hours of reverse engineering the communications between the EMS bus and thermostats. It is **not** based on any official documentation or supported libraries from Buderus/Junkers/Nefit (and associated companies) and therefore there are no guarantees whatsoever regarding the safety of your devices and/or their settings, or the accuracy of the information provided. diff --git a/checkcode.py b/checkcode.py new file mode 100644 index 000000000..3e381bb66 --- /dev/null +++ b/checkcode.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python +from subprocess import call +import os +Import("env") + + +def code_check(source, target, env): + print("\n** Starting cppcheck...") + call(["cppcheck", os.getcwd()+"/.", "--force", "--enable=all"]) + print("\n** Finished cppcheck...\n") + print("\n** Starting cpplint...") + call(["cpplint", "--extensions=ino,cpp,h", "--filter=-legal/copyright,-build/include,-whitespace", + "--linelength=120", "--recursive", "src", "lib/myESP"]) + print("\n** Finished cpplint...") + +#my_flags = env.ParseFlags(env['BUILD_FLAGS']) +#defines = {k: v for (k, v) in my_flags.get("CPPDEFINES")} +# print defines +# print env.Dump() + + +# built in targets: (buildprog, size, upload, program, buildfs, uploadfs, uploadfsota) +env.AddPreAction("buildprog", code_check) +# env.AddPostAction(.....) + +# see http://docs.platformio.org/en/latest/projectconf/advanced_scripting.html#before-pre-and-after-post-actions +# env.Replace(PROGNAME="firmware_%s" % defines.get("VERSION")) +# env.Replace(PROGNAME="firmware_%s" % env['BOARD']) diff --git a/clean_fw.py b/clean_fw.py new file mode 100644 index 000000000..c380f00ac --- /dev/null +++ b/clean_fw.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python +from subprocess import call +import os +Import("env") + +def clean(source, target, env): + print("\n** Starting clean...") + call(["pio", "run", "-t", "erase"]) + call(["esptool.py", "-p COM6", "write_flash 0x00000", os.getcwd()+"../firmware/*.bin"]) + print("\n** Finished clean.") + +#my_flags = env.ParseFlags(env['BUILD_FLAGS']) +#defines = {k: v for (k, v) in my_flags.get("CPPDEFINES")} +# print defines +# print env.Dump() + + +# built in targets: (buildprog, size, upload, program, buildfs, uploadfs, uploadfsota) +env.AddPreAction("buildprog", clean) +# env.AddPostAction(.....) + +# see http://docs.platformio.org/en/latest/projectconf/advanced_scripting.html#before-pre-and-after-post-actions +# env.Replace(PROGNAME="firmware_%s" % defines.get("VERSION")) +# env.Replace(PROGNAME="firmware_%s" % env['BOARD']) diff --git a/doc/Domoticz/nefit/mqtt.py b/doc/Domoticz/nefit/mqtt.py new file mode 100644 index 000000000..21ddc42a5 --- /dev/null +++ b/doc/Domoticz/nefit/mqtt.py @@ -0,0 +1,113 @@ +# Based on https://github.com/emontnemery/domoticz_mqtt_discovery +import Domoticz +import time + +class MqttClient: + Address = "" + Port = "" + mqttConn = None + isConnected = False + mqttConnectedCb = None + mqttDisconnectedCb = None + mqttPublishCb = None + + def __init__(self, destination, port, mqttConnectedCb, mqttDisconnectedCb, mqttPublishCb, mqttSubackCb): + Domoticz.Debug("MqttClient::__init__") + self.Address = destination + self.Port = port + self.mqttConnectedCb = mqttConnectedCb + self.mqttDisconnectedCb = mqttDisconnectedCb + self.mqttPublishCb = mqttPublishCb + self.mqttSubackCb = mqttSubackCb + self.Open() + + def __str__(self): + Domoticz.Debug("MqttClient::__str__") + if (self.mqttConn != None): + return str(self.mqttConn) + else: + return "None" + + def Open(self): + Domoticz.Debug("MqttClient::Open") + if (self.mqttConn != None): + self.Close() + self.isConnected = False + self.mqttConn = Domoticz.Connection(Name=self.Address, Transport="TCP/IP", Protocol="MQTT", Address=self.Address, Port=self.Port) + self.mqttConn.Connect() + + def Connect(self): + Domoticz.Debug("MqttClient::Connect") + if (self.mqttConn == None): + self.Open() + else: + ID = 'Domoticz_'+str(int(time.time())) + Domoticz.Log("MQTT CONNECT ID: '" + ID + "'") + self.mqttConn.Send({'Verb': 'CONNECT', 'ID': ID}) + + def Ping(self): + Domoticz.Debug("MqttClient::Ping") + if (self.mqttConn == None or not self.isConnected): + self.Open() + else: + self.mqttConn.Send({'Verb': 'PING'}) + + def Publish(self, topic, payload, retain = 0): + Domoticz.Log("MqttClient::Publish " + topic + " (" + payload + ")") + if (self.mqttConn == None or not self.isConnected): + self.Open() + else: + self.mqttConn.Send({'Verb': 'PUBLISH', 'Topic': topic, 'Payload': bytearray(payload, 'utf-8'), 'Retain': retain}) + + def Subscribe(self, topics): + Domoticz.Debug("MqttClient::Subscribe") + subscriptionlist = [] + for topic in topics: + subscriptionlist.append({'Topic':topic, 'QoS':0}) + if (self.mqttConn == None or not self.isConnected): + self.Open() + else: + self.mqttConn.Send({'Verb': 'SUBSCRIBE', 'Topics': subscriptionlist}) + + def Close(self): + Domoticz.Log("MqttClient::Close") + #TODO: Disconnect from server + self.mqttConn = None + self.isConnected = False + + def onConnect(self, Connection, Status, Description): + Domoticz.Debug("MqttClient::onConnect") + if (Status == 0): + Domoticz.Log("Successful connect to: "+Connection.Address+":"+Connection.Port) + self.Connect() + else: + Domoticz.Log("Failed to connect to: "+Connection.Address+":"+Connection.Port+", Description: "+Description) + + def onDisconnect(self, Connection): + Domoticz.Log("MqttClient::onDisonnect Disconnected from: "+Connection.Address+":"+Connection.Port) + self.Close() + # TODO: Reconnect? + if self.mqttDisconnectedCb != None: + self.mqttDisconnectedCb() + + def onMessage(self, Connection, Data): + topic = '' + if 'Topic' in Data: + topic = Data['Topic'] + payloadStr = '' + if 'Payload' in Data: + payloadStr = Data['Payload'].decode('utf8','replace') + payloadStr = str(payloadStr.encode('unicode_escape')) + + if Data['Verb'] == "CONNACK": + self.isConnected = True + if self.mqttConnectedCb != None: + self.mqttConnectedCb() + + if Data['Verb'] == "SUBACK": + if self.mqttSubackCb != None: + self.mqttSubackCb() + + if Data['Verb'] == "PUBLISH": + if self.mqttPublishCb != None: + self.mqttPublishCb(topic, Data['Payload']) \ No newline at end of file diff --git a/doc/Domoticz/nefit/plugin.py b/doc/Domoticz/nefit/plugin.py new file mode 100644 index 000000000..abcf78c18 --- /dev/null +++ b/doc/Domoticz/nefit/plugin.py @@ -0,0 +1,165 @@ +""" + + + Plugin to control Nefit EMS-ESP with ' Proddy' firmware
+
+ Automatically creates Domoticz devices for connected device.
+ Do not forget to "Accept new Hardware Devices" on first run
+
+ + + + + + + + +
+""" + +import Domoticz +import json +import time +from mqtt import MqttClient + +class Thermostat: + def checkDevices(self): + if 1 not in Devices: + Domoticz.Debug("Create Temperature Device") + Domoticz.Device(Name="Woonkamer", Unit=1, Type=80, Subtype=5).Create() + if 2 not in Devices: + Domoticz.Debug("Create System Pressure Device") + Domoticz.Device(Name="System Pressure", Unit=2, Type=243, Subtype=9).Create() + if 3 not in Devices: + Domoticz.Debug("Create Thermostat Device") + Domoticz.Device(Name="Nefit", Unit=3, Type=242, Subtype=1).Create() + + def onMqttMessage(self, topic, payload): + if "thermostat_currtemp" in payload: + temp=round(float(payload["thermostat_currtemp"]),1) + Domoticz.Debug("Current temp: {}".format(temp)) + if Devices[1].sValue != temp: + Devices[1].Update(nValue=1, sValue=str(temp)) + if "sysPress" in payload: + pressure=payload["sysPress"] + Domoticz.Debug("System Pressure: {}".format(pressure)) + if Devices[2].sValue != pressure: + Devices[2].Update(nValue=1, sValue=str(pressure)) + if "thermostat_seltemp" in payload: + temp=payload["thermostat_seltemp"] + Domoticz.Debug("Temp setting: {}".format(temp)) + if Devices[3].sValue != temp: + Devices[3].Update(nValue=1, sValue=str(temp)) + + def onCommand(self, mqttClient, unit, command, level, color): + topic = "home/ems-esp/thermostat_cmd_temp" + if (command == "Set Level"): + mqttClient.Publish(topic, str(level)) + +class BasePlugin: + mqttClient = None + + def onStart(self): + self.debugging = Parameters["Mode6"] + + if self.debugging == "Verbose+": + Domoticz.Debugging(2+4+8+16+64) + if self.debugging == "Verbose": + Domoticz.Debugging(2+4+8+16+64) + if self.debugging == "Debug": + Domoticz.Debugging(2+4+8) + + self.controller = Thermostat() + + self.controller.checkDevices() + + self.topics = list(["home/ems-esp/thermostat_data", "home/ems-esp/boiler_data", "home/ems-esp/STATE"]) + self.mqttserveraddress = Parameters["Address"].replace(" ", "") + self.mqttserverport = Parameters["Port"].replace(" ", "") + self.mqttClient = MqttClient(self.mqttserveraddress, self.mqttserverport, self.onMQTTConnected, self.onMQTTDisconnected, self.onMQTTPublish, self.onMQTTSubscribed) + + def checkDevices(self): + Domoticz.Log("checkDevices called") + + def onStop(self): + Domoticz.Log("onStop called") + + def onCommand(self, Unit, Command, Level, Color): + Domoticz.Debug("Command: " + Command + " (" + str(Level)) + self.controller.onCommand(self.mqttClient, Unit, Command, Level, Color) + + def onConnect(self, Connection, Status, Description): + self.mqttClient.onConnect(Connection, Status, Description) + + def onDisconnect(self, Connection): + self.mqttClient.onDisconnect(Connection) + + def onMessage(self, Connection, Data): + self.mqttClient.onMessage(Connection, Data) + + def onHeartbeat(self): + Domoticz.Debug("Heartbeating...") + + # Reconnect if connection has dropped + if self.mqttClient.mqttConn is None or (not self.mqttClient.mqttConn.Connecting() and not self.mqttClient.mqttConn.Connected() or not self.mqttClient.isConnected): + Domoticz.Debug("Reconnecting") + self.mqttClient.Open() + else: + self.mqttClient.Ping() + + def onMQTTConnected(self): + Domoticz.Debug("onMQTTConnected") + self.mqttClient.Subscribe(self.topics) + + def onMQTTDisconnected(self): + Domoticz.Debug("onMQTTDisconnected") + + def onMQTTSubscribed(self): + Domoticz.Debug("onMQTTSubscribed") + + def onMQTTPublish(self, topic, rawmessage): + Domoticz.Debug("MQTT message: " + topic + " " + str(rawmessage)) + + message = "" + try: + message = json.loads(rawmessage.decode('utf8')) + except ValueError: + message = rawmessage.decode('utf8') + + if (topic in self.topics): + self.controller.onMqttMessage(topic, message) + +global _plugin +_plugin = BasePlugin() + +def onStart(): + global _plugin + _plugin.onStart() + +def onStop(): + global _plugin + _plugin.onStop() + +def onConnect(Connection, Status, Description): + global _plugin + _plugin.onConnect(Connection, Status, Description) + +def onDisconnect(Connection): + global _plugin + _plugin.onDisconnect(Connection) + +def onMessage(Connection, Data): + global _plugin + _plugin.onMessage(Connection, Data) + +def onCommand(Unit, Command, Level, Color): + global _plugin + _plugin.onCommand(Unit, Command, Level, Color) + +def onHeartbeat(): + global _plugin + _plugin.onHeartbeat() diff --git a/doc/Domoticz/readme.txt b/doc/Domoticz/readme.txt new file mode 100644 index 000000000..0f39859be --- /dev/null +++ b/doc/Domoticz/readme.txt @@ -0,0 +1,10 @@ +to install the plugin: +- copy the directory 'nefit' to the domoticz/plugins directory +- make sure that 'Accept new Hardware Devices' is enabeled in settings/sysem +- create new hardware with type 'Nefit EMS-ESP with Proddy firmware' +- set MQTT server and port + +The plugin crrently creates 3 devices: +- a room temperature meter +- a system pressure meter +- a thermostat setpoint control \ No newline at end of file diff --git a/doc/espurna/example.PNG b/doc/espurna/example.PNG deleted file mode 100644 index d83b3eb9e5e053852e9601577e9e7d64207986b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43418 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 diff --git a/doc/home_assistant/automations.yaml b/doc/home_assistant/automations.yaml index afa295b75..f277824f8 100644 --- a/doc/home_assistant/automations.yaml +++ b/doc/home_assistant/automations.yaml @@ -2,7 +2,7 @@ alias: Alert shower time trigger: platform: mqtt - topic: home/boiler/showertime + topic: home/ems-esp/showertime action: - service: notify.general_notify data_template: @@ -13,7 +13,7 @@ alias: Alert shower too long trigger: platform: mqtt - topic: home/boiler/command + topic: home/ems-esp/command payload: 'shower_alarm' action: - service: notify.admin_notify @@ -21,21 +21,21 @@ title: "Shower Alert!" message: "Shower time exceeded limit" -# when boiler starts send boottime +# when ems-esp starts send boottime - id: boiler_restart - alias: See if boiler restarts + alias: See if ems-esp restarts trigger: platform: mqtt - topic: home/boiler/start + topic: home/ems-esp/start payload: 'start' action: - service: notify.admin_notify data_template: - title: "boiler has booted" - message: "Boiler" + title: "ems-esp has booted" + message: "EMS-ESP" - service: mqtt.publish data_template: - topic: 'home/boiler/start' + topic: 'home/ems-esp/start' payload: > {{ now().strftime("%H:%M:%S %-d/%b/%Y") }} diff --git a/doc/home_assistant/binary_sensor.yaml b/doc/home_assistant/binary_sensor.yaml index 0fadb8d19..4b5195d00 100644 --- a/doc/home_assistant/binary_sensor.yaml +++ b/doc/home_assistant/binary_sensor.yaml @@ -1,12 +1,12 @@ - platform: mqtt name: 'Tap Water' - state_topic: 'home/boiler/tapwater_active' + state_topic: 'home/ems-esp/tapwater_active' payload_on: "1" payload_off: "0" - platform: mqtt name: 'Heating' - state_topic: 'home/boiler/heating_active' + state_topic: 'home/ems-esp/heating_active' payload_on: "1" payload_off: "0" \ No newline at end of file diff --git a/doc/home_assistant/climate.yaml b/doc/home_assistant/climate.yaml index 392021b80..18799bc19 100644 --- a/doc/home_assistant/climate.yaml +++ b/doc/home_assistant/climate.yaml @@ -1,20 +1,30 @@ - platform: mqtt - name: Thermostat - modes: - - low - - manual - - auto + name: Thermostat + modes: + - low + - manual + - auto - mode_state_topic: "home/boiler/thermostat_data" - current_temperature_topic: "home/boiler/thermostat_data" - temperature_state_topic: "home/boiler/thermostat_data" + mode_state_topic: "home/ems-esp/thermostat_data" + current_temperature_topic: "home/ems-esp/thermostat_data" + temperature_state_topic: "home/ems-esp/thermostat_data" - temperature_command_topic: "home/boiler/thermostat_cmd_temp" - mode_command_topic: "home/boiler/thermostat_cmd_mode" + temperature_command_topic: "home/ems-esp/thermostat_cmd_temp" + mode_command_topic: "home/ems-esp/thermostat_cmd_mode" - mode_state_template: "{{ value_json.thermostat_mode }}" - current_temperature_template: "{{ value_json.thermostat_currtemp }}" - temperature_state_template: "{{ value_json.thermostat_seltemp }}" + mode_state_template: "{{ value_json.thermostat_mode }}" + current_temperature_template: "{{ value_json.thermostat_currtemp }}" + temperature_state_template: "{{ value_json.thermostat_seltemp }}" - temp_step: 0.5 + temp_step: 0.5 + - platform: mqtt + name: boiler + min_temp: 40 + max_temp: 60 + temp_step: 1 + current_temperature_topic: "home/ems-esp/boiler_data" + temperature_state_topic: "home/ems-esp/boiler_data" + temperature_command_topic: "home/ems-esp/boiler_cmd_wwtemp" + current_temperature_template: "{{ value_json.wWCurTmp }}" + temperature_state_template: "{{ value_json.wWSelTemp }}" diff --git a/doc/home_assistant/ha.png b/doc/home_assistant/ha.png index 632ac8638966c0a1c0ff87cb2b426ba894de8bb2..c2fcb7b5cd9bba82dc3b7894cf5e5a88a01e2b77 100644 GIT binary patch literal 109280 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

o-$mxvd)=YI9fzkzPIBMKs%pOO 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 literal 104135 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 GbNZhdh8`yX diff --git a/doc/home_assistant/scripts.yaml b/doc/home_assistant/scripts.yaml index 5134827e5..860d6a2c9 100644 --- a/doc/home_assistant/scripts.yaml +++ b/doc/home_assistant/scripts.yaml @@ -2,6 +2,6 @@ shower_coldshot: sequence: - service: mqtt.publish data_template: - topic: 'home/boiler/shower_coldshot' + topic: 'home/ems-esp/shower_coldshot' payload: '1' diff --git a/doc/home_assistant/sensors.yaml b/doc/home_assistant/sensors.yaml index ecbe341a1..9bc626fba 100644 --- a/doc/home_assistant/sensors.yaml +++ b/doc/home_assistant/sensors.yaml @@ -1,132 +1,138 @@ - platform: mqtt - state_topic: 'home/boiler/thermostat_data' + state_topic: 'home/ems-esp/thermostat_data' name: 'Current Room Temperature' unit_of_measurement: '°C' value_template: "{{ value_json.thermostat_currtemp }}" - platform: mqtt - state_topic: 'home/boiler/thermostat_data' + state_topic: 'home/ems-esp/thermostat_data' name: 'Current Set Temperature' unit_of_measurement: '°C' value_template: "{{ value_json.thermostat_seltemp }}" - platform: mqtt - state_topic: 'home/boiler/thermostat_data' + state_topic: 'home/ems-esp/thermostat_data' name: 'Current Mode' value_template: "{{ value_json.thermostat_mode }}" -# last time boiler was started +# last time esp-esp was started - platform: template sensors: boiler_boottime: value_template: '{{ as_timestamp(states.automation.see_if_boiler_restarts.attributes.last_triggered) | timestamp_custom("%H:%M:%S %d/%m/%y") }}' - platform: mqtt - state_topic: 'home/boiler/showertime' + state_topic: 'home/ems-esp/showertime' name: 'Last shower duration' force_update: true - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Tap Water' value_template: '{{ value_json.tapwaterActive }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Heating' value_template: '{{ value_json.heatingActive }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Warm Water selected temperature' unit_of_measurement: '°C' value_template: '{{ value_json.wWSelTemp }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' + name: 'Warm Water tapwater flow rate' + unit_of_measurement: 'l/min' + value_template: '{{ value_json.wWCurFlow }}' + +- platform: mqtt + state_topic: 'home/ems-esp/boiler_data' name: 'Warm Water current temperature' unit_of_measurement: '°C' value_template: '{{ value_json.wWCurTmp }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Warm Water activated' value_template: '{{ value_json.wWActivated }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Warm Water 3-way valve' value_template: '{{ value_json.wWHeat }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Current flow temperature' unit_of_measurement: '°C' value_template: '{{ value_json.curFlowTemp }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Return temperature' unit_of_measurement: '°C' value_template: '{{ value_json.retTemp }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Gas' value_template: '{{ value_json.burnGas }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Boiler pump' value_template: '{{ value_json.heatPmp }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Fan' value_template: '{{ value_json.fanWork }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Ignition' value_template: '{{ value_json.ignWork }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Circulation pump' value_template: '{{ value_json.wWCirc }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Burner max power' unit_of_measurement: '%' value_template: '{{ value_json.selBurnPow }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Burner max power' unit_of_measurement: '%' value_template: '{{ value_json.selBurnPow }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Burner current power' unit_of_measurement: '%' value_template: '{{ value_json.curBurnPow }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'System Pressure' unit_of_measurement: 'bar' value_template: '{{ value_json.sysPress }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Boiler temperature' unit_of_measurement: '°C' value_template: '{{ value_json.boilTemp }}' - platform: mqtt - state_topic: 'home/boiler/boiler_data' + state_topic: 'home/ems-esp/boiler_data' name: 'Pump modulation' unit_of_measurement: '%' value_template: '{{ value_json.pumpMod }}' @@ -137,7 +143,6 @@ value_template: '{{ as_timestamp(states.sensor.last_shower_duration.last_updated) | int | timestamp_custom("%-I:%M %P on %a %-d %b") }}' boiler_updated: -# value_template: '{{ (as_timestamp(now()) - as_timestamp(states.sensor.boiler_temperature.last_updated)) | int | timestamp_custom("%-M min %-S seconds ago") }}' value_template: '{{ as_timestamp(states.sensor.boiler_temperature.last_updated) | timestamp_custom("%H:%M on %d/%b") }}' diff --git a/doc/home_assistant/switches.yaml b/doc/home_assistant/switches.yaml index 2c667efa7..0649e3c97 100644 --- a/doc/home_assistant/switches.yaml +++ b/doc/home_assistant/switches.yaml @@ -1,7 +1,7 @@ - platform: mqtt name: "Shower Timer" - state_topic: "home/boiler/shower_timer" - command_topic: "home/boiler/shower_timer" + state_topic: "home/ems-esp/shower_timer" + command_topic: "home/ems-esp/shower_timer" payload_on: "1" payload_off: "0" optimistic: false @@ -10,8 +10,8 @@ - platform: mqtt name: "Long Shower Alert" - state_topic: "home/boiler/shower_alert" - command_topic: "home/boiler/shower_alert" + state_topic: "home/ems-esp/shower_alert" + command_topic: "home/ems-esp/shower_alert" payload_on: "1" payload_off: "0" optimistic: false diff --git a/doc/home_assistant/ui-lovelace.yaml b/doc/home_assistant/ui-lovelace.yaml index e144c7344..59f96d36e 100644 --- a/doc/home_assistant/ui-lovelace.yaml +++ b/doc/home_assistant/ui-lovelace.yaml @@ -13,7 +13,8 @@ views: - sensor.warm_water_selected_temperature - sensor.warm_water_current_temperature - sensor.warm_water_activated - - sensor.warm_water_3way_valve + - sensor.warm_water_3_way_valve + - sensor.warm_water_tapwater_flow_rate - type: divider - sensor.boiler_temperature - sensor.return_temperature @@ -38,16 +39,15 @@ views: - type: divider - sensor.last_shower_duration - sensor.showertime_time - - type: custom:button-card - color: auto + - type: entity-button icon: mdi:shower-head name: send a cold shot of shower water - style: - - text-transform: none - - color: rgb(28, 128, 199) - - font-weight: bold entity: script.shower_coldshot - show_state: false + tap_action: + action: call-service + service: script.turn_on + service_data: + entity_id: script.shower_coldshot - type: vertical-stack cards: @@ -57,3 +57,6 @@ views: - sensor.dark_sky_temperature - type: thermostat entity: climate.thermostat + - type: thermostat + name: WarmWater + entity: climate.boiler diff --git a/doc/schematics/Schematic_EMS-ESP-Boiler-supercap.png b/doc/schematics/Schematic_EMS-ESP-supercap.png similarity index 100% rename from doc/schematics/Schematic_EMS-ESP-Boiler-supercap.png rename to doc/schematics/Schematic_EMS-ESP-supercap.png diff --git a/doc/telnet/telnet_example.jpg b/doc/telnet/telnet_example.jpg deleted file mode 100644 index adfb76f1e0f734cb7016455b40954f07d471080b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73952 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 Du#Sp? diff --git a/doc/telnet/telnet_menu.jpg b/doc/telnet/telnet_menu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9355e493faa6f598efbec9cc906ff5d0dbfe6052 GIT binary patch literal 139774 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 literal 0 HcmV?d00001 diff --git a/doc/telnet/telnet_stats.PNG b/doc/telnet/telnet_stats.PNG index f37c1f6ffaf6eab5a61bba1bd8bb828d8d918589..892d66f74673a7a8c26601739e50855741f7f4a1 100644 GIT binary patch literal 45917 zcmbrlcT`hZ+cr)WD=3TuD$N08uz*Uhk+A^M1Vlt2K@mYCHG~#A;~;|+LFq|Q=_L^m zkdgp`1SttUKzC_87u=ZGO!8!<{D@X4&cob}c2r`~#e~J6a%{>MKS)sBB%^`Ug^C8bi4>r0f75DO0t3`WBEW0eGMJ#;? z4#>R%d}(5S@wWKxPRO3_wu1ibn`=8e9Caye@y{MF=+*FH=}juT@1#7p#d|F)+dD4j zA$uGSN0~le=k(iNq2HBkEUi8VKi^z$HT!m9=K>@BZ?@BM0rsPIW4qBS8ub2|c*9m; zj1`r@`od3q(Uu8`FF?!n^1?of(M@+1K_q#T=oinjn%q35$WMi%OuLpDwCA#ijaM!@ zTR1L`mZUJ&L*VwOKksCU9643B?k4iaL!2H{npW<56qy~?47~FM?Mw*a;dw*-lEWJC zsXG_Lt81Kai^h8k6Mb&xLj!4%bmsVORz*K4QT!XJezy;vJWUD5iTLDIm+j34rc@5V za$-ZKJU=S^F52-s=^ZGjVeUC>=S zx@k6hRk{bNgn=EaggZFMa7^?+me>vV?p0F1*`c%RtKMJ#U-yOKF3JdIC9R8*N- z1L_@4I|DZ~lxtk_O68ph{hN{#JffJgNdZ-D8ka9V2aRDpa`vS9XTQq{M}44quCd%^ z&tp#+i2~md(2(~^;98|~SRbr?O{{WUsF&K z%Ovgh>6P~Pej46V7_vHyXfIhI>NTqcCAox34A)R^GUi{yW>q^01ai*<7Z*Jo^bqhi zMdcyZ^9G07l4~1p%6zutF;s{dEAWii@b< zc8QW}G7M=EeR~p&=(SIFqK0XbXokp3-Sz^Ep%KX$q)W@4PM55XChueO&#3h_f8g|qy+98^mUh}3Fw#D;G`?sq z|Ji(&?4>L3b&vqWrLga3fnA8P8?P|cAEEy$5S1Zq##1*i3K?4FOOH1cU-V!1{l)*5 zbIdJ7M({I4K9Sp6*D~~%&&B~ziNH+8`c6fqt~Hv01>@c}pDk8S{nrE&H4HzZmO@0q z9|sR7Of!;er~eqYFk=?LjIRY~czq1EfdBpM6&ytK<67{pzxd39&K|CUYd<5oP?V|u z3{4pMU6Za-s(H$KY3VuRuH}JKBo~iGU{zCfW^LY9Zj3TR&k7f(U$f$2s|@6u&?z$~ z;QPT=H{MJ5dk%L!KE+0R5QMN#A=iJoaeK|y9qZ?zyWe-Lv~ap`i-?Wa`cyYVUMc-k;Y}-aghB7QlsSJWcphA8CVxw)^hj^!w5D zfFF@ztCD#8N7f2@_&+1X{@ngY5~I~M>*MR(b`K7;(~pFx%s2Sm@;Nr}5R~itd31+A zkPdraW}xXr)T7vlH5J{*cCRXh^Ko%W&7O#EBJY?*3ITCfbb4mFb+FgBk7#h<3*_wF z?qMf?{N*wOw9!7kF{)aOmp0??*rsIIF=rf?3Wps;-sTs-saoiG z5IhtVjy&HUq17q&moQh7#vAR@954k<*D+{xuf15@`|6>rf{u>MntQ+7Z|rf*G7wno zQS6Y%Zc0@OzvJ?~@|Di4w@Ah}5}j}o6{1Y#Uoeq2E=wueE*8k8X{<7ym)!n0U_D`Z z@L_F1;fo!O*AJgRP+y|S?_zz;*0ABjf>ER45Gpd;8}&?E(Qf>tEv2gwMHaP?s{MQ6 z4Vr214;Ra5KD$|RDl8|U6n=|-bp2hSRf{?vrHU2^OUQ_dTd` zp}iXRYKzcn*S^hO5|2U5KG&@>6ZZ)|-+GjM52Af+GAI!CbdyYRM<7FPjlk!?(H+&RZRFe~VCVqMOw?Sq!O z(_F@FMzp z7wJR>d=TzXMJO*|#5KQj-B8w5|2-ol34l~9pUe=1hlf>?C)^DjWw{L*#K(uP-o0ky zX3%&C+aYv&1TX825xmUYl{T~=Ry>rvl+ncJ)`L}TC}h8GQ-d#Du`4Nit>yAC;aNX( zfQ{6oBx$skw)@_p-e~DlEMk9_Kse|Hf=5u}q=)@lH{iF^B;v>J`5^nJ-D>Iaq(M0D z;1Ba0u#Jx7^PB$~;+K^WiJB42#OG+E|GR{buvz;|1L%aU##e2jI~b}4JPEXypI zNPonh&2Moa%X=rJ;~cP078i6%Gta!G7nGm8!S*HDs(am`4ptu>ID6QKQ|dA%wjP22 zi`|bRXXTX(x+7^i80H(g8DN%5ry+S}Hb%v&<#=EVV91R)-W5-^eSq8$b=Iqaw!br6 zTPpv-jkg}}$H3Jj^kUjTIFtwBN$1&Q&p}fNhr#^{(UF|3uI!+r(-%1Uv~K*^m6p8F zwU;fqpg$NWRlVucueH{hRWP#*n&-fl?^JqfrkAP7Y_&ZmW@g&Qyl}7k3w2;f*+I#^ zRs`d4DfD>-=l-mLZq?Wobs?PZ8ID#3PP7KI$|436-oYQ@dcOL8!a}yWRj*be2%#-I zX<9u=Yqrp}x8%*2HZ|w!mS6iJ_~XsPn^+?q4XFzF=P~{K+gBDLk=}QiRe? zc0pzsY(lel5$u&>Sd7r7MRb#Oua?-2$iT@@o|rjK7SzCk2edcX_Zg z_OQI%XQVf8<&`;djz^fzkjlEgA#D=5`pCq3IVpog*P7G9tul$dgy-lxI~5hvwR@PP z`N)xien{~wSVYFpX(OJ5^Sy2_k_Q$kz-w%Iqf;_z&YY`Xn1g|65Z;M=qdT265jd}F zfEqK$IOytOM$^`Bf`w-GI$;~63UW#w;*uJ*1TN*V%!K5v$_1HBU3T!C;kMTeZ{;6S|ijTURL+Y|7_636mu&lHHfaKVU~|b_Z0u(u)wRo9vV7-(VNHZTp>o%yCwABG`3 zZse809jAq8ISrQtyN{R~XrL=4%IR?=l)Sl$ufu7lm#i||4;$i(P77V;g-GacF|3cU zAggKwUGVAV3+UA6tA5Zkje{R(H(R8gd-ptgkJK$1`(1NBiuN@9?A$IkP&T8vCc^qw zff%8IYvIT1>_hvnXj22v$FsdjBUL0_AG)A}h`=!W53(wFFi&1^%;9}Bo3GTq3+m9G zWVzm4u;GS&^Ag=e=<%nZ9_I%Tu4Qbqr-6X_jsM}hZN?hU8*OT z52;({2w>M3f4$G=;(DCQm__utz%+tq^;i$qcm$IIUqt(wsHJMagkEXT!pr`>7qMU zl44~~-a_fAd!=T_SShxq1>UJKKRy{VWsmPGK;Kx4%yvk=WQ)HugvyxNtpk+6qFvIPTAdh4tXw7^ZY&fZe&G21716bFQE=7>71a5D!Vk1o0}a3 z9Mm+u>3?mkzkt3kdH{P!9+j#M#dRoUF`RTdyC=5d97Jw9>AkOB(lzj=6MsBw_64-6 zPx-ehXOb;VQ;&?p>$F2lLruj!mgh0hAam+D!3Nv4q|sfj0}xR%ANV9$F-$3JiviwaGcHJNF*e!bpES{_ zm3#QT-GZwAdT;O?nO#{u;3a>Ut-#r4>>5jfzRv{!(`krtl@sioaNt?0w<^3WFboRa z3)w3dzYt!2`?tT+!nFCB@kbjF9NGPR!IkbSCm0%1zlYj+b1mSubjU91OOU1-|Bk$@ zV9yq$px)w1Rj0NLZtmdXeImy15opC20%mU z9|oW!eD9#qf%ST6i~Pz^VB(02gK_Mq6rXHI&;s;Im-&x1t&5oS6VHu!b0a^?R$lO{ za4M~KNm0bphCASmMlt;;uD7de$t6MK`PhRMcJ3&}92jvz;YSUB=x+*lDPNC_U$XAtd1$vNLoPkcaY?O3S1Mhe51 z^LO9#Uh@p;Pn#a>DWuCMmZpvkFhGO+evMvzUGkh@M$#?bhlf5h>sfU(ik$UjY|!7m z!o>t?^#N7^rEghq&WeV=K|Qvf^ut`R4d;H4K_B)1TM_cV+XB%@Tyc577~eCfc6dNQ z(!AMQYMV*b)i_AH^9N%7wDOLBJ-(BJ2P$L?=rrNJcN~~pwMmN~@IpwWT^~)c$=u`a zttp0a%yG9sm}L*+G+P0O4d38Bi;eM_2IeEy_#*ABy^?9Ss@LFaYV@KEg!j4K-iTu7 zG>Q@!t46&ILM0O_@R+Z*G{FfuWQs< zk~*dwh1J^A^|cSQ3%S>LlbL!ieC&o~3?f2z{535{0};Dau)K)ZiJ43POelr#&5^mD zE^B(2#hxdXtnJb7|AmIiRr`O-KGdKfnW)h!(!R#`7;>Z27cKz3%r%d5Ow%IEw~lOB zqomd8H=T3ptX=Mn#-^k176s>CJhGtTBvunyohHiWxiU6}&vLtfJ6OOvtnFbp^VMx^ z!0EPMlZoY(%SwJFO_pQNTu7`ESYWlO)8~9|<|8+DO`n3_Bafu*En3isWr!mEWc_A~kCnkYCW%W;~P?vv|5%Kyi=dRL0@5LT$J}#2h^AJ;nZsngSmwUlg+`YmwENzsmJjZi64i81oCzEa!!1^y^VKX{x~iute^14wz@&3I-v^a0 zDxu>?fhMQH&0+QKZ0hKyKZ%+F&md>Xruqg|W5K~(__u_;!bAmS%KTSXhHU={oNKD6 zg9XR}5qzlafq6^2NS(MSZg40NsG%~hXuv<^!-_;FJ&y{I-x&;>1Rny=sjbBf_Yhi+ z1kFR4U&wGriR9_i)TQck9f26KQ>3_Ezh+f!U+ISPF}`@rxDL6Ud6lCB!g!CS+yyT@ zXKGg=Rr$F zHB=gGRJ6m&Wr;h;OUOvPP?XE=NmcpU4Og^bMo-d6Wt?o#)i{>$8zaP$h%-WGbSTu|m_iUm1YH#>XyP^eq{GU+Nx9>-881`vE%; zA3%5*ocLN^X7k0n)$jdk^%JS`qp}qxsJ=os_WO5L2j@+M>kCN>}Z$KwN!qamV|*DM2V1hPjO+L(2Rk8Ot(LJ0~?7Hb@&yT0$DF& z^kr^Dyz(|<-hW+M8$Qv%(k#?WyUQtTsY3b%kDV*!e5B>vr#cT2m{%priS4JzF`=e? zGg9SCyU=SYE*Yz|iet|Q43T6znJT3vsI|{nHzzZ0NyzF7p$GtEm^+!s;+2)f2=H&lQ&+n#iTB?mm!6wqbV=v zspI3I-jGwo*>Nc?ckOr= zOK&`+QFk^7v&2y0^()TjS!g{XNXh-@yL@TZA2$uXJ9T`A)!p6v?sx9sQ4ef<8KnM# zV|+|Y@((qD3m*nxmqjdPkS==|W9M8(G8bGj6;Cwv{>^PT#AB1HF69%7W4yX|wJ-Am zF#CxY&7sqd5u@U!q&=TBT@O|jAIV}!mcM@ieO^0R!>8r4?bxY=(1lTM-MaevP;+Kq zv>CfD1o5M&_YZ(ib^Xwmxc+YzKvNKo`Y#-RgC7GaC8Q(D^;v*)w!sORq+vhi(aXz} zawbPsZeQD54GF%$934|)ZAHEI3c71&Fsez8aghX;ZgnGsbC!*8f{=p|+3F-2$^`-`7r=L09mEJJ2aPe>;hw0;w^Y0&vC zkCgTVBVvJhYYH+C)S(fYP+kVqG`wQ`ha0+>NCKo})86wh-uS9q8K%y&QF5RNgQTdmZDF{hi@{<#W?fm6j&D;7j!@xCORniccF6Wa7|h-QOI zc%LndQ|yF9i)AP&b`Q?z1SED+qs$A}9^?Cz2v~R}c(Lpj#R}ok9@BWO_CbG?#b)u4 zONn36C}|FGto;sYQk*{TmaN?$G zvwQ zRkLM$phRhFhpUy1lh<1|QU^6u!rPL@)+cK6)dVE#)^6A?Ja{8-!1(hHhOze{d4@nBb@{&2eLQk< zBiGmQ1(@KT)8#xqyY!K?1$f}**{;HGfeMgI|;9Q8YSKCz3@>n8Y740O@ABUK@ zZKw}z=MyBs2P5MpF;?rVij&%x{`mJoY%#D>+Y0TMNw^E7oux~F5 zvF?)LQ0yUkoUIGwmUMCRWHs8Z59tECX!}YboPLGzx~1AZMeh^3yf5f3!>O%M%>?m8 zyMh`Eg)K?O!j{2)uw&}Q3~NKsEb|OlrWac{zB+xj(*?!}jJNGh_ZSi_seMpC03S>x zt)!!A3G_9cdZSyXZ%G=+&;)e)nnJC=1te1R6ov!>?<6lkq!NZ$Sz`mB^K((B4QkGm z>4Xo$`XXz3Nlp>fW9v8FJO=dNN}xztIHN;}2B^zNH1qVp^>81I6=brDBDIgUcj7|DvmhBPN(N{LG8Btw7?B z#j9Y9ZArTE>K7m>DSgY9@wi)U)5A*)Qaj@#acCVz^U9U9>fb$=CKReTN*hiq_j&G5 zAKtEV7QlQsyT1;bk)+5MpFlNc3xm&0wc-W*IOk?q6z0yU687v?Df2LPJ0OTAmQCE9 z)(sIqxys@e+DvHHua}Mz8vHFVORY^y>2i0H+4F3v-o2tqy5_URTJS*we!5#*-^LS( zyF-)PM~AK2L~uC4bTy^h-CI6sW7Ks&tIf91(&rUdx?#z)8#R^MAD6cI9}$i~KJS}@ zpIg(F!J0l_ALI-6`?4%tt)vriSg|f7ne$_a)xzCcmcr@ap$@nwJw8#ZD9pu<8c(Bh z)Z|S1nP-slPU9WMAJDb4t#%n5IE*?hH|`kLfdan!gxMzZW9Rq$_X6%D>D`P!Qz8y+ z>9(c4CVTF|ogWi@&TMS8Y+u4b$6k3nHhG9__d<}*Xbd%tdl`a?OIu_} zX=-yku-k?PB0wv7`-7rA}VodjP>Wv|V(`zCmR}cqSgYs<7 zyDaHV=VQ0Cu{p7>i!U~_7eGUQDJ6sJi#XNs9>$#2pueZ1n^4f3Q1U6P+udB6C1nym zpb_%H`qxh>A#v2M-lJVx5~-S9>nXCUw!%zm!jr_G|t#q{Ux(% zK2o!CMG|TnyM1SbHoS4uBM)ti+!!ulKS$FZYlrBlw`gZyA=Z*dF%D|UDkh7n-LD58 z1s3;(*S=~G)%i?wQN^aUWZtCVHA5zLW;80W>7wkBM{$=39<$Pg<*rz%m52LSk}l9% z*@05Gm6Qe2scr(rxyfAXSi8f~hf8<9t96RB<)TaE#jV}ZeCg(ful+Iby>SeAey{>m zv*`Oe@GeA%m^Tg{A*K4c-*pLiNABAi5!JSH2}WuArYSj~gHOyA*LG0Ux?IfIXwOk=@qPb;Q{e1Sosbykq@pY19g2LNs_-T?bIb$dlYWboPyppKk9J_k7 zGX_)6I4uzL1|}S}tdH8EG)fAMDH)*}Ht~j2FV=+xq)7Zi4b#WCP*Ty?$Gxla1M*%v za{HUI1jp|4G{PEXTI)J#*8ui{6#E|tFi6)zX3qQg+L~1Jl8uWv)4U&e>#4FYiZ--Md-;E|nWsv8XXNAll>YHI+EzmILp(2dNh^i3 zCa2VnoO>kQx`=dXC-a>XShZm~>+DtqV;-P~Fq;8%CPAKK+wSuoUX8;+l%9?KrI&kW zUx2;vMB-KpN&~1bK)rYfAclmAdOw)T;%V1vcr$T7_*S6Sz0fDDZtb;5YR*QR7c2|U zx18&Nn!#)j=khhHg_#v@{7E)Hw8ojX?0E+uNcT!|-!rS>GwfnkdYVi{$W;N~&UWgg zfip!7c-xhA$=$f?(>B%%(t}5e5fO}8tT*KC^rGf0@=(; z2`Z-?7tZ|IfHGxfBo1zAK>F|7!oT{U@HRiVuZiRTlQKmO?i3gkK*{jDc=zRen|XP_ zGHkq`Ol5(R?~X_fA~}Q(2B9!_m!4m>=~W&DZ`pJciIUF%T28n!0r@ifA;ItRtAM^d zX?pQyxp0(6OaQQo{#tpmg7bo&zswm)4+hHrCh*dR$^Uew{mWvls1Z}n!(*9jjAvxF zWhy-up>XXjHaDI@kEi$tb!*G)X38-}w{pzv#`*%}TlzFvFWhnP{5EC^tpMg@J4otO z)xh5Z1{d?ZJtaMU(Vl-GozGJ%t5=^b-to49@ zYbP)xF#5U%K3@qJ@@gG7X6Cn+GNDmeE4O5BB;AsDqM-c@VuZN5_B8at5r*LP&p%$@ znA~EI`wmy>w>_F7Wzrud@u( zd3DefcW!>>2DGls1gO(wm!R&=_fU-OA7r;*nYvs0WDaZ92AsT&&v`3 zy&t+m@^-v@wym?~_o^t552wrBheS}{@O`gs7&?8eM&Gx4B=>`14uf zr3XGn3G+{GeC2CBV+InXd+UZ~RO=wXZCV!zn=Bnit2`9KZtoBsSX@V-Q^hllhq*4; zxXw6TY|NDxIiZz>xI5*Utwf>QQkR&e&1V;4dgH%#0|t58fQF1nqW+L&CZL*fKnt4X z(h^A@$ww#CWcl9c=U=-bMQC)?H=&SIRrqvv66oY?)&L(dU~pIQ?3KV??nru{ZjAWlZ#G|(%Ze;V}SijK&v2p3mSGVm(1 zgx6~LVw%hdIYpj*kR)_OxP9~DOWgEw$Eon8>U2hc59fVFEj8W$m(e^UW@;SJMbw}` zG!*~NV5yH|SB#>Yf`hl0(45f6JLADb)VHw;G0olR0rf!f&>qGyF0S!58Ih zcWqEmIKI=C8pjNx)@4=^U6ue*K49dDZpM2?L}?Uxs2jfpOD2@C6RF=adf{L#M%tj) zlMtlLG?bjSS+$UvICUj^1H5hfC)+Uf~uHJx}9ar)#|o9|())V{&er^3O=v-huu?%9;ABIxa8Bafir~MJ_?F1fxA*BfR-TEi{N8dN2F`}3L=Enxx1F; zjI|BZv!!pLWdwkE-|;Z%PMJjxQPtsc`0FDds`oA z3>gTf!GG-^I?<7ak5ec6Xpp~bJk9DTfjth2)zXfSy8Z>w$0heHPH}N*d`pXNaz5PG zi=@oE1e}FLs!81K3vc}(93>Mxkb9gCG%3S=koAofEIXcpY+Ik-sEHL}L`*)$p zW*k#=LnGJ)l&@Sze6JDF& zu)%DxYhT*Z{UTVQ8zQL4{L-vObx1P3Cca;6Lsrll`8o?XwB~o-`r`=5qc_jp_HLdg zUQ-WCB&vFlKg-vh`_av+H}o{R=@-K{qV54Fs_NUULUJbQfh9aA6ts1{GzL?cTiaq1 zeVt52=Y_Z;?Y}VMVQv&<_E%2?7|9%5DBYw$(N!gWK1VeTFF9*nd&BVI_)?rG4EFul zcNrR6@LPefdo3R1ZV;eSmvy+@t;{nUC445%t$s`|-c{gsE~)RYn%`}&X0;RS z(>X%E5QyGn{6q9PFAc2?LPy%}K?^V9&UcSn-~}9;^*uh18|d!!zBSdgbChX*TYQPu z?kC8HmiIC=YLdYqd$C6Q1FyvDT=n{${l1pau0EH%wszCfd)MviaxD?QzN8~Xj~PYZ z)z9UNh7NU!{lQxDli5;%e5^Q?B(HjR2LRKCW~Hq-{@REW|2E^`mJ zcp_kM4eeU$UiX(9TJ(oci{)~e@DGsoz5SQ&h;jPKj_o5o{K5BJlN|N5oDJ>N9$EIM4~0{Z_;e z=NkU*PFvrjxLxJHCtQ4q``+ONpRURScJ2ud3wImSGPqp**1sO(v$|YBIsx|_5^qZI z&5#?U$B{irv{#e<#}_lJiUG3174=<5$?N5UecKK#CxGL_I<>hymkF$UU6!&)RQoUa zdD{4167-{D<6Eh$n((1((t|z*kV=a3p_G#7IT@+|}u_A0U+1rMUH8L7|t-KBnYS|N;0XQl{qRgAmW&en4-HwFp! z2dH?>t(T)UUcCY!%fylW{_KbzK%@$L68bi8C$NLUtl{&`SzK?Pbc75{Q=NQPw8*t@ z3a;(mpOT)oWLm?A%ep5%!N8XfOvd4wbj=4oE{>mcBz21VNIXm!HFk-=8I{Z;xt(){pP zLOOTdWqpIg4JKL1Jfer5^>}F}B-V^*y+yFfj%^)26Vy+rc1o?HWSc2*y`nHSkFA#< z?y8V+Na-pRei8+X1VAL}Qt-z*+FM!2AWFV_t_WTlUfnBUIbwH7Y`E(}xt(Nu5_j6ps z62V@)jlUGn!q(fu@5j z*@I~E42r4kjeEYa-|%^zhVQkf4x`rP$Z6E2#MuJ-$m`^?jzjyHWt{X+${C%Qr>fqE z@V*V&aXfzVKy>VMj5e!m6lJt>lJB;GNYo#!l!#`Pv8RwcTyZyfMaSiN46hSpAb*io z@$UbO?3GGpt+0%c0+9=1W_xk)nsWM28%?WFhXp*!J6Rk=qVOTB$U9+U|@KPJ@$AVh4?N{Qi z9_CXC5mRLneVVIe?9w!z_7xC#Nc)>z*Pm-3cju|yX6HI&_WAE#Y2?6=S3u9N$JD3h zhll-d-$`H2qBJNVYQcGq&eAVy(iR48qeR_?$(`xOd+42>0~kWV*2g8;(o z0DaUgrAM6;M6k9`?mBMsw@8z#SoiyGgua3@Ul+0U+N?vxOQcWnb4{Glmhrj|GKSFi zvYRLI_@LL#lkWih35Mg0_pBSxi7!i6v$H2fB%6TEFw*^*V3PlF!_m?+Gj`q& zN0cD_bVS!S?)&?WXbzXZKNm*yAfc+_Y(f>tY8tQDnqyiM8eEXayXXaU8 zNqk9nDfG9^955EnUa^l+8SmXj;J>>)#49{VJlOBM{iwz?V<3(Xu)-h_pwfY^^c|ge zamdip^GU?#U-}FilH%I+lYeHR6t~Ow4KL41QR5y0jh|XRp7}t#vvT-DD};Cm=)=bQ zkPUyr0s0FXYO}u)F;6jqssx!1az4<%a!i(t#2@e8jW`FhsWe8*o}z)#=O%&G)u6_I zF#dRzv*(*(q94t7(bzLFqEW%swvYRs@=IHuEY*+RB3$%1{Ac|~hrh3DK03BIa^*(y z>f7K#x*0-2EOTQU)-4%DA?4%p(GCK$u%{lnehz+iXue5C>XPjT8FKTJP+YJphF)4* zu${U&Q(c?QnF%~q19mpsCu_ode^y97dH$?`V*_$oJ>lJsVJ8nH{M+w7it<@p4^ORl zg(9nwGPsX~;bok{)Rvg@%mnBPVPE$JOr+0=`?+G4D?)dj@?OAE+%xsLgK%x$yJ#|q1;Xz;_25AYNtgrg#ZZR64L-TJ-u%a*wj zN+82m^Of!?@XUe{Hzfg7`|kOMPtHl*AqS?9u!l+!dbR)f*l7veIl#wg5BNCt?SAJ3 zE&jMup^o>3zW=P{jpPNQ_|%(b?yckO#9x8IGha4yVL%XG5#3(kDTyn>mXe)yqGkh5A<%Le!y zJrZz?fu+fQw)Z31y=Z`{q2Y%<{0#^2z@F4a3Lmfl)>Es&^w^0Wbtl&Aa zkDkX__N*Kt0a0Lr4>(uVhMyCho>Ajh6@_nF2A@a`;`JE@(f2VO5BjIKHGFHd1iY;& ztZ+0(_e}8s#RB04sk`!>g%$QEI*$d(@rI8Bst0*=+2uY}7FEs^4+iV}HIgC&{e`J) z6u#xNi&6@+i}0ghAGu6@G^#Y_xtdb2n*C>vsvy)L0$3hYS9NsL=}#)W{tqLfe#uOe zR^*o!&b%0YNAURQ&(wF|$f5L|>5(fP6qFBG`Ct`C%!8y9(;^Kj!nfAtYgKYi%^*eB zNuL~e7Lx{Cx6(iUIN^|%t+!|-o=vo@CqsfexU_|yI(VZW>$aVK<8?cNTtblr zJYeE$<{F_}__(3;70%wd`tw)#j|b06PSk``tV=N|MtD-5^>$(b>rj6=qA~I zJC=V&V&t|&RGnnXT}XhApzeXksC|Uw@8EJyFh${xx!>P;XtJXN&nXG9V+Za(dkTIlZ6uqKRIF zfytMd$NQoU?^V@4mz4XMaE-K^ZdiSU z<%_!)9(%@dG)Y5zu|04n=#`)+aJus9$=|p2ADIjOW=Ee7IZCq4>yU~(rdHLMr>!JW zOD)gP$cLFo#bdgGq32HD1U!;-TYT2hp~{6?lBUr|b!)MVZR`^r-XI_W7I?)TfT3YR zrKYZcYp&=Uimzz>psMwb{io*Jpr;J^Ype67TwEjb`>3=#sh#lbCo0{Vrc{1ltet0U zpW>)U8K+~+am$BhOIWS_5>i5lxw_R-tQ3i&IR4`(i@1xdV5jKXkFx4W^z}2*P4i!% zYo}&SSy>VEUxMP-=jQ@$dMuJIs{`rBYTqUGIQ({hjBf*{7RRun@TmXpmP@B4f0SC` z4uUUl1Eto1yL3hR&_w=N+;9wgD)uZn6gi7|6ToDi3ZNtr zp$8@_rKaiI&fQ|)UHV1SM6C&xpbrN~MFWlNa&AI=b>6sa*npbzXa;R1nx+_hK764q z4%;uKEcEm!W21GDx#|p&X2QUcSIrK!MYZ@%)V;0x^^bw3R}bd`zGRRJLT9un_6&gE zn|=d|Qw(qaS<)S{o=60b7$?XMhf`ptx7qfw9{bJv?Ixi7^wcfmZ$u{VcI?D^J!rlwzkeO$65QHX9uX0=MLfR6C^UtYYMyYI!|1o&~Q`fIiN zU+-M&^88r?c0|;^Ch!>Ml{~Qp4u?^bUpUQmUhgBn^g}If4m6^AKevxujbHZ0oq#o}jvNDNrj2Fi+x_GS{P)PpA(cg9Gar3moQ_ z2}R*}fAH#eK3cP! z2r&(%KC#+_-KvFCfhgDhr<w6O}3wc6xK#*Mqw zz#vS!JCLAbt%L<8RQNnE%bqBWJ`Ruq{<4Dpia!vrdGvqKA{*pWK>>4fKWLSp&-+N& zKu%FA$@M1^o&$BfjqlE+WUvM~`9o*p#hP3?jCZ#>W*-#BlZ$7ISz>n>-5*@u&{>bs z#LRtxEzAbCPqdh@eiAKIIYBy!37YB`5l9m`GzMF{BQQ`Ywcq?q$ZN1qDPUxGuyytd zP2_w|{0Bvv??AO}%T zUv$z4-9MA?}Lqh!-gN1Py-Ft6jhH#j-`BG`Yt3B4R6fh~q?F}v(pF2FKfG)yzhvx0d8_hrEK{`&5#4l6iU`@~ z`-b)pxx*CwwqPHB(`PfajPwin^q~#uOTtBA^8iQlj}#Hn<#<%LSB&AG%kmS*EjPV( zDt59#OBRg0b>Z{dU>T~re{>|qc(Z-o0)w8-oDHOqyDJy(_eclAfCiZ1j6cbBi)ZSH z4}Pw1uW*z?z5=%mo>qOpRMW6?3`0Ke=*>IuZ|t0w6#sZ%r3kkb_hDz3_>5t$DG4MP zgHAUVsQ-1Hb{R?@S~f;i{T^27y@DT57znw?Nxd7488E~`9b9yY`5kfQePrXu&xz-p z=?HQi;+SCZz7&M}|4A0D@OPr|BEh$Nq5^X9TrQI}2e^U^_7iRVn!VnGp2g6QY*tyw z(I>S#wmz)wclw>m%$&TS^};2O>1l|NLlruhUOepz-g_1_8n0poo+-VfGBEH;Ta(7V zWLA%XxZ%0E#(Mx@&a`EG{mCU+gX_=*XspOe_Of+?l0Y%*0yp*4IASG@ai=9AlB$(j z!8uK*(u#{*u_dcUBqJv|2=vzJzY(@*={ z>0fmpvCh|>=3dS^Tj_1eEl~r>0gRi@^MVCqE|DgoL8zwSd5l}0($kCDksRk8wQCpj ztF(Okg2>hDR`Ib2(a);{o%Rh>MvT~gIVXzMOj zf<2=Q_!h(bgJ-upfYB1ZE5Cbew zyP-)C(Nu8r%nRQ`jy*?K#Xrl^j=VebSV?J}b|mK~y&Jr07XBIt2}*-YVu2%gL(u!M zh9g)1_N_+MKU376j**x%{#5D5%rRX6M^uADd(&@Br(JUToo#~ahUXGZ{U-VcEg^Z+ zwd4S+{m416k&CvTSSn{^SE@UaMcoR^p%*x#Fw>jBd@?0mp#L9ZZypb2+rN*?8kI_QlWY}fpCqyl zQXyNBWE~|*wisg{Yn$6ziY$Y&W#7j>h>R#pmciJ!!5D)vgJJlcqx*S2%j^4mUcbM1 z&2r6oo!5E3&-Zd1$2)l>qSX{%(tvF&B66?mO+Ja(M>HJVPDi0mcWo}3OBds4g=;dRWaX?NNx&}>Mph8I0g)4D_@IIMby z5*b8l{lcGroS(vmdiq>3tA!LP*OW7DP>g%4=gU%}%jKC%}E4!jdBGrY+zfwcq zuM{>lB=ehL-ZLT-LGIg~nVz;BYTaj#*|dR)my{FByj>7%A^$c-U3;dOVZ3F^o8XhD z7qxi>VrV*7@Qa!98vUv_W)OpQbIw;VNyEswJjVh^R?V>|;ScfVFwT|FG8vs5 zo$iPCs}=qgdZ{2^eQnul({)t}WZ6=HgTYdr8~Ci68CcGNxL?$^GN)z|1u9$tnY$S` zmXv>2Y=FgM3HTT7Z`XP~G>87~+_hehRrHqMEoeORD~mMfncVy;U;D-+a^5?HsoQ`F z*>yv-{R}2vfXdEQmn%>^j0pJ%!7cLHcHP1t_{hRiOVj6tZrE#yRYlge>&IhVsS=M? z4s_b>l#&&2U7IV}f1>+`xpfY9&-N=`+Z^sx&?CbM-jr9?8<)MEp+1CL_6ah4Z=7IT zm6jc&8@%Bge3#5@ukEDTgK;mVqY~tD)xMl?h)a>;NIKscLps{?!(s#=0#2ppzhhZU z!dwd;y2)zxr*sO5yu?wG`lH!(ty%C^^>VH>8Suhpg#IIs60UX`(A4d}(G&tO0bz3Uq404JhvA5JVjVEDB zgNL+ut^q960Ws{6R{^Wq98-wSY`Qq|-LmdZoo+*UX~M|z*#?Jen5);jJ9_1Xy+^Lw zA8OBh){$jqYny-Y-sI(lc*o}Sn@rJ~(dK`)ry_fI2cN@q{m&tiOyJbN3!tA4j2xDe zaOq$DCABuq^wcA(EFklXjM?>!9j?iN^Vsr{18)Z@v|pQM2=^KKE>0<66Cl|%3ne|) z2xB@yv>bMHxYYwz^c&11hzlGx?$9=WG=SV#n8#VGc8W`NyIOe|g1g3NGGX&PVPS#1 z;vr*G7=yIU2EU>@217aBgYo6?NES_@D$x_b(E#fMWi zlm1=CQB`D?al}T2)z5OZpU+d@ZxLNt z((%MHUyTW|8FVqJva3wSZ5ZThd=Z(zYd+520Om>VWz)FN!x614ze`L+kigCVi<6is z!Am=R?alUHkL_n&Zta1Qdl4I>!dIM}g}pD@Y()yfroxK+(fk7H)aCq=X>03WWn%7I z_o}wvnicJ&`hi~-8B1(ZW35Fc=fLC@?<%EYP>748id|0EqBbs00oo+xN@b^8p9OYjxbnjOzxOY_^e$?xrLzDcA%Y~# z*W@4XARo>8Z;o3{MA5JK{bJ70SD+GPw~@rMd8zK)+m&Etf0(Z&&y``tl05p&`-J|Jj@h@-iURSnfzc0{|&HaJD&$W{w;IHxJwf!HI#GWULL&X3iu`dEeQ z6n6?Wp0Ua&nhbz+@&WVUHF4eqkA$>Z*Gq33ywj6@O#)wWOe>Lr?a~&rV9h!jH7AyR zOw%hc(IZJnl*2k4{4(LpI(+^`ZlHTk%{^R(^0C=FD(MdN9nvMq{c}!q%_T2fKMqc8 zQp3dtPoyVXqPmNmzKEs$npYZreSOW{zgAfCOw}bRg=FRD(D> zN8aeLR>@z9PRTp5UxxMjk`kowVj`fs>57for@DJjT%l5!`=qwg0%G{W`^H44@TRv@ zqFh*BUb37f%3BG2z;-`s@>|o%S%SsuAf&U>>s9y^GhFIeiUN5iRf#JfQnKJ0=;IH+ z6SSfPxaRXz6~C7747L`;hjF=7A9?dUV!<7{?fx;qZNANsUP(7fXbCJLgEOt4nWDNH z4>WB6(Y;1$o$#Hs!O&Uo-hbS){Lv}6U33$Aqw0hL$k~nsgB_Y?We`;Hjos?pS;Ofz z;X$EJBf@-j`69FQQur~b?19PMOen$q9UXDyguNs$YT1aALCED5GYl{fS4R6R3^%Ev ztO??u^i`rDYW_4?2~GF>TB%tEt>$a(y6O38MG)te&r~(xp5}_@9_;VF^W~F?MjlZ(KlJ?H#16Xk ziy50c-Xj@f*Qqw~SfaW98Zz4 zraVC8?XjT5@jL6xn~?hftmWo`sxSO|`x=rRjQ2b($;IH!aPnM{5-iav&yScd?khI9 z`<3l0(q&8Rz{CHJUzi|6`vi#uGgm=M%=z`L;G|k!b!k z=`KpaTJ>)Jc=V_6+U@)jFW~|CJNB}jqf5-0c=6s=Q>Z530`CpPQaW2Pt5 z!!T#j>N62q+}0m;%IJ!s9@k#z!%O=T=FcF6 z(-+E+GS4qx&ADDqw7ICMlPGnQQmp9mX_K!VQR-)qDH7?}cwC)OVU24#OhW~JblS;J zJGngb**K%6UxTS=Re_cF7gFXjIiuMwzHY*%$-T8I{6J-Cfg}B19PbxXeCi%=M~{gp zR)yXNWvIwH3yImp8U5{bG}vQruX7HNe}Yu-=c;`oJ@UtOg%+ytD_s;In;=~+Qmx6T z+F{dDkH=Q%XGP3Ro>9rzBI<^U_=5#3$pmQP6-yN;nwe+QM13csXs!R1+QHLCpSgjIV^ejQzEDx&0v{}wP;i4!%THq*xW9SkD? z(CC>5=zmaE{8y1i9w^wHZBZ8W+R*X;w0Ue>bNyKJ71!Di*0hN4@&)v-eMr$C*(whn zEJTafFE~CQtX5=?!;GL*ppPkPt!r zjiAb3a=F6Xpbl3byH@BS6cb?7>b7)@t1xH1;;49nmG^v?R$)lD7(a zY{-4)yXdI6#07fIyX8R!6^*y_VCbc=t}4u}HWwd5#o{L4&tPgw4!1k+3Lq3JFofU8 zcbfZAZ=xH=h*PTNaLb?avVx6^O=`akuRxa9-Nu~oFPb~$FY5@2h$zKM#j)QH3Epb= zf`2LN`^;CNYjLM4#taUSFiQuNwkWAn=iff{o_Z_Z06`AT- z7{}V?%OxkJW_IV=oj9J~tJ@%m;o%gGmRm=Bg5WT^Ai8B3oBedILqum3dgR=M8 zn7mie%l|o!2`^=FK)sVoa~4k;b$nQd>gT2z-i2ZC^?s9X%-Md=hVVsTKIkGZki#@h zqL!Fn_yol8dOQ|&Z-|jKe|oH!P_?`6d~q2>`P;Q^wSK6Xd^d_HgtavDmx9S+QD+{5 z3NBa3EOHI>6}|7Z{*r$*E)vO!DiJX(=5_XClDr#a;Y6!iYL2=O;G~JvZ5T=HZeOc% zI3L%$=r>f{JBQ*ZAcJ-O;aZ2ug09d_YR)~n`R-@NqA0t6Szv$tr>YMahMV%Oi72Ri zmM;#R%^+%n>rGgxJV4m;b?OLBRg2w0`aU@i-dM^4GkX6;GGAax5E5h0yn%H$K*OBc z*S~sQwS#=tVKiL8%eX;XXx>A9wffi}Ov7O5=LJLJjtoAIDR%q)i>4X4ELKOE&9K&8|6GvLla@a z&w(~j^;gnweSkSdVbV?g+6mez+txfo@OqJ6c|1z)lR`E{*T+Ei!!_mzg#lz=f;%_1 zULMc6GP89j^KxxPu%U5w{O=FOVsZkd3pj|S#DO!f6|I|{OFbP)&;NVY1GTF4)0lK+y|DM z)Ou}MowPXb3;;kH=hSdhLxJ=_g528|P{axMKVMC38o%IqGfH=isY3}wc0TWFl(Crq z2T%+6IhIbugNdj*ys8w;0GL5QkwL}DE$l3UiaPL%#!vHcZ8|l1n{QYAwx>=%U-@n~ zzjYcG^%NuIWXyabENBsG&K)P!q#*jrFehJ&J~kF+|Nbh2)Y-P|!^f3nC=5fXbc%ov z2IL*wFiLOByK{a!i;s)JVduWd0#-fp`(Qa&Df7Vb<%-l75|_h~1!k=ndjgeqr|<;^ z$WKmHSdirw7)BC4TY#gwTc->dhSDQbNAr!3<*JCe9O^B&JqO>#)di^k|I$~au7;@7 z?@R0)Nif&w07pJcAwq9rX_7%l`%OK6jCo1Aa(&ON?}zy|ao(qk*U0Ay#WK*iF+|D+IseQSA7u@!fWFB-*^{jy`M~{tJ&_X$JGje*!RfmY; zaQ2t#j6Hu?V76_ssli$Qeb9d;0Rj##ZG;3vM-=Nmig|8^-u9X__MaLK-MU<_33KPc zw|QcjOB_5yKclSe-Y;k6oKa+srP_MTJ-ywqREV+!>bOLW@0x{+981M2bgFPBgr4}^ zCj|m*$vFqeAFo>*XwSY?i74~Ks)ex=S4!kN#Krg?LTt2sP?RZ)fOH+M<$JKFK1aC5 z(XqRXsWFMf%?R~i_VzPlu{VPP1i&CXPaf14G9|No8r@_*>ZK`>WDv`M*Z+uO{#(fz z`4E_zcVD-8gJUVjnwg&vasmE|ihCJPp~}VCKG6gAP`$F8<-@sxA&q-xQoVCj!XlZ^ zX6Zh7>;TDeKM*F#{Y=4?_eQvLhsZAL4GxG4njRCi0g8THW3E0vb(SlrEjOJ>MNzaz znq$By&pKW!U@iacaPmbGV&wa$(U7x*JhJ8#)V!C!Hyr7I%gyo%?c5=NK%Yvq6Dgp4 za`oq=zi%$0>{}cvvh{5M#gBS^mpc=k>+j1iomhH$&dQk3>VE9!b+RT`1H7W6UtFmc zUgLhh(1K&sAOj!Itzs)eqr5#GLc}PzEX^yO74rG3 z_8-FA52bD6k31(Tp1Mqo_1d+WfQw{q{hh+5&#NF3^q6=-u<&D^0|DeoaIPfn zaMrWGlL24xn}})~3{3ASIVjJopf)Ji@hqqadwL$2r}}cW ziKVbzYq0cW_s@UuS&4~F4SqegtA}%7;oAa((mU(xVJc5&4t^0mkMt$g&=#>2*;Zw3 zqN*~_kB5#+rp_=YCIgPx?g(83x~U*yNb`l-ej&Hg5$>~!Ezw=HzLf`2 zBFUL`QTgn#y->p#4n(}v{@Q(4^Kf{_Q&@dC0)>ZA2e&Vh(iMrsSj;pejAy-)UlgWol{pJ|PfM`4CJH47d#*Wo z@Dv)MT%80Pt<1EXY=x^A%eTG0u+eXu{qCqidsrR;Sg%DH^lIh3r|F1K^f)0hfKSz{ zGnbl<$>|h(E^32U);6D&Bip6A_J>vWO1)*=pA<}A_dJr{ zvvKvHk?Mtcg|?dTj!IH2JA<+juIgi=f4uqwGf%0Nw4hBEZ|PUGcUz4Yc-K7Y>!BKM zZ#dHiR|$6!(U1-V#(Vu4u)qfOX>3m{9yp8Y3B?DRx;sZbWF40XAeF`rZ0mia2x5(y z*%$DbiuEPs@Cttvg#ttmzHk(t_nwpB?e2#d`mES%fRIs{+<<$D)fYT-H6}%0w@rYs zu@DAsaIDeyry?&E1w&%#cbW2mYz>A%P3Nsb@of(NZJ3H=zrss|`2Y*D$9(RL@+e7! zo)9b?5^PaN9a8qd;oN_td+wpT1$ruSNWLSa^TexV9tnPye#+-Q#cHj^7m|4QM!&Y8 z+{@+exw_Mf0O`Y}5GK(Y!4kuoTX}JZr&;ith_=v~bDf5c*<J(B&8`YECF@EKkSla_31_a6WE*hxwCS19Rj?0x5R-NY-B>J;-dzXR=5aC8U< z-<^z-x^F*hyylYUzf%T|qa_vspjwF72mQVbEJA%Z&^g8K9s{28|ECY3H&MuVb_aT6 z1ihOCGI#kkQ4E>u55{Y18`m%v7d_GFIK_EGvA~!1I5|!d7T<%K_ z+(aF2^Dw;D`eC~I$jl^l%@}-G)k|~YE^_1J0aqfajYML2+YR4p$6Dk-BD?pXK6DUt zR)rtewPRM(A5YgvEGa3xwgfP|b?XAU@qYG}d#I3&mD1m_55z3Ul;$giyw!DXc`=xU ze0du6#HVtbvhyyV+Q-e}fsqwr`jjdyXaMubXC?9Zwj*Nd?*{#xuAsM5JW)jeVRuMb z;q}*xg6h}YeHP9d+74cBDBIl+)9nnvXlF$7OT)gsmlGObZkE|~>^}IEjsodZRG+}fE-9e?DKJ4p<4-Th^R0Fu?b!#l>(Y}A zWEnfOm?N)O^@3I@Cy7_i)Z*_-7`_t3W&DgCy%pCi7ukquW2VVS%Hl4X4fuzL7Pw*? zy!Z-bgPRu~)<4IGw%*1b`tZv7Es!*xFCu)EnU~--RDs~k=w+#RYH`w96k?VV{W>H} zV%D(xYV(G1p~57%-g*plM)(c=a_P3w8I_8#Ae)U1)xwdJgfj9qQDJpwUyWu(-NltzF4uZ0j(&eBgk8eFFbR1!(vxpIv@kP6|OG4 zKf}uTa$6m5F=wHRm1D3?87fGxH-l%jYEMpEnELQ571`H%upue8W@s1V_$Ja%TGlXm zr+Qmn0OHuVy~^LT z8alZAm9d{qC$|@TpuM)qB?RsFL1j=A$fk|QIk8xX=Lx6l+1;zK_is_7MV+$cUX_k? zplcMsMF#|EjA2pF$-wcWO&N-PhV@>kNPDD-acy0}bGVmn6Rltb=nak(!~zZWuRqDQ z`8%e_B6HrCq(pI=_K3T`m+2)*?(Fva$zizm#)@pcjjQPF4!)(x)$5jTdi1l_N^dfq zb#kqo zjLRkD0Q)zTRC=XClHBYz0Z_#Bsspq2YGY325f~xC=4`|v5m6Ozd3X9M%;?S@8$H?L zjZf1NRPPax8cw;NeEN2<0l7lXD!ds0w-{k~yi>Adt#r!!5A&#?VA7yMEYfDEoXAa< z>-q7`Rrw+oEVQvlK*cl)sqpDO7KkGpNsF+fHeARlKPbuTq%ujHz=)I|SfW%PK)6PK zCssa}IAE4K$vyM=<6Ge>rqE*{URr|J0Nbg^Yd7j?m7{fnRNbQnn;{K{sP}gu%(vZN zyn%9bsd+V8?AhLGj}mTsh?18-?&FanQf~PM!Jrm}W0+&`Wd<7+31nXW^PN8fAJN=v z^8>9u$>~hf7AZ?8+wSCPW49SG&k-2a#`U7hrwT@?8d-L4AES$*;|_WZAg++|urjpk zN8WsGr=#|J_z4aYqlhKcmvH7YrzC#db#K?d{a=2`zjA4IAeYvEZ*%$c8#&Pfe;-8q zmCol!Li6&uDP2YP;zEhQMvZkRM$2icmXq6Bnh%}zgK7yram0_Nj!D}~hTNbE|COEp z;bvH_G!E>6`b?(38<-p|=MZ$`NWcT2=H<-a2iwnV|IpH4d+xurf5-+Z?SAzM!OYOk znpl1m=G47@IUA%m+U1dl+t(+qo)E*~-)x@xQpQ8l5sHBiA;e9T6 z`h-0ANmZN)Xh`CVC!Z0s2mMA=vx0uiCw}AXe3eLG@0&XjF-;Is)wVi^%weTv$d6gl z&*1Gx4en+)qy4O1I%8k>-iyn(u14lUNkGM=AyO7N zpxJLg{iY0s;!1UnPXw#n< zA?mu}k9e1GRkw)|eVVPNIP;M+OtsgFZjdH$Bbafyz{lLHzc=8|ER{8+jF8!bY$bTl zRS0t{1!ErGvx0r>os2>26Sb`!oBxdy7VMeSCLEMd>Jk)Ya^3)gUjpuqPr)D zhyGq@_BP>?$K)%FS@OIgA*SAt?keYUml}t89hiv&v%1_*tpK7cHWv-tb0JkVMbLbq zRR~q$sc=GwI&vhV&PauX7@sS+cMdPZoY`5Qp9SX~L2Hv_JKbx8)8Li*>$KUXN0soA z_2F&8jS27yO9gaZ82AMss@(PQ|9fstsb_0W%lFG+@V!t)X_rpXH|LV1A1bYDbkeN# z^f#=@2e*S4-h_Rg3_kK^v!FqL>$F!~&io`inA{GoxBiSdAyz(geLX%6R&{yX4iC{V zdW#tKp0%e4!8~}^nCoT&-HH5SexSFX3ruE)746I7%bfai=i8`1Hzn;~d}J0{Qex^< zzKw+I-DdrD4JtW15;n~4ljZB^Tmxxezg)gnj=xFMr?{YqbDXhV0({QUV8mW*ejQ6b z((yk0%2irR2IRHLn`}M92W#csv5Pf}Vu)RoqAh}{NFij-p=8QCMO1Yd)@w*r0L+z? zsaP%5>0Ws*Z;3<0?AB-%>lkuse^|-8vlrD0KTw0H4`4yd>CSdB$rL$>!^at}wVwO+ ze4;&td)8&)mjndltEm_n zwu{1hZ#P(;UdMmlc;$X|+e>j6Wvuo@9wXeZhzw~iFD*+_jF&r_AO!@q3*I?Z4@dS1 z*d!lu@Ssopov&5~{eCq=H*TKXg>kz`N&Z^-j+QN@IkEd(lbS#c<#$8VxYd{9Vd#zd z&OJ}E;Pkrg0^PzSIdEx@8xv7kyO+I}Es3%xx96<<5cPyrWIXkm>H!*#gS&pB z{uGEI+xJ8qXuoDefKJyZXD@$eAmvAgNBy zZTc*z-Z>&}db()qz{~1w?``RPr+r zbSW`w`Y}Lb=Xo=pYRd5*%lAf$r~kf>cD)T-uj800BU@9tUq<{P&asU3`+1g2u4Bhh z1lso#qd;8nI;RJ8GekYB8rmFDn-4dHUZq{$5zNKHA}tCUNRRVlEnx;ABMcTMCrE2z z%0G{RFrUTKNSt@gWbr{{4V;-;sX6~Aefqz8{?xinT=AbckgO04lz>IwRC0p8N?`AL z_G2~UBb!U1*W~6_rzL!;QcB&_mAxbDB1QQgeFKU143|pVHIK|+*dzKeghCRQzPPc( zwz2*gdHKf?ma#U^xu$V-WkXm5ecpPVXEM}t(x<6HR6bU}La%KtwFM1O!JAGIAFeHN z+p`1|%vwE5tP3WlZ3{6@K@-mQlhm>fj(pk!v?}$0df+}k#y1G$8~uCF zKEX2y{3B!iX+}^kQHihb6=KEITkosh9ky9uR$3qog_m22o8o~u`YjiLC>x!S*H%l@ z`YXO+Y{_>Jl>A8#@pq1XqRxj6&X$dyk44(TATu?kyf%u@3o?6mibr!Ovx0F7-Dr{E z>zGr|GmYE{GNTKPDZi@jz%po0wtiUE8gwj~va&1%F%^cq)o_q+Gq2=0a8*AKil9xW z-IGURl6CRwfhjNOeBsVn{(ri5Ou}c*@Jw`q5ilz;&W>!;p%hsUd^N(`diG<;1FviD z8yof1-*Qf<#;>&^v&n;o00bv|BK_E0pZ<7SR@=z zT!lByB$WUAhy53-3u0}xg?RJcd-e6ZN#^2>+&RJJ)kU>j zP0z*TRMe{Hvpve8205)|ks8%LEYVMGqLxYj0tifS-9w0C3DQs|d6Q81+`@bJ7P-&i zC|!e@=txV*xq$nOujpV})l`4qI!GcAPTN13?_u8QH(HkQUu)fUoVLH9tNUy4SG0cQ zX?+-UMOp**Zz%{0YCzqgRqUzK2nSvR0ANELxqHzg?fXhlVsMyE-B(t93ys=5d|PvH zxI663$oej&lhXhtAIh5R+P?1Fw@LDP)cMzHw=LGGFU2skn%61L(RpQ-D8Vt92cMvM zZ!L2ml8SF1-TN%H{q$+G@r^t{Wn;pHL3^<^D#-VSnHKBzGT=+kQdZ2UL> zlgLIr8q&CBcV2&I?zHG|hjCmiIZOulnxo(4L4%!0O%D!(Ut`+-x#Q7WhnKs>dAA-R zWEBpsnQNnDHH9p3HSQZ#Z=rmiOV*aL@YdxS>#RL2o(N{ZTyY1IV#|SM|6%r13+*8i z@$&?nArpuANXVT|^#DYHt>6yZHV@qv?E1*%ImPSivzDNoxe^7kUfW2-n%-#OiOM4j z98MeGk!G1S0d+vmEBn_>tWuc~Y`x5P_32QDr4LDgRI!R4wKT$Iv}-a0kS;Us=Rp`9 z`wjPm7WwXqeE6mpCRKs$5$edA_drY@kCBZ%ZW{${r`&Xg%}ugu3^|Y{i+4 zeN%#r;dE(E+XZH>N|Gwud}R&L-@j*zjC}FXlrQy)AZeZo9NaFwOe+Mt6mS zDD!T2%RBX1{Hrtje0gsUHt6K&SWY>fAiDE>=?SH+1VNpBetSJSG_q*hlLX7m%Q5n( zR`&P5+1`bGM=It;L(5RC`Wy1e5VaA(guA_G3IXWl58zlCodXa8g z--VyCIlbqpobAj*MNawaWw;Y3nahOlzvt zern0d_!5J~h)2AyGa18W#~*Lz_9+WiD>?leorGfd@>QCW621U`&va(}uqQi+65&}t z$w@TIMz;W=D&Yq>uL@>CCo&%K8GgogQ*oljY^M=6Tk& zlvHnJno!y8d$4Z-GTHxQToJT6Xk-r5xA+i(7wU-7Zu9C}2dmcF{VKP$hjCOjqllT3AZ6lO$eM@^UnC zd*4Qvn0k9CTaG(m3U4W-=OaX>P)Brn9w*q4Qly1~0#_uAyYv5V5pEiya$vRLav@UarJA1D-zf)$nM_6pHHt&O6V zrEPju=MwP6%9J=ZQZCflj65rI7)Gh`t0v9##An*l*v%&M^c04Em>|OIiG+X%6HFEsgR`tY)|a=%A{h{;w-H5CC{AP6yv3|s4GyDkjbQvy3 zgEAP>oHC=+dYkp}799o93g<{5v?Q3MhC zCQar%l{5>I(*+ab%$}h8ru&;iG0Jtn&uUW(AnUYO-ex;{?K0OMk1hhe&HMkhm`zF1 zWCMa97t$rDR;Fcbe*aCxZCqQ1PPy~uXsPM(aMs~;LM%?vwN9!sFUZ@xd{p})DYWfw+~n+FHr z*ehnDGO%guizw&4TStFhYn{5KQep3XvE?oOZfWE)9xt8WS2VJ5uU5n-!Zh_Ox#~;w0S6k1bP7=O* zaN!wYgB0S2sy?r%$$7=$=}&z%J%k7;MEclQ2QDNxTOU|o_if#3XNk{wXI?iKUSU|! zZV`H?&B7HL?MFmL=MB~WjERkuj=)nsNg-wtq5_+w^MR|Se&ut7X3f@<4U-; zs6CWqY|DGOb$cu40OC+t;%S|w&mFx8x&sQaG)t4%|8P>l;t>kIVPK2AH0L*RnYe*= z=2xU+k~shA9Yf6&ue@#*QV+N2Ym&2t7_emaUz?E3%}r>W-R_?cA83! zdto0B{BJ2z(m8kVX%+iGY&AMUaBk{(t6L zz5i}{w9S45ie#oIJqvD#y0cffnT$^)%ZfzBiE{FrsQ0_FO>j zXCb25Nz~XxFCav8@|k&ZFt^qnK{r<5eJxpl)fWW`;KB6U)mkgAEXgFn+MIojSELv}RBJ{zPFfRF;#>>#4-47)f>rWr7LYkySNPGnH-$3&K7yK^hN= zM6*6S^2`~)EDJ={eCEttr+0Cdzpm3CH256f)UxhpFGna}sP-?dtw{a>FeLLAsXmNf z&7d_{rDZTJ-q0~k=EQ7)ZUC^@n36XjSf6onz90}5qyf3xtM*vY_0hRO8F}tKq;$92)frz#^oT~=tf0qpig{i*~oq4xgC;19vd^xt-s8y zp#?aw5e?i8CJwPPp*uA+km{t=2#EyuWCdH|UrWDcYR9~IzT_}^{NWspd`FPaS;X7s z&YgHpCTwz@ml;XXO*pFD6$egC{eY^-S3p2x(hHj?1%S@(wOC5E{IZGW}zIw zjuA5@l^LmNe#1L~X(xYK4`tqeqxG;Pv0{o^WYd>8b&Z+%Tz|^k8)x1oveh~Q{r+P1 zFy`T$Ln;Ph$wDt;6cF{ZWjH2c?2IZ@;kD4Jtuv1J+v(g|bIKZ?@=bmppn4^P-lBcO z?Pk(0R|rN8evHdljJ@?H?~g8fW>qg8oTw?kcCnB3p{HCt#dlqM-^2gUB@NzxOvyaH zd=ARYS-F8FjgRc~WmtKv9!#KO5sM7803Vf!W6^lcsVYz5u+ommH0pgmaLnJ_? z)kk}RO4zU(+UB_rj}QPyZ8%X8+mEG@BW3j8#erj2bKzgeQA9>~F;)1b)&6k|y=~CV z$KAi!*Up4svEO4q8yu~el@lGTdFM(t#L_;8?@jqRI{{=S*c~j%1Q)X02a?#VUfuR7 zl{SpfRK7lexQeud7WCd-b5tNn`mFpyHC;8$<1 zp;aIMqs2jMub|Dx(%b16VI+8H^#reS2nPNeCxVNG!yY}NS1*MA0Xf{Z z?iW&d;TNmhKMxhXBX}RxJGdL|DHUKPdEqZAw-o-~dfw{maNVVa;NbsV@=%|AECkWF zr*x4(GKl;k+?bJk8V4PE_Uen9H1)xWiL#( zV1j{^;s7;G;~9G`_@4#JwF`j?$S3Fm_7r&Yz@Mn|ztT+sia(R(zDwQ!B1#Z)V$-9| zqQrvZnm^X|{q&DQR_2M0)6a=4W5-3exCnG>bCSok`=ZOwp(3&h1@yCnedW4%^4OS=;_nen zI?DE}kMrf_^&(|@yG6B?Y%3vNbr_5!=q_Qn@_q(BKZ?k=6&~HT2kUyQo7v7_>t=&f z=9mtLe=&+JtFoQ%tCnh+kn!k8k%AKSvUjXY4Ppb%ka=5(XBlPYVbFAqaO7|fTr5hD zBm^o5DsETrf{soI`|$bgg3aFuv=(P;(bL4I5eBEElww8{uC*F6iuGGvmmt>dTJ_2} zaLUz7dT$k+AE?hBapHKLH`C(+bSW zhd+V7g4qtmZl+ZkU5yT&)#h2%_Q~_ZQ|`E0Mf0B1$6gL;a!<7J{o#1${%hRzhi}sE zVQLzSVy30^t!s(Q4$JE|fvL`}$H(;I{ZdXON;ViDyW2N0R%yeld3_JcX_SD*&Dj>Q zm-Py}Df-pIxN1`==V}y;Nf@En`4adQNvORFWsB%{y+d2Ae9>RN!%W5bGM!R5FN{A+ zmf(F;0Fb}|`m0i8x!gdfD(&0|yP)^l?LHUGuQ~{e~qa~F``t>gb7LIbL!VL=!0FZ@1^`S>aN>{qrWtrBmw^f z+=uU%-7@jBOCI`?OcB^;fbeI-vfrvK-x}p}EL7tF_q`cX}0TzbL<^ zY4#Q|v#QP(Ydf!PwWv|$mlMe-gFVR5x7^E;;8hmxeK`k>{0fj(>~XS#9TI@dk11D z?dz6rIucW_z81P!9yG9uI$n;CfMQy$6--qWU)zdw=ls0RGIkOw?$YV;uy+{3xb<`& zg1&T9)5?d5kCo}jih zJQ{JveeKql#^`!Aj$?EhHtkw-~U zmXcLqUkeL|pi&8~?3)?wBlI2}i|@amVxaT(%_X%l+1|P;xU2ZvwZc%@gW<}ibxNYz z%I~j4DDl6)H3zdruc6B@Zqb zlX8PBs^lS6S9l5HUgeC=_g1WZ7H_3ccO_mSJ-N+gWdfPj{&ta)7O&qOJKrA-TAseC zO3HgsIcFeP%|DeGUT+K%%@tKdH5 z+apRA3`q_%Ka*qKkvEuxY&THf(kG0EsGnZS36>zgdiLH@plx4XA(n$6J207Ql|C}U z>3QpgCC`1go$qwkdED{61Zja$Wh6JQ0c}^-8Z57^k|UNXWjPv%xkxRr(O&9}EAdJ9 zIFUV7ABFLnw$uGm)GkZ0oe}Fz#oD&cz`KP#WfptZ=GGN7h0{enOtPKlY@LN=d~ydz z!jwU$2YlD$IHss0o7zSxYNxKk-7Jo_t@mLdxW)g@gKoE;{s4-*z8G-&JgMV-V2br3 zc!Siu-lt1Bp1V_g)ny4;?e#aam5!^|nNpR#>C!#9s%UF)I z?V4ub{c@+dXdpr@d*ylp@m8`eu^bUYn%mKXX{$af`0+_sXr|uFgkrR_JkI22Wq3Ah2U$+dL8U9KF)z~B>qV1*~ea8FY#8?MYd~_QNlw8NSeOp8|GFcv21~k!b zN!GrNaXq$wnm=!WfmIKKGwb6*)Mvb$dI;$C_LT(juck z!I>CUhJ%=t~`OPfD z8vsi-L>@r;uNBR_984x`vDI%J5uQ)%~xl9 zL}j*DlvqI+(qJqv8E>RcS?w1UtWYw9ogyMC=0d%6?kDS9TT_V@W;|=v$IPq>#Eagm z_V6uO72xSpzF6HjhubptY-eTht=P4qkKH=<^^d?ssgE~~S-woR+h1@cnNRG_-9)zU z3MnNF96m#b^~MR$gBw5P-%AxZ;zVOFFbpW~SV!LZ`OSFJ-u5Y<_mM5QIttLYDqL&@DWcwoHYqH^(>pg0A z%4)xW>!A;8_{zoA?l5P=krx$^So|h{ciMD+0wh{$Vho%puWbO+AV=6+vSc-9*CpKW z%g;Y3?_N0k%QqiBmgfl7==eBSkX2F+y)>6<*7j-jp?2J2q`l82Bf=-Ye4C9LgfG>7 z)w9BR0d%-NXTP^#*xYzAwQ{Bro2&w15H8BQUkdFTZvk=;o{#=O%)@@~i{$-aO1PFr z8H6Mb!}%%u9(%p}pb)Ei!!iY7p*Ea=Ss=ZMg4cLSF>)iqH{*g>j|u&7mktt(IU|HUb|3MW^bJlChPKxBL(bJ^(jj)-o&l^|uTVu90 z2i{5HR%J4x-@0D9BQ{jSdBJP=b$dH-4ogPDT2^*-bNib!kvjO+grrvtatNuWJG;@tu`}wEt7yFJ(rA48^7Fyx+0F zYR0x-w+1q#zt^=<<1&?n_SxtYxQLyHS>>r{@(CaNVU1S7FZLcxTVJN{tYMP}l=F*R znZg^ME*%MSEq=mNr4f{NYX4-fJEFXOo@(Q)a;7@yB=^l3TBG0Xz~8mjyG1@&-`MGF zyh3N}+4cFK14u!jXo+##`J!5Uy>DQ~yNmFnIp!-=RVKtMA*3s9GwS-hD+8 zoL!d5naLi?4?ruN!e%%(||W%TZ@1Juc-ljF3!C*PzxW{Bg~R$+d?k~ z`4tG?J8U9xV1htukf?0|6;I^v?l>A2zADZ0VNp1E&JdnFD6(I55D0AS$2@^aM&Zq4 zQ$em5HytjStmw8T+iTLC*pX8ZQnuY^En&f5ZsyO+iOY?z1;%-_nRV?DAfxh)-lu87kde*!MA%*t3uHE^n_;BOU|1eo#`+NrL@YR94T*WvlMJ(9 z4@Y62-kl#+XQ*C{4bwMqUe)XHVbedxFgbP7IX5`JI^G_iktx#gRMC^S3tV(jMI<6Z z*>r6^{>3YtlXX6qsDD>Y|H{048!}f2fNttzU7RKY;Qaw(99mbN1i`r{UN7cPy4i~j zGSRU>ztZ#eKX!1oI)437n}y8`pt=nGzXdJCd6{i|&iX)$2#=DoAoaGB%OEhd0X}7~ zhQwb!&_NfnC@V2idB|mPrRWV2L!A^X_y1`R8={ED`_VKGwE~pKdgoYLiC+ib*vI<1u!=jr#UpltcJwciqyZUs*6zZeo^Km%`Dk`!W&@FnfKo*#^ zSa(2S(Xeb<^cu%|IbCSv0kJZ65aYyo9_&Z zYl567+!2d(6M@3FzZ9Ja$LirPm>lUBtDK;|h+{VI+2zkuuc9jQ5yLZ)R`JMz^V zc~D<^2coC(^-l?*Gf7Qq5xpMAZT7q7Z}~4RS`$ksImq^!w{4C*vzN1d?Mir`5|XEOdQ6c^~3~qAN|x1+|k^0T84`S!Mkr+8`f4Cj?hO^S?L&|i-W3# z$CPkzi#99-{-hwb-Rx_-aV;5DWb){=G8J zbV(cS1ftA6luE9QyUiLkW#)8Mdp4q!a@RRhNo2(mZ_kNN&+$CA>*QC??=9aF>Ms@n*Ax8`DTQzhLQ`M4pV%*V=f!o< zNC|LH(iAfd^ldHY<$t@@N6)0jU3=SC(~o4zuLa&rb>1DnZJkt;zTZ(W=YWzZ4z(sr@~_9C)D? zFhYY@uZx*Rb5gqr{W1Qsdj#_MsOhMy1q9r~-_0T)K`SN{whQ^^1^}OyMjZQ!Nc70J z?&cR3=&wq1aH^x8QsNVD_3CzEws4C7PVzP(F8mA?1zRJ2e&~$B_ZIVB{O=J3Xu(L# zh~Tx>R2KWBlEopBs33{*#dl)&!X+$@c$){S%{(2ZZnboD$-vN=JBpKM_k6BJKUNz} zudD8BBvMx4p1-&VM%ayJY!bHGlAMzrUTYnhPn?!hZ102C3Nr^99GPnUubGZwy?AW@ z0Ld+4#EIMyn1>8>v%ID(+nQUXgZ~bU)i|C^mnCR?JZKf8v_+2|% zYOhMQzN0q2I!Il29#p@&X0-*Zeqi*Xo)Mf>d7{2a(b#tGYj79JB4>X!UPKwsq%xI+ z@>3DNGKn|xQ%ANIO!b`?81e(f#5^=9(FniX&%g#3`7C^+nFtANHuAlhjsMzaT)guR z$j}3lhnhiedb$9YF(+<-eui3B$3?|p>^ssnNbg?pYEr$XBL2{O-P z;wU|3=dxY&Uk8zRzt?;II)8ax3b*&VS!=P@Z+*X??;)`0kD3~Mt!z@fey7W$Qw*cOOi!zP zOt1pAm-aiBk5CppgJ(LJ0n^6S;LLfX`tMexU}5?_-Jcx1ly zdL9px(my94?w5Q|?IkmCrgB+|+$a=WSuQor5lIPqPE(}ClpL8aH>V1u*is_8t>?*5 zayCC4Ra}jPO%_N-Yy5CHX2BC4o zo|SQJaR1D-+6qPBuR|QVY*SoU3fj<@olvjaYmTjkg7rXuqm-y(7>MpnE5`Mg(HJtcG<_K*kBL>G(_u)otykMV%J1=c#M{Ni-YJwdVt2EDoNjL8aTgoit=|llzcqON%GG zhLT{(ZX<<~x~U>kqhl!SkGY$pb)+itmfRW(64I`(HTAC$Mi1^AWX?)(`gTPGi|Hmd z3ds{6#_xzQk-G5f`uqi-v&zx$*sVfpWRhfQ_WsyfxT{Ku6}AsO^RTi*ki$k697N=@ z1KYu&c5L{^n?;E9R+!XhHanfP?vA* z4YQDzv3G|x?@~D$QvR;C`uz=pA%-*V(sZ8L7PvYJ6P)r<9&>-w^FS7He!IwaRv6mP)9|&m*@iY$QY!ghV_}&d#+*l z9R0ojz|9ETeL>@Oabs*t&6I%g9@{&~&u@H_ctUb9kDV|jnGie< zxOW-WZyxHqHKAFMaEZE=HZf?sg-HOxpO7P=n!fbjhFLQn$&(jj6cB4H0sF$Rp2of{ zv3;279JU!1ao4Fw!zM#v>#D`;z2>JOp4&a68U7rC8Vz7)s$WVx8%v0GwVhJ7t@XB5 zHVKdtU0Qsh_=DU}7o$+4A3frPI)Yz@bEqMgrLO42$U>}&N8&|FZw#t@fAMgYR&H%% zSwYJ7&e*CbPM4V%tMp13@Jbc67A1HQ=NdjGun-|ZU0*Ch8zbo0Q{?>C+d8B=YGZbf znRdD4gV|kYebIcurbm{sPy0s4^e`E%mb9A~T~WsSTAdwI28DbwWZ2i-6Z`c%>gYr} zu}dg8i0TYEkzyCEt9damNz}-Aer(?-;&_7}p58DqWcDyC?7jZyh30SOoY|1DL$X0r zPkyD5x1Oir%wap*n3Z}5zN+lAMU};mtFz{nG>NBAjk|PV)_**Q*=TcxDLBHsUo|D~ z)#;D@b~JdJUa@K1^J$9o2(fM~rU+Gs&NO?-@~6FSy;E#1KqV$$#FN-4kX%x6_gD`3 zr;l5#K!{_)^$IGGfY8C>i1duKqob7jxx%107S?rPsG!OXJ-j(EFYMyiUO%CSoHX%L zkHjJ;Q9v?q(1zh=&Vd88xyb&A;|~U~xJPTfkcZWmBZ150;>zhJ`N5w=g>XI4XkMce z`$J&CuBn0`=2H@05Jz*qNdD>OUDU^jFJoJo_0D*J*vxWRuFizo6I zFJu}v3l<>jJ3X$`4VU_!Km57=mV-XCWwWm&mOPwoI41jo3wz>OmqWWGZ>^1}HH||* zCA#WQG?e!x*hVF3W`_iX%)H~+fqEvgqHulhz;XO=qf_Xg$cPs#HnNNIlC>R6K3QPm zMNUjEjIST7r}_9HDsbj}vlqJ5Vd=XH0iSm4iQr;wDARE{7FePeQl$&UaQs!coOo>C zZ^0Ql7h8)u9Hq%7Xc0S>)_DoGDFc<>mk_(uw%8SOiHNqjP=2VtJ}1qZtxD(z*&z4k z?XwLha}t#rJRo!St{$+kGrpDP&^xBmo!dJ~>&!j2#a0Hs<8BZ&%iZh@I&OWoCK=k8 zbi0MwF~>G|>%C_NwCdJ-z%JCqzNm0T&7K)QMECewo@Dz266BTG>Pdbd`Z*~+WA7Ge zcwT*$W?4ij{t__>-4`*m|5JT@WSl=*^B53bPc>N3Tf&Op)*z@Fpd^^9ss79ABxyi` zR#uOG;CZI$miBWOD0SG!LTcy-~E&LL64}qNt#zafIf1d>KLKHBiCwe1qzeF8FR+AXS>A_hiYqSH-`vU zVkd0%!r=k27KcripA0CUQg)gg;o8$|eoir%JJ+?rC_qciw&nFp(LQ|)_RZKvLa3JQ(f7$90tXN2WhzkHV z+4%>e8~@n1RvgmqnBMNU(C+kR=C^sXDEUZrqRp+85|5eLTcaoOIWo)N9DW7t%>txNF z{}bQT^n+n{*o8d3z{I`p`M%gG`e1OMAA=!*k|EfDsU#&X#JK1)X7@-+IZ$s z=iFXYqh^#Y2Oys!NJ*N*hG+Nyx*v;l;rsOM&0Fp9u)wCZJ^r|^;!JX64Z=_>M>Q@s zc$Y)q<`=hqNY}0$u&>Xmz4q)>O9DJ9>DJb^qf#B?KnVym8Yy@DLMZnrcSJ-;+fK1S zruQ=G%(A{^+U!c6+ZOE{s*#nyBtLT>ItaIg@e$(vspp|9_-OHZ3eaDn>UHgX00LnCA|IJ!~D% z@=C}I^(F}T%Q;MXeA@J)^9gw70C!}Y11NdLuB$nue0tS8 zp9YO9Ua3CsO6*zF>&L-E#mnybKs@`~01n^RE!LfB7_X($i#r zbTg%$9i*9#)>~iOC$aVsDZhs`42zPp*y7n|xgDKfA@K3e)vNm1axfA zP4T!|@rr}wGF5+iQ)z=NOmOr!t1s2abN5~b@8P({&O4CH2co!-PPzTLlMx3F(o7RsonMQb(cc&zVL(+GnGtZS-37rlI%Lr8?Oz?e-+Umw{V^nTIZCFj04*aKFJATByi@OlPaQpE zuyu`rx@Z3Y(OX+R3ie7Ej@Is>I3O))A3;PKB)UGrGGtN*$$9t!`|mMR<)(TzV+`B( zvz-h)B=_ZjX7EA1_1CpOK2pT9kz7TX?9O<%)b?43@Y!6+63-|2Bp^pWY)RuF#SI`j zQaQX|iOJ81{ln@? z&Wgf()uToW4@H3BT6v{OZ0duYww^urq&GGI zDg1Er@7%X`@wanKFclKEALTiFe=|UCCRN~`5yKVdt?qLw6SLg#Tx zK956}+Z6*FO{LYkRe(08u1Z%~u7>=#aq#air5lFkm{*h=Xb8or9t@;Z8i3%OM1Q;B zX(yb!FPjlwfa}K%ml|q`3y$XMXIvuPS03WO>&Tq;#|jEgScG8Tj8y4ou&`15_04Hq zF2p3S`sH(;KagI}nBf6HXwSM`F*7Zn1~~@GQxNk-*+0xa+>a@>H&c7IgZ}|)f>wXc ztqXw_616unl^V4O1qV5m$v3X=t7bz7h6((9tDA2k2k!8%Z!iQGG(dxhV_!I{R`cY$ zGu@4x%emJc-fU$1ufQ3tOUk|0UV|Ax;#U;123hXK7pYnIm0YitS4BO(X8V0_m`?4w z8Z;a=QEed%wnIB4y~?S!y=)J~daStkR)lW$;Jxb-8uBib+O+x)gYm%qlZCe7hwQrWGdaG-| z4a#n-D|^1v-gjhR<=hzm32_{O7zB`(#5HIX+N-Lt;;SzPM(1*^qb^hghSbxpG)_;G z!Iw+hYRLlJ*NbjsnUhxf*Ot5&R|hUz#Fd9>5G;_#w_fe(ao4J$g;brABaEUyN#ows zxbm8hp$-cv$--L62C6?C0#~CpkZ~K!vLQpYr}Ft;Te}+d{jruYl_6h__Pr<2U$~pq zx8RvaW9tYsy`+-TAg6kxuOkW%acjMYht9QN&iZu6=c-40pTpXWB=H|M-nxhzMgiS9 z2fxUTG7Qod)L8qRA~POwI0E zsL+=e0BUOR;i6qyQwV6V70@a*O&hU_SudqjP;r* z{AU+ZiS6rq_W6t`aX)SDSYQi3Gd{9J+6{?4IXI0#tl1w+@K+HvPS+skZ7`Jl=d{oi zFU5b%h~1#Bv|VHLMyA!+Bnk{t#CC|dr962PXr;gSr?T;~P^vW* z{E;q@LKe3>Ok~-2;xc=A_LlHnq3>8G&oWbct*C|M7bWXC4}l&~)53-{=#*$UxaFB8fc^TUd*#Pl`_tR=d?v@n z_a`)+PH{k<)T?qM=H9YeV};mr-pj4e&c7DoiOaQkhS zZz;^mEas$S=LdI5{>WwTrz?CkIvL;mh{yY3?v>Vi(o?yC)QM)mr$||#X!RA^nLK_T zA*e$vtHu}|Kc}~6?yM0OTF+5P)lZ17_5m_;2lZ-^>SOoHQe8Lq5`LmIYtELJwUL7Q zn9Le8XNh;Vk(dK}=-DP(B1I9{1PFxE!n^QO^Q8y#wf5qy7mOCNm3-C8jMnXAx?R7P z49H;KctqE+v_T3ApTasgjk?ipYx02V?7p(fV)5G^Gg{-m!1G;Hg&9N%_TGqGqEOwB zge{x0|E7QZo%Rj9QE|Ab`0;mhzhdF^-%Uo#@VCEtBhF1HMT#QHrHi$;#Zxqp(N2bU zS7GNt^_kJYYm)HyhP>$T+YD6XN(A>kF$?_Cm|$A9TA7pBaal%kSkq8zs{9W!kBph% z5~u1?v`$*^ygJD&{3?y}G)$umj(G~fNC}q+a;a1*i?w1>B|HH)t$4Bs5;bfkrwdVV zCG?dwpVKk&6X%#cA_m`~!A7tBIcl~;5Brkh1d^w~Mq%E&*Fw5=Ytl5%8swEf4Ue-M zOUa%S41ne?WG9kKe1HM>!3xiJe;Hx{-E|Je=;1`BnYR9rcs=WlXGw z7jssRfOD}-h#CZ7a;`%1`6Or$*Lpz+FE*Vn3S?GkvF&W1Ua%X2fO({HfM|K*w?U%z zX7(Y&;QQM?CKUyb0s+#UxoRy~V1%_)!-{z%EPn4EVE!!{GX)E~n+qgH_q_pYkDv?{7Or?P+vh^vBY} zC1a)mE*a%pL4USpNi*6vMvSX?U)7vs!Fi{rzr2H@Y36D$7ID@4(bV3x+v1^enXLTX zWpW8-dWc&-6w;~k;I_X6@H@psJ&%*j*F@X}P7dHAGYFf&XRdG&uZXIrB;wgzcYNa6 z6FJaUclTNt3|y=Z16sMS+1fiV=s@Cn{02~D=z4K=&~qi05Fyr&7z+4))0L@hF%I2$s!5Cf1a?rVCfqW( zZ@>zk+W}+cQe;t*`|jgydmUJpTl1J|qn8QBrVdGsjuqnVbVrB!OHc#-+&VxFp0s1_ z%)d1bfn0yhLzH+>Q2^uzZZMU^lLj1DH2O) z%x?3yom0Rg;^X%=qY`Zejj42T{ADb608a0xM~*FIwN1^g>1(h88&VK$1Sl;V!&%55 zo0a1C#yH2V@aiQG*)82}-&o1CUh;-MeCxh0oNlLiVV7q5`?QkMcpBzj&;{V-kRS%4 z#~Z`*0S7cSY9j0PZ(3*lc5QQWC^d#(8`&LmhuCXXM=1ddP9R{unhfy}2dc4RXMzMB zJ1v_4IN8n{4E~IBB{`O_r9s0DIT_TCb;CROU~a$7MBe30R9VtK;Ci50XGf^sBDxs2hX3S^%g*aT`QKRg>%+^s%1K!@j z>x2I~(hHvJ?d)EtE@wjZQI6#wtRRqjq}f&z*1DRg_4#W2s*+x)Z^GV~J1J8bdMX-> zW?3;(eSV$HJ>A_F#%oSVT3)m)41pfM6AQA98F6n+E(CPmZ5 zfax(|FC>m8wuwU2R2RAVi2G*#~Nb=b0uZifuX=gv=+ivS03ppKeOMtAK zIC!4e(`4%r6zL7$UoxzK0Z=0i3@ph!axV2>_2^$bhWwWu1bIgA^t;NCk=MHT`kwIoL=2le#%}i%SyxjxQ^XpVyFz+ zqOz{My}9L~QEZh7@ zRX&etkr&DN&{jDe!;exd%RtA)NKNF6QmC9MXG zP{YP7iR5A#L)L{!k&EQhj9SG|R7#aIG4d#$TuPQDgI^Pt>wu|aasgB(k;oUK74Ukp6B(vp65j0G1lW`6J|Sb-~gwAzK+>} z1BYr4960#>2rJ_!$03h87~hzD&Gc>@s2mVkVZ1oxcK!DC0|!3Du~Y7|FkT<^(zo$F zaDa>Pi(DN{-JoKZ0|)2@20GX8205-#5syyWv;)H0AAvt!$Y4sGh)Fnfx$)&nl>%aZ z>xQL}`OZAk?qm54jyyDvv5#}Hqkdz?bwO<(LB}wIV^%S%owk0Ff~p3Z&u(gr#;dT{E;p+TjTQff@*;E(xWi6Z9S5H`b(MLh3+#Sw2n%%lkIH3jn68X_42I*C=y0tAc~tX$muHz^Gh7+Mozqkko!`5rSk(FG1I0xyq+O;D z9HuY|UBC6jsZA!F_${tuE)Ymwn(GI>0MPdG^^qK1>#f$isLhjgl!ZG#kr>q6ou6wh z{ayOGQ>tSi6l9kWG(C>we2#qqY?%>!+ls0{&F&b%KJVhe(!pQdnpg$09y~^tV#Rs? z)EsGLXel-;#} z&fv9g9HoHD98$!F4Re;!eI{*g`b#)%?-Au@z#Sq^b#K0kt}yn4b`VXRqHQ!rUr+@$*Pl+w z&sckY*<&dMIjd&{x_aNq!7I4sHiVM2r%%}+Z-r`fOL)=SX~wO)8KzWZ_+!Emk&r1q zkAZdHOr$$XI~E%SMr4N4e^00(4`G(tVY1B`^%VCNR6+&tCH;v-rh$Rz0llgDF5yk~ zt**DA;|;A}k*!P$YX^M=Y$5C^S%<30c$g6e0U`3hY2Q-zaH_yrD1csMT@$THGgzV= zg%D3}mH|l9orsP+%r5CToJf$O?W6!+C&P(bp%hZpRgWJzDt?>3lp&tfRDbU5<64$PJO|nHC zGE4zdhv3j&KzPJ$BEbamDGp9krA!F|W)ax~W)PB_H?QKxp6j4N5=;umR~s(zgbJij zVc!Si$D;#Y2#sn|99g7qGDRywB7q>>mlB?0O&4 zAzUDj!W+>{Ekx!3ExP7iIocL*&$QyzCp%;hV3Q1?pS%pAo)pc&vu@XZ#7Xh&n5<=d zr6I(h9MC(pj=$otR`>+QU+cq~LpyW2*juPUF&2-WSFcA%{GKbC?v(~}WO1p&XAR|# zG1n3~NUbM!3#-#`xAWdY3Yd+RG}RAgd#=1XqM(x%V3YQwYp3;kMHC?ruuUjSr3nmo zEOyh6tIk0_1Hlx2E&3dSrn<J-1ihZC(M}_PM#TR$3mpXf?gPv z`rae+(ug$(y$Eq$q4%b3eQTsPrcVH>t4K~FlZG{uRK|y})MBz~WZI;3a22;&`-K;2 z4JN<0DDGIfoFx0*mB8&0Jq+fNUXIM!nT7y4T<0V6_TEb<cCDfpXNRO=N!$}gpFBl z7=4J>FQG%d;y%=;QG%u}RLh|#?sRrX@oUQ75&(R7=%e@4;@;=fLZsIIcv6^z4-nBf?_ZD#c!o$!-++|b5fRq=x#<5;Ei_b9y9$b{t z_H4Dm^WBXX4~*yf={rqe6&ZK^)bvQ1rFi(2WOMjNQo&LxiJvxl@&4#IlF9>5pW3Oo zH;kn{wqZI3H^A!3(OOg##~~Dw-uPyp0S$%n`n2_4w`lYSe0C>TTzyle9lw&xZ$Hxy zAoT6?B@$f3_O{5lprQ@RL28mtxU;sAirA5U6`LjlnAMD>D#i@>sbQQ+nU2?; zo7g;vTBRHhhWOekOMuO*2$#+M-@GJhb&cJ9?%fZa>O0R6+nccWmu@{jlitPa{Z~{T z8J8hGnn-M?Psi<5;Cti${EfggwTD+Ag3rw|{0(6SuJfo00R6hAMgHLsVMZc3YD;Y zS9JU}Ma%M9RZ!H`*392C$o-ScHN&&sBWmR-!}%!F5FhouA+g0?!%S zU=X<#J^n84W`5inc#uWV5}qUo25VPBeh+Z7vTXI)CmPhyZck02`MYOA)%@=f?p23g zOv9}c0uW`UCg-yxQv#Q+&H!#P5&HRxpqBTjmbTU=iScI|WS+c(CS?L?F5C*(CJv2; zSiX9o2RRm3iL!V7ez`2G+U?b-6n%$PnjXNq25h@zgmDcdOCdph4dy>~DyTRJ@H^?Y z%(4bcMO?ZOYI+@JUq61k#w37E0i*@bH6RR@a`={7B~xU_uZFs(t;U6dsd3!@!r*vE zd=fWulfHm2M_k9Y)h+vzdGtjO6cv3O68uPPvM$1(F>fDcc8m&xH`V36O~KojP#({c zuptHJ`qbf_1PezgxTF0Sk~}t)`Ajw0a6NZOeWJs$F4D+m_n0@~$;y2BkaumbdP8I@;y6X>Y=Tefy-aH+l{~I57VSEraTx zW@fVWE&P;Rci$I{q4roEWEl19tY39H`VdaV!BR@?XoL0D zxS*t=n{3h7xi{`$Lbq9uT3^gpSd{5qnXu1v8ju_A#3TTGsP~!$@}y^W z9j!%6>-Ubc*v~(RTQ|l3SI}C!7CSD;Abx3F#zWvaaE ziPt&hPFd@E6NFMDi zT1jJ^b}bF3cTnnaoc)Z{>cqsMCy+75Vov;w!Kq@mtF7)(lV5)i3q=}fvsN6Blxy|= zd8hyWogP3(jVIF02_lWL4`tylsD0)dZ1whDbTi0HrKj=58JysE#zWqB@A^jt(5lt&c#xMyrYu)$}(uR?psFB4PJP(!ZA|5Egw#dgS0@ z;+BWZr5)o=`OFj!0a2z$AzMo-o2wO$@kYcqVD8HBr6x8xY;R&EB7z-MD_0CQCl(V7 zaR%-z+b<2*vT_GvMCKPSxaS20Ev-C13mbbt;PN?qcRR$5BXZ5aeu>!5HghF@> z5qS4&qrbM|wKGIM<2i!Fg7rs=u5qcE9d<=YJrm;&OvGOyatem;NkJ)U(2O+vuX+C) zf}(mJE9LwXUq9PxbM3zo6=f;PZ2Jd!{i=*uYZpaq3CD*+63#H#@2^7suzvQ`j*s|X z@nt#dd#`%c8YkE5llF92_aXW;LWEJpPrBwbL!+TYO*NLw1kBW<*{3qo zVS<|1&|_5p}+1xm!3#Drd*FJ66fj)PGCwEHsgf(^4;?p_PIBB ze*Vrk+b3E0MfV9XK!i8LZpzQ{qJsGC%Hf;2f>mFAIsw_riQ{Iu&^+`f_SMEB;U9KG z(hpzMR3-F6dH(`J_Ah9wDa0KmYk99jHMK5)GxKFt5!$J%-nzjRWl$K#YfiNCY0Gkq zSv!5|CgCNA+3VF~y+ZF_nn5s!x*i-yU0uCili&l;t=e^jzbZBFnwgn7_xjn<75_7b znNPJ;g>n>pfbrWMD?4wQBN=M3t!Q$F*>BzLqlI2o>KSJ1R`BnQ(B1LNFKy&k$sT?3 z+dnGyv5kwPyj4|Q&7!ByrriEV#V$J>!C<=bpiuUoQHpVGY1awe{C5F^nvZf4WzGjK z=duaZnhqRDs}@O?3jK5@zN*d?W~W{0HHvToTBgkCt(HoR{kVL}`5~2igyobAR-}a* z9rjJwl0llJp^f#L9cm63mut7Vj=t6G^|Qf}Stgi0@9y5!eo(QlQwn$ZbfsKPm%R8X zO2(7EcrkhWS$Mgt5Aftbc+Iejy(L_F=L0W_tr|TqF`%_)W+H?9O-BFeO_8 z8Mr%`fh_)_Fu;Xh< zTTevNdyKs~0GZFkT(fnnv)5MI^4OPE38~>r2^H5E;+J}?vxh@WmSJGj zyM@&8+l04<%VMrQ_f?gz;Zb|kij>JM%6X&S8QF2Az=}2ch$E{k0Zl+QO0dbe~q38`T zu|7Jobnc#HT!M9rRuyZhM0_l1fkWu-y6>UW3on}?t0I%OR}!=j5ZHv`&GGOF6k0g` zQcdW}gaP4#^PQOA%k9A|oBLU+(tP@J9`jCasrI8Aj%`>DN7wa>2r! zKEN=$){Rw@DrwD6kzHnO`HL5{Cz#z#xZF-I&wi&sgL@y_bew285<6ArB{`+MDxt!? zkekVirmi&y>%@21D*UA6K`c2&#M4ZP^?C{* zUc#E^!3F@v)$Y5&oIf!mFl2%OkTGGC_htvb>VAN-c;J76t-ZQbKgtxVRkB*~YV&ra zzVPU~@8>g9N`+M#2LSYX`eObmRHfUW@QPzQD)Cl*NXQ{ z{~Ag!N08nB5Z zW2F}F7&yc=K;yGTw1#%M{a!6$j~m>M-#DQ>p+3|WyVguyh1s%84-h*hS++}koM^?( zS3(sc{X@7)ZgA^baVv`I9}kutbcIRlk=>@?-qZjyG(u&`?{dEMh0<#?}%>1$&O{GDx=`O&29R;Z5FdS$Z5=7TT^m)VYx;T-ZNYsEfu$umj% zQ}jNj9MTXr*X|+}E0tCsTNzefTrgtYM}HmId8=!NoK>=y6V7iQbzu~yYzCKN@USSV zxpZh-$$c*+>l3~wPVb*Uc>2HLZB`NVZ{>W*!};3&%#DiLNa}rR+5A^XmaltLuk`w; zscmnhhoXkN&E$|#I&#i%b3i$DKcwOu}q!#bhz!y>?A9q=!Mse@snje^48IWEoAkbR2jG=>PLZq_Hmxl3QhWz@7+lB9(Me3G z+TG#u{-Sqqz*Nu;I^T#hhzZOyudDRNs3USjl#Ai^MN!!w(u}3|Q6G*`dzrEgY zUwZ;3avVE7i(UZFA_OHR^B%rtwp}^Smc}K_3t#qR%4qo5AQ;jl?FfwVzxs5w$EB|! z`uT!6Y{t&Ce`@BS>U_U5=)oPTH_NCZcoC*D*vn@bvYbm0{LwpOhf|EohYyA{JNGLf zaaAz`mB@Vf<-U!nq~YR?TME#ZA#uJZXW$1yBY6@b67>tub}sh|ol2;Bja)b?(maVR z26zxJEGb|=t;fmk?b-Rq#g!Soz@tyD9R<*(?vFzk`%(^vM%XH5oH!Lt=oue(lBbe3 zMUcUs^f^bsN&T}=X@^H1TmPW30D-GN$RfT?fB`X~`(#DT5em)YUdmB2O&}y(heT^@ z+%e2uH(#O<=XR~2P%80#8Uon(aLTQUog9{a1>?|%jsyT10yL9w-x+W*XBW3JVKS*c zo5Nf7OGSUWf^7d3St`*3nhy@0E=Qj&&N7`8Pj2m= zYV(8v!dtu4u{)o4AvlU1x?G75emAzShp$$AZau@^k`Nk8-|h{TUs-IWN!kM|30h<~ zY4dg&mLyo+OmTPM4<;m1S6}`)7o;csh$TTXF?whVRlZ(tG|D-C>qX`35)Sp zH&H^#Y0f_Hf!yEi^ocT?$wsfbpKPSHIIi%S!OuW>N+q64KL5rfU=2rwgP!UHK;{*7 z0&jCoR6}0|{GtWTPn@}0(wNc}yBG8=xKqDYlB?V!rCtUE;x`UQ34hVaKCiGVn)SuK z*x4)~*8qDu!)tfVTyx^M&DvG&H-VuSd(;FnJMP(~h*CYG3!gx07my{f(D-Hqu$CH_ z4cTJ#v)9c0oI0tR26t~N3O>VX6?8gI?>h!l`E84odaGwgoJ1J;qgc?NJN{G)W&uMk zIRLSt@7)4;RPCGHZVF=z9%Tj7>)vClVgz=mp%#;XZUi?R-mJNe==Ow*m-i4rO5KR= zyEp3TB~}T%a?lR|b z{m0gZI6*NLdTLuZ3|OokEd2%OlY&c|6esLKZ5C-6lSMf4g;?vfq2&jL@03axnlu>m zDe&plUL zvl-1)WpO$Smd>|s4vSDrgnSZxJViv$M2(L-WY9?2m%eRr&d`dysjs3lzB!rOEAxbI z>bA8Hll2LX^T(?l)2cvu0#vI1kmWlng{J-mp(mo84G+Z;Q3yeY-E-5UXogZ`nZV`l zzqRD?^eUfhe9 z;o;MDspEQ!3n!BT$*>th;tV1dTAqHQN^#=k+34vao1UxNW3J*8MJ@WVAr6sQ2Cw&-+3_ zkRx-|%qmOoTg8>#*-5wTviG=bjTMqe4uT`IFzx9h%aB1`0Dx%kOn#u9EU-N6{)WtJ&kTJE)d?xzIa*BA@4Y~eYaGLc+RU# z9@iKJG%G*8L6oA@ulF?s&!F959v#am@0ij@Wlr(dyg~;xMJSp?temq6j5$37}(=A6p5j2yi;BbTcXcM1xNU97& z_zeF`45{WxmjD6=njdS8>+S7!zsK}Hu{vx)s4<1BexX6Zkk?;pUYk;1;1_;aZGCx) zMaFo-bHl;J8O->(a;oKwG?_{;-wW&1gbe?jLYH({Ku(yG!*B~=tv&qns3QeAI* zE|ve5m@r(-QwR2b2&lgfALi})h=HCv0TBPienj07f7HllB@3VG=7 zGh-d+L?-!t{X;U3zYym0_d9-o3;$GFcKaC8|3I#VqC|zD!5d%qQPcVB61Ez|1FT@~ zX4OUK^(lswBCFPxd`{RA!03A{YCheg@u7B)Be04T+Rm{}ih1gZ@x$`3q;rzA3zGHV zbIKBwMDy9ZMGMSr!=D&6ndMBH^vLyFZaRKmYYNzk4r_>@+iNXc-ODRC`q88p#pdCB z4v8j(ehO3AK-Sr9=(mQ}UY7|J#Qobk!eV}H(SdDsKMYi1Hj$2W1*p;=Pn-(`6jJHW9kWhBH$NW*baU+i6#**Ty+GP+Y&I{0Z;(! zGlU*|q#QXXPy_1UBVKIc#A^K{BM}e0ijc@;92JHJe9fYV*?ks|D$)WNlBh1VSu$}Q z;q5dn6(6&pq)vmAFB31@iWNu~X^V(2quvI|C&N5-5vm2&s4kLu0vweh7|#`}dz?T* z-F`Pq>Qc1q2so?y0X!t**RnGF-mxm?uJFsa4C@rJUpYO}33Z&?O!vA=&5 z9NaBoOJ=T`j(RwTt2yHjp4uT+k6YOHmt`-7P<)bd_dexUp`i(jTOYKv$I!~8CW0e9 zhDiCgK$#xh?Y1z)Su4y_i~^~zM(hFk*_{|S@WatcSPPA~Jy;d9)x={!(?Y9_)fDK` zDVt+h*aIr2Fm->ji2bUqK%f6}w3N!X<^x;{&ATk<$#E8byO`zSGTNgwY z-wj7`#P^JUncDQc7N#wXuItuZ&r6CM22-w9%@Ax6OIkUIqt4?eps7suPMq2 zr({7;S!-E>nILabad`NVJ$CBdZe$VIs=fTYEFnb@LE9^5M}pttubvJ6xv1dUSG^&O zV+i(j59#yy07$R@Bk^rucBa1#S-3)VrF8&i@N+>iar)52%_c~Iohwf4sugu0Jf$0M zCOitDi5P)zenGjZ(SLU`JXcUc->9UmSwj9M>8KNp$cNgSTtD&^7V(h0v=fYgktgGT zS~EmY*4kXB*7US$qwtw{3;0+0&tVYoPb$`J>_ec1bd}2ZZq&p;9KJPl>alMf@bcxt zO)QAL6A#+XLBIw4DDt1W6<3K_lV8V+-ZI)X5|u;AdozdW*a{{9jG-A3Ntq7qu|472MZ^a zCu3(S7pj^!cG7W#ts^#;=#fpUh4%|?rO3e0ggEDqThSld7-D|%nW^G9*j89*Vj$f| zdn>X#ygUms3d1Q(Ku-)cdX23?DCot zUV|Rfl>DFx{Ka4cj#XPCbYP^<=?1}9_HGi1Jjq7gowd|W%2P}ixavb|Q~1^!0(ClA zb0E2utV)N8kD(=7zu`2mBgGfD*eMjXF=9#}M8E<^pOe~8?RAlS|9vg*6+rikZ$ecR1rme8qss{bb2QDU8cG;iW?l)jD3j=(PrVq8fP} z--J=z9!gtPCFpz6P#+U+Le9qHr~E}=2AEJA^l&Aj71GBsUX(_Wdmx?;tVS6SB2&OGqfZ?c0bX1YF*Ub(8W{2P8_t0bRq|x4X z_N>x$>p|lI(6#x_Xke{vIx!S^SQ4yK|zi+2LpK>a6s>@NrGMLC& z^TR056LO;HNb$Gt;OWQy+uu$-NSSS_h1lX=IL)&zYKBA}YTflTH>f%-^TcNH*xRA4 z5>!|EnR2oU=7smFL|GxpqJ81PqZ{nfq-Ni<p3k8_O@7dDVi2#~S=D8H)A zJggM>ARw@manoc~ZiF=cLER=yJaCVk*4sJ|r%0g6tnCU$+Q0z=M-g!8@LOo4 z7o{T(>0<;5521gQ-$=YVATjMrBJ#N`ksE}n5H<~PNhB=Kho#mY;$2JK9wLz@dE9SB z?^aB|)YzJQ3sSmG3{;h*e{f8FCQH{>+&fYNcCTkgVx);bvII z4pDRj*N*lrM*)8xKC*g8D2DW?X76lsaoo3aO`s!Ta8(_i4`6A6(8*|=;L9y;8RGZ} zd$niHJPq(-d>Ji7rpk&a2sVX>48LwxyUJ4$iy&e2gY%#_nzxMzndLiO-&QpsbE)%` zCLMW2$Wcr5*ecWN>h)tDLojSH1 z&_XU~H7GfvMP2LO!%URvVQE{WOn+P21j7w&qRU+EH_>#uM;2PwW(Ayt`j_J=G; zFI*EMkupRZguh=lFmRh4r_JW(;5sm`KE{BKX|2a-y}eXSoj)9z8Kk(weM9I~0@7=m zcdNjV|B=n@;~CdKB|PLbOdSW}D(>B(JsjjdN^O&%-xX=P_o*9k2hIQ({;ilc-+04X z_?;f$_XNlbhFXpOBv44jv#G;(xRYf|GG`h4}I~X)sZb0V!8k5{>3`oIqa49Ds{w(@pj$ z-Bco46P!GYS3X>04=aVfA#`UBHTkpH=TpPdL+B4^L?txFJgS8{!4NqsO}XVqF;edK zi)FrB$ekd4F~=BxkVP^>hd3%<#cUBUv%<3(83b7*-9{~Z2fdbVOW#nG$nj;%|^|uMu!O+chJx%!7 zYth1WkFrqzzNdTT-_i03P?FGT@Q;3l`K;3E1*fpKtHu#S+h|Z2<-4NK&Td2x$}VW7 zss1NXYDf$DX=#%vfXvSp3LP&WAS`@lj7i+}J%n`4IRM~QA(h(gJ_f6*$%c?w&3<0G z0`)ig**FkH6I~+V7X~1J5pqp267U)cGlIjvlBnM`%R z0hG@J2%`tBTB8)}0iKg@+O6J0MF#>PymKV$O{!hvM1%M`$zGIEE27p2^E%BBUb_iP zW7p^mZ(P}%@*@8zY>ieh-e46EK=Cf69(;o}f3!q>S2e2N3KocGRFL74(P;XJu?8I$ zFi&)IVl$~!t91#~66&>^o1L2OwYV1;dM0l)@5>KonhDfw8z?b~h79-$hT}9ka`{wv zP?<|nb}Wp~f{t@*`Y}G`GGlg~L;y_BFiaAs?VNEPj8=Yot%CP%#F}L>SKlq;ziw`q z+$!t!L&;ZU>Olc(*!(TE+FpZm#J1$TIRZlm(%D`~=WyR|F7WVFT=+L9UH8BH^5xZ_ zW6KHIE(wh4^J0Uv?!J$JXXv|zuRH3_!<2|sF)6X7-9^41->X1X5rTpt*OgHjeY6C(czJPnR;{pnv(bA?^5wUNzTh?a^C{CRLW5>9Ru8!`1>5eyZ?iMGyu)%* z%;)Q@!PWel$hS^Of*2EBS~Ae_n)($1gYTFW)r4mlla$qeRBqYP|8YDFeyFi{!QqC) z$aUv=n{m63OY)l))6S*81^8>X6f$s+o#yuLzGH6ljIo{B5oqKAiiIjiuEsH%V>zK? z*QCv72miPV^R8a{A6nFFTBrZELj3(06K*oXKz+_s4~} zk90TQJ%}a~t(&gwMS~x}&`%FOicvj*qr)v#KGM0DqfoJHw8eX+NCic76A7{wO*!L5 zmG?Tm>U*>pIQjL!)YXsK=M+cin~?M{*avVweT%*Wn1c+^#5d_QAYC;mmhaCn%ST{j zpj7Uexfhd@m%X-GyufUk?fZO5H4nlXI(pe?DZ$!HcE# z4Mt0Q1x#`e4_`lWsi2cQ_Cz;3=y9KFS|O$7WCGn<(dc>-zK2D zgcI9(gwC6|t9MP*%E!&z88%d7j;d$6dhz&LIn}BND-hwCOJB-%s26AJdziaB`){jI zxYT3rQsiAN52_i%~?v2m5g~jf432E%0ev z8uZAzJA@d&)4RfdDY+~s8JpjC?@vo^D2qW_o(dShynTlK?4A)f{itF7UHv?p?US*8 z|1bTE!v7R}YF9NhYkxO)8DA|={)d}p`0RH~rgp#lYqPf4;ViMYid)~}v^gM@o2@>- zoUs>0UTUPZlWnX1+?9~j|9M?XZFFub9V2Lh(dG0d?jJ{-muar~pKL=sLgGfGmjEkG_?yEa*d1Xc! zwp~ysfoyFt20~OtXnWsM+JjAp%TfPkQB6%1GydD8dIht}U;n>YWWHY6-V|pz*HNsQ z+g>+9f6Q)Py>ggqz?l(LnPUW1ls!%V8C1d7Lyokh1!OV8DOU>MWH3bx0dAZ`|De00 zA{zjO$OUDW#QoviNHM)8_m9FuO)c{YCS@LO$M0rlcKG8^eb5J1%8js#sEkf|MZ79# zo>T4B=~~(^E!t(*E!sUi8c7M^g^*)3&kqXU+QYy%W@`{y<`2=_u!XqTkNu2LQj;T= z^Do`gk-CshkRE})(~X=9HR;r2jcKP7fFDjHYw(9>1L+aP7b_IuL~hDPw>MR3B42F1 zp1uR}d4~!T&+3qL9b5&{loZHQaH>ZweW>p+2)2LfVq&6$x10ePA9HqRY`2@K?kpk3 zCK36HPw~F|k-`^$cae58?Bs3*t09v5kgS#TN-Oo}-xVK=+n`)=m@e19(;}h&NQ-P} zZnv?uzdEP@q_M(hC?{#t7gfJAE(5zawN$m0(d2iQBuvMZoutgc<4$WpNLa|nZ&kFe zQTDGYRpS5}JD@b_Vh|?gI%`EHQ!#*w0+B2@zO2)k;dF{}m_X=;(*CYst5R7cvI7W$ zp7eM$r9OBjQcLkmTZ!lIQf}pGqETGzQ)xT()6dvViySNq?LKIN?#MY&r@6zave|HI zz|T;3G!!Dr9ZoJ%WaL$tY36PHJFvaE2fRQ^qGM*)pI`=9Lj<%(#dfA6wvd@jHRAMs zo@L@c@)2C6KGVUbBJtfH?R`J#SrS(5Hyta9U&tyEDB>LagHf`B& z699+)qDd0FVf2?7-xPD^E$GCKJwgv)F6P@w%51F9Z9PJL^C$6uFH9f_qjPK zYc-;jIXvLY5!vu)5N#pw7^g_XZN`Z_B>jCN;rYzA4y{eXrxGUL3uJ`|j-6S#8Y^}i z_&CNNX~%TVoTmTr-Fia*l#b@rjF0PxkO={QvmgiBQkLTmTPdFUmfm)ii&-z1&ARx=Y6`B1lWhnB#Cho#7pL){$fvqE*-nTft!_+%Vj7{pD z7!GaUuw$8MyO~7kkqB$FEH((KLoLLaVp3#O%WE+mW|NAF=fc$}OWnCsaYzohUmF@T z7pQLNjUvBIX(y{Yfj@?d5P^M0VjDlnBjGju*X>hvEp(h2NUS&aXK4eq1C zA^*bKF0=lP8q1Dp9PR~%#p7zwWV_$-Nxt;-))$lRNR*o)xPB^+Q+>2euvTV&b-U{Z zEe-bN4l6K^Y8q*L#rDd)F99MQnH3ebpFLny9CFyNzf83;*^W`OvnPHyjyO@vpWmtj1mABma-)4PDlfoBmOY9M-xeaQ|mc z%F#Y&i>!`y4RuY-iS2BhNj>{+JVEDh%JomO=KJ}eAvU4I`!cvx$ot<8jDWb3?4WS@ zvGoHoO`g9U7zte4)$+e0je~pY&H67GCMt%0yA( zT6QVD3k5ZjN44nt1Is;hE+=UQAvx5PDPr6}Fx)~`yi}GcVV-rjYqe$uOSCf#QuE0v z#0=G~7b0JH{=^f@_=c)qRJ&HaWEf}64G3pOuBS1)jkZ?n2O^jDG(&m1lXPVinJ>4b zgtUc#9@K{0F)WO3iNr3cc!TnUcG_S%qC>V^nNI#3%l0am!jY zNbYg6@m3Xj@6CG8_Lps-d?7VM#*#dDc5@8J_&K!#M2epNOi?3<}0!Sa^Vw2&7D z;`KFr^mDJ{_EF+(mpcZ8(&`3rx7In?%>B4Z-dSG;<*vLMv|bc9Ha;GE&HPp?Xx(x# zdYl1i5BuOPJj6J{XTG~cy^v3O`qYOLDn0x^8=b2UC$jBbd3-9#>rj}0?CaqgjaiWa z>F(XYW)*F^|`vDF~LiyzgCl?+B;5YXi(#A1ddW2hC zQ>6uin^{*GJSg@Q`k~d6|8r~nr`zyO4ns@HA5-j=Ch!l+DSX(C#RhNHYb#t`8uc02 zz2tOTEZbzc%UA{1xtSb~YkKLNiahXbmA{&0w#g&1D3i~3%42xvl}Lb0T*Sxg6HK6<4O5oQ4JIP-<4@h`S>cyALdef3GxuP639B>QfBlUl#{YA*u@o!y!fFb! z%<{{vzgb?E@*t(G)^zz>gR!E}k5Wd}6@!1LFLb7)V9-l6FgQzKP)^Lr@tX=3&T(!u zUXQn{L;3v1IhH2OIy4M)$B4MUwc^h*+sZ~~knXp=6_bw}P8^Y7JQ2X>R;xh2NqrtV z!>kLu&-zlcLq<-BdS3QIOwt*|5( z*nFwHL9Qe7QTP+Uoysk|U1j28#zTWmr{_u6jX zqNwrGB)CP=w$1(%8FbVG_?^0I2RaI97tpl#dJ8Hj&R6VcP`o`RUiT!Xfr3Mb|6V$# zBKc1(LjW;4Xdj;|(_@NVkOtX-ckj5K=0DzY;@o?__sa}r=ePu#={)IkLeHHlZy#{H zXCt)ZEc;tWz2l*wL#gD4=*lG z`UgQ-`tF&?hd$5yYR<3W%hDB~=&xpB#fmyRKyaC)zu(cFfRHu2mabK$@%e=n*cZGA zLp}lWR0}s%6l>#+rc6?@)m9tKw(mofQZ2N1JX*0`4}AQ>Zhoq@6+0TWuyiye4Y$v~ z1gAfh2^#efwm_A+lcHD^V$E%yHl6OUYa=$_!i(ABK|Gz{!hDo&xWGBbtJ>k zMJj;r1I+0YzuoecPoLF5t#-A=^((ulpb^d+g}+R2H(fq<30-^W5U^bq?9F=X7n)th z(-hmo?{}**(s4cFx@Uf+<0^B%zi`avMG#}px5asWo>n#|=oq<3EYt^FxXpU;@N!OR zq+@7^vGU)U5hrOC2?Kp-CjNtR9&Df+4!H{ z`Z68D?5$Hk-$P+{L1|~k&_ezU&@s}P`P`fBeB>Q^C19WzgYFPImrx=*=5D$JnOkQc zdEV-x)DqCxdrTwy8Ha3%qs0!bO9*t1xsYLNs|b#pITaDy{d0e(S?b~+yhYNz_TNcD z$$G1xVd#qan#P^X`$H0Wn+Bk!F!FDZXs~TI8T7=Vv%+N3pAuR*)y%0 ztJtQ48%@2`Yic5+_U@ugJ-gSn*hfbXlOeFfrM5|{gPj>y&jpT7A1 zn;z|LkG?LpIw*pDW-1UkTks-LdiDJ~u+sdxV^S@up8A zAzSRhkaT1EGlETQIhoZel7lTa=9e*9x$$#G!6BXfc{ootIzw#K7LvH$mVBclaO0%V zdG%+RMGj5DoUI{cf(*a%J7nY|Sa9X%zEIpdj4#Y!Dstbl1#^*>raM|4Y}J;dhAsdnaX@z4K1F^nNl8|q_p-!SrLzf#`r9yno- z{BUtCyQaSBT5~Y=VT|)T^J#K~@;(v|N&intZ{W;gnYQmUS1t5~-zDIna%5w=y9T5D z69xEtJFc^rqT4St09k82dh(;^4~jKj7+;XCBHRE;taAw9+VuXELPJHJquRfn?4-jr zW0eu+TZC=<@*e`2`f`olw;(53`mM@_kw*#PhdPTL6RwwcR(XlQ%mzZFhtbA&r67}{0~nbl6DmtytSX?p8N2>B)OA> zLar>gjaQY6sqfq=4`?~)_T%7c6gNQ+ntHW zvTjdx+Ao9Sq`j79u|iye%@CgFq5xg7B2!u;?c91`eSZs3lGh*mVaKMSXF<9N=jzJ) zKuD>if095J1^yoEyc0K>Dz?D_(F3SOujc=^r@2I{E?$ToB-u5tor#~0gBSuTHlXcb zR~E&!YkfCmbK7tEP&ZIwJ3Hlf*MCL1#9ZFzC%4@&Z7=$92#5H>lxQSY^5VR-V>0_P ze~dfV@u=Y~kFgzp1Q$V_!BJvo7DP(VMasM0?M9JIV(Fq1UQHq@t}ilHVa#&RJlAk}&(qNg==A(=<^9Lp9YHOZ<3|=W3lHwrX_mcI+PxO) zOVb@@Kru#&xbJeq@kRa7Q)&%+Vp8kJ`)8Se#wekV?l!UX1%~xZRvy%)B!U$sa3?YV zA{@Gd--R`WsozzxI_abCeA-WdITh z5|oF($r<407$_V`7R(_p^)wI7$c*s8yVJLz?{kU*HZbMx{}w4BbovTc;tEZ#pd`N) z`c+PCzjv}^s@)B5W0 zd&Ygfq8f*^jRBxjCkORG&1t4HfTL>;4`EkcOH9eHO2)@wXnV! z3ax8Hd~OooPBT4|``W_;XV|{-Is1$rcqGy&Ht=s~oAC!Fq<(WwI%-o-`uu@r$v zm|7(uBQXL79K1oofG>WPUcJgcio7qsYtJvnL}_(786;2YHn{TCK188gpGEdgr0HW% zKCip;JDqNcgEI3Ws}N|~^>I&{^H-NOQdrYbEn|nn4=Y3GG6eg|7iQp}M;(O&n>_Cs zr}`Tw(ms)MSSw`T4`I0-6B)ACdvcA*`gv^gS`qG-OVy?ZeS9}QOA5El^;^E+aPsnG zDhz-*0pP1t4ytwbbh|&OQh?=|oLoJwOt4`+UA9rHcM0UzneJomo9s71zM0@h_H*D&fJVhs(7>;pllI1EjqJ)B+UPCRAWNjI(qTvmp%2aDBQGwlVQ_)v9qAZD5-XXF#71P;GSJTA~@c`Bhfg{5-b61yD6Hbv-0zXao$e_pKK) zhsu{$6QF>f_Vc^VROJ$s)XN2Q_0r1&=}g=JFf>j8SJnG{`H6v1D65Hx#iIjF$iM}cpWH%;nnHaWM7B5BaP?Mo&cZ!$)v@~5iYYKq z!p`=8@ln64_a72_gY!|Zcpm6iJqMT^NRH(;IPvQj8CRF`nc(Y&A^zVqL@A>{f-!vW zRl5ySS*O&29?pCw;oD!<#?h9f*{X9r(+hw#)8^HtS>4;E8h44%cto3o)6pXnm5fB0 z@|DJK<`?Cv?8Czxvjt=#qNb-D&MvvniMLh@w;@1KofNQP<38*aK_i)xT4q*#hn z79ymMI@9))Rcf}8Y;LY8b-{&EtUoFGb4$>I|mY=ZWI$E0xW@j$5YjYMIYUw}BrO&QoPFvPM$)Ue%d*z&muX7^( z>87x%>}D37sfVH=Zs#e$p08Pvq9~&VJQ}7et1~nkTP!;+c{d~dmLIMq5IT{6zAKxb zFS1Zs?V5H7H1)^B&ouvT0sj~p@AoDDwW<6c+)u7M_x0G_X8Z|mctEM_VFQid9Ngoy zk9=q3%HKpb+MhD!HnTRmEFh=^n4{7gmfroSy$J;$ebrI+GeE22+juD<{p03#<6mTi zUElsr?A$ERV@%R??xUT1;i*T2OLhyV-dS;H%O=x34@b&l4itmo6vyYQVkefd68<+C zE96N5@QY8ctwXMNB$(RIz$sii3%kY3(82{Q=SoBdGgZMc=Mq~wXGii)b+P3+8z|4o z(eqSc!Q)ic4}$Z(J|d>Xo5B5MJ{q6In=hukV)fwUB)Fb`$l9(=EZh4;+eJ45?*_bY zRn|+K!r&-P!pqg(tw zm5|cC@m4)Oq1>Q^#WE06j<=y^FH1R-qb1-A5svRjHzTofcqB3*!j=}txx5*I1_^=QV}%cG8fWv>(ePH$8Dd3dEa64fG54f<&YAFAdkxQ6{vfiBYwQ)S7@v*&y2QGX5=OGO-R)9uor(S_^Tq(*+OrLJ zcU_>}`jQG5d>#|ziHFvBIS{^Bf>*;o1Yc}S0YHYIxzB@crQ69I1c8ixivce|S-36vUM22#i~6XjR~OxO6rCGa{> z60=*>cgEEE$$fA9|PX8ET+q0(<-5LS|iMQ$%Fr_U!VgzmD8<=mhhqFw?Q? zy7s1PG>Rzp;zaZP*)TPE41?PY-qW$rPdbLl=R}Q|>M>hF;t?EE{iN+C^Q%L!iDXc#5v{C@zy75guuPx@uuoj_v z%eFttA|+iUCbv4SwB`B?;@f>WP)V++Q{#^ejWMc{z+XATk~O{%BeK$ zqGhd5H@y2`vbm>A|$EP4F zd9lNr2(PMTp0p3E@-LcKbe(Jb8*3bm6ntqXyCq{*Fq+-d5AcbclRM=IXZrYYzirHq zcd>DZ{p&h*;`ZZ4j>eGptk;!o;Nsrqcy_=rO^4;+>v?qyxVw zpozAL(ia+aB;k!8Em*yn1`Y$jK*C-5w5$p>)7Ja|*XCu;UjNE|QlojAjYL4H`;Fz! zFj#V6u4nZ6!bg7Fa$35`9Hf8Jk#13Q&a0~Cg&D?Mn>o3_Q{&wQpc=Sm4Fc3~?vUAo zzo+1rrJF{jy&p!?5&)aiyJ`zYReg0UjP=kKu*0c*>Bl!R&D}l-8?d*9mBn$@dE`}h ze-NOCJ=kirul7&QRj7=dvsbYiUX|yhs})Ry1IA3Hblh$>t(Pn$j3kGR1L*JC@R@<@{OF;IrlW$tssMA4l7UZ`qPWQOzyuwEL zV9IOHCwZY$1xOee<9t)p)NCanbY+!%d5gRfqpn0a1(Hr@{HAU9MK~*D>ZOIb(5Seu ze;kD2&?)z-8?nf7kC0aXtBMx~|II4?!=N$HDO-px&)+|By7nB$+a20QA067yOh6@f zX}y#S%E%BWio^;qiQQAvnS=sRL2p(U+Ih$!=8!l}cW z20}8^ZM1QPmvKk>{mJZEMKAY)?8%RwuduRlGEmet56?EZf3hTKb3-t$1(`kH@O7*> zvyZh6?cOu9`&tz#`fUy5$y`VZy3+hiXO_PqQJDm%`AWmzdz6uiRCAfM02DbP$t7|& zo6nyEYuFvqz5vz$qVvOp>X-LQPlky(zZa|TpCNqwr7sOFrFYfa;Qp22c&{o&3}d?+ z?)0Vo9>5~MceQ6aPzay|;J%z<{|$?!6l>hwyEDsf0mJaq7pLx=UP6|J?fjO+C`)qq zKi~@WoFRJLXg1r)W|ubrAU+qLoM>?t>4CkDh>%MxYWQhEb8xvF-JYH-b?RIffKx%s zeEpg!@{QxCP?uXJPY$hKh`;B-`qAN{w}t2eBrM4`v(rOhj;ez`ms?cR4flQ!1|$Uz z(R>j-3`z~5n~`|XN-LV5!W0};pX<0d07OK>`>y7Q<<)IH6FNNJJnbUc#&i*xx`joe zo4>0xwG4QQ3eb%8J+1;CL#WS1O!mWk7Fem|qdpavSY%zt`KE3>SG;O#rccR$IV+72PSjeac z*!F+mn-zR{H=Y78*2=&sZy_o*5c>`)wbAr@6Ys$gosNXL2hRr~=@H$jX_Nfu%iXN2 z{48%j$s!5;3$kBwZ=+iA0uWt0%KIHG+r#LMuyYSAeT6tVq|RPkm9 zsOOBQR{+4U`{D31UO7dbe9ZO0Vj(%HCI)wDi?Jr_1DKED3kJs1$>#r?ICLCTFwgc& z96B=*(VK?VWWTd5$b6@9&m($vf1=xdJcKO(ehevZ!C@sI1?2(`nQbeU2{tIicpP#Hnn_TQAu z@Gm3DKXW3?@0OWQb!iP}rwv@m$ z(0CylZ{~Is{ib2iro&X<^S59_COG5ToY*&tj=Gz+T?Cf6t!}!Z5KzM3#1~9)P46^z z+v8VFRd}eQ&B>o0F&aoDEeUmGV<+4t)1R({+IH+Et?ma|ENwm0pA8#0yP4Zs<8tn|`S4Lzzz8>Vyd zG_P$+i{Clme8ZA5S|`(9>2Wfh@5js#TI}s~>@B7vk(G>nQCHXX>&e}wE7_(@;y2fA zWDcJ--p1EF3^)9FMa>HgTCA;oT!I1-U1fXmBBQVQMIfaAPffO2PdNXYPpLO8yVSJ_ z@gXX?@i0;5jH<7RXB>!^sK*#=rf9!aRbzEV$=o?}=0O-&;3KCn-%>G!Yi@LFen*EQ38h=97b?UoinAB6T zn^!H}5cK&qW7Xmhx1NnOm16oiw|2V~y4tspJ$gq4aBYgR0n@gSk&a2jQgI2@F^ScT zpUe*EG|U_O#zi%}xR2zMInscfqJOS?&8_-t=7Vjw8r*dF+LJ-)eDr*m`6R{aQ0=ZQ zM2v|9AUsyHKLj-5uVdgo?4s-2=Xa$VBpd*VtNl{-e0Ob-3ky)8&)vUwu>6rQy;0tl zK1QB5_?l84jeW~=60A7W+Bo@Uw94;hJ8P0LBHdqoSq23z+Y;L=Uz}d4O`O%2z$@;P z?jLAjaYu`&{OC}R^bcirzJbV>RF{L3rel7L306x4$NMM421o3lD`2j4XRO z8Zml=?~EH@Fymrn%Jf0!JV|{y5^EZmPiEEnh@dk@czy{eCKXECGKV2gqhUWC0zrMa zm&@$I{Iw7Kd_ssEEK9wq^f}f&UXN=i0Q34znsO}B!q9QWzKN?=ZuY;n%1=X*F47VU zMCFIFuXo{2QGj|D#gT$9?4CU$^ObjsPyvThW0^jGeE$Ug=zr|+r?qi1?QegMO#Zw7 zU^wcunX&AyCFkDMIcDgfmVDqj01|Tiwb1K!qLrL|XHhZ@;>20Y*s^j9YcEY#V3azyOk~ zGjd!c^$Q&-fzv-I8R)o>82j;#&bwESUtJHB$Rd}?CeaV62Cfi$pseICB;MD}wxP!< zF&dO?`=GQd7@5uB)y>00PeUEdw1n(Vxc?EE{Sf)IJ|aP<8DLrU)LR4_#cQKa7lX3y zKOde!^@Sd_j5d##e6=Cr5QYeYIERwZ^N&NIv!y{>qnc2pi-*nwQ7rc2k7)QUrJ0-l zC)hJD&41T>6M?7!Z;!SXPl(Hy68Y>lSYh1m-uU;t;vL9r83RO1Yn7;tXYs%XoB|>4D6&=@Vq=)Ssg>j zW^L4#F5jVPrdRDgR|R{Cd0jnqcX==Aa6cY%@Zjlcwa(ZEEI9p5H*uH&yfOn7t|-)O z>uNu|Kp#Eq@3;?7oa=GNN~YYEO97w#J72;$F||v&N)4P8eH_>N zshPsQ_3hmRhOVd;mEv+gw$XKa;<$)ESM<1!Q*y$AW~#RO88t1LkH$#4L(9B|-AXq# zHvoNB)C`3gce}(VWF(uubeyT16{;PMC;%AE%N#+vu&MEvM?Xu#fyQNBK64%(RG-9*+u_YN2SEIb8lNzUUfv$ z@Xa=TwC5LH!Z+pv*4FVWyk7xEIeoe4(wp?xt57K$LB=2nXrX-IbF|N1{|;>Qj2!-z zAzmZD^Q*yj7$@qj&D`XWK+b}ipDPI0s%4HeN*I*&b$JVDWz@Nq$=56orOicBTDn0; zs~5XK?>o`o1`w{c;z&8Jj*dOhS{HiH?1?9UJELydf#&-DswF>qa4ym0zdP%&9I@j` zx^Tt$OLz8N=s!p)t-K&{jp*bR-nx&Srq{iR1fedc#`Sz_q6g0S<7s+)tH=fI2J0ov z!)G8$hgEsgZ=Qhj9#hW|Y%?X+yUq#M)^K&lc3|dl_upys@S3PqVCRr8Y>z1WER0he zXH*)?0i+uLq$=*IqX7}=-!Avxf;@$6Y$(3aidTf+J1TpFWmjRSha=DE&@2_uQrZz` zN6h5MnD(!#H$EjO`r)k=bfYAQ*}=BLP5iqwGPQbNSY=D@%Z&O6Y6p=)W zClP>>F9IxzN|<4HVeM|}$aJtbQ)@GA!R>DVo!;2(j=kbVmZ6ZE)CzxUU`MVbIBUWF zryBoEZFN}TN{@+dEc6RBI?*>5kPEHkOzn}0S}8Fd7wu^P`6;%;v$88&x-cUlegr=4 zEdRl@Y9C?e(eu)i0^+eGIg+z>qfGmApaNQc?+tAbgk?IXHH`bm=$*#$JHpgzJ(26z zUG|80wA1}@Dr1liH1JM^p`M`J8$;e5(n)dh&F7ZKUHI1k@yC4h>gvi;v+aJkiaP%p zK<+JP1bH_3)jD&(#7)tmsbas{?21Q4-Z3|t7@_Yq-#aJA`pfm|N6M66cVs2`Rn~iw z{_!pykT+Lhcj+>yr~{(v{(010+{fVDM^eBIqt=~1B_yp~OzGx8n7HKRo}w)R*f6le za}$yKi*EynLnh`Lov$yi0~rbOO=25DIAEn;=DH@3!g)QP zP&c}7vg=ci>6%qPz5V+dGSsicpWPIMtysC(8s=U_AE!v=gTo0)$RR3TJ>? z8fyZ0QztwL44k(KtA{%Q-P4K&K#X_9Co;XAm-r$rXEWG>A@tk0g!$t{nxK6Wk5|Z( z8OQqDUlddG$+5=&zm%{)T4+9VZ5+phnflQZQ>#+A@?3Z2p&Uiu-!W8e%-V*?HR_t& zPE-5ZXk`M+_{;tIoloGOuh*b~gl#%wuqe|}9QR2GR!gZO0L_kxFuuoVJxW2JZQh%8C zOI8+No%(1x%a+wWc4rbgP_n<1a;o`p;3v8c^%_PV#D z<=Ij^@Fc$TZM)6q8MQ{=c2 z##6J3@5^2jOd@v`?cqWVVAUVBvveH-ke*7I2*KKFo6?dVAGPTE1~Nu2aJAWI&_{r2{a6iMFaW4Aj27{DWDYOZ zv&2Y8ZSII^%m1#ZM(oZbYO~j^h?eGaLi+N(!RN8ji&`&W zRD(e}UMT4ml~3-#{Z97GJI`zANufv@qLN5zueqV4@8>ltfEGKThu?u0(3SxXv)2M= z?KFP3*y9o$eQI)Y2OMM0ESoudk8EgV2r>o_EM3s-ywX$`#l85eZHW`NECkd9T&ZR^ zw0t<@BoNCET33piHHDgRpD^eRZOQIx`CetZ!s22YpRA~tQ{M_ZNQ)Ksm~n)}j~ngh z^g#d=>JIdSKVbz~!u1YXm9)vUl^cV(LHo+%jR8a^DlL}UK!FgJQ+Xzgu-)J3fiC%E zfsq$B_pca=<LF{3l4%=BMvbb*}&<^A8=_%LV&W+#}?S%(N z%`I^~p16or- zDYtShIcI|=sCkJ+uPj$q<;oQz4XEMe^z>jlpRT#*+5Nd#Lb=?F)dzA zp7WXC@}30ZOwQP%QL`Z;uMO#>5XA%Dm})%o7t5kc6wlKrUeJ$jAxt*Wn*nSR@sDb= zdP`p_60pX&*mpiZCs+5+p^j}=y7pB z?!dKT0r6ugRIvs;STpWfaT?@sfATmPEJ*6z`^{+DpZ8{)OCZL=GHkXm$6LOS|7^z1 zC=vc}dbv91rpqWsN6?Y~VNvjEpd*v$JK?H{qua!JLbfV;v1?QgrhPK~w8R4#Z~N;H zF5^nP-FN`Y$uOPOf8xt2#Zk#ZWLcn;8GIs`9gw*_TJ2snlR?7d+fAE*1?yZx7U14A zzZ3en6=Rgqx6EjX&Z3KmhUBGb`m|3)(b<$?41d7=M~dalHxC|zm-OfN;_qdP5If}1 zSMEQ$xaeU*x|Up@mu<-qtYhynfN+csg#pyFH%dr5jb3MW^J^Ph)zk1}e_Q{Zes0G=TkHS|s_Zr~sh$7kDgNr zZQBn&@BKYPFh|{w8ex6xnBJsBdR%9RM}K;<_775Z0m{3HEvjPDS=TJFy}K~byL)QI zYfEzLp{KXo0+fkOd!A@dns=Rg<+!j8!0_cR+CW!m{AFkb&}QTDkM47IqaD-_?+lu| zGj$<(X@fZZsiv2DT2bdHHA=cD`X9xtE314wbYGV3CQ!S8-U88~c6P@r1E3PL$Nmm* z01%5q0@*}ILe@XUGkLW4r!VGPm##rLPMLPmU3gysa&Sw?F*hfz!RYdgonC^bbWb%5 zbQ?+`^=HRbe%&gxij$5n6|L6g%(mP~IFUP^z=_D6oHIZK@yI=EXAvfM_*0g6a!2JLIQm@Eus&#|=k5Rs3UP5a zySBR9vyPt0#(hW^Zc-upmYQk_lVcHoZ_>|ETV}p&NPwi+eZ6Z=f-dz#Gs&UGxe@~s zc7fbJmFE0V6MPZQ=RE}t7zmen#0bP9R)NQwv{&Z(oF3;(1?`1eGvKm)xVBbZ7Q5tlwSdm4JDq_z?h~ z`z$o&1*A8}wIEnNZ6q9`XI9!{vHib=CT{$XnKoJ=mshr96x^#Q*US3>{zP^qoLs0R znXJQ>1a~C~M&Q(Tw+<(rigcI-$Z~<%zgA!eBe0rmFz0)D+`%*GQ6I;t09$*`)&#`- zj}z(r1`!KGnsVGqWv-un=acGZ*J*K=Lavy9F*`V0j-4HBpBmkg%xz`4hqGw(gTBW} z1H1crA`K5((9u7DpqbT@wjhpC?9|D%*$FXH0eX2pjiR1Q(+%G!G+=xk*0KCxsq1&v zvuIqcHH+AAFEowyI1BWd#6QXcH5&hk%L0|nO0k}l)j#+O{2wn@xj=J%(Jm03&b>L% zN(DQd?2kc{q>*gz{He2WO8V_bqyI`!_j{U~XSnlu2x85fjh+K89y7}{<<7U(3v(;+u`>mT#;qp1p zmryiioc^l>b8!o0O{>+LZScZJS3+rUzwrtEf9P@M8wrnqV#}mS zNydpxo+SY2f9*4TPuCv~9V~L_TQv zeK7d%^&Sw&tr;!1E=@41Gio}LFm6{(3C}7Lz<^bFhoo{|sAm`P0nzOsl7yXRXJO*L zoEZ!J>*-~u#mX+dB0g0+{j{9g>t@Aa4#HfIij9c?R3p8*-XA>Tdjk8RW&S7gfwJXy z952hBl${GBVh*4}ADUkLC3au+Rsb|}W!mA-YLcm&t2u*hpi9;Qmp?m?s>VA?_DUh2 zIPCmfO#abVX$@t0oP`QsYHYn_@&qtd%g|}L3w0fa`j>V6aIXQAZtX|R@sC8S-laU{ zaET_l9eG9VC=C|s;jt(iEY=j_eL|Y>aKKh`j?LxGzP}MO>b=jh@GEBYny{b-5KZ<* zAx*`5h$9QYU^jUeMBnU4fS9k>QM2vLcq3kIrCyGwh;xr2&d33SUtvT5g9gbLch>)uJVnbXzkzutv)ld`)bm7T#_6FH; zWQILIqNP6a-qb5nlWXJk#~BT-c!1?V6?L{n?(>cPhDpIkRqfK7KlKVA`DJ9lM9IR9 zCZ}vmDb$;;70n0-vbwW9t(sEuO(zxdX>SAb0^%^8mcpy)!f<^+C>O>yCf!81pqY>k z@GEToU}Liix#?9H2_(FgaZAKWP|;XW4iy5*btMt{4>0hYbNf(w_CkA|tVFMXoJ>G9fXiGujtyB!_cRYhM;4CYXt0&NxD{nS` z>E0plU%sD;RDYu0+|)>5Xt02f4IIRVTReuIp#U{r{`ir%q%n))jya9$QmoXqldNu) z{QqQiH?XyuKFN-;d}52IZ21MNiJz|Sj1?OOE<&Zu3M92Im9lHiod%&W!a5i_yXYdq z|6u@TPi=~h5B#(a#)A8ae`Y+!k9_@S_>t*0R~&xiZl-@G_=8(u+_lle4_4;!QTaq; z$gj6oV=1D(;v(b^Hl6Acw#+kYX`$qgP;N)F&b$xDhMb3rNFF{%)CF0^{gGAnyy-tU z)HLmn*Gk+jx?7>%F9iZ|UlYV(5#3qt2|7aJ-v$M;8R_=F<{$XLq z!Ap3yVsvdtJEA~Rc<0>8jpWFIh!S>9z}Ee0a-~Jb@KW}JG~J3#(=vZ`!2Vsxm-f!# zeRR?~^)QfpkkHJ+5o|$rHg_&ulE74S;m7&9*X4eWX2osRJa;2mmp|M;CW4>|6dp;* zJ*RCyhh5j_hdiqFHY^R8r}r83>!si`wW`VF#NtuRXFe!JElU%mpU}4m<)nDs-n#M> zmgTw2Q=6lAWk#A=KUL9XVqBSzm+c0JtXjCWm2y0;%s=Ua*m8jLcAO8E zWyU+SMcH#QUkMZ??46)a)^qfMgg6ryMgpfVbB^_tMDc)_-QE}wvr7<*rZD)@0|xIQ zsnEt8$D~X^EKvht&P#q7$f+^D>7hJmRSLP<3F`*%T!QuI5w?A=zr?_4f#h(v`$eI} zpF*Ck-PT5@5ApaRh1w)COxo;ds?d7r{9`IdBzN#Y zw-qBkYDFK{7*t@3J;9EU?tc}*|1TSNZIH{_y=9qmme?q*nFO05X(k_c#i_U58DNfE zKLT9O^2b!a5>y2JNbY_?jdH+9~bo0nONV`apMNBo<&mn*r^9pV$R4r$ujHMyZMvg0t)pJs(qXq8vg>{wPLs`%n)F7GpW zcN5!U9Z*ABm6u`Ur(iH)nuq7sh5d-tNXPfJEYr%d?4+byI3Z^Lfje`A`*^Bzy6(f& zAEKx*AXQwdcc5szfxxhF=pwKN`?~(I5+n;EK2WLlF9h)@TD_}R1HcUpg5Q>L+Ba$QRw zua+aMyay`}CGY|4EtptD$YGG-}-C1MNoo8gY`U$Vr+9qxI00PU;FLxI+P z)Dp&l0b=FcQL6bVv{|G&Z_*p1N`hY!+Izwva~ly@c;UNz<63*^i1d%qng)Bc-;Vw^ zweqe(}szU@~*@Gjb}W|xP#>xD~c-=0b7Hv zi3qq^{ktk9XODZc11zh~*5du%IElc*$KR&5e^T6GnonrrMdPmUm&Ac$1vg#I<(?aCEVHUl!HgCa?TeDZuCwFuZx6D4vxzS!y+~QK|9c$Gzn9vm2Bi zV$WhU*Y*$z$4|7t-QgYcU^?rC4o{|hcl!3MQvi^nm3X!I^JZk>!d@0xeuIt|`zAov zI{o!y>HRdr=7vBr1Ft#_x+;#^KxD9zW&P@YNt8=beoc%v2;Wd&Rs94kW|XYt>g;I} z?{=gmHgSY`Nb(T5Q=*oOtNmzNj!utvjx@Qb(4~qh((D82U3dOJY<9Us|Inusj{KWG zJ;I-M{^uR2WH$IbB6l%4X~9&Oy6h7CzUb&!3-1e!9fOFLty%4LI}ngC7nrc4nq0mH zKp{!ku_!Wtgj}|z0I2ZbrGu$HT2%65HrlPKL&9Yq;@08lWe|a9+M3b#jYvcuQ2cG( zsaKy}_jI@Zh-kNbRV4TBt~=SmVNQ}*~Q zc_c802$#?T?%rfU-hcy-PuqLUxWh`~Ulo64$A_TIZIOtD?+$IMPJGv~M)#U(|3>V3 zz;VLPf3Ew9G^OTBr&xI2u_RtG3)mD`%;irj7ajn>P0g%lm(t6Y14KCO$j+*^eBxsr zlOmDtyOl`v8au1Etp~P71!ow6!2x~k8Wq!`*KK(+An|Eq7rS>T5Gj~BUOHGxBQD03 z35=`7R4c)RN=WApUMCs-sq%k$dHAB-(1>3l_9rLs{n>QtG$gYI0%#v~tp??nh4yFi z-T1U1?&UN8>&LM_xZtgI13h|{pb<5k249uu=yL=UQe&e(^REvE;FkPNQ{#H7UEOX) z8i#+*C5klS;eLjRK{euC9rc(x)p74d1~UQ`=jUh$T{~xgaqY@`iP2}7NVOfwQD^+9 zM9`y8uVm~;@yIF9QU*{R+TqCIx=|o& zW_qOig`4%qD~}Y4LPMXl^SZvz$6SFakL<;^k5ED_vD7r-_>KLmZ|q!Hdm-bsxv$67 z$$Nq>XGAn+w(8SZ2b%P?Kqx!ZeBhi#8j@;=xG&3FipQmOJJ239ce_Ns>%Xe(_q0X6 zGYzCOe(#Lw4fy^i9Y8bT@VGp-(FZuZkhPmiK6`oR6acB+1pkA{if+INCp68K|B!&l zmfSt_%-3fKjVCnel*~ss%Hr+<7k?012t!`K{d?v(uKKkan_h|n=Rjh< zk))aP1v(nG@p$oIp&vpMkyNguXCC4gB;E~s@ba|QqDKap$Ns|TmcqQKUwDu4m3C!( zA1Aa~k;J=*8=;8nO04Y^+}*E=i^q%N4=xIrmniYn%L^>k76AG???qbABHxX`XSNF0}KF@uz=BvJTH#s?GO0o>~#fv>KJeE>tnbQHAF-9FD?K{bkIIb!p43= z`$n9Cp3)5o*>z6E$|?I74T$#EUnfJF!m&2*9>}@?U{;5@sx{4K{5aO;O$KC{gECdc z@xxKhe9i_u4RuK#`0D);AQaI(sr^|IAh?25j(kK>?V^k866gfho(d zsP%U4bPD-t!3Jn}gqA1}^5bB52qbFHb#fxHt#SON`Vn@s4>1RD3|+RC)3*e!$H{~+DI z?u2U^GXD{ft&Vhv`&{E1O8%Y_MsjB~J@a_Q?mGC;f;-XihOftf=?TxM7j}nu3dsA6g@O<3 zu_jK#M7P`upy(D767j`trbm9%Q;mLR^!Bb=|em4+tS}C|H0CTKVKX94fA7IVha0&VGns2Fw^P>1s?PGyG3d`OnNro}-6gCMF z5QP?_8A;jjEs>57lruOUL7G3{AukAQBkfi2f6;i+Dq@>PJ~XQsu-2{@o{D1gVtVp* zr(@1KEjdZ?`;IvfLnOl1!0olA!~?+}vK_tuhN#EDZ;kRsS*+H_CcE=uC-lx>m#SgPt{6d zK73Yuw*_Kjsm-2u(Ur5z(J8-QH$nE6`GvGGqKtaO=aUyC9_KxJbfAno+)3JxwQ`z2 z8y*(-e)bxhx#{+jYq(KUHwZ8*Rx}W6jJjpZe;}F0gf9b`((26uM*TxHp@C|R6<6Ix zc;6mN&fUajA2BPV-s1|L!c0ds#3L68?1E)W3$|izRd`(4fibDm#%cmivNW#pp{Y*_ zl`}cb-iFSbyIh;Qu$kR)Hi6s&GC*WbsiD3#E9&=HyrtW}UpgFjD!U(VjxQi9D()38 zythkCoE=!P%#~YV8SH-?0gAL-Vha$nKB-kCzE;GA!wTdWcdq$yL1@4Uj#TznslqzP zGX0bRhIYujIm5&MM_%tatk*m4T|?D3>k8*Q2uaQ_R(8PspZ{iB{g(}G9m%~SuFof^ zHK4@@tZVFZ?5qE>R-I6x~v3^LG`w5DBf3$gF|1R=}W^?~vErlKY zX@j;lIZ5sW``abQ4+qv~>lE?P=D}^W!v>bQ96B=io8JYYFTL`FX|yOdA|cf$?@pOJ z|E}BP;YrKv?FLx$_v9$D9y+fWu06GdJs46VFqMD8jx{(pi*&_4_iWiWxt$NFG3_;6 zOXH}mjj9y!Yc1WF=)e7e%^48TfHN$gKFNMfCtnZ-;fFMx>V;_%S++(MZ+lZPOxfBL zvd+zkX|sD#)toq%D?Ci1V>^o}Vu6q@teSA;kX5I`z#*AU^gDlYMiazkfl#HATXa8K z+6;b~erbBejs)UwKCMZFlRA0ivFI~gq(ntptNRoIk(St@YcU8!5%>GO)zOWNYB}`x zR%!bOM=~ITHfpZB$d#D$M47xOEE=)s-P<{Hi}H?IW7f(+=Z4?F*s&IghR_3xd9jM|bMwQB?G3x7+5w1~`jd+>Sr^BrH{ZcXH5%i{Gssz9O23C0|r7YVA61EuZ+ zSul5RU9@am58TQ89`YDSF1Svg({h3+ztYd?B#Fh2o?$wu8~k_u$CWyB3nu^*`f5HZ z;v?hnQW3C%+6>nw-VQNd-<%u;LNZ;L5Y8xZV~NxLRK=oQR_X%0+Lbzdzp@03zWPQ9K!7mgN@J zb5!nN*&I^4w9>PF#pl<(oGkL!VRvaOk^kW1UrK+M*udDhnfF_)pqDtKEH$zG$#-yq z|8ufMrfMEswGMtxc1@bf8tTXaogA?V7K_`J@%|hRgWCV?S}&>b zr)z!x0{F6l7D1I|F2T+&Q#=0oy%&Is3U?b|aEQR;igt+JDKUHy8Y92hxp)~sUJBnb z44z}r@842n({d|4)R?v1o5RoWeHJd$=;=nvRs%3o#9wGTkSD{^Wv-w~+o8-qqVW>qr;?}<&x5k+#0i4EI<*_C zM>Vwd#Oj#49z@wUY^XdBPVCVZP5%y_Ot<+SiiIXRaj){<@?{e+!KKa|JIT&}aRQjg zU|V|58^!Jir8 zu}LW+M(=Zh4Ec61vf2FORhn{N_wP4+q?2SfVZ{Ia#_UMwClkvy<`Z&b6SMR(ITII( zEix3z8UERQ+6L$6rS=!WZMi1!C=d;X6C?}y(f!WUj`E*vnn$W$B#Q|G4i>r~;0k@( z5d(Oo)}HdLjhpz**q$Rb4YTzo&I6c=*$CrbT=6UYOmKB#G~H>NIrx9glWG2n#}fC~ zY0~v{(|(ro(gY?2lI^rXjh|jxjLQ)QN|CIo%tE%sKv7vSK-dCsXLgZPWEx6fy&&Ik z-%u<>QU#b?`KN#Q>RYui^Q%&l0thqcyo% ziQ$XtDsyy;_;fds+3?8Z?>(E&QwC4N?n`}sIEiX2mIvlYM3)DDa9EjT+@2h8@@_=wCY&6XL)yrk`mw>33$+t>?yQAIR=5dFTeca@gG#L``Y{9OA+KTYDK|!i&3n{sX#^AqY~isza}KW`|2OFX2|rrbpMqB=()b47Dux zP6Q~#UAWYZYsjuaBIIWsxwCcG(-5_DL&hX;%s)8RhHkR?ze)aPq#AD14$;g`%$d-$ z&N1p=^+t`zU2!?6?1RPrhU%w<|9`B#bySpn+cj)Apn@VTpdcV3puhkFN=kQ^ba%&q zC@I|y(%s!kcXy5C07FO&0}KP-N$7oj?|R;MUDtI#f8i`=!L0K<=eLhzAA9fPEL6Xk zW>@R}NB#b2NA0rj7zf2y1h%Q%eLy)rdB3l3c=sQxWXCpN#576e9fJdoEZ?seA<^f# z!{E5Q^Tff#--&~bKmOFY|6mi$MeHzOm8?0HI~E6x%ASp9HZNZU>;f&|?RZd$MMg>I zJ8LX#tR2U{88=vYCx^TE$a{7$mDK>CXNvAc^Ag5eBL*P%EsXzja3|6KHw$5%`&aVH z*hWKNVZhfrUc(|NL#Pt|Du@97Es*}76)mcq|7t}`d!lD$hh2thwaR451N95^= zl`1JEURM^WqYR;O{g|+S8QtVXl>GYkwc0<+aClT5FmuhtH8fPyaw)&}@c&fWQoJ5* z;%Zs=%Z2kw9p|G?kE3!8nI}?co6{(o;+{n9=&LVNobf(o0-{EC_C_G2Tyk=^D{=UC zjGHPfPLulh3{P>giZmXx!bXa|wM;L6Kl}s$oQ2ALQKK*K0 zCth6PwKJJq&8SZ}av9?x5DCqDf%Hirz(V^ESJFZU9CV}3LSUokNnIR={d<%?pT*cz zXvzU@#2d?%$;!X$D!|Tlz8`URG&SvS_}(Na-ADiU-Uu?U-Jp4t8FW!^N+J3Nu&Z0+ zaOy7hg(xgphA}VzqjH6~jNhd$_-Qh+;xw}ypt?X)&N=@lN40W-ui*jH$h9ptw zioGqsWg%d@82LV+jXtd=y@v8ygA%r<7yU#0*($Nd3(x6E9uyVUe zIoITpLdav4R%veh#k_Ufgh!s{q&d4a$ia)p3p zSKTR4rX|!#-pm^Q`lW`An}{=($Ho`8Y=t*Zg2DR*&%F8*sS7cue>OhLe0xvB;OX#m zoq}Ix*;}C*z7TQkg7*Wjq@Q!Faemv}Vc+6;L59PrEl|b?&7TdCY)XcCs|BaeOZDzt zE2yTJd3ia(DR9HXt5dI6y)i&4;S%)5mt9tet zK7K@QcpqKoHhTx{w|%47ffXVXI3g*@Q$}_(+Bkah{;VE*PF<9+!Bbm~JSCG<3ByEz0Q&zdCya{yWYra%fx411!;y&DQ6HKj$e@gim$b=Xm~W-hjrcUz zji|7XtFybxYnnO=bTL&3WBIsEhtaD~(N^@WAC1T&ERaW1;Au$^%g*P1)M(?Z4e>$B zjwP=VRIp{SllEReuL@=DwnJV?hQ-B!sK^dfpEpM@XMRq78>bg6kPtCHBOMN0G4s{> zk=vAb0k*DjGAj2Qz4ZpOXy*BhdSiyZj@Jp6P0@hcR60!L(e7lyAwFfX?+wO09ZmE4 zNYZ|`S9Z6m{8aW&U<1C8p0vid@ zt*09aQ66iUZ!79t#I`zR5#lVC`|7_2Z{ez z-k%!{-k#~2k8(Xa8Ko&ZX3x}iQQgoNyl zMAYKUYR{fXe6RfkRz6*?(xW}ndrA(Il0(M|yEZ>_2;|20O8YkJ@5}tQU|`WPb*w|0gmF8TnW545ZcV_u}&h;1?mcX+fT{#aFoLf}g?q43aGJ#elOM zlhxL2eSuIl&VQ`Tw-PMzbHjf#nbZX}VvWpYwMJIU*D6Qif>&3I+e*N!gSR(3vupEv1H1MT`k4MB6)D;NAANu|EX`<4kb z;|+hDqPhmUhTFJ&kWl6xtSZ{@fTPK{N9?CSUdCChGmLb}wq(*H7-<`10f9 z=?_g;dSVMbY4HvlbM}62ok#MOm+ML$gb~fCyM-o1ZEcGg7C!Q0Z1)ROBWTUxN;6j? z<`%unUuU3GK2O|q@N8Yy5xPt4ApgBs@LjwNaE&K3V(V z*<=X>c~5|oTJ{)<*`(EgeB*dUGuEIjHP5holl|Pt%)^5f5ZA}RWck6mm%?)}_gMJI zGI?8AQ0MNL3btwZC$T0W;1EbbXdiTF7m<1jxRpU$6qwzobhbkqhJ4dMB>NNxs;kyE z8ZYeFhbnQ`>I4fvero}H;nNEoX5aRmV&6zK;tlGB@kYJGeZam;2Z{=uU?C`1+0>C3 z_Qo@W!c{Dvq$2QO1y)?oJ`dslUK1EI%bTQRZ>HA+g+b#LpJ)VR! zepo3lXRzu54_CLm%YE~RsVHgRJ^SX^%XYU=%bCWq&bEEvG9)?LYU-U83QTAM3ld{>k#9OE40dN| z2l3!q$L)5&E9a7af0Z^q!>K&Kz&|N1{v!4 zDZC0x#?H1Bk6Wu|c7_H|mM>X$UhXMESF`+n1TE9B6~VFbSV7zHqW*sj6T)qMU6p}5 zHtnGBDQtIwu;|{V*}=Ziy8V|QMN^2i(o1r}BtmL)A0i5Z+p%@A3a%J%Akv9DE|6qi z3&%i4%M->DC)JSoD`z>QD)^7eNp-8xOFhL&OaG ztAm(95BwufLb$yv;s6hte)%wD=UJwAgY_gstk`>_dIRrG50i2LwxY$_AC{t-_TVao z69(08&eICeAvP!1$6xg_dRgH7rF5|HEX|*GTpDlJBk7FzT2OQo{L^psA^Qj3lsV{0 zg|6S9TQP;7jBiP4+%ox#WIg*Jfs#YU98T$3PF~W(Fht-EUGkUHLZcTlSnOuBuS8_;{>%S3xR2S$imB{_jrX zwAJ{_o>~ZOCGj`+&SOzS8Q;c%^?oMX0#+i@c9I*<4|dx{(=}VT?ULRn zdSJR}lH52zTFg}gYZI;Z%`na?q9hPt5|MeAD|LO<9$0p63cDoVziImFQv{{MdmrFd z$U+q;R0uCqLTc|fju01=r2r-o0`rLofm_xFkHPdcH6W93kpn&h1@7B>qz(>2!VHDO zZG_~Uo|F=2fTC?g((^N?b5k<2*U&DY4X)I^>VB<0e+#LhaJ2q1QEjGWW$CES^ZbIm z0icw+se3#_fqqS!%?6WiY;vFzZ%g&%W=;!Tz*inb^WjyAx>dQy_mv#Uc&eSXu^&v; zN$C5tmNqmU9(d4ay#0V#t=M33S=TUvpGw)S(rPvJ_u(V1 zzRLd8DSXRa6t8{yl!hyfE2~@wp7L1DfaJm z`?`bvrCM)3xq5WqTN{FUT`9(zcIdnU`EWG-;v+d558Qp2JlnGom-e3KanEGF;-^DZ z=^zuLtEpr+5WL8_^YPW;{@86=O-4^?q|r8?5khw^fgns*l0oVFMzme=H77FFq>kig zxpbX!uR<_D!ek|Ark*OQ1*VW`hTd@3Zsj}E#aiWE40wZWamlg0o;vfYVoMUY|;jrlWd0gQ#7R#@7U;N;|{3f8AxDYQcQ zk5YSo7#e*?X6)VLtIH}9u=Md4WY3R#S?d!Q4u(;+klMt$Rzm#`XOHO{7uG~=3W5K= z$wA(L#23kA-xSiUiqV19ysI@dzq>h-YudOP3lrs9CVrXULJ(Rj=`oIBiy$L&gRHDc9RvOIY2JyPblM}4*8tx9ayG% z$T_=fv>G|`a@wZ}K(X0wiLZQeKSc|FompZ%7bZy<0R|IAFa^cS+!dY>;lmn2WLgnV z7{9mFNvSAHyIsxQwVc(@PegfQWL5B(H5_MBWV`lcieQ*+Zl9;Grl|>Xlo*(;SM-}| za&n4(bZ3Ys^TYXyL6b;fdZ>*R{>F-<`HeB^vv6C6Dp(fPGXpX&CwW#>7o~jrXoKI| zKrM{T;ZpaPFyF!k-4B|Zzpg8`eLXRpJ!4IaB&M*`hX)FUbx9`5Hw3!8>jHh15G7JgmFjA-SS!?q$j{|Y3z0q1gdt7m7x zX7?zwKaUijlgSESs5eq#Q6eq#WJ5BPvmY1{AV}cAh+v&S2e>tKfq1KN@tPUI*Y19E zXuPM=xYZS@&h@^)V{dUsyJTS4ToPV38K3|~R+F^ipwjEO88yEpIjDdQVaQXW<7L(&9pykA;N)Z1g-S#ycx!Wb?Q z#(5P}Te48-Wf(~NJg)a*Q_kGLZCcButx#wRJsR6Gc-I7L#G{`}l(k0QY*aOQE(fOyn^IH79ydT?bN?+gYMLhP=D7aL>ckM7qH@t-fmZUU z9S;y}D4K3F1zA4rEDb?V({Wg0neW^pHo)(9-o$}5z7!mB6FY6ILJyoNv@F`j8-+0; zJIXGl-IrHU#wAGjvQBpSDp=Z1maw-R2IhFbC)x<+FsYc>=8Ud+DC|6CoWJ+BmW?aEWw&!Z&+wRT6KPkru#- z$_F@6zlH+sd?La+se_tr?0Ow;LICh_(a+XncF?ggwySsF#&c(Diu$id(zL}|W@LF9 zYMUuP?yNF;Jb?n1GtAU|jq*$1<{%X#Nzjzc__ZDY&*llTCMHDTmY!g96Z6_7BiItc8O*k&DJL3sk@QQCq{)-h{t;-pU~upd8c}{{-Hgh(GiH#>{_D7 z>c@%uoV=F%&q6LZS4+f)rZy)U(;n6rh)y6#vQ0$PV7iU4wQl^m!+ux#laBP4+lCix z71G@hlNLlMuva4g5$5FyxE1~^Q`+#SNqp|vwHBfD!ID7}>uOkV?Akbf*`MOVw)ySC zh20uZt=8@A_FWJtWMoy)$UiTVZfY|mYD@PSSzyuvQ;~8CYIZ6fpXVpU)~w5I1qrgG zE&)UwHJ{IVQued z4YA~v2JS`|`?0L!8oUfshOZ840(?7`aF!2uTtdbs$s0Hp(UeCfW!EvdUEVz-<9aBz<%3fJi-eEbo&JKm^ zla)#4!4q+c z&~9|O+HkJ>;V*AHpr8*fse7qbDa^F++PiOWk_Da?I4Nu+#Hn7yC>I1VV8Y3%<#gmLeYF|uo?)$^x^Fv! z7j;5a(KO${tl4-LXlT^rq%w>p*gNI46E5q_eUrsnI8;r1X(hc*APvBLOqese0f#BD z`I3X2*518tz6VrWE>YUGuY@=6Pde0>=QE2F4pDk?Uz|7m{FEhK&)N%Iv|l+)*Dzy) zZ{GaAq5Hi*sN?;3Qb!oaFUio;1m$#r-8JrBa8nH)++GwmnKir!6oce571`F>p%Y;dJBDu-%uU(XQ9k>d1$ZWD{6Y zV{Kno>DJc8o*STC7q|TB_K&*wM(IuCR&SrexyU)3hn&N?!zr9QI!7~&c5fUa%qrse zXAXrQ{=xEyPCXDCUW?>A5ehI->-+PNL)yU6TC-QXrxAdW}i|PDhPMYCo zK>Y*&YB&JYm%Ag?8@PX=H)tD9a}mSb1{!y@uyVW&Ykh?UDRW-7P%xn7SiY=PKJT|V288b5jMj-R#iShbCkNRe9#uA(I*08s1aZ55Wgs9qGdU-}V6=}JOm zNJ>7N!y8B;#Rx=~;#*RO@#T=R);!Y(>pA(Cm^oLpg{A~%t~-^zx8H(?`r@VI&q>X;er_Se;Z{$!rak1@u>t|GsF(m)R7@=iJQ8jrqu$inYaem< zRh>9&P!foc64M@jD-)fEj}6#8Wm{uwCg~%BK$Ma)Sd^VVD_(|MkH0KIcIu^Cqh!0x zY9eCgRYa^d^q>c!wVq~9wT-xXiC!(Ch`3QXk)I}F!4$B(EKPAj&i4{~viNE)QNM&p zV~E~?DZgC+B<^fYz8X#`q_xtVM2*EUBat7kWhcN_aHx41lBuZD=`Gkd{z+E{Om|6#;L`Qa{rL#fPKCCFEW~Mf{e=qt>Xk z=f^EaB?l1sjL%}+@cyDiP)41+%hL`ybjKA9LoqkK(R?Ga&y&p5-4f}tk@B3IUe(jp z6ZHY4S6m1fZ;jiWHr)o}Ph_GsKtHT&jL|Hl^-A4>?@OiuF8HMPFO2V(!i>M*qwBxI zM@P2Z*S>2%G_i!%hCX5mhk|*DC9l`_8}lQNW=3E2k!}lO%|^D=uP-_&c<3) zJ4gg4SQ~Ngv4NH*6!!x z%I2pNW2%+B_CK~$y5e=NbvX- zo6)A2=RdKx9s+k$AEHoa5oOe-{xEU9+Hs9^N*@>)(Jk~ygdl>*T>9?hX^%*U0}LZxLN|1vRIE*>`DeEL9OTY!OTzN@~Z zx9TvC$!Iq0MMSH|27QjQ)L|yO;PllG&hHHCgTbGeT54;^aF~iTu<6!p(&u6UnDld1 zT)8h#YS^0?I)&Tsa-dQx{e z&Eg~Fg~zH&2xI2Bxb+e6kvthfrd7tlLiUlhI2QocI47tV1-4*!{+j^C z*zPzxg?BX!#tW?a6ZKE<5klDDS9#ox4ti-mhniM&!&^U@Qbsh-R62S^aUTIR@#__f z$wLWgrJ^rCSx7UMu;&Z7&(F6iZq~$MpsKu2RWD$BNV)WE1@2EQqL$-r4UM{;kzt|q zJ!QQRuEfIzr}^G32C!YWl6ER5+i|LUcMPB^qS#=1^I(o8%TSkPnAnx>j{Q&ZCj?NK) z6JZ|;6~b?Nvz!1`!Gf8nEO=p-p7i_CmWnHT1bBp)270IUi5!qi0WgY)?)&BhR3)H7JJ_jyA$Mj zWNfwn^!EAhQhd=%sCa#dRpwiKE1(#$!Tj_HeY|wV&OQmZ1n8vI5pmiB%@525M(@%a ztzR}2a(Hi9_8=Y2g|U=b>Ek`CJ@Cy{Ly+!Hqb%N}C%D$i@eFT_CR2Ee>d2>?pc3}$ z*$TB!pP@{mCc6nyN8K0j8ciP6CrN5z#NYi@oo=$w@^!;ZxN46VQo~;Nt+T!Kvn;w1 z60dEU`l3%`6WF8^2$~qLpL>3SmP473C`NjjeI-)y%v5xqxQ@n~pCpSDShIFZq>`x_ zCVz(NYVfN|!>xdBO)W|-656|;@Yf0B{N7(CjEtK9a>7{QD}3jP^3C1IAZ{ME_}M^g zc$d0*Tn|eQsRmzaX1F$1oOB`mv9IpEsI_Lz2#{w=N4#O_*J)<}kq+9C=AL?r+#@*- zA=Zl=OwD%;)wJ8R)4!voJ_kT?WKGr+R6`f&*~-jO=#X8GXT%#ct6^HbKa2@g;WFg| zEeg0FI7P~EH!NA~*Hv1fnLq4V=VLi9o(oF0L~Wy`z}0vWOc_OV)IN-FF)Fm{@&8R5 zqBgUZ9yqDI&|Mbwu}!vC;7P9S*PTSigf2t-do;}Y((%bG8RQAQlj;~)a3YiJ#i}t6 zLIWL_7J6r43i7Ncqxo20^;m2vl%%vFXB;?^;g0-Lv|z6X5}8t6=iN0y5q+=Lc?b`X3u z2CAy&{yVjX_l5+iT8;%IS~(F1{U+5e)b!8uiicZ1kApMtdA;I9VxL;7a+dV=@#2px zMhHmhelDP8EKzlZ1)LuYdcnYK(zS8opEP2%aJH&plTA4BD{HG_8D!s^sCNYq-?dO! zyv7!O93}pud>~_WR(WRD?V>T`9vv142qjl9ybsJXlhXYlpeE5guR<4zR+sD@&C2HE z>6_I0S&rgFy7+@}U!EG=%9-DfW9(D<+;gGA3&N7)0s{KG{~kRmHW(kX$&1a5T72x0 zM=U&_7-&&J+9O7}*Nd+h*&ER>C^t{}Qra|%RB_R~q0tvaK`8xD@6)%VETJy659@Je zuUKd`i%WTmgLrB}PX=z1Ylr1Hypujw#$V*zR7h5JJ+2Q>2|0NIoG1Uk>U`u z_QrGwz!?~tA~L)^Nu|wxBCM17JG|WC{a5OUU0t);Q|Ams3=noKoH}QKW^2BTu07>b z?5>k*t>KV$5cd#a><-4b7FUY8sL4ijzjD4U(|uX!q4MaszZijRrPG{RX8r^=2^YEL z%MrEAURY1(m_NG&sj;DjqwCRPoLB1& zu|-8#IfKX_qE-%RJ2y=pje8?PP!uGX_aW0S>HS5V`PYaDlVmvg^FkMnF2JYK4_onb z4gD)b$W)iJ@&?kcJW4)LEZR}t-qo`Tdhr#uk^@qwOOfy=I0TW4PJJZ4To`_Hmk^H8 z*7Vf9GMmIOtzQ@KU#^u;f3Uz3W+cQS z?RNpI%cOr@XIHh!4lel(xLzB~6n|bUzmF2u!+Z25<}7T-JKwv5A0oK`TKskcxzt0Rv_|}7n@e?8Q>eXkPl;rs^gPccX*>|n;moBu{3{)fQzOue z5slgmJHMeJZ$wo7x>ZxQk|;ybpkP!=uV5;?_qvF4epz4BJdE;*{}a;_?uiIkl5Al>zHEU< zs{;3j+#T2xCfx`>_x1Xz*0hYD>|z$vR)TT)!_~ei+@aM#SHJ8h+ zl!O-J)K9v=q7{TO%gOF8CQ{{MSsjn44Oiz_7wIrKhOnjVka4TmuY-{)iuR+eNR7f3 zjt6u==@~o{u}Blq?mk z!YRKY=qV$0uLR*xt2S9Iw`eX?M{c6(JVnTJ8J5*fKagD~{0kZWWpDa?78J?2bD39H z;W%HJB3HdKpJ61IjzYxUQ&LlQgs%M4+>W^hWzTV^mNdYd79IJHe~QBi@lNw&EY8aU zCZJi^{O102{srsMr6bDnvr?tCiw{pMh!0n{9rG+@+RKZ>;(rTCXNquzoH`lU3T};K zRF8@?TsPA4)T_PI@j*DeT&?tVtb?N}{RBzbQ=i3BZsgd;!MyM-8={?-%y_#@!mb+a zE;R0B0nBezMf00%wAMgJRDwZ5CAKr;g9>y7tlqP6oqc<-$B}}BBGKWKOwjrWCG6+j zqSzmw>t@eSiQUU***0>`1JR;y+EaQvfeo^!LMs-88r&_!x3&6vPu451S)LO8;V^UZ zGMI=#vr#=|H6LxDU_)1wa7Cz+zH~0BzJSAK1~JpsYc_2Xi&QuSRmOOJN%A3lYZChE z8$zg4=}!hA{n5M?7q`|w%lK?(z?*}D&kMDk7Y9u+Ao+3fEI{wiI6>w= zywPrgg`4n1*^$T)Yeye$zT!Q=KHU;~QV48`9jL>Fp;qWQZf9fo@dj!lg#4ws&0B8l}8z$S>`Q4 zj*S_-nVPZR0WB|?kKanY$;GvKFmOAUShUyk1Bmib(XLpRz`!UGIJ!5&Ou}x_^No~WRmY2LwQG-t>I5(^-y@6$VQqVG$~0NFK7+a|K2iYt zimI|j?Q|&OT^=WBOTQ_8lo-5ZOIkKV)#IrU+JeoLC}D+3#t0*#iDn!VqqRHH9jud@ zRp_Trm@=M3_E5>ZqwPm{+d{rHPoGSR+%XmXzzK?SepBgUfyrpAk}MgMbkVOL%CkQt zC9&0;dBM!UvbU~H8p2y0xKlzCVfty*6!95H=G98?&j#K2?1IC1hLyQC-GRMtd&#S< z#y}ulLrBQi-YQ!moXTnHwKpD?b` zAk`==yKJud^KX2KbHhIaLLB7btp}sb7O29W`r~`-(A>x&jtqajK{Qj>;XF|&_JS$h z9zWmtt-)$zNqpXxo)~sm6Ljxk9LqP)R^f%V^rzcJ7XdLqVl${@0%d*gD@ND4_c2x! zz993vI0dYWQXkmHE~wXjV6@jsn<6yWoxC&4AWoIqPc25j^7eNt*d6+BC85)Ny0Z0ZvB=mA!7lH!4-ozYVlspIdx~Yo8P}WyI5YXVeh}I2z>1d z4ts#Raf@XI?*61~?^Ee>z+y1zHRzmpV`u24gN9v{m%(2pL-fScn4jStO|s;czDGpt z?S&Wc_42)vjfm>^0Pc?A;++AHjCd5|F~s#n zP8Q95UFck=?n~X>lObzH*Q?37v9#ZH>u3Y=bn91umNJ)6U>bolPYgz7~gPE#qy~UVTMPZok2m8ciN=>Oe)0Et|fAYcfys|aS~bu zKggp1pF(3(jxmd84zCI4sV2yXT!}VO?N#zyVbbE9PIseWLO~jMOf@qHXE~T7N^gRN z5uSB8odY?ZCsZR;p9FZ)at-NUHMjT&+SNf3i2rIG2t)!z#(mkqlX3;(DB0(ylD2(HsqJQ;-EK0)UG{fLqz*jpP7Da7-tr|WrsVaFnpap z){7~(iov95uSOs@avhnc8<8czMWK~L%(CdL&u%3=)7R{F@x9d{qp>{Yp&!=qHRD}!a z79S7D7@~Sz=N~^rTo=9=4#xK*FBWHV=m8U(Vt$|XR^$?#fIo?foTJ=|yrT&P@K}RG zF1A!13CqChxWfPhusUwfFI`{ELVXKh7UxM->Kd!Vg9I=h0Jh!-!vuO>;et#on(w_m z?Tyr)yY9X&S1LE%`|uFM7v8bu?!y3sOO1(#xFpUBkF01rN^1i1;+}P~c}}PCfTQED zxTA#fS)=M*o0~jX7s0WIPnO-nLH%|e`9fkRO|j1))4(PdpSOh@Y>by5$(Y;)Ho4e9 zeDri7*DDSLfF(455g4vkce=@CJtmwHFaqPA8i5fVs~0mqb(ut2UK>0ALA+;gw6F+4 zrt(|kPK-Bzg{`{v5RjWmtXZWoiot$)ZCd_aceUO|6Q_YeXPiwJ`!5;rhp#H=hq<#FbeXMPtN+!huXvH*Cj#&l^M(l>GFJSG zf>Gzxr2_-3?WhuP20+uAPev?=RK{94G1aQg(NjX`SSjyV^rWY>p|cu9zf^QUR)wak z;v?C!l(!Fjla)ok&a@Fy#xGBG7yDIAM%)gSR3pmY51a|0LD+*N>MB|7pd#h$9AQm` zJ;(QR4?z~sf4al*-3b%G52}WEYp3{E4l0~?4=|uEA;pmA=5ut@`M5kXTDXK~bs ztu!ID2^tw_i5T`Eqb){%$<=f&euch{Vr9BkFXm956=IFX?b@q(3LO zfqgGQe~p&dVEbz(9Ln$ZpMW?AaX=o+cfFh9EEBH7FsUJ==!rW%>+QNP+bbb)qOE{^ zr2n1sO&%1PYzR=OrU@Q4~XalIWTIrrrIjfAqdLj3v}=mOR`XC2K?H15o|?n8QE7QQ>G$XgQ+Xyb6T2zsN~Z z#5rStP5wOtJdQVfXWn|7)ta?b;s>G<>%||nFR6J9p#PnAxs+IkwRgZ!PiNlSxLf zIVl}y+mR#p1+(i)XA~ZDYoUTGF^Y}x-rDgOKQi#QsLl?;F?XV`oUk>5;^)0!j-qC2 zNia8h?eIZ!Y^xbuU**@tjemEn4YS`t9nrQr`^$abx#=jrWAovVx!iC4E>;Edf}Mlh zUvmpDjN;C6WU?o({@blmBqW(h! zo5_|Hafm1j!;DcDUXlc@c-(B|Sg5YEcOli8_GVO;Sh2@@_)KtX54noKEX+kZq8zR^ zzlT^<(4RlO{orJ5#Z$S^e>aJ|pE;FAqfn^luFIR^0b}uF3mPnNmov76_Jci!Z_^pu zY)Mx6+Yd^Ml}KY2?%1fW699A3De%eEI-HoV$Q2ZHn@Tr04Z_surm(OT1&{`)n%%sc z+Y5Ge+-JU%1Rdu*brQLeg$+N#9vLo)h-TS$xzX|P-;#ppN2l&X8)mG4f8;#jn{qW8 z#?MQ0WSnmFZimq71_s~8t<|gIg0BA1X6Kz4Z`31>726J(#UHQ}l4vczl}UzA9rWB$ z(GOc!0LQ?hZT2qVtI;(eFRbdqwzf=cc4|zq`J2WRc9G65XhVoV(ao^8DaIRO2{GEi zE9WLf6Wvpj;(MYi!=U(!xn!(aI5&PeOI=j(BraVK@kgEf!fTUsL*gRkzqmM7#P@WHhS`Se@gqZ^e4*-t>{|X)fq%9hhx8b%;52_6^8NVukp}!j=W{h7e z6^m8;0;KaIqSm!&Bv8QAKGB1ZUb{}t#L z*-6+=xpU~}>FhDcjj=AUcyUy3aQ^YFRMaB24nG_fGZ6=SGHXmL$)o_{=i9mY*fO%? zKVJQ+-FI38T2V@UXzb<+yF!}A#*h?Nv5aMgJo%UTBBwhV4A|WGx+8amdoW~Lzi(Z8 zKTeQggcbEBp+lELUo14@@P(s;xI0OL=rwPKuv^6(x&aY}nreGYMFIJ4&XDb+T}-ua z?qv9@j6H`E>-vE>9`B<0BOH~o!~p%y!6N&+1nljC)3IcKY#UVmCeiWw`5#Mq0wf|m z5{FCwGsgAq+sJgCejwj?Hepz3?yiTdJ;A(+c?6bHJCgBme-}weGGlula_+UneI_F9`R_%f z^w2;kc<0ID)?5BZn%j)Fc&_z+c+EAFSeQGgg{iW`cxD=MZn}Vczgx)+1~$QJ3Ds;I ze_>*sy#B((e)(5StS$R)f#={(qBC6-cd5bkS|H(6%Rf=62q`7CR^qg7#Y(+U^lBKP zO-ERqGZ;mvs*s_eO~&5X&@dVB6e;6W7k#}*MnP_mPbhKB3(5!BHrDH{G1n{}j2x6q zgrXwOKrGHo3>AkTo2rh&%}4)46AUH@uxpv(Md7@zAU@e}Oou&5V@PTmnz7vtKU1%9 znJ^xg2B8RSoO*WV!1=2viR`gf&g1y1`s6{?vyF&kWDXV5Izm&@hsZ;PX}sBYZl$r~ z434iAY9o_6auKqYh|9T6CuBzWL zK-1>a{l#BIEW1qn|AVrp#n%Z5FI6X8=I7Uldlm9el%y1E*DW1&HlO2R;M_zk>E(a! zX>Qcpf?Q`3V^KnMx7LgEoMC3!JLEhYYFM5?`itX4lvc4 zlP65KJl@?~FvXhIL^(z~Q`aZ%)L$&|wmPYZw^$~$Stu$=!xmv!*^ylISH6&xhOhkJ z{UKIx`-L5yP*myycjt{!e;$4Ulszm3N(yL78ws!IQ4I0C`Klp;Po3~FstElVpPGV_ zus6w|G>$rH7OxDKN)JW9r$%Abky}y;!7Fvk#5&Lt&(6CCs_QYF*rA(pI3de0{I)H> zjgs*k3*2P#6~vZ_Vs{8)*Jon(srdcTH!B`0>IB>jAc4l@n-Y4b`R-2*_`Sg1Ozub) zmO7bEec_UXoAzxL$cf_MnqZDk1GjrO@AR0zk;`HZa$22cNz~yxaua?6;*_eJY7pQ1 z7~EbJzUD54yWYF3A54!_Lr6-(Px;;3!NjNb&ie#U%2kjniPl1cn`+nI+QzeUjvSb1 zs;Of2Dw{Jz4U2n%V&EK%mVYiS$;w$TNj)Dz_AkYyPhvnRYwGsr>Qcy;SB`fN5ci`M zPlp&^dzT_F$@e@>g$fpf>jjWdwv{?6yNpa*NyHTcso0Z!ZUr<_?DU=uvFmo~SD|fb>gg=9H#bvO{ zJATUV74&Nt_sxvfD(>#dbX9r!Y#=DGJ&GUKorH*emx7Hl3Mib;k^;F&YY~%U`L;x( z>2A*8g99uR&Y5G8-nF3XFzj2|`uqX3H1A<}BN1jF^kU}?ahglZ>soKusTKde^}7WC z<*e%|x1h|L>I^dDS`LWAw+RFB#WOdalOjOGcgra{*89INbiEcw&OvN2HhjsNqWE{W z2gIf(YGZH;Mm+3k-1)&MP6hJ(4Xh9PRm}edI3Csm(@6)(g+U^=IDb6vgeOmXRXnlq zE0A6Ap~~`lG^)v_OT;Eq-`i8wK&`CZmz%)&aC2lm-gs1pA>SIZ;K;DP&kAS^GPc$kBkbM9GkmM=+ z)wjESQ%i?*4G?JkYYS*xeRunOU;7O>BZ=}J-_eO*-~34*FVRV3{V~=7@+@|Ngb74d zb7zZFk$=vmWa6KAF1%xcfR!L$zr(S~O{7M@uJ}Wrc*j%*Re0`DX}+Y^F-ODjkdTwP zQ<)D-{pJ$V#mQ)9ktzvL0Y!%e&C1!_B+ZY5)bME!t-axY)QFDyX}9k}(h%T+IeI$i zJb*A<1P*YdJV65Ds8eeO$L?OY;u%{jwrg>2_PjhCM0L*AIysm&=bGBzRsI@5In(fM zFXWDa+MYBkAG1=GCpQ)te2H~FUTehchr#0yr*=&*w%3&AjSR0WhZ2Zj9ITEJQE-*& zc|6JI0q>`T$6Lv`U%@3+pyNUsMaXFQK6|4D0IB5rM|1`!pYsxADAx|zCgaw?4|Pv! zTTNSdq&Q4!UAC(wv&SY$Hq#wR8hi2uNE&lJjY`c&t`CS=(*Q~jDi~B|e6rX_+Jv#+ zMj1sX7S7*?z@@|z*+fLkGuxx*l-YzFIRnsTs>`PY5&*L+3RWB3L&(leWGZedj|*oC zi1@@f-^F(mx$ay)3#04Vl)7^Qncg_x6o36U#T!*Yv?Krj&=m>&Y|47AnYi8=Gpuhi zvLrC`@=YKcUADUGQs4JCS%+y2_^;$~na3MP_8IL_m|Zpc<1B;lVclXIv_iWqK^r05 zcqjx58pfS%V=p~YoM*V2$t$(hR zd&Ro-7)%lYwK-|XQ;UU@=zh@OKQR8rQm|KlZ`^k(Toc<>r^sbI>CmK|sS6#73gprm zf9Y@OtlNSjxdEgRL~XX@9RkHjUo~!f^@+XxH_XI(wS;RS2j$04Mqc5E!TjO6e6fZw zQ#?HL?_UfzU7p;A9ie_6J2#^sythx#U0eIQX6WQPXgM0~;k|?MJ%n`conJdY;Iuw9 z#x@>@RW4ia%n0wc9i;vrsW?Ze!`Pjqq7cJ)ny9s^zsBM`V7e*)@l-|o+I;hCW%Tmp zr>0z|{P2C|O$t-RSmr0jjb+qr7uJ{ zhetEcbj)(|S1(Ed$|1mAg0pkP764UoMxm9u5O-PYf!rP5gQ(K0K!|`3)XTcO_SW1~ z+aRS&jM+1TE>%hT-uyLCF|A2iu4QasO{QF}7@%wN^E+w$beN}GsBYTzZqeSHq5XlL z#Yt^LetkKA;6b^wQ*DX&4t*RDGm}$CEKuQ0(z7{w@3@XiqJGn!=p;A4{{A7_pK>4R zs6_9g#>iTKcG!yM3CvzS$v*rCV_miBdsCD}H@_EP*-~%cfwa2(2v~@-o6-F+7)PMY z_7KB(4c5x6cdCQ(nQYZ)G=MU7*qom7$F8$Ss}=kNx0zh%xmnWK=xD#zpRa+3+w@2O`LFo&b7 zDM#s)hM7y2el@N~#ZKWxA`!?$hYujf@4J|V>r<~7jvK2rC0)K4ndhC@Wt0$_co-m4tqSxpg!=P!crPmvhCXo&poMYW*nVQ*h19HX&l#?I69wo#z)I;vTd&u zkG(+xhgHe^gSdto)3!QSsI#UXzt(qLJAB;Vb9l#WCq%WZDGo<(*$j2Q;kW0-f$VZH({ zmkw;H*=bl!^h~Q=w(_7y9vvN|{3=6n%*8!hru5yWCv)*?jjhl#&(2+Y^ zl(ol}xSL1UPdGx3(b01kCt-o39zwJivJ}?;H_ICL*qhqa8*Z_vbbr_R+tR~;^AnI+ z?q8wB>F-OxJHg#Pl_hIsJ3xSvWg7I154!BbU`=j}XcE|08*5#M-*zKnwpxm%shZ}y z(YiQ}*{;6{SH0|jqShJVemZl21wK|{mrgRu|Bn0@B?4Wsisuls)PySlE|>-p#D zpZ;ih8D_rU&+qsg$NONyny7gqW^;L{xZV0qvscSi+%j~7b6 zI>V~DMIzZV8{n0bqK@lP;k$8iWRf6}RxwRkTD@*mE;vQ!!!JD(ZwBv<9z9Fv^T8;r zuLC`OR+hT=5ltOYz_;&dGqU@7*ufxgC~#{B);7@hVYyf$D>w1(r{PDIOkr)T?K9-? ze20s5`s+z9$PJ%0_eoE8y5DpSd(++SsZ(kXcv8pWHZLcY#>BiOi@we7r0Bf`5T zv2B~?1^{`zGUn-!_Ws3nT1YXFDtfvx-mpD&L`qb%UuQ%@^FXJD#=-3%`Px7?bm&+FuGPM1$YdP3X)zYBKtb~bHy11!~T2Nb>jA_I*w%iHEO z*OC}ytq_7cqcbpa<2-o^)6X4q+e0`ZgpUFqmR_6-4g}3q@(nFdW5e3OPU#dqy#Eh9bvwR}yHUb2ijn!IV_$&!4Rv*kHJ>x9S=R7}_1;<=Gd7$UR zTz%o9DI2=c!(ZJifS0SU@Hye*@OT-zf#|pVSLjo$W^~x+wwRg0PuiMRA7&hn&geO9 z5y)}6yX?Py8c{YV7^^yg4)Ye3hQyYah<0c@J;rVl2xR6ISfsALRC!_t0`Dm~BSZ7HbVh@^D}3YxNiQ9ycn(LYSw!q4Zm z>GzEsW!_?XaQ5`3x(9IXp97eB&}&kFVNOC7%rh?u1%NV6P_KU}9P156;$t!Rb8`C0 zVsY~{ekLuBHOCDHiPw{1m>JSu7;}iO^=cN=bqFoTes_L$%WRDyi`Fo!c}>7)RJPh3 zb}nfZF))#Pjr6)v-9c!cdGt!c7wTM&CHSr_l9SNm%dK5(+sdkAwKLC^vP#;Lx!Q>n z7Ssg=o*(WMf6x2ZeqBkV!Y%;%vo;=oPan{p1S?aYV5wthNEs5=a>8wfC% zQGJEk`cu4w=VjMe^bq-*uTYOt-48fv@g500A6Wk=lVr4L@&#uy9sI+{TQtXes2|nj zsJP%6&~BOIVZ-N+KTr%WepUtt2b#>_{8(w%uE8~XHlUbMU3CxX{uB zbq|JFO~b2db(Jruf-a&EqRL(P8`YW}a;-wCH7E%Ww$lI~^1 zwDFA$yNz$Xw|BNx?9|du8~y0__}C?x<3c?G%FzejcGh4LaLm3%`iE}#b&u(@MMZBB zqL`Haaf$#$67{8f%cQT8czLypCmLV0QOWr0;i?TSCNBXr)AY=6{i;O}?<_CW+ri4=R8Fscx@$+iq>*M3Y209_Mv22@woU~oa zyw&0fnI7fa6zUXY!@5h=hl8#WuzU3tbM|(s;xWf?=(v|5y(}4UAoFl{R!u7KG=j9J z)%4b4sPrINH)PYpPj7B@wlxKPE2waf#qiAyO^Mkrsy(LB;$Jd@z7JW!Rr4=zEH~74 zQ{zrVoToFM>2Vjr1aphZVoJ}dAw{kgPOQE?i87jNog_=3MER^+|2i;omL{_FKbpvP zW&#-yyIrrE$%};-vc=Uk8Zxm#`~8qFtIBULw#%lJd=fb|+7>Wp{%OmlDn>$pj7uv4 zw?BB_s|x1;GXU498%LNs9jP5wfmC;QO2T5U#bcPj7BgUI;z87Vb;u|(qG`Wsm0^`> zMk+YO{_R1_J*78nSaYA=Ug*c00^6C3RvwmBlXAg#Q^`VTZ!QEkSS1eLk|Eu0ujd9g z(W5nDVl#qMrgD9=QJ_Li;CEYg!KAVM%-b89UOi`SQ`Uf`^4UApC$`V*SzWBk=q9m&etUuOenPvJ|PkN(H zT*bE1fce&0)TdGs5l$>!Z0mr1W5(SJm(#BzDEHUM==Mb~@L*Un0D_^%2C+PwZL6%g z4x@p42oQ)XEzF)^!}1utybU-2^`XxlFV*kDQxhJg?zqGy`^;4kVJo|*-21sb9#IP8 zDksbv>lwm7qvX8XrJztCIS>mC1AT&mm@4U*|?d)oIX6)?-c$MUnJqM4S zNMbq0Ywh>?a*NUVdUQj=w2}Qnsj7 zZ`4nCu1L{AbsJQi2L`wJ(W7#42BgjRmkoQ=7k@T>S@-Kalzzz3+s4}cM?W1*>C9Y1 z)Q}PxE&UCu$QJ3K6%2XB4TaQKX%{A+#_z1NDY3_0eE?`>iQDiW=G$HA^T@NtwmG1! zBiS&=)o+WXPZdp?9^dwEdT;b7^0KT!&fmjjfX;vD$VYA7(2e@tN5Z6&J5Yas`;g?- zT-l&iX#ZtHKVSOGyZqLl@xQ)kxWv$j^8rju4RtTQ!G@njMuXxcV^|9UwNa#6micNX zjdwPdwOWO0Tl*EYmMT1VH)Ni5<2V-`lp-5bSwM@@Hl~?CRnZ;rwkPw)Jmvu4*$;0X z7h8*_H8&H`aSSO~%ytW4IQ*8sZ!m9j-%>a zclywG(zyl(M#_|^=uk(%!q7xrIF+QRX>3mN^y6R4H6eOl!Jzu6lOgQD2rH9DrwpBA0NT#s=Z6458!f1P@7CI>_|Di}0+jDoS>70ml4) z(s5q__Sx;!k(&k@n^!=xA-k>tJ|oUbGA?({(Kz14A?z6jVLqsly-*|>HyG1Em?Hu_>v)bC)t3HwGGgp0Y@-xOT)?=D(&>|2V~k#yz16* zJR&{f9muHLfMUJ+S#*?k;g3v35BIcQj`FxhMx#FRVW1vcY;3Tv-a~_U*yW^Gq&A_PmUgb7}i??GwvlZ?0=q(0G)Ol=;x=J4-)Xu@qdlJG`Abp^1Itz zpy{nE=3C$m2cA(z)fPOCMb2^6Fs<@CVH8NVK|P=C6Qgh_lgLLtX&jN?={#I8--5AU zpyf}Oz*#M}LnL6se^aIOFqY&IerF*jJov0d54|mRC=yESBP%A$KhI-;i$qIdWtIJ? zf$8vZv|k>lsC1j8^Y2p##7b3ZPdj5#^1;Gd0Sg-@F{^AD;htx7q%2|gZ8H@FQPe@% zKwQ&{Mu!$KiY(kY;%v+X2c0*AQledHrtpX!ie(_GCd~ba>1;QmVo)y^AL^;0JN15)Xdvsw?Vx7E_jEBjL~DwA!Y_lG zt?{e12~=@(Ai3H3JnCKR9m0+W7hX3z?`6)(Gv~+f>wjr7hnw;8G>C6kDu- zEW8$@IvPa%n$O~en^D#=e>A)3^-oLgi#pZ57VXX&=L5XBeMIKzTP!0oF(Z7ov4WET z&^e~GL?iDX4EpgKA}0#0`3b*km;kEFFnec;Q4K1})EfmoY}M_Ckxg~ehD*s53Dv ztnN8oprgux8c$-}MfAe2liG7mG-Z z?~k%C;EL<`E;k23h+KF_jH;Mq5HL0RiJmLOn6$WM{ZGF2R!T~&^)E?)0&kuP57BSi zF$$k!m{ugJC-0L4bH075rC;-B?_+sjD9Sf^(b(t^Pd7_LEqol2ZiHg8X1CP52Y2G8 z7_`GMW;SS`1!G2J?ZU7o_D0v;-k2vkl1Gy3|M}tY6?wEf&i(GGTmVe_bh_??l$*%L z^e;N>NCmULaNkd>>B*nLOC-hjE46XStBO>NTe0ulW)o>sLK$A0#xJeY`dSCCU$(2# zhBp7agslJY1{twQ-cjx@e0~@N9`&E;?RLlJl^PX_Bcyr~v7%A_oF>EDqJDom(6!wI zFmXH|0g6|(%5k0Ss?fS*gWJaqOs} zASJ$=t9O1sA+5rynbz$BTi;K`fDbX5hTvsUJR}kTz5{Vhr{9Td+V-l1FVSpIKV%W* zmt{7UF3l<+jq>4XWgaU+Tcnb~kY~fwRkL=pV=d+kAhoHt2#rCt4BT*LY9)?LfO~VE zZtlXJV(&wTwM>U^+%!IGF|z>!4Mie`>6Bto95oCb>|bLA$DJa%ugAsy6<>KBG8dtp ze(zGr6YL{aPR$<-udg7Q3va$YlULQa)LS%B&}4UGXua{4i;+v0n>gfk$3fqo;(Jq} zVi@((!QPUmdwM1IRgYlBB0G;e;v<$sJL2j#z;?5U?d02@QA4OQDB3$o2POiU)E?7& zXm_D$s4l*S9X11~vkj2lS8jcw4S2iFO<4X=nOrlTG1tSloOldpQ z$!y41t zD~LNq^o8wq|2q;F>R%}As|W)ZT=D*Hr-jgEZ!tp^_b9|&I&B@@ganugehMNAaco5H zAyE1rKdtkP4o|YC159rLD}eH+F=YqZk?JOKE-rw}wxmZ6$nUFd=VL#3-Je@@G*kW# z=)l0e8Ka##h5im6D1hhpBZymgkbp;KQE z5OA29*bJB*m-*(a%FcYAB{isv>}S{ILHL+3fCqX5Fp$2Z6a=bo^(Q<^zRz`)q&P5k zb|l5^;)uSe-+^YvXy@b0w(Z`pn!D~i0Zl}o7n?qJqtXc~2&*m=?@_iU2A>@{KJCy3 z{p`~U>8uoKJaQyJ)Q9h>DYmC&QMQ}QUi-O<3a)M3`iZ3#_eH7f7W-gqkU23;{`j+V z<@{TL^3Q|Zrv2#3>a`B18sbu}w;a(R>3yd>f-v20oSEJU0Lh7SWS%3jkHR(Pw-JCM z;Zn$(byC{zd%(mz!otuco_Ew$AA$}k<2D#5=ytiifZJC(ua-UzymrxiD257<^Bly_ zC9&9sUX$1l9-#ImO?Dg94XAM1Jf-xOBb#~kCN#6jPUjh2YJ>Z+b4T73W^KBrvhAjY zk7IAhw11R^d=K!55M0le$EZ%1gD37j3%X&v#0+w=x8;?8>}^z$cv8QA>*VRLJE>tJ z`tw1i#2*DE2nUTshdwvU!NimFnkT@k8tlZGMrjUarwSS7&Kekwi9VNkDzQLsZ~?u6=_krXH%8*5NAdlG zHi^sLI_enUe2OA;Zum7`y@nwq5=2UzxG8z-T1Q)!VkD-FS}{Rujg<&i+A=sbt9)MV zIe>TI@15O))QGM26{=f3^1UYbT0hP&%YUG!ia7Omf!vyC-Hb7u3y8snDM!$i z)0j-NE&ExF<<|lYSz`E&@A)H!ALb}9an$j&~`Zn$6pV~K)WK!Kc}2kS8U=BA>=7C#h+|7>)*Klki|Ut=m~ zxd$iO{z)YEUa-g!iKsQ}y9TS}>kSpvgoVTG;6qMkxlu{#mp*(XD-QA6z)x-2nX}VD zZfEuu{H(ra;-@3|@3Ib?_jr`v;Bf~9u+o~2$ETgd!5T;2&NBE8$78&w z2Pq#!zjP?M)2B4#Ap0`|gs7Pc|@R#JPtUg)^cZYKI9DOWz(SIXm%o&567{i^Q# zw6H*}{4^jGn+oa$xVK%80Jg5=q@q9i#TOv)>Uyw+-RIS-zqwK8Bp@4m_Ib&MW=VKn zy}9J$iz;B-sdQ=R$Z6XhaR%4fQYAZ?~Cre<4l)$Uj7-LBN;s ze0L9D4NU%rz&$iVMLSyRczbI_7EJjD0zt7w`O!e?{cF8|8KQKzlNCES`@OA6bt8b6 ztY>|oFl&K3uRR)1Kn#!?29sKryE;3nK>W!pn0M&3Um8m(wAE? zqsGW9&pL1rry!_RlTHkMdWk})XT8f&m8;>K|FWatWqGpKZk3#y*A1ls#s%(g>Zi|p zy^mPytIk&h>OI7N6iqajZR;UO6<;gKkCX?eR_8;I-#)jQG-ziV^MwJ7{G_Q%%54SQ zXZI*Jl{W5m_1Dg0v+f(FQj3nV85QXO&Pm50FXRWSQme+_7F9OQodjyq|7bS&A~Dcu z30Z;N2T8kPUB~6TpM$~g(!9-KeZK~Hx|Br~$}cLcKfDRmE<;YJ-uIs-?xqJ6h9r1s zCb|oimU)`!t<^M`$dW6GzN=m;5$p&AYg6$yk5;}aAWfSxU$xZJ7)~1*GMm zke$lw{gFqS!q_gCr~1Y?zxD+te<`dip$9&tr4^4-rxMq+b6vk(M+3;;Vr* zV(!ytk4~Y0nMce}{llX#=a=6TqOWzuhq1hEd)okKk3Whh!m+?bz$@8zWPZymHP|TGTrnH5`weeYu?R z-?pt!_0QRe>5m3G77GJb?=ER(>khAI`E0TU+>DmEHXN^|$jUQEiLfwX1{TT}416-^ zp_at9SM?|~HL+<^nPfB{!EaaoaWhUa{6KosY6S{lSv5@peglimN){C zJ?d4HL;1brqf(on!Z=_y(Y^nv$N7e)2!G4=6GkoG>UHcnc4*OhjE#3vTN{(0Je6yT zRi9bR-WAjx>M1Avj(r;+cFjPvFAA-jMzAR)eT5f@FVBsn%!dI5lP;Db$yFr)>Z0Kp zOznw8h$r)!8*1`JS9>*UF3;#YF;-938I}d@?7%yX#bD$v@~{(2xyN5~Ze`y~GEVIu zn`+n(`K7T}@0hRrfVC6=9B>%qu;1@h*o=zp0i49EfvyiRllB&25C-jU8N>SQ+$cR%To z{2*1%@8yC>RS#xx$O`gHjK$_(XDkv_FDo~gyVXz3$a7~YhnCrO)$ue8>V@=0XKMvz zZtg8Vpqk^hp=0o9R$%|ACli1yu8M}&_|Sj|Qk!bZRE1aIVA`QEnq-vu79XH}uD@Sg zHJ}USzI^d=uW0fkVAIZjqgC#CFJXRnbiB>XN#8v!7U24V(l!GKP<9t&?tRVh#w~57 zj{O+(=R(pALMFapm!oGN$snE$U=!LX-jPue;ke4mo3wt_R~wO(K={3IdI29otn}=auVIvU@fK%^DYBC% zv!KJ%TIp_u{g>>XV$4Ta^`r}m9p$C*2LzVVnQcS#wT0VnC)y7**;*%-Q&j4Tw*fi&1 z)L@Apty@P!3KyWQKo%n4}T!-OG%zO17LM0V1Z1RdFq-3@T6vC|FK3E zv)35@giLupJ>-|h-F)zk7gyj7;){tVB!O#vY7x&`E{^Pa`v$!4+BpCL(^*=z?#PFh ze_0~WTpb%!ZRb{XYo6Yd(3mLtMCp7$8A8b|_ws%4Ks?ZB9cx+`F#RH1WAM$%Zu{1} zNp*+zO1SX;z2*YeAQx6HG%7fe9nF1I&NVloi(rv~{tZAi-^7aKj7^%m|HN`~u&~H1 z!wYTOm~i$?75AZXd;XI|gqXV}PxJpiVVyo4zX6Z2+c3P0wY zscy14pVbxF0lU|4d&z~dZVHY>5=2e$7FMs0Oyu?3az1>+4bh+GlS*;F6gUA8Nl8~N zsup23Ajf=e^?cushNHj}9aua#myJp~FMR*B+M#EgcP3xe->XADvLA{IkTb(~%Ex6d(L*6_0|JHmT|W>r3BVjZxK`GR=2ZuUz+S}M?< z^Dpo*0EMLw@Th<;^|PE$gSbVA=c#it%dK)wB_CriUQc7At>6kHx}399=gE>umMuw~ z$W1Z*WCqxkJ@2SRnXmjgxH$aYF_54isl(G=#^a}~u)%5$# zdR);?{L$*F2N2jv(KBR*98rAbEE>6{Wo3kiXs7I9NBFhdC)dJU{{cM;u3<+{_yxpgJHy7O3dU1=ZWyMyRCuIJ!DJ$pQu^-)_U_c)yJs%+R6 zstlAmAgpOP&6-B)yB^W6h&ds3&JUvx^e2;3LSd^5128Lb0~VhL=qTcdd#hb=xQOO^ zs&cIPm8q~wBF#&+B_u^o5b2}44Sb}@_2LReYHFBAF9>sBOF zIN2*O@a+V*JA(6J7ZLeSNdeAk*O~5c=7w+>kvsZZ{FJo=wJu*sZ=ZAI1OfF?&V+df z<=rYw%&=t%GvCZ_q8HO^QGxktiF!bf-5f7`F|(YPEXkZ`ITuI(H3%kSm}qwo%7|@u zb;|P=_czS({M3^94EV$E_Z_O(o;#EFwcp$w*B{MnoM!Q$n8sGzle;*=OLbk1(2dA7spwTo;Ra1X`FzgX)?`NMwM*MHL8ym)}D(t*WA%GNRG5 zxU^yvbBdcj+ig4PD>ql2vp_)%Ud|cF#(%7vJA;8rb_PBMdC%1Hu_n$g(07603kQbU zQAhYMWp%yifSH*d10mp{qB#``!{qmC|MKNkm|F4VE?h>ybboa>-_k0&<`P_S){-8` z*lT5>nUmHiVs_AOWIt}?3y*9I4jziGVIj!UjlPZ)z6%n(SKPDD1r}Y`m4mc46TOId~It^mnv89Kj-e>sc zA5jhNdTf6_&mRcT4T9(IRWe#gv1XKq9gx;0_3O+f51++5Vl}-qf4g(y4oK3Vd7i|DM8mq-?d$qysXpUY7R z+R9wSRdhw#i#m1Pzdp}%e}b%0SilcD_{9m3uVqzJ)iDS$*hOp;Dsw}jbX|IJN9D^mH1w$g-7-MkCh z=_)6Znhvc@dTdrSpjiQRudxSb<3yMePD?!s{Q}M_w|mIUZ^-2!rzA9VmjeylkT>x8(w=R!l=N}N`!ms;HM{24KQ@bd3jjPX2R$yJ;BH4yE>(7-HvDbz33;r=%{KOJfDo%ayJ!OQJy+72IUj$KUBF}iMWoM} zf2VLrXar~#>aKfSix-tpV=Dofp&Mb23Te%Pe=WS<`JMO+&NZ_=J$H?)a&4(ecxH_s zT&y#fOR!w%%B^jiAl%|50B`*kw8e7ZQkBNsuJy$T;|sJC_}SfkZr9&w^8rD#)%Pcn zTA+Z&ggxg+g+;~>MP0nFbm}wm*ylOHd^2Qu@XIF0${J_0BsXoCN%1QXHV0za?kl}` zWic`P$`m$xr-RXcN-za@>hMPn@k$57W95eXEVmflbI2Zj zQx~We?zKrqt5D00_hCy?EO1XHpSdFK6VS!AkMS*f;H{b7vAE4yX}6Zjg8Y1?uDGQ< zQ`a?zotdsB#7Qy(f`O{lV8E_cf()z9Yro9y5X!aN80T2%*H05IhOhYE>O~g?V2mk; z_&p_YKqJt?^PC&?i${D_3xT=kfNeQgZjd(()niFdCr^R=XPg2Kwv1G=_C-l$yb@gfZupCo-x z2Fo&xMOrkw;rPX&$7L`R1w*O9ps}>PC>wvxE=yz8@_hKWazGX{~N%+$O8Bm+1ybE{Vx^FV)T}KRde>98c_~iZfBk7mN-RR)YBe$ za_Ihz2AwegjgiD(fk}nDVJT$347g(6W2Df3bb`tmZlLT=bO5c~@N0r}!DOT?<*f_5 z5&O6aU$#sEcZ|N7YLkEY--^wFduP=_RAzu|lQge|CM2g!nkQR^jNS{|K6BDL6d%giA2+J9p`TF^;~a>xm@xoR?#z>e&|bcsJH#FL&K0pG0#b6f zs1K+HS9a5o?$Y+gEMn-nA9ne3mXaY_T1!GQWw`28OqcEuqIfPsqiWk^f0j5q%;W-1 zLKZah`rgHVz}c6IUIFRRMgt9SPg?iy-gzuH)m81=@JMH%(X#-R-aPvYZr_R7K)c(; zA{wo}St1nS8FYy(~3N6LeQehLtM;9o%|IHi1X z18BvkmM=A(+qgdlI|lLBt(dm@l>Uw5T#*BS;{3Kt;OCkXsIYtgCmp2!KePultNj1a p-v8s!p4}-9^ED(yWa|Kn+li*DZ%B}~S_S;lJAGa!@6^?M{|9u>SCs$& diff --git a/doc/telnet/telnet_verbose.PNG b/doc/telnet/telnet_verbose.PNG index 4a8099155257c830a544ea18ee702827c1efb161..8f21b95dd6d3d61877d1fcb00e8a18826b3e3fe1 100644 GIT binary patch literal 132800 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≪4uIcFTLJBuTPkVD35~8qLP2*Ih_|0J( z+1w1GkE;U@YFX%QPlLx99;J`QN<){&L)~asyzGkQda6Gty|6qPG8Wn9-DN(pkcB<9 zVc$vAEPrs0TjSGOkETL?S%YXLAA073OwdT*loxH(bcO(3&q8fhJI{GP9J12Y?W+c^ zS29UBTz0Jj6B*VxPE#h_$`|HXEz1sRB;LTkw!DoLG|zm&h?6~5;O?Xrem|`@;G-VX zr>drfnni1E-MCsXkUuU>P!N`zT=#Xsl#`#@QFhlj^7Wn=W6# zhesYNux=R|4Ru-Au$mBw-YLaRAF0XeCpQcU5gx_-zbV66aDRc$&OATbbSOJCUDVim zX54k0Md|4*0dy^-EU)Kefc(2t)nPP$1gE_cf&9iUwg$#Ek_wgd-h$^+HNji@x?`f? z>|h6zD)o=?Zi=MqnRE4PU5-9S43M-KgKTDbhWbqJ9A4X-$&)i+BF3os;UdwzCG54T$nZP z!p(qZ`a@!60uloEI!DMI(sn~fH-VCFMTAi}QbdOLpEgJ^Has?4doH1Mt>nyPQbph^ zQo;NDbLj9hgavNs;qB&Qnj2XSSdYjYGkrM?+9swq2d3g;jMT%=`YJ_s$8GgHuP{RT zJ3F1)t;!B%mplhip@Rc}HHvcdvimpjC;7#ZS7Ig~+3GmJWX0mHHjSra!=HPMoBk~P z8s4%u&ngQoHC>B&sO!js5G$+OB_o7!jqSfSl1!tS+qKtLQQ$mwi%Th6tx87=N@!L2 zJz+{8PR@jvPryRo757?^f)+Hl`Yz7xn>Fv-htVD{;Z3j&D9-v8KKLx~WZ~wD->cwk z%)A9>s0O7vUFT#FHden}?1i0mPZ*VtPCw)HVX@%#3EKEdy5HXW8*;FZq6F|Pv zRXr}~RNx0zx2^Kv(OB@@K5ksroP3{h8>zOu&TL)l@Ed;_4bv-V;am`g$+T?1bxY5H zQTplOn|S5d9AbU5bS`TRLb6S$elxd8MME*E{ChZ@QU~LEFXP{3W+oQuUAe>VrGk><{y`C4Y(m=hz@jX00g%V0{FJfVOwfXav~} zW$%gnmfyWv`UFRDNmyTrGAorW3*^6F!~g3*$)kXoY5vMyM`ZT=0>tABj*h+%?R2dzPoEW1rhb zGACXJ4<{5yW~httF#L$svU++oHQ%k6rO^Il=7*p1gr;&qUQEpGT8nlS#WE^+PgSGr zVf71nH9W(tzkcuL3Hy*#C!qgj;4FmjR(PT&d>S;0lHi8Oa}PR}3koUGck&|qhCf@b$-7z$ zN93x@xD-gwiMTh^hDwQD$*+l--p48Citsu+;c|CY3}h*r;A%ZxZ8olaA1bL$s!>n= zJ+_N=uKH5e>|s@k86qC1WdWjj(2U}_57mo`4<5CiWnQVDz6E}f%{+)nmC6k%npLf6QAw{Gd__r= zvVfZfydJfjaG4V(SJ5ychTN)n_GPC}4hm_>RV!w&iboYzleJlQc*b3L7iw{hpVT*e ziSXaw(^tW|M64*wEc2@#lPu=WGY=p$m+-O7{KE&K1WkxrKHIE0Qcw36HZQHvfxpZR#)Sp2; zl^P;a=OmWdHm>02V3Lj%H66E|SIBttCPrT6^ntX#5Q@wLdpNEC)En{}Nm&$>;2d%+ z(g_sMFl>{J3Cl++uN+-?Pv@MdZ{m)3dNg7DGZb39fSazal{8u ziKz;YbuZkizAswx`%M<+h3it^+@s2`6|B3M3D<0YT2cL>|0{$6HSy5XdB3j;_;A{P z_8fpqC;#++h*GTj>F>%!uPIYox_2rVUy}pH3%widi4iOQ<`Cfj*eiNcsa08Y;_B4< zHTR!Gi+8tSem%1J)jFJ=ThU$0r~vn+r;S9n!(1>_gDz+-b9e=5&ZqB2XkwF?@wxNaX-X%n{H0c6ueD2xv;=xQ+&;#Am&aX&DoqQPBt#< zL&q}Rmc}%1sTSU>ag@pY>X;MUVg>#l88Vxk>E}Y87iOA^+6GEj9BanMY0sBERPd7( zsGV)_qN^=cu3YT!Iv#2ome&o^CIbVZ#)GMeiIFUW4l}?5i-9(R``w=sI4|GWeNLx9 zBxqPOrEXPcwa(rt0T5i&u$Isebw^%bS$G!5^ZM5vecT#bF5+$ZCinb<8L8~>en>jO zdm&FlQ|kGq8F|7e0wJ$O@6vLQZ;*EmX_77_>YbRmINpAe23K!-n+}gy;hCZo615Td zM#fI_Fhn1|;`>bhOvSAFr&7|EzRn?f3bD6t?V~{|Srh-!avi$vB=?04EVfR|3K7My zZDkV%U-7cA1n>vgp3~0?*pP!9wc^xjIF0>^KF6u+{#0D&cyceik%9Tsa=+g6A zrxhxEAp1iz82FR>H3la$DP7Rmj0$8cgD)f`%K3y-L-Rxr9{6g>&`@E&hf4Cy#&Mv1 z4}l<^i?VO3QaWHb@(k`;D)8Mpdh+&^$LINC^sAGPRkqGARJNutX9p+xR)D7J{QaTi zlfeaMn?l^e%bj+m*|3LMJfCN#!aum0s+@|gw+HHHieLVA$DAm@J|r8c#PKpEM07}9 zS4uyBy(%k2WY=q;(P0&9rfVtsR=!LdXmn`UUwe&4ZqXfv2ni6hl=Jlf5QJ7?H8y<) zwWqJfK3@R5VixEzTiljEp`^0Z>GI(tR}(m}TdnZs;g;l+=lT)9f&)wFi?xyv2bjY3{opJs|i|QZ;Wds(F5^a{C4`nO9)Q1luyv zEPkeh9@pNX`YJ$is0$m|nh|M+CklXYI1rUMLxCA`Lj_e0Q-Np?4SiqJvFg&Pzdb=) z#p(`3*BHGp+&#ys`$YM`?fP(_k71cVUALNHEt%&5aJJ~@3yI9j7=+Zn;yxbzJGc++ zz&kt>&ErBOI_;`cr^)+D+kwfo+Y?O?$hJAkqW>CLK$G77sT*@7v%m~Jf6Fh=q=KGN zC4q4cZFJnhbfoyjtipNYT7ZJ}RX;zl%Xd;_oTR;>7tK8I4r#(BP#UOmmBqv`6Hw)4!ew7CoGDo?2Qo2c=Y|)~GWSnt-z-)vNCVvc> zXVw%v>75uH28>&Q8{uWLdS+`Q)>f zM>Mi1&uayqPSYEY=5L@WH9ivzQn%dT?r4~fY+Je}zkZjfRc*gwKGJM&P9ekm?lh}? zo@pueKnenDvj|w5K<`&QUlwP=NvIe|+0!~7iVGDnU_gJWCDpW#&wYB{HU1K7OYI(f zxKv(_L?v!Th|--LHsF;t`9JBxXg$wtHh0g9ReLGnnAZZRtPVuDD2Z1ZO)#x}_k2~{ zb|e&B!9l_$B!v{MYBEsEfd8ek^H&LoT>ibLMK3!fF}c^?6P?U>sqUY@1{&0^itid6 zcJP$T6M^6~p1R=Fn-`i%>2vWd$yp!L((LCA^>(bkDN~aw6hnpeKy6CTAP3o z_&CxO7pXO44$GtdiTc=L_sHT%O0etSejPS4QNIAKsGRaCOY*vo;{z zf{E>Gt(vw|m1mQaP5Ob1M*j61s>>Oq=>KWRhsE*A*MC7is!KE>rUv&)fZt6$8^ING-J$Il&K)Bv(3%Z=T#v znr)_|q=76MrRQf}e!HqS>CK2j8}zf%*VP7-LY|2`S$5tC+X4OiVNC&lqCTjzkKE-> z*#U$470i99S|e~Bq3VN86PC06O~J5{uWEd6Er(hYB+YAubJ*zC;akn6$x(vB4Y4V!MJE2D z!A7dw1*v>n52xu-0}ToC(F(WLF)c#?5{za(;@?;k(-OoSbe{#znx$$#*6aqCWbfK~ z_$RO=n>y$yeeBa7gkkCt(w^_ct z7CsLrPi5zs6N)kvB6<%machYA4<*izpYA$^rCA|gE7p`_TA`6m??uy*`)!vzUN>BB;P%Tcag0b`zJVH8`zzE>1eSedrV z>_7>kwxlhTdK~;|n&D(^_o_PaqIs_+;6cGQY}BfG(jClku6y%HGos;x;KW2T{bqPY znC|mU&@2?Jw3@*Fc47RB=2lpMtJAk)X}ZdFQ*s0oJRw7yQ&yWe0yhxiPVo)187K6W z68u&};s=k07aalyXK~hwOE-Lhw}a3O*6%(4prE*~oE!7rcZ6FhvJ%-pDx2?V7Y|o6 z#%K*UwVkZ_wqTL3KjX|QCAj%!^CaE3LoN^ua%tH7Qf`BDZu#cI;l; zy=;Y+S~HqL?Ds=4JA;B2Qa*GCnrTkEgrhygD4*b4{4Yb(iq*-=P840z<|pU2$T$=K z?y??+Z%>hDBL7gmXXcWlI$sJCv0ptatQlcqIyF_WENg=SJ3CxqP*zO)}670pW3qsl%Ga3zWwzoFDAB5>T zeR!bl3XD}`20%!UTGn7lsJin#MH*TyfKCA&fLcpzT$VNRmSA50WGB>4A&BW)VbkoG z|9jB(p1dK2#DZ`2&i0IZ7yGJz;a$Rz2lpW$XGQa0@64n9wLfZj5}GQ(A>dDN*8ius z?~H0{>(=JHdi1Cig`>iusWb~kM1n{=M^pqvM5PN+IwlYiiIjxc0cjefMu-ZCNHc^E z2_g`rMoaH~8i3LMr zHmS<$U%4JROxRSVT){qd3%k0BpkM1Lkmmk}E0#oe@cY&``j@7cCYu4ABlg8|3gB5K zl?C1`jVA-FhaNbd<#J{zR^qbN+Ojc70ev8Qe|i%S4K`P58EqrPf4lCspZOL~GMwI3 zCTTgy;%vCH;O&RlVnm3UbPW%kvRi_cPR;og+F3ySy@s{{O>J*AKi4PqMII;#{`O%! z*g{2H<%bz14avZ?*;Dr zw(n?$Q#c2~`#`Ka4t?4qaTO<*VQ{gRR8{_$>&F-Sm3*u*={hQ&X`x{}{xP7-H;JUN zMD14~v1;a_jb0T85^ynGXScV`fnT<@HJ(!o#$`!$b*1)_DJ#+=h?df0nNC~b#`A6r zN4%?b*97Of{}{k*Xh^IwrEWOSJPzrVZW|0*%jIP;-}$8kOeKJFo!hr^2oJ6hMgrb`3Yk%ohgil)@82i3C{R zE5G=N{Qt`KXsI2`%MJq!@+^S^@(AR#P&ttdkl)kz)JJGU4v-URSd#lFa` zN3+8=ypp&upi1-UkOA4%nx9Y&JZ=wXm)Zne!;e}Ai#tjJy(t2&JKi`JHfXsapOW0HnO4Q}MR4@Qq@eL5Kkv9DbllW_ZUQ=mTFT3% zdiX2TSIP$#ySrU@yDC+d!;92t=)f6j34X=+nww{OalP&0;sx|EWoKJpR>bNt{{mp1 zfba9HyfC2w2(s!`pl2e`sAB5Ni{GFBx=!|JYr1$A@gu}?al4FlDj;rH z9uI9YVRb6>d5EMlNij{*1KWyiLN|uZdC z`}Bhy+Q)J-4jO5~O-@x#Dslr_lJjroBl1btPg#~PQv=+ZeUfSwiocal5tcV`#futy z^ybA`((|4s8V`Ao7 zx|QQQJ7Qu!*0HR#(5GJO{BpFg)2d`Q6P=Gt8MuHd%1K?yBL@{GyPvwexiiFWB|^Pe z3+m>FAZIxBe~eyzO^b@Y0ax?re9<^mj9v)CtL@c)q3;<*rw9hZT@GiOY7KsDzW|&VpD-db@ zA34Ns4+4AF^R(z}?sL<5)*dfKbg^l<_xdy61{3pNzu> zKid@nQnq?nC^!U)MSNi71U5<8_S(V_&ThGRWab~YJa;xSgR32UFr_#|%4}5%f)^T4 zKH2r8*A_$&?KHv6BP%Mmd-jjILtf4Yt7@y9p)w0`mt~JvLC&QL^#~V18mAXaotDpx zn$f;9OPfGy(N1S5%bhMfTUVR_O5dWeO;w3 zIO@vB{8&RbS5b=yZb?CiCNA7k#XTLCF#&i zCLa+{JbEX$UvXHq7A!j{d3xCHt z&U`VSg9V+V;mje=cE{d=6pu8(gD0Q8rkp+9A9)>NG? z{pQctkniocGh>Eh`7Yjygh#Y-4{OhW{sY|aLBuVc!y~c$YlFL+)FaWZmvqikemq2-B-2}9vAx-fXz*53rr=c}Qm!Um21*;P z1{xYjUy^?5mG#MCK$7;<7Hw!yz^IyHWOW2C)lA=e@ydYiME9T$&R>xmzL_3R-cUAj z%`if_RO7XjstoD`D zShJMFtd>EO$>n~V&b>U`46t^;{|Ce?dfqrHo@syr+^GcxeJ$b?w zR3D_swj?jK&~v6p4Y!h{2*TXgT?q{w(bq-T>;!olTOg4iGWPQ|y??D;8o6o9NWH5w zL<-E*g5+3?wfhxbEITLAABlz+p?X_5 ze_kZ2nH74|S0gM?;Zl9H(L3xJ#I~tJ-8H+1cv<4BD-pH-f5k>sO%d*KA2Kx)8nN5q zC@J#y!K>iO+B&E8ocrPTpVU$onb5fs%yGem!Li!~_c$o5$Z(`#d2H76jntNnH1Y6S zkWH8BhNn$$Bku+p5|tFe-_pgSE5_%kf(y%wRLN9bC0D7D4@$B4fRL5+_($ z;X5IaVG%rpD3dv|3!Mh`m?8lXUTdZ^&w74;Y|FC&1Pa#G3nLJ-?t-flR&gExoN-V9 z={4TSddfMa0F*Q>Lh;O7f0^pCd@@t?m~;nz?qDD05Y@b%TVAts!u9D~(yx}N4Wkhl zMomp$S@mlq&cLgQSf9AOrS(->off>9_{R2A$WpLouY1t5{tl60(lW{(hK$`db(dSGX=pwlklCN!l5GTM^5bRiK* zaUK0S1ti!tObnzlvU^uE?8?roqA}q3?wuxM-A>;~H=j>#mzTHt8a;dGdtsra0c&Ii zik70AmvDzPTG1N2zlr=x7rj8IdB9?i;V;YzW;014^IY%&ZF!`8)H7_KvpnB`*)OLZ(0U)>C z9iRSs1Rj$ry4*id#5uUCNn0IUZm1BTwEbeLbjIz-0i(We!dkl<&j*(bGMp|D%;J1! zPjlrJ7?%S%9+w1e-jEZ2>e8Dh-|VKof1KrcuFOyA1R^+{4@tBSzLDu_Kq}UWPdlKU zRKzs)jd{6DUcQxTOxsQew>c`8gkpC8VXD7h#<~-?8!6riwnn|dhUgD9g!L71JV#ew zkHBKr7@s0~T5i6CnjCoAc;|B~2xjXQ;2MILNc|W+=G>CHz_lLnEHiU-jE9|z3>Bp4 zobCZ9J7qBEbDB-FJj0ES5*^-ORiP&Y$dKDkQ&W-eC*N1p8=fO3>IZ5G90+@PSGD7A z7)NBpSg+qec;m}z+QcqH48(s>!Y3yYQNXNo-; zs`2CIBKMMWn&nGuVq6E~0o=HaWdvC^7L_u}j8grtIDII-ZqH(Y|K3rbBe@ zDAkchREUVKwB0B{#-?g%GH?CNywCRim?yD!yH%_;8|LnAxMhWwy-=!#lGm8<<3)8_ z-B=sF7~<3!O%oZ_lpE+uKafZQvXS6lhLWG9zUQy;gWf4`icwqpE-|rVKnK77_H#4L zMpLVPU&zZO=zb9GTAgM0ueHppoP2>+th*XMa(%c$)#4bnRMqIH z8FiJ`2NCLfBF&Fvx2hmHZllIMb9$Z4Tgpggrlw{o;M9m!_lBz6h$cCxX8OEgp;+s4 zA{K{MPf0QGEslcfER3~JR8}S~NyGzU&0IIi&}3b@%+Rjt{(1SZt(vW5u!s`_cMkjwgQ3FjtLWH{ZrK9Ryb{V+{uLnSoQ8JpM05C6@PLoqOV zdeV=ewUe8Kt=(wlgYQY|SjrQ1{f^#h*f35y_tvmwK`Dq8LI(xkXl_0+7I{}~#hFv) zEc0@nf%^p6F^&uk+>kBMTHw#W`uc^JalVIvls;e$vL}j@Rs$fw@ueUM)p8*j`h9Hw z0xVs&cdt=uXVgk-qQKQWS;t};hyf0UN~xvP*%+{!NT%IM9On<9Ypu1`| z+%);__Vj653}~?L))tJBTFN8Q5M0!RHceEQH8CMP%AYkp-CXKzM8VFG zrLBv*(9S&73n|byT)D;drSPRdFU6@wX+XzP79zhmZeZ~;Q(o!|=DrmaJC*pk`i92U zPwIV(o><1+pw1q{%2$&s_5Ge@~v}L5#HNVGJhM01+OpW<9`$-Es@)x{q@e z_@TT#EXT(Aa&)Ko_Vr5&_W-Q~Pkyg_zVWW@(AoWVJCY>78=ScN+uE<6e=V`q^oBL& zh$OZNt@uE{#9!7Y`#aVA=e&!Fo%`$Gd}g@QGWf}piwGR0F!u;?l~nrX`C{VdP}}3OKeUB znUkS+Xw4Se;DvB#NQ3rZPkGL_zgj8bgyIP8BQ)kpcJgceRSuP< z3bzlrzlwZmOVsXHoU;fw7 zo2gAZ-bpB{R3UWKt)5{1YtUY7xTw}!*%Ds%XN+GjeGNY(6_XKJl=-u!E>JW~u7A}I_-#6$@ z-0n2YiaeX1sOV5%TmyF+Dj)2?`Yq)-Rnj}7!gqs{qa@i`@j9huviMizCv83^M2SXS zy(3{`KvtjP9AXlkh27RTTHrxh$UXIu-qb8B+Y%@)k8xcjM`lm|T)n?_Zj!otp`OH=u7{_XcEzm2H@q_<#%Q(~{54%c18` zj68Gh*kc9$P{&nBT>|I%w~(gZ@%)o$Kkf}xpKRTOP&nzF>(2%k)Q>b?DZ z#Jh~wNPiWRPb_T7QT~CJk5_uqXUU$`WscaNoK2-ag+LbFZoJ(th0uMyiM`9H$z2M$ zI*JN!MUa%@W#6qB%bqWQi2&}`k??@UWpjk=X%DRk({B%8S-hV*mr*Sc}B!idF5EHgAaS2V_*Xge% z(`?HeP1>a;y~(xZ_Kxx1$zv+Ks#YPPDBvT8p&bnmG|mYC+FK%DnO&G@ySI7DL=hwW zQ=vWB6|6MuArb@_KC1_`B^$VuA$S6NzNiyEKdBUxdxNktub`6THiVG3CjJhZAQ$PL zfvfwRo-rs09{a@9e2f1yAMA=M(Z>ycNu$ioSS8tMJ78+Ai5spurIB*kc0C|if8>Wv z-L8Ke>CsBaJj{9lc5(4$LZZ0`D98ka(L+k(H*pi{Ivy)sf6a^;=Y=%N5} z%gvdhL^WDzStb%56>j!$R>94WZJ=COQe%M1>p4kJJ?=BqvP=ayPQFUVNAX-%TC30= zHa^TOr1*Ev3aCI~L-bfiUvd7yEP<|<-{sCGbXz7Q*eo&o?_;v|IIx4SHTif-vh+k0 zE%flORa+>uq`%g^*B5R6QcUhl{1y>=(>u2-nI?+D&fLd~YtwxDuQQtKu3hZifq(Zo z65`>{S<2U|H>P~u0UDmWU%pNbJRfYSIa}`(I&;`fP}(!Uu!1L?#x!nTz5~9&&27D% zVzwdDRKgcYXpv3qTanNuOt?I%7%%1J^G*?Kg&?zdm}Yo#2X{4D1RSBNs}8HI#T*7W zETM_a-|F{PpYNHUpz#ZjF_|W$&?b`OBmcX_`H6|-#Ie*b?yJ0HhSr@N+)m59^lN;u z@lVtoVz~*;>`ocO zsq}_%8MoBbHj24)zHq(><}!Jn5$<|$QNv7&Rq8Jju;!c?vG4cR+fY(_E4iOm>bfYT zXJywtFNB@D+##B^oYk&KzIpz{2paL5XW9h0&EEJFMEp)?#`b&R@^`Vx@p!@PqRag% z==cZO$>6ejZ#P2Sf#H>Z@kY4yr(b2jxut0zg#ss(wqum&2FKo*!vGyuul0Nr(Bw)X zf596GA0@bYK+6V=HiThYX{BdE-;l?aC(K`J=f}+pDVC)N?&n!w3 zID54A()d8*Dd*DsY2S})TNbg~5kK%s&Kh2MdaRFD&HA&>vZ;xkE~bJ=f6OgcL_hC%Z9Ab*RWB~U?el=+Z_7XbwTyX zM1B74qO_I_}qt8O94%gCO1{*=9P~!A9%PS}MB=!0NI@L#=r{XMO2>?)s{E+UJ@=le(K1ndtu8sdwVyG$V zbmCmnH=vq{HtwlvWDRg}&#ISel}wtoln(-u{U#2K*5PL^$&`9ZN zYO7TKv|*T6Ug-7lTm18VxT6|D=#$+U19m+VS3L5)gVkBye&R9~43~MSE3|oeNxG9P zQKuXqUJzU6^-818hW<9KgLh+FY4GCJ61J9^L~qOSY_#HD?p~-S$c#u}tekljpE1>J zgXxWhB6gIsf;}qibrxw9d~0~PgYRp%kU?4d%i=oi+zZG;Jol`QyVQG+H$<&X?-LEU z*FZ~DuWK+Y-qgZlUyf_D%aH}ciU2#>%o24ZI;%fEuD&!Z$Bewgr1fMW`LPXz$y?*L zI;7s|gvenkX-8+|hM6d%QhZ-POemI) za1X-X^g$j{l$>RvXH0Q8vOxDLh19rPI3aV;iVgg3U(Q!-@U%+GEWU-rWS-_PgtKW$ z&5j{7gyV4_*i`-_6$BbwM4dy4sy{0NbnumvWNqBVLnoHdzHEz+q!0A={@-Y9fxQ#GEzrUDQmJ0q3@5A&PDFYJgVAkJMn5sjM2^ND}}@ zp;EVK@ltH4jJ-)(_E~sARG^Q@-A^UdOXfvIs)V;9Rh5ZgYv^77jU?$d-F-jT*i<((9Czcrb9AkY+U@x+EUPjo6A zGha07GCvLIBb*IAPugPbeaDml=Lr;X%MQQBoH(AH5tS{F1B&6{Z=B9`Y%P3dH)Ri0 ze!B#Kv$p^3X~#1L6z}D~CC(JYm*aiSbA68_&ZKpi$_r^b16)MJb4_sH#{qNMd(-(i z-|VYLcr$|e(!v?09^s&mQt#5ZYmIZqs^h(Gqe(yzkzQc;qNW5M%$LP`VA-XS9Cq<$}xfKXCn4}dna6iXyUs3 zT8|PBZqlkV+aV7wn?k;gB+Q&GBq;YRV|0?Wx`H-1OvOBraD7-Q&x~MyRxfB@{A{rZ zSOw#|DYra_y-TMcHb!kKOt1qHv2-=kx8ig_C6w*8)5Ij%evTQ=mo$sF1IW|?&_=Uq zF|kcKmM8zZv=torgN47duMR;PPb-Y-x6&x6ocL26FI>F*U0@%+bLiD~&mP|b$4nhw z_*~QrTs{&++I0;=HiGG~wbFH%c+LzqKfTT#JGJy!xpzgi-2=cE;LW13!A_l$EEz+y z-3aOZ5xo7XF_Ic7m*8xV3zj(`BjVAP>tmlw-iOthRoH#-BD$|c`Ku+xr<|4Is$kGN zygn&^w!qm$Jthh>I;P{haoglYcG!;1dl_{dQ10=ovl2Q5<1hA2I}?g_G90|+eXVT= zO64HUxqo0w5=(*C>lX7_8;VP95il*|_+HCEU77L3CA||0_fk2bG2P6fQs>r#2MKt{ zh$C-`nYiNmuhJVzc1>RX5WSptXSz49e4*5;WM4u9b0vJ32XY}F$1|~Dlg|znIr5&P zb5E{i*Q-NJF6y~OkP;@#ql4JtMD5jl2vO-@Qc~GKN~(Tyz@Mi1X? zAk?EdX86QwY)=GI#Gey{bQe4xLQyM9IV?7(6tWI_fm$rq1^_mRb!W^1`dVpgA~xqo zg_zYbga!s$Yr2_&Me+lFH=_Suxb9tQ9>%GkPpv#}DggKW<2Ddsz-_3(`4|fs)2lg^ zDGuq@M{J-Br~dZffBvHin5N>%EqUKbXlWb%d-?U7eFuJL18hBQ@?Pl7{k-AZI^=+V z%;XAW@4pqA-BkG@g%vDwgc%=xPM^?=($s_AQ$3e@o!L%cn1L_S1Yu#km8JSK%WBfr zz7xY;3zf0GK*6QWmWFHpbX%ug4VSa=eai&hy620!@NQF2>X#U4YvoT0$T}pkBjjfo zM2vVe*uy_EDd&k(hPP?;cJwdpuKU@qlGNbtj6u3BX>l=x*(Z$qcQa{45-3yo*{?%$v95Lo|poVJ~+3?QQu{{?>%$0-b!wAM_8(dk1^@%ZQ>JE&YePL|qt1&y5 z@T=mO&|OXn6#cJM2k(oe4#p8bs@?%pb31BBeO-jjVUAanbz~h8Ci5GGnEBCCk`vtX zWggy|-2APdYQH=V)TpWJmN)c2;rXcoEk~2}%+yKj>+mPlJen9#UkJMY&|QxFx76)5 zg(|5|(_MBdS%bLs&Ct8X=$PDXdpS6zuX**g1{vBpTk_pbT)DbHvb19~N(iOyn(6i1Gb5eMp)#ZR6_2fRJa=1#v3;uHE-{a5>Oq-Kl_S+3pG8U95cXx+e9c~l;Be{>GC<5wHVIHE z{5YiciAt_VoK7+VORDLe*moiZ8&;Uy(W^MJ1N1Wh6S*0XfO1J~cPcLvcd=~tm{F|Y zDHeS{g_tW6e3WQeH2zaVE_VBoNWc(jtgAhNt6bs(&W3S${fc5@=UE~lR+O~u?z9s0Iu5N1ONa4 literal 185846 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

Cl3~E== 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

|VL%Tevo7c5`X(;U# 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π+VU1A{?OXj* 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

xRP`iQ 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 diff --git a/espurna/boiler-espurna.ino b/espurna/boiler-espurna.ino deleted file mode 100644 index 14c0bd602..000000000 --- a/espurna/boiler-espurna.ino +++ /dev/null @@ -1,466 +0,0 @@ -// Boiler -// Espurna version -// Paul Derbyshire - https://github.com/proddy/EMS-ESP-Boiler - -#include "emsuart.h" -#include -#include - -#define myDebug(...) debugSend(__VA_ARGS__) - -#define BOILER_THERMOSTAT_ENABLED 1 -#define BOILER_SHOWER_ENABLED 1 -#define BOILER_POLLING_ENABLED 0 -#define BOILER_LOGGING_NONE 1 - -// home/boiler/ -#define TOPIC_BOILER_DATA "boiler_data" // for sending boiler values -#define TOPIC_THERMOSTAT_TEMP "thermostat_temp" // for received thermostat temp changes -#define TOPIC_THERMOSTAT_CURRTEMP "thermostat_currtemp" // current temperature -#define TOPIC_THERMOSTAT_SELTEMP "thermostat_seltemp" // selected temperature -#define TOPIC_THERMOSTAT_MODE "thermostat_mode" // selected temperature -#define TOPIC_BOILER_WARM_WATER_SELECTED_TEMPERATURE "boiler_wwtemp" // warm water selected temp - -#define BOILERSEND_INTERVAL 60000 // send every minute to HA - -typedef struct { - bool wifi_connected; - bool boiler_online; - bool thermostat_enabled; - bool shower_timer; // true if we want to report back on shower times - bool shower_alert; // true if we want the cold water reminder -} _Boiler_Status; - -typedef struct { - bool showerOn; - bool hotWaterOn; - unsigned long timerStart; // ms - unsigned long timerPause; // ms - unsigned long duration; // ms - bool doingColdShot; // true if we've just sent a jolt of cold water -} _Boiler_Shower; - -// store for overall system status -_Boiler_Status Boiler_Status; -_Boiler_Shower Boiler_Shower; - -// Config -void _boilerConfigure() { - Boiler_Status.thermostat_enabled = getSetting("boilerThermostat", BOILER_THERMOSTAT_ENABLED).toInt() == 1; - ems_setThermostatEnabled(Boiler_Status.thermostat_enabled); - - bool _boilerPolling = getSetting("boilerPolling", BOILER_POLLING_ENABLED).toInt() == 1; - ems_setPoll(_boilerPolling); - - uint8_t _boilerLogging = getSetting("boilerLogging", BOILER_LOGGING_NONE).toInt(); - ems_setLogging((_EMS_SYS_LOGGING)_boilerLogging); - - Boiler_Status.shower_timer = getSetting("boilerShower", BOILER_SHOWER_ENABLED).toInt() == 1; -} - -// WEB callbacks -bool _boilerWebSocketOnReceive(const char * key, JsonVariant & value) { - return (strncmp(key, "boiler", 6) == 0); -} - -void _boilerWebSocketOnSend(JsonObject & root) { - root["boilerThermostat"] = getSetting("boilerThermostat", BOILER_THERMOSTAT_ENABLED).toInt() == 1; - root["boilerShower"] = getSetting("boilerShower", BOILER_SHOWER_ENABLED).toInt() == 1; - root["boilerPolling"] = getSetting("boilerPolling", BOILER_POLLING_ENABLED).toInt() == 1; - root["boilerLogging"] = getSetting("boilerLogging", BOILER_LOGGING_NONE).toInt(); -} - -// used if we have a button -void _boilerWebSocketOnAction(uint32_t client_id, const char * action, JsonObject & data) { -} - -// convert float to char -//char * _float_to_char(char * a, float f, uint8_t precision = 1); -char * _float_to_char(char * a, float f, uint8_t precision = 1) { - long p[] = {0, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000}; - - char * ret = a; - // check for 0x8000 (sensor missing), which has a -1 value - if (f == EMS_VALUE_FLOAT_NOTSET) { - strcpy(ret, "?"); - } else { - long whole = (long)f; - itoa(whole, a, 10); - while (*a != '\0') - a++; - *a++ = '.'; - long decimal = abs((long)((f - whole) * p[precision])); - itoa(decimal, a, 10); - } - return ret; -} - -// convert bool to text -char * _bool_to_char(char * s, uint8_t value) { - if (value == EMS_VALUE_INT_ON) { - strcpy(s, "on"); - } else if (value == EMS_VALUE_INT_OFF) { - strcpy(s, "off"); - } else { - strcpy(s, "?"); - } - return s; -} - -// convert int to text value -char * _int_to_char(char * s, uint8_t value) { - if (value == EMS_VALUE_INT_NOTSET) { - strcpy(s, "?"); - } else { - itoa(value, s, 10); - } - return s; -} - -// takes a float value at prints it to debug log -void _renderFloatValue(const char * prefix, const char * postfix, float value) { - myDebug(" %s: ", prefix); - char s[20]; - myDebug("%s", _float_to_char(s, value)); - - if (postfix != NULL) { - myDebug(" %s", postfix); - } - - myDebug("\n"); -} - -// takes an int value at prints it to debug log -void _renderIntValue(const char * prefix, const char * postfix, uint8_t value) { - myDebug(" %s: ", prefix); - char s[20]; - myDebug("%s", _int_to_char(s, value)); - - if (postfix != NULL) { - myDebug(" %s", postfix); - } - - myDebug("\n"); -} - -// takes a bool value at prints it to debug log -void _renderBoolValue(const char * prefix, uint8_t value) { - myDebug(" %s: ", prefix); - char s[20]; - myDebug("%s\n", _bool_to_char(s, value)); -} - -// Show command - display stats on an 's' command -void showInfo() { - // General stats from EMS bus - myDebug("%sEMS-ESP-Boiler system stats:%s\n", COLOR_BOLD_ON, COLOR_BOLD_OFF); - myDebug(" System Logging is set to "); - _EMS_SYS_LOGGING sysLog = ems_getLogging(); - if (sysLog == EMS_SYS_LOGGING_BASIC) { - myDebug("Basic"); - } else if (sysLog == EMS_SYS_LOGGING_VERBOSE) { - myDebug("Verbose"); - } else { - myDebug("None"); - } - - myDebug("\n # EMS type handlers: %d\n", ems_getEmsTypesCount()); - - myDebug(" Thermostat is %s, Poll is %s, Tx is %s, Shower Timer is %s, Shower Alert is %s\n", - ((Boiler_Status.thermostat_enabled) ? "enabled" : "disabled"), - ((EMS_Sys_Status.emsPollEnabled) ? "enabled" : "disabled"), - ((EMS_Sys_Status.emsTxEnabled) ? "enabled" : "disabled"), - ((Boiler_Status.shower_timer) ? "enabled" : "disabled"), - ((Boiler_Status.shower_alert) ? "enabled" : "disabled")); - - myDebug(" EMS Bus Stats: Connected=%s, # Rx telegrams=%d, # Tx telegrams=%d, # Crc Errors=%d, ", - (Boiler_Status.boiler_online ? "yes" : "no"), - EMS_Sys_Status.emsRxPgks, - EMS_Sys_Status.emsTxPkgs, - EMS_Sys_Status.emxCrcErr); - - myDebug("Rx Status="); - switch (EMS_Sys_Status.emsRxStatus) { - case EMS_RX_IDLE: - myDebug("idle"); - break; - case EMS_RX_ACTIVE: - myDebug("active"); - break; - } - - myDebug(", Tx Status="); - switch (EMS_Sys_Status.emsTxStatus) { - case EMS_TX_IDLE: - myDebug("idle"); - break; - case EMS_TX_PENDING: - myDebug("pending"); - break; - case EMS_TX_ACTIVE: - myDebug("active"); - break; - } - - myDebug(", Last Tx Action="); - switch (EMS_TxTelegram.action) { - case EMS_TX_READ: - myDebug("read"); - break; - case EMS_TX_WRITE: - myDebug("write"); - break; - case EMS_TX_VALIDATE: - myDebug("validate"); - break; - case EMS_TX_NONE: - myDebug("none"); - break; - } - - myDebug("\n\n%sBoiler stats:%s\n", COLOR_BOLD_ON, COLOR_BOLD_OFF); - - // UBAParameterWW - _renderBoolValue("Warm Water activated", EMS_Boiler.wWActivated); - _renderBoolValue("Warm Water circulation pump available", EMS_Boiler.wWCircPump); - _renderIntValue("Warm Water selected temperature", "C", EMS_Boiler.wWSelTemp); - _renderIntValue("Warm Water desired temperature", "C", EMS_Boiler.wWDesiredTemp); - - // UBAMonitorWWMessage - _renderFloatValue("Warm Water current temperature", "C", EMS_Boiler.wWCurTmp); - _renderIntValue("Warm Water # starts", "times", EMS_Boiler.wWStarts); - myDebug(" Warm Water active time: %d days %d hours %d minutes\n", - EMS_Boiler.wWWorkM / 1440, - (EMS_Boiler.wWWorkM % 1440) / 60, - EMS_Boiler.wWWorkM % 60); - _renderBoolValue("Warm Water 3-way valve", EMS_Boiler.wWHeat); - - // UBAMonitorFast - _renderIntValue("Selected flow temperature", "C", EMS_Boiler.selFlowTemp); - _renderFloatValue("Current flow temperature", "C", EMS_Boiler.curFlowTemp); - _renderFloatValue("Return temperature", "C", EMS_Boiler.retTemp); - _renderBoolValue("Gas", EMS_Boiler.burnGas); - _renderBoolValue("Boiler pump", EMS_Boiler.heatPmp); - _renderBoolValue("Fan", EMS_Boiler.fanWork); - _renderBoolValue("Ignition", EMS_Boiler.ignWork); - _renderBoolValue("Circulation pump", EMS_Boiler.wWCirc); - _renderIntValue("Burner selected max power", "%", EMS_Boiler.selBurnPow); - _renderIntValue("Burner current power", "%", EMS_Boiler.curBurnPow); - _renderFloatValue("Flame current", "uA", EMS_Boiler.flameCurr); - _renderFloatValue("System pressure", "bar", EMS_Boiler.sysPress); - - // UBAMonitorSlow - _renderFloatValue("Outside temperature", "C", EMS_Boiler.extTemp); - _renderFloatValue("Boiler temperature", "C", EMS_Boiler.boilTemp); - _renderIntValue("Pump modulation", "%", EMS_Boiler.pumpMod); - _renderIntValue("Burner # restarts", "times", EMS_Boiler.burnStarts); - myDebug(" Total burner operating time: %d days %d hours %d minutes\n", - EMS_Boiler.burnWorkMin / 1440, - (EMS_Boiler.burnWorkMin % 1440) / 60, - EMS_Boiler.burnWorkMin % 60); - myDebug(" Total heat operating time: %d days %d hours %d minutes\n", - EMS_Boiler.heatWorkMin / 1440, - (EMS_Boiler.heatWorkMin % 1440) / 60, - EMS_Boiler.heatWorkMin % 60); - - // Thermostat stats - if (Boiler_Status.thermostat_enabled) { - myDebug("\n%sThermostat stats:%s\n", COLOR_BOLD_ON, COLOR_BOLD_OFF); - myDebug(" Thermostat time is %02d:%02d:%02d %d/%d/%d\n", - EMS_Thermostat.hour, - EMS_Thermostat.minute, - EMS_Thermostat.second, - EMS_Thermostat.day, - EMS_Thermostat.month, - EMS_Thermostat.year + 2000); - - _renderFloatValue("Setpoint room temperature", "C", EMS_Thermostat.setpoint_roomTemp); - _renderFloatValue("Current room temperature", "C", EMS_Thermostat.curr_roomTemp); - myDebug(" Mode is set to "); - if (EMS_Thermostat.mode == 0) { - myDebug("low\n"); - } else if (EMS_Thermostat.mode == 1) { - myDebug("manual\n"); - } else if (EMS_Thermostat.mode == 2) { - myDebug("auto\n"); - } else { - myDebug("?\n"); - } - } - - myDebug("\n"); -} - -// Init telnet commands -void _boilerInitCommands() { - settingsRegisterCommand(F("BOILER.INFO"), [](Embedis * e) { - showInfo(); - DEBUG_MSG(_boilerGetConfig().c_str()); - DEBUG_MSG_P(PSTR("+OK\n")); - }); - - settingsRegisterCommand(F("BOILER.POLLING"), [](Embedis * e) { - if (e->argc < 2) { - DEBUG_MSG_P(PSTR("-ERROR: arg is 0 or 1\n")); - return; - } - - int param = String(e->argv[1]).toInt(); - - bool b = setSetting("boilerPolling", param); - if (b) { - _boilerConfigure(); - } - - wsSend(_boilerWebSocketOnSend); // update web - - DEBUG_MSG_P(PSTR("+OK\n")); - }); - - settingsRegisterCommand(F("BOILER.LOGGING"), [](Embedis * e) { - if (e->argc < 2) { - DEBUG_MSG_P(PSTR("-ERROR: arg is 0, 1 or 2\n")); - return; - } - - int param = String(e->argv[1]).toInt(); - - bool b = setSetting("boilerLogging", param); - if (b) { - _boilerConfigure(); - } - - wsSend(_boilerWebSocketOnSend); // update web - - DEBUG_MSG_P(PSTR("+OK\n")); - }); - - settingsRegisterCommand(F("BOILER.SEND"), [](Embedis * e) { - if (e->argc < 2) { - DEBUG_MSG_P(PSTR("-ERROR: Wrong arguments\n")); - return; - } - int cmd = String(e->argv[1]).toInt(); - DEBUG_MSG_P(PSTR("Sending %d\n"), cmd); - DEBUG_MSG_P(PSTR("+OK\n")); - }); -} - - -// send values to HA via MQTT -void publishValues() { - char s[20]; // for formatting strings - - // Boiler values as one JSON object - StaticJsonBuffer<512> jsonBuffer; - char data[512]; - JsonObject & root = jsonBuffer.createObject(); - - root["wWSelTemp"] = _int_to_char(s, EMS_Boiler.wWSelTemp); - root["wWActivated"] = _bool_to_char(s, EMS_Boiler.wWActivated); - root["wWCurTmp"] = _float_to_char(s, EMS_Boiler.wWCurTmp); - root["wWHeat"] = _bool_to_char(s, EMS_Boiler.wWHeat); - root["curFlowTemp"] = _float_to_char(s, EMS_Boiler.curFlowTemp); - root["retTemp"] = _float_to_char(s, EMS_Boiler.retTemp); - root["burnGas"] = _bool_to_char(s, EMS_Boiler.burnGas); - root["heatPmp"] = _bool_to_char(s, EMS_Boiler.heatPmp); - root["fanWork"] = _bool_to_char(s, EMS_Boiler.fanWork); - root["ignWork"] = _bool_to_char(s, EMS_Boiler.ignWork); - root["wWCirc"] = _bool_to_char(s, EMS_Boiler.wWCirc); - root["selBurnPow"] = _int_to_char(s, EMS_Boiler.selBurnPow); - root["curBurnPow"] = _int_to_char(s, EMS_Boiler.curBurnPow); - root["sysPress"] = _float_to_char(s, EMS_Boiler.sysPress); - root["boilTemp"] = _float_to_char(s, EMS_Boiler.boilTemp); - root["pumpMod"] = _int_to_char(s, EMS_Boiler.pumpMod); - - size_t len = root.measureLength(); - root.printTo(data, len + 1); // form the json string - mqttSend(TOPIC_BOILER_DATA, data); - - // handle the thermostat values separately - if (EMS_Sys_Status.emsThermostatEnabled) { - // only send thermostat values if we actually have them - if (((int)EMS_Thermostat.curr_roomTemp == (int)0) || ((int)EMS_Thermostat.setpoint_roomTemp == (int)0)) { - return; - } - - mqttSend(TOPIC_THERMOSTAT_CURRTEMP, _float_to_char(s, EMS_Thermostat.curr_roomTemp)); - mqttSend(TOPIC_THERMOSTAT_SELTEMP, _float_to_char(s, EMS_Thermostat.setpoint_roomTemp)); - - // send mode 0=low, 1=manual, 2=auto - if (EMS_Thermostat.mode == 0) { - mqttSend(TOPIC_THERMOSTAT_MODE, "low"); - } else if (EMS_Thermostat.mode == 1) { - mqttSend(TOPIC_THERMOSTAT_MODE, "manual"); - } else { - mqttSend(TOPIC_THERMOSTAT_MODE, "auto"); - } - } -} - - -void _boilerMQTTCallback(unsigned int type, const char * topic, const char * payload) { -} - -// TELNET commands -String _boilerGetConfig() { - String output; - - // get values and print them - output = String("Thermostat is ") + getSetting("boilerThermostat") + String(", Polling is ") - + getSetting("boilerPolling") + String(", Logging is ") + getSetting("boilerLogging") - + String(", Shower is ") + getSetting("boilerShower") + String("\n"); - - return output; -} - -// SETUP -void extraSetup() { - boilerSetup(); -} - -void boilerSetup() { - // configure - _boilerConfigure(); - - wsOnSendRegister(_boilerWebSocketOnSend); - wsOnActionRegister(_boilerWebSocketOnAction); - wsOnReceiveRegister(_boilerWebSocketOnReceive); - - mqttRegister(_boilerMQTTCallback); - - _boilerInitCommands(); // telnet - - // init shower - Boiler_Shower.timerStart = 0; - Boiler_Shower.timerPause = 0; - Boiler_Shower.duration = 0; - Boiler_Shower.doingColdShot = false; - - // ems init values - ems_init(); - - // start uart - emsuart_init(); - - // Register loop - espurnaRegisterLoop(_boilerLoop); - - espurnaRegisterReload([]() { _boilerConfigure(); }); -} - -// LOOP -void _boilerLoop() { - static unsigned long last_boilersend = 0; - if ((last_boilersend == 0) || (millis() - last_boilersend > BOILERSEND_INTERVAL)) { - last_boilersend = millis(); - - // get 0x33 WW values manually - ems_doReadCommand(EMS_TYPE_UBAParameterWW, EMS_ID_BOILER); - -#if MQTT_SUPPORT - // send MQTT - publishValues(); -#endif - } -} diff --git a/espurna/custom.h b/espurna/custom.h deleted file mode 100644 index f18d8f0ce..000000000 --- a/espurna/custom.h +++ /dev/null @@ -1,25 +0,0 @@ -// export PLATFORMIO_BUILD_FLAGS="'-DUSE_CUSTOM_H'" -// e.g. -// build_flags = -g -DMQTT_MAX_PACKET_SIZE=400 ${env.ESPURNA_FLAGS} -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH -DUSE_CUSTOM_H -DUSE_EXTRA - -#undef EMBEDDED_WEB -#define EMBEDDED_WEB 1 - -//#undef MQTT_TOPIC -//#define MQTT_TOPIC "/{identifier}" -// default is "{hostname}" - -#undef ENABLE_DOMOTICZ -#define ENABLE_DOMOTICZ 0 - -#undef THINGSPEAK_SUPPORT -#define THINGSPEAK_SUPPORT 0 - -#undef SCHEDULER_SUPPORT -#define SCHEDULER_SUPPORT 0 - -#undef ENABLE_FAUXMO -#define ENABLE_FAUXMO 0 - -#undef DEBUG_SERIAL_SUPPORT -#define DEBUG_SERIAL_SUPPORT 0 diff --git a/espurna/index.html b/espurna/index.html deleted file mode 100644 index 306f90374..000000000 --- a/espurna/index.html +++ /dev/null @@ -1,1893 +0,0 @@ - - - - - - ESPurna 0.0.0 - - - - - - - - - - - - - - - - - - - - - -

- -
- -
- -
- -
-

SECURITY

-

Before using this device you have to change the default password for the user admin. - This password will be used for the AP mode hotspot, the web - interface (where you are now) and the over-the-air updates.

-
- -
- -
-
- - - -
- -
- - - -
-
- -
-
- Password must be 8..63 characters (numbers and letters and any of - these special characters: _,.;:~!?@#$%^&*<>\|(){}[]) and have at least - one lowercase and one uppercase or one number.
-
- - -
- -
- -
- -
-
-
- -
- -
- -
- - - - - - - -
- -
- -
-

STATUS

-

Current configuration

-
- -
- -
-
- -
- - -
-
-
- - - -
- - - -
- -
-
- -
- -
-
- - -
- -
Manufacturer
-
- -
Device
-
- -
Chip ID
-
- -
Wifi MAC
-
- -
SDK version
-
- -
Core version
-
- -
Firmware name
-
- -
Firmware version
-
- -
Firmware revision
-
- -
Firmware build date
-
- -
Firmware size
-
- -
Free space
-
- -
- -
- -
Network
-
- -
BSSID
-
- -
Channel
-
- -
RSSI
-
- -
IP
- - -
Free heap
-
- -
Load average
-
%
- -
VCC
-
? mV
- -
MQTT Status
-
- -
NTP Status
-
- -
Current time
-
- -
Uptime
-
- -
Last update
-
? seconds ago
- -
- -
- -
-
-
- -
-
- -
-

GENERAL

-

General configuration values

-
- -
- -
- -
- - -
-
-
- This name will identify this device in your network - (http://<hostname>.local).
- Hostname may contain only the ASCII letters 'a' through 'z' (in a case-insensitive - manner), the digits '0' through '9', and the hyphen ('-'). They can neither start - or end with an hyphen.
- For this setting to take effect you should restart the wifi interface by clicking - the "Reconnect" button. -
-
- -
- - -
-
-
- Delay in milliseconds to detect a double click (from 0 to 1000ms).
- The lower this number the faster the device will respond to button clicks but the - harder it will be to get a double click. - Increase this number if you are having trouble to double click the button. - Set this value to 0 to disable double click. You won't be able to set the device in - AP mode manually but your device will respond immediately to button clicks.
- You will have to reboot the device after updating for this setting - to apply. -
-
- -
- - -
-
-
- This setting defines the behaviour of the main LED in the board.
- When in "WiFi status" it will blink at 1Hz when trying to connect. If successfully - connected it will briefly blink every 5 seconds if in STA mode or every second if - in AP mode.
- When in "Relay status" mode the LED will be ON whenever any relay is ON, and OFF - otherwise. This is global status notification.
- When in "MQTT managed" mode you will be able to set the LED state sending a message - to "<base_topic>/led/0/set" with a payload of 0, 1 or 2 (to toggle it).
- When in "Find me" mode the LED will be ON when all relays are OFF. This is meant to - locate switches at night.
- When in "Relay & WiFi" mode it will follow the WiFi status but will stay mostly - off when relays are OFF, and mostly ON when any of them is ON.
- When in "Find me & WiFi" mode is the opposite of the "Relay & WiFi", it - will follow the WiFi status but will stay mostly on when relays are OFF, and mostly - OFF when any of them is ON.
- "Always ON" and "Always OFF" modes are self-explanatory. -
-
- -
- -
-
- -
-
-
-
- -
-
- -
-

SWITCHES

-

Switch / relay configuration

-
- -
- -
- - General - -
- - -
-
Define how the different switches should be - synchronized.
-
- -
- -
- -
-
-
- - -
-
- -
-

LIGHTS

-

Lights configuration

-
- -
- -
- -
- -
-
-
-
Use the first three channels as RGB channels. - This will also enable the color picker in the web UI. Will only work if the device - has at least 3 dimmable channels.
Reload the page to update the web interface.
-
- -
- -
-
-
-
Use RGB color picker if enabled (plus - brightness), otherwise use HSV (hue-saturation-value) style
-
- -
- -
-
-
-
Use forth dimmable channel as (cold) white - light calculated out of the RGB values.
Will only work if the device has at - least 4 dimmable channels.
Enabling this will render useless the "Channel 4" - slider in the status page.
Reload the page to update the web interface.
-
- -
- -
-
-
-
Use fifth dimmable channel as warm white light - and the forth dimmable channel as cold white.
Will only work if the device has - at least 5 dimmable channels and "white channel" above is also ON.
Enabling - this will render useless the "Channel 5" slider in the status page.
Reload the - page to update the web interface.
-
- -
- -
-
-
-
Use gamma correction for RGB channels.
Will - only work if "use colorpicker" above is also ON.
-
- -
- -
-
-
-
Use CSS style to report colors to MQTT and - REST API.
Red will be reported as "#FF0000" if ON, otherwise "255,0,0"
-
- -
- -
-
-
-
If enabled color changes will be smoothed.
-
- -
- -
-
-
-
Time in millisecons to transition from one - color to another.
-
- -
-
-
-
-
Sync color between different lights.
-
- -
-
-
-
- - -
-
- -
-

ADMINISTRATION

-

Device administration and security settings

-
- -
- -
- -
- -
-
-
-
- -
- - - -
- - - -
-
- The administrator password is used to access this web interface (user 'admin'), but - also to connect to the device when in AP mode or to flash a new firmware - over-the-air (OTA).
- It must be 8..63 characters (numbers and letters and any of these - special characters: _,.;:~!?@#$%^&*<>\|(){}[]) and have at least one - lowercase and one uppercase or one number.
-
- -
- - -
-
-
- This is the port for the web interface and API requests. - If different than 80 (standard HTTP port) you will have to add it explicitly to - your requests: http://myip:myport/ -
-
- -
- -
-
- -
- -
-
- -
- -
-
-
-
- If enabled, API requests to change a status (like a relay) must be done using PUT. - If disabled you can issue them as GET requests (easier from a browser). -
-
- -
- -
-
-
-
- By default, some magnitudes are being preprocessed and filtered to avoid spurious - values. - If you want to get real-time values (not preprocessed) in the API turn on this - setting. -
-
- -
- - -
-
-
- This is the key you will have to pass with every HTTP request to the API, either to - get or write values. - All API calls must contain the apikey parameter with the value - above. - To know what APIs are enabled do a call to /apis. -
-
- -
- -
-
-
-
Turn ON to be able to telnet to your device - while connected to your home router.
TELNET is always enabled in AP mode.
-
- - -
- -
-
- -
- - -
-
This name address of the NoFUSS server for - automatic remote updates (see https://bitbucket.org/xoseperez/nofuss).
-
- -
- - -
-
-
-
The device has - bytes available for OTA updates. If your image is larger than this consider doing a - two-step - update.
-
-
- -
- -
-
-
-
- -
-
- -
-

WIFI

-

You can configure up to 5 different WiFi networks. The device will try to connect in order - of signal strength.

-
- -
- -
- - General - -
- -
-
-
-
- ESPurna will scan for visible WiFi SSIDs and try to connect to networks defined - below in order of signal strength, even if multiple AP share the - same SSID. - When disabled, ESPurna will try to connect to the networks in the same order they - are listed below. - Disable this option if you are connecting to a single access point - (or router) or to a hidden SSID. -
-
- -
-
- -
- -
- - Networks - -
- - - -
-
-
-
- -
-
- -
-

SCHEDULE

-

Turn switches ON and OFF based on the current time.

-
- -
- -
- -
- - - - - - -
- -
- -
-
- - -
-
- -
-

MAPPING

-

- Configure the map between nodeID/key and MQTT topic. Messages from the given nodeID with - the given key will be forwarded to the specified topic. - You can also configure a default topic using {nodeid} and {key} as placeholders, if the - default topic is empty messages without defined map will be discarded. -

-
- -
- -
- - Default topic - -
- -
- - Specific topics - -
- - - -
-
- -
-
- -
-
-
-

MESSAGES

-

- Messages being received. Previous messages are not displayed. - You have to keep the page open in order to keep receiving them. - You can filter/unfilter by clicking on the values. - Left click on a value to show only rows that match that value, middle click to show all - rows but those matching that value. - Filtered colums have red headers. -

-
- -
- - - - - - - - - - - - - - - - - -
TimestampSenderIDPacketIDTargetIDKeyValueRSSIDuplicatesMissing
- - - - - - -
-
-
- - -
-
- -
-

MQTT

-

Configure an MQTT broker in your network and you will be able to change - the switch status via an MQTT message.

-
- -
- -
- -
- -
-
- -
- - -
- -
- - -
- -
- - -
- -
- - - -
- -
- - -
-
-
- If left empty the firmware will generate a client ID based on the serial number of - the chip. -
-
- -
- - -
- -
- -
-
- -
- - -
- -
- -
-
- -
- - -
-
- This is the fingerprint for the SSL certificate of the server.
- You can get it using https://www.grc.com/fingerprints.htm
- or using openssl from a linux box by typing:
-
$ openssl s_client -connect <host>:<port> < /dev/null 2>/dev/null | openssl x509 -fingerprint -noout -in /dev/stdin
-
-
- -
- - -
-
- This is the root topic for this device. The {hostname} and {mac} placeholders will - be replaced by the device hostname and MAC address.
- - <root>/relay/#/set Send a 0 or a 1 as a payload to this - topic to switch it on or off. You can also send a 2 to toggle its current state. - Replace # with the switch ID (starting from 0). If the board has only one switch it - will be 0.
- - - <root>/rgb/set Set the - color using this topic, your can either send an "#RRGGBB" value or - "RRR,GGG,BBB" (0-255 each).
- - <root>/hsv/set Set the - color using hue (0-360), saturation (0-100) and value (0-100) values, comma - separated.
- - <root>/brightness/set - Set the brighness (0-255).
- - <root>/channel/#/set Set - the value for a single color channel (0-255). Replace # with the channel ID - (starting from 0 and up to 4 for RGBWC lights).
- - <root>/mired/set Set the - temperature color in mired.
- - - <root>/status The device will report a 1 to this topic - every few minutes. Upon MQTT disconnecting this will be set to 0.
- - Other values reported (depending on the build) are: firmware and - version, hostname, IP, MAC, - signal strenth (RSSI), uptime (in seconds), - free heap and power supply. -
-
- -
- -
-
-
-
- All messages (except the device status) will be included in a JSON payload along - with the timestamp and hostname - and sent under the <root>/data topic.
- Messages will be queued and sent after 100ms, so different messages could be merged - into a single payload.
- Subscriptions will still be done to single topics. -
-
- -
-
- -
-
- -
-
- -
-

NTP

-

Configure your NTP (Network Time Protocol) servers and local configuration to keep your - device time up to the second for your location.

-
- -
- -
- -
- - -
- -
- - -
- -
- - -
- -
- -
-
- -
- - -
- -
-
- -
-
- -
-
- -
-

DOMOTICZ

-

- Configure the connection to your Domoticz server. -

-
- -
- -
- - General - -
- -
-
- -
- - -
- -
- - -
- - Sensors & actuators - -
-
Set IDX to 0 to disable notifications from that component.
-
- -
- - -
- - -
-
- -
-
- -
-
- -
-

HOME ASSISTANT

-

- Add this device to your Home Assistant. -

-
- -
-
- - Discover - -
- -
-
-
-
- Home Assistant auto-discovery feature. Enable and save to add the device to your HA - console. - - When using a colour light you might want to disable CSS style so Home Assistant can - parse the color. - -
-
- -
- - -
- - Configuration - -
- -
-
-
- These are the settings you should copy to your Home Assistant "configuration.yaml" - file. - If any of the sections below (switch, light, sensor) already exists, do not - duplicate it, - simply copy the contents of the section below the ones already present. -
-
-
- -
- - -
-
- -
-
- -
-
- -
-

THINGSPEAK

-

- Send your sensors data to Thingspeak. -

-
- -
- -
- - General - -
- -
-
- -
- - -
- - Sensors & actuators - -
-
Enter the field number to send each data to, 0 disable - notifications from that component.
-
- -
- - -
- - -
-
- -
-
- -
-
- -
-

INFLUXDB

-

- Configure the connection to your InfluxDB server. Leave the host field empty to disable - InfluxDB connection. -

-
- -
- -
- -
- -
-
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - - -
- -
-
- -
-
- -
-
- -
-

DEBUG LOG

-

- Shows debug messages from the device -

-
- -
- -
- -
-
- Write a command and click send to execute it on the device. The output will be - shown in the debug text area below. -
- -
-
- -
- -
-
- -
- -
- -
-
- - -
-
- -
-

SENSOR CONFIGURATION

-

- Configure and calibrate your device sensors. -

-
- -
- -
- - General - -
- - -
-
-
- Select the interval between readings. These will be filtered and averaged for the - report. - Please mind some sensors do not have fast refresh intervals. Check the sensor - datasheet to know the minimum read interval. - The default and recommended value is 6 seconds. -
-
- -
- -
-
-
-
- Select the number of readings to average and report -
-
- -
- -
-
-
-
- Save aggregated data to EEPROM after these many reports. At the moment this only - applies to total energy readings. - Please mind: saving data to EEPROM too often will wear out the flash memory - quickly. - Set it to 0 to disable this feature (default value). -
-
- -
- - -
- -
- - -
- -
- - -
- -
- - -
-
-
- Temperature correction value is added to the measured value which may be inaccurate - due to many factors. The value can be negative. -
-
- -
- - -
-
-
- Humidity correction value is added to the measured value which may be inaccurate - due to many factors. The value can be negative. -
-
- -
- -
-
-
-
Move this switch to ON and press "Save" to - reset gas sensor calibration. Check the sensor datasheet for calibration - conditions.
-
- - Energy monitor - -
- - -
-
Mains voltage in your system (in V).
-
- -
- - -
-
In Amperes (A). If you are using a pure - resistive load like a bulb, this will be the ratio between the two previous values, - i.e. power / voltage. You can also use a current clamp around one of the power - wires to get this value.
-
- -
- - -
-
In Volts (V). Enter your the nominal AC - voltage for your household or facility, or use multimeter to get this value.
-
- -
- - -
-
In Watts (W). Calibrate your sensor connecting - a pure resistive load (like a bulb) and enter here the its nominal power or use a - multimeter.
-
- -
- -
-
-
-
Move this switch to ON and press "Save" to - revert to factory calibration values.
-
- -
- -
-
-
-
Move this switch to ON and press "Save" to set - energy count to 0.
-
- -
-
- -
-
- - -
-
-
-

BOILER

-

Configure the - BOILER settings. Make sure you Save after changing values.

-
-
-
-
- -
- -
-
-
-
Enable if you want to read/write from - Thermostat
-
- -
- -
- -
-
-
-
Polling for better support and debugging
-
- -
- -
- -
-
-
-
Monitor shower timings
-
- -
- - -
- -
-
-
-
- - -
-
- -
-

RADIO FREQUENCY

-

- Sonoff 433 RF Bridge & RF Link Configuration

- This page allows you to configure the RF codes for the Sonoff RFBridge 433 and also for a - basic RF receiver.

- To learn a new code click LEARN (the Sonoff RFBridge will beep) then press - a button on the remote, the new code should show up (and the RFBridge will double beep). If - the device double beeps but the code does not update it has not been properly learnt. Keep - trying.

- Modify or create new codes manually and then click SAVE to store them in - the device memory. If your controlled device uses the same code to switch ON and OFF, learn - the code with the ON button and copy paste it to the OFF input box, then click SAVE on the - last one to store the value.

- Delete any code clicking the FORGET button. -

You can also specify 116-chars long RAW - codes. Raw codes require a specific - firmware for for the EFM8BB1.
-

-
- -
-
-
-
-
- -
-
- - -
- -
- - - - -
- - Switch # - -
-
- -
-
-
-
- -
-
- -
-
-
-
- -
- - -
- -
- - -
-
- - - - - - - -
-
Leave empty for DHCP negotiation
- - - -
-
Set when using a static IP
- - - -
-
Usually 255.255.255.0 for /24 networks
- - - -
-
Set the Domain Name Server IP to use when using a static IP
- -
- - -
- -
- -
- -
- - -
- -
 h
-
-
- -
 m
-
-
- - -
- -
- -
- -
-
 1 for Monday, 2 for Tuesday...
- -
-
- - -
- -
- -
-
- -
- -
- -
- - -
- - -
- -
- -
- - -
- - -
-
- -
-
-
- -
- Switch # (GPIO) -
-
- -
-
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-
- -
-
- -
-
- -
-
-
- - -
-
- -
-
-
-
- - -
-
- -
-
-
- - -
-
- -
-
-
-
- - - -
-
- - -
- -
- -
-
- - - -
-
- -
-
- - - -
-
- -
-
- - - -
-
- - - -
-
- -
- -
-
-
-
- - - -
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/firmware/nodemcu2.bin b/firmware/nodemcu2.bin deleted file mode 100644 index 9fed61e04d6e6fb7bc51d6398f17bcffa906f33c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508336 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 z 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 H6ejvfRl2Pc!R3; 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 z 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%0AYafXFKUsS5{9xn(Sy%WZCO!^jG|7#wF9N42-W3_ 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⁢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%0Av)IWUM99gq}Y!L2lvF)3Uf?%+6{;q8P? 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"); + _load_average = 100; // calculated load average + + _telnetcommand_callback = NULL; + _telnet_callback = NULL; + + _fs_callback = NULL; + _fs_settings_callback = NULL; + + _helpProjectCmds = NULL; + _helpProjectCmds_count = 0; + + _use_serial = false; + _mqtt_host = NULL; + _mqtt_password = NULL; + _mqtt_username = NULL; + _mqtt_retain = false; + _mqtt_keepalive = 300; + _mqtt_will_topic = NULL; + _mqtt_will_online_payload = NULL; + _mqtt_will_offline_payload = NULL; + _mqtt_base = NULL; + _mqtt_topic = NULL; + _mqtt_qos = 0; + _mqtt_reconnect_delay = MQTT_RECONNECT_DELAY_MIN; + _mqtt_last_connection = 0; + _mqtt_connecting = false; + + _wifi_password = NULL; + _wifi_ssid = NULL; + _wifi_callback = NULL; + _wifi_connected = false; + + _suspendOutput = false; +} + +MyESP::~MyESP() { + end(); +} + +// end +void MyESP::end() { + SerialAndTelnet.end(); + jw.disconnect(); +} + +// general debug to the telnet or serial channels +void MyESP::myDebug(const char * format, ...) { + if (_suspendOutput) + return; + + va_list args; + va_start(args, format); + char test[1]; + + int len = ets_vsnprintf(test, 1, format, args) + 1; + + char * buffer = new char[len]; + ets_vsnprintf(buffer, len, format, args); + va_end(args); + + SerialAndTelnet.println(buffer); + + delete[] buffer; +} + + +// for flashmemory. Must use PSTR() +void MyESP::myDebug_P(PGM_P format_P, ...) { + if (_suspendOutput) + return; + + char format[strlen_P(format_P) + 1]; + memcpy_P(format, format_P, sizeof(format)); + + va_list args; + va_start(args, format_P); + char test[1]; + int len = ets_vsnprintf(test, 1, format, args) + 1; + + char * buffer = new char[len]; + ets_vsnprintf(buffer, len, format, args); + + va_end(args); + + // capture & print timestamp + char timestamp[10] = {0}; + snprintf_P(timestamp, sizeof(timestamp), PSTR("[%06lu] "), millis() % 1000000); + SerialAndTelnet.print(timestamp); + + SerialAndTelnet.println(buffer); + + delete[] buffer; +} + +// use Serial? +bool MyESP::getUseSerial() { + return (_use_serial); +} + +// called when WiFi is connected, and used to start OTA, MQTT +void MyESP::_wifiCallback(justwifi_messages_t code, char * parameter) { + if ((code == MESSAGE_CONNECTED)) { +#if defined(ARDUINO_ARCH_ESP32) + String hostname = String(WiFi.getHostname()); +#else + String hostname = WiFi.hostname(); +#endif + + myDebug_P(PSTR("[WIFI] SSID %s"), WiFi.SSID().c_str()); + myDebug_P(PSTR("[WIFI] CH %d"), WiFi.channel()); + myDebug_P(PSTR("[WIFI] RSSI %d"), WiFi.RSSI()); + myDebug_P(PSTR("[WIFI] IP %s"), WiFi.localIP().toString().c_str()); + myDebug_P(PSTR("[WIFI] MAC %s"), WiFi.macAddress().c_str()); + myDebug_P(PSTR("[WIFI] GW %s"), WiFi.gatewayIP().toString().c_str()); + myDebug_P(PSTR("[WIFI] MASK %s"), WiFi.subnetMask().toString().c_str()); + myDebug_P(PSTR("[WIFI] DNS %s"), WiFi.dnsIP().toString().c_str()); + myDebug_P(PSTR("[WIFI] HOST %s"), hostname.c_str()); + + // start OTA + ArduinoOTA.begin(); // moved to support esp32 + myDebug_P(PSTR("[OTA] listening to %s.local:%u"), ArduinoOTA.getHostname().c_str(), OTA_PORT); + + // MQTT Setup + _mqtt_setup(); + + _wifi_connected = true; + + // finally if we don't want Serial anymore, turn it off + if (!_use_serial) { + Serial.println("Disabling serial port"); + Serial.flush(); + Serial.end(); + SerialAndTelnet.setSerial(NULL); + } else { + Serial.println("Using serial port output"); + } + + // call any final custom settings + if (_wifi_callback) { + _wifi_callback(); + } + } + + if (code == MESSAGE_ACCESSPOINT_CREATED) { + myDebug_P(PSTR("[WIFI] MODE AP --------------------------------------")); + myDebug_P(PSTR("[WIFI] SSID %s"), jw.getAPSSID().c_str()); + myDebug_P(PSTR("[WIFI] IP %s"), WiFi.softAPIP().toString().c_str()); + myDebug_P(PSTR("[WIFI] MAC %s"), WiFi.softAPmacAddress().c_str()); + + // call any final custom settings + if (_wifi_callback) { + _wifi_callback(); + } + } + + if (code == MESSAGE_CONNECTING) { + myDebug_P(PSTR("[WIFI] Connecting to %s"), parameter); + _wifi_connected = false; + } + + if (code == MESSAGE_CONNECT_FAILED) { + myDebug_P(PSTR("[WIFI] Could not connect to %s"), parameter); + _wifi_connected = false; + } + + if (code == MESSAGE_DISCONNECTED) { + myDebug_P(PSTR("[WIFI] Disconnected")); + _wifi_connected = false; + } +} + +// received MQTT message +// we send this to the call back function. Important to parse are the event strings such as MQTT_MESSAGE_EVENT and MQTT_CONNECT_EVENT +void MyESP::_mqttOnMessage(char * topic, char * payload, size_t len) { + if (len == 0) + return; + + char message[len + 1]; + strlcpy(message, (char *)payload, len + 1); + + // myDebug_P(PSTR("[MQTT] Received %s => %s"), topic, message); // enable for debugging + + // topics are in format MQTT_BASE/HOSTNAME/TOPIC + char * topic_magnitude = strrchr(topic, '/'); // strip out everything until last / + if (topic_magnitude != nullptr) { + topic = topic_magnitude + 1; + } + + // Send message event to custom service + (_mqtt_callback)(MQTT_MESSAGE_EVENT, topic, message); +} + +// MQTT subscribe +// to MQTT_BASE/app_hostname/topic +void MyESP::mqttSubscribe(const char * topic) { + if (mqttClient.connected() && (strlen(topic) > 0)) { + unsigned int packetId = mqttClient.subscribe(_mqttTopic(topic), _mqtt_qos); + myDebug_P(PSTR("[MQTT] Subscribing to %s (PID %d)"), _mqttTopic(topic), packetId); + } +} + +// MQTT unsubscribe +// to MQTT_BASE/app_hostname/topic +void MyESP::mqttUnsubscribe(const char * topic) { + if (mqttClient.connected() && (strlen(topic) > 0)) { + unsigned int packetId = mqttClient.unsubscribe(_mqttTopic(topic)); + myDebug_P(PSTR("[MQTT] Unsubscribing to %s (PID %d)"), _mqttTopic(topic), packetId); + } +} + +// MQTT Publish +void MyESP::mqttPublish(const char * topic, const char * payload) { + // myDebug_P(PSTR("[MQTT] Sending pubish to %s with payload %s"), _mqttTopic(topic), payload); + mqttClient.publish(_mqttTopic(topic), _mqtt_qos, _mqtt_retain, payload); +} + +// MQTT onConnect - when a connect is established +void MyESP::_mqttOnConnect() { + myDebug_P(PSTR("[MQTT] Connected")); + _mqtt_reconnect_delay = MQTT_RECONNECT_DELAY_MIN; + + _mqtt_last_connection = millis(); + + // say we're alive to the Last Will topic + mqttClient.publish(_mqttTopic(_mqtt_will_topic), 1, true, _mqtt_will_online_payload); + + // call custom function to handle mqtt receives + (_mqtt_callback)(MQTT_CONNECT_EVENT, NULL, NULL); +} + +// MQTT setup +void MyESP::_mqtt_setup() { + if (!_mqtt_host) { + myDebug_P(PSTR("[MQTT] disabled")); + } + + mqttClient.onConnect([this](bool sessionPresent) { _mqttOnConnect(); }); + + mqttClient.onDisconnect([this](AsyncMqttClientDisconnectReason reason) { + if (reason == AsyncMqttClientDisconnectReason::TCP_DISCONNECTED) { + myDebug_P(PSTR("[MQTT] TCP Disconnected. Check mqtt logs.")); + (_mqtt_callback)(MQTT_DISCONNECT_EVENT, NULL, + NULL); // call callback with disconnect + } + if (reason == AsyncMqttClientDisconnectReason::MQTT_IDENTIFIER_REJECTED) { + myDebug_P(PSTR("[MQTT] Identifier Rejected")); + } + if (reason == AsyncMqttClientDisconnectReason::MQTT_SERVER_UNAVAILABLE) { + myDebug_P(PSTR("[MQTT] Server unavailable")); + } + if (reason == AsyncMqttClientDisconnectReason::MQTT_MALFORMED_CREDENTIALS) { + myDebug_P(PSTR("[MQTT] Malformed credentials")); + } + if (reason == AsyncMqttClientDisconnectReason::MQTT_NOT_AUTHORIZED) { + myDebug_P(PSTR("[MQTT] Not authorized")); + } + + // Reset reconnection delay + _mqtt_last_connection = millis(); + _mqtt_connecting = false; + }); + + //mqttClient.onSubscribe([this](uint16_t packetId, uint8_t qos) { myDebug_P(PSTR("[MQTT] Subscribe ACK for PID %d"), packetId); }); + + //mqttClient.onPublish([this](uint16_t packetId) { myDebug_P(PSTR("[MQTT] Publish ACK for PID %d"), packetId); }); + + mqttClient.onMessage( + [this](char * topic, char * payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total) { + _mqttOnMessage(topic, payload, len); + }); +} + +// WiFI setup +void MyESP::_wifi_setup() { + jw.setHostname(_app_hostname); // Set WIFI hostname (otherwise it would be ESP-XXXXXX) + jw.subscribe([this](justwifi_messages_t code, char * parameter) { _wifiCallback(code, parameter); }); + jw.enableAP(false); + jw.setConnectTimeout(WIFI_CONNECT_TIMEOUT); + jw.setReconnectTimeout(WIFI_RECONNECT_INTERVAL); + jw.enableAPFallback(true); // AP mode only as fallback + jw.enableSTA(true); // Enable STA mode (connecting to a router) + jw.enableScan(false); // Configure it to scan available networks and connect in order of dBm + jw.cleanNetworks(); // Clean existing network configuration + jw.addNetwork(_wifi_ssid, _wifi_password); // Add a network +} + +// set the callback function for the OTA onstart +void MyESP::setOTA(ota_callback_f OTACallback) { + _ota_callback = OTACallback; +} + +// OTA callback when the upload process starts +void MyESP::_OTACallback() { + myDebug_P(PSTR("[OTA] Start")); + SerialAndTelnet.handle(); // force flush + if (_ota_callback) { + (_ota_callback)(); // call custom function to handle mqtt receives + } +} + +// OTA Setup +void MyESP::_ota_setup() { + if (!_wifi_ssid) { + return; + } + + //ArduinoOTA.setPort(OTA_PORT); + ArduinoOTA.setHostname(_app_hostname); + + ArduinoOTA.onStart([this]() { _OTACallback(); }); + ArduinoOTA.onEnd([this]() { myDebug_P(PSTR("[OTA] Done, restarting...")); }); + ArduinoOTA.onProgress([this](unsigned int progress, unsigned int total) { + static unsigned int _progOld; + unsigned int _prog = (progress / (total / 100)); + if (_prog != _progOld) { + myDebug_P(PSTR("[OTA] Progress: %u%%\r"), _prog); + _progOld = _prog; + } + }); + + ArduinoOTA.onError([this](ota_error_t error) { + if (error == OTA_AUTH_ERROR) + myDebug_P(PSTR("[OTA] Auth Failed")); + else if (error == OTA_BEGIN_ERROR) + myDebug_P(PSTR("[OTA] Begin Failed")); + else if (error == OTA_CONNECT_ERROR) + myDebug_P(PSTR("[OTA] Connect Failed")); + else if (error == OTA_RECEIVE_ERROR) + myDebug_P(PSTR("[OTA] Receive Failed")); + else if (error == OTA_END_ERROR) + myDebug_P(PSTR("[OTA] End Failed")); + }); +} + +// sets boottime +void MyESP::setBoottime(const char * boottime) { + if (_boottime) { + free(_boottime); + } + _boottime = strdup(boottime); +} + +// Set callback of sketch function to process project messages +void MyESP::setTelnet(command_t * cmds, uint8_t count, telnetcommand_callback_f callback_cmd, telnet_callback_f callback) { + _helpProjectCmds = cmds; // command list + _helpProjectCmds_count = count; // number of commands + _telnetcommand_callback = callback_cmd; // external function to handle commands + _telnet_callback = callback; +} + +void MyESP::_telnetConnected() { + myDebug_P(PSTR("[TELNET] Telnet connection established")); + _consoleShowHelp(); // Show the initial message + if (_telnet_callback) { + (_telnet_callback)(TELNET_EVENT_CONNECT); // call callback + } +} + +void MyESP::_telnetDisconnected() { + myDebug_P(PSTR("[TELNET] Telnet connection closed")); + if (_telnet_callback) { + (_telnet_callback)(TELNET_EVENT_DISCONNECT); // call callback + } +} + +// Initialize the telnet server +void MyESP::_telnet_setup() { + SerialAndTelnet.setWelcomeMsg(""); + SerialAndTelnet.setCallbackOnConnect([this]() { _telnetConnected(); }); + SerialAndTelnet.setCallbackOnDisconnect([this]() { _telnetDisconnected(); }); + SerialAndTelnet.setDebugOutput(false); + SerialAndTelnet.begin(TELNET_SERIAL_BAUD); // default baud is 115200 + + // init command buffer for console commands + memset(_command, 0, TELNET_MAX_COMMAND_LENGTH); +} + +// https://stackoverflow.com/questions/43063071/the-arduino-ntp-i-want-print-out-datadd-mm-yyyy +void MyESP::_printBuildTime(unsigned long unix) { + // compensate for summer/winter time and CET. Can't be bothered to work out DST. + // add 3600 to the UNIX time during winter, (3600 s = 1 h), and 7200 during summer (DST). + unix += 3600; // add 1 hour + + uint8_t Day, Month; + + uint8_t Seconds = unix % 60; /* Get seconds from unix */ + unix /= 60; /* Go to minutes */ + uint8_t Minutes = unix % 60; /* Get minutes */ + unix /= 60; /* Go to hours */ + uint8_t Hours = unix % 24; /* Get hours */ + unix /= 24; /* Go to days */ + uint8_t WeekDay = (unix + 3) % 7 + 1; /* Get week day, monday is first day */ + + uint16_t year = 1970; /* Process year */ + while (1) { + if (RTC_LEAP_YEAR(year)) { + if (unix >= 366) { + unix -= 366; + } else { + break; + } + } else if (unix >= 365) { + unix -= 365; + } else { + break; + } + year++; + } + + /* Get year in xx format */ + uint8_t Year = (uint8_t)(year - 2000); + /* Get month */ + for (Month = 0; Month < 12; Month++) { + if (RTC_LEAP_YEAR(year)) { + if (unix >= (uint32_t)RTC_Months[1][Month]) { + unix -= RTC_Months[1][Month]; + } else { + break; + } + } else if (unix >= (uint32_t)RTC_Months[0][Month]) { + unix -= RTC_Months[0][Month]; + } else { + break; + } + } + + Month++; /* Month starts with 1 */ + Day = unix + 1; /* Date starts with 1 */ + + SerialAndTelnet.printf("%02d:%02d:%02d %d/%d/%d", Hours, Minutes, Seconds, Day, Month, Year); +} + +// Show help of commands +void MyESP::_consoleShowHelp() { + SerialAndTelnet.println(); + SerialAndTelnet.printf("* Connected to: %s version %s", _app_name, _app_version); + SerialAndTelnet.println(); + + if (WiFi.getMode() & WIFI_AP) { + SerialAndTelnet.printf("* ESP is in AP mode with SSID %s", jw.getAPSSID().c_str()); + SerialAndTelnet.println(); + } else { +#if defined(ARDUINO_ARCH_ESP32) + String hostname = String(WiFi.getHostname()); +#else + String hostname = WiFi.hostname(); +#endif + SerialAndTelnet.printf("* Hostname: %s IP: %s MAC: %s", + hostname.c_str(), + WiFi.localIP().toString().c_str(), + WiFi.macAddress().c_str()); +#ifdef ARDUINO_BOARD + SerialAndTelnet.printf(" Board: %s", ARDUINO_BOARD); +#endif + SerialAndTelnet.printf(" (MyESP v%s)", MYESP_VERSION); + +#ifdef BUILD_TIME + SerialAndTelnet.print(" (Build "); + _printBuildTime(BUILD_TIME); + SerialAndTelnet.print(")"); +#endif + SerialAndTelnet.println(); + SerialAndTelnet.printf("* Connected to WiFi SSID: %s (signal %d%%)", WiFi.SSID().c_str(), getWifiQuality()); + SerialAndTelnet.println(); + SerialAndTelnet.printf("* MQTT is %s", mqttClient.connected() ? "connected" : "disconnected"); + SerialAndTelnet.println(); + SerialAndTelnet.printf("* Boot time: %s", _boottime); + SerialAndTelnet.println(); + } + + SerialAndTelnet.printf("* Free RAM: %d KB Load: %d%%", (ESP.getFreeHeap() / 1024), getSystemLoadAverage()); + SerialAndTelnet.println(); + // for battery power is ESP.getVcc() + + SerialAndTelnet.println(FPSTR("*")); + SerialAndTelnet.println(FPSTR("* Commands:")); + SerialAndTelnet.println(FPSTR("* ?=help, CTRL-D=quit")); + SerialAndTelnet.println(FPSTR("* reboot")); + SerialAndTelnet.println(FPSTR("* set")); + SerialAndTelnet.println(FPSTR("* set wifi [ssid] [password]")); + SerialAndTelnet.println(FPSTR("* set [value]")); + SerialAndTelnet.println(FPSTR("* set erase")); + SerialAndTelnet.println(FPSTR("* set serial")); + + // print custom commands if available. Taken from progmem + if (_telnetcommand_callback) { + // find the longest key length so we can right align it + uint8_t max_len = 0; + for (uint8_t i = 0; i < _helpProjectCmds_count; i++) { + if (strlen(_helpProjectCmds[i].key) > max_len) + max_len = strlen(_helpProjectCmds[i].key); + } + + for (uint8_t i = 0; i < _helpProjectCmds_count; i++) { + SerialAndTelnet.print(FPSTR("* ")); + SerialAndTelnet.print(FPSTR(_helpProjectCmds[i].key)); + for (uint8_t j = 0; j < ((max_len + 5) - strlen(_helpProjectCmds[i].key)); j++) { // account for longest string length + SerialAndTelnet.print(FPSTR(" ")); // padding + } + SerialAndTelnet.println(FPSTR(_helpProjectCmds[i].description)); + } + } + + SerialAndTelnet.println(); // newline +} + +// reset / restart +void MyESP::resetESP() { + myDebug_P(PSTR("* Reboot ESP...")); + end(); +#if defined(ARDUINO_ARCH_ESP32) + ESP.restart(); +#else + ESP.restart(); +#endif +} + +// read next word from string buffer +char * MyESP::_telnet_readWord() { + return (strtok(NULL, ", \n")); +} + +// change setting for 2 params (set ) +void MyESP::_changeSetting2(const char * setting, const char * value1, const char * value2) { + if (strcmp(setting, "wifi") == 0) { + if (_wifi_ssid) + free(_wifi_ssid); + if (_wifi_password) + free(_wifi_password); + _wifi_ssid = NULL; + _wifi_password = NULL; + + if (value1) { + _wifi_ssid = strdup(value1); + } + + if (value2) { + _wifi_password = strdup(value2); + } + + (void)fs_saveConfig(); + SerialAndTelnet.println("WiFi settings changed. Reconnecting..."); + jw.disconnect(); + jw.cleanNetworks(); + jw.addNetwork(_wifi_ssid, _wifi_password); + } +} + +// change settings - always as strings +// messy code but effective since we don't have too many settings +// wc is word count, number of parameters after the 'set' command +void MyESP::_changeSetting(uint8_t wc, const char * setting, const char * value) { + bool ok = false; + + // check for our internal commands first + if (strcmp(setting, "erase") == 0) { + _fs_eraseConfig(); + return; + } else if ((strcmp(setting, "wifi") == 0) && (wc == 1)) { // erase wifi settings + if (_wifi_ssid) + free(_wifi_ssid); + if (_wifi_password) + free(_wifi_password); + _wifi_ssid = NULL; + _wifi_password = NULL; + ok = true; + } else if (strcmp(setting, "mqtt_host") == 0) { + if (_mqtt_host) + free(_mqtt_host); + _mqtt_host = NULL; // just to be sure + if (value) { + _mqtt_host = strdup(value); + } + ok = true; + } else if (strcmp(setting, "mqtt_username") == 0) { + if (_mqtt_username) + free(_mqtt_username); + _mqtt_username = NULL; // just to be sure + if (value) { + _mqtt_username = strdup(value); + } + ok = true; + } else if (strcmp(setting, "mqtt_password") == 0) { + if (_mqtt_password) + free(_mqtt_password); + _mqtt_password = NULL; // just to be sure + if (value) { + _mqtt_password = strdup(value); + } + ok = true; + } else if (strcmp(setting, "serial") == 0) { + ok = true; + _use_serial = false; + if (value) { + if (strcmp(value, "on") == 0) { + _use_serial = true; + ok = true; + } else if (strcmp(value, "off") == 0) { + _use_serial = false; + ok = true; + } else { + ok = false; + } + } + } else { + // finally check for any custom commands + ok = (_fs_settings_callback)(MYESP_FSACTION_SET, wc, setting, value); + } + + if (!ok) { + SerialAndTelnet.println("\nInvalid parameter for set command."); + return; + } + + // check for 2 params + if (value == nullptr) { + SerialAndTelnet.printf("%s setting reset to its default value.", setting); + } else { + // must be 3 params + SerialAndTelnet.printf("%s changed.", setting); + } + SerialAndTelnet.println(); + + (void)fs_saveConfig(); +} + +void MyESP::_telnetCommand(char * commandLine) { + // count the number of arguments + char * str = commandLine; + bool state = false; + unsigned wc = 0; + while (*str) { + if (*str == ' ' || *str == '\n' || *str == '\t') { + state = false; + } else if (state == false) { + state = true; + ++wc; + } + ++str; + } + + // check first for reserved commands + char * temp = strdup(commandLine); // because strotok kills original string buffer + char * ptrToCommandName = strtok((char *)temp, ", \n"); + + // set command + if (strcmp(ptrToCommandName, "set") == 0) { + if (wc == 1) { + SerialAndTelnet.println(); + SerialAndTelnet.println("Stored settings:"); + SerialAndTelnet.printf(" wifi=%s ", (!_wifi_ssid) ? "" : _wifi_ssid); + if (!_wifi_password) { + SerialAndTelnet.print(""); + } else { + for (uint8_t i = 0; i < strlen(_wifi_password); i++) + SerialAndTelnet.print("*"); + } + SerialAndTelnet.println(); + SerialAndTelnet.printf(" mqtt_host=%s", (!_mqtt_host) ? "" : _mqtt_host); + SerialAndTelnet.println(); + SerialAndTelnet.printf(" mqtt_username=%s", (!_mqtt_username) ? "" : _mqtt_username); + SerialAndTelnet.println(); + SerialAndTelnet.printf(" mqtt_password="); + if (!_mqtt_password) { + SerialAndTelnet.print(""); + } else { + for (uint8_t i = 0; i < strlen(_mqtt_password); i++) + SerialAndTelnet.print("*"); + } + + SerialAndTelnet.println(); + SerialAndTelnet.printf(" serial=%s", (_use_serial) ? "on" : "off"); + + SerialAndTelnet.println(); + + // print custom settings + (_fs_settings_callback)(MYESP_FSACTION_LIST, 0, NULL, NULL); + + SerialAndTelnet.println(); + SerialAndTelnet.println("Usage: set [value...]"); + } else if (wc == 2) { + char * setting = _telnet_readWord(); + _changeSetting(1, setting, NULL); + } else if (wc == 3) { + char * setting = _telnet_readWord(); + char * value = _telnet_readWord(); + _changeSetting(2, setting, value); + } else if (wc == 4) { + char * setting = _telnet_readWord(); + char * value1 = _telnet_readWord(); + char * value2 = _telnet_readWord(); + _changeSetting2(setting, value1, value2); + } + return; + } + + // reboot command + if ((strcmp(ptrToCommandName, "reboot") == 0) && (wc == 1)) { + resetESP(); + } + + // call callback function + (_telnetcommand_callback)(wc, commandLine); +} + +// handler for Telnet +void MyESP::_telnetHandle() { + SerialAndTelnet.handle(); + + static uint8_t charsRead = 0; + // read asynchronously until full command input + while (SerialAndTelnet.available()) { + char c = SerialAndTelnet.read(); + + SerialAndTelnet.serialPrint(c); // echo to Serial if connected + + switch (c) { + case '\r': // likely have full command in buffer now, commands are terminated by CR and/or LF + case '\n': + _command[charsRead] = '\0'; // null terminate our command char array + if (charsRead > 0) { + charsRead = 0; // is static, so have to reset + _suspendOutput = false; + if (_use_serial) { + SerialAndTelnet.serialPrint('\n'); // force newline if in Serial + } + _telnetCommand(_command); + } + break; + + case '\b': // (^H) handle backspace in input: put a space in last char - coded by Simon Arlott + case 0x7F: // (^?) + + if (charsRead > 0) { + _command[--charsRead] = '\0'; + + SerialAndTelnet.write(' '); + SerialAndTelnet.write('\b'); + } + + break; + + case '?': + if (!_suspendOutput) { + _consoleShowHelp(); + } else { + _command[charsRead++] = c; // add it to buffer as its part of the string entered + } + break; + case 0x04: // EOT, CTRL-D + myDebug_P(PSTR("[TELNET] exiting telnet session")); + SerialAndTelnet.disconnectClient(); + break; + default: + _suspendOutput = true; + if (charsRead < TELNET_MAX_COMMAND_LENGTH) { + _command[charsRead++] = c; + } + _command[charsRead] = '\0'; // just in case + break; + } + } +} + +// ensure we have a connection to MQTT broker +void MyESP::_mqttConnect() { + if (!_mqtt_host) + return; // MQTT not enabled + + // Do not connect if already connected or still trying to connect + if (mqttClient.connected() || _mqtt_connecting || (WiFi.status() != WL_CONNECTED)) { + return; + } + + // Check reconnect interval + if (millis() - _mqtt_last_connection < _mqtt_reconnect_delay) { + return; + } + + _mqtt_connecting = true; // we're doing a connection + + // Increase the reconnect delay + _mqtt_reconnect_delay += MQTT_RECONNECT_DELAY_STEP; + if (_mqtt_reconnect_delay > MQTT_RECONNECT_DELAY_MAX) { + _mqtt_reconnect_delay = MQTT_RECONNECT_DELAY_MAX; + } + + mqttClient.setServer(_mqtt_host, MQTT_PORT); + mqttClient.setClientId(_app_hostname); + mqttClient.setKeepAlive(_mqtt_keepalive); + mqttClient.setCleanSession(false); + + // last will + if (_mqtt_will_topic) { + //myDebug_P(PSTR("[MQTT] Setting last will topic %s"), _mqttTopic(_mqtt_will_topic)); + mqttClient.setWill(_mqttTopic(_mqtt_will_topic), 1, true, + _mqtt_will_offline_payload); // retain always true + } + + if (_mqtt_username && _mqtt_password) { + myDebug_P(PSTR("[MQTT] Connecting to MQTT using user %s..."), _mqtt_username); + mqttClient.setCredentials(_mqtt_username, _mqtt_password); + } else { + myDebug_P(PSTR("[MQTT] Connecting to MQTT...")); + } + + // Connect to the MQTT broker + mqttClient.connect(); +} + +// Setup everything we need +void MyESP::setWIFI(const char * wifi_ssid, const char * wifi_password, wifi_callback_f callback) { + // Check SSID too long or missing + if (!wifi_ssid || *wifi_ssid == 0x00 || strlen(wifi_ssid) > 31) { + _wifi_ssid = NULL; + } else { + _wifi_ssid = strdup(wifi_ssid); + } + + // Check PASS too long + if (!wifi_password || *wifi_ssid == 0x00 || strlen(wifi_password) > 31) { + _wifi_password = NULL; + } else { + _wifi_password = strdup(wifi_password); + } + + // callback + _wifi_callback = callback; +} + +// init MQTT settings +void MyESP::setMQTT(const char * mqtt_host, + const char * mqtt_username, + const char * mqtt_password, + const char * mqtt_base, + unsigned long mqtt_keepalive, + unsigned char mqtt_qos, + bool mqtt_retain, + const char * mqtt_will_topic, + const char * mqtt_will_online_payload, + const char * mqtt_will_offline_payload, + mqtt_callback_f callback) { + // can be empty + if (!mqtt_host || *mqtt_host == 0x00) { + _mqtt_host = NULL; + } else { + _mqtt_host = strdup(mqtt_host); + } + + // mqtt username and password can be empty + if (!mqtt_username || *mqtt_username == 0x00) { + _mqtt_username = NULL; + } else { + _mqtt_username = strdup(mqtt_username); + } + + // can be empty + if (!mqtt_password || *mqtt_password == 0x00) { + _mqtt_password = NULL; + } else { + _mqtt_password = strdup(mqtt_password); + } + + // base + if (_mqtt_base) { + free(_mqtt_base); + } + _mqtt_base = strdup(mqtt_base); + + // callback + _mqtt_callback = callback; + + // various mqtt settings + _mqtt_keepalive = mqtt_keepalive; + _mqtt_qos = mqtt_qos; + _mqtt_retain = mqtt_retain; + + // last will + if (!mqtt_will_topic || *mqtt_will_topic == 0x00) { + _mqtt_will_topic = NULL; + } else { + _mqtt_will_topic = strdup(mqtt_will_topic); + } + + if (!mqtt_will_online_payload || *mqtt_will_online_payload == 0x00) { + _mqtt_will_online_payload = NULL; + } else { + _mqtt_will_online_payload = strdup(mqtt_will_online_payload); + } + + if (!mqtt_will_offline_payload || *mqtt_will_offline_payload == 0x00) { + _mqtt_will_offline_payload = NULL; + } else { + _mqtt_will_offline_payload = strdup(mqtt_will_offline_payload); + } +} + +// builds up a topic by prefixing the base and hostname +char * MyESP::_mqttTopic(const char * topic) { + char buffer[MQTT_MAX_TOPIC_SIZE] = {0}; + + strlcpy(buffer, _mqtt_base, sizeof(buffer)); + strlcat(buffer, "/", sizeof(buffer)); + strlcat(buffer, _app_hostname, sizeof(buffer)); + strlcat(buffer, "/", sizeof(buffer)); + strlcat(buffer, topic, sizeof(buffer)); + + if (_mqtt_topic) { + free(_mqtt_topic); + } + _mqtt_topic = strdup(buffer); + + return _mqtt_topic; +} + + +// print contents of file +// assumes Serial is open +void MyESP::_fs_printConfig() { + myDebug_P(PSTR("[FS] Contents:")); + + File configFile = SPIFFS.open(MYEMS_CONFIG_FILE, "r"); + if (!configFile) { + Serial.println(F("[FS] Failed to read file for printing")); + return; + } + + while (configFile.available()) { + SerialAndTelnet.print((char)configFile.read()); + } + SerialAndTelnet.println(); + + configFile.close(); +} + +// format File System +void MyESP::_fs_eraseConfig() { + myDebug_P(PSTR("[FS] Erasing settings, please wait a few seconds. ESP will " + "automatically restart when finished.")); + + if (SPIFFS.format()) { + delay(1000); // wait 1 seconds + resetESP(); + } +} + +void MyESP::setSettings(fs_callback_f callback_fs, fs_settings_callback_f callback_settings_fs) { + _fs_callback = callback_fs; + _fs_settings_callback = callback_settings_fs; +} + +// load from spiffs +bool MyESP::_fs_loadConfig() { + File configFile = SPIFFS.open(MYEMS_CONFIG_FILE, "r"); + + size_t size = configFile.size(); + if (size > 1024) { + myDebug_P(PSTR("[FS] Config file size is too large")); + return false; + } else if (size == 0) { + myDebug_P(PSTR("[FS] Failed to open config file")); + // file does not exist, so assume its the first install. Set serial to on + _use_serial = true; + return false; + } + + StaticJsonDocument doc; + JsonObject json = doc.to(); + + // Deserialize the JSON document + DeserializationError error = deserializeJson(doc, configFile); + if (error) { + Serial.println(F("[FS] Failed to read file")); + return false; + } + + const char * value; + + value = json["wifi_ssid"]; + _wifi_ssid = (value) ? strdup(value) : NULL; + + value = json["wifi_password"]; + _wifi_password = (value) ? strdup(value) : NULL; + + value = json["mqtt_host"]; + _mqtt_host = (value) ? strdup(value) : NULL; + + value = json["mqtt_username"]; + _mqtt_username = (value) ? strdup(value) : NULL; + + value = json["mqtt_password"]; + _mqtt_password = (value) ? strdup(value) : NULL; + + _use_serial = (bool)json["use_serial"]; + + // callback for loading custom settings + // ok is false if there's a problem loading a custom setting (e.g. does not exist) + bool ok = (_fs_callback)(MYESP_FSACTION_LOAD, json); + + configFile.close(); + + return ok; +} + +// save settings to spiffs +bool MyESP::fs_saveConfig() { + StaticJsonDocument doc; + JsonObject json = doc.to(); + + json["app_version"] = _app_version; + json["wifi_ssid"] = _wifi_ssid; + json["wifi_password"] = _wifi_password; + json["mqtt_host"] = _mqtt_host; + json["mqtt_username"] = _mqtt_username; + json["mqtt_password"] = _mqtt_password; + json["use_serial"] = _use_serial; + + // callback for saving custom settings + (void)(_fs_callback)(MYESP_FSACTION_SAVE, json); + + // if file exists, remove it just to be safe + if (SPIFFS.exists(MYEMS_CONFIG_FILE)) { + // delete it + SPIFFS.remove(MYEMS_CONFIG_FILE); + } + + File configFile = SPIFFS.open(MYEMS_CONFIG_FILE, "w"); + if (!configFile) { + Serial.println("[FS] Failed to open config file for writing"); + return false; + } + + // Serialize JSON to file + if (serializeJson(json, configFile) == 0) { + Serial.println(F("[FS] Failed to write to file")); + } + + configFile.close(); + + return true; +} + +// init the SPIFF file system and load the config +// if it doesn't exist try and create it +// force Serial for debugging, and turn it off afterwards +void MyESP::_fs_setup() { + if (!SPIFFS.begin()) { + Serial.println("[FS] Failed to mount the file system"); + _fs_eraseConfig(); // fix for ESP32 + return; + } + + // load the config file. if it doesn't exist (function returns false) create it + if (!_fs_loadConfig()) { + // Serial.println("[FS] Re-creating config file"); + fs_saveConfig(); + } + + //_fs_printConfig(); // TODO: for debugging +} + +uint16_t MyESP::getSystemLoadAverage() { + return _load_average; +} + +// calculate load average +void MyESP::_calculateLoad() { + static unsigned long last_loadcheck = 0; + static unsigned long load_counter_temp = 0; + load_counter_temp++; + + if (millis() - last_loadcheck > LOADAVG_INTERVAL) { + static unsigned long load_counter = 0; + static unsigned long load_counter_max = 1; + + load_counter = load_counter_temp; + load_counter_temp = 0; + if (load_counter > load_counter_max) { + load_counter_max = load_counter; + } + _load_average = 100 - (100 * load_counter / load_counter_max); + last_loadcheck = millis(); + } +} + +// return true if wifi is connected +// WL_NO_SHIELD = 255, // for compatibility with WiFi Shield library +// WL_IDLE_STATUS = 0, +// WL_NO_SSID_AVAIL = 1, +// WL_SCAN_COMPLETED = 2, +// WL_CONNECTED = 3, +// WL_CONNECT_FAILED = 4, +// WL_CONNECTION_LOST = 5, +// WL_DISCONNECTED = 6 +bool MyESP::isWifiConnected() { + return (_wifi_connected); +} + +/* + Return the quality (Received Signal Strength Indicator) + of the WiFi network. + Returns a number between 0 and 100 if WiFi is connected. + Returns -1 if WiFi is disconnected. + + High quality: 90% ~= -55dBm + Medium quality: 50% ~= -75dBm + Low quality: 30% ~= -85dBm + Unusable quality: 8% ~= -96dBm +*/ +int MyESP::getWifiQuality() { + if (WiFi.status() != WL_CONNECTED) + return -1; + int dBm = WiFi.RSSI(); + if (dBm <= -100) + return 0; + if (dBm >= -50) + return 100; + return 2 * (dBm + 100); +} + +// register new instance +void MyESP::begin(const char * app_hostname, const char * app_name, const char * app_version) { + _app_hostname = strdup(app_hostname); + _app_name = strdup(app_name); + _app_version = strdup(app_version); + + _telnet_setup(); // Telnet setup + _fs_setup(); // SPIFFS setup, do this first to get values + _wifi_setup(); // WIFI setup + _ota_setup(); +} + +/* + * Loop. This is called as often as possible and it handles wifi, telnet, mqtt etc + */ +void MyESP::loop() { + _calculateLoad(); + _telnetHandle(); // Telnet/Debugger + + jw.loop(); // WiFi + + // do nothing else until we've got a wifi connection + if (WiFi.getMode() & WIFI_AP) { + return; + } + + ArduinoOTA.handle(); // OTA + _mqttConnect(); // MQTT + + yield(); // ...and breath +} + +MyESP myESP; // create instance diff --git a/lib/MyESP/MyESP.h b/lib/MyESP/MyESP.h new file mode 100644 index 000000000..7096d351b --- /dev/null +++ b/lib/MyESP/MyESP.h @@ -0,0 +1,228 @@ +/* + * MyESP.h + * + * Paul Derbyshire - December 2018 + */ + +#pragma once + +#ifndef MyEMS_h +#define MyEMS_h + +#define MYESP_VERSION "1.1.5" + +#include +#include +#include // https://github.com/marvinroger/async-mqtt-client and for ESP32 see https://github.com/marvinroger/async-mqtt-client/issues/127 +#include +#include +#include // https://github.com/xoseperez/justwifi +#include // modified from https://github.com/yasheena/telnetspy + +#if defined(ARDUINO_ARCH_ESP32) +//#include +#include // added for ESP32 +#define ets_vsnprintf vsnprintf // added for ESP32 +#define OTA_PORT 8266 +#else +//#include +#include +#define OTA_PORT 3232 +#endif + +#define MYEMS_CONFIG_FILE "/config.json" + +#define LOADAVG_INTERVAL 30000 // Interval between calculating load average (in ms) + +// WIFI +#define WIFI_CONNECT_TIMEOUT 10000 // Connecting timeout for WIFI in ms +#define WIFI_RECONNECT_INTERVAL 60000 // If could not connect to WIFI, retry after this time in ms + +// MQTT +#define MQTT_PORT 1883 // MQTT port +#define MQTT_RECONNECT_DELAY_MIN 2000 // Try to reconnect in 3 seconds upon disconnection +#define MQTT_RECONNECT_DELAY_STEP 3000 // Increase the reconnect delay in 3 seconds after each failed attempt +#define MQTT_RECONNECT_DELAY_MAX 120000 // Set reconnect time to 2 minutes at most +#define MQTT_MAX_SIZE 600 // max length of MQTT message +#define MQTT_MAX_TOPIC_SIZE 50 // max length of MQTT message + +// Internal MQTT events +#define MQTT_CONNECT_EVENT 0 +#define MQTT_DISCONNECT_EVENT 1 +#define MQTT_MESSAGE_EVENT 2 + +// Telnet +#define TELNET_SERIAL_BAUD 115200 +#define TELNET_MAX_COMMAND_LENGTH 80 // length of a command +#define TELNET_EVENT_CONNECT 1 +#define TELNET_EVENT_DISCONNECT 0 + +// ANSI Colors +#define COLOR_RESET "\x1B[0m" +#define COLOR_BLACK "\x1B[0;30m" +#define COLOR_RED "\x1B[0;31m" +#define COLOR_GREEN "\x1B[0;32m" +#define COLOR_YELLOW "\x1B[0;33m" +#define COLOR_BLUE "\x1B[0;34m" +#define COLOR_MAGENTA "\x1B[0;35m" +#define COLOR_CYAN "\x1B[0;36m" +#define COLOR_WHITE "\x1B[0;37m" +#define COLOR_BOLD_ON "\x1B[1m" +#define COLOR_BOLD_OFF "\x1B[22m" // fixed by Scott Arlott + +// SPIFFS +#define SPIFFS_MAXSIZE 500 // https://arduinojson.org/v5/assistant/ + +typedef struct { + char key[40]; + char description[100]; +} command_t; + +typedef enum { MYESP_FSACTION_SET, MYESP_FSACTION_LIST, MYESP_FSACTION_SAVE, MYESP_FSACTION_LOAD } MYESP_FSACTION; + +typedef std::function mqtt_callback_f; +typedef std::function wifi_callback_f; +typedef std::function ota_callback_f; +typedef std::function telnetcommand_callback_f; +typedef std::function telnet_callback_f; +typedef std::function fs_callback_f; +typedef std::function fs_settings_callback_f; + +// calculates size of an 2d array at compile time +template +constexpr size_t ArraySize(T (&)[N]) { + return N; +} + +// class definition +class MyESP { + public: + MyESP(); + ~MyESP(); + + // wifi + void setWIFICallback(void (*callback)()); + void setWIFI(const char * wifi_ssid, const char * wifi_password, wifi_callback_f callback); + bool isWifiConnected(); + + // mqtt + void mqttSubscribe(const char * topic); + void mqttUnsubscribe(const char * topic); + void mqttPublish(const char * topic, const char * payload); + void setMQTT(const char * mqtt_host, + const char * mqtt_username, + const char * mqtt_password, + const char * mqtt_base, + unsigned long mqtt_keepalive, + unsigned char mqtt_qos, + bool mqtt_retain, + const char * mqtt_will_topic, + const char * mqtt_will_online_payload, + const char * mqtt_will_offline_payload, + mqtt_callback_f callback); + + // OTA + void setOTA(ota_callback_f OTACallback); + + // debug & telnet + void myDebug(const char * format, ...); + void myDebug_P(PGM_P format_P, ...); + void setTelnet(command_t * cmds, uint8_t count, telnetcommand_callback_f callback_cmd, telnet_callback_f callback); + bool getUseSerial(); + + // FS + void setSettings(fs_callback_f callback, fs_settings_callback_f fs_settings_callback); + bool fs_saveConfig(); + + // general + void end(); + void loop(); + void begin(const char * app_hostname, const char * app_name, const char * app_version); + void setBoottime(const char * boottime); + void resetESP(); + uint16_t getSystemLoadAverage(); + int getWifiQuality(); + + + private: + // mqtt + AsyncMqttClient mqttClient; + unsigned long _mqtt_reconnect_delay; + void _mqttOnMessage(char * topic, char * payload, size_t len); + void _mqttConnect(); + void _mqtt_setup(); + mqtt_callback_f _mqtt_callback; + void _mqttOnConnect(); + void _sendStart(); + char * _mqttTopic(const char * topic); + char * _mqtt_host; + char * _mqtt_username; + char * _mqtt_password; + char * _mqtt_base; + unsigned long _mqtt_keepalive; + unsigned char _mqtt_qos; + bool _mqtt_retain; + char * _mqtt_will_topic; + char * _mqtt_will_online_payload; + char * _mqtt_will_offline_payload; + char * _mqtt_topic; + unsigned long _mqtt_last_connection; + bool _mqtt_connecting; + + // wifi + DNSServer dnsServer; // For Access Point (AP) support + void _wifiCallback(justwifi_messages_t code, char * parameter); + void _wifi_setup(); + wifi_callback_f _wifi_callback; + char * _wifi_ssid; + char * _wifi_password; + bool _wifi_connected; + + // ota + ota_callback_f _ota_callback; + void _ota_setup(); + void _OTACallback(); + + // telnet & debug + TelnetSpy SerialAndTelnet; + void _telnetConnected(); + void _telnetDisconnected(); + void _telnetHandle(); + void _telnetCommand(char * commandLine); + char * _telnet_readWord(); + void _telnet_setup(); + char _command[TELNET_MAX_COMMAND_LENGTH]; // the input command from either Serial or Telnet + command_t * _helpProjectCmds; // Help of commands setted by project + uint8_t _helpProjectCmds_count; // # available commands + void _consoleShowHelp(); + telnetcommand_callback_f _telnetcommand_callback; // Callable for projects commands + telnet_callback_f _telnet_callback; // callback for connect/disconnect + void _changeSetting(uint8_t wc, const char * setting, const char * value); + void _changeSetting2(const char * setting, const char * value1, const char * value2); + + // fs + void _fs_setup(); + bool _fs_loadConfig(); + void _fs_printConfig(); + void _fs_eraseConfig(); + + fs_callback_f _fs_callback; + fs_settings_callback_f _fs_settings_callback; + + // general + char * _app_hostname; + char * _app_name; + char * _app_version; + char * _boottime; + bool _suspendOutput; + bool _use_serial; + void _printBuildTime(unsigned long rawTime); + + // load average (0..100) + void _calculateLoad(); + unsigned short int _load_average; +}; + +extern MyESP myESP; + +#endif diff --git a/lib/TelnetSpy/TelnetSpy.cpp b/lib/TelnetSpy/TelnetSpy.cpp new file mode 100644 index 000000000..ea1762fa4 --- /dev/null +++ b/lib/TelnetSpy/TelnetSpy.cpp @@ -0,0 +1,655 @@ +/* + * TELNET SERVER FOR ESP8266 / ESP32 + * Cloning the serial port via Telnet. + * + * Written by Wolfgang Mattis (arduino@yasheena.de). + * Version 1.1 / September 7, 2018. + * MIT license, all text above must be included in any redistribution. + */ + +#ifdef ESP8266 +extern "C" { +#include "user_interface.h" +} +#endif + +#include "TelnetSpy.h" + +#ifndef min +#define min(a, b) ((a) < (b) ? (a) : (b)) +#endif +#ifndef max +#define max(a, b) ((a) > (b) ? (a) : (b)) +#endif + +static TelnetSpy * actualObject = NULL; + +static void TelnetSpy_putc(char c) { + if (actualObject) { + actualObject->write(c); + } +} + +static void TelnetSpy_ignore_putc(char c) { + ; +} + +TelnetSpy::TelnetSpy() { + port = TELNETSPY_PORT; + telnetServer = NULL; + started = false; + listening = false; + firstMainLoop = true; + usedSer = &Serial; + storeOffline = true; + connected = false; + callbackConnect = NULL; + callbackDisconnect = NULL; + welcomeMsg = strdup(TELNETSPY_WELCOME_MSG); + rejectMsg = strdup(TELNETSPY_REJECT_MSG); + minBlockSize = TELNETSPY_MIN_BLOCK_SIZE; + collectingTime = TELNETSPY_COLLECTING_TIME; + maxBlockSize = TELNETSPY_MAX_BLOCK_SIZE; + pingTime = TELNETSPY_PING_TIME; + pingRef = 0xFFFFFFFF; + waitRef = 0xFFFFFFFF; + telnetBuf = NULL; + bufLen = 0; + uint16_t size = TELNETSPY_BUFFER_LEN; + while (!setBufferSize(size)) { + size = size >> 1; + if (size < minBlockSize) { + setBufferSize(minBlockSize); + break; + } + } + debugOutput = TELNETSPY_CAPTURE_OS_PRINT; + if (debugOutput) { + setDebugOutput(true); + } +} + +TelnetSpy::~TelnetSpy() { + end(); +} + +// added by proddy +void TelnetSpy::disconnectClient() { + if (client.connected()) { + client.flush(); + client.stop(); + } + if (connected && (callbackDisconnect != NULL)) { + callbackDisconnect(); + } + connected = false; +} + +void TelnetSpy::setPort(uint16_t portToUse) { + port = portToUse; + if (listening) { + if (client.connected()) { + client.flush(); + client.stop(); + } + if (connected && (callbackDisconnect != NULL)) { + callbackDisconnect(); + } + connected = false; + telnetServer->close(); + delete telnetServer; + telnetServer = new WiFiServer(port); + if (started) { + telnetServer->begin(); + telnetServer->setNoDelay(bufLen > 0); + } + } +} + +void TelnetSpy::setWelcomeMsg(const char * msg) { + if (welcomeMsg) { + free(welcomeMsg); + } + welcomeMsg = strdup(msg); +} + +void TelnetSpy::setRejectMsg(const char * msg) { + if (rejectMsg) { + free(rejectMsg); + } + rejectMsg = strdup(msg); +} + +void TelnetSpy::setMinBlockSize(uint16_t minSize) { + minBlockSize = min(max((uint16_t)1, minSize), maxBlockSize); +} + +void TelnetSpy::setCollectingTime(uint16_t colTime) { + collectingTime = colTime; +} + +void TelnetSpy::setMaxBlockSize(uint16_t maxSize) { + maxBlockSize = max(maxSize, minBlockSize); +} + +bool TelnetSpy::setBufferSize(uint16_t newSize) { + if (telnetBuf && (bufLen == newSize)) { + return true; + } + if (newSize == 0) { + bufLen = 0; + if (telnetBuf) { + free(telnetBuf); + telnetBuf = NULL; + } + if (telnetServer) { + telnetServer->setNoDelay(false); + } + return true; + } + newSize = max(newSize, minBlockSize); + uint16_t oldBufLen = bufLen; + bufLen = newSize; + uint16_t tmp; + if (!telnetBuf || (bufUsed == 0)) { + bufRdIdx = 0; + bufWrIdx = 0; + bufUsed = 0; + } else { + if (bufLen < oldBufLen) { + if (bufRdIdx < bufWrIdx) { + if (bufWrIdx > bufLen) { + tmp = min(bufLen, (uint16_t)(bufWrIdx - max(bufLen, bufRdIdx))); + memcpy(telnetBuf, &telnetBuf[bufWrIdx - tmp], tmp); + bufWrIdx = tmp; + if (bufWrIdx > bufRdIdx) { + bufRdIdx = bufWrIdx; + } else { + if (bufRdIdx > bufLen) { + bufRdIdx = 0; + } + } + if (bufRdIdx == bufWrIdx) { + bufUsed = bufLen; + } else { + bufUsed = bufWrIdx - bufRdIdx; + } + } + } else { + if (bufWrIdx > bufLen) { + memcpy(telnetBuf, &telnetBuf[bufWrIdx - bufLen], bufLen); + bufRdIdx = 0; + bufWrIdx = 0; + bufUsed = bufLen; + } else { + tmp = min(bufLen - bufWrIdx, oldBufLen - bufRdIdx); + memcpy(&telnetBuf[bufLen - tmp], &telnetBuf[oldBufLen - tmp], tmp); + bufRdIdx = bufLen - tmp; + bufUsed = bufWrIdx + tmp; + } + } + } + } + char * temp = (char *)realloc(telnetBuf, bufLen); + if (!temp) { + return false; + } + telnetBuf = temp; + if (telnetBuf && (bufLen > oldBufLen) && (bufRdIdx > bufWrIdx)) { + tmp = bufLen - (oldBufLen - bufRdIdx); + memcpy(&telnetBuf[tmp], &telnetBuf[bufRdIdx], oldBufLen - bufRdIdx); + bufRdIdx = tmp; + } + if (telnetServer) { + telnetServer->setNoDelay(true); + } + return true; +} + +uint16_t TelnetSpy::getBufferSize() { + if (!telnetBuf) { + return 0; + } + return bufLen; +} + +void TelnetSpy::setStoreOffline(bool store) { + storeOffline = store; +} + +bool TelnetSpy::getStoreOffline() { + return storeOffline; +} + +void TelnetSpy::setPingTime(uint16_t pngTime) { + pingTime = pngTime; + if (pingTime == 0) { + pingRef = 0xFFFFFFFF; + } else { + pingRef = (millis() & 0x7FFFFFF) + pingTime; + } +} + +void TelnetSpy::setSerial(HardwareSerial * usedSerial) { + usedSer = usedSerial; +} + +size_t TelnetSpy::write(uint8_t data) { + if (telnetBuf) { + if (storeOffline || client.connected()) { + if (bufUsed == bufLen) { + if (client.connected()) { + sendBlock(); + } + if (bufUsed == bufLen) { + char c; + while (bufUsed > 0) { + c = pullTelnetBuf(); + if (c == '\n') { + addTelnetBuf('\r'); + break; + } + } + if (peekTelnetBuf() == '\r') { + pullTelnetBuf(); + } + } + } + addTelnetBuf(data); + /* + if (data == '\n') { + addTelnetBuf('\r'); // added by proddy, fix for Windows + } + */ + } + } else { + if (client.connected()) { + client.write(data); + } + } + if (usedSer) { + return usedSer->write(data); + } + return 1; +} + +// this still needs some work +bool TelnetSpy::isSerialAvailable(void) { + if (usedSer) { + usedSer->write("test"); + //Wait for four seconds or till data is available on serial, whichever occurs first. + while (usedSer->available() == 0 && millis() < 4000) + ; + + if (usedSer->available() > 0) { + (void)usedSer->read(); // We then clear the input buffer + return true; + } + } + return false; +} + +int TelnetSpy::available(void) { + if (usedSer) { + int avail = usedSer->available(); + if (avail > 0) { + return avail; + } + } + if (client.connected()) { + return telnetAvailable(); + } + return 0; +} + +int TelnetSpy::read(void) { + int val; + if (usedSer) { + val = usedSer->read(); + if (val != -1) { + return val; + } + } + if (client.connected()) { + if (telnetAvailable()) { + val = client.read(); + } + } + return val; +} + +int TelnetSpy::peek(void) { + int val; + if (usedSer) { + val = usedSer->peek(); + if (val != -1) { + return val; + } + } + if (client.connected()) { + if (telnetAvailable()) { + val = client.peek(); + } + } + return val; +} + +void TelnetSpy::flush(void) { + if (usedSer) { + usedSer->flush(); + } +} + +#ifdef ESP8266 + +void TelnetSpy::begin(unsigned long baud, SerialConfig config, SerialMode mode, uint8_t tx_pin) { + if (usedSer) { + usedSer->begin(baud, config, mode, tx_pin); + } + started = true; +} + +#else // ESP32 + +void TelnetSpy::begin(unsigned long baud, uint32_t config, int8_t rxPin, int8_t txPin, bool invert) { + if (usedSer) { + usedSer->begin(baud, config, rxPin, txPin, invert); + } + started = true; +} + +#endif + +void TelnetSpy::end() { + if (debugOutput) { + setDebugOutput(false); + } + if (usedSer) { + usedSer->end(); + } + if (client.connected()) { + client.flush(); + client.stop(); + } + if (connected && (callbackDisconnect != NULL)) { + callbackDisconnect(); + } + connected = false; + telnetServer->close(); + delete telnetServer; + telnetServer = NULL; + listening = false; + started = false; +} + +#ifdef ESP8266 + +void TelnetSpy::swap(uint8_t tx_pin) { + if (usedSer) { + usedSer->swap(tx_pin); + } +} + +void TelnetSpy::set_tx(uint8_t tx_pin) { + if (usedSer) { + usedSer->set_tx(tx_pin); + } +} + +void TelnetSpy::pins(uint8_t tx, uint8_t rx) { + if (usedSer) { + usedSer->pins(tx, rx); + } +} + +bool TelnetSpy::isTxEnabled(void) { + if (usedSer) { + return usedSer->isTxEnabled(); + } + return true; +} + +bool TelnetSpy::isRxEnabled(void) { + if (usedSer) { + return usedSer->isRxEnabled(); + } + return true; +} + +#endif + +int TelnetSpy::availableForWrite(void) { + if (usedSer) { + return min(usedSer->availableForWrite(), bufLen - bufUsed); + } + return bufLen - bufUsed; +} + +TelnetSpy::operator bool() const { + if (usedSer) { + return (bool)*usedSer; + } + return true; +} + +void TelnetSpy::setDebugOutput(bool en) { + debugOutput = en; + + // TODO: figure out how to disable system printing for the ESP32 + if (debugOutput) { + actualObject = this; + +#ifdef ESP8266 + os_install_putc1((void *)TelnetSpy_putc); // Set system printing (os_printf) to TelnetSpy + system_set_os_print(true); +#endif + + } else { + if (actualObject == this) { + +#ifdef ESP8266 + system_set_os_print(false); + os_install_putc1((void *)TelnetSpy_ignore_putc); // Ignore system printing +#endif + + actualObject = NULL; + } + } +} + +uint32_t TelnetSpy::baudRate(void) { + if (usedSer) { + return usedSer->baudRate(); + } + return 115200; +} + +void TelnetSpy::sendBlock() { + uint16_t len = bufUsed; + if (len > maxBlockSize) { + len = maxBlockSize; + } + len = min(len, (uint16_t)(bufLen - bufRdIdx)); + client.write(&telnetBuf[bufRdIdx], len); + bufRdIdx += len; + if (bufRdIdx >= bufLen) { + bufRdIdx = 0; + } + bufUsed -= len; + if (bufUsed == 0) { + bufRdIdx = 0; + bufWrIdx = 0; + } + waitRef = 0xFFFFFFFF; + if (pingRef != 0xFFFFFFFF) { + pingRef = (millis() & 0x7FFFFFF) + pingTime; + if (pingRef > 0x7FFFFFFF) { + pingRef -= 0x80000000; + } + } +} + +void TelnetSpy::addTelnetBuf(char c) { + telnetBuf[bufWrIdx] = c; + if (bufUsed == bufLen) { + bufRdIdx++; + if (bufRdIdx >= bufLen) { + bufRdIdx = 0; + } + } else { + bufUsed++; + } + bufWrIdx++; + if (bufWrIdx >= bufLen) { + bufWrIdx = 0; + } +} + +char TelnetSpy::pullTelnetBuf() { + if (bufUsed == 0) { + return 0; + } + char c = telnetBuf[bufRdIdx++]; + if (bufRdIdx >= bufLen) { + bufRdIdx = 0; + } + bufUsed--; + return c; +} + +char TelnetSpy::peekTelnetBuf() { + if (bufUsed == 0) { + return 0; + } + return telnetBuf[bufRdIdx]; +} + +int TelnetSpy::telnetAvailable() { + int n = client.available(); + while (n > 0) { + if (0xff == client.peek()) { // If esc char for telnet NVT protocol data remove that telegram: + client.read(); // Remove esc char + n--; + if (0xff == client.peek()) { // If esc sequence for 0xFF data byte... + return n; // ...return info about available data (just this 0xFF data byte) + } + client.read(); // Skip the rest of the telegram of the telnet NVT protocol data + client.read(); + n--; + n--; + } else { // If next char is a normal data byte... + return n; // ...return info about available data + } + } + return 0; +} + +bool TelnetSpy::isClientConnected() { + return connected; +} + +void TelnetSpy::setCallbackOnConnect(telnetSpyCallback callback) { + callbackConnect = callback; +} + +void TelnetSpy::setCallbackOnDisconnect(telnetSpyCallback callback) { + callbackDisconnect = callback; +} + +void TelnetSpy::serialPrint(char c) { + if (usedSer) { + usedSer->print(c); + } +} + +void TelnetSpy::handle() { + if (firstMainLoop) { + firstMainLoop = false; + // Between setup() and loop() the configuration for os_print may be changed so it must be renewed + if (debugOutput && (actualObject == this)) { + setDebugOutput(true); + } + } + if (!started) { + return; + } + if (!listening) { + if ((WiFi.status() == WL_DISCONNECTED) && (WiFi.getMode() & WIFI_AP)) { + if (usedSer) { + usedSer->println("[TELNET] in AP mode"); // added by Proddy + } + } else if (WiFi.status() != WL_CONNECTED) { + return; + } + + telnetServer = new WiFiServer(port); + telnetServer->begin(); + telnetServer->setNoDelay(bufLen > 0); + listening = true; + if (usedSer) { + usedSer->println("[TELNET] Telnet server started"); // added by Proddy + } + } + if (telnetServer->hasClient()) { + if (client.connected()) { + WiFiClient rejectClient = telnetServer->available(); + if (strlen(rejectMsg) > 0) { + rejectClient.write((const uint8_t *)rejectMsg, strlen(rejectMsg)); + } + rejectClient.flush(); + rejectClient.stop(); + } else { + client = telnetServer->available(); + if (strlen(welcomeMsg) > 0) { + client.write((const uint8_t *)welcomeMsg, strlen(welcomeMsg)); + } + } + } + if (client.connected()) { + if (!connected) { + connected = true; + if (pingTime != 0) { + pingRef = (millis() & 0x7FFFFFF) + pingTime; + } + if (callbackConnect != NULL) { + callbackConnect(); + } + } + } else { + if (connected) { + connected = false; + client.flush(); + client.stop(); + pingRef = 0xFFFFFFFF; + waitRef = 0xFFFFFFFF; + if (callbackDisconnect != NULL) { + callbackDisconnect(); + } + } + } + + if (client.connected() && (bufUsed > 0)) { + if (bufUsed >= minBlockSize) { + sendBlock(); + } else { + unsigned long m = millis() & 0x7FFFFFF; + if (waitRef == 0xFFFFFFFF) { + waitRef = m + collectingTime; + if (waitRef > 0x7FFFFFFF) { + waitRef -= 0x80000000; + } + } else { + if (!((waitRef < 0x20000000) && (m > 0x60000000)) && (m >= waitRef)) { + sendBlock(); + } + } + } + } + if (client.connected() && (pingRef != 0xFFFFFFFF)) { + unsigned long m = millis() & 0x7FFFFFF; + if (!((pingRef < 0x20000000) && (m > 0x60000000)) && (m >= pingRef)) { + addTelnetBuf(0); + sendBlock(); + } + } +} diff --git a/lib/TelnetSpy/TelnetSpy.h b/lib/TelnetSpy/TelnetSpy.h new file mode 100644 index 000000000..1f7b901c7 --- /dev/null +++ b/lib/TelnetSpy/TelnetSpy.h @@ -0,0 +1,281 @@ +/* + * TELNET SERVER FOR ESP8266 / ESP32 + * Cloning the serial port via Telnet. + * + * Written by Wolfgang Mattis (arduino@yasheena.de). + * Version 1.1 / September 7, 2018. + * MIT license, all text above must be included in any redistribution. + */ + +/* + * DESCRIPTION + * + * This module allows you "Debugging over the air". So if you already use + * ArduinoOTA this is a helpful extension for wireless development. Use + * "TelnetSpy" instead of "Serial" to send data to the serial port and a copy + * to a telnet connection. There is a circular buffer which allows to store the + * data while the telnet connection is not established. So its possible to + * collect data even when the Wifi and Telnet connections are still not + * established. Its also possible to create a telnet session only if it is + * neccessary: then you will get the already collected data as far as it is + * still stored in the circular buffer. Data send from telnet terminal to + * ESP8266 / ESP32 will be handled as data received by serial port. It is also + * possible to use more than one instance of TelnetSpy, for example to send + * control information on the first instance and data dumps on the second + * instance. + * + * USAGE + * + * Add the following line to your sketch: + * #include + * TelnetSpy LOG; + * + * Add the following line to your initialisation block ( void setup() ): + * LOG.begin(); + * + * Add the following line at the beginning of your main loop ( void loop() ): + * LOG.handle(); + * + * Use the following functions of the TelnetSpy object to modify behavior + * + * Change the port number of this telnet server. If a client is already + * connected it will be disconnected. + * Default: 23 + * void setPort(uint16_t portToUse); + * + * Change the message which will be send to the telnet client after a session + * is established. + * Default: "Connection established via TelnetSpy.\n" + * void setWelcomeMsg(char* msg); + * + * Change the message which will be send to the telnet client if another + * session is already established. + * Default: "TelnetSpy: Only one connection possible.\n" + * void setRejectMsg(char* msg); + * + * Change the amount of characters to collect before sending a telnet block. + * Default: 64 + * void setMinBlockSize(uint16_t minSize); + * + * Change the time (in ms) to wait before sending a telnet block if its size is + * less than (defined by setMinBlockSize). + * Default: 100 + * void setCollectingTime(uint16_t colTime); + * + * Change the maximum size of the telnet packets to send. + * Default: 512 + * void setMaxBlockSize(uint16_t maxSize); + * + * Change the size of the ring buffer. Set it to 0 to disable buffering. + * Changing size tries to preserve the already collected data. If the new + * buffer size is too small the youngest data will be preserved only. Returns + * false if the requested buffer size cannot be set. + * Default: 3000 + * bool setBufferSize(uint16_t newSize); + * + * This function returns the actual size of the ring buffer. + * uint16_t getBufferSize(); + * + * Enable / disable storing new data in the ring buffer if no telnet connection + * is established. This function allows you to store important data only. You + * can do this by disabling "storeOffline" for sending less important data. + * Default: true + * void setStoreOffline(bool store); + * + * Get actual state of storing data when offline. + * bool getStoreOffline(); + * + * If no data is sent via TelnetSpy the detection of a disconnected client has + * a long timeout. Use setPingTime to define the time (in ms) without traffic + * after which a ping (chr(0)) is sent to the telnet client to detect a + * disconnect earlier. Use 0 as parameter to disable pings. + * Default: 1500 + * void setPingTime(uint16_t pngTime); + * + * Set the serial port you want to use with this object (especially for ESP32) + * or NULL if no serial port should be used (telnet only). + * Default: Serial + * void setSerial(HardwareSerial* usedSerial); + * + * This function returns true, if a telnet client is connected. + * bool isClientConnected(); + * + * This function installs a callback function which will be called on every + * telnet connect of this object (except rejected connect tries). Use NULL to + * remove the callback. + * Default: NULL + * void setCallbackOnConnect(void (*callback)()); + * + * This function installs a callback function which will be called on every + * telnet disconnect of this object (except rejected connect tries). Use NULL + * to remove the callback. + * Default: NULL + * void setCallbackOnDisconnect(void (*callback)()); + * + * HINT + * + * Add the following lines to your sketch: + * #define SERIAL TelnetSpy + * //#define SERIAL Serial + * + * Replace "Serial" with "SERIAL" in your sketch. Now you can switch between + * serial only and serial with telnet by changing the comments of the defines + * only. + * + * IMPORTANT + * + * To connect to the telnet server you have to: + * - establish the Wifi connection + * - execute "TelnetSpy.begin(WhatEverYouWant);" + * + * The order is not important. + * + * All you do with "Serial" you can also do with "TelnetSpy", but remember: + * Transfering data also via telnet will need more performance than the serial + * port only. So time critical things may be influenced. + * + * It is not possible to establish more than one telnet connection at the same + * time. But its possible to use more than one instance of TelnetSpy. + * + * If you have problems with low memory you may reduce the value of the define + * TELNETSPY_BUFFER_LEN for a smaller ring buffer on initialisation. + * + * Usage of void setDebugOutput(bool) to enable / disable of capturing of + * os_print calls when you have more than one TelnetSpy instance: That + * TelnetSpy object will handle this functionality where you used + * setDebugOutput at last. On default TelnetSpy has the capturing of OS_print + * calls enabled. So if you have more instances the last created instance will + * handle the capturing. + */ + +#ifndef TelnetSpy_h +#define TelnetSpy_h + +#define TELNETSPY_BUFFER_LEN 3000 +#define TELNETSPY_MIN_BLOCK_SIZE 64 +#define TELNETSPY_COLLECTING_TIME 100 +#define TELNETSPY_MAX_BLOCK_SIZE 512 +#define TELNETSPY_PING_TIME 1500 +#define TELNETSPY_PORT 23 +#define TELNETSPY_CAPTURE_OS_PRINT true +#define TELNETSPY_WELCOME_MSG "Connection established via Telnet.\n" +#define TELNETSPY_REJECT_MSG "Telnet: Only one connection possible.\n" + +#ifdef ESP8266 +#include +#else // ESP32 +#include +#endif +#include + +class TelnetSpy : public Stream { + public: + TelnetSpy(); + ~TelnetSpy(); + void handle(void); + void setPort(uint16_t portToUse); + void setWelcomeMsg(const char * msg); + void setRejectMsg(const char * msg); + void setMinBlockSize(uint16_t minSize); + void setCollectingTime(uint16_t colTime); + void setMaxBlockSize(uint16_t maxSize); + bool setBufferSize(uint16_t newSize); + uint16_t getBufferSize(); + void setStoreOffline(bool store); + bool getStoreOffline(); + void setPingTime(uint16_t pngTime); + void setSerial(HardwareSerial * usedSerial); + bool isClientConnected(); + void serialPrint(char c); + + void disconnectClient(); // added by Proddy + typedef std::function telnetSpyCallback; // added by Proddy + void setCallbackOnConnect(telnetSpyCallback callback); // changed by proddy + void setCallbackOnDisconnect(telnetSpyCallback callback); // changed by proddy + + // Functions offered by HardwareSerial class: +#ifdef ESP8266 + void begin(unsigned long baud) { + begin(baud, SERIAL_8N1, SERIAL_FULL, 1); + } + void begin(unsigned long baud, SerialConfig config) { + begin(baud, config, SERIAL_FULL, 1); + } + void begin(unsigned long baud, SerialConfig config, SerialMode mode) { + begin(baud, config, mode, 1); + } + void begin(unsigned long baud, SerialConfig config, SerialMode mode, uint8_t tx_pin); +#else // ESP32 + void begin(unsigned long baud, uint32_t config = SERIAL_8N1, int8_t rxPin = -1, int8_t txPin = -1, bool invert = false); +#endif + void end(); +#ifdef ESP8266 + void swap() { + swap(1); + } + void swap(uint8_t tx_pin); + void set_tx(uint8_t tx_pin); + void pins(uint8_t tx, uint8_t rx); + bool isTxEnabled(void); + bool isRxEnabled(void); +#endif + int available(void) override; + int peek(void) override; + int read(void) override; + int availableForWrite(void); + void flush(void) override; + size_t write(uint8_t) override; + inline size_t write(unsigned long n) { + return write((uint8_t)n); + } + inline size_t write(long n) { + return write((uint8_t)n); + } + inline size_t write(unsigned int n) { + return write((uint8_t)n); + } + inline size_t write(int n) { + return write((uint8_t)n); + } + using Print::write; + operator bool() const; + void setDebugOutput(bool); + uint32_t baudRate(void); + + bool isSerialAvailable(void); + + protected: + void sendBlock(void); + void addTelnetBuf(char c); + char pullTelnetBuf(); + char peekTelnetBuf(); + int telnetAvailable(); + WiFiServer * telnetServer; + WiFiClient client; + uint16_t port; + HardwareSerial * usedSer; + bool storeOffline; + bool started; + bool listening; + bool firstMainLoop; + unsigned long waitRef; + unsigned long pingRef; + uint16_t pingTime; + char * welcomeMsg; + char * rejectMsg; + uint16_t minBlockSize; + uint16_t collectingTime; + uint16_t maxBlockSize; + bool debugOutput; + char * telnetBuf; + uint16_t bufLen; + uint16_t bufUsed; + uint16_t bufRdIdx; + uint16_t bufWrIdx; + bool connected; + + telnetSpyCallback callbackConnect; // added by proddy + telnetSpyCallback callbackDisconnect; // added by proddy +}; + +#endif diff --git a/platformio.ini-example b/platformio.ini-example index 82ee7f9bf..fdbbeb257 100644 --- a/platformio.ini-example +++ b/platformio.ini-example @@ -1,45 +1,37 @@ [platformio] -; change this for your ESP8266 device -env_default = nodemcuv2 -; env_default = d1_mini +env_default = d1_mini [common] platform = espressif8266 -; optional flags are -DUSE_LED -DSHOWER_TEST -DUSE_SERIAL -build_flags = -g -w -DMQTT_MAX_PACKET_SIZE=400 -build_flags_custom = '-DWIFI_SSID="my_ssid"' '-DWIFI_PASSWORD="my_password"' '-DMQTT_IP="my_broker_ip"' '-DMQTT_USER="my_broker_username"' '-DMQTT_PASS="my_broker_password"' +flash_mode = dout +build_flags = -g -w +;build_flags = -g -w -DBUILD_TIME=$UNIX_TIME + +wifi_settings = +; hard code if you prefer. Recommendation is to set from within the app when in Serial or AP mode +;wifi_settings = '-DWIFI_SSID="XXXX"' '-DWIFI_PASSWORD="XXXX"' + lib_deps = - Time - PubSubClient - ArduinoJson CRC32 CircularBuffer - -[env:nodemcuv2] -board = nodemcuv2 -platform = ${common.platform} -framework = arduino -lib_deps = ${common.lib_deps} -build_flags = ${common.build_flags} ${common.build_flags_custom} -upload_speed = 921600 -; comment out next line if using USB and not OTA -upload_port = "boiler." -; examples.... -;upload_port = "boiler" -;upload_port = "boiler.local" -;upload_port = 10.10.10.6 + JustWifi + AsyncMqttClient + ArduinoJson +; https://github.com/bblanchon/ArduinoJson#v5.13.5 + OneWire [env:d1_mini] board = d1_mini platform = ${common.platform} framework = arduino lib_deps = ${common.lib_deps} -build_flags = ${common.build_flags} ${common.build_flags_custom} +build_flags = ${common.build_flags} ${common.wifi_settings} +board_build.flash_mode = ${common.flash_mode} upload_speed = 921600 -; comment out next line if using USB and not OTA -upload_port = "boiler." -; examples.... -;upload_port = "boiler" -;upload_port = "boiler.local" -;upload_port = 10.10.10.6 +monitor_speed = 115200 + +; for OTA comment out these sections +;upload_protocol = espota +;upload_port = ems-esp.local + diff --git a/rename_fw.py b/rename_fw.py new file mode 100644 index 000000000..aad993d99 --- /dev/null +++ b/rename_fw.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python +from subprocess import call +import os +Import("env") + +#my_flags = env.ParseFlags(env['BUILD_FLAGS']) +#defines = {k: v for (k, v) in my_flags.get("CPPDEFINES")} +# print defines +# print env.Dump() + +# see http://docs.platformio.org/en/latest/projectconf/advanced_scripting.html#before-pre-and-after-post-actions +# env.Replace(PROGNAME="firmware_%s" % defines.get("VERSION")) +env.Replace(PROGNAME="firmware_%s" % env['BOARD']) diff --git a/src/ESPHelper.cpp b/src/ESPHelper.cpp deleted file mode 100644 index 55284d2e0..000000000 --- a/src/ESPHelper.cpp +++ /dev/null @@ -1,895 +0,0 @@ -/* - Based off : - 1) ESPHelper.cpp - Copyright (c) 2017 ItKindaWorks Inc All right reserved. github.com/ItKindaWorks - 2) https://github.com/JoaoLopesF/ESP8266-RemoteDebug-Telnet - -*/ - -#include "ESPHelper.h" - -WiFiServer telnetServer(TELNET_PORT); - -//initializer with single netInfo network -ESPHelper::ESPHelper(netInfo * startingNet) { - //disconnect from and previous wifi networks - WiFi.softAPdisconnect(); - WiFi.disconnect(); - - //setup current network information - _currentNet = *startingNet; - - //validate various bits of network/MQTT info - - //network pass - if (_currentNet.pass[0] == '\0') { - _passSet = false; - } else { - _passSet = true; - } - - //ssid - if (_currentNet.ssid[0] == '\0') { - _ssidSet = false; - } else { - _ssidSet = true; - } - - //mqtt host - if (_currentNet.mqttHost[0] == '\0') { - _mqttSet = false; - } else { - _mqttSet = true; - } - - //mqtt port - if (_currentNet.mqttPort == 0) { - _currentNet.mqttPort = 1883; - } - - //mqtt username - if (_currentNet.mqttUser[0] == '\0') { - _mqttUserSet = false; - } else { - _mqttUserSet = true; - } - - //mqtt password - if (_currentNet.mqttPass[0] == '\0') { - _mqttPassSet = false; - } else { - _mqttPassSet = true; - } - - //disable hopping on single network - _hoppingAllowed = false; - - //disable ota by default - _useOTA = false; -} - -//start the wifi & mqtt systems and attempt connection (currently blocking) -//true on: parameter check validated -//false on: parameter check failed -bool ESPHelper::begin(const char * hostname, const char * app_name, const char * app_version) { -#ifdef USE_SERIAL1 - Serial1.begin(115200); - Serial1.setDebugOutput(true); -#endif - -#ifdef USE_SERIAL - Serial.begin(115200); - Serial.setDebugOutput(true); -#endif - - // set hostname first - strcpy(_hostname, hostname); - OTA_enable(); - - strcpy(_app_name, app_name); // app name - strcpy(_app_version, app_version); // app version - - - setBoottime(""); - - if (_ssidSet) { - strcpy(_clientName, hostname); - - /* - // Generate client name based on MAC address and last 8 bits of microsecond counter - - _clientName += "esp-"; - uint8_t mac[6]; - WiFi.macAddress(mac); - _clientName += macToStr(mac); - */ - -// set hostname -// can ping by or on Windows10 it's . -#if defined(ESP8266) - WiFi.hostname(_hostname); -#elif defined(ESP32) - WiFi.setHostname(_hostname); -#endif - - //set the wifi mode to station and begin the wifi (connect using either ssid or ssid/pass) - WiFi.mode(WIFI_STA); - if (_passSet) { - WiFi.begin(_currentNet.ssid, _currentNet.pass); - } else { - WiFi.begin(_currentNet.ssid); - } - - //as long as an mqtt ip has been set create an instance of PubSub for client - if (_mqttSet) { - //make mqtt client use either the secure or non-secure wifi client depending on the setting - if (_useSecureClient) { - client = PubSubClient(_currentNet.mqttHost, _currentNet.mqttPort, wifiClientSecure); - } else { - client = PubSubClient(_currentNet.mqttHost, _currentNet.mqttPort, wifiClient); - } - - //set the mqtt message callback if needed - if (_mqttCallbackSet) { - client.setCallback(_mqttCallback); - } - } - - //define a dummy instance of mqtt so that it is instantiated if no mqtt ip is set - else { - //make mqtt client use either the secure or non-secure wifi client depending on the setting - //(this shouldnt be needed if making a dummy connection since the idea would be that there wont be mqtt in this case) - if (_useSecureClient) { - client = PubSubClient("192.168.1.255", _currentNet.mqttPort, wifiClientSecure); - } else { - client = PubSubClient("192.168.1.255", _currentNet.mqttPort, wifiClient); - } - } - - //ota event handlers - ArduinoOTA.onStart([]() { /* ota start code */ }); - ArduinoOTA.onEnd([]() { - //on ota end we disconnect from wifi cleanly before restarting. - WiFi.softAPdisconnect(); - WiFi.disconnect(); - uint8_t timeout = 0; - //max timeout of 2seconds before just dropping out and restarting - while (WiFi.status() != WL_DISCONNECTED && timeout < 200) { - timeout++; - } - }); - ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { /* ota progress code */ }); - ArduinoOTA.onError([](ota_error_t error) { /* ota error code */ }); - - //initially attempt to connect to wifi when we begin (but only block for 2 seconds before timing out) - uint8_t timeout = 0; //counter for begin connection attempts - while (((!client.connected() && _mqttSet) || WiFi.status() != WL_CONNECTED) - && timeout < 200) { //max 2 sec before timeout - reconnect(); - timeout++; - } - - //attempt to start ota if needed - OTA_begin(); - - // Initialize the telnet server - telnetServer.begin(); - telnetServer.setNoDelay(true); - - // init command buffer for console commands - memset(_command, 0, sizeof(_command)); - - consoleShowHelp(); // show this at bootup - - // mark the system as started and return - _hasBegun = true; - - return true; - } - - //if no ssid was set even then dont try to begin and return false - return false; -} - -//end the instance of ESPHelper (shutdown wifi, ota, mqtt) -void ESPHelper::end() { - // Stop telnet Client & Server - if (telnetClient && telnetClient.connected()) { - telnetClient.stop(); - } - - // Stop server - telnetServer.stop(); - - OTA_disable(); - WiFi.softAPdisconnect(); - WiFi.disconnect(); - - uint8_t timeout = 0; - while (WiFi.status() != WL_DISCONNECTED && timeout < 200) { - timeout++; - } - -#ifdef USE_SERIAL - Serial.flush(); -#endif - -#ifdef USE_SERIAL1 - Serial1.flush(); -#endif -} - -//main loop - should be called as often as possible - handles wifi/mqtt connection and mqtt handler -//true on: network/server connected -//false on: network or server disconnected -int ESPHelper::loop() { - if (_ssidSet) { - //check for good connections and attempt a reconnect if needed - if (((_mqttSet && !client.connected()) || setConnectionStatus() < WIFI_ONLY) && _connectionStatus != BROADCAST) { - reconnect(); - } - - //run the wifi loop as long as the connection status is at a minimum of BROADCAST - if (_connectionStatus >= BROADCAST) { - //run the MQTT loop if we have a full connection - if (_connectionStatus == FULL_CONNECTION) { - client.loop(); - } - - //check for whether we want to use OTA and whether the system is running - if (_useOTA && _OTArunning) { - ArduinoOTA.handle(); - } - - //if we want to use OTA but its not running yet, start it up. - else if (_useOTA && !_OTArunning) { - OTA_begin(); - ArduinoOTA.handle(); - } - - // do the telnet stuff - consoleHandle(); - - return _connectionStatus; - } - } - - //return -1 for no connection because of bad network info - return -1; -} - -//subscribe to a specific topic (does not add to topic list) -//true on: subscription success -//false on: subscription failed (either from PubSub lib or network is disconnected) -bool ESPHelper::subscribe(const char * topic, uint8_t qos) { - if (_connectionStatus == FULL_CONNECTION) { - //set the return value to the output of subscribe - bool returnVal = client.subscribe(topic, qos); - - //loop mqtt client - client.loop(); - return returnVal; - } - - //if not fully connected return false - else { - return false; - } -} - -//add a topic to the list of subscriptions and attempt to subscribe to the topic on the spot -//true on: subscription added to list (does not guarantee that the topic was subscribed to, only that it was added to the list) -//false on: subscription not added to list -bool ESPHelper::addSubscription(const char * topic) { - //default return value is false - bool subscribed = false; - - //loop through finding the next available slot for a subscription and add it - for (uint8_t i = 0; i < MAX_SUBSCRIPTIONS; i++) { - if (_subscriptions[i].isUsed == false) { - _subscriptions[i].topic = topic; - _subscriptions[i].isUsed = true; - subscribed = true; - break; - } - } - - //if added to the list, subscribe to the topic - if (subscribed) { - subscribe(topic, _qos); - } - - return subscribed; -} - -//loops through list of subscriptions and attempts to subscribe to all topics -void ESPHelper::resubscribe() { - for (uint8_t i = 0; i < MAX_SUBSCRIPTIONS; i++) { - if (_subscriptions[i].isUsed) { - subscribe(_subscriptions[i].topic, _qos); - yield(); - } - } -} - -//manually unsubscribes from a topic (This is basically just a wrapper for the pubsubclient function) -bool ESPHelper::unsubscribe(const char * topic) { - return client.unsubscribe(topic); -} - -//publish to a specified topic -void ESPHelper::publish(const char * topic, const char * payload) { - if (_mqttSet) { - publish(topic, payload, false); - } -} - -//publish to a specified topic with a given retain level -void ESPHelper::publish(const char * topic, const char * payload, bool retain) { - client.publish(topic, payload, retain); -} - -//set the callback function for MQTT -void ESPHelper::setMQTTCallback(MQTT_CALLBACK_SIGNATURE) { - _mqttCallback = callback; - - //only set the callback if using mqtt AND the system has already been started. Otherwise just save it for later - if (_hasBegun && _mqttSet) { - client.setCallback(_mqttCallback); - } - _mqttCallbackSet = true; -} - -//sets a custom function to run when connection to wifi is established -void ESPHelper::setWifiCallback(void (*callback)()) { - _wifiCallback = callback; - _wifiCallbackSet = true; -} - -//sets a custom function to run when telnet is started -void ESPHelper::setInitCallback(void (*callback)()) { - _initCallback = callback; - _initCallbackSet = true; -} - -//attempts to connect to wifi & mqtt server if not connected -void ESPHelper::reconnect() { - static uint8_t tryCount = 0; - - if (_connectionStatus != BROADCAST && setConnectionStatus() != FULL_CONNECTION) { - logger(LOG_CONSOLE, "Attempting WiFi Connection..."); - //attempt to connect to the wifi if connection is lost - if (WiFi.status() != WL_CONNECTED) { - _connectionStatus = NO_CONNECTION; - - //increment try count each time it cannot connect (this is used to determine when to hop to a new network) - tryCount++; - if (tryCount == 20) { - //change networks (if possible) when we have tried to connect 20 times and failed - changeNetwork(); - tryCount = 0; - return; - } - } - - // make sure we are connected to WIFI before attempting to reconnect to MQTT - //----note---- maybe want to reset tryCount whenever we succeed at getting wifi connection? - if (WiFi.status() == WL_CONNECTED) { - //if the wifi previously wasnt connected but now is, run the callback - if (_connectionStatus < WIFI_ONLY && _wifiCallbackSet) { - _wifiCallback(); - } - - logger(LOG_CONSOLE, "---WiFi Connected!---"); - _connectionStatus = WIFI_ONLY; - - //attempt to connect to mqtt when we finally get connected to WiFi - if (_mqttSet) { - static uint8_t timeout = 0; //allow a max of 5 mqtt connection attempts before timing out - if (!client.connected() && timeout < 5) { - logger(LOG_CONSOLE, "Attempting MQTT connection..."); - - uint8_t connected = 0; - - //connect to mqtt with user/pass - if (_mqttUserSet) { - connected = client.connect(_clientName, _currentNet.mqttUser, _currentNet.mqttPass); - } - - //connect to mqtt without credentials - else { - connected = client.connect(_clientName); - } - - //if connected, subscribe to the topic(s) we want to be notified about - if (connected) { - logger(LOG_CONSOLE, " -- Connected"); - - //if using https, verify the fingerprint of the server before setting full connection (return on fail) - // removing this as not supported with ESP32, see https://github.com/espressif/arduino-esp32/issues/278 - /* - if (wifiClientSecure.verify(_fingerprint, - _currentNet.mqttHost)) { - logger(LOG_CONSOLE, - "Certificate Matches - SUCCESS\n"); - } else { - logger(LOG_CONSOLE, - "Certificate Doesn't Match - FAIL\n"); - return; - } - } - */ - - _connectionStatus = FULL_CONNECTION; - resubscribe(); - timeout = 0; - } else { - logger(LOG_CONSOLE, " -- Failed\n"); - } - timeout++; - } - - //if we still cant connect to mqtt after 10 attempts increment the try count - if (timeout >= 5 && !client.connected()) { - timeout = 0; - tryCount++; - if (tryCount == 20) { - changeNetwork(); - tryCount = 0; - return; - } - } - } - } - - //reset the reconnect metro - //reconnectMetro.reset(); - } -} - -uint8_t ESPHelper::setConnectionStatus() { - //assume no connection - uint8_t returnVal = NO_CONNECTION; - - //make sure were not in broadcast mode - if (_connectionStatus != BROADCAST) { - //if connected to wifi set the mode to wifi only and run the callback if needed - if (WiFi.status() == WL_CONNECTED) { - if (_connectionStatus < WIFI_ONLY - && _wifiCallbackSet) { //if the wifi previously wasn't connected but now is, run the callback - _wifiCallback(); - } - returnVal = WIFI_ONLY; - - //if mqtt is connected as well then set the status to full connection - if (client.connected()) { - returnVal = FULL_CONNECTION; - } - } - } - - else { - returnVal = BROADCAST; - } - - //set the connection status and return - _connectionStatus = returnVal; - return returnVal; -} - -//changes the current network settings to the next listed network if network hopping is allowed -void ESPHelper::changeNetwork() { - //only attempt to change networks if hopping is allowed - if (_hoppingAllowed) { - //change the index/reset to 0 if we've hit the last network setting - _currentIndex++; - if (_currentIndex >= _netCount) { - _currentIndex = 0; - } - - //set the current netlist to the new network - _currentNet = *_netList[_currentIndex]; - - //verify various bits of network info - - //network password - if (_currentNet.pass[0] == '\0') { - _passSet = false; - } else { - _passSet = true; - } - - //ssid - if (_currentNet.ssid[0] == '\0') { - _ssidSet = false; - } else { - _ssidSet = true; - } - - //mqtt host - if (_currentNet.mqttHost[0] == '\0') { - _mqttSet = false; - } else { - _mqttSet = true; - } - - //mqtt username - if (_currentNet.mqttUser[0] == '\0') { - _mqttUserSet = false; - } else { - _mqttUserSet = true; - } - - //mqtt password - if (_currentNet.mqttPass[0] == '\0') { - _mqttPassSet = false; - } else { - _mqttPassSet = true; - } - - printf("Trying next network: %s\n", _currentNet.ssid); - - //update the network connection - updateNetwork(); - } -} - -void ESPHelper::updateNetwork() { - logger(LOG_CONSOLE, "\tDisconnecting from WiFi"); - WiFi.disconnect(); - logger(LOG_CONSOLE, "\tAttempting to begin on new network..."); - - //set the wifi mode - WiFi.mode(WIFI_STA); - - //connect to the network - if (_passSet && _ssidSet) { - WiFi.begin(_currentNet.ssid, _currentNet.pass); - } else if (_ssidSet) { - WiFi.begin(_currentNet.ssid); - } else { - WiFi.begin("NO_SSID_SET"); - } - - logger(LOG_CONSOLE, "\tSetting new MQTT server"); - //setup the mqtt broker info - if (_mqttSet) { - client.setServer(_currentNet.mqttHost, _currentNet.mqttPort); - } else { - client.setServer("192.168.1.3", 1883); - } - - logger(LOG_CONSOLE, "\tDone - Ready for next reconnect attempt"); -} - -//enable use of OTA updates -void ESPHelper::OTA_enable() { - _useOTA = true; - ArduinoOTA.setHostname(_hostname); - OTA_begin(); -} - -//begin the OTA subsystem but with a check for connectivity and enabled use of OTA -void ESPHelper::OTA_begin() { - if (_connectionStatus >= BROADCAST && _useOTA) { - ArduinoOTA.begin(); - _OTArunning = true; - } -} - -//disable use of OTA updates -void ESPHelper::OTA_disable() { - _useOTA = false; - _OTArunning = false; -} - -// Is CR or LF ? -bool ESPHelper::isCRLF(char character) { - return (character == '\r' || character == '\n'); -} - -// handler for Telnet -void ESPHelper::consoleHandle() { - // look for Client - if (telnetServer.hasClient()) { - if (telnetClient && telnetClient.connected()) { - // Verify if the IP is same than actual connection - WiFiClient newClient; - newClient = telnetServer.available(); - String ip = newClient.remoteIP().toString(); - - if (ip == telnetClient.remoteIP().toString()) { - // Reconnect - telnetClient.stop(); - telnetClient = newClient; - } else { - // Desconnect (not allow more than one connection) - newClient.stop(); - return; - } - } else { - // New TCP client - telnetClient = telnetServer.available(); - } - - if (!telnetClient) { // No client yet ??? - return; - } - - // Set client - telnetClient.setNoDelay(true); // faster - telnetClient.flush(); // clear input buffer, to prevent strange characters - - _lastTimeCommand = millis(); // To mark time for inactivity - - // Show the initial message - consoleShowHelp(); - - _initCallback(); // call callback to set any custom things - - // Empty buffer - while (telnetClient.available()) { - telnetClient.read(); - } - } - - // Is client connected ? (to reduce overhead in active) - _telnetConnected = (telnetClient && telnetClient.connected()); - - // Get command over telnet - if (_telnetConnected) { - char last = ' '; // To avoid processing double "\r\n" - - while (telnetClient.available()) { // get data from Client - - // Get character - char character = telnetClient.read(); - - // Newline (CR or LF) - once one time if (\r\n) - if (isCRLF(character) == true) { - if (isCRLF(last) == false) { - // Process the command - if (strlen(_command) > 0) { - consoleProcessCommand(); - } - } - // reset for next command - memset(_command, 0, sizeof(_command)); - } else if (isPrintable(character)) { - // Concat char to end of buffer - uint16_t len = strlen(_command); - _command[len] = character; - _command[len + 1] = '\0'; - } - - // Last char - last = character; - } - - // Inactivity - close connection if not received commands from user in telnet to reduce overheads - if ((millis() - _lastTimeCommand) > MAX_TIME_INACTIVE) { - telnetClient.println("* Closing telnet session due to inactivity"); - telnetClient.flush(); - telnetClient.stop(); - _telnetConnected = false; - } - } -} - -// Set callback of sketch function to process project messages -void ESPHelper::consoleSetCallBackProjectCmds(command_t * cmds, uint8_t count, void (*callback)()) { - _helpProjectCmds = cmds; // command list - _helpProjectCmds_count = count; // number of commands - _consoleCallbackProjectCmds = callback; // external function to handle commands -} - -// Set bootime received as a string from HA -void ESPHelper::setBoottime(const char * boottime) { - strcpy(_boottime, boottime); -} - -// overrides the write call to print to the telnet connection -size_t ESPHelper::write(uint8_t character) { - if (!_verboseMessages) - return 0; - - //static uint32_t elapsed = 0; - - // If start of a new line, initiate a new string buffer with time counter as a prefix - if (_newLine) { - unsigned long upt = millis(); - sprintf(bufferPrint, - "(%s%02d:%02d:%02d%s) ", - COLOR_CYAN, - (uint8_t)((upt / (1000 * 60 * 60)) % 24), - (uint8_t)((upt / (1000 * 60)) % 60), - (uint8_t)((upt / 1000) % 60), - COLOR_RESET); - _newLine = false; - } - - // Print ? - bool doPrint = false; - - // New line ? - if (character == '\n') { - _newLine = true; - doPrint = true; - } else if (strlen(bufferPrint) == BUFFER_PRINT - 1) { // Limit of buffer - doPrint = true; - } - - // Add character to telnet buffer - uint16_t len = strlen(bufferPrint); - bufferPrint[len] = character; - - if (_newLine) { - // add additional \r for windows - bufferPrint[++len] = '\r'; - } - - // terminate string - bufferPrint[++len] = '\0'; - - // Send the characters buffered by print.h - if (doPrint) { - if (_telnetConnected) { - telnetClient.print(bufferPrint); - } - -// echo to Serial if enabled -#ifdef USE_SERIAL - Serial.print(bufferPrint); -#endif - -#ifdef USE_SERIAL1 - Serial1.print(bufferPrint); -#endif - - // Empty the buffer - bufferPrint[0] = '\0'; - } - - return len + 1; -} - -// Show help of commands -void ESPHelper::consoleShowHelp() { - String help = "**********************************************\n\r* Remote Telnet Command Center & Log Monitor " - "*\n\r**********************************************\n\r"; - help += "* Device hostname: " + WiFi.hostname() + "\tIP: " + WiFi.localIP().toString() - + "\tMAC address: " + WiFi.macAddress() + "\n\r"; - help += "* Connected to WiFi AP: " + WiFi.SSID() + "\n\r"; - help += "* Boot time: "; - help.concat(_boottime); - help += "\n\r* "; - help.concat(_app_name); - help += " Version "; - help.concat(_app_version); - help += "\n\r* Free RAM: "; - help.concat(ESP.getFreeHeap()); - help += " bytes\n\r"; - help += "*\n\r* Commands:\n\r* ?=this help, q=quit telnet, $=show free memory, !=reboot, &=suspend all " - "notifications\n\r"; - - char s[100]; - - // print custom commands if available - if (_consoleCallbackProjectCmds) { - for (uint8_t i = 0; i < _helpProjectCmds_count; i++) { - help += FPSTR("* "); - help += FPSTR(_helpProjectCmds[i].key); - for (int j = 0; j < (8 - strlen(_helpProjectCmds[i].key)); j++) { // padding - help += FPSTR(" "); - } - help += FPSTR(_helpProjectCmds[i].description); - help += FPSTR("\n\r"); - } - } - - telnetClient.print(help); - -#ifdef USE_SERIAL - Serial.print(help); -#endif - -#ifdef USE_SERIAL1 - Serial1.print(help); -#endif -} - -// reset / restart -void ESPHelper::resetESP() { - telnetClient.println("* Reboot ESP..."); - telnetClient.flush(); - telnetClient.stop(); - // end(); - - // Reset - ESP.restart(); - // ESP.reset(); // for ESP8266 only -} - -// Get last command received -char * ESPHelper::consoleGetLastCommand() { - return _command; -} - -// Process user command over telnet -void ESPHelper::consoleProcessCommand() { - // Set time of last command received - _lastTimeCommand = millis(); - uint8_t cmd = _command[0]; - - if (!_verboseMessages) { - telnetClient.println("Warning, all messages are supsended. Use & to enable."); - } - - // Process the command - if (cmd == '?') { - consoleShowHelp(); // Show help - } else if (cmd == 'q') { // quit - telnetClient.println("* Closing telnet connection..."); - telnetClient.stop(); - } else if (cmd == '$') { - telnetClient.print("* Free RAM (bytes): "); - telnetClient.println(ESP.getFreeHeap()); - } else if (cmd == '!') { - resetESP(); - } else if (cmd == '&') { - _verboseMessages = !_verboseMessages; // toggle - telnetClient.printf("Suspend all messages is %s\n\r", _verboseMessages ? "disabled" : "enabled"); - } else { - // custom Project commands - if (_consoleCallbackProjectCmds) { - _consoleCallbackProjectCmds(); - } - } -} - -// Logger -// LOG_CONSOLE sends to the Telnet session -// LOG_HA sends to Telnet session plus a MQTT for Home Assistant -// LOG_NONE turns off all logging -void ESPHelper::logger(log_level_t level, const char * message) { - // do we log to the telnet window? - if ((level == LOG_CONSOLE) && (telnetClient && telnetClient.connected())) { - telnetClient.println(message); - telnetClient.flush(); - } else if (level == LOG_HA) { - char s[100]; - sprintf(s, "%s: %s\n", _hostname, message); // add new line, for the debug telnet printer - publish(MQTT_NOTIFICATION, s, false); - } - -// print to Serial if set in platform.io (requires recompile) -#ifdef USE_SERIAL - Serial.println(message); -#endif - -#ifdef USE_SERIAL1 - Serial.println(message); -#endif -} - -// send specific command to HA via MQTT -// format is: home//command/ -void ESPHelper::sendHACommand(const char * cmd) { - //logger(LOG_CONSOLE, "Sending command to HA..."); - - char s[100]; - sprintf(s, "%s%s/%s", MQTT_BASE, _hostname, MQTT_TOPIC_COMMAND); - - publish(s, cmd, false); -} - -// send specific start command to HA via MQTT, which returns the boottime -// format is: home//start -void ESPHelper::sendStart() { - //logger(LOG_CONSOLE, "Sending Start command to HA..."); - - char s[100]; - sprintf(s, "%s%s/%s", MQTT_BASE, _hostname, MQTT_TOPIC_START); - - // send initial payload of "start" to kick things off - publish(s, MQTT_TOPIC_START, false); -} diff --git a/src/ESPHelper.h b/src/ESPHelper.h deleted file mode 100644 index b50e6653e..000000000 --- a/src/ESPHelper.h +++ /dev/null @@ -1,219 +0,0 @@ -/* - ESPHelper.h - Copyright (c) 2017 ItKindaWorks Inc All right reserved. - github.com/ItKindaWorks - - This file is part of ESPHelper - - ESPHelper is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - ESPHelper is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with ESPHelper. If not, see . -*/ -#pragma once - -#include -#include //https://github.com/esp8266/Arduino -#include -#include -#include -#include -#include -#include - -// MQTT stuff -#define DEFAULT_QOS 1 //at least once - devices are guarantee to get a message. -#define MQTT_BASE "home/" -#define MQTT_NOTIFICATION MQTT_BASE "notification" -#define MQTT_TOPIC_COMMAND "command" -#define MQTT_TOPIC_START "start" -#define MQTT_HA MQTT_BASE "ha" - -#define MAX_SUBSCRIPTIONS 25 // max # of subscriptions -#define MAX_TIME_INACTIVE 600000 // Max time for inactivity (ms) - 10 mins -#define TELNET_PORT 23 // telnet port -#define BUFFER_PRINT 500 // length of telnet buffer (default was 150) -#define COMMAND_LENGTH 20 // length of a command - -// ANSI Colors -#define COLOR_RESET "\x1B[0m" -#define COLOR_BLACK "\x1B[0;30m" -#define COLOR_RED "\x1B[0;31m" -#define COLOR_GREEN "\x1B[0;32m" -#define COLOR_YELLOW "\x1B[0;33m" -#define COLOR_BLUE "\x1B[0;34m" -#define COLOR_MAGENTA "\x1B[0;35m" -#define COLOR_CYAN "\x1B[0;36m" -#define COLOR_WHITE "\x1B[0;37m" - -// Logger -typedef enum { LOG_NONE, LOG_CONSOLE, LOG_HA } log_level_t; - -enum connStatus { NO_CONNECTION, BROADCAST, WIFI_ONLY, FULL_CONNECTION }; - -typedef struct { - const char * mqttHost; - const char * mqttUser; - const char * mqttPass; - uint16_t mqttPort; - const char * ssid; - const char * pass; -} netInfo; - -typedef struct { - bool isUsed = false; - const char * topic; -} subscription; - -typedef struct { - char key[10]; - char description[400]; -} command_t; - -// class ESPHelper { -class ESPHelper : public Print { - public: - void consoleSetCallBackProjectCmds(command_t * cmds, uint8_t count, void (*callback)()); - char * consoleGetLastCommand(); - void resetESP(); - void logger(log_level_t level, const char * message); - - virtual size_t write(uint8_t); - - ESPHelper(netInfo * startingNet); - - bool begin(const char * hostname, const char * app_name, const char * app_version); - - void end(); - - void useSecureClient(const char * fingerprint); - - int loop(); - - bool subscribe(const char * topic, uint8_t qos); - bool addSubscription(const char * topic); - bool removeSubscription(const char * topic); - bool unsubscribe(const char * topic); - bool addHASubscription(const char * topic); - - void publish(const char * topic, const char * payload); - void publish(const char * topic, const char * payload, bool retain); - - bool setCallback(MQTT_CALLBACK_SIGNATURE); - void setMQTTCallback(MQTT_CALLBACK_SIGNATURE); - - void setWifiCallback(void (*callback)()); - void setInitCallback(void (*callback)()); - - void sendHACommand(const char * s); - void sendStart(); - - void reconnect(); - - void updateNetwork(); - - const char * getSSID(); - void setSSID(const char * ssid); - - const char * getPASS(); - void setPASS(const char * pass); - - const char * getMQTTIP(); - void setMQTTIP(const char * mqttIP); - void setMQTTIP(const char * mqttIP, const char * mqttUser, const char * mqttPass); - - uint8_t getMQTTQOS(); - void setMQTTQOS(uint8_t qos); - - String getIP(); - IPAddress getIPAddress(); - - uint8_t getStatus(); - - void setNetInfo(netInfo newNetwork); - void setNetInfo(netInfo * newNetwork); - netInfo * getNetInfo(); - - void setHopping(bool canHop); - - void listSubscriptions(); - - void OTA_enable(); - void OTA_disable(); - void OTA_begin(); - - void setBoottime(const char * boottime); - - void consoleHandle(); - - private: - netInfo _currentNet; - PubSubClient client; - WiFiClient wifiClient; - WiFiClientSecure wifiClientSecure; - const char * _fingerprint; - bool _useSecureClient = false; - char _clientName[40]; - void (*_wifiCallback)(); - bool _wifiCallbackSet = false; - void (*_initCallback)(); - bool _initCallbackSet = false; - - std::function _mqttCallback; - - bool _mqttCallbackSet = false; - uint8_t _connectionStatus = NO_CONNECTION; - uint8_t _netCount = 0; - uint8_t _currentIndex = 0; - bool _ssidSet = false; - bool _passSet = false; - bool _mqttSet = false; - bool _mqttUserSet = false; - bool _mqttPassSet = false; - bool _useOTA = false; - bool _OTArunning = false; - bool _hoppingAllowed = false; - bool _hasBegun = false; - netInfo ** _netList; - bool _verboseMessages = true; - subscription _subscriptions[MAX_SUBSCRIPTIONS]; - char _hostname[24]; - uint8_t _qos = DEFAULT_QOS; - IPAddress _apIP = IPAddress(192, 168, 1, 254); - void changeNetwork(); - String macToStr(const uint8_t * mac); - bool checkParams(); - void resubscribe(); - uint8_t setConnectionStatus(); - - char _boottime[24]; - char _app_name[24]; - char _app_version[10]; - - // console/telnet specific - WiFiClient telnetClient; - - bool _telnetConnected = false; // Client is connected ? - bool _newLine = true; // New line write ? - - char _command[COMMAND_LENGTH]; // Command received, includes options seperated by a space - uint32_t _lastTimeCommand = millis(); // Last time command received - - command_t * _helpProjectCmds; // Help of commands setted by project - uint8_t _helpProjectCmds_count; // # available commands - - void (*_consoleCallbackProjectCmds)(); // Callable for projects commands - void consoleShowHelp(); - void consoleProcessCommand(); - bool isCRLF(char character); - - char bufferPrint[BUFFER_PRINT]; -}; diff --git a/src/boiler.ino b/src/boiler.ino deleted file mode 100644 index e236ad58e..000000000 --- a/src/boiler.ino +++ /dev/null @@ -1,956 +0,0 @@ -/* - * EMS-ESP-Boiler - * Paul Derbyshire - May 2018 - https://github.com/proddy/EMS-ESP-Boiler - * https://community.home-assistant.io/t/thermostat-and-boiler-controller-for-ems-based-boilers-nefit-buderus-bosch-using-esp/53382 - * - * See README for Acknowledgments - */ - -// local libraries -#include "ESPHelper.h" -#include "ems.h" -#include "emsuart.h" -#include "my_config.h" -#include "version.h" - -// public libraries -#include // https://github.com/bblanchon/ArduinoJson -#include // https://github.com/bakercp/CRC32 - -// standard arduino libs -#include // https://github.com/esp8266/Arduino/tree/master/libraries/Ticker - -// timers, all values are in seconds -#define PUBLISHVALUES_TIME 120 // every 2 minutes post HA values -Ticker publishValuesTimer; - -#define SYSTEMCHECK_TIME 10 // every 10 seconds check if Boiler is online and execute other requests -Ticker systemCheckTimer; - -#define REGULARUPDATES_TIME 60 // every minute a call is made -Ticker regularUpdatesTimer; - -#define HEARTBEAT_TIME 1 // every second blink heartbeat LED -Ticker heartbeatTimer; - -// thermostat scan - for debugging -Ticker scanThermostat; -#define SCANTHERMOSTAT_TIME 4 -uint8_t scanThermostat_count; - -Ticker showerColdShotStopTimer; - -// GPIOs -#define LED_HEARTBEAT LED_BUILTIN // onboard LED - -// hostname is also used as the MQTT topic identifier (home/) -#define HOSTNAME "boiler" - -// app specific - do not change -#define MQTT_BOILER MQTT_BASE HOSTNAME "/" -#define TOPIC_START MQTT_BOILER MQTT_TOPIC_START - -// thermostat -#define TOPIC_THERMOSTAT_DATA MQTT_BOILER "thermostat_data" // for sending thermostat values -#define TOPIC_THERMOSTAT_CMD_TEMP MQTT_BOILER "thermostat_cmd_temp" // for received thermostat temp changes -#define TOPIC_THERMOSTAT_CMD_MODE MQTT_BOILER "thermostat_cmd_mode" // for received thermostat mode changes -#define TOPIC_THERMOSTAT_CURRTEMP "thermostat_currtemp" // current temperature -#define TOPIC_THERMOSTAT_SELTEMP "thermostat_seltemp" // selected temperature -#define TOPIC_THERMOSTAT_MODE "thermostat_mode" // mode - -// boiler -#define TOPIC_BOILER_DATA MQTT_BOILER "boiler_data" // for sending boiler values -#define TOPIC_BOILER_TAPWATER_ACTIVE MQTT_BOILER "tapwater_active" // if hot tap water is running -#define TOPIC_BOILER_HEATING_ACTIVE MQTT_BOILER "heating_active" // if heating is on - -// shower time -#define TOPIC_SHOWERTIME MQTT_BOILER "showertime" // for sending shower time results -#define TOPIC_SHOWER_ALARM "shower_alarm" // for notifying HA that shower time has reached its limit -#define TOPIC_SHOWER_TIMER MQTT_BOILER "shower_timer" // toggle switch for enabling the shower logic -#define TOPIC_SHOWER_ALERT MQTT_BOILER "shower_alert" // toggle switch for enabling the shower alarm logic -#define TOPIC_SHOWER_COLDSHOT MQTT_BOILER "shower_coldshot" // used to trigger a coldshot from HA publish - -// logging - EMS_SYS_LOGGING_VERBOSE, EMS_SYS_LOGGING_NONE, EMS_SYS_LOGGING_BASIC (see ems.h) -#define BOILER_DEFAULT_LOGGING EMS_SYS_LOGGING_NONE - -// shower settings for DEBUGGING only -#ifdef SHOWER_TEST -#undef SHOWER_PAUSE_TIME -#undef SHOWER_MIN_DURATION -#undef SHOWER_MAX_DURATION -#undef SHOWER_COLDSHOT_DURATION -#undef SHOWER_OFFSET_TIME -const unsigned long SHOWER_PAUSE_TIME = 15000; // 15 seconds, max time if water is switched off & on during a shower -const unsigned long SHOWER_MIN_DURATION = 20000; // 20 secs, before recognizing its a shower -const unsigned long SHOWER_MAX_DURATION = 25000; // 25 secs, before trigger a shot of cold water -const unsigned long SHOWER_COLDSHOT_DURATION = 5; // in seconds! how long for cold water shot -const unsigned long SHOWER_OFFSET_TIME = 0; // 0 seconds grace time, to calibrate actual time under the shower -#endif - -typedef struct { - bool wifi_connected; - bool shower_timer; // true if we want to report back on shower times - bool shower_alert; // true if we want the cold water reminder -} _Boiler_Status; - -typedef struct { - bool showerOn; - unsigned long timerStart; // ms - unsigned long timerPause; // ms - unsigned long duration; // ms - bool doingColdShot; // true if we've just sent a jolt of cold water -} _Boiler_Shower; - -// ESPHelper -netInfo homeNet = {.mqttHost = MQTT_IP, - .mqttUser = MQTT_USER, - .mqttPass = MQTT_PASS, - .mqttPort = 1883, // this is the default, change if using another port - .ssid = WIFI_SSID, - .pass = WIFI_PASSWORD}; -ESPHelper myESP(&homeNet); - -command_t PROGMEM project_cmds[] = { - - {"l [n]", "set logging (0=none, 1=raw, 2=basic, 3=thermostat only, 4=verbose)"}, - {"s", "show statistics"}, - {"h", "list supported EMS telegram type IDs"}, - {"M", "publish to MQTT"}, - {"Q", "print Tx Queue"}, - {"P", "toggle EMS Poll response on/off"}, - {"X", "toggle EMS Tx transmission on/off"}, - {"S", "toggle Shower timer on/off"}, - {"A", "toggle shower Alert on/off"}, - {"r [s]", "send raw telegram to EMS (s=XX XX XX...)"}, - {"b [xx]", "send boiler read request (xx=telegram type ID in hex)"}, - {"t [xx]", "send thermostat read request (xx=telegram type ID in hex)"}, - {"w [nn]", "set boiler warm water temperature (min 30)"}, - {"a [n]", "set boiler warm tap water (0=off, 1=on)"}, - {"T [xx]", "set thermostat temperature"}, - {"m [n]", "set thermostat mode (1=manual, 2=auto)"} - //{"U [c]", "do a thermostat scan on all ids (c=start id) for debugging only"} - -}; - -// calculates size of an 2d array at compile time -template -constexpr size_t ArraySize(T (&)[N]) { - return N; -} - -// store for overall system status -_Boiler_Status Boiler_Status; -_Boiler_Shower Boiler_Shower; - -// Debugger to telnet -#define myDebug(x, ...) myESP.printf(x, ##__VA_ARGS__); - -// CRC checks -uint32_t previousBoilerPublishCRC = 0; -uint32_t previousThermostatPublishCRC = 0; - -// Times -const unsigned long POLL_TIMEOUT_ERR = 10000; // if no signal from boiler for last 10 seconds, assume its offline -const unsigned long TX_HOLD_LED_TIME = 2000; // how long to hold the Tx LED because its so quick - -unsigned long timestamp; // for internal timings, via millis() -static int connectionStatus = NO_CONNECTION; -int boilerStatus = false; -bool startMQTTsent = false; - -uint8_t last_boilerActive = 0xFF; // for remembering last setting of the tap water or heating on/off - -// toggle for heartbeat LED -bool heartbeatEnabled; - -// logging messages with fixed strings (newline done automatically) -void myDebugLog(const char * s) { - if (ems_getLogging() != EMS_SYS_LOGGING_NONE) { - myDebug("%s\n", s); - } -} - -// convert float to char -char * _float_to_char(char * a, float f, uint8_t precision = 1) { - long p[] = {0, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000}; - - char * ret = a; - // check for 0x8000 (sensor missing) - if (f == EMS_VALUE_FLOAT_NOTSET) { - strcpy(ret, "?"); - } else { - long whole = (long)f; - itoa(whole, a, 10); - while (*a != '\0') - a++; - *a++ = '.'; - long decimal = abs((long)((f - whole) * p[precision])); - itoa(decimal, a, 10); - } - return ret; -} - -// convert bool to text -char * _bool_to_char(char * s, uint8_t value) { - if (value == EMS_VALUE_INT_ON) { - strcpy(s, "on"); - } else if (value == EMS_VALUE_INT_OFF) { - strcpy(s, "off"); - } else { - strcpy(s, "?"); - } - return s; -} - -// convert int to text value -char * _int_to_char(char * s, uint8_t value) { - if (value == EMS_VALUE_INT_NOTSET) { - strcpy(s, "?"); - } else { - itoa(value, s, 10); - } - return s; -} - -// takes a float value at prints it to debug log -void _renderFloatValue(const char * prefix, const char * postfix, float value) { - myDebug(" %s: ", prefix); - char s[20]; - myDebug("%s", _float_to_char(s, value)); - - if (postfix != NULL) { - myDebug(" %s", postfix); - } - - myDebug("\n"); -} - -// takes an int value at prints it to debug log -void _renderIntValue(const char * prefix, const char * postfix, uint8_t value) { - myDebug(" %s: ", prefix); - char s[20]; - myDebug("%s", _int_to_char(s, value)); - - if (postfix != NULL) { - myDebug(" %s", postfix); - } - - myDebug("\n"); -} - -// takes a bool value at prints it to debug log -void _renderBoolValue(const char * prefix, uint8_t value) { - myDebug(" %s: ", prefix); - char s[20]; - myDebug("%s\n", _bool_to_char(s, value)); -} - -// Show command - display stats on an 's' command -void showInfo() { - // General stats from EMS bus - - myDebug("%sEMS-ESP-Boiler system stats:%s\n", COLOR_BOLD_ON, COLOR_BOLD_OFF); - myDebug(" System logging is set to "); - _EMS_SYS_LOGGING sysLog = ems_getLogging(); - if (sysLog == EMS_SYS_LOGGING_BASIC) { - myDebug("Basic"); - } else if (sysLog == EMS_SYS_LOGGING_VERBOSE) { - myDebug("Verbose"); - } else if (sysLog == EMS_SYS_LOGGING_THERMOSTAT) { - myDebug("Thermostat only"); - } else { - myDebug("None"); - } - - myDebug("\n # EMS type handlers: %d\n", ems_getEmsTypesCount()); - - myDebug(" Thermostat is %s, Poll is %s, Tx is %s, Shower Timer is %s, Shower Alert is %s\n", - (ems_getThermostatEnabled() ? "enabled" : "disabled"), - ((EMS_Sys_Status.emsPollEnabled) ? "enabled" : "disabled"), - ((EMS_Sys_Status.emsTxEnabled) ? "enabled" : "disabled"), - ((Boiler_Status.shower_timer) ? "enabled" : "disabled"), - ((Boiler_Status.shower_alert) ? "enabled" : "disabled")); - - myDebug(" EMS Bus Stats: Connected=%s, # Rx telegrams=%d, # Tx telegrams=%d, # Crc Errors=%d\n", - (ems_getBoilerEnabled() ? "yes" : "no"), - EMS_Sys_Status.emsRxPgks, - EMS_Sys_Status.emsTxPkgs, - EMS_Sys_Status.emxCrcErr); - - myDebug("\n%sBoiler stats:%s\n", COLOR_BOLD_ON, COLOR_BOLD_OFF); - - // active stats - myDebug(" Hot tap water is %s\n", (EMS_Boiler.tapwaterActive ? "running" : "off")); - myDebug(" Central Heating is %s\n", (EMS_Boiler.heatingActive ? "active" : "off")); - - // UBAParameterWW - _renderBoolValue("Warm Water activated", EMS_Boiler.wWActivated); - _renderBoolValue("Warm Water circulation pump available", EMS_Boiler.wWCircPump); - _renderIntValue("Warm Water selected temperature", "C", EMS_Boiler.wWSelTemp); - _renderIntValue("Warm Water desired temperature", "C", EMS_Boiler.wWDesiredTemp); - - // UBAMonitorWWMessage - _renderFloatValue("Warm Water current temperature", "C", EMS_Boiler.wWCurTmp); - _renderIntValue("Warm Water # starts", "times", EMS_Boiler.wWStarts); - myDebug(" Warm Water active time: %d days %d hours %d minutes\n", - EMS_Boiler.wWWorkM / 1440, - (EMS_Boiler.wWWorkM % 1440) / 60, - EMS_Boiler.wWWorkM % 60); - _renderBoolValue("Warm Water 3-way valve", EMS_Boiler.wWHeat); - - // UBAMonitorFast - _renderIntValue("Selected flow temperature", "C", EMS_Boiler.selFlowTemp); - _renderFloatValue("Current flow temperature", "C", EMS_Boiler.curFlowTemp); - _renderFloatValue("Return temperature", "C", EMS_Boiler.retTemp); - _renderBoolValue("Gas", EMS_Boiler.burnGas); - _renderBoolValue("Boiler pump", EMS_Boiler.heatPmp); - _renderBoolValue("Fan", EMS_Boiler.fanWork); - _renderBoolValue("Ignition", EMS_Boiler.ignWork); - _renderBoolValue("Circulation pump", EMS_Boiler.wWCirc); - _renderIntValue("Burner selected max power", "%", EMS_Boiler.selBurnPow); - _renderIntValue("Burner current power", "%", EMS_Boiler.curBurnPow); - _renderFloatValue("Flame current", "uA", EMS_Boiler.flameCurr); - _renderFloatValue("System pressure", "bar", EMS_Boiler.sysPress); - - // UBAMonitorSlow - _renderFloatValue("Outside temperature", "C", EMS_Boiler.extTemp); - _renderFloatValue("Boiler temperature", "C", EMS_Boiler.boilTemp); - _renderIntValue("Pump modulation", "%", EMS_Boiler.pumpMod); - _renderIntValue("Burner # restarts", "times", EMS_Boiler.burnStarts); - myDebug(" Total burner operating time: %d days %d hours %d minutes\n", - EMS_Boiler.burnWorkMin / 1440, - (EMS_Boiler.burnWorkMin % 1440) / 60, - EMS_Boiler.burnWorkMin % 60); - myDebug(" Total heat operating time: %d days %d hours %d minutes\n", - EMS_Boiler.heatWorkMin / 1440, - (EMS_Boiler.heatWorkMin % 1440) / 60, - EMS_Boiler.heatWorkMin % 60); - - // Thermostat stats - if (ems_getThermostatEnabled()) { - myDebug("\n%sThermostat stats:%s\n", COLOR_BOLD_ON, COLOR_BOLD_OFF); - myDebug(" Thermostat type: "); - ems_printThermostatType(); - myDebug("\n Thermostat time is "); - if (EMS_ID_THERMOSTAT != EMS_ID_THERMOSTAT_EASY) { - myDebug("%02d:%02d:%02d %d/%d/%d\n", - EMS_Thermostat.hour, - EMS_Thermostat.minute, - EMS_Thermostat.second, - EMS_Thermostat.day, - EMS_Thermostat.month, - EMS_Thermostat.year + 2000); - } else { - myDebug("\n"); - } - - _renderFloatValue("Setpoint room temperature", "C", EMS_Thermostat.setpoint_roomTemp); - _renderFloatValue("Current room temperature", "C", EMS_Thermostat.curr_roomTemp); - myDebug(" Mode is set to "); - if (EMS_Thermostat.mode == 0) { - myDebug("low\n"); - } else if (EMS_Thermostat.mode == 1) { - myDebug("manual\n"); - } else if (EMS_Thermostat.mode == 2) { - myDebug("auto\n"); - } else { - myDebug("?\n"); - // myDebug("? (value is %d)\n", EMS_Thermostat.mode); - } - } - - // show the Shower Info - if (Boiler_Status.shower_timer) { - myDebug("\n%s Shower stats:%s\n", COLOR_BOLD_ON, COLOR_BOLD_OFF); - myDebug(" Shower Timer is %s\n", (Boiler_Shower.showerOn ? "active" : "off")); - } - - myDebug("\n"); -} - -// send values to HA via MQTT -// a json object is created for the boiler and one for the thermostat -// CRC check is done to see if there are changes in the values since the last send to avoid too much wifi traffic -void publishValues(bool force) { - char s[20]; // for formatting strings - - // Boiler values as one JSON object - StaticJsonBuffer<512> jsonBuffer; - char data[512]; - JsonObject & rootBoiler = jsonBuffer.createObject(); - - rootBoiler["wWSelTemp"] = _int_to_char(s, EMS_Boiler.wWSelTemp); - rootBoiler["wWActivated"] = _bool_to_char(s, EMS_Boiler.wWActivated); - rootBoiler["wWCurTmp"] = _float_to_char(s, EMS_Boiler.wWCurTmp); - rootBoiler["wWHeat"] = _bool_to_char(s, EMS_Boiler.wWHeat); - rootBoiler["curFlowTemp"] = _float_to_char(s, EMS_Boiler.curFlowTemp); - rootBoiler["retTemp"] = _float_to_char(s, EMS_Boiler.retTemp); - rootBoiler["burnGas"] = _bool_to_char(s, EMS_Boiler.burnGas); - rootBoiler["heatPmp"] = _bool_to_char(s, EMS_Boiler.heatPmp); - rootBoiler["fanWork"] = _bool_to_char(s, EMS_Boiler.fanWork); - rootBoiler["ignWork"] = _bool_to_char(s, EMS_Boiler.ignWork); - rootBoiler["wWCirc"] = _bool_to_char(s, EMS_Boiler.wWCirc); - rootBoiler["selBurnPow"] = _int_to_char(s, EMS_Boiler.selBurnPow); - rootBoiler["curBurnPow"] = _int_to_char(s, EMS_Boiler.curBurnPow); - rootBoiler["sysPress"] = _float_to_char(s, EMS_Boiler.sysPress); - rootBoiler["boilTemp"] = _float_to_char(s, EMS_Boiler.boilTemp); - rootBoiler["pumpMod"] = _int_to_char(s, EMS_Boiler.pumpMod); - - size_t len = rootBoiler.measureLength(); - rootBoiler.printTo(data, len + 1); // form the json string - - // calculate hash and send values if something has changed, to save unnecessary wifi traffic - CRC32 crc; - for (size_t i = 0; i < len - 1; i++) { - crc.update(data[i]); - } - uint32_t checksum = crc.finalize(); - if ((previousBoilerPublishCRC != checksum) || force) { - previousBoilerPublishCRC = checksum; - if (ems_getLogging() >= EMS_SYS_LOGGING_BASIC) { - myDebug("Publishing boiler data via MQTT\n"); - } - - // send values via MQTT - myESP.publish(TOPIC_BOILER_DATA, data); - } - - // see if the heating or hot tap water has changed, if so send - // last_boilerActive stores heating in bit 1 and tap water in bit 2 - if ((last_boilerActive != ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive)) || force) { - if (ems_getLogging() >= EMS_SYS_LOGGING_BASIC) { - myDebug("Publishing hot water and heating state via MQTT\n"); - } - myESP.publish(TOPIC_BOILER_TAPWATER_ACTIVE, EMS_Boiler.tapwaterActive == 1 ? "1" : "0"); - myESP.publish(TOPIC_BOILER_HEATING_ACTIVE, EMS_Boiler.heatingActive == 1 ? "1" : "0"); - - last_boilerActive = ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive); // remember last state - } - - // handle the thermostat values separately - if (ems_getThermostatEnabled()) { - // only send thermostat values if we actually have them - if (((int)EMS_Thermostat.curr_roomTemp == (int)0) || ((int)EMS_Thermostat.setpoint_roomTemp == (int)0)) - return; - - // build json object - JsonObject & rootThermostat = jsonBuffer.createObject(); - rootThermostat[TOPIC_THERMOSTAT_CURRTEMP] = _float_to_char(s, EMS_Thermostat.curr_roomTemp); - rootThermostat[TOPIC_THERMOSTAT_SELTEMP] = _float_to_char(s, EMS_Thermostat.setpoint_roomTemp); - - // send mode 0=low, 1=manual, 2=auto - if (EMS_Thermostat.mode == 0) { - rootThermostat[TOPIC_THERMOSTAT_MODE] = "low"; - } else if (EMS_Thermostat.mode == 1) { - rootThermostat[TOPIC_THERMOSTAT_MODE] = "manual"; - } else { - rootThermostat[TOPIC_THERMOSTAT_MODE] = "auto"; - } - - size_t len = rootThermostat.measureLength(); - rootThermostat.printTo(data, len + 1); // form the json string - - // calculate new CRC - crc.reset(); - for (size_t i = 0; i < len - 1; i++) { - crc.update(data[i]); - } - uint32_t checksum = crc.finalize(); - if ((previousThermostatPublishCRC != checksum) || force) { - previousThermostatPublishCRC = checksum; - if (ems_getLogging() >= EMS_SYS_LOGGING_BASIC) { - myDebug("Publishing thermostat data via MQTT\n"); - } - - // send values via MQTT - myESP.publish(TOPIC_THERMOSTAT_DATA, data); - } - } -} - -// sets the shower timer on/off -void set_showerTimer() { - if (ems_getLogging() != EMS_SYS_LOGGING_NONE) { - myDebug("Shower timer is %s\n", Boiler_Status.shower_timer ? "enabled" : "disabled"); - } -} - -// sets the shower alert on/off -void set_showerAlert() { - if (ems_getLogging() != EMS_SYS_LOGGING_NONE) { - myDebug("Shower alert is %s\n", Boiler_Status.shower_alert ? "enabled" : "disabled"); - } -} - -// extra commands options for telnet debug window -void myDebugCallback() { - char * cmd = myESP.consoleGetLastCommand(); - uint8_t len = strlen(cmd); - bool b; - - // look for single letter commands - if (len == 1) { - switch (cmd[0]) { - case 's': - showInfo(); - break; - case 'P': // toggle Poll - b = !ems_getPoll(); - ems_setPoll(b); - break; - case 'X': // toggle Tx - b = !ems_getTxEnabled(); - ems_setTxEnabled(b); - break; - case 'M': - //myESP.logger(LOG_HA, "Force publish values"); - publishValues(true); - break; - case 'h': // show type handlers - ems_printAllTypes(); - break; - case 'S': // toggle Shower timer support - Boiler_Status.shower_timer = !Boiler_Status.shower_timer; - myESP.publish(TOPIC_SHOWER_TIMER, Boiler_Status.shower_timer ? "1" : "0"); - break; - case 'A': // toggle Shower alert - Boiler_Status.shower_alert = !Boiler_Status.shower_alert; - myESP.publish(TOPIC_SHOWER_ALERT, Boiler_Status.shower_alert ? "1" : "0"); - break; - case 'Q': //print Tx Queue - ems_printTxQueue(); - break; - default: - myDebug("Unknown command. Use ? for help.\n"); - break; - } - return; - } - - // for commands with parameters, assume command is just one letter - switch (cmd[0]) { - case 'T': // set thermostat temp - ems_setThermostatTemp(strtof(&cmd[2], 0)); - break; - case 'm': // set thermostat mode - if ((cmd[2] - '0') == 1) - ems_setThermostatMode(1); - else if ((cmd[2] - '0') == 2) - ems_setThermostatMode(2); - break; - case 'w': // set warm water temp - ems_setWarmWaterTemp((uint8_t)strtol(&cmd[2], 0, 10)); - break; - case 'l': // logging - ems_setLogging((_EMS_SYS_LOGGING)(cmd[2] - '0')); - updateHeartbeat(); - break; - case 'a': // set ww activate on or off - if ((cmd[2] - '0') == 1) - ems_setWarmTapWaterActivated(true); - else if ((cmd[2] - '0') == 0) - ems_setWarmTapWaterActivated(false); - break; - case 'b': // boiler read command - ems_doReadCommand((uint8_t)strtol(&cmd[2], 0, 16), EMS_ID_BOILER); - break; - case 't': // thermostat command - ems_doReadCommand((uint8_t)strtol(&cmd[2], 0, 16), EMS_ID_THERMOSTAT); - break; - case 'r': // send raw data - ems_sendRawTelegram(&cmd[2]); - break; - case 'x': // experimental, not displayed! - myDebug("Calling experimental...\n"); - ems_setLogging(EMS_SYS_LOGGING_VERBOSE); - ems_setExperimental((uint8_t)strtol(&cmd[2], 0, 16)); // takes HEX param - break; - case 'U': // thermostat scan - myDebug("Doing a type ID scan on thermostat...\n"); - ems_setLogging(EMS_SYS_LOGGING_THERMOSTAT); - publishValuesTimer.detach(); - systemCheckTimer.detach(); - regularUpdatesTimer.detach(); - scanThermostat_count = (uint8_t)strtol(&cmd[2], 0, 16); - scanThermostat.attach(SCANTHERMOSTAT_TIME, do_scanThermostat); - break; - default: - myDebug("Unknown command. Use ? for help.\n"); - break; - } - return; -} - -// MQTT Callback to handle incoming/outgoing changes -void MQTTcallback(char * topic, byte * payload, uint8_t length) { - // check if start is received, if so return boottime - defined in ESPHelper.h - if (strcmp(topic, TOPIC_START) == 0) { - payload[length] = '\0'; // add null terminator - //myDebug("MQTT topic boottime: %s\n", payload); - myESP.setBoottime((char *)payload); - return; - } - - // thermostat temp changes - if (strcmp(topic, TOPIC_THERMOSTAT_CMD_TEMP) == 0) { - float f = strtof((char *)payload, 0); - char s[10]; - myDebug("MQTT topic: thermostat temp value %s\n", _float_to_char(s, f)); - ems_setThermostatTemp(f); - // publish back so HA is immediately updated - publishValues(true); - return; - } - - // thermostat mode changes - if (strcmp(topic, TOPIC_THERMOSTAT_CMD_MODE) == 0) { - payload[length] = '\0'; // add null terminator - myDebug("MQTT topic: thermostat mode value %s\n", payload); - if (strcmp((char *)payload, "auto") == 0) { - ems_setThermostatMode(2); - } else if (strcmp((char *)payload, "manual") == 0) { - ems_setThermostatMode(1); - } - return; - } - - // shower timer - if (strcmp(topic, TOPIC_SHOWER_TIMER) == 0) { - if (payload[0] == '1') { - Boiler_Status.shower_timer = true; - } else if (payload[0] == '0') { - Boiler_Status.shower_timer = false; - } - set_showerTimer(); - return; - } - - // shower alert - if (strcmp(topic, TOPIC_SHOWER_ALERT) == 0) { - if (payload[0] == '1') { - Boiler_Status.shower_alert = true; - } else if (payload[0] == '0') { - Boiler_Status.shower_alert = false; - } - set_showerAlert(); - return; - } - - // shower cold shot - if (strcmp(topic, TOPIC_SHOWER_COLDSHOT) == 0) { - _showerColdShotStart(); - return; - } - - // if HA is booted, restart device too - if (strcmp(topic, MQTT_HA) == 0) { - payload[length] = '\0'; // add null terminator - if (strcmp((char *)payload, "start") == 0) { - myDebug("HA rebooted - restarting device\n"); - myESP.resetESP(); - } - } -} - -// Init callback, which is used to set functions and call methods when telnet has started -void InitCallback() { - ems_setLogging(BOILER_DEFAULT_LOGGING); // turn off logging as default startup -} - -// WifiCallback, called when a WiFi connect has successfully been established -void WIFIcallback() { - Boiler_Status.wifi_connected = true; - -#ifdef USE_LED - digitalWrite(LED_HEARTBEAT, HIGH); -#endif - - // when finally we're all set up, we can fire up the uart (this will enable the UART interrupts) - emsuart_init(); -} - -// Sets the LED heartbeat depending on the logging setting -void updateHeartbeat() { - _EMS_SYS_LOGGING logSetting = ems_getLogging(); - if (logSetting == EMS_SYS_LOGGING_VERBOSE) { - heartbeatEnabled = true; - } else { - heartbeatEnabled = false; -#ifdef USE_LED - digitalWrite(LED_HEARTBEAT, HIGH); // ...and turn off LED -#endif - } -} - -// Initialize the boiler settings -void initBoiler() { - // default settings - Boiler_Status.shower_timer = BOILER_SHOWER_TIMER; - Boiler_Status.shower_alert = BOILER_SHOWER_ALERT; - ems_setThermostatEnabled(BOILER_THERMOSTAT_ENABLED); - - // init boiler - Boiler_Status.wifi_connected = false; - - // init shower - Boiler_Shower.timerStart = 0; - Boiler_Shower.timerPause = 0; - Boiler_Shower.duration = 0; - Boiler_Shower.doingColdShot = false; - - // heartbeat only if verbose logging - ems_setLogging(BOILER_DEFAULT_LOGGING); - updateHeartbeat(); -} - -// call PublishValues without forcing, so using CRC to see if we really need to publish -void do_publishValues() { - publishValues(false); -} - -// -// SETUP -// Note: we don't init the UART here as we should wait until everything is loaded first. It's done in loop() -// -void setup() { -#ifdef USE_LED - // set pin for LEDs - start up with all lit up while we sort stuff out - pinMode(LED_HEARTBEAT, OUTPUT); - digitalWrite(LED_HEARTBEAT, LOW); // onboard LED is on - heartbeatTimer.attach(HEARTBEAT_TIME, heartbeat); // blink heartbeat LED -#endif - - // Timers using Ticker library - publishValuesTimer.attach(PUBLISHVALUES_TIME, do_publishValues); // post HA values - systemCheckTimer.attach(SYSTEMCHECK_TIME, do_systemCheck); // check if Boiler is online - regularUpdatesTimer.attach(REGULARUPDATES_TIME, regularUpdates); // regular reads from the EMS - - // set up WiFi - myESP.setWifiCallback(WIFIcallback); - - // set up MQTT - myESP.setMQTTCallback(MQTTcallback); - myESP.addSubscription(MQTT_HA); - myESP.addSubscription(TOPIC_START); - myESP.addSubscription(TOPIC_THERMOSTAT_CMD_TEMP); - myESP.addSubscription(TOPIC_THERMOSTAT_CMD_MODE); - myESP.addSubscription(TOPIC_SHOWER_TIMER); - myESP.addSubscription(TOPIC_SHOWER_ALERT); - myESP.addSubscription(TOPIC_BOILER_TAPWATER_ACTIVE); - myESP.addSubscription(TOPIC_BOILER_HEATING_ACTIVE); - myESP.addSubscription(TOPIC_SHOWER_COLDSHOT); - - myESP.setInitCallback(InitCallback); - - myESP.consoleSetCallBackProjectCmds(project_cmds, ArraySize(project_cmds), myDebugCallback); // set up Telnet commands - myESP.begin(HOSTNAME, APP_NAME, APP_VERSION); // start wifi and mqtt services - - // init ems statisitcs - ems_init(); - - // init Boiler specific parameters - initBoiler(); -} - -// heartbeat callback to light up the LED, called via Ticker -void heartbeat() { - if (heartbeatEnabled) { -#ifdef USE_LED - int state = digitalRead(LED_HEARTBEAT); - digitalWrite(LED_HEARTBEAT, !state); -#endif - } -} - -// Thermostat scan -void do_scanThermostat() { - //myDebug("Scanning %d..\n", scanThermostat_count); - ems_doReadCommand(scanThermostat_count, EMS_ID_THERMOSTAT); - scanThermostat_count++; -} - -// do a healthcheck every now and then to see if we connections -void do_systemCheck() { - // first do a system check to see if there is still a connection to the EMS - if (!ems_getBoilerEnabled()) { - myDebug("Error! Unable to connect to EMS bus. Please check connections. Retry in %d seconds...\n", - SYSTEMCHECK_TIME); - } -} - -// EMS telegrams to send after startup -void firstTimeFetch() { - ems_doReadCommand(EMS_TYPE_UBAMonitorFast, EMS_ID_BOILER); // get boiler stats which usually comes every 10 sec - ems_doReadCommand(EMS_TYPE_UBAMonitorSlow, EMS_ID_BOILER); // get boiler stats which usually comes every 60 sec - ems_doReadCommand(EMS_TYPE_UBAParameterWW, EMS_ID_BOILER); // get Warm Water values - - if (ems_getThermostatEnabled()) { - ems_getThermostatValues(); // get Thermostat temps (if supported) - ems_doReadCommand(EMS_TYPE_RCTime, EMS_ID_THERMOSTAT); // get Thermostat time - } -} - -// force calls to get data from EMS for the types that aren't sent as broadcasts -void regularUpdates() { - ems_doReadCommand(EMS_TYPE_UBAParameterWW, EMS_ID_BOILER); // get Warm Water values - - if (ems_getThermostatEnabled()) { - ems_getThermostatValues(); // get Thermostat temps (if supported) - } -} - -// turn off hot water to send a shot of cold -void _showerColdShotStart() { - myDebugLog("Shower: doing a shot of cold"); - ems_setWarmTapWaterActivated(false); - Boiler_Shower.doingColdShot = true; - // start the timer for n seconds which will reset the water back to hot - showerColdShotStopTimer.attach(SHOWER_COLDSHOT_DURATION, _showerColdShotStop); -} - -// turn back on the hot water for the shower -void _showerColdShotStop() { - if (Boiler_Shower.doingColdShot) { - myDebugLog("Shower: finished shot of cold. hot water back on"); - ems_setWarmTapWaterActivated(true); - Boiler_Shower.doingColdShot = false; - showerColdShotStopTimer.detach(); - } -} - -/* - * Shower Logic - */ -void showerCheck() { - // if already in cold mode, ignore all this logic until we're out of the cold blast - if (!Boiler_Shower.doingColdShot) { - // is the hot water running? - if (EMS_Boiler.tapwaterActive) { - // if heater was previously off, start the timer - if (Boiler_Shower.timerStart == 0) { - // hot water just started... - Boiler_Shower.timerStart = timestamp; - Boiler_Shower.timerPause = 0; // remove any last pauses - Boiler_Shower.doingColdShot = false; - Boiler_Shower.duration = 0; - Boiler_Shower.showerOn = false; -#ifdef SHOWER_TEST - myDebugLog("Shower: hot water on..."); -#endif - } else { - // hot water has been on for a while - // first check to see if hot water has been on long enough to be recognized as a Shower/Bath - if (!Boiler_Shower.showerOn && (timestamp - Boiler_Shower.timerStart) > SHOWER_MIN_DURATION) { - Boiler_Shower.showerOn = true; -#ifdef SHOWER_TEST - - myDebugLog("Shower: hot water still running, starting shower timer"); -#endif - } - // check if the shower has been on too long - else if ((((timestamp - Boiler_Shower.timerStart) > SHOWER_MAX_DURATION) && !Boiler_Shower.doingColdShot) - && Boiler_Status.shower_alert) { - myESP.sendHACommand(TOPIC_SHOWER_ALARM); -#ifdef SHOWER_TEST - myDebugLog("Shower: exceeded max shower time"); -#endif - _showerColdShotStart(); - } - } - } else { // hot water is off - // if it just turned off, record the time as it could be a short pause - if ((Boiler_Shower.timerStart != 0) && (Boiler_Shower.timerPause == 0)) { - Boiler_Shower.timerPause = timestamp; -#ifdef SHOWER_TEST - myDebugLog("Shower: hot water turned off"); -#endif - } - - // if shower has been off for longer than the wait time - if ((Boiler_Shower.timerPause != 0) && ((timestamp - Boiler_Shower.timerPause) > SHOWER_PAUSE_TIME)) { - /* - sprintf(s, - "Shower: duration %d offset %d", - (Boiler_Shower.timerPause - Boiler_Shower.timerStart), - SHOWER_OFFSET_TIME); - myDebugLog("s"); - */ - - // it is over the wait period, so assume that the shower has finished and calculate the total time and publish - // because its unsigned long, can't have negative so check if length is less than OFFSET_TIME - if ((Boiler_Shower.timerPause - Boiler_Shower.timerStart) > SHOWER_OFFSET_TIME) { - Boiler_Shower.duration = (Boiler_Shower.timerPause - Boiler_Shower.timerStart - SHOWER_OFFSET_TIME); - if (Boiler_Shower.duration > SHOWER_MIN_DURATION) { - char s[50]; - sprintf(s, - "%d minutes and %d seconds", - (uint8_t)((Boiler_Shower.duration / (1000 * 60)) % 60), - (uint8_t)((Boiler_Shower.duration / 1000) % 60)); - - if (ems_getLogging() != EMS_SYS_LOGGING_NONE) { - myDebug("Shower: finished with duration %s\n", s); - } - myESP.publish(TOPIC_SHOWERTIME, s); // publish to HA - } - } - -#ifdef SHOWER_TEST - // reset everything - myDebugLog("Shower: resetting timers"); -#endif - Boiler_Shower.timerStart = 0; - Boiler_Shower.timerPause = 0; - Boiler_Shower.showerOn = false; - _showerColdShotStop(); // turn hot water back on in case its off - } - } - } -} - -// -// Main loop -// -void loop() { - connectionStatus = myESP.loop(); - timestamp = millis(); - - // update the Rx Tx and ERR LEDs -#ifdef USE_LED - showLEDs(); -#endif - - // do not continue unless we have a wifi connection - if (connectionStatus < WIFI_ONLY) { - return; - } - - // if this is the first time we've connected to MQTT, send a welcome start message - // which will send all the state values from HA back to the clock via MQTT and return the boottime - if ((!startMQTTsent) && (connectionStatus == FULL_CONNECTION)) { - myESP.sendStart(); - startMQTTsent = true; - - // publish to HA the status of the Shower parameters - myESP.publish(TOPIC_SHOWER_TIMER, Boiler_Status.shower_timer ? "1" : "0"); - myESP.publish(TOPIC_SHOWER_ALERT, Boiler_Status.shower_alert ? "1" : "0"); - } - - // if the EMS bus has just connected, send a request to fetch some initial values - if (ems_getBoilerEnabled() && boilerStatus == false) { - boilerStatus = true; - firstTimeFetch(); - } - - // publish the values to MQTT, regardless if the values haven't changed - if (ems_getEmsRefreshed()) { - publishValues(true); - ems_setEmsRefreshed(false); - } - - // do shower logic if its enabled - if (Boiler_Status.shower_timer) { - showerCheck(); - } - - yield(); // yield to prevent watchdog from timing out -} diff --git a/src/ds18.cpp b/src/ds18.cpp new file mode 100644 index 000000000..a95c60441 --- /dev/null +++ b/src/ds18.cpp @@ -0,0 +1,221 @@ +/* + * Dallas support for external settings + * Copied from Espurna - Copyright (C) 2017-2018 by Xose Pérez + * + * Paul Derbyshire - https://github.com/proddy/EMS-ESP + * + * See ChangeLog.md for history + * See README.md for Acknowledgments + * + */ + +#include "ds18.h" + +std::vector _devices; + +DS18::DS18() { + _wire = NULL; + _count = 0; + _gpio = GPIO_NONE; +} + +DS18::~DS18() { + if (_wire) + delete _wire; +} + +// init +uint8_t DS18::setup(uint8_t gpio) { + uint8_t count; + + _gpio = gpio; + + // OneWire + if (_wire) + delete _wire; + _wire = new OneWire(_gpio); + + // Search devices + count = loadDevices(); + + // If no devices found check again pulling up the line + if (count == 0) { + pinMode(_gpio, INPUT_PULLUP); + count = loadDevices(); + } + + _count = count; + + return count; +} + +// scan every 2 seconds +void DS18::loop() { + static unsigned long last = 0; + if (millis() - last < DS18_READ_INTERVAL) + return; + last = millis(); + + // Every second we either start a conversion or read the scratchpad + static bool conversion = true; + if (conversion) { + // Start conversion + _wire->reset(); + _wire->skip(); + _wire->write(DS18_CMD_START_CONVERSION, DS18_PARASITE); + + } else { + // Read scratchpads + for (unsigned char index = 0; index < _devices.size(); index++) { + // Read scratchpad + if (_wire->reset() == 0) { + // Force a CRC check error + _devices[index].data[0] = _devices[index].data[0] + 1; + return; + } + + _wire->select(_devices[index].address); + _wire->write(DS18_CMD_READ_SCRATCHPAD); + + uint8_t data[DS18_DATA_SIZE]; + for (unsigned char i = 0; i < DS18_DATA_SIZE; i++) { + data[i] = _wire->read(); + } + + if (_wire->reset() != 1) { + // Force a CRC check error + _devices[index].data[0] = _devices[index].data[0] + 1; + return; + } + + memcpy(_devices[index].data, data, DS18_DATA_SIZE); + } + } + + conversion = !conversion; +} + +// return string of the device, with name and address +char * DS18::getDeviceString(char * buffer, unsigned char index) { + uint8_t size = 128; + if (index < _count) { + uint8_t * address = _devices[index].address; + + unsigned char chip_id = chip(index); + if (chip_id == DS18_CHIP_DS18S20) { + strlcpy(buffer, "DS18S20", size); + } else if (chip_id == DS18_CHIP_DS18B20) { + strlcpy(buffer, "DS18B20", size); + } else if (chip_id == DS18_CHIP_DS1822) { + strlcpy(buffer, "DS1822", size); + } else if (chip_id == DS18_CHIP_DS1825) { + strlcpy(buffer, "DS1825", size); + } else { + strlcpy(buffer, "Unknown", size); + } + + char a[30] = {0}; + snprintf(a, + sizeof(a), + "(%02X%02X%02X%02X%02X%02X%02X%02X) @ GPIO%d", + address[0], + address[1], + address[2], + address[3], + address[4], + address[5], + address[6], + address[7], + _gpio); + + strlcat(buffer, a, size); + } else { + strlcpy(buffer, "invalid", size); + } + + return buffer; +} + + +/* + * Read sensor values + * + * Registers: + byte 0: temperature LSB + byte 1: temperature MSB + byte 2: high alarm temp + byte 3: low alarm temp + byte 4: DS18S20: store for crc + DS18B20 & DS1822: configuration register + byte 5: internal use & crc + byte 6: DS18S20: COUNT_REMAIN + DS18B20 & DS1822: store for crc + byte 7: DS18S20: COUNT_PER_C + DS18B20 & DS1822: store for crc + byte 8: SCRATCHPAD_CRC +*/ +double DS18::getValue(unsigned char index) { + if (index >= _count) + return 0; + + uint8_t * data = _devices[index].data; + + if (OneWire::crc8(data, DS18_DATA_SIZE - 1) != data[DS18_DATA_SIZE - 1]) { + return 0; + } + + int16_t raw = (data[1] << 8) | data[0]; + if (chip(index) == DS18_CHIP_DS18S20) { + raw = raw << 3; // 9 bit resolution default + if (data[7] == 0x10) { + raw = (raw & 0xFFF0) + 12 - data[6]; // "count remain" gives full 12 bit resolution + } + } else { + byte cfg = (data[4] & 0x60); + if (cfg == 0x00) + raw = raw & ~7; // 9 bit res, 93.75 ms + else if (cfg == 0x20) + raw = raw & ~3; // 10 bit res, 187.5 ms + else if (cfg == 0x40) + raw = raw & ~1; // 11 bit res, 375 ms + // 12 bit res, 750 ms + } + + double value = (float)raw / 16.0; + if (value == DS18_DISCONNECTED) { + return 0; + } + + return value; +} + +// check for a supported DS chip version +bool DS18::validateID(unsigned char id) { + return (id == DS18_CHIP_DS18S20) || (id == DS18_CHIP_DS18B20) || (id == DS18_CHIP_DS1822) || (id == DS18_CHIP_DS1825); +} + +// return the type +unsigned char DS18::chip(unsigned char index) { + if (index < _count) + return _devices[index].address[0]; + return 0; +} + +// scan for DS sensors and load into the vector +uint8_t DS18::loadDevices() { + uint8_t address[8]; + _wire->reset(); + _wire->reset_search(); + while (_wire->search(address)) { + // Check CRC + if (_wire->crc8(address, 7) == address[7]) { + // Check ID + if (validateID(address[0])) { + ds_device_t device; + memcpy(device.address, address, 8); + _devices.push_back(device); + } + } + } + return (_devices.size()); +} diff --git a/src/ds18.h b/src/ds18.h new file mode 100644 index 000000000..d4dd9cfeb --- /dev/null +++ b/src/ds18.h @@ -0,0 +1,55 @@ +/* + * Dallas support for external temperature sensors + * Copyright (C) 2017-2018 by Xose Pérez + * + * Paul Derbyshire - https://github.com/proddy/EMS-ESP + * + * See ChangeLog.md for history + * See README.md for Acknowledgments + * + */ + +#pragma once + +#include +#include + +#define DS18_CHIP_DS18S20 0x10 +#define DS18_CHIP_DS1822 0x22 +#define DS18_CHIP_DS18B20 0x28 +#define DS18_CHIP_DS1825 0x3B + +#define DS18_DATA_SIZE 9 +#define DS18_PARASITE 1 +#define DS18_DISCONNECTED -127 + +#define GPIO_NONE 0x99 +#define DS18_READ_INTERVAL 2000 // Force sensor read & cache every 2 seconds + +#define DS18_CMD_START_CONVERSION 0x44 +#define DS18_CMD_READ_SCRATCHPAD 0xBE + +typedef struct { + uint8_t address[8]; + uint8_t data[DS18_DATA_SIZE]; +} ds_device_t; + +class DS18 { + public: + DS18(); + ~DS18(); + + uint8_t setup(uint8_t gpio); + void loop(); + char * getDeviceString(char * s, unsigned char index); + double getValue(unsigned char index); + + protected: + bool validateID(unsigned char id); + unsigned char chip(unsigned char index); + uint8_t loadDevices(); + + OneWire * _wire; + uint8_t _count; // # devices + uint8_t _gpio; // the sensor pin +}; diff --git a/src/ems-esp.ino b/src/ems-esp.ino new file mode 100644 index 000000000..1c1b733c0 --- /dev/null +++ b/src/ems-esp.ino @@ -0,0 +1,1211 @@ +/* + * EMS-ESP + * + * Paul Derbyshire - https://github.com/proddy/EMS-ESP + * + * See ChangeLog.md for history + * See README.md for Acknowledgments + */ + +// local libraries +#include "ds18.h" +#include "ems.h" +#include "ems_devices.h" +#include "emsuart.h" +#include "my_config.h" +#include "version.h" + +// Dallas external temp sensors +DS18 ds18; + +// shared libraries +#include + +// public libraries +#include // https://github.com/bblanchon/ArduinoJson +#include // https://github.com/bakercp/CRC32 + +// standard arduino libs +#include // https://github.com/esp8266/Arduino/tree/master/libraries/Ticker + +#define myDebug(...) myESP.myDebug(__VA_ARGS__) +#define myDebug_P(...) myESP.myDebug_P(__VA_ARGS__) + +// timers, all values are in seconds +#define PUBLISHVALUES_TIME 120 // every 2 minutes publish MQTT values +Ticker publishValuesTimer; + +#define SYSTEMCHECK_TIME 20 // every 20 seconds check if Boiler is online +Ticker systemCheckTimer; + +#define REGULARUPDATES_TIME 60 // every minute a call is made to fetch data from EMS devices manually +Ticker regularUpdatesTimer; + +#define LEDCHECK_TIME 500 // every 1/2 second blink the heartbeat LED +Ticker ledcheckTimer; + +// thermostat scan - for debugging +Ticker scanThermostat; +#define SCANTHERMOSTAT_TIME 1 +uint8_t scanThermostat_count = 0; + +Ticker showerColdShotStopTimer; + +// if using the shower timer, change these settings +#define SHOWER_PAUSE_TIME 15000 // in ms. 15 seconds, max time if water is switched off & on during a shower +#define SHOWER_MIN_DURATION 120000 // in ms. 2 minutes, before recognizing its a shower +#define SHOWER_OFFSET_TIME 5000 // in ms. 5 seconds grace time, to calibrate actual time under the shower +#define SHOWER_COLDSHOT_DURATION 10 // in seconds. 10 seconds for cold water before turning back hot water + +typedef struct { + bool shower_timer; // true if we want to report back on shower times + bool shower_alert; // true if we want the alert of cold water + bool led_enabled; // LED on/off + bool test_mode; // test mode to stop automatic Tx on/off + + unsigned long timestamp; // for internal timings, via millis() + uint8_t dallas_sensors; // count of dallas sensors + uint8_t led_gpio; + uint8_t dallas_gpio; +} _EMSESP_Status; + +typedef struct { + bool showerOn; + unsigned long timerStart; // ms + unsigned long timerPause; // ms + unsigned long duration; // ms + bool doingColdShot; // true if we've just sent a jolt of cold water +} _EMSESP_Shower; + +command_t PROGMEM project_cmds[] = { + + {"set led ", "toggle status LED on/off"}, + {"set led_gpio ", "set the LED pin. Default is the onboard LED (D1=5)"}, + {"set dallas_gpio ", "set the pin for external Dallas temperature sensors (D5=14)"}, + {"set thermostat_type ", "set the thermostat type id (e.g. 10 for 0x10)"}, + {"set boiler_type ", "set the boiler type id (e.g. 8 for 0x08)"}, + {"set test_mode ", "test_mode turns off all automatic reads"}, + {"info", "show data captured on the EMS bus"}, + {"log ", "set logging mode to none, basic, thermostat only, raw or verbose"}, + {"publish", "publish all values to MQTT"}, + {"types", "list supported EMS telegram type IDs"}, + {"queue", "show current Tx queue"}, + {"autodetect", "discover EMS devices and attempt to automatically set boiler and thermostat"}, + {"shower ", "toggle either timer or alert on/off"}, + {"send XX ...", "send raw telegram data as hex to EMS bus"}, + {"thermostat read ", "send read request to the thermostat"}, + {"thermostat temp ", "set current thermostat temperature"}, + {"thermostat mode ", "set mode (0=low/night, 1=manual/day, 2=auto)"}, + {"thermostat scan ", "do a read on all type IDs"}, + {"boiler read ", "send read request to boiler"}, + {"boiler wwtemp ", "set boiler warm water temperature"}, + {"boiler tapwater ", "set boiler warm tap water on/off"} + +}; + +// store for overall system status +_EMSESP_Status EMSESP_Status; +_EMSESP_Shower EMSESP_Shower; + +// logging messages with fixed strings +void myDebugLog(const char * s) { + if (ems_getLogging() >= EMS_SYS_LOGGING_BASIC) { + myDebug(s); + } +} + +// convert float to char +char * _float_to_char(char * a, float f, uint8_t precision = 2) { + long p[] = {0, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000}; + + char * ret = a; + // check for 0x8000 (sensor missing) + if (f == EMS_VALUE_FLOAT_NOTSET) { + strlcpy(ret, "?", sizeof(ret)); + } else { + long whole = (long)f; + itoa(whole, a, 10); + while (*a != '\0') + a++; + *a++ = '.'; + long decimal = abs((long)((f - whole) * p[precision])); + itoa(decimal, a, 10); + } + return ret; +} + +// convert bool to text +char * _bool_to_char(char * s, uint8_t value) { + if (value == EMS_VALUE_INT_ON) { + strlcpy(s, "on", sizeof(s)); + } else if (value == EMS_VALUE_INT_OFF) { + strlcpy(s, "off", sizeof(s)); + } else { + strlcpy(s, "?", sizeof(s)); + } + return s; +} + +// convert int (single byte) to text value +char * _int_to_char(char * s, uint8_t value) { + if (value == EMS_VALUE_INT_NOTSET) { + strlcpy(s, "?", sizeof(s)); + } else { + itoa(value, s, 10); + } + return s; +} + +// takes a float value at prints it to debug log +void _renderFloatValue(const char * prefix, const char * postfix, float value) { + char buffer[200] = {0}; + char s[20] = {0}; + strlcpy(buffer, " ", sizeof(buffer)); + strlcat(buffer, prefix, sizeof(buffer)); + strlcat(buffer, ": ", sizeof(buffer)); + strlcat(buffer, _float_to_char(s, value), sizeof(buffer)); + + if (postfix != NULL) { + strlcat(buffer, " ", sizeof(buffer)); + strlcat(buffer, postfix, sizeof(buffer)); + } + myDebug(buffer); +} + +// takes an int (single byte) value at prints it to debug log +void _renderIntValue(const char * prefix, const char * postfix, uint8_t value) { + char buffer[200] = {0}; + char s[20] = {0}; + strlcpy(buffer, " ", sizeof(buffer)); + strlcat(buffer, prefix, sizeof(buffer)); + strlcat(buffer, ": ", sizeof(buffer)); + strlcat(buffer, _int_to_char(s, value), sizeof(buffer)); + + if (postfix != NULL) { + strlcat(buffer, " ", sizeof(buffer)); + strlcat(buffer, postfix, sizeof(buffer)); + } + myDebug(buffer); +} + +// takes an int value, converts to a fraction +void _renderIntfractionalValue(const char * prefix, const char * postfix, uint8_t value, uint8_t decimals) { + char buffer[200] = {0}; + char s[20] = {0}; + strlcpy(buffer, " ", sizeof(buffer)); + strlcat(buffer, prefix, sizeof(buffer)); + strlcat(buffer, ": ", sizeof(buffer)); + + if (value == EMS_VALUE_INT_NOTSET) { + strlcat(buffer, "?", sizeof(buffer)); + } else { + strlcat(buffer, _int_to_char(s, value / (decimals * 10)), sizeof(buffer)); + strlcat(buffer, ".", sizeof(buffer)); + strlcat(buffer, _int_to_char(s, value % (decimals * 10)), sizeof(buffer)); + } + + if (postfix != NULL) { + strlcat(buffer, " ", sizeof(buffer)); + strlcat(buffer, postfix, sizeof(buffer)); + } + + myDebug(buffer); +} + +// takes a long value at prints it to debug log +void _renderLongValue(const char * prefix, const char * postfix, uint32_t value) { + char buffer[200] = {0}; + strlcpy(buffer, " ", sizeof(buffer)); + strlcat(buffer, prefix, sizeof(buffer)); + strlcat(buffer, ": ", sizeof(buffer)); + + if (value == EMS_VALUE_LONG_NOTSET) { + strlcat(buffer, "?", sizeof(buffer)); + } else { + char s[20] = {0}; + strlcat(buffer, ltoa(value, s, 10), sizeof(buffer)); + } + + if (postfix != NULL) { + strlcat(buffer, " ", sizeof(buffer)); + strlcat(buffer, postfix, sizeof(buffer)); + } + + myDebug(buffer); +} + +// takes a bool value at prints it to debug log +void _renderBoolValue(const char * prefix, uint8_t value) { + char buffer[200] = {0}; + char s[20] = {0}; + strlcpy(buffer, " ", sizeof(buffer)); + strlcat(buffer, prefix, sizeof(buffer)); + strlcat(buffer, ": ", sizeof(buffer)); + + strlcat(buffer, _bool_to_char(s, value), sizeof(buffer)); + + myDebug(buffer); +} + +// Show command - display stats on an 's' command +void showInfo() { + // General stats from EMS bus + + myDebug("%sEMS-ESP System stats:%s", COLOR_BOLD_ON, COLOR_BOLD_OFF); + _EMS_SYS_LOGGING sysLog = ems_getLogging(); + if (sysLog == EMS_SYS_LOGGING_BASIC) { + myDebug(" System logging set to Basic"); + } else if (sysLog == EMS_SYS_LOGGING_VERBOSE) { + myDebug(" System logging set to Verbose"); + } else if (sysLog == EMS_SYS_LOGGING_THERMOSTAT) { + myDebug(" System logging set to Thermostat only"); + } else { + myDebug(" System logging set to None"); + } + + myDebug(" LED is %s", EMSESP_Status.led_enabled ? "on" : "off"); + myDebug(" Test Mode is %s", EMSESP_Status.test_mode ? "on" : "off"); + + myDebug(" # connected Dallas temperature sensors=%d", EMSESP_Status.dallas_sensors); + + myDebug(" Thermostat is %s, Boiler is %s, Shower Timer is %s, Shower Alert is %s", + (ems_getThermostatEnabled() ? "enabled" : "disabled"), + (ems_getBoilerEnabled() ? "enabled" : "disabled"), + ((EMSESP_Status.shower_timer) ? "enabled" : "disabled"), + ((EMSESP_Status.shower_alert) ? "enabled" : "disabled")); + + myDebug("\n%sEMS Bus Stats:%s", COLOR_BOLD_ON, COLOR_BOLD_OFF); + myDebug(" Bus Connected=%s, # Rx telegrams=%d, # Tx telegrams=%d, # Crc Errors=%d", + (ems_getBusConnected() ? "yes" : "no"), + EMS_Sys_Status.emsRxPgks, + EMS_Sys_Status.emsTxPkgs, + EMS_Sys_Status.emxCrcErr); + + myDebug(""); + + myDebug("%sBoiler stats:%s", COLOR_BOLD_ON, COLOR_BOLD_OFF); + + // version details + char buffer_type[64]; + myDebug(" Boiler type: %s", ems_getBoilerDescription(buffer_type)); + + // active stats + if (ems_getBusConnected()) { + myDebug(" Hot tap water is %s", (EMS_Boiler.tapwaterActive ? "running" : "off")); + myDebug(" Central Heating is %s", (EMS_Boiler.heatingActive ? "active" : "off")); + } + + // UBAParameterWW + _renderBoolValue("Warm Water activated", EMS_Boiler.wWActivated); + _renderBoolValue("Warm Water circulation pump available", EMS_Boiler.wWCircPump); + myDebug(" Warm Water is set to %s", (EMS_Boiler.wWComfort ? "Comfort" : "ECO")); + _renderIntValue("Warm Water selected temperature", "C", EMS_Boiler.wWSelTemp); + _renderIntValue("Warm Water desired temperature", "C", EMS_Boiler.wWDesiredTemp); + + // UBAMonitorWWMessage + _renderFloatValue("Warm Water current temperature", "C", EMS_Boiler.wWCurTmp); + _renderIntfractionalValue("Warm Water current tap water flow", "l/min", EMS_Boiler.wWCurFlow, 1); + _renderLongValue("Warm Water # starts", "times", EMS_Boiler.wWStarts); + if (EMS_Boiler.wWWorkM != EMS_VALUE_LONG_NOTSET) { + myDebug(" Warm Water active time: %d days %d hours %d minutes", + EMS_Boiler.wWWorkM / 1440, + (EMS_Boiler.wWWorkM % 1440) / 60, + EMS_Boiler.wWWorkM % 60); + } + _renderBoolValue("Warm Water 3-way valve", EMS_Boiler.wWHeat); + + // UBAMonitorFast + _renderIntValue("Selected flow temperature", "C", EMS_Boiler.selFlowTemp); + _renderFloatValue("Current flow temperature", "C", EMS_Boiler.curFlowTemp); + _renderFloatValue("Return temperature", "C", EMS_Boiler.retTemp); + _renderBoolValue("Gas", EMS_Boiler.burnGas); + _renderBoolValue("Boiler pump", EMS_Boiler.heatPmp); + _renderBoolValue("Fan", EMS_Boiler.fanWork); + _renderBoolValue("Ignition", EMS_Boiler.ignWork); + _renderBoolValue("Circulation pump", EMS_Boiler.wWCirc); + _renderIntValue("Burner selected max power", "%", EMS_Boiler.selBurnPow); + _renderIntValue("Burner current power", "%", EMS_Boiler.curBurnPow); + _renderFloatValue("Flame current", "uA", EMS_Boiler.flameCurr); + _renderFloatValue("System pressure", "bar", EMS_Boiler.sysPress); + myDebug(" Current System Service Code: %s", EMS_Boiler.serviceCodeChar); + + // UBAParametersMessage + _renderIntValue("Heating temperature setting on the boiler", "C", EMS_Boiler.heating_temp); + _renderIntValue("Boiler circuit pump modulation max. power", "%", EMS_Boiler.pump_mod_max); + _renderIntValue("Boiler circuit pump modulation min. power", "%", EMS_Boiler.pump_mod_min); + + // UBAMonitorSlow + if (EMS_Boiler.extTemp != EMS_VALUE_FLOAT_NOTSET) { + _renderFloatValue("Outside temperature", "C", EMS_Boiler.extTemp); + } + _renderFloatValue("Boiler temperature", "C", EMS_Boiler.boilTemp); + _renderIntValue("Pump modulation", "%", EMS_Boiler.pumpMod); + _renderLongValue("Burner # restarts", "times", EMS_Boiler.burnStarts); + if (EMS_Boiler.burnWorkMin != EMS_VALUE_LONG_NOTSET) { + myDebug(" Total burner operating time: %d days %d hours %d minutes", + EMS_Boiler.burnWorkMin / 1440, + (EMS_Boiler.burnWorkMin % 1440) / 60, + EMS_Boiler.burnWorkMin % 60); + } + if (EMS_Boiler.heatWorkMin != EMS_VALUE_LONG_NOTSET) { + myDebug(" Total heat operating time: %d days %d hours %d minutes", + EMS_Boiler.heatWorkMin / 1440, + (EMS_Boiler.heatWorkMin % 1440) / 60, + EMS_Boiler.heatWorkMin % 60); + } + if (EMS_Boiler.UBAuptime != EMS_VALUE_LONG_NOTSET) { + myDebug(" Total UBA working time: %d days %d hours %d minutes", + EMS_Boiler.UBAuptime / 1440, + (EMS_Boiler.UBAuptime % 1440) / 60, + EMS_Boiler.UBAuptime % 60); + } + + myDebug(""); // newline + + // Thermostat stats + if (ems_getThermostatEnabled()) { + myDebug("%sThermostat stats:%s", COLOR_BOLD_ON, COLOR_BOLD_OFF); + myDebug(" Thermostat type: %s", ems_getThermostatDescription(buffer_type)); + _renderFloatValue("Setpoint room temperature", "C", EMS_Thermostat.setpoint_roomTemp); + _renderFloatValue("Current room temperature", "C", EMS_Thermostat.curr_roomTemp); + if ((ems_getThermostatModel() != EMS_MODEL_EASY) && (ems_getThermostatModel() != EMS_MODEL_BOSCHEASY)) { + myDebug(" Thermostat time is %02d:%02d:%02d %d/%d/%d", + EMS_Thermostat.hour, + EMS_Thermostat.minute, + EMS_Thermostat.second, + EMS_Thermostat.day, + EMS_Thermostat.month, + EMS_Thermostat.year + 2000); + + if (EMS_Thermostat.mode == 0) { + myDebug(" Mode is set to low"); + } else if (EMS_Thermostat.mode == 1) { + myDebug(" Mode is set to manual"); + } else if (EMS_Thermostat.mode == 2) { + myDebug(" Mode is set to auto"); + } else { + myDebug(" Mode is set to ?"); + } + } + myDebug(""); // newline + } + + // Dallas + if (EMSESP_Status.dallas_sensors != 0) { + myDebug("%sExternal temperature sensors:%s", COLOR_BOLD_ON, COLOR_BOLD_OFF); + for (uint8_t i = 0; i < EMSESP_Status.dallas_sensors; i++) { + char s[80] = {0}; + snprintf(s, sizeof(s), "Sensor #%d", i + 1); + _renderFloatValue(s, "C", ds18.getValue(i)); + } + myDebug(""); // newline + } + + // show the Shower Info + if (EMSESP_Status.shower_timer) { + myDebug("%sShower stats:%s", COLOR_BOLD_ON, COLOR_BOLD_OFF); + myDebug(" Shower is %s", (EMSESP_Shower.showerOn ? "running" : "off")); + } +} + +// send values via MQTT +// a json object is created for the boiler and one for the thermostat +// CRC check is done to see if there are changes in the values since the last send to avoid too much wifi traffic +void publishValues(bool force) { + char s[20] = {0}; // for formatting strings + StaticJsonDocument doc; + char data[MQTT_MAX_SIZE] = {0}; + CRC32 crc; + uint32_t fchecksum; + + static uint8_t last_boilerActive = 0xFF; // for remembering last setting of the tap water or heating on/off + static uint32_t previousBoilerPublishCRC = 0; // CRC check + static uint32_t previousThermostatPublishCRC = 0; // CRC check + + JsonObject rootBoiler = doc.to(); + + rootBoiler["wWSelTemp"] = _int_to_char(s, EMS_Boiler.wWSelTemp); + rootBoiler["selFlowTemp"] = _float_to_char(s, EMS_Boiler.selFlowTemp); + rootBoiler["outdoorTemp"] = _float_to_char(s, EMS_Boiler.extTemp); + rootBoiler["wWActivated"] = _bool_to_char(s, EMS_Boiler.wWActivated); + rootBoiler["wWComfort"] = EMS_Boiler.wWComfort ? "Comfort" : "ECO"; + rootBoiler["wWCurTmp"] = _float_to_char(s, EMS_Boiler.wWCurTmp); + snprintf(s, sizeof(s), "%i.%i", EMS_Boiler.wWCurFlow / 10, EMS_Boiler.wWCurFlow % 10); + rootBoiler["wWCurFlow"] = s; + rootBoiler["wWHeat"] = _bool_to_char(s, EMS_Boiler.wWHeat); + rootBoiler["curFlowTemp"] = _float_to_char(s, EMS_Boiler.curFlowTemp); + rootBoiler["retTemp"] = _float_to_char(s, EMS_Boiler.retTemp); + rootBoiler["burnGas"] = _bool_to_char(s, EMS_Boiler.burnGas); + rootBoiler["heatPmp"] = _bool_to_char(s, EMS_Boiler.heatPmp); + rootBoiler["fanWork"] = _bool_to_char(s, EMS_Boiler.fanWork); + rootBoiler["ignWork"] = _bool_to_char(s, EMS_Boiler.ignWork); + rootBoiler["wWCirc"] = _bool_to_char(s, EMS_Boiler.wWCirc); + rootBoiler["selBurnPow"] = _int_to_char(s, EMS_Boiler.selBurnPow); + rootBoiler["curBurnPow"] = _int_to_char(s, EMS_Boiler.curBurnPow); + rootBoiler["sysPress"] = _float_to_char(s, EMS_Boiler.sysPress); + rootBoiler["boilTemp"] = _float_to_char(s, EMS_Boiler.boilTemp); + rootBoiler["pumpMod"] = _int_to_char(s, EMS_Boiler.pumpMod); + rootBoiler["ServiceCode"] = EMS_Boiler.serviceCodeChar; + + serializeJson(doc, data, sizeof(data)); + + // calculate hash and send values if something has changed, to save unnecessary wifi traffic + for (size_t i = 0; i < measureJson(doc) - 1; i++) { + crc.update(data[i]); + } + fchecksum = crc.finalize(); + if ((previousBoilerPublishCRC != fchecksum) || force) { + previousBoilerPublishCRC = fchecksum; + myDebugLog("Publishing boiler data via MQTT"); + + // send values via MQTT + myESP.mqttPublish(TOPIC_BOILER_DATA, data); + } + + // see if the heating or hot tap water has changed, if so send + // last_boilerActive stores heating in bit 1 and tap water in bit 2 + if ((last_boilerActive != ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive)) || force) { + myDebugLog("Publishing hot water and heating states via MQTT"); + myESP.mqttPublish(TOPIC_BOILER_TAPWATER_ACTIVE, EMS_Boiler.tapwaterActive == 1 ? "1" : "0"); + myESP.mqttPublish(TOPIC_BOILER_HEATING_ACTIVE, EMS_Boiler.heatingActive == 1 ? "1" : "0"); + + last_boilerActive = ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive); // remember last state + } + + // handle the thermostat values separately + if (ems_getThermostatEnabled()) { + // only send thermostat values if we actually have them + if (((int)EMS_Thermostat.curr_roomTemp == (int)0) || ((int)EMS_Thermostat.setpoint_roomTemp == (int)0)) + return; + + // build new json object + doc.clear(); + JsonObject rootThermostat = doc.to(); + + rootThermostat[THERMOSTAT_CURRTEMP] = _float_to_char(s, EMS_Thermostat.curr_roomTemp); + rootThermostat[THERMOSTAT_SELTEMP] = _float_to_char(s, EMS_Thermostat.setpoint_roomTemp); + + // RC20 has different mode settings + if (ems_getThermostatModel() == EMS_MODEL_RC20) { + if (EMS_Thermostat.mode == 0) { + rootThermostat[THERMOSTAT_MODE] = "low"; + } else if (EMS_Thermostat.mode == 1) { + rootThermostat[THERMOSTAT_MODE] = "manual"; + } else { + rootThermostat[THERMOSTAT_MODE] = "auto"; + } + } else { + if (EMS_Thermostat.mode == 0) { + rootThermostat[THERMOSTAT_MODE] = "night"; + } else if (EMS_Thermostat.mode == 1) { + rootThermostat[THERMOSTAT_MODE] = "day"; + } else { + rootThermostat[THERMOSTAT_MODE] = "auto"; + } + } + + data[0] = '\0'; // reset data for next package + serializeJson(doc, data, sizeof(data)); + + // calculate new CRC + crc.reset(); + for (size_t i = 0; i < measureJson(doc) - 1; i++) { + crc.update(data[i]); + } + uint32_t checksum = crc.finalize(); + if ((previousThermostatPublishCRC != checksum) || force) { + previousThermostatPublishCRC = checksum; + myDebugLog("Publishing thermostat data via MQTT"); + + // send values via MQTT + myESP.mqttPublish(TOPIC_THERMOSTAT_DATA, data); + } + } +} + +// sets the shower timer on/off +void set_showerTimer() { + if (ems_getLogging() != EMS_SYS_LOGGING_NONE) { + myDebug("Shower timer has been set to %s", EMSESP_Status.shower_timer ? "enabled" : "disabled"); + } +} + +// sets the shower alert on/off +void set_showerAlert() { + if (ems_getLogging() != EMS_SYS_LOGGING_NONE) { + myDebug("Shower alert has been set to %s", EMSESP_Status.shower_alert ? "enabled" : "disabled"); + } +} + +// used to read the next string from an input buffer and convert to an 8 bit int +uint8_t _readIntNumber() { + char * numTextPtr = strtok(NULL, ", \n"); + if (numTextPtr == nullptr) { + return 0; + } + return atoi(numTextPtr); +} + +// used to read the next string from an input buffer and convert to a double +float _readFloatNumber() { + char * numTextPtr = strtok(NULL, ", \n"); + if (numTextPtr == nullptr) { + return 0; + } + return atof(numTextPtr); +} + +// used to read the next string from an input buffer as a hex value and convert to an 8 bit int +uint8_t _readHexNumber() { + char * numTextPtr = strtok(NULL, ", \n"); + if (numTextPtr == nullptr) { + return 0; + } + return (uint8_t)strtol(numTextPtr, 0, 16); +} + +// used to read the next string from an input buffer +char * _readWord() { + char * word = strtok(NULL, ", \n"); + return word; +} + +// initiate a force scan by sending type read requests from 0 to FF to the thermostat +// used to analyze responses for debugging +void startThermostatScan(uint8_t start) { + ems_setLogging(EMS_SYS_LOGGING_THERMOSTAT); + publishValuesTimer.detach(); + systemCheckTimer.detach(); + regularUpdatesTimer.detach(); + scanThermostat_count = start; + myDebug("Starting a deep message scan on thermostat"); + scanThermostat.attach(SCANTHERMOSTAT_TIME, do_scanThermostat); +} + +// callback for loading/saving settings to the file system (SPIFFS) +bool FSCallback(MYESP_FSACTION action, const JsonObject json) { + if (action == MYESP_FSACTION_LOAD) { + // led + if (!(EMSESP_Status.led_enabled = json["led"])) { + EMSESP_Status.led_enabled = LED_BUILTIN; // default value + } + + // led_gpio + if (!(EMSESP_Status.led_gpio = json["led_gpio"])) { + EMSESP_Status.led_gpio = EMSESP_LED_GPIO; // default value + } + + // dallas_gpio + if (!(EMSESP_Status.dallas_gpio = json["dallas_gpio"])) { + EMSESP_Status.dallas_gpio = EMSESP_DALLAS_GPIO; // default value + } + + // thermostat_type + if (!(EMS_Thermostat.type_id = json["thermostat_type"])) { + EMS_Thermostat.type_id = EMSESP_THERMOSTAT_TYPE; // set default + } + + // boiler_type + if (!(EMS_Boiler.type_id = json["boiler_type"])) { + EMS_Boiler.type_id = EMSESP_BOILER_TYPE; // set default + } + + // test mode + if (!(EMSESP_Status.test_mode = json["test_mode"])) { + EMSESP_Status.test_mode = false; // default value + } + + return false; // always save the settings + } + + if (action == MYESP_FSACTION_SAVE) { + json["led"] = EMSESP_Status.led_enabled; + json["led_gpio"] = EMSESP_Status.led_gpio; + json["dallas_gpio"] = EMSESP_Status.dallas_gpio; + json["thermostat_type"] = EMS_Thermostat.type_id; + json["boiler_type"] = EMS_Boiler.type_id; + json["test_mode"] = EMSESP_Status.test_mode; + + return true; + } + + return false; +} + +// callback for custom settings when showing Stored Settings +// wc is number of arguments after the 'set' command +// returns true if the setting was recognized and changed +bool SettingsCallback(MYESP_FSACTION action, uint8_t wc, const char * setting, const char * value) { + bool ok = false; + + if (action == MYESP_FSACTION_SET) { + // led + if ((strcmp(setting, "led") == 0) && (wc == 2)) { + if (strcmp(value, "on") == 0) { + EMSESP_Status.led_enabled = true; + ok = true; + } else if (strcmp(value, "off") == 0) { + EMSESP_Status.led_enabled = false; + ok = true; + // let's make sure LED is really off + digitalWrite(EMSESP_Status.led_gpio, (EMSESP_Status.led_gpio == LED_BUILTIN) ? HIGH : LOW); // light off. For onboard high=off + } + } + + // test mode + if ((strcmp(setting, "test_mode") == 0) && (wc == 2)) { + if (strcmp(value, "on") == 0) { + EMSESP_Status.test_mode = true; + ok = true; + myDebug("* Reboot to go into test mode."); + } else if (strcmp(value, "off") == 0) { + EMSESP_Status.test_mode = false; + ok = true; + } + } + + // led_gpio + if ((strcmp(setting, "led_gpio") == 0) && (wc == 2)) { + EMSESP_Status.led_gpio = atoi(value); + // reset pin + pinMode(EMSESP_Status.led_gpio, OUTPUT); + digitalWrite(EMSESP_Status.led_gpio, (EMSESP_Status.led_gpio == LED_BUILTIN) ? HIGH : LOW); // light off. For onboard high=off + ok = true; + } + + // dallas_gpio + if ((strcmp(setting, "dallas_gpio") == 0) && (wc == 2)) { + EMSESP_Status.dallas_gpio = atoi(value); + ok = true; + } + + // thermostat_type + if (strcmp(setting, "thermostat_type") == 0) { + EMS_Thermostat.type_id = ((wc == 2) ? (uint8_t)strtol(value, 0, 16) : EMS_ID_NONE); + ok = true; + } + + // boiler_type + if (strcmp(setting, "boiler_type") == 0) { + EMS_Boiler.type_id = ((wc == 2) ? (uint8_t)strtol(value, 0, 16) : EMS_ID_NONE); + ok = true; + } + } + + if (action == MYESP_FSACTION_LIST) { + myDebug(" test_mode=%s", EMSESP_Status.test_mode ? "on" : "off"); + myDebug(" led=%s", EMSESP_Status.led_enabled ? "on" : "off"); + myDebug(" led_gpio=%d", EMSESP_Status.led_gpio); + myDebug(" dallas_gpio=%d", EMSESP_Status.dallas_gpio); + + if (EMS_Thermostat.type_id == EMS_ID_NONE) { + myDebug(" thermostat_type="); + + } else { + myDebug(" thermostat_type=%02X", EMS_Thermostat.type_id); + } + + if (EMS_Boiler.type_id == EMS_ID_NONE) { + myDebug(" boiler_type="); + + } else { + myDebug(" boiler_type=%02X", EMS_Boiler.type_id); + } + } + + return ok; +} + +// call back when a telnet client connects or disconnects +// we set the logging here +void TelnetCallback(uint8_t event) { + if (event == TELNET_EVENT_CONNECT) { + ems_setLogging(EMS_SYS_LOGGING_DEFAULT); + } else if (event == TELNET_EVENT_DISCONNECT) { + ems_setLogging(EMS_SYS_LOGGING_NONE); + } +} + +// extra commands options for telnet debug window +// wc is the word count, i.e. number of arguments. Everything is in lower case. +void TelnetCommandCallback(uint8_t wc, const char * commandLine) { + bool ok = false; + // get first command argument + char * first_cmd = strtok((char *)commandLine, ", \n"); + + if (strcmp(first_cmd, "info") == 0) { + showInfo(); + ok = true; + } + + if (strcmp(first_cmd, "publish") == 0) { + publishValues(true); + ok = true; + } + + if (strcmp(first_cmd, "types") == 0) { + ems_printAllTypes(); + ok = true; + } + + if (strcmp(first_cmd, "queue") == 0) { + ems_printTxQueue(); + ok = true; + } + + if (strcmp(first_cmd, "autodetect") == 0) { + ems_scanDevices(); + ok = true; + } + + // shower settings + if (strcmp(first_cmd, "shower") == 0) { + if (wc == 2) { + char * second_cmd = _readWord(); + if (strcmp(second_cmd, "timer") == 0) { + EMSESP_Status.shower_timer = !EMSESP_Status.shower_timer; + myESP.mqttPublish(TOPIC_SHOWER_TIMER, EMSESP_Status.shower_timer ? "1" : "0"); + ok = true; + } else if (strcmp(second_cmd, "alert") == 0) { + EMSESP_Status.shower_alert = !EMSESP_Status.shower_alert; + myESP.mqttPublish(TOPIC_SHOWER_ALERT, EMSESP_Status.shower_alert ? "1" : "0"); + ok = true; + } + } + } + + // logging + if (strcmp(first_cmd, "log") == 0) { + if (wc == 2) { + char * second_cmd = _readWord(); + if (strcmp(second_cmd, "v") == 0) { + ems_setLogging(EMS_SYS_LOGGING_VERBOSE); + ok = true; + } else if (strcmp(second_cmd, "b") == 0) { + ems_setLogging(EMS_SYS_LOGGING_BASIC); + ok = true; + } else if (strcmp(second_cmd, "t") == 0) { + ems_setLogging(EMS_SYS_LOGGING_THERMOSTAT); + ok = true; + } else if (strcmp(second_cmd, "r") == 0) { + ems_setLogging(EMS_SYS_LOGGING_RAW); + ok = true; + } else if (strcmp(second_cmd, "n") == 0) { + ems_setLogging(EMS_SYS_LOGGING_NONE); + ok = true; + } + } + } + + // thermostat commands + if (strcmp(first_cmd, "thermostat") == 0) { + if (wc == 3) { + char * second_cmd = _readWord(); + if (strcmp(second_cmd, "temp") == 0) { + ems_setThermostatTemp(_readFloatNumber()); + ok = true; + } else if (strcmp(second_cmd, "mode") == 0) { + ems_setThermostatMode(_readIntNumber()); + ok = true; + } else if (strcmp(second_cmd, "read") == 0) { + ems_doReadCommand(_readHexNumber(), EMS_Thermostat.type_id); + ok = true; + } else if (strcmp(second_cmd, "scan") == 0) { + startThermostatScan(_readIntNumber()); + ok = true; + } + } + } + + // boiler commands + if (strcmp(first_cmd, "boiler") == 0) { + if (wc == 3) { + char * second_cmd = _readWord(); + if (strcmp(second_cmd, "wwtemp") == 0) { + ems_setWarmWaterTemp(_readIntNumber()); + ok = true; + } else if (strcmp(second_cmd, "read") == 0) { + ems_doReadCommand(_readHexNumber(), EMS_Boiler.type_id); + ok = true; + } else if (strcmp(second_cmd, "tapwater") == 0) { + char * third_cmd = _readWord(); + if (strcmp(third_cmd, "on") == 0) { + ems_setWarmTapWaterActivated(true); + ok = true; + } else if (strcmp(third_cmd, "off") == 0) { + ems_setWarmTapWaterActivated(false); + ok = true; + } + } + } + } + + // send raw + if (strcmp(first_cmd, "send") == 0) { + ems_sendRawTelegram((char *)&commandLine[5]); + ok = true; + } + + // check for invalid command + if (!ok) { + myDebug("Unknown command. Use ? for help."); + } +} + +// OTA callback when the OTA process starts +// so we can disable the EMS to avoid any noise +void OTACallback() { + emsuart_stop(); +} + +// MQTT Callback to handle incoming/outgoing changes +void MQTTCallback(unsigned int type, const char * topic, const char * message) { + // we're connected. lets subscribe to some topics + if (type == MQTT_CONNECT_EVENT) { + myESP.mqttSubscribe(TOPIC_THERMOSTAT_CMD_TEMP); + myESP.mqttSubscribe(TOPIC_THERMOSTAT_CMD_MODE); + myESP.mqttSubscribe(TOPIC_BOILER_WWACTIVATED); + myESP.mqttSubscribe(TOPIC_BOILER_CMD_WWTEMP); + myESP.mqttSubscribe(TOPIC_SHOWER_TIMER); + myESP.mqttSubscribe(TOPIC_SHOWER_ALERT); + myESP.mqttSubscribe(TOPIC_SHOWER_COLDSHOT); + + // subscribe to a start message and send the first publish + myESP.mqttSubscribe(MQTT_TOPIC_START); + myESP.mqttPublish(MQTT_TOPIC_START, MQTT_TOPIC_START_PAYLOAD); + + // publish the status of the Shower parameters + myESP.mqttPublish(TOPIC_SHOWER_TIMER, EMSESP_Status.shower_timer ? "1" : "0"); + myESP.mqttPublish(TOPIC_SHOWER_ALERT, EMSESP_Status.shower_alert ? "1" : "0"); + } + + // handle incoming MQTT publish events + if (type == MQTT_MESSAGE_EVENT) { + // handle response from a start message + // for example with HA it sends the system time from the server + if (strcmp(topic, MQTT_TOPIC_START) == 0) { + myDebug("Received boottime: %s", message); + myESP.setBoottime(message); + } + + // thermostat temp changes + if (strcmp(topic, TOPIC_THERMOSTAT_CMD_TEMP) == 0) { + float f = strtof((char *)message, 0); + char s[10] = {0}; + myDebug("MQTT topic: thermostat temperature value %s", _float_to_char(s, f)); + ems_setThermostatTemp(f); + publishValues(true); // publish back immediately + } + + // thermostat mode changes + if (strcmp(topic, TOPIC_THERMOSTAT_CMD_MODE) == 0) { + myDebug("MQTT topic: thermostat mode value %s", message); + if (strcmp((char *)message, "auto") == 0) { + ems_setThermostatMode(2); + } else if (strcmp((char *)message, "day") == 0) { + ems_setThermostatMode(1); + } else if (strcmp((char *)message, "night") == 0) { + ems_setThermostatMode(0); + } + } + + // wwActivated + if (strcmp(topic, TOPIC_BOILER_WWACTIVATED) == 0) { + if (message[0] == '1') { + ems_setWarmWaterActivated(true); + } else if (message[0] == '0') { + ems_setWarmWaterActivated(false); + } + } + + // boiler wwtemp changes + if (strcmp(topic, TOPIC_BOILER_CMD_WWTEMP) == 0) { + float f = strtof((char *)message, 0); + char s[10] = {0}; + myDebug("MQTT topic: boiler warm water temperature value %s", _float_to_char(s, f)); + ems_setWarmWaterTemp(f); + publishValues(true); // publish back immediately + } + + // shower timer + if (strcmp(topic, TOPIC_SHOWER_TIMER) == 0) { + if (message[0] == '1') { + EMSESP_Status.shower_timer = true; + } else if (message[0] == '0') { + EMSESP_Status.shower_timer = false; + } + set_showerTimer(); + } + + // shower alert + if (strcmp(topic, TOPIC_SHOWER_ALERT) == 0) { + if (message[0] == '1') { + EMSESP_Status.shower_alert = true; + } else if (message[0] == '0') { + EMSESP_Status.shower_alert = false; + } + set_showerAlert(); + } + + // shower cold shot + if (strcmp(topic, TOPIC_SHOWER_COLDSHOT) == 0) { + _showerColdShotStart(); + } + } +} + +// Init callback, which is used to set functions and call methods after a wifi connection has been established +void WIFICallback() { + // This is where we enable the UART service to scan the incoming serial Tx/Rx bus signals + // This is done after we have a WiFi signal to avoid any resource conflicts + + if (myESP.getUseSerial()) { + myDebug("Warning! EMS bus disabled when in Serial mode. Use 'set serial off' to enable."); + } else { + emsuart_init(); + myDebug("[UART] Opened Rx/Tx connection"); + // go and find the boiler and thermostat types + ems_discoverModels(); + } +} + +// Initialize the boiler settings and shower settings +void initEMSESP() { + // general settings + EMSESP_Status.shower_timer = BOILER_SHOWER_TIMER; + EMSESP_Status.shower_alert = BOILER_SHOWER_ALERT; + EMSESP_Status.led_enabled = true; // LED is on by default + EMSESP_Status.test_mode = false; + + EMSESP_Status.timestamp = millis(); + EMSESP_Status.dallas_sensors = 0; + + EMSESP_Status.led_gpio = EMSESP_LED_GPIO; + EMSESP_Status.dallas_gpio = EMSESP_DALLAS_GPIO; + + // shower settings + EMSESP_Shower.timerStart = 0; + EMSESP_Shower.timerPause = 0; + EMSESP_Shower.duration = 0; + EMSESP_Shower.doingColdShot = false; +} + +// call PublishValues without forcing, so using CRC to see if we really need to publish +void do_publishValues() { + // don't publish if we're not connected to the EMS bus + if ((ems_getBusConnected()) && (!myESP.getUseSerial())) { + publishValues(false); + } +} + +// callback to light up the LED, called via Ticker every second +// fast way is to use WRITE_PERI_REG(PERIPHS_GPIO_BASEADDR + (state ? 4 : 8), (1 << EMSESP_Status.led_gpio)); // 4 is on, 8 is off +void do_ledcheck() { + if (EMSESP_Status.led_enabled) { + if (ems_getBusConnected()) { + digitalWrite(EMSESP_Status.led_gpio, (EMSESP_Status.led_gpio == LED_BUILTIN) ? LOW : HIGH); // light on. For onboard LED high=off + } else { + int state = digitalRead(EMSESP_Status.led_gpio); + digitalWrite(EMSESP_Status.led_gpio, !state); + } + } +} + +// Thermostat scan +void do_scanThermostat() { + if ((ems_getBusConnected()) && (!myESP.getUseSerial())) { + myDebug("> Scanning thermostat message type #0x%02X..", scanThermostat_count); + ems_doReadCommand(scanThermostat_count, EMS_Thermostat.type_id); + scanThermostat_count++; + } +} + +// do a system health check every now and then to see if we all connections +void do_systemCheck() { + if ((!ems_getBusConnected()) && (!myESP.getUseSerial())) { + myDebug("Error! Unable to read from EMS bus. Retrying in %d seconds...", SYSTEMCHECK_TIME); + } +} + +// force calls to get data from EMS for the types that aren't sent as broadcasts +// only if we have a EMS connection +void do_regularUpdates() { + if ((ems_getBusConnected()) && (!myESP.getUseSerial())) { + myDebugLog("Calling scheduled data refresh from EMS devices.."); + ems_getThermostatValues(); + ems_getBoilerValues(); + } +} + +// turn off hot water to send a shot of cold +void _showerColdShotStart() { + if (EMSESP_Status.shower_alert) { + myDebugLog("[Shower] doing a shot of cold water"); + ems_setWarmTapWaterActivated(false); + EMSESP_Shower.doingColdShot = true; + // start the timer for n seconds which will reset the water back to hot + showerColdShotStopTimer.attach(SHOWER_COLDSHOT_DURATION, _showerColdShotStop); + } +} + +// turn back on the hot water for the shower +void _showerColdShotStop() { + if (EMSESP_Shower.doingColdShot) { + myDebugLog("[Shower] finished shot of cold. hot water back on"); + ems_setWarmTapWaterActivated(true); + EMSESP_Shower.doingColdShot = false; + showerColdShotStopTimer.detach(); // disable the timer + } +} + +/* + * Shower Logic + */ +void showerCheck() { + // if already in cold mode, ignore all this logic until we're out of the cold blast + if (!EMSESP_Shower.doingColdShot) { + // is the hot water running? + if (EMS_Boiler.tapwaterActive) { + // if heater was previously off, start the timer + if (EMSESP_Shower.timerStart == 0) { + // hot water just started... + EMSESP_Shower.timerStart = EMSESP_Status.timestamp; + EMSESP_Shower.timerPause = 0; // remove any last pauses + EMSESP_Shower.doingColdShot = false; + EMSESP_Shower.duration = 0; + EMSESP_Shower.showerOn = false; + } else { + // hot water has been on for a while + // first check to see if hot water has been on long enough to be recognized as a Shower/Bath + if (!EMSESP_Shower.showerOn && (EMSESP_Status.timestamp - EMSESP_Shower.timerStart) > SHOWER_MIN_DURATION) { + EMSESP_Shower.showerOn = true; + myDebugLog("[Shower] hot water still running, starting shower timer"); + } + // check if the shower has been on too long + else if ((((EMSESP_Status.timestamp - EMSESP_Shower.timerStart) > SHOWER_MAX_DURATION) && !EMSESP_Shower.doingColdShot) + && EMSESP_Status.shower_alert) { + myDebugLog("[Shower] exceeded max shower time"); + _showerColdShotStart(); + } + } + } else { // hot water is off + // if it just turned off, record the time as it could be a short pause + if ((EMSESP_Shower.timerStart != 0) && (EMSESP_Shower.timerPause == 0)) { + EMSESP_Shower.timerPause = EMSESP_Status.timestamp; + } + + // if shower has been off for longer than the wait time + if ((EMSESP_Shower.timerPause != 0) && ((EMSESP_Status.timestamp - EMSESP_Shower.timerPause) > SHOWER_PAUSE_TIME)) { + // it is over the wait period, so assume that the shower has finished and calculate the total time and publish + // because its unsigned long, can't have negative so check if length is less than OFFSET_TIME + if ((EMSESP_Shower.timerPause - EMSESP_Shower.timerStart) > SHOWER_OFFSET_TIME) { + EMSESP_Shower.duration = (EMSESP_Shower.timerPause - EMSESP_Shower.timerStart - SHOWER_OFFSET_TIME); + if (EMSESP_Shower.duration > SHOWER_MIN_DURATION) { + char s[50] = {0}; + char buffer[16] = {0}; + strlcpy(s, itoa((uint8_t)((EMSESP_Shower.duration / (1000 * 60)) % 60), buffer, 10), sizeof(s)); + strlcat(s, " minutes and ", sizeof(s)); + strlcat(s, itoa((uint8_t)((EMSESP_Shower.duration / 1000) % 60), buffer, 10), sizeof(s)); + strlcat(s, " seconds", sizeof(s)); + if (ems_getLogging() != EMS_SYS_LOGGING_NONE) { + myDebug("[Shower] finished with duration %s", s); + } + myESP.mqttPublish(TOPIC_SHOWERTIME, s); // publish to MQTT + } + } + + // reset everything + EMSESP_Shower.timerStart = 0; + EMSESP_Shower.timerPause = 0; + EMSESP_Shower.showerOn = false; + _showerColdShotStop(); // turn hot water back on in case its off + } + } + } +} + +// +// SETUP +// +void setup() { + // init our own parameters + initEMSESP(); + + // call ems.cpp's init function to set all the internal params + ems_init(); + + systemCheckTimer.attach(SYSTEMCHECK_TIME, do_systemCheck); // check if Boiler is online + + // set up myESP for Wifi, MQTT, MDNS and Telnet + myESP.setTelnet(project_cmds, ArraySize(project_cmds), TelnetCommandCallback, TelnetCallback); // set up Telnet commands +#ifdef WIFI_SSID + myESP.setWIFI(WIFI_SSID, WIFI_PASSWORD, WIFICallback); +#else + myESP.setWIFI(NULL, NULL, WIFICallback); // pull the wifi settings from the SPIFFS stored settings +#endif + + // MQTT host, username and password taken from the SPIFFS settings + myESP.setMQTT(NULL, + NULL, + NULL, + MQTT_BASE, + MQTT_KEEPALIVE, + MQTT_QOS, + MQTT_RETAIN, + MQTT_WILL_TOPIC, + MQTT_WILL_ONLINE_PAYLOAD, + MQTT_WILL_OFFLINE_PAYLOAD, + MQTTCallback); + + // OTA callback which is called when OTA is starting + myESP.setOTA(OTACallback); + + // custom settings in SPIFFS + myESP.setSettings(FSCallback, SettingsCallback); + + // start up all the services + myESP.begin(APP_HOSTNAME, APP_NAME, APP_VERSION); + + // enable regular checks if not in test mode + if (!EMSESP_Status.test_mode) { + publishValuesTimer.attach(PUBLISHVALUES_TIME, do_publishValues); // post MQTT values + regularUpdatesTimer.attach(REGULARUPDATES_TIME, do_regularUpdates); // regular reads from the EMS + } + + // set pin for LED + if (EMSESP_Status.led_gpio != EMS_VALUE_INT_NOTSET) { + pinMode(EMSESP_Status.led_gpio, OUTPUT); + digitalWrite(EMSESP_Status.led_gpio, (EMSESP_Status.led_gpio == LED_BUILTIN) ? HIGH : LOW); // light off. For onboard high=off + ledcheckTimer.attach_ms(LEDCHECK_TIME, do_ledcheck); // blink heartbeat LED + } + + // check for Dallas sensors + EMSESP_Status.dallas_sensors = ds18.setup(EMSESP_Status.dallas_gpio); // returns #sensors +} + +// +// Main loop +// +void loop() { + EMSESP_Status.timestamp = millis(); + + // the main loop + myESP.loop(); + + // check Dallas sensors + if (EMSESP_Status.dallas_sensors != 0) { + ds18.loop(); + } + + // publish the values to MQTT, only if the values have changed + // although we don't want to publish when doing a deep scan of the thermostat + if (ems_getEmsRefreshed() && (scanThermostat_count == 0) && (!EMSESP_Status.test_mode)) { + publishValues(false); + ems_setEmsRefreshed(false); // reset + } + + // do shower logic, if enabled + if (EMSESP_Status.shower_timer) { + showerCheck(); + } +} diff --git a/src/ems.cpp b/src/ems.cpp index 05cb30c2e..76b263e3a 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1,166 +1,192 @@ /** * ems.cpp - * handles all the processing of the EMS messages - * Paul Derbyshire - https://github.com/proddy/EMS-ESP-Boiler + * + * Handles all the processing of the EMS messages + * + * Paul Derbyshire - https://github.com/proddy/EMS-ESP */ #include "ems.h" +#include "ems_devices.h" #include "emsuart.h" - #include #include // https://github.com/rlogiacco/CircularBuffer -#include +#include +#include // std::list -// Check for ESPurna vs ESPHelper (standalone) -#ifdef USE_CUSTOM_H -#include "debug.h" -extern void debugSend(const char * format, ...); -#define myDebug(...) debugSend(__VA_ARGS__) -#else -#include -extern ESPHelper myESP; -#define myDebug(x, ...) myESP.printf(x, ##__VA_ARGS__) -#endif - -// include custom configuration settings -#include "my_config.h" - -// calculates size of an 2d array at compile time -template -constexpr size_t ArraySize(T (&)[N]) { - return N; -} +// myESP +#define myDebug(...) myESP.myDebug(__VA_ARGS__) _EMS_Sys_Status EMS_Sys_Status; // EMS Status -CircularBuffer<_EMS_TxTelegram, 20> EMS_TxQueue; // FIFO queue for Tx send buffer +CircularBuffer<_EMS_TxTelegram, EMS_TX_TELEGRAM_QUEUE_MAX> EMS_TxQueue; // FIFO queue for Tx send buffer // callbacks per type -void _process_UBAMonitorFast(uint8_t * data, uint8_t length); -void _process_UBAMonitorSlow(uint8_t * data, uint8_t length); -void _process_UBAMonitorWWMessage(uint8_t * data, uint8_t length); -void _process_UBAParameterWW(uint8_t * data, uint8_t length); -// Thermostat +// generic +void _process_Version(uint8_t type, uint8_t * data, uint8_t length); -// Common -void _process_Version(uint8_t * data, uint8_t length); -void _process_SetPoints(uint8_t * data, uint8_t length); -void _process_RCTime(uint8_t * data, uint8_t length); -void _process_RCOutdoorTempMessage(uint8_t * data, uint8_t length); +// Boiler and Buderus devices +void _process_UBAMonitorFast(uint8_t type, uint8_t * data, uint8_t length); +void _process_UBAMonitorSlow(uint8_t type, uint8_t * data, uint8_t length); +void _process_UBAMonitorWWMessage(uint8_t type, uint8_t * data, uint8_t length); +void _process_UBAParameterWW(uint8_t type, uint8_t * data, uint8_t length); +void _process_UBATotalUptimeMessage(uint8_t type, uint8_t * data, uint8_t length); +void _process_UBAParametersMessage(uint8_t type, uint8_t * data, uint8_t length); +void _process_SetPoints(uint8_t type, uint8_t * data, uint8_t length); + +// Common for most thermostats +void _process_RCTime(uint8_t type, uint8_t * data, uint8_t length); +void _process_RCOutdoorTempMessage(uint8_t type, uint8_t * data, uint8_t length); + +// RC10 +void _process_RC10Set(uint8_t type, uint8_t * data, uint8_t length); +void _process_RC10StatusMessage(uint8_t type, uint8_t * data, uint8_t length); // RC20 -void _process_RC20Set(uint8_t * data, uint8_t length); -void _process_RC20StatusMessage(uint8_t * data, uint8_t length); +void _process_RC20Set(uint8_t type, uint8_t * data, uint8_t length); +void _process_RC20StatusMessage(uint8_t type, uint8_t * data, uint8_t length); // RC30 -void _process_RC30Set(uint8_t * data, uint8_t length); -void _process_RC30StatusMessage(uint8_t * data, uint8_t length); +void _process_RC30Set(uint8_t type, uint8_t * data, uint8_t length); +void _process_RC30StatusMessage(uint8_t type, uint8_t * data, uint8_t length); + +// RC35 +void _process_RC35Set(uint8_t type, uint8_t * data, uint8_t length); +void _process_RC35StatusMessage(uint8_t type, uint8_t * data, uint8_t length); // Easy -void _process_EasyStatusMessage(uint8_t * data, uint8_t length); +void _process_EasyStatusMessage(uint8_t type, uint8_t * data, uint8_t length); -const _Thermostat_Types Thermostat_Types[] = { +/* + * Recognized EMS types and the functions they call to process the telegrams + * Format: MODEL ID, TYPE ID, Description, function + */ +const _EMS_Type EMS_Types[] = { - {EMS_ID_THERMOSTAT_RC20, "RC20 (Nefit Moduline 300)"}, - {EMS_ID_THERMOSTAT_RC30, "RC30 (Nefit Moduline 400)"}, - {EMS_ID_THERMOSTAT_EASY, "TC100 (Nefit Easy/CT100)"} - -}; -uint8_t _Thermostat_Types_max = ArraySize(Thermostat_Types); // number of defined thermostat types - -const _EMS_Types EMS_Types[] = { - - // Command commands - {EMS_ID_NONE, EMS_TYPE_Version, "Version", _process_Version}, + // common + {EMS_MODEL_ALL, EMS_TYPE_Version, "Version", _process_Version}, // Boiler commands - {EMS_ID_BOILER, EMS_TYPE_UBAMonitorFast, "UBAMonitorFast", _process_UBAMonitorFast}, - {EMS_ID_BOILER, EMS_TYPE_UBAMonitorSlow, "UBAMonitorSlow", _process_UBAMonitorSlow}, - {EMS_ID_BOILER, EMS_TYPE_UBAMonitorWWMessage, "UBAMonitorWWMessage", _process_UBAMonitorWWMessage}, - {EMS_ID_BOILER, EMS_TYPE_UBAParameterWW, "UBAParameterWW", _process_UBAParameterWW}, - {EMS_ID_BOILER, EMS_TYPE_UBATotalUptimeMessage, "UBATotalUptimeMessage", NULL}, - {EMS_ID_BOILER, EMS_TYPE_UBAMaintenanceSettingsMessage, "UBAMaintenanceSettingsMessage", NULL}, - {EMS_ID_BOILER, EMS_TYPE_UBAParametersMessage, "UBAParametersMessage", NULL}, - {EMS_ID_BOILER, EMS_TYPE_UBAMaintenanceStatusMessage, "UBAMaintenanceStatusMessage", NULL}, + {EMS_MODEL_UBA, EMS_TYPE_UBAMonitorFast, "UBAMonitorFast", _process_UBAMonitorFast}, + {EMS_MODEL_UBA, EMS_TYPE_UBAMonitorSlow, "UBAMonitorSlow", _process_UBAMonitorSlow}, + {EMS_MODEL_UBA, EMS_TYPE_UBAMonitorWWMessage, "UBAMonitorWWMessage", _process_UBAMonitorWWMessage}, + {EMS_MODEL_UBA, EMS_TYPE_UBAParameterWW, "UBAParameterWW", _process_UBAParameterWW}, + {EMS_MODEL_UBA, EMS_TYPE_UBATotalUptimeMessage, "UBATotalUptimeMessage", _process_UBATotalUptimeMessage}, + {EMS_MODEL_UBA, EMS_TYPE_UBAMaintenanceSettingsMessage, "UBAMaintenanceSettingsMessage", NULL}, + {EMS_MODEL_UBA, EMS_TYPE_UBAParametersMessage, "UBAParametersMessage", _process_UBAParametersMessage}, + {EMS_MODEL_UBA, EMS_TYPE_UBASetPoints, "UBASetPoints", _process_SetPoints}, - // Thermostat commands - // common - {EMS_ID_THERMOSTAT, EMS_TYPE_RCTime, "RCTime", _process_RCTime}, - {EMS_ID_THERMOSTAT, EMS_TYPE_RCOutdoorTempMessage, "RCOutdoorTempMessage", _process_RCOutdoorTempMessage}, - {EMS_ID_THERMOSTAT, EMS_TYPE_UBASetPoints, "UBASetPoints", _process_SetPoints}, + // RC10 + {EMS_MODEL_RC10, EMS_TYPE_RCTime, "RCTime", _process_RCTime}, + {EMS_MODEL_RC10, EMS_TYPE_RC10Set, "RC10Set", _process_RC10Set}, + {EMS_MODEL_RC10, EMS_TYPE_RC10StatusMessage, "RC10StatusMessage", _process_RC10StatusMessage}, - // RC20 - {EMS_ID_THERMOSTAT, EMS_TYPE_RC20Set, "RC20Set", _process_RC20Set}, - {EMS_ID_THERMOSTAT, EMS_TYPE_RC20StatusMessage, "RC20StatusMessage", _process_RC20StatusMessage}, + // RC20 and RC20F + {EMS_MODEL_RC20, EMS_TYPE_RCOutdoorTempMessage, "RCOutdoorTempMessage", _process_RCOutdoorTempMessage}, + {EMS_MODEL_RC20, EMS_TYPE_RCTime, "RCTime", _process_RCTime}, + {EMS_MODEL_RC20, EMS_TYPE_RC20Set, "RC20Set", _process_RC20Set}, + {EMS_MODEL_RC20, EMS_TYPE_RC20StatusMessage, "RC20StatusMessage", _process_RC20StatusMessage}, + + {EMS_MODEL_RC20F, EMS_TYPE_RCOutdoorTempMessage, "RCOutdoorTempMessage", _process_RCOutdoorTempMessage}, + {EMS_MODEL_RC20F, EMS_TYPE_RCTime, "RCTime", _process_RCTime}, + {EMS_MODEL_RC20F, EMS_TYPE_RC20Set, "RC20Set", _process_RC20Set}, + {EMS_MODEL_RC20F, EMS_TYPE_RC20StatusMessage, "RC20StatusMessage", _process_RC20StatusMessage}, // RC30 - {EMS_ID_THERMOSTAT, EMS_TYPE_RC30Set, "RC30Set", _process_RC30Set}, - {EMS_ID_THERMOSTAT, EMS_TYPE_RC30StatusMessage, "RC30StatusMessage", _process_RC30StatusMessage}, + {EMS_MODEL_RC30, EMS_TYPE_RCOutdoorTempMessage, "RCOutdoorTempMessage", _process_RCOutdoorTempMessage}, + {EMS_MODEL_RC30, EMS_TYPE_RCTime, "RCTime", _process_RCTime}, + {EMS_MODEL_RC30, EMS_TYPE_RC30Set, "RC30Set", _process_RC30Set}, + {EMS_MODEL_RC30, EMS_TYPE_RC30StatusMessage, "RC30StatusMessage", _process_RC30StatusMessage}, + + // RC35 + {EMS_MODEL_RC35, EMS_TYPE_RCOutdoorTempMessage, "RCOutdoorTempMessage", _process_RCOutdoorTempMessage}, + {EMS_MODEL_RC35, EMS_TYPE_RCTime, "RCTime", _process_RCTime}, + {EMS_MODEL_RC35, EMS_TYPE_RC35Set, "RC35Set", _process_RC35Set}, + {EMS_MODEL_RC35, EMS_TYPE_RC35StatusMessage, "RC35StatusMessage", _process_RC35StatusMessage}, + + // ES73 + {EMS_MODEL_ES73, EMS_TYPE_RCOutdoorTempMessage, "RCOutdoorTempMessage", _process_RCOutdoorTempMessage}, + {EMS_MODEL_ES73, EMS_TYPE_RCTime, "RCTime", _process_RCTime}, + {EMS_MODEL_ES73, EMS_TYPE_RC35Set, "RC35Set", _process_RC35Set}, + {EMS_MODEL_ES73, EMS_TYPE_RC35StatusMessage, "RC35StatusMessage", _process_RC35StatusMessage}, // Easy - {EMS_ID_THERMOSTAT, EMS_TYPE_EasyStatusMessage, "EasyStatusMessage", _process_EasyStatusMessage} + {EMS_MODEL_EASY, EMS_TYPE_EasyStatusMessage, "EasyStatusMessage", _process_EasyStatusMessage}, + {EMS_MODEL_BOSCHEASY, EMS_TYPE_EasyStatusMessage, "EasyStatusMessage", _process_EasyStatusMessage}, + }; -uint8_t _EMS_Types_max = ArraySize(EMS_Types); // number of defined types -// reserve space for the data we collect from the Boiler and Thermostat +// calculate sizes of arrays +uint8_t _EMS_Types_max = ArraySize(EMS_Types); // number of defined types +uint8_t _Boiler_Types_max = ArraySize(Boiler_Types); // number of models +uint8_t _Thermostat_Types_max = ArraySize(Thermostat_Types); // number of defined thermostat types + +// these structs contain the data we store from the Boiler and Thermostat _EMS_Boiler EMS_Boiler; _EMS_Thermostat EMS_Thermostat; // CRC lookup table with poly 12 for faster checking -const uint8_t ems_crc_table[] = - {0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x20, 0x22, 0x24, - 0x26, 0x28, 0x2A, 0x2C, 0x2E, 0x30, 0x32, 0x34, 0x36, 0x38, 0x3A, 0x3C, 0x3E, 0x40, 0x42, 0x44, 0x46, 0x48, 0x4A, - 0x4C, 0x4E, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x64, 0x66, 0x68, 0x6A, 0x6C, 0x6E, 0x70, - 0x72, 0x74, 0x76, 0x78, 0x7A, 0x7C, 0x7E, 0x80, 0x82, 0x84, 0x86, 0x88, 0x8A, 0x8C, 0x8E, 0x90, 0x92, 0x94, 0x96, - 0x98, 0x9A, 0x9C, 0x9E, 0xA0, 0xA2, 0xA4, 0xA6, 0xA8, 0xAA, 0xAC, 0xAE, 0xB0, 0xB2, 0xB4, 0xB6, 0xB8, 0xBA, 0xBC, - 0xBE, 0xC0, 0xC2, 0xC4, 0xC6, 0xC8, 0xCA, 0xCC, 0xCE, 0xD0, 0xD2, 0xD4, 0xD6, 0xD8, 0xDA, 0xDC, 0xDE, 0xE0, 0xE2, - 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0, 0xF2, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE, 0x19, 0x1B, 0x1D, 0x1F, 0x11, - 0x13, 0x15, 0x17, 0x09, 0x0B, 0x0D, 0x0F, 0x01, 0x03, 0x05, 0x07, 0x39, 0x3B, 0x3D, 0x3F, 0x31, 0x33, 0x35, 0x37, - 0x29, 0x2B, 0x2D, 0x2F, 0x21, 0x23, 0x25, 0x27, 0x59, 0x5B, 0x5D, 0x5F, 0x51, 0x53, 0x55, 0x57, 0x49, 0x4B, 0x4D, - 0x4F, 0x41, 0x43, 0x45, 0x47, 0x79, 0x7B, 0x7D, 0x7F, 0x71, 0x73, 0x75, 0x77, 0x69, 0x6B, 0x6D, 0x6F, 0x61, 0x63, - 0x65, 0x67, 0x99, 0x9B, 0x9D, 0x9F, 0x91, 0x93, 0x95, 0x97, 0x89, 0x8B, 0x8D, 0x8F, 0x81, 0x83, 0x85, 0x87, 0xB9, - 0xBB, 0xBD, 0xBF, 0xB1, 0xB3, 0xB5, 0xB7, 0xA9, 0xAB, 0xAD, 0xAF, 0xA1, 0xA3, 0xA5, 0xA7, 0xD9, 0xDB, 0xDD, 0xDF, - 0xD1, 0xD3, 0xD5, 0xD7, 0xC9, 0xCB, 0xCD, 0xCF, 0xC1, 0xC3, 0xC5, 0xC7, 0xF9, 0xFB, 0xFD, 0xFF, 0xF1, 0xF3, 0xF5, - 0xF7, 0xE9, 0xEB, 0xED, 0xEF, 0xE1, 0xE3, 0xE5, 0xE7}; +const uint8_t ems_crc_table[] = {0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x20, 0x22, + 0x24, 0x26, 0x28, 0x2A, 0x2C, 0x2E, 0x30, 0x32, 0x34, 0x36, 0x38, 0x3A, 0x3C, 0x3E, 0x40, 0x42, 0x44, 0x46, + 0x48, 0x4A, 0x4C, 0x4E, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62, 0x64, 0x66, 0x68, 0x6A, + 0x6C, 0x6E, 0x70, 0x72, 0x74, 0x76, 0x78, 0x7A, 0x7C, 0x7E, 0x80, 0x82, 0x84, 0x86, 0x88, 0x8A, 0x8C, 0x8E, + 0x90, 0x92, 0x94, 0x96, 0x98, 0x9A, 0x9C, 0x9E, 0xA0, 0xA2, 0xA4, 0xA6, 0xA8, 0xAA, 0xAC, 0xAE, 0xB0, 0xB2, + 0xB4, 0xB6, 0xB8, 0xBA, 0xBC, 0xBE, 0xC0, 0xC2, 0xC4, 0xC6, 0xC8, 0xCA, 0xCC, 0xCE, 0xD0, 0xD2, 0xD4, 0xD6, + 0xD8, 0xDA, 0xDC, 0xDE, 0xE0, 0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0, 0xF2, 0xF4, 0xF6, 0xF8, 0xFA, + 0xFC, 0xFE, 0x19, 0x1B, 0x1D, 0x1F, 0x11, 0x13, 0x15, 0x17, 0x09, 0x0B, 0x0D, 0x0F, 0x01, 0x03, 0x05, 0x07, + 0x39, 0x3B, 0x3D, 0x3F, 0x31, 0x33, 0x35, 0x37, 0x29, 0x2B, 0x2D, 0x2F, 0x21, 0x23, 0x25, 0x27, 0x59, 0x5B, + 0x5D, 0x5F, 0x51, 0x53, 0x55, 0x57, 0x49, 0x4B, 0x4D, 0x4F, 0x41, 0x43, 0x45, 0x47, 0x79, 0x7B, 0x7D, 0x7F, + 0x71, 0x73, 0x75, 0x77, 0x69, 0x6B, 0x6D, 0x6F, 0x61, 0x63, 0x65, 0x67, 0x99, 0x9B, 0x9D, 0x9F, 0x91, 0x93, + 0x95, 0x97, 0x89, 0x8B, 0x8D, 0x8F, 0x81, 0x83, 0x85, 0x87, 0xB9, 0xBB, 0xBD, 0xBF, 0xB1, 0xB3, 0xB5, 0xB7, + 0xA9, 0xAB, 0xAD, 0xAF, 0xA1, 0xA3, 0xA5, 0xA7, 0xD9, 0xDB, 0xDD, 0xDF, 0xD1, 0xD3, 0xD5, 0xD7, 0xC9, 0xCB, + 0xCD, 0xCF, 0xC1, 0xC3, 0xC5, 0xC7, 0xF9, 0xFB, 0xFD, 0xFF, 0xF1, 0xF3, 0xF5, 0xF7, 0xE9, 0xEB, 0xED, 0xEF, + 0xE1, 0xE3, 0xE5, 0xE7}; -const uint8_t RX_READ_TIMEOUT_COUNT = 3; // 3 retries before timeout - -uint8_t emsRxRetryCount; // used for retries when sending failed +const uint8_t TX_WRITE_TIMEOUT_COUNT = 2; // 3 retries before timeout +const unsigned long EMS_BUS_TIMEOUT = 15000; // timeout in ms before recognizing the ems bus is offline (15 seconds) +const unsigned long EMS_POLL_TIMEOUT = 5000; // timeout in ms before recognizing the ems bus is offline (5 seconds) // init stats and counters and buffers // uses -255 or 255 for values that haven't been set yet (EMS_VALUE_INT_NOTSET and EMS_VALUE_FLOAT_NOTSET) void ems_init() { // overall status - EMS_Sys_Status.emsRxPgks = 0; - EMS_Sys_Status.emsTxPkgs = 0; - EMS_Sys_Status.emxCrcErr = 0; - EMS_Sys_Status.emsRxStatus = EMS_RX_IDLE; - EMS_Sys_Status.emsTxStatus = EMS_TX_IDLE; - EMS_Sys_Status.emsRefreshed = false; - EMS_Sys_Status.emsPollEnabled = false; // start up with Poll disabled - EMS_Sys_Status.emsTxEnabled = true; // start up with Tx enabled - EMS_Sys_Status.emsThermostatEnabled = true; // there is a RCxx thermostat active as default - EMS_Sys_Status.emsBoilerEnabled = false; // boiler is not connected yet - - EMS_Sys_Status.emsLogging = EMS_SYS_LOGGING_NONE; // Verbose logging is off + EMS_Sys_Status.emsRxPgks = 0; + EMS_Sys_Status.emsTxPkgs = 0; + EMS_Sys_Status.emxCrcErr = 0; + EMS_Sys_Status.emsRxStatus = EMS_RX_STATUS_IDLE; + EMS_Sys_Status.emsTxStatus = EMS_TX_STATUS_IDLE; + EMS_Sys_Status.emsRefreshed = false; + EMS_Sys_Status.emsPollEnabled = false; // start up with Poll disabled + EMS_Sys_Status.emsBusConnected = false; + EMS_Sys_Status.emsRxTimestamp = 0; + EMS_Sys_Status.emsTxCapable = false; + EMS_Sys_Status.emsPollTimestamp = 0; + EMS_Sys_Status.txRetryCount = 0; // thermostat - EMS_Thermostat.type = EMS_ID_THERMOSTAT; // type, see my_config.h - EMS_Thermostat.hour = 0; - EMS_Thermostat.minute = 0; - EMS_Thermostat.second = 0; - EMS_Thermostat.day = 0; - EMS_Thermostat.month = 0; - EMS_Thermostat.year = 0; - EMS_Thermostat.mode = 255; // dummy value + EMS_Thermostat.setpoint_roomTemp = EMS_VALUE_FLOAT_NOTSET; + EMS_Thermostat.curr_roomTemp = EMS_VALUE_FLOAT_NOTSET; + EMS_Thermostat.hour = 0; + EMS_Thermostat.minute = 0; + EMS_Thermostat.second = 0; + EMS_Thermostat.day = 0; + EMS_Thermostat.month = 0; + EMS_Thermostat.year = 0; + EMS_Thermostat.mode = 255; // dummy value + EMS_Thermostat.day_mode = 255; // dummy value + + EMS_Thermostat.type_id = EMS_ID_NONE; + EMS_Thermostat.read_supported = false; + EMS_Thermostat.write_supported = false; // UBAParameterWW EMS_Boiler.wWActivated = EMS_VALUE_INT_NOTSET; // Warm Water activated EMS_Boiler.wWSelTemp = EMS_VALUE_INT_NOTSET; // Warm Water selected temperature EMS_Boiler.wWCircPump = EMS_VALUE_INT_NOTSET; // Warm Water circulation pump available EMS_Boiler.wWDesiredTemp = EMS_VALUE_INT_NOTSET; // Warm Water desired temperature to prevent infection + EMS_Boiler.wWComfort = EMS_VALUE_INT_NOTSET; // UBAMonitorFast EMS_Boiler.selFlowTemp = EMS_VALUE_INT_NOTSET; // Selected flow temperature @@ -176,51 +202,58 @@ void ems_init() { EMS_Boiler.curBurnPow = EMS_VALUE_INT_NOTSET; // Burner current power EMS_Boiler.flameCurr = EMS_VALUE_FLOAT_NOTSET; // Flame current in micro amps EMS_Boiler.sysPress = EMS_VALUE_FLOAT_NOTSET; // System pressure + strlcpy(EMS_Boiler.serviceCodeChar, "??", sizeof(EMS_Boiler.serviceCodeChar)); // UBAMonitorSlow EMS_Boiler.extTemp = EMS_VALUE_FLOAT_NOTSET; // Outside temperature EMS_Boiler.boilTemp = EMS_VALUE_FLOAT_NOTSET; // Boiler temperature EMS_Boiler.pumpMod = EMS_VALUE_INT_NOTSET; // Pump modulation - EMS_Boiler.burnStarts = EMS_VALUE_INT_NOTSET; // # burner restarts - EMS_Boiler.burnWorkMin = EMS_VALUE_INT_NOTSET; // Total burner operating time - EMS_Boiler.heatWorkMin = EMS_VALUE_INT_NOTSET; // Total heat operating time + EMS_Boiler.burnStarts = EMS_VALUE_LONG_NOTSET; // # burner restarts + EMS_Boiler.burnWorkMin = EMS_VALUE_LONG_NOTSET; // Total burner operating time + EMS_Boiler.heatWorkMin = EMS_VALUE_LONG_NOTSET; // Total heat operating time // UBAMonitorWWMessage EMS_Boiler.wWCurTmp = EMS_VALUE_FLOAT_NOTSET; // Warm Water current temperature: - EMS_Boiler.wWStarts = EMS_VALUE_INT_NOTSET; // Warm Water # starts - EMS_Boiler.wWWorkM = EMS_VALUE_INT_NOTSET; // Warm Water # minutes + EMS_Boiler.wWStarts = EMS_VALUE_LONG_NOTSET; // Warm Water # starts + EMS_Boiler.wWWorkM = EMS_VALUE_LONG_NOTSET; // Warm Water # minutes EMS_Boiler.wWOneTime = EMS_VALUE_INT_NOTSET; // Warm Water one time function on/off + EMS_Boiler.wWCurFlow = EMS_VALUE_INT_NOTSET; + // UBATotalUptimeMessage + EMS_Boiler.UBAuptime = EMS_VALUE_LONG_NOTSET; // Total UBA working hours + + // UBAParametersMessage + EMS_Boiler.heating_temp = EMS_VALUE_INT_NOTSET; // Heating temperature setting on the boiler + EMS_Boiler.pump_mod_max = EMS_VALUE_INT_NOTSET; // Boiler circuit pump modulation max. power + EMS_Boiler.pump_mod_min = EMS_VALUE_INT_NOTSET; // Boiler circuit pump modulation min. power + + // calculated values EMS_Boiler.tapwaterActive = EMS_VALUE_INT_NOTSET; // Hot tap water is on/off EMS_Boiler.heatingActive = EMS_VALUE_INT_NOTSET; // Central heating is on/off + + // set boiler type + EMS_Boiler.product_id = 0; + strlcpy(EMS_Boiler.version, "not set", sizeof(EMS_Boiler.version)); + + // set thermostat model + EMS_Thermostat.model_id = EMS_MODEL_NONE; + EMS_Thermostat.product_id = 0; + strlcpy(EMS_Thermostat.version, "not set", sizeof(EMS_Thermostat.version)); + + // default logging is none + ems_setLogging(EMS_SYS_LOGGING_DEFAULT); } // Getters and Setters for parameters void ems_setPoll(bool b) { EMS_Sys_Status.emsPollEnabled = b; - myDebug("EMS Bus Poll is set to %s\n", EMS_Sys_Status.emsPollEnabled ? "enabled" : "disabled"); + myDebug("EMS Bus Poll is set to %s", EMS_Sys_Status.emsPollEnabled ? "enabled" : "disabled"); } bool ems_getPoll() { return EMS_Sys_Status.emsPollEnabled; } -/** - * ! Getters and Setters for parameters - */ -void ems_setTxEnabled(bool b) { - EMS_Sys_Status.emsTxEnabled = b; - myDebug("EMS Bus Tx is set to %s\n", EMS_Sys_Status.emsTxEnabled ? "enabled" : "disabled"); -} - -bool ems_getTxEnabled() { - return EMS_Sys_Status.emsTxEnabled; -} - -bool ems_getBoilerEnabled() { - return EMS_Sys_Status.emsBoilerEnabled; -} - bool ems_getEmsRefreshed() { return EMS_Sys_Status.emsRefreshed; } @@ -229,41 +262,49 @@ void ems_setEmsRefreshed(bool b) { EMS_Sys_Status.emsRefreshed = b; } -bool ems_getThermostatEnabled() { - return EMS_Sys_Status.emsThermostatEnabled; +bool ems_getBoilerEnabled() { + return (EMS_Boiler.type_id != EMS_ID_NONE); } -void ems_setThermostatEnabled(bool b) { - EMS_Sys_Status.emsThermostatEnabled = b; - myDebug("Thermostat is set to %s\n", EMS_Sys_Status.emsThermostatEnabled ? "enabled" : "disabled"); +bool ems_getThermostatEnabled() { + return (EMS_Thermostat.type_id != EMS_ID_NONE); +} + +uint8_t ems_getThermostatModel() { + return (EMS_Thermostat.model_id); +} + +bool ems_getTxCapable() { + if ((millis() - EMS_Sys_Status.emsPollTimestamp) > EMS_POLL_TIMEOUT) { + EMS_Sys_Status.emsTxCapable = false; + } + return EMS_Sys_Status.emsTxCapable; +} + +bool ems_getBusConnected() { + if ((millis() - EMS_Sys_Status.emsRxTimestamp) > EMS_BUS_TIMEOUT) { + EMS_Sys_Status.emsBusConnected = false; + } + return EMS_Sys_Status.emsBusConnected; } _EMS_SYS_LOGGING ems_getLogging() { return EMS_Sys_Status.emsLogging; } -uint8_t ems_getEmsTypesCount() { - return _EMS_Types_max; -} - -uint8_t ems_getThermostatTypesCount() { - return _Thermostat_Types_max; -} - void ems_setLogging(_EMS_SYS_LOGGING loglevel) { if (loglevel <= EMS_SYS_LOGGING_VERBOSE) { EMS_Sys_Status.emsLogging = loglevel; - myDebug("System Logging is set to "); if (loglevel == EMS_SYS_LOGGING_NONE) { - myDebug("None\n"); + myDebug("System Logging set to None"); } else if (loglevel == EMS_SYS_LOGGING_BASIC) { - myDebug("Basic\n"); + myDebug("System Logging set to Basic"); } else if (loglevel == EMS_SYS_LOGGING_VERBOSE) { - myDebug("Verbose\n"); + myDebug("System Logging set to Verbose"); } else if (loglevel == EMS_SYS_LOGGING_THERMOSTAT) { - myDebug("Thermostat only\n"); + myDebug("System Logging set to Thermostat only"); } else if (loglevel == EMS_SYS_LOGGING_RAW) { - myDebug("Raw mode\n"); + myDebug("System Logging set to Raw mode"); } } } @@ -271,6 +312,7 @@ void ems_setLogging(_EMS_SYS_LOGGING loglevel) { /** * Calculate CRC checksum using lookup table for speed * len is length of data in bytes (including the CRC byte at end) + * So its the complete telegram with the header */ uint8_t _crcCalculator(uint8_t * data, uint8_t len) { uint8_t crc = 0; @@ -284,7 +326,7 @@ uint8_t _crcCalculator(uint8_t * data, uint8_t len) { return crc; } -/** +/** * function to turn a telegram int (2 bytes) to a float. The source is *10 * negative values are stored as 1-compliment (https://medium.com/@LeeJulija/how-integers-are-stored-in-memory-using-twos-complement-5ba04d61a56c) */ @@ -301,13 +343,13 @@ float _toFloat(uint8_t i, uint8_t * data) { int16_t x = (data[i] << 8) + data[i + 1]; return ((float)(x)) / 10; } else { - // positive number + // ...a positive number return ((float)(((data[i] << 8) + data[i + 1]))) / 10; } } // function to turn a telegram long (3 bytes) to a long int -uint16_t _toLong(uint8_t i, uint8_t * data) { +uint32_t _toLong(uint8_t i, uint8_t * data) { return (((data[i]) << 16) + ((data[i + 1]) << 8) + (data[i + 2])); } @@ -329,25 +371,69 @@ int _ems_findType(uint8_t type) { return (typeFound ? i : -1); } +// like itoa but for hex, and quick +char * _hextoa(uint8_t value, char * buffer) { + char * p = buffer; + byte nib1 = (value >> 4) & 0x0F; + byte nib2 = (value >> 0) & 0x0F; + *p++ = nib1 < 0xA ? '0' + nib1 : 'A' + nib1 - 0xA; + *p++ = nib2 < 0xA ? '0' + nib2 : 'A' + nib2 - 0xA; + *p = '\0'; // null terminate just in case + return buffer; +} + +// for decimals 0 to 99, printed as a string +char * _smallitoa(uint8_t value, char * buffer) { + buffer[0] = ((value / 10) == 0) ? '0' : (value / 10) + '0'; + buffer[1] = (value % 10) + '0'; + buffer[2] = '\0'; + return buffer; +} + /** - * debug print a telegram to telnet console + * debug print a telegram to telnet/serial including the CRC * len is length in bytes including the CRC */ void _debugPrintTelegram(const char * prefix, uint8_t * data, uint8_t len, const char * color) { if (EMS_Sys_Status.emsLogging <= EMS_SYS_LOGGING_BASIC) return; - myDebug("%s%s telegram: ", color, prefix); + char output_str[300] = {0}; // roughly EMS_MAX_TELEGRAM_LENGTH*3 + 20 + char buffer[16] = {0}; + + unsigned long upt = millis(); + strlcpy(output_str, "(", sizeof(output_str)); + strlcat(output_str, COLOR_CYAN, sizeof(output_str)); + strlcat(output_str, _smallitoa((uint8_t)((upt / 3600000) % 24), buffer), sizeof(output_str)); + strlcat(output_str, ":", sizeof(output_str)); + strlcat(output_str, _smallitoa((uint8_t)((upt / 60000) % 60), buffer), sizeof(output_str)); + strlcat(output_str, ":", sizeof(output_str)); + strlcat(output_str, _smallitoa((uint8_t)((upt / 1000) % 60), buffer), sizeof(output_str)); + strlcat(output_str, COLOR_RESET, sizeof(output_str)); + strlcat(output_str, ") ", sizeof(output_str)); + + strlcat(output_str, color, sizeof(output_str)); + strlcat(output_str, prefix, sizeof(output_str)); + strlcat(output_str, " telegram: ", sizeof(output_str)); + for (int i = 0; i < len - 1; i++) { - myDebug("%02X ", data[i]); + strlcat(output_str, _hextoa(data[i], buffer), sizeof(output_str)); + strlcat(output_str, " ", sizeof(output_str)); // add space } - myDebug("(CRC=%02X", data[len - 1]); + + strlcat(output_str, "(CRC=", sizeof(output_str)); + strlcat(output_str, _hextoa(data[len - 1], buffer), sizeof(output_str)); + strlcat(output_str, ")", sizeof(output_str)); // print number of data bytes only if its a valid telegram if (len > 5) { - myDebug(", #data=%d", (len - 5)); + strlcat(output_str, ", #data=", sizeof(output_str)); + strlcat(output_str, itoa(len - 5, buffer, 10), sizeof(output_str)); } - myDebug(")%s\n", COLOR_RESET); + + strlcat(output_str, COLOR_RESET, sizeof(output_str)); + + myDebug(output_str); } /** @@ -366,34 +452,19 @@ void _ems_sendTelegram() { // if we're in raw mode just fire and forget if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_RAW) { - EMS_TxTelegram.data[EMS_TxTelegram.length - 1] = - _crcCalculator(EMS_TxTelegram.data, EMS_TxTelegram.length); // add the CRC - _debugPrintTelegram("Sending raw", EMS_TxTelegram.data, EMS_TxTelegram.length, COLOR_CYAN); // always show + EMS_TxTelegram.data[EMS_TxTelegram.length - 1] = _crcCalculator(EMS_TxTelegram.data, EMS_TxTelegram.length); // add the CRC + _debugPrintTelegram("Sending raw", EMS_TxTelegram.data, EMS_TxTelegram.length, COLOR_CYAN); // always show emsuart_tx_buffer(EMS_TxTelegram.data, EMS_TxTelegram.length); // send the telegram to the UART Tx - EMS_Sys_Status.emsTxStatus = EMS_TX_IDLE; // finished sending EMS_TxQueue.shift(); // remove from queue return; } - // if Tx is disabled, don't do anything and ignore the request - if (!EMS_Sys_Status.emsTxEnabled) { - myDebug("Tx is disabled. Ignoring %s request to 0x%02X.\n", - ((EMS_TxTelegram.action == EMS_TX_TELEGRAM_WRITE) ? "write" : "read"), - EMS_TxTelegram.dest & 0x7F); - EMS_Sys_Status.emsTxStatus = EMS_TX_IDLE; // finished sending - EMS_TxQueue.shift(); // remove from queue + // if there is no destination, also delete it from the queue + if (EMS_TxTelegram.dest == EMS_ID_NONE) { + EMS_TxQueue.shift(); // remove from queue return; } - // if this telegram has already been processed then skip it - // leave on queue until its processed later on - if (EMS_TxTelegram.hasSent) { - // myDebug("Already sent!"); - return; - } - - EMS_Sys_Status.emsTxStatus = EMS_TX_ACTIVE; - // create header EMS_TxTelegram.data[0] = EMS_ID_ME; // src // dest @@ -413,18 +484,19 @@ void _ems_sendTelegram() { // for writing its the value we want to write EMS_TxTelegram.data[4] = EMS_TxTelegram.dataValue; } - // finally calculate CRC and add it - EMS_TxTelegram.data[EMS_TxTelegram.length - 1] = _crcCalculator(EMS_TxTelegram.data, EMS_TxTelegram.length); + // finally calculate CRC and add it to the end + uint8_t crc = _crcCalculator(EMS_TxTelegram.data, EMS_TxTelegram.length); + EMS_TxTelegram.data[EMS_TxTelegram.length - 1] = crc; // print debug info if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_VERBOSE) { - char s[64]; + char s[64] = {0}; if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_WRITE) { - sprintf(s, "Sending write of type 0x%02X to 0x%02X:", EMS_TxTelegram.type, EMS_TxTelegram.dest & 0x7F); + snprintf(s, sizeof(s), "Sending write of type 0x%02X to 0x%02X:", EMS_TxTelegram.type, EMS_TxTelegram.dest & 0x7F); } else if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_READ) { - sprintf(s, "Sending read of type 0x%02X to 0x%02X:", EMS_TxTelegram.type, EMS_TxTelegram.dest & 0x7F); + snprintf(s, sizeof(s), "Sending read of type 0x%02X to 0x%02X:", EMS_TxTelegram.type, EMS_TxTelegram.dest & 0x7F); } else if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_VALIDATE) { - sprintf(s, "Sending validate of type 0x%02X to 0x%02X:", EMS_TxTelegram.type, EMS_TxTelegram.dest & 0x7F); + snprintf(s, sizeof(s), "Sending validate of type 0x%02X to 0x%02X:", EMS_TxTelegram.type, EMS_TxTelegram.dest & 0x7F); } _debugPrintTelegram(s, EMS_TxTelegram.data, EMS_TxTelegram.length, COLOR_CYAN); @@ -433,112 +505,137 @@ void _ems_sendTelegram() { // send the telegram to the UART Tx emsuart_tx_buffer(EMS_TxTelegram.data, EMS_TxTelegram.length); - EMS_Sys_Status.emsTxPkgs++; + EMS_Sys_Status.emsTxStatus = EMS_TX_STATUS_WAIT; +} - // dirty hack. we really shouldn't be changing values in the buffer directly. - EMS_TxTelegram.hasSent = true; - // if it was a write command, check if we need to do a new read to validate the results - // we do this by turning the last write into a read - if ((EMS_TxTelegram.action == EMS_TX_TELEGRAM_WRITE) && (EMS_TxTelegram.type_validate != EMS_ID_NONE)) { - // create a new Telegram copying from the last write - _EMS_TxTelegram new_EMS_TxTelegram; - - // copy details - new_EMS_TxTelegram.type_validate = EMS_TxTelegram.type_validate; - new_EMS_TxTelegram.dest = EMS_TxTelegram.dest; - new_EMS_TxTelegram.type = EMS_TxTelegram.type; - new_EMS_TxTelegram.action = EMS_TX_TELEGRAM_VALIDATE; - new_EMS_TxTelegram.offset = EMS_TxTelegram.comparisonOffset; // location of byte to fetch - new_EMS_TxTelegram.dataValue = 1; // fetch single byte - new_EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; // is always 6 bytes long (including CRC at end) - new_EMS_TxTelegram.comparisonValue = EMS_TxTelegram.comparisonValue; - new_EMS_TxTelegram.comparisonPostRead = EMS_TxTelegram.comparisonPostRead; - new_EMS_TxTelegram.comparisonOffset = EMS_TxTelegram.comparisonOffset; - new_EMS_TxTelegram.hasSent = false; - - // remove old telegram from queue and add this new read one - EMS_TxQueue.shift(); // remove from queue - EMS_TxQueue.unshift(new_EMS_TxTelegram); // add back to queue making it next in line +/** + * Takes the last write command and turns into a validate request + * placing it on the queue + */ +void _createValidate() { + if (EMS_TxQueue.isEmpty()) { + return; } - EMS_Sys_Status.emsTxStatus = EMS_TX_IDLE; + // release the Tx lock + EMS_Sys_Status.emsTxStatus = EMS_TX_STATUS_IDLE; + + // get the first in the queue, which is at the head + _EMS_TxTelegram EMS_TxTelegram = EMS_TxQueue.first(); + + // safety check: only do a validate after a write and when we have a type to validate + if ((EMS_TxTelegram.action != EMS_TX_TELEGRAM_WRITE) || (EMS_TxTelegram.type_validate == EMS_ID_NONE)) { + EMS_TxQueue.shift(); // remove from queue + return; + } + + // create a new Telegram copying from the last write + _EMS_TxTelegram new_EMS_TxTelegram; + new_EMS_TxTelegram.action = EMS_TX_TELEGRAM_VALIDATE; + + // copy old Write record + new_EMS_TxTelegram.type_validate = EMS_TxTelegram.type_validate; + new_EMS_TxTelegram.dest = EMS_TxTelegram.dest; + new_EMS_TxTelegram.type = EMS_TxTelegram.type; + new_EMS_TxTelegram.comparisonValue = EMS_TxTelegram.comparisonValue; + new_EMS_TxTelegram.comparisonPostRead = EMS_TxTelegram.comparisonPostRead; + new_EMS_TxTelegram.comparisonOffset = EMS_TxTelegram.comparisonOffset; + + // this is what is different + new_EMS_TxTelegram.offset = EMS_TxTelegram.comparisonOffset; // location of byte to fetch + new_EMS_TxTelegram.dataValue = 1; // fetch single byte + new_EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; // is always 6 bytes long (including CRC at end) + + // remove old telegram from queue and add this new read one + EMS_TxQueue.shift(); // remove from queue + EMS_TxQueue.unshift(new_EMS_TxTelegram); // add back to queue making it first to be picked up next (FIFO) } /** - * the main logic that parses the telegram message + * the main logic that parses the telegram message, triggered by an interrupt in emsuart.cpp * length is only data bytes, excluding the BRK * Read commands are asynchronous as they're handled by the interrupt - * When we receive a Poll Request we need to send any Tx packages quickly + * When we receive a Poll Request we need to send any Tx packages quickly within a 200ms window */ void ems_parseTelegram(uint8_t * telegram, uint8_t length) { // check if we just received a single byte - // it could well be a Poll request from the boiler which has an ID 0x8B (0x0B | 0x80 to set 8th bit) - // or either a return code like 0x01 or 0x04 from the last Write command issued + // it could well be a Poll request from the boiler to us which will have a value of 0x8B (0x0B | 0x80) + // or either a return code like 0x01 or 0x04 from the last Write command if (length == 1) { uint8_t value = telegram[0]; // 1st byte of data package // check first for a Poll for us if (value == (EMS_ID_ME | 0x80)) { - // set the timestamp of the last poll, we use this to see if we have a connection to the boiler - EMS_Sys_Status.emsBoilerEnabled = true; + EMS_Sys_Status.emsPollTimestamp = millis(); // store when we received a last poll + EMS_Sys_Status.emsTxCapable = true; - // do we have something to send thats waiting in the Tx queue? if so send it - if (!EMS_TxQueue.isEmpty()) { - _ems_sendTelegram(); // perform the read/write command + // do we have something to send thats waiting in the Tx queue? if so send it if the Queue is not in a wait state + if ((!EMS_TxQueue.isEmpty()) && (EMS_Sys_Status.emsTxStatus == EMS_TX_STATUS_IDLE)) { + _ems_sendTelegram(); // perform the read/write command immediately } else { // nothing to send so just send a poll acknowledgement back if (EMS_Sys_Status.emsPollEnabled) { emsaurt_tx_poll(); } } - } else if ((value == EMS_TX_ERROR) || (value == EMS_TX_SUCCESS)) { - // if its a success (01) or failure (04), then see if its from one of our last writes - // a response from UBA after a write should be within a specific time period < 100ms - // TODO what we should really do here is just cancel the write operation - if (!EMS_TxQueue.isEmpty()) { - _EMS_TxTelegram EMS_TxTelegram = EMS_TxQueue.first(); // get current Tx package we last sent - if ((EMS_TxTelegram.action == EMS_TX_TELEGRAM_VALIDATE) && (value == EMS_TX_ERROR)) { - if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_VERBOSE) { - myDebug("** Error: last write failed. removing write op from queue!\n"); - } - EMS_TxQueue.shift(); // write failed so remove from queue. pretty sloppy. + } else if (EMS_Sys_Status.emsTxStatus == EMS_TX_STATUS_WAIT) { + // this may be a single byte 01 (success) or 04 (error) from a recent write command? + if (value == EMS_TX_SUCCESS) { + EMS_Sys_Status.emsTxPkgs++; + // got a success 01. Send a validate to check the value of the last write + emsaurt_tx_poll(); // send a poll to free the EMS bus + _createValidate(); // create a validate Tx request (if needed) + } else if (value == EMS_TX_ERROR) { + // last write failed (04), delete it from queue and dont bother to retry + if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_VERBOSE) { + myDebug("** Write command failed from host"); } emsaurt_tx_poll(); // send a poll to free the EMS bus + _removeTxQueue(); // remove from queue } } - return; // all done here, quit. if we haven't processes anything its a poll but not for us + + return; // all done here } // ignore anything that doesn't resemble a proper telegram package // minimal is 5 bytes, excluding CRC at the end - /* - if (length < EMS_MIN_TELEGRAM_LENGTH - 1) { - _debugPrintTelegram("Noisy data:", telegram, length, COLOR_RED); + if (length <= 4) { + //_debugPrintTelegram("Noisy data:", telegram, length, COLOR_RED); return; } - */ - // Assume at this point we have something that vaguely resembles a telegram - // see if we got a telegram as [src] [dest] [type] [offset] [data] [crc] - // so is at least 6 bytes long and the CRC checks out (which is last byte) + // Assume at this point we have something that vaguely resembles a telegram in the format [src] [dest] [type] [offset] [data] [crc] + // validate the CRC, if its bad ignore it uint8_t crc = _crcCalculator(telegram, length); if (telegram[length - 1] != crc) { EMS_Sys_Status.emxCrcErr++; - _debugPrintTelegram("Corrupt telegram:", telegram, length, COLOR_RED); - } else { - // if we in raw mode then just output the telegram - if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_RAW) { - for (int i = 0; i < length; i++) { - myDebug("%02X ", telegram[i]); - } - myDebug("\n"); + if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_VERBOSE) { + _debugPrintTelegram("Corrupt telegram:", telegram, length, COLOR_RED); } - - // here we know its a valid incoming telegram of at least 6 bytes - // lets process it and see what to do next - _processType(telegram, length); + return; } + + // if we are in raw logging mode then just print out the telegram as it is + // but still continue to process it + if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_RAW) { + char raw[300] = {0}; + char buffer[16] = {0}; + for (int i = 0; i < length; i++) { + strlcat(raw, _hextoa(telegram[i], buffer), sizeof(raw)); + strlcat(raw, " ", sizeof(raw)); // add space + } + myDebug(raw); + } + + // here we know its a valid incoming telegram of at least 6 bytes + // we use this to see if we always have a connection to the boiler, in case of drop outs + EMS_Sys_Status.emsRxTimestamp = millis(); // timestamp of last read + EMS_Sys_Status.emsBusConnected = true; + + // now lets process it and see what to do next + _processType(telegram, length); } /** @@ -547,220 +644,289 @@ void ems_parseTelegram(uint8_t * telegram, uint8_t length) { */ void _ems_processTelegram(uint8_t * telegram, uint8_t length) { // header - uint8_t src = telegram[0] & 0x7F; - uint8_t dest = telegram[1] & 0x7F; // remove 8th bit to handle both reads and writes - uint8_t type = telegram[2]; - uint8_t * data = telegram + 4; // data block starts at position 5 + uint8_t src = telegram[0] & 0x7F; + uint8_t dest = telegram[1] & 0x7F; // remove 8th bit to handle both reads and writes + uint8_t type = telegram[2]; + uint8_t offset = telegram[3]; + uint8_t * data = telegram + 4; // data block starts at position 5 // print detailed telegram data if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_THERMOSTAT) { - char color_s[20]; - char src_s[20]; - char dest_s[20]; - char s[100]; + char output_str[300] = {0}; // roughly EMS_MAX_TELEGRAM_LENGTH*3 + 20 + char buffer[16] = {0}; + char color_s[20] = {0}; - // set source string - if (src == EMS_ID_BOILER) { - strcpy(src_s, "Boiler -> "); - } else if (src == EMS_ID_THERMOSTAT) { - strcpy(src_s, "Thermostat -> "); + // source + if (src == EMS_Boiler.type_id) { + strlcpy(output_str, "Boiler", sizeof(output_str)); + } else if (src == EMS_Thermostat.type_id) { + strlcpy(output_str, "Thermostat", sizeof(output_str)); } else { - sprintf(src_s, "0x%02X -> ", src); + strlcpy(output_str, "0x", sizeof(output_str)); + strlcat(output_str, _hextoa(src, buffer), sizeof(output_str)); } - // set destination string + strlcat(output_str, " -> ", sizeof(output_str)); + + // destination if (dest == EMS_ID_ME) { - strcpy(dest_s, "me"); - strcpy(color_s, COLOR_YELLOW); + strlcat(output_str, "me", sizeof(output_str)); + strlcpy(color_s, COLOR_YELLOW, sizeof(color_s)); } else if (dest == EMS_ID_NONE) { - // it's probably just a broadcast - strcpy(dest_s, "all"); - strcpy(color_s, COLOR_GREEN); - } else if (dest == EMS_ID_BOILER) { - strcpy(dest_s, "Boiler"); - strcpy(color_s, COLOR_MAGENTA); - } else if (dest == EMS_ID_THERMOSTAT) { - strcpy(dest_s, "Thermostat"); - strcpy(color_s, COLOR_MAGENTA); + strlcat(output_str, "all", sizeof(output_str)); + strlcpy(color_s, COLOR_GREEN, sizeof(color_s)); + } else if (dest == EMS_Boiler.type_id) { + strlcat(output_str, "Boiler", sizeof(output_str)); + strlcpy(color_s, COLOR_MAGENTA, sizeof(color_s)); + } else if (dest == EMS_Thermostat.type_id) { + strlcat(output_str, "Thermostat", sizeof(output_str)); + strlcpy(color_s, COLOR_MAGENTA, sizeof(color_s)); } else { - sprintf(dest_s, "0x%02X", dest); - strcpy(color_s, COLOR_MAGENTA); + strlcat(output_str, "0x", sizeof(output_str)); + strlcat(output_str, _hextoa(dest, buffer), sizeof(output_str)); + strlcpy(color_s, COLOR_MAGENTA, sizeof(color_s)); } - sprintf(s, "%s%s, type 0x%02X", src_s, dest_s, type); - // and print telegram + // type + strlcat(output_str, ", type 0x", sizeof(output_str)); + strlcat(output_str, _hextoa(type, buffer), sizeof(output_str)); if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_THERMOSTAT) { // only print ones to/from thermostat if logging is set to thermostat only - if ((src == EMS_ID_THERMOSTAT) || (dest == EMS_ID_THERMOSTAT)) { - _debugPrintTelegram(s, telegram, length, color_s); + if ((src == EMS_Thermostat.type_id) || (dest == EMS_Thermostat.type_id)) { + _debugPrintTelegram(output_str, telegram, length, color_s); } } else { - // allways print - _debugPrintTelegram(s, telegram, length, color_s); + // always print + _debugPrintTelegram(output_str, telegram, length, color_s); } } - // try and match it against known types and call the call handler function - // only process telegrams broadcasting to everyone or sent to us specifically - if ((dest == EMS_ID_ME) || (dest == EMS_ID_NONE)) { - int i = 0; - bool typeFound = false; - while (i < _EMS_Types_max) { - if (((EMS_Types[i].src == src) || (EMS_Types[i].src == EMS_ID_NONE)) && (EMS_Types[i].type == type)) { - // we have a match - typeFound = true; - // call callback to fetch the values from the telegram - // data block is sent, which starts with the 5th byte of the telegram - // return value tells us if we need to force send values back to MQTT - // the length is the #bytes of the data (excluding the header and CRC) - if ((EMS_Types[i].processType_cb) != (void *)NULL) { - // print non-verbose message - if ((EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_BASIC) - || (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_VERBOSE)) { - myDebug("<--- %s(0x%02X) received\n", EMS_Types[i].typeString, type); - } - (void)EMS_Types[i].processType_cb(data, length - 5); - } - break; + // see if we recognize the type first by scanning our known EMS types list + // trying to match the type ID + bool commonType = false; + bool typeFound = false; + bool forUs = false; + int i = 0; + + while (i < _EMS_Types_max) { + if (EMS_Types[i].type == type) { + typeFound = true; + commonType = (EMS_Types[i].model_id == EMS_MODEL_ALL); // is it common type for everyone? + forUs = (src == EMS_Boiler.type_id) || (src == EMS_Thermostat.type_id); // is it for us? So the src must match + break; + } + i++; + } + + // if it's a common type (across ems devices) or something specifically for us process it. + // dest will be EMS_ID_NONE and offset 0x00 for a broadcast message + if (typeFound && (commonType || forUs)) { + if ((EMS_Types[i].processType_cb) != (void *)NULL) { + // print non-verbose message + if ((EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_BASIC) || (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_VERBOSE)) { + myDebug("<--- %s(0x%02X) received", EMS_Types[i].typeString, type); + } + // call callback function to process it + // as we only handle complete telegrams (not partial) check that the offset is 0 + if (offset == EMS_ID_NONE) { + (void)EMS_Types[i].processType_cb(type, data, length - 5); } - i++; } } } +/** + * Remove current Tx telegram from queue and release lock on Tx + */ +void _removeTxQueue() { + if (!EMS_TxQueue.isEmpty()) { + EMS_TxQueue.shift(); // remove item from top of the queue + } + EMS_Sys_Status.emsTxStatus = EMS_TX_STATUS_IDLE; +} /** - * deciphers the telegram packet + * deciphers the telegram packet, which has already been checked for valid CRC and has a complete header (min of 5 bytes) * length is only data bytes, excluding the BRK * We only remove from the Tx queue if the read or write was successful */ void _processType(uint8_t * telegram, uint8_t length) { // header - uint8_t src = telegram[0] & 0x7F; // removing 8th bit as we deal with both reads and writes - uint8_t dest = telegram[1] & 0x7F; // remove 8th bit to handle both reads and writes - uint8_t type = telegram[2]; - uint8_t * data = telegram + 4; // data block starts at position 5 + uint8_t src = telegram[0] & 0x7F; // removing 8th bit as we deal with both reads and writes here - // if its an echo of ourselves from the master, ignore + // if its an echo of ourselves from the master UBA, ignore if (src == EMS_ID_ME) { - // _debugPrintTelegram("Telegram echo:", telegram, length, COLOR_BLUE); + //_debugPrintTelegram("Telegram echo:", telegram, length, COLOR_BLUE); return; } - // did we request this telegram? If so it would be a read or a validate telegram still on the Tx queue - // with the same type - // if its a validate check the value, or if its a read, update the Read counter - // then we can safely removed the read/validate from the queue - if ((dest == EMS_ID_ME) && (!EMS_TxQueue.isEmpty())) { - _EMS_TxTelegram EMS_TxTelegram = EMS_TxQueue.first(); // get current Tx package we last sent + // if its a broadcast and we didn't just send anything, process it and exit + if (EMS_Sys_Status.emsTxStatus == EMS_TX_STATUS_IDLE) { + _ems_processTelegram(telegram, length); + return; + } - // do the types match? If so we were expecting this response back to us - if (EMS_TxTelegram.type == type) { - emsaurt_tx_poll(); // send Acknowledgement back to free the EMS bus + // release the lock on the TxQueue + EMS_Sys_Status.emsTxStatus = EMS_TX_STATUS_IDLE; - // if last action was a read, where just happy that we got a response back - if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_READ) { - EMS_Sys_Status.emsRxPgks++; // increment rx counter - emsRxRetryCount = 0; // reset retry count - _ems_processTelegram(telegram, length); // and process it - if (EMS_TxTelegram.forceRefresh) { - ems_setEmsRefreshed(true); // set the MQTT refresh flag to force sending to MQTT + // at this point we can assume Txstatus is EMS_TX_STATUS_WAIT so we just sent a read/write/validate + // for READ, WRITE or VALIDATE the dest (telegram[1]) is always us, so check for this + // and if not we probably didn't get any response so remove the last Tx from the queue and process the telegram anyway + if ((telegram[1] & 0x7F) != EMS_ID_ME) { + _removeTxQueue(); + _ems_processTelegram(telegram, length); + return; + } + + // first double check we actually have something in the queue + if (EMS_TxQueue.isEmpty()) { + _ems_processTelegram(telegram, length); + return; + } + + // get the Tx telegram we just sent + _EMS_TxTelegram EMS_TxTelegram = EMS_TxQueue.first(); + + // check action + // if READ, match the current inbound telegram to what we sent + // if WRITE, should not happen + // if VALIDATE, check the contents + if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_READ) { + uint8_t type = telegram[2]; + if ((src == EMS_TxTelegram.dest) && (type == EMS_TxTelegram.type)) { + // all checks out, read was successful, remove tx from queue and continue to process telegram + _removeTxQueue(); + EMS_Sys_Status.emsRxPgks++; // increment counter + // myDebug("** Read from 0x%02X ok", type); + ems_setEmsRefreshed(EMS_TxTelegram.forceRefresh); // does mqtt need refreshing? + } else { + // read not OK, we didn't get back a telegram we expected + // leave on queue and try again, but continue to process what we received as it may be important + EMS_Sys_Status.txRetryCount++; + // if retried too many times, give up and remove it + if (EMS_Sys_Status.txRetryCount >= TX_WRITE_TIMEOUT_COUNT) { + if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { + myDebug("Read failed. Giving up, removing from queue"); } - EMS_TxQueue.shift(); // remove read from queue - } else if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_VALIDATE) { - // this read was for a validate. Do a compare on the 1 byte result from the last write - uint8_t dataReceived = data[0]; // only a single byte is returned after a read - if (EMS_TxTelegram.comparisonValue == dataReceived) { - // there is a match, so write must have been successful - EMS_TxQueue.shift(); // remove validate from queue - if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { - myDebug("Write to 0x%02X successful.\n", EMS_TxTelegram.dest); - } - ems_doReadCommand(EMS_TxTelegram.comparisonPostRead, - EMS_TxTelegram.dest, - true); // get values and force a refresh to MQTT - } else { - // write failed. - if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { - myDebug("Last write failed. Compared set value 0x%02X with received value 0x%02X. ", - EMS_TxTelegram.comparisonValue, - dataReceived); - } - if (emsRxRetryCount++ >= RX_READ_TIMEOUT_COUNT) { - // give up - if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { - myDebug("Giving up!\n"); - } - EMS_TxQueue.shift(); // remove from queue - } else { - // retry, turn the validate back into a write and try again - if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { - myDebug("Retrying attempt %d...\n", emsRxRetryCount); - } - EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; - EMS_TxTelegram.dataValue = EMS_TxTelegram.comparisonValue; // restore old value - EMS_TxTelegram.offset = EMS_TxTelegram.comparisonOffset; // restore old value - EMS_TxQueue.shift(); // remove validate from queue - EMS_TxQueue.unshift(EMS_TxTelegram); // add back to queue making it next in line - } + _removeTxQueue(); + } else { + if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { + myDebug("...Retrying read. Attempt %d/%d...", EMS_Sys_Status.txRetryCount, TX_WRITE_TIMEOUT_COUNT); } } } - // telegram was for us, but seems we didn't ask for it - } else { - // we didn't request it - _ems_processTelegram(telegram, length); // and process and print it + _ems_processTelegram(telegram, length); // process it always } + + if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_WRITE) { + // should not get here, since this is handled earlier receiving a 01 or 04 + myDebug("** Error ! Write - should not be here"); + } + + if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_VALIDATE) { + // this is a read telegram which we use to validate the last write + uint8_t * data = telegram + 4; // data block starts at position 5 + uint8_t dataReceived = data[0]; // only a single byte is returned after a read + if (EMS_TxTelegram.comparisonValue == dataReceived) { + // validate was successful, the write changed the value + _removeTxQueue(); // now we can remove the Tx validate command the queue + if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { + myDebug("Write to 0x%02X was successful", EMS_TxTelegram.dest); + } + // follow up with the post read command + ems_doReadCommand(EMS_TxTelegram.comparisonPostRead, EMS_TxTelegram.dest, true); + } else { + // write failed + if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { + myDebug("Last write failed. Compared set value 0x%02X with received value 0x%02X", + EMS_TxTelegram.comparisonValue, + dataReceived); + } + if (++EMS_Sys_Status.txRetryCount > TX_WRITE_TIMEOUT_COUNT) { + if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { + myDebug("Write failed. Giving up, removing from queue"); + } + _removeTxQueue(); + } else { + // retry, turn the validate back into a write and try again + if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { + myDebug("...Retrying write. Attempt %d/%d...", EMS_Sys_Status.txRetryCount, TX_WRITE_TIMEOUT_COUNT); + } + EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; + EMS_TxTelegram.dataValue = EMS_TxTelegram.comparisonValue; // restore old value + EMS_TxTelegram.offset = EMS_TxTelegram.comparisonOffset; // restore old value + EMS_TxQueue.shift(); // remove validate from queue + EMS_TxQueue.unshift(EMS_TxTelegram); // add back to queue making it next in line + } + } + } + + emsaurt_tx_poll(); // send Acknowledgement back to free the EMS bus since we have the telegram } + /** * Check if hot tap water or heating is active - * using a quick hack: - * heating is on if Selected Flow Temp >= 70 (in my case) - * tap water is on if Selected Flow Temp = 0 and Selected Burner Power >= 115 + * using a quick hack for checking the heating. Selected Flow Temp >= 70 */ -bool _checkActive() { - // hot tap water - EMS_Boiler.tapwaterActive = - ((EMS_Boiler.selFlowTemp == 0) - && (EMS_Boiler.selBurnPow >= EMS_BOILER_BURNPOWER_TAPWATER) & (EMS_Boiler.burnGas == EMS_VALUE_INT_ON)); +void _checkActive() { + // hot tap water, using flow to check insread of the burner power + EMS_Boiler.tapwaterActive = ((EMS_Boiler.wWCurFlow != 0) && (EMS_Boiler.burnGas == EMS_VALUE_INT_ON)); // heating - EMS_Boiler.heatingActive = - ((EMS_Boiler.selFlowTemp >= EMS_BOILER_SELFLOWTEMP_HEATING) && (EMS_Boiler.burnGas == EMS_VALUE_INT_ON)); + EMS_Boiler.heatingActive = ((EMS_Boiler.selFlowTemp >= EMS_BOILER_SELFLOWTEMP_HEATING) && (EMS_Boiler.burnGas == EMS_VALUE_INT_ON)); } /** * UBAParameterWW - type 0x33 - warm water parameters * received only after requested (not broadcasted) */ -void _process_UBAParameterWW(uint8_t * data, uint8_t length) { +void _process_UBAParameterWW(uint8_t type, uint8_t * data, uint8_t length) { EMS_Boiler.wWActivated = (data[1] == 0xFF); // 0xFF means on EMS_Boiler.wWSelTemp = data[2]; EMS_Boiler.wWCircPump = (data[6] == 0xFF); // 0xFF means on EMS_Boiler.wWDesiredTemp = data[8]; + EMS_Boiler.wWComfort = (data[EMS_OFFSET_UBAParameterWW_wwComfort] == 0x00); - // when we receieve this, lets force an MQTT publish - EMS_Sys_Status.emsRefreshed = true; + EMS_Sys_Status.emsRefreshed = true; // when we receieve this, lets force an MQTT publish +} + +/** + * UBATotalUptimeMessage - type 0x14 - total uptime + * received only after requested (not broadcasted) + */ +void _process_UBATotalUptimeMessage(uint8_t type, uint8_t * data, uint8_t length) { + EMS_Boiler.UBAuptime = _toLong(0, data); + EMS_Sys_Status.emsRefreshed = true; // when we receieve this, lets force an MQTT publish +} + +/* + * UBAParametersMessage - type 0x16 + */ +void _process_UBAParametersMessage(uint8_t type, uint8_t * data, uint8_t length) { + EMS_Boiler.heating_temp = data[1]; + EMS_Boiler.pump_mod_max = data[9]; + EMS_Boiler.pump_mod_min = data[10]; } /** * UBAMonitorWWMessage - type 0x34 - warm water monitor. 19 bytes long * received every 10 seconds */ -void _process_UBAMonitorWWMessage(uint8_t * data, uint8_t length) { +void _process_UBAMonitorWWMessage(uint8_t type, uint8_t * data, uint8_t length) { EMS_Boiler.wWCurTmp = _toFloat(1, data); EMS_Boiler.wWStarts = _toLong(13, data); EMS_Boiler.wWWorkM = _toLong(10, data); EMS_Boiler.wWOneTime = bitRead(data[5], 1); + EMS_Boiler.wWCurFlow = data[9]; } /** * UBAMonitorFast - type 0x18 - central heating monitor part 1 (25 bytes long) * received every 10 seconds */ -void _process_UBAMonitorFast(uint8_t * data, uint8_t length) { +void _process_UBAMonitorFast(uint8_t type, uint8_t * data, uint8_t length) { EMS_Boiler.selFlowTemp = data[0]; EMS_Boiler.curFlowTemp = _toFloat(1, data); EMS_Boiler.retTemp = _toFloat(13, data); @@ -778,6 +944,10 @@ void _process_UBAMonitorFast(uint8_t * data, uint8_t length) { EMS_Boiler.flameCurr = _toFloat(15, data); + // read the service code / installation status as appears on the display + EMS_Boiler.serviceCodeChar[0] = char(data[18]); // ascii character 1 + EMS_Boiler.serviceCodeChar[1] = char(data[19]); // ascii character 2 + if (data[17] == 0xFF) { // missing value for system pressure EMS_Boiler.sysPress = 0; } else { @@ -785,14 +955,14 @@ void _process_UBAMonitorFast(uint8_t * data, uint8_t length) { } // at this point do a quick check to see if the hot water or heating is active - (void)_checkActive(); + _checkActive(); } /** * UBAMonitorSlow - type 0x19 - central heating monitor part 2 (27 bytes long) * received every 60 seconds */ -void _process_UBAMonitorSlow(uint8_t * data, uint8_t length) { +void _process_UBAMonitorSlow(uint8_t type, uint8_t * data, uint8_t length) { EMS_Boiler.extTemp = _toFloat(0, data); // 0x8000 if not available EMS_Boiler.boilTemp = _toFloat(2, data); // 0x8000 if not available EMS_Boiler.pumpMod = data[9]; @@ -801,106 +971,295 @@ void _process_UBAMonitorSlow(uint8_t * data, uint8_t length) { EMS_Boiler.heatWorkMin = _toLong(19, data); } + /** - * RC20StatusMessage - type 0x91 - data from the RC20 thermostat (0x17) - 15 bytes long + * type 0xB1 - data from the RC10 thermostat (0x17) * For reading the temp values only * received every 60 seconds */ -void _process_RC20StatusMessage(uint8_t * data, uint8_t length) { - EMS_Thermostat.setpoint_roomTemp = ((float)data[1]) / (float)2; - EMS_Thermostat.curr_roomTemp = _toFloat(2, data); +void _process_RC10StatusMessage(uint8_t type, uint8_t * data, uint8_t length) { + EMS_Thermostat.setpoint_roomTemp = ((float)data[EMS_TYPE_RC10StatusMessage_setpoint]) / (float)2; + EMS_Thermostat.curr_roomTemp = ((float)data[EMS_TYPE_RC10StatusMessage_curr]) / (float)10; - EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back to Home Assistant via MQTT + EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back via MQTT } /** - * RC30StatusMessage - type 0x41 - data from the RC30 thermostat (0x10) - 14 bytes long + * type 0x91 - data from the RC20 thermostat (0x17) - 15 bytes long * For reading the temp values only * received every 60 seconds */ -void _process_RC30StatusMessage(uint8_t * data, uint8_t length) { - EMS_Thermostat.setpoint_roomTemp = ((float)data[1]) / (float)2; - EMS_Thermostat.curr_roomTemp = _toFloat(2, data); +void _process_RC20StatusMessage(uint8_t type, uint8_t * data, uint8_t length) { + EMS_Thermostat.setpoint_roomTemp = ((float)data[EMS_TYPE_RC20StatusMessage_setpoint]) / (float)2; + EMS_Thermostat.curr_roomTemp = _toFloat(EMS_TYPE_RC20StatusMessage_curr, data); - EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back to Home Assistant via MQTT + EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back via MQTT } /** - * EasyStatusMessage - type 0x0A - data from the Nefit Easy/TC100 thermostat (0x18) - 31 bytes long + * type 0x41 - data from the RC30 thermostat (0x10) - 14 bytes long + * For reading the temp values only + * received every 60 seconds + */ +void _process_RC30StatusMessage(uint8_t type, uint8_t * data, uint8_t length) { + EMS_Thermostat.setpoint_roomTemp = ((float)data[EMS_TYPE_RC30StatusMessage_setpoint]) / (float)2; + EMS_Thermostat.curr_roomTemp = _toFloat(EMS_TYPE_RC30StatusMessage_curr, data); + + EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back via MQTT +} + +/** + * type 0x3E - data from the RC35 thermostat (0x10) - 16 bytes + * For reading the temp values only + * received every 60 seconds + */ +void _process_RC35StatusMessage(uint8_t type, uint8_t * data, uint8_t length) { + EMS_Thermostat.setpoint_roomTemp = ((float)data[EMS_TYPE_RC35StatusMessage_setpoint]) / (float)2; + + // check if temp sensor is unavailable + if ((data[0] == 0x7D) && (data[1] = 0x00)) { + EMS_Thermostat.curr_roomTemp = EMS_VALUE_FLOAT_NOTSET; + } else { + EMS_Thermostat.curr_roomTemp = _toFloat(EMS_TYPE_RC35StatusMessage_curr, data); + } + EMS_Thermostat.day_mode = bitRead(data[EMS_OFFSET_RC35Get_mode_day], 1); //get day mode flag + EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back via MQTT +} + +/** + * type 0x0A - data from the Nefit Easy/TC100 thermostat (0x18) - 31 bytes long * The Easy has a digital precision of its floats to 2 decimal places, so values is divided by 100 */ -void _process_EasyStatusMessage(uint8_t * data, uint8_t length) { - EMS_Thermostat.curr_roomTemp = ((float)(((data[8] << 8) + data[9]))) / 100; - EMS_Thermostat.setpoint_roomTemp = ((float)(((data[10] << 8) + data[11]))) / 100; +void _process_EasyStatusMessage(uint8_t type, uint8_t * data, uint8_t length) { + EMS_Thermostat.curr_roomTemp = ((float)(((data[EMS_TYPE_EasyStatusMessage_curr] << 8) + data[9]))) / 100; + EMS_Thermostat.setpoint_roomTemp = ((float)(((data[EMS_TYPE_EasyStatusMessage_setpoint] << 8) + data[11]))) / 100; - EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back to Home Assistant via MQTT + EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back via MQTT } /** - * RC20Temperature - type 0xA8 - for reading the mode from the RC20 thermostat (0x17) + * type 0xB0 - for reading the mode from the RC10 thermostat (0x17) * received only after requested */ -void _process_RC20Set(uint8_t * data, uint8_t length) { +void _process_RC10Set(uint8_t type, uint8_t * data, uint8_t length) { + // mode not implemented yet +} + +/** + * type 0xA8 - for reading the mode from the RC20 thermostat (0x17) + * received only after requested + */ +void _process_RC20Set(uint8_t type, uint8_t * data, uint8_t length) { EMS_Thermostat.mode = data[EMS_OFFSET_RC20Set_mode]; } /** - * RC30Temperature - type 0xA7 - for reading the mode from the RC30 thermostat (0x10) + * type 0xA7 - for reading the mode from the RC30 thermostat (0x10) * received only after requested */ -void _process_RC30Set(uint8_t * data, uint8_t length) { +void _process_RC30Set(uint8_t type, uint8_t * data, uint8_t length) { EMS_Thermostat.mode = data[EMS_OFFSET_RC30Set_mode]; } /** - * RCOutdoorTempMessage - type 0xA3 - for external temp settings from the the RC* thermostats + * type 0x3D - for reading the mode from the RC35 thermostat (0x10) + * Working Mode Heating Circuit 1 (HC1) + * received only after requested */ -void _process_RCOutdoorTempMessage(uint8_t * data, uint8_t length) { +void _process_RC35Set(uint8_t type, uint8_t * data, uint8_t length) { + EMS_Thermostat.mode = data[EMS_OFFSET_RC35Set_mode]; +} + +/** + * type 0xA3 - for external temp settings from the the RC* thermostats + */ +void _process_RCOutdoorTempMessage(uint8_t type, uint8_t * data, uint8_t length) { // add support here if you're reading external sensors } /** - * Version - type 0x02 - get the firmware version and type of a EMS device (Boiler, Thermostat etc) - * When a thermostat is connecting it will send out 0x02 messages too, which we'll ignore - * We don't bother storing these values anywhere, just print them for now - * Moduline 300, Type 77. Version 3.03 - * Moduline 400, Type 78, Version 3.03 - * Nefit Easy = Type 202. Version 2.19 - * Nefit Trendline HRC30 = Type 123. Version 6.1 + * type 0x02 - get the firmware version and type of an EMS device + * look up known devices via the product id and setup if not already set */ -void _process_Version(uint8_t * data, uint8_t length) { +void _process_Version(uint8_t type, uint8_t * data, uint8_t length) { // ignore short messages that we can't interpret - if (length >= 3) { - uint8_t type = data[0]; - uint8_t major = data[1]; - uint8_t minor = data[2]; - if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { - myDebug("Product ID %d. Version %02d.%02d\n", type, major, minor); + if (length < 3) { + return; + } + + bool do_save = false; + uint8_t product_id = data[0]; + char version[10] = {0}; + snprintf(version, sizeof(version), "%02d.%02d", data[1], data[2]); + + // see if its a known boiler + int i = 0; + bool typeFound = false; + while (i < _Boiler_Types_max) { + if (Boiler_Types[i].product_id == product_id) { + typeFound = true; // we have a matching product id. i is the index. + break; } + i++; + } + + if (typeFound) { + // its a boiler + myDebug("Boiler type device found. Model %s with TypeID 0x%02X, Product ID %d, Version %s", + Boiler_Types[i].model_string, + Boiler_Types[i].type_id, + product_id, + version); + + // if its a boiler set it + // it will take the first one found in the list + if ((EMS_Boiler.type_id == EMS_ID_NONE) || (EMS_Boiler.type_id == Boiler_Types[i].type_id)) { + myDebug("* Setting Boiler type to Model %s, TypeID 0x%02X, Product ID %d, Version %s", + Boiler_Types[i].model_string, + Boiler_Types[i].type_id, + product_id, + version); + + EMS_Boiler.type_id = Boiler_Types[i].type_id; + EMS_Boiler.product_id = Boiler_Types[i].product_id; + strlcpy(EMS_Boiler.version, version, sizeof(EMS_Boiler.version)); + + do_save = true; + + ems_getBoilerValues(); // get Boiler values that we would usually have to wait for + } + return; + } + + // its not a boiler, maybe its a known thermostat? + i = 0; + while (i < _Thermostat_Types_max) { + if (Thermostat_Types[i].product_id == product_id) { + typeFound = true; // we have a matching product id. i is the index. + break; + } + i++; + } + + if (typeFound) { + // its a known thermostat + if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { + myDebug("Thermostat found. Model %s with TypeID 0x%02X, Product ID %d, Version %s", + Thermostat_Types[i].model_string, + Thermostat_Types[i].type_id, + product_id, + version); + } + + // if we don't have a thermostat set, use this one + if ((EMS_Thermostat.type_id == EMS_ID_NONE) || (EMS_Thermostat.model_id == EMS_MODEL_NONE) + || (EMS_Thermostat.type_id == Thermostat_Types[i].type_id)) { + myDebug("* Setting Thermostat type to Model %s, TypeID 0x%02X, Product ID %d, Version %s", + Thermostat_Types[i].model_string, + Thermostat_Types[i].type_id, + product_id, + version); + + EMS_Thermostat.model_id = Thermostat_Types[i].model_id; + EMS_Thermostat.type_id = Thermostat_Types[i].type_id; + EMS_Thermostat.read_supported = Thermostat_Types[i].read_supported; + EMS_Thermostat.write_supported = Thermostat_Types[i].write_supported; + EMS_Thermostat.product_id = product_id; + strlcpy(EMS_Thermostat.version, version, sizeof(EMS_Thermostat.version)); + + do_save = true; + + // get Thermostat values (if supported) + ems_getThermostatValues(); + } + } else { + myDebug("Unrecognized device found. TypeID 0x%02X, Product ID %d, Version %s", type, product_id, version); + } + + // if the boiler or thermostat values have changed, save them to SPIFFS + if (do_save) { + myESP.fs_saveConfig(); } } -/** - * UBASetPoint 0x1A, for RC20 +/* + * Figure out the boiler and thermostat types */ -void _process_SetPoints(uint8_t * data, uint8_t length) { - if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_THERMOSTAT) { +void ems_discoverModels() { + // boiler + ems_doReadCommand(EMS_TYPE_Version, EMS_Boiler.type_id); // get version details of boiler + + // thermostat + // if it hasn't been set, auto discover it + if (EMS_Thermostat.type_id == EMS_ID_NONE) { + ems_scanDevices(); // auto-discover it + } else { + // set the model as hardcoded (see my_devices.h) and fetch the version and product id + ems_doReadCommand(EMS_TYPE_Version, EMS_Thermostat.type_id); + } +} + +/* + * Given a thermostat model ID go and fetch its characteristics + */ +void _ems_setThermostatModel(uint8_t thermostat_modelid) { + bool found = false; + uint8_t i = 0; + const _Thermostat_Type * thermostat_type; + while (i < _Thermostat_Types_max) { + thermostat_type = &Thermostat_Types[i]; + if (thermostat_type->model_id == thermostat_modelid) { + found = true; // we have a matching product id + break; + } + i++; + } + + if (!found) { + if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { + myDebug("Unknown thermostat model specified. Trying a scan..."); + } + ems_scanDevices(); // auto-discover it + return; + } + + // set the thermostat + if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { + myDebug("Setting Thermostat. Model %s with TypeID 0x%02X, Product ID %d", + thermostat_type->model_string, + thermostat_type->type_id, + thermostat_type->product_id); + } + + // set its capabilities + EMS_Thermostat.model_id = thermostat_type->model_id; + EMS_Thermostat.type_id = thermostat_type->type_id; + EMS_Thermostat.read_supported = thermostat_type->read_supported; + EMS_Thermostat.write_supported = thermostat_type->write_supported; +} + +/** + * UBASetPoint 0x1A + */ +void _process_SetPoints(uint8_t type, uint8_t * data, uint8_t length) { + /* + if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_VERBOSE) { if (length != 0) { uint8_t setpoint = data[0]; uint8_t hk_power = data[1]; uint8_t ww_power = data[2]; - myDebug(" SetPoint=%d, hk_power=%d ww_power=%d\n", setpoint, hk_power, ww_power); + myDebug(" SetPoint=%d, hk_power=%d, ww_power=%d", setpoint, hk_power, ww_power); } - myDebug("\n"); } + */ } /** * process_RCTime - type 0x06 - date and time from a thermostat - 14 bytes long * common for all thermostats */ -void _process_RCTime(uint8_t * data, uint8_t length) { - if (EMS_Thermostat.type == EMS_ID_THERMOSTAT_EASY) { +void _process_RCTime(uint8_t type, uint8_t * data, uint8_t length) { + if ((EMS_Thermostat.model_id == EMS_MODEL_EASY) || (EMS_Thermostat.model_id == EMS_MODEL_BOSCHEASY)) { return; // not supported } @@ -910,16 +1269,6 @@ void _process_RCTime(uint8_t * data, uint8_t length) { EMS_Thermostat.day = data[3]; EMS_Thermostat.month = data[1]; EMS_Thermostat.year = data[0]; - - // we can optional set the time based on the thermostat's time if we want. - /* - setTime(EMS_Thermostat.hour, - EMS_Thermostat.minute, - EMS_Thermostat.second, - EMS_Thermostat.day, - EMS_Thermostat.month, - EMS_Thermostat.year + 2000); - */ } /** @@ -927,27 +1276,41 @@ void _process_RCTime(uint8_t * data, uint8_t length) { */ void ems_printTxQueue() { _EMS_TxTelegram EMS_TxTelegram; - char sType[20]; + char sType[20] = {0}; - myDebug("Tx queue (%d/%d)\n", EMS_TxQueue.size(), EMS_TxQueue.capacity); + if (EMS_TxQueue.size() == 0) { + myDebug("Tx queue is empty."); + return; + } + + myDebug("Tx queue (%d/%d)", EMS_TxQueue.size(), EMS_TxQueue.capacity); for (byte i = 0; i < EMS_TxQueue.size(); i++) { EMS_TxTelegram = EMS_TxQueue[i]; // retrieves the i-th element from the buffer without removing it // get action if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_WRITE) { - strcpy(sType, "write"); + strlcpy(sType, "write", sizeof(sType)); } else if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_READ) { - strcpy(sType, "read"); + strlcpy(sType, "read", sizeof(sType)); } else if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_VALIDATE) { - strcpy(sType, "validate"); + strlcpy(sType, "validate", sizeof(sType)); } else { - strcpy(sType, "?"); + strlcpy(sType, "?", sizeof(sType)); } + char addedTime[15] = {0}; + unsigned long upt = EMS_TxTelegram.timestamp; + snprintf(addedTime, + sizeof(addedTime), + "(%02d:%02d:%02d)", + (uint8_t)((upt / (1000 * 60 * 60)) % 24), + (uint8_t)((upt / (1000 * 60)) % 60), + (uint8_t)((upt / 1000) % 60)); + myDebug(" [%d] action=%s dest=0x%02x type=0x%02x offset=%d length=%d dataValue=%d " - "comparisonValue=%d hasSent=%d, type_validate=0x%02x comparisonPostRead=0x%02x\n", - i, + "comparisonValue=%d type_validate=0x%02x comparisonPostRead=0x%02x @ %s", + i + 1, sType, EMS_TxTelegram.dest & 0x7F, EMS_TxTelegram.type, @@ -955,45 +1318,156 @@ void ems_printTxQueue() { EMS_TxTelegram.length, EMS_TxTelegram.dataValue, EMS_TxTelegram.comparisonValue, - EMS_TxTelegram.hasSent, EMS_TxTelegram.type_validate, - EMS_TxTelegram.comparisonPostRead); + EMS_TxTelegram.comparisonPostRead, + addedTime); } } /** - * Generic function to return temperature settings from the thermostat - * Supports RC20, RC30 and Easy + * Generic function to return various settings from the thermostat */ void ems_getThermostatValues() { - if (EMS_Thermostat.type == EMS_ID_THERMOSTAT_RC20) { - ems_doReadCommand(EMS_TYPE_RC20StatusMessage, EMS_ID_THERMOSTAT); // to get the setpoint temp - ems_doReadCommand(EMS_TYPE_RC20Set, EMS_ID_THERMOSTAT); // to get the mode - } else if (EMS_Thermostat.type == EMS_ID_THERMOSTAT_RC30) { - ems_doReadCommand(EMS_TYPE_RC30StatusMessage, EMS_ID_THERMOSTAT); // to get the setpoint temp - ems_doReadCommand(EMS_TYPE_RC30Set, EMS_ID_THERMOSTAT); // to get the mode - } else if (EMS_Thermostat.type == EMS_ID_THERMOSTAT_EASY) { - ems_doReadCommand(EMS_TYPE_EasyStatusMessage, EMS_ID_THERMOSTAT); + if (!ems_getThermostatEnabled()) { + return; } + + if (!EMS_Thermostat.read_supported) { + myDebug("Read operations not yet supported for this model thermostat"); + return; + } + + uint8_t model_id = EMS_Thermostat.model_id; + uint8_t type = EMS_Thermostat.type_id; + + if (model_id == EMS_MODEL_RC20) { + ems_doReadCommand(EMS_TYPE_RC20StatusMessage, type); // to get the setpoint temp + ems_doReadCommand(EMS_TYPE_RC20Set, type); // to get the mode + } else if (model_id == EMS_MODEL_RC30) { + ems_doReadCommand(EMS_TYPE_RC30StatusMessage, type); // to get the setpoint temp + ems_doReadCommand(EMS_TYPE_RC30Set, type); // to get the mode + } else if ((model_id == EMS_MODEL_RC35) || (model_id == EMS_MODEL_ES73)) { + ems_doReadCommand(EMS_TYPE_RC35StatusMessage, type); // to get the setpoint temp + ems_doReadCommand(EMS_TYPE_RC35Set, type); // to get the mode + } else if ((model_id == EMS_MODEL_EASY) || (model_id == EMS_MODEL_BOSCHEASY)) { + ems_doReadCommand(EMS_TYPE_EasyStatusMessage, type); + } + + ems_doReadCommand(EMS_TYPE_RCTime, type); // get Thermostat time } /** - * print out current thermostat type + * Generic function to return various settings from the thermostat */ -void ems_printThermostatType() { - int i = 0; - bool typeFound = false; - while (i < _Thermostat_Types_max) { - if (Thermostat_Types[i].id == EMS_ID_THERMOSTAT) { - typeFound = true; // we have a match - break; - } - i++; - } - if (typeFound) { - myDebug("%s [ID 0x%02X]", Thermostat_Types[i].typeString, Thermostat_Types[i].id); +void ems_getBoilerValues() { + ems_doReadCommand(EMS_TYPE_UBAMonitorFast, EMS_Boiler.type_id); // get boiler stats, instead of waiting 10secs for the broadcast + ems_doReadCommand(EMS_TYPE_UBAMonitorSlow, EMS_Boiler.type_id); // get more boiler stats, instead of waiting 60secs for the broadcast + ems_doReadCommand(EMS_TYPE_UBAParameterWW, EMS_Boiler.type_id); // get Warm Water values + ems_doReadCommand(EMS_TYPE_UBAParametersMessage, EMS_Boiler.type_id); // get MC10 boiler values + ems_doReadCommand(EMS_TYPE_UBATotalUptimeMessage, EMS_Boiler.type_id); // get uptime from boiler +} + +/** + * returns current thermostat type as a string + */ +char * ems_getThermostatDescription(char * buffer) { + uint8_t size = 128; + if (!ems_getThermostatEnabled()) { + strlcpy(buffer, "", size); } else { - myDebug("Unknown? [ID 0x%02X]", Thermostat_Types[i].id); + // find the boiler details + int i = 0; + bool found = false; + + // scan through known ID types + while (i < _Thermostat_Types_max) { + if (Thermostat_Types[i].product_id == EMS_Thermostat.product_id) { + found = true; // we have a match + break; + } + i++; + } + if (found) { + strlcpy(buffer, Thermostat_Types[i].model_string, size); + } else { + strlcpy(buffer, "Generic Type", size); + } + + char tmp[6] = {0}; + strlcat(buffer, " [Type ID: 0x", size); + strlcat(buffer, _hextoa(EMS_Thermostat.type_id, tmp), size); + strlcat(buffer, "] Product ID:", size); + strlcat(buffer, itoa(EMS_Thermostat.product_id, tmp, 10), size); + strlcat(buffer, " Version:", size); + strlcat(buffer, EMS_Thermostat.version, size); + } + + return buffer; +} + +/** + * returns current boiler type as a string + */ +char * ems_getBoilerDescription(char * buffer) { + uint8_t size = 128; + if (!ems_getBoilerEnabled()) { + strlcpy(buffer, "", size); + } else { + // find the boiler details + int i = 0; + bool found = false; + + // scan through known ID types + while (i < _Boiler_Types_max) { + if (Boiler_Types[i].product_id == EMS_Boiler.product_id) { + found = true; // we have a match + break; + } + i++; + } + if (found) { + strlcpy(buffer, Boiler_Types[i].model_string, size); + } else { + strlcpy(buffer, "Generic Type", size); + } + + char tmp[6] = {0}; + strlcat(buffer, " [Type ID: 0x", size); + strlcat(buffer, _hextoa(EMS_Boiler.type_id, tmp), size); + strlcat(buffer, "] Product ID:", size); + strlcat(buffer, itoa(EMS_Boiler.product_id, tmp, 10), size); + strlcat(buffer, " Version:", size); + strlcat(buffer, EMS_Boiler.version, size); + } + + return buffer; +} + +/* + * Find the versions of our connected devices + */ +void ems_scanDevices() { + myDebug("Started scan of EMS bus for known devices"); + + std::list Device_Ids; // new list + + // copy over boilers + for (_Boiler_Type bt : Boiler_Types) { + Device_Ids.push_back(bt.type_id); + } + + // copy over thermostats + for (_Thermostat_Type tt : Thermostat_Types) { + Device_Ids.push_back(tt.type_id); + } + // remove duplicates and reserved IDs (like our own device) + Device_Ids.sort(); + Device_Ids.unique(); + Device_Ids.remove(EMS_MODEL_NONE); + + // send the read command with Version command + for (uint8_t type_id : Device_Ids) { + ems_doReadCommand(EMS_TYPE_Version, type_id); } } @@ -1001,25 +1475,30 @@ void ems_printThermostatType() { * Print out all handled types */ void ems_printAllTypes() { - myDebug("These %d telegram type IDs are recognized:\n", _EMS_Types_max); uint8_t i; - char s[20]; - for (i = 0; i < _EMS_Types_max; i++) { - if (EMS_Types[i].src == EMS_ID_THERMOSTAT) { - strcpy(s, "Thermostat"); - } else if (EMS_Types[i].src == EMS_ID_BOILER) { - strcpy(s, "Boiler"); - } else { - strcpy(s, "Common"); - } - myDebug(" %s:\ttype ID %02X (%s)\n", s, EMS_Types[i].type, EMS_Types[i].typeString); + myDebug("\nThese %d boiler type devices are in the library:", _Boiler_Types_max); + + for (i = 0; i < _Boiler_Types_max; i++) { + myDebug(" %s, type ID:0x%02X Product ID:%d", Boiler_Types[i].model_string, Boiler_Types[i].type_id, Boiler_Types[i].product_id); } - myDebug("\nThese %d telegram Thermostats are natively supported:\n", _Thermostat_Types_max); + myDebug("\nThese telegram type IDs are recognized for the selected boiler:"); + for (i = 0; i < _EMS_Types_max; i++) { + if ((EMS_Types[i].model_id == EMS_MODEL_ALL) || (EMS_Types[i].model_id == EMS_MODEL_UBA)) { + myDebug(" type %02X (%s)", EMS_Types[i].type, EMS_Types[i].typeString); + } + } + + myDebug("\nThese %d thermostats models are supported:", _Thermostat_Types_max); for (i = 0; i < _Thermostat_Types_max; i++) { - myDebug(" %s [ID 0x%02X]\n", Thermostat_Types[i].typeString, Thermostat_Types[i].id); + myDebug(" %s, type ID:0x%02X Product ID:%d Read/Write support:%c%c", + Thermostat_Types[i].model_string, + Thermostat_Types[i].type_id, + Thermostat_Types[i].product_id, + (Thermostat_Types[i].read_supported) ? 'r' : ' ', + (Thermostat_Types[i].write_supported) ? 'w' : ' '); } } @@ -1028,21 +1507,23 @@ void ems_printAllTypes() { * Read commands when sent must respond by the destination (target) immediately (or within 10ms) */ void ems_doReadCommand(uint8_t type, uint8_t dest, bool forceRefresh) { - // if not a valid type of boiler is not accessible then quit - if ((type == EMS_ID_NONE) || (!EMS_Sys_Status.emsBoilerEnabled)) { + // if not a valid type of boiler is not accessible then quits + if (type == EMS_ID_NONE) { return; } _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx + EMS_TxTelegram.timestamp = millis(); // set timestamp + EMS_Sys_Status.txRetryCount = 0; // reset retry counter // see if its a known type int i = _ems_findType(type); if ((ems_getLogging() == EMS_SYS_LOGGING_BASIC) || (ems_getLogging() == EMS_SYS_LOGGING_VERBOSE)) { if (i == -1) { - myDebug("Requesting type (0x%02X) from dest 0x%02X\n", type, dest); + myDebug("Requesting type (0x%02X) from dest 0x%02X", type, dest); } else { - myDebug("Requesting type %s(0x%02X) from dest 0x%02X\n", EMS_Types[i].typeString, type, dest); + myDebug("Requesting type %s(0x%02X) from dest 0x%02X", EMS_Types[i].typeString, type, dest); } } EMS_TxTelegram.action = EMS_TX_TELEGRAM_READ; // read command @@ -1062,22 +1543,26 @@ void ems_doReadCommand(uint8_t type, uint8_t dest, bool forceRefresh) { /** * Send a raw telegram to the bus + * telegram is a string of hex values */ void ems_sendRawTelegram(char * telegram) { uint8_t count = 0; - char * p, value[10]; + char * p; + char value[10] = {0}; _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx + EMS_TxTelegram.timestamp = millis(); // set timestamp + EMS_Sys_Status.txRetryCount = 0; // reset retry counter // get first value, which should be the src - if (p = strtok(telegram, " ,")) { // delimiter - strcpy(value, p); + if ( (p = strtok(telegram, " ,")) ) { // delimiter + strlcpy(value, p, sizeof(value)); EMS_TxTelegram.data[0] = (uint8_t)strtol(value, 0, 16); } // and interate until end while (p != 0) { - if (p = strtok(NULL, " ,")) { - strcpy(value, p); + if ( (p = strtok(NULL, " ,")) ) { + strlcpy(value, p, sizeof(value)); uint8_t val = (uint8_t)strtol(value, 0, 16); EMS_TxTelegram.data[++count] = val; if (count == 1) { @@ -1103,74 +1588,100 @@ void ems_sendRawTelegram(char * telegram) { * Set the temperature of the thermostat */ void ems_setThermostatTemp(float temperature) { - _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx - - EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; - EMS_TxTelegram.dest = EMS_ID_THERMOSTAT; - - myDebug("Setting new thermostat temperature\n"); - - if (EMS_Thermostat.type == EMS_ID_THERMOSTAT_RC20) { - EMS_TxTelegram.type = EMS_TYPE_RC20Set; - EMS_TxTelegram.offset = EMS_OFFSET_RC20Set_temp; - EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; - EMS_TxTelegram.dataValue = (uint8_t)((float)temperature * (float)2); // value - - EMS_TxTelegram.type_validate = EMS_TxTelegram.type; - EMS_TxTelegram.comparisonOffset = EMS_TxTelegram.offset; - EMS_TxTelegram.comparisonValue = EMS_TxTelegram.dataValue; - EMS_TxTelegram.comparisonPostRead = - EMS_TYPE_RC20StatusMessage; // call a different type to refresh temperature value - - } else if (EMS_Thermostat.type == EMS_ID_THERMOSTAT_RC30) { - EMS_TxTelegram.type = EMS_TYPE_RC30Set; - EMS_TxTelegram.offset = EMS_OFFSET_RC30Set_temp; - EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; - EMS_TxTelegram.dataValue = (uint8_t)((float)temperature * (float)2); // value - - EMS_TxTelegram.type_validate = EMS_TxTelegram.type; - EMS_TxTelegram.comparisonOffset = EMS_TxTelegram.offset; - EMS_TxTelegram.comparisonValue = EMS_TxTelegram.dataValue; - EMS_TxTelegram.comparisonPostRead = - EMS_TYPE_RC30StatusMessage; // call a different type to refresh temperature value - } else if (EMS_Thermostat.type == EMS_ID_THERMOSTAT_EASY) { - myDebug("Setting new thermostat temperature on an Easy (not working yet!)\n"); + if (!ems_getThermostatEnabled()) { return; } + if (!EMS_Thermostat.write_supported) { + myDebug("Write not supported for this model Thermostat"); + return; + } + + _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx + EMS_TxTelegram.timestamp = millis(); // set timestamp + EMS_Sys_Status.txRetryCount = 0; // reset retry counter + + uint8_t model_id = EMS_Thermostat.model_id; + uint8_t type = EMS_Thermostat.type_id; + + EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; + EMS_TxTelegram.dest = type; + + myDebug("Setting new thermostat temperature"); + + // when doing a comparison to validate the new temperature we call a different type + + if (model_id == EMS_MODEL_RC20) { + EMS_TxTelegram.type = EMS_TYPE_RC20Set; + EMS_TxTelegram.offset = EMS_OFFSET_RC20Set_temp; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20StatusMessage; + } else if (model_id == EMS_MODEL_RC10) { + EMS_TxTelegram.type = EMS_TYPE_RC10Set; + EMS_TxTelegram.offset = EMS_OFFSET_RC10Set_temp; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC10StatusMessage; + } else if (model_id == EMS_MODEL_RC30) { + EMS_TxTelegram.type = EMS_TYPE_RC30Set; + EMS_TxTelegram.offset = EMS_OFFSET_RC30Set_temp; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC30StatusMessage; + } else if ((model_id == EMS_MODEL_RC35) || (model_id == EMS_MODEL_ES73)) { + EMS_TxTelegram.type = EMS_TYPE_RC35Set; + if (EMS_Thermostat.day_mode == 0) { + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; + } else if (EMS_Thermostat.day_mode == 1) { + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_day; + } + + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC35StatusMessage; + } + + EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; + EMS_TxTelegram.dataValue = (uint8_t)((float)temperature * (float)2); // value + EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + EMS_TxTelegram.comparisonOffset = EMS_TxTelegram.offset; + EMS_TxTelegram.comparisonValue = EMS_TxTelegram.dataValue; + EMS_TxTelegram.forceRefresh = false; // send to MQTT is done automatically in EMS_TYPE_RC30StatusMessage EMS_TxQueue.push(EMS_TxTelegram); } /** - * Set the thermostat working mode (0=low, 1=manual, 2=auto/clock) + * Set the thermostat working mode (0=low/night, 1=manual/day, 2=auto/clock) * 0xA8 on a RC20 and 0xA7 on RC30 */ void ems_setThermostatMode(uint8_t mode) { - if (EMS_ID_THERMOSTAT == EMS_ID_THERMOSTAT_EASY) { - // doesn't support Easy yet + if (!ems_getThermostatEnabled()) { return; } - myDebug("Setting thermostat mode to %d\n", mode); + if (!EMS_Thermostat.write_supported) { + myDebug("Write not supported for this model Thermostat"); + return; + } + + uint8_t model_id = EMS_Thermostat.model_id; + uint8_t type = EMS_Thermostat.type_id; + + myDebug("Setting thermostat mode to %d", mode); _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx + EMS_TxTelegram.timestamp = millis(); // set timestamp + EMS_Sys_Status.txRetryCount = 0; // reset retry counter EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; - EMS_TxTelegram.dest = EMS_ID_THERMOSTAT; + EMS_TxTelegram.dest = type; EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; EMS_TxTelegram.dataValue = mode; // handle different thermostat types - if (EMS_ID_THERMOSTAT == EMS_ID_THERMOSTAT_RC20) { + if (model_id == EMS_MODEL_RC20) { EMS_TxTelegram.type = EMS_TYPE_RC20Set; EMS_TxTelegram.offset = EMS_OFFSET_RC20Set_mode; - } else if (EMS_ID_THERMOSTAT == EMS_ID_THERMOSTAT_RC30) { + } else if (model_id == EMS_MODEL_RC30) { EMS_TxTelegram.type = EMS_TYPE_RC30Set; EMS_TxTelegram.offset = EMS_OFFSET_RC30Set_mode; - } else { - myDebug("Error! not supported\n"); - return; + } else if ((model_id == EMS_MODEL_RC35) || (model_id == EMS_MODEL_ES73)) { + EMS_TxTelegram.type = EMS_TYPE_RC35Set; + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_mode; } EMS_TxTelegram.type_validate = EMS_TxTelegram.type; // callback to EMS_TYPE_RC30Temperature to fetch temps @@ -1187,16 +1698,18 @@ void ems_setThermostatMode(uint8_t mode) { */ void ems_setWarmWaterTemp(uint8_t temperature) { // check for invalid temp values - if ((temperature < 30) || (temperature > 90)) { + if ((temperature < 30) || (temperature > EMS_BOILER_TAPWATER_TEMPERATURE_MAX)) { return; } - myDebug("Setting boiler warm water temperature to %d C\n", temperature); + myDebug("Setting boiler warm water temperature to %d C", temperature); _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx + EMS_TxTelegram.timestamp = millis(); // set timestamp + EMS_Sys_Status.txRetryCount = 0; // reset retry counter EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; - EMS_TxTelegram.dest = EMS_ID_BOILER; + EMS_TxTelegram.dest = EMS_Boiler.type_id; EMS_TxTelegram.type = EMS_TYPE_UBAParameterWW; EMS_TxTelegram.offset = EMS_OFFSET_UBAParameterWW_wwtemp; EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; @@ -1211,22 +1724,47 @@ void ems_setWarmWaterTemp(uint8_t temperature) { EMS_TxQueue.push(EMS_TxTelegram); } +/** + * Set the warm water mode to comfort to Eco/Comfort + */ +void ems_setWarmWaterModeComfort(bool comfort) { + myDebug("Setting boiler warm water to comfort mode %s\n", comfort ? "Comfort" : "Eco"); + + _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx + EMS_TxTelegram.timestamp = millis(); // set timestamp + EMS_Sys_Status.txRetryCount = 0; // reset retry counter + + EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; + EMS_TxTelegram.dest = EMS_Boiler.type_id; + EMS_TxTelegram.type = EMS_TYPE_UBAParameterWW; + EMS_TxTelegram.offset = EMS_OFFSET_UBAParameterWW_wwComfort; + EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; + EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate + EMS_TxTelegram.dataValue = + (comfort ? EMS_VALUE_UBAParameterWW_wwComfort_Comfort : EMS_VALUE_UBAParameterWW_wwComfort_Eco); // 0x00 is on, 0xD8 is off + + EMS_TxQueue.push(EMS_TxTelegram); +} + /** * Activate / De-activate the Warm Water 0x33 * true = on, false = off */ void ems_setWarmWaterActivated(bool activated) { - myDebug("Setting boiler warm water %s\n", activated ? "on" : "off"); + myDebug("Setting boiler warm water %s", activated ? "on" : "off"); _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx + EMS_TxTelegram.timestamp = millis(); // set timestamp + EMS_Sys_Status.txRetryCount = 0; // reset retry counter EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; - EMS_TxTelegram.dest = EMS_ID_BOILER; + EMS_TxTelegram.dest = EMS_Boiler.type_id; EMS_TxTelegram.type = EMS_TYPE_UBAParameterWW; EMS_TxTelegram.offset = EMS_OFFSET_UBAParameterWW_wwactivated; EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate EMS_TxTelegram.dataValue = (activated ? 0xFF : 0x00); // 0xFF is on, 0x00 is off + EMS_TxQueue.push(EMS_TxTelegram); } @@ -1236,17 +1774,19 @@ void ems_setWarmWaterActivated(bool activated) { * Using the type 0x1D to put the boiler into Test mode. This may be shown on the boiler with a flashing 'T' */ void ems_setWarmTapWaterActivated(bool activated) { - myDebug("Setting boiler warm tap water %s\n", activated ? "on" : "off"); + myDebug("Setting boiler warm tap water %s", activated ? "on" : "off"); _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx + EMS_TxTelegram.timestamp = millis(); // set timestamp + EMS_Sys_Status.txRetryCount = 0; // reset retry counter // clear Tx to make sure all data is set to 0x00 - for (int i = 0; (i < EMS_TX_MAXBUFFERSIZE); i++) { + for (int i = 0; (i < EMS_MAX_TELEGRAM_LENGTH); i++) { EMS_TxTelegram.data[i] = 0x00; } EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; - EMS_TxTelegram.dest = EMS_ID_BOILER; + EMS_TxTelegram.dest = EMS_Boiler.type_id; EMS_TxTelegram.type = EMS_TYPE_UBAFunctionTest; EMS_TxTelegram.offset = 0; EMS_TxTelegram.length = 22; // 17 bytes of data including header and CRC @@ -1257,7 +1797,6 @@ void ems_setWarmTapWaterActivated(bool activated) { EMS_TxTelegram.comparisonPostRead = EMS_TxTelegram.type; EMS_TxTelegram.forceRefresh = true; // send new value to MQTT after successful write - // create header EMS_TxTelegram.data[0] = EMS_ID_ME; // src EMS_TxTelegram.data[1] = EMS_TxTelegram.dest; // dest @@ -1277,32 +1816,3 @@ void ems_setWarmTapWaterActivated(bool activated) { EMS_TxQueue.push(EMS_TxTelegram); // add to queue } - -/** - * experimental code for debugging - not in production - */ -void ems_setExperimental(uint8_t value) { - /* - _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx - - EMS_TxTelegram.action = EMS_TX_TELEGRAM_READ; // read command - EMS_TxTelegram.dest = EMS_ID_THERMOSTAT; // set 8th bit to indicate a read - EMS_TxTelegram.offset = 0; // 0 for all data - EMS_TxTelegram.length = 8; - EMS_TxTelegram.type = 0xF0; - EMS_TxTelegram.type_validate = EMS_ID_NONE; - - // EMS Plus test - // Sending read to 0x18: telegram: 0B 98 F0 00 01 B9 63 DB (len 8) - EMS_TxTelegram.data[0] = EMS_ID_ME; // src - EMS_TxTelegram.data[1] = EMS_TxTelegram.dest; // dest - EMS_TxTelegram.data[2] = 0xF0; // marker - EMS_TxTelegram.data[3] = EMS_TxTelegram.offset; // offset - EMS_TxTelegram.data[4] = 0x01; // hi byte - EMS_TxTelegram.data[5] = 0xB9; // low byte - - EMS_TxTelegram.data[6] = 99; // max length - - EMS_TxQueue.push(EMS_TxTelegram); - */ -} diff --git a/src/ems.h b/src/ems.h index bce7ae158..5147223b0 100644 --- a/src/ems.h +++ b/src/ems.h @@ -1,7 +1,11 @@ /* - * Header file for EMS.cpp + * Header file for ems.cpp + * + * Paul Derbyshire - https://github.com/proddy/EMS-ESP + * + * See ChangeLog.md for history + * See README.md for Acknowledgments * - * You shouldn't need to change much in this file */ #pragma once @@ -9,83 +13,53 @@ #include // EMS IDs -#define EMS_ID_NONE 0x00 // Fixed - used as a dest in broadcast messages and empty type IDs -#define EMS_ID_BOILER 0x08 // Fixed - also known as MC10. -#define EMS_ID_ME 0x0B // Fixed - our device, hardcoded as "Service Key" +#define EMS_ID_NONE 0x00 // Fixed - used as a dest in broadcast messages and empty type IDs +#define EMS_ID_ME 0x0B // Fixed - our device, hardcoded as the "Service Key" +#define EMS_ID_DEFAULT_BOILER 0x08 -#define EMS_MIN_TELEGRAM_LENGTH 6 // minimal length for a validation telegram, including CRC -#define EMS_MAX_TELEGRAM_LENGTH 99 // max length of a telegram, including CRC +#define EMS_MIN_TELEGRAM_LENGTH 6 // minimal length for a validation telegram, including CRC -#define EMS_TX_MAXBUFFERSIZE 128 // max size of the buffer. packets are 32 bits - -#define EMS_ID_THERMOSTAT_RC20 0x17 // RC20 (e.g. Moduline 300) -#define EMS_ID_THERMOSTAT_RC30 0x10 // RC30 (e.g. Moduline 400) -#define EMS_ID_THERMOSTAT_EASY 0x18 // TC100 (Nefit Easy) - -// define here the EMS telegram types you need - -// Common for all EMS devices -#define EMS_TYPE_Version 0x02 // version of the UBA controller (boiler) - -/* - * Boiler... - */ -#define EMS_TYPE_UBAMonitorFast 0x18 // is an automatic monitor broadcast -#define EMS_TYPE_UBAMonitorSlow 0x19 // is an automatic monitor broadcast -#define EMS_TYPE_UBAMonitorWWMessage 0x34 // is an automatic monitor broadcast -#define EMS_TYPE_UBAMaintenanceStatusMessage 0x1C // is an automatic monitor broadcast -#define EMS_TYPE_UBAParameterWW 0x33 -#define EMS_TYPE_UBATotalUptimeMessage 0x14 -#define EMS_TYPE_UBAMaintenanceSettingsMessage 0x15 -#define EMS_TYPE_UBAParametersMessage 0x16 -#define EMS_TYPE_UBASetPoints 0x1A -#define EMS_TYPE_UBAFunctionTest 0x1D - -#define EMS_OFFSET_UBAParameterWW_wwtemp 2 // WW Temperature -#define EMS_OFFSET_UBAParameterWW_wwactivated 1 // WW Activated - -/* - * Thermostat... - */ - -// Common for all thermostats -#define EMS_TYPE_RCTime 0x06 // is an automatic thermostat broadcast -#define EMS_TYPE_RCOutdoorTempMessage 0xA3 // is an automatic thermostat broadcast, outdoor external temp - -// RC20 specific -#define EMS_TYPE_RC20StatusMessage 0x91 // is an automatic thermostat broadcast giving us temps -#define EMS_TYPE_RC20Set 0xA8 // for setting values like temp and mode -#define EMS_OFFSET_RC20Set_mode 23 // position of thermostat mode -#define EMS_OFFSET_RC20Set_temp 28 // position of thermostat setpoint temperature - -// RC30 specific -#define EMS_TYPE_RC30StatusMessage 0x41 // is an automatic thermostat broadcast giving us temps -#define EMS_TYPE_RC30Set 0xA7 // for setting values like temp and mode -#define EMS_OFFSET_RC30Set_mode 23 // position of thermostat mode -#define EMS_OFFSET_RC30Set_temp 28 // position of thermostat setpoint temperature - -// Easy specific -#define EMS_TYPE_EasyStatusMessage 0x0A // reading values on an Easy Thermostat +// max length of a telegram, including CRC, for Rx and Tx. +#define EMS_MAX_TELEGRAM_LENGTH 99 // default values -#define EMS_VALUE_INT_ON 1 // boolean true -#define EMS_VALUE_INT_OFF 0 // boolean false -#define EMS_VALUE_INT_NOTSET 0xFF // for 8-bit ints -#define EMS_VALUE_FLOAT_NOTSET -255 // float unset +#define EMS_VALUE_INT_ON 1 // boolean true +#define EMS_VALUE_INT_OFF 0 // boolean false +#define EMS_VALUE_INT_NOTSET 0xFF // for 8-bit ints +#define EMS_VALUE_LONG_NOTSET 0xFFFFFF // for 3-byte longs +#define EMS_VALUE_FLOAT_NOTSET -255 // float + +#define EMS_THERMOSTAT_READ_YES true +#define EMS_THERMOSTAT_READ_NO false +#define EMS_THERMOSTAT_WRITE_YES true +#define EMS_THERMOSTAT_WRITE_NO false + +// trigger settings to determine if hot tap water or the heating is active +#define EMS_BOILER_BURNPOWER_TAPWATER 100 +#define EMS_BOILER_SELFLOWTEMP_HEATING 70 + +//define maximum settable tapwater temperature, not every installation supports 90 degrees +#define EMS_BOILER_TAPWATER_TEMPERATURE_MAX 60 + +#define EMS_TX_TELEGRAM_QUEUE_MAX 50 // max size of Tx FIFO queue + +//#define EMS_SYS_LOGGING_DEFAULT EMS_SYS_LOGGING_VERBOSE +#define EMS_SYS_LOGGING_DEFAULT EMS_SYS_LOGGING_NONE /* EMS UART transfer status */ typedef enum { - EMS_RX_IDLE, - EMS_RX_ACTIVE // Rx package is being sent + EMS_RX_STATUS_IDLE, + EMS_RX_STATUS_BUSY // Rx package is being received } _EMS_RX_STATUS; typedef enum { - EMS_TX_IDLE, - EMS_TX_ACTIVE, // Tx package being sent, no break sent - EMS_TX_SUCCESS, - EMS_TX_ERROR + EMS_TX_STATUS_IDLE, // ready + EMS_TX_STATUS_WAIT // waiting for response from last Tx } _EMS_TX_STATUS; +#define EMS_TX_SUCCESS 0x01 // EMS single byte after a Tx Write indicating a success +#define EMS_TX_ERROR 0x04 // EMS single byte after a Tx Write indicating an error + typedef enum { EMS_TX_TELEGRAM_INIT, // just initialized EMS_TX_TELEGRAM_READ, // doing a read request @@ -107,20 +81,22 @@ typedef enum { typedef struct { _EMS_RX_STATUS emsRxStatus; _EMS_TX_STATUS emsTxStatus; - uint16_t emsRxPgks; // received - uint16_t emsTxPkgs; // sent - uint16_t emxCrcErr; // CRC errors - bool emsPollEnabled; // flag enable the response to poll messages - bool emsTxEnabled; // flag if we're allowing sending of Tx packages - bool emsThermostatEnabled; // if there is a RCxx thermostat active - bool emsBoilerEnabled; // is the boiler online - _EMS_SYS_LOGGING emsLogging; // logging - bool emsRefreshed; // fresh data, needs to be pushed out to MQTT + uint16_t emsRxPgks; // received + uint16_t emsTxPkgs; // sent + uint16_t emxCrcErr; // CRC errors + bool emsPollEnabled; // flag enable the response to poll messages + _EMS_SYS_LOGGING emsLogging; // logging + bool emsRefreshed; // fresh data, needs to be pushed out to MQTT + bool emsBusConnected; // is there an active bus + unsigned long emsRxTimestamp; // timestamp of last EMS message received + unsigned long emsPollTimestamp; // timestamp of last EMS poll sent to us + bool emsTxCapable; // able to send via Tx + uint8_t txRetryCount; // # times the last Tx was re-sent } _EMS_Sys_Status; // The Tx send package typedef struct { - _EMS_TX_TELEGRAM_ACTION action; // read or write + _EMS_TX_TELEGRAM_ACTION action; // read, write, validate, init uint8_t dest; uint8_t type; uint8_t offset; @@ -130,11 +106,13 @@ typedef struct { uint8_t comparisonValue; // value to compare against during a validate uint8_t comparisonOffset; // offset of where the byte is we want to compare too later uint8_t comparisonPostRead; // after a successful write call this to read - bool hasSent; // has been sent, just pending ack bool forceRefresh; // should we send to MQTT after a successful Tx? - uint8_t data[EMS_TX_MAXBUFFERSIZE]; + unsigned long timestamp; // when created + uint8_t data[EMS_MAX_TELEGRAM_LENGTH]; } _EMS_TxTelegram; + + // default empty Tx const _EMS_TxTelegram EMS_TX_TELEGRAM_NEW = { EMS_TX_TELEGRAM_INIT, // action @@ -147,11 +125,28 @@ const _EMS_TxTelegram EMS_TX_TELEGRAM_NEW = { 0, // comparisonValue 0, // comparisonOffset EMS_ID_NONE, // comparisonPostRead - false, // hasSent false, // forceRefresh + 0, // timestamp {0x00} // data }; +typedef struct { + uint8_t model_id; + uint8_t product_id; + uint8_t type_id; + char model_string[50]; +} _Boiler_Type; + +// Definition for thermostat type +typedef struct { + uint8_t model_id; + uint8_t product_id; + uint8_t type_id; + char model_string[50]; + bool read_supported; + bool write_supported; +} _Thermostat_Type; + /* * Telegram package defintions */ @@ -160,48 +155,69 @@ typedef struct { // UBAParameterWW uint8_t wWSelTemp; // Warm Water selected temperature uint8_t wWCircPump; // Warm Water circulation pump Available uint8_t wWDesiredTemp; // Warm Water desired temperature + uint8_t wWComfort; // Warm water comfort or ECO mode // UBAMonitorFast - uint8_t selFlowTemp; // Selected flow temperature - float curFlowTemp; // Current flow temperature - float retTemp; // Return temperature - uint8_t burnGas; // Gas on/off - uint8_t fanWork; // Fan on/off - uint8_t ignWork; // Ignition on/off - uint8_t heatPmp; // Circulating pump on/off - uint8_t wWHeat; // 3-way valve on WW - uint8_t wWCirc; // Circulation on/off - uint8_t selBurnPow; // Burner max power - uint8_t curBurnPow; // Burner current power - float flameCurr; // Flame current in micro amps - float sysPress; // System pressure + uint8_t selFlowTemp; // Selected flow temperature + float curFlowTemp; // Current flow temperature + float retTemp; // Return temperature + uint8_t burnGas; // Gas on/off + uint8_t fanWork; // Fan on/off + uint8_t ignWork; // Ignition on/off + uint8_t heatPmp; // Circulating pump on/off + uint8_t wWHeat; // 3-way valve on WW + uint8_t wWCirc; // Circulation on/off + uint8_t selBurnPow; // Burner max power + uint8_t curBurnPow; // Burner current power + float flameCurr; // Flame current in micro amps + float sysPress; // System pressure + char serviceCodeChar[2]; // 2 character status/service code // UBAMonitorSlow float extTemp; // Outside temperature float boilTemp; // Boiler temperature uint8_t pumpMod; // Pump modulation - uint16_t burnStarts; // # burner restarts - uint16_t burnWorkMin; // Total burner operating time - uint16_t heatWorkMin; // Total heat operating time + uint32_t burnStarts; // # burner restarts + uint32_t burnWorkMin; // Total burner operating time + uint32_t heatWorkMin; // Total heat operating time // UBAMonitorWWMessage float wWCurTmp; // Warm Water current temperature: uint32_t wWStarts; // Warm Water # starts uint32_t wWWorkM; // Warm Water # minutes uint8_t wWOneTime; // Warm Water one time function on/off + uint8_t wWCurFlow; // Warm Water current flow in l/min + + // UBATotalUptimeMessage + uint32_t UBAuptime; // Total UBA working hours + + // UBAParametersMessage + uint8_t heating_temp; // Heating temperature setting on the boiler + uint8_t pump_mod_max; // Boiler circuit pump modulation max. power + uint8_t pump_mod_min; // Boiler circuit pump modulation min. power // calculated values uint8_t tapwaterActive; // Hot tap water is on/off uint8_t heatingActive; // Central heating is on/off + // settings + char version[10]; + uint8_t type_id; // this is typically always 0x08 + uint8_t product_id; } _EMS_Boiler; // Thermostat data typedef struct { - uint8_t type; // thermostat type (RC30, Easy etc) + uint8_t type_id; // the type ID of the thermostat + uint8_t model_id; // which Thermostat type + uint8_t product_id; + bool read_supported; + bool write_supported; + char version[10]; float setpoint_roomTemp; // current set temp float curr_roomTemp; // current room temp uint8_t mode; // 0=low, 1=manual, 2=auto + bool day_mode; // 0=night, 1=day uint8_t hour; uint8_t minute; uint8_t second; @@ -210,35 +226,16 @@ typedef struct { uint8_t year; } _EMS_Thermostat; -// call back function signature -typedef void (*EMS_processType_cb)(uint8_t * data, uint8_t length); +// call back function signature for processing telegram types +typedef void (*EMS_processType_cb)(uint8_t type, uint8_t * data, uint8_t length); // Definition for each EMS type, including the relative callback function typedef struct { - uint8_t src; + uint8_t model_id; uint8_t type; const char typeString[50]; EMS_processType_cb processType_cb; -} _EMS_Types; - -// Definition for thermostat type -typedef struct { - uint8_t id; - const char typeString[50]; -} _Thermostat_Types; - -// ANSI Colors -#define COLOR_RESET "\x1B[0m" -#define COLOR_BLACK "\x1B[0;30m" -#define COLOR_RED "\x1B[0;31m" -#define COLOR_GREEN "\x1B[0;32m" -#define COLOR_YELLOW "\x1B[0;33m" -#define COLOR_BLUE "\x1B[0;34m" -#define COLOR_MAGENTA "\x1B[0;35m" -#define COLOR_CYAN "\x1B[0;36m" -#define COLOR_WHITE "\x1B[0;37m" -#define COLOR_BOLD_ON "\x1B[1m" -#define COLOR_BOLD_OFF "\x1B[21m" +} _EMS_Type; // function definitions extern void ems_parseTelegram(uint8_t * telegram, uint8_t len); @@ -251,32 +248,42 @@ void ems_setThermostatMode(uint8_t mode); void ems_setWarmWaterTemp(uint8_t temperature); void ems_setWarmWaterActivated(bool activated); void ems_setWarmTapWaterActivated(bool activated); -void ems_setExperimental(uint8_t value); void ems_setPoll(bool b); void ems_setTxEnabled(bool b); -void ems_setThermostatEnabled(bool b); void ems_setLogging(_EMS_SYS_LOGGING loglevel); void ems_setEmsRefreshed(bool b); +void ems_setWarmWaterModeComfort(bool comfort); +bool ems_checkEMSBUSAlive(); +void ems_setModels(); void ems_getThermostatValues(); +void ems_getBoilerValues(); bool ems_getPoll(); bool ems_getTxEnabled(); bool ems_getThermostatEnabled(); bool ems_getBoilerEnabled(); +bool ems_getBusConnected(); _EMS_SYS_LOGGING ems_getLogging(); -uint8_t ems_getEmsTypesCount(); -uint8_t ems_getThermostatTypesCount(); bool ems_getEmsRefreshed(); +uint8_t ems_getThermostatModel(); +void ems_discoverModels(); +bool ems_getTxCapable(); -void ems_printAllTypes(); -void ems_printThermostatType(); -void ems_printTxQueue(); +void ems_scanDevices(); +void ems_printAllTypes(); +char * ems_getThermostatDescription(char * buffer); +void ems_printTxQueue(); +char * ems_getBoilerDescription(char * buffer); // private functions uint8_t _crcCalculator(uint8_t * data, uint8_t len); void _processType(uint8_t * telegram, uint8_t length); void _debugPrintPackage(const char * prefix, uint8_t * data, uint8_t len, const char * color); void _ems_clearTxData(); +int _ems_findBoilerModel(uint8_t model_id); +bool _ems_setModel(uint8_t model_id); +void _ems_setThermostatModel(uint8_t thermostat_modelid); +void _removeTxQueue(); // global so can referenced in other classes extern _EMS_Sys_Status EMS_Sys_Status; diff --git a/src/ems_devices.h b/src/ems_devices.h new file mode 100644 index 000000000..4ac8ab238 --- /dev/null +++ b/src/ems_devices.h @@ -0,0 +1,146 @@ +/* + * General information about known EMS devices + * + * Paul Derbyshire - https://github.com/proddy/EMS-ESP + * + * See ChangeLog.md for History + * See README.md for Acknowledgments + * + */ + +#pragma once + +#include "ems.h" + + +/* + * Common + */ +#define EMS_TYPE_Version 0x02 + +/* + * Boiler... + */ +#define EMS_TYPE_UBAMonitorFast 0x18 // is an automatic monitor broadcast +#define EMS_TYPE_UBAMonitorSlow 0x19 // is an automatic monitor broadcast +#define EMS_TYPE_UBAMonitorWWMessage 0x34 // is an automatic monitor broadcast +#define EMS_TYPE_UBAMaintenanceStatusMessage 0x1C // is an automatic monitor broadcast +#define EMS_TYPE_UBAParameterWW 0x33 +#define EMS_TYPE_UBATotalUptimeMessage 0x14 +#define EMS_TYPE_UBAMaintenanceSettingsMessage 0x15 +#define EMS_TYPE_UBAParametersMessage 0x16 +#define EMS_TYPE_UBASetPoints 0x1A +#define EMS_TYPE_UBAFunctionTest 0x1D + +#define EMS_OFFSET_UBAParameterWW_wwtemp 2 // WW Temperature +#define EMS_OFFSET_UBAParameterWW_wwactivated 1 // WW Activated +#define EMS_OFFSET_UBAParameterWW_wwComfort 9 // WW is in comfort or eco mode +#define EMS_VALUE_UBAParameterWW_wwComfort_Comfort 0x00 // the value for comfort +#define EMS_VALUE_UBAParameterWW_wwComfort_Eco 0xD8 // the value for eco + +/* + * Thermostats... + */ + +// Common for all thermostats +#define EMS_TYPE_RCTime 0x06 // is an automatic thermostat broadcast +#define EMS_TYPE_RCOutdoorTempMessage 0xA3 // is an automatic thermostat broadcast, outdoor external temp + +// RC10 specific +#define EMS_TYPE_RC10StatusMessage 0xB1 // is an automatic thermostat broadcast giving us temps +#define EMS_TYPE_RC10Set 0xB0 // for setting values like temp and mode +#define EMS_OFFSET_RC10Set_temp 4 // position of thermostat setpoint temperature +#define EMS_TYPE_RC10StatusMessage_setpoint 1 // setpoint temp +#define EMS_TYPE_RC10StatusMessage_curr 3 // current temp + +// RC20 specific +#define EMS_TYPE_RC20StatusMessage 0x91 // is an automatic thermostat broadcast giving us temps +#define EMS_TYPE_RC20Set 0xA8 // for setting values like temp and mode +#define EMS_OFFSET_RC20Set_mode 23 // position of thermostat mode +#define EMS_OFFSET_RC20Set_temp 28 // position of thermostat setpoint temperature +#define EMS_TYPE_RC20StatusMessage_setpoint 1 // setpoint temp +#define EMS_TYPE_RC20StatusMessage_curr 2 // current temp + +// RC30 specific +#define EMS_TYPE_RC30StatusMessage 0x41 // is an automatic thermostat broadcast giving us temps +#define EMS_TYPE_RC30Set 0xA7 // for setting values like temp and mode +#define EMS_OFFSET_RC30Set_mode 23 // position of thermostat mode +#define EMS_OFFSET_RC30Set_temp 28 // position of thermostat setpoint temperature +#define EMS_TYPE_RC30StatusMessage_setpoint 1 // setpoint temp +#define EMS_TYPE_RC30StatusMessage_curr 2 // current temp + +// RC35 specific +#define EMS_TYPE_RC35StatusMessage 0x3E // is an automatic thermostat broadcast giving us temps +#define EMS_TYPE_RC35StatusMessage_setpoint 2 // desired temp +#define EMS_TYPE_RC35StatusMessage_curr 3 // current temp +#define EMS_TYPE_RC35Set 0x3D // for setting values like temp and mode (Working mode HC1) +#define EMS_OFFSET_RC35Set_mode 7 // position of thermostat mode +#define EMS_OFFSET_RC35Set_temp_day 2 // position of thermostat setpoint temperature for day time +#define EMS_OFFSET_RC35Set_temp_night 1 // position of thermostat setpoint temperature for night time +#define EMS_OFFSET_RC35Get_mode_day 1 // position of thermostat day mode + +// Easy specific +#define EMS_TYPE_EasyStatusMessage 0x0A // reading values on an Easy Thermostat +#define EMS_TYPE_EasyStatusMessage_setpoint 10 // setpoint temp +#define EMS_TYPE_EasyStatusMessage_curr 8 // current temp + +// Known EMS types +typedef enum { + EMS_MODEL_NONE, + EMS_MODEL_ALL, // common for all devices + + // generic ID for the boiler + EMS_MODEL_UBA, + + // thermostats + EMS_MODEL_ES73, + EMS_MODEL_RC10, + EMS_MODEL_RC20, + EMS_MODEL_RC20F, + EMS_MODEL_RC30, + EMS_MODEL_RC35, + EMS_MODEL_EASY, + EMS_MODEL_BOSCHEASY, + EMS_MODEL_RC310, + EMS_MODEL_CW100, + EMS_MODEL_OT + +} _EMS_MODEL_ID; + +// EMS types for known Buderus/Bosch devices. This list will be extended when new devices are recognized. +// format is MODEL_ID, PRODUCT ID, TYPE_ID, DESCRIPTION +const _Boiler_Type Boiler_Types[] = { + + {EMS_MODEL_UBA, 72, 0x08, "MC10"}, + {EMS_MODEL_UBA, 123, 0x08, "Buderus GB172/Nefit Trendline"}, + {EMS_MODEL_UBA, 115, 0x08, "Nefit Topline Compact"}, + {EMS_MODEL_UBA, 203, 0x08, "Buderus Logamax U122"}, + {EMS_MODEL_UBA, 64, 0x08, "Sieger BK15 Boiler/Nefit Smartline"}, + {EMS_MODEL_UBA, 190, 0x09, "BC10 Base Controller"}, + {EMS_MODEL_UBA, 114, 0x09, "BC10 Base Controller"}, + {EMS_MODEL_UBA, 125, 0x09, "BC25 Base Controller"}, + {EMS_MODEL_UBA, 68, 0x09, "RFM20 Receiver"}, + {EMS_MODEL_UBA, 95, 0x08, "Bosch Condens 2500"}, + {EMS_MODEL_UBA, 251, 0x21, "MM10 Mixer Module"}, // warning, fake product id! + {EMS_MODEL_UBA, 250, 0x11, "WM10 Switch Module"}, // warning, fake product id! + +}; + +/* + * Known thermostat types and their capabilities + */ +const _Thermostat_Type Thermostat_Types[] = { + + {EMS_MODEL_ES73, 76, 0x10, "Sieger ES73", EMS_THERMOSTAT_READ_YES, EMS_THERMOSTAT_WRITE_YES}, + {EMS_MODEL_RC10, 79, 0x17, "RC10/Nefit Moduline 100)", EMS_THERMOSTAT_READ_YES, EMS_THERMOSTAT_WRITE_YES}, + {EMS_MODEL_RC20, 77, 0x17, "RC20/Nefit Moduline 300)", EMS_THERMOSTAT_READ_YES, EMS_THERMOSTAT_WRITE_YES}, + {EMS_MODEL_RC20F, 93, 0x18, "RC20F", EMS_THERMOSTAT_READ_YES, EMS_THERMOSTAT_WRITE_YES}, + {EMS_MODEL_RC30, 78, 0x10, "RC30/Nefit Moduline 400)", EMS_THERMOSTAT_READ_YES, EMS_THERMOSTAT_WRITE_YES}, + {EMS_MODEL_RC35, 86, 0x10, "RC35", EMS_THERMOSTAT_READ_YES, EMS_THERMOSTAT_WRITE_YES}, + {EMS_MODEL_EASY, 202, 0x18, "TC100/Nefit Easy", EMS_THERMOSTAT_READ_YES, EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_BOSCHEASY, 206, 0x02, "Bosch Easy", EMS_THERMOSTAT_READ_YES, EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_RC310, 158, 0x10, "RC310", EMS_THERMOSTAT_READ_NO, EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_CW100, 255, 0x18, "Bosch CW100", EMS_THERMOSTAT_READ_NO, EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_OT, 171, 0x02, "EMS-OT OpenTherm converter", EMS_THERMOSTAT_READ_YES, EMS_THERMOSTAT_WRITE_YES} + +}; diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 0724b29db..454ecb0fd 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -2,7 +2,7 @@ * emsuart.cpp * * The low level UART code for ESP8266 to read and write to the EMS bus via uart - * Paul Derbyshire - https://github.com/proddy/EMS-ESP-Boiler + * Paul Derbyshire - https://github.com/proddy/EMS-ESP */ #include "emsuart.h" @@ -28,8 +28,8 @@ static void emsuart_rx_intr_handler(void * para) { static uint8_t uart_buffer[EMS_MAXBUFFERSIZE]; // is a new buffer? if so init the thing for a new telegram - if (EMS_Sys_Status.emsRxStatus == EMS_RX_IDLE) { - EMS_Sys_Status.emsRxStatus = EMS_RX_ACTIVE; // status set to active + if (EMS_Sys_Status.emsRxStatus == EMS_RX_STATUS_IDLE) { + EMS_Sys_Status.emsRxStatus = EMS_RX_STATUS_BUSY; // status set to busy length = 0; } @@ -55,7 +55,7 @@ static void emsuart_rx_intr_handler(void * para) { os_memcpy((void *)pEMSRxBuf->buffer, (void *)&uart_buffer, length); // set the status flag stating BRK has been received and we can start a new package - EMS_Sys_Status.emsRxStatus = EMS_RX_IDLE; + EMS_Sys_Status.emsRxStatus = EMS_RX_STATUS_IDLE; // call emsuart_recvTask() at next opportunity system_os_post(EMSUART_recvTaskPrio, 0, 0); @@ -68,6 +68,7 @@ static void emsuart_rx_intr_handler(void * para) { /* * system task triggered on BRK interrupt * Read commands are all asynchronous + * When a buffer is full it is sent to the ems_parseTelegram() function in ems.cpp. This is the hook */ static void ICACHE_FLASH_ATTR emsuart_recvTask(os_event_t * events) { // get next free EMS Receive buffer @@ -109,7 +110,7 @@ void ICACHE_FLASH_ATTR emsuart_init() { USC0(EMSUART_UART) |= (tmp); // set bits USC0(EMSUART_UART) &= ~(tmp); // clear bits - // conf 1 params + // conf1 params // UCTOE = RX TimeOut enable (default is 1) // UCTOT = RX TimeOut Threshold (7bit) = want this when no more data after 2 characters. (default is 2) // UCFFT = RX FIFO Full Threshold (7 bit) = want this to be 31 for 32 bytes of buffer. (default was 127). @@ -137,6 +138,14 @@ void ICACHE_FLASH_ATTR emsuart_init() { system_uart_swap(); } +/* + * stop UART0 driver + */ +void ICACHE_FLASH_ATTR emsuart_stop() { + ETS_UART_INTR_DISABLE(); + ETS_UART_INTR_ATTACH(NULL, NULL); +} + /* * Send a BRK signal * Which is a 11-bit set of zero's (11 cycles) diff --git a/src/emsuart.h b/src/emsuart.h index f3d3f6739..f5053bda3 100644 --- a/src/emsuart.h +++ b/src/emsuart.h @@ -1,13 +1,15 @@ /* * emsuart.h + * * Header file for emsuart.cpp - * Paul Derbyshire - https://github.com/proddy/EMS-ESP-Boiler + * + * Paul Derbyshire - https://github.com/proddy/EMS-ESP */ #pragma once #include -#define EMSUART_UART 0 // UART 0 - there is only one on the esp8266 +#define EMSUART_UART 0 // UART 0 #define EMSUART_CONFIG 0x1c // 8N1 (8 bits, no stop bits, 1 parity) #define EMSUART_BAUD 9600 // uart baud rate for the EMS circuit @@ -23,11 +25,12 @@ #define EMSUART_recvTaskQueueLen 64 typedef struct { - int16_t writePtr; + uint8_t writePtr; uint8_t buffer[EMS_MAXBUFFERSIZE]; } _EMSRxBuf; void ICACHE_FLASH_ATTR emsuart_init(); +void ICACHE_FLASH_ATTR emsuart_stop(); void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len); void ICACHE_FLASH_ATTR emsaurt_tx_poll(); void ICACHE_FLASH_ATTR emsuart_tx_brk(); diff --git a/src/my_config.h b/src/my_config.h index d2a1a4840..2c23d611b 100644 --- a/src/my_config.h +++ b/src/my_config.h @@ -1,48 +1,71 @@ /* * my_config.h + * * All configurations and customization's go here - * - * Paul Derbyshire - https://github.com/proddy/EMS-ESP-Boiler + * + * Paul Derbyshire - https://github.com/proddy/EMS-ESP */ #pragma once -// these are set as -D build flags during compilation -// they can be set in platformio.ini or alternatively hard coded here +#include "ems.h" -// WIFI settings -//#define WIFI_SSID "" -//#define WIFI_PASSWORD "" +// MQTT base name +#define MQTT_BASE "home" // all MQTT topics are prefix with this string, in the format // -// MQTT settings -// Note port is the default 1883 -//#define MQTT_IP "" -//#define MQTT_USER "" -//#define MQTT_PASS "" +// MQTT general settings +#define MQTT_TOPIC_START "start" +#define MQTT_TOPIC_START_PAYLOAD "start" +#define MQTT_WILL_TOPIC "status" // for last will & testament topic name +#define MQTT_WILL_ONLINE_PAYLOAD "online" // for last will & testament payload +#define MQTT_WILL_OFFLINE_PAYLOAD "offline" // for last will & testament payload +#define MQTT_RETAIN false +#define MQTT_KEEPALIVE 120 // 2 minutes +#define MQTT_QOS 1 -// default values -#define BOILER_THERMOSTAT_ENABLED 1 // thermostat support is enabled (1) -#define BOILER_SHOWER_TIMER 1 // monitors how long a shower has taken -#define BOILER_SHOWER_ALERT 0 // send alert if showetime exceeded +// MQTT for thermostat +#define TOPIC_THERMOSTAT_DATA "thermostat_data" // for sending thermostat values to MQTT +#define TOPIC_THERMOSTAT_CMD_TEMP "thermostat_cmd_temp" // for received thermostat temp changes via MQTT +#define TOPIC_THERMOSTAT_CMD_MODE "thermostat_cmd_mode" // for received thermostat mode changes via MQTT +#define THERMOSTAT_CURRTEMP "thermostat_currtemp" // current temperature +#define THERMOSTAT_SELTEMP "thermostat_seltemp" // selected temperature +#define THERMOSTAT_MODE "thermostat_mode" // mode -// define here the Thermostat type. see ems.h for the supported types -#define EMS_ID_THERMOSTAT EMS_ID_THERMOSTAT_RC20 -//#define EMS_ID_THERMOSTAT EMS_ID_THERMOSTAT_RC30 -//#define EMS_ID_THERMOSTAT EMS_ID_THERMOSTAT_EASY +// MQTT for boiler +#define TOPIC_BOILER_DATA "boiler_data" // for sending boiler values to MQTT +#define TOPIC_BOILER_TAPWATER_ACTIVE "tapwater_active" // if hot tap water is running +#define TOPIC_BOILER_HEATING_ACTIVE "heating_active" // if heating is on +#define TOPIC_BOILER_WWACTIVATED "wwactivated" // for receiving MQTT message to change water on/off +#define TOPIC_BOILER_CMD_WWTEMP "boiler_cmd_wwtemp" // for received boiler wwtemp changes via MQTT -// trigger settings to determine if hot tap water or the heating is active -#define EMS_BOILER_BURNPOWER_TAPWATER 100 -#define EMS_BOILER_SELFLOWTEMP_HEATING 70 +// shower time +#define TOPIC_SHOWERTIME "showertime" // for sending shower time results +#define TOPIC_SHOWER_TIMER "shower_timer" // toggle switch for enabling the shower logic +#define TOPIC_SHOWER_ALERT "shower_alert" // toggle switch for enabling the shower alarm logic +#define TOPIC_SHOWER_COLDSHOT "shower_coldshot" // used to trigger a coldshot from an MQTT command -// if using the shower timer, change these settings -#define SHOWER_PAUSE_TIME 15000 // in ms. 15 seconds, max time if water is switched off & on during a shower -#define SHOWER_MIN_DURATION 120000 // in ms. 2 minutes, before recognizing its a shower -#define SHOWER_MAX_DURATION 420000 // in ms. 7 minutes, before trigger a shot of cold water -#define SHOWER_OFFSET_TIME 5000 // in ms. 5 seconds grace time, to calibrate actual time under the shower -#define SHOWER_COLDSHOT_DURATION 10 // in seconds. 10 seconds for cold water before turning back hot water +// default values for shower logic on/off +#define BOILER_SHOWER_TIMER 1 // enable (1) to monitor shower time +#define BOILER_SHOWER_ALERT 0 // enable (1) to send alert of cold water when shower time limit has exceeded +#define SHOWER_MAX_DURATION 420000 // in ms. 7 minutes, before trigger a shot of cold water -// if using LEDs to show traffic, configure the GPIOs here -// only works if -DUSE_LED is set in platformio.ini -#define LED_RX D1 // GPIO5 -#define LED_TX D2 // GPIO4 -#define LED_ERR D3 // GPIO0 +//////////////////////////////////////////////////////////////////////////////////////////////////// +// THESE DEFAULT VALUES CAN ALSO BE SET AND STORED WITHTIN THE APPLICATION (see 'set' command) // +// ALTHOUGH YOU MAY ALSO HARDCODE THEM HERE BUT THEY WILL BE OVERWRITTEN WITH NEW RELEASE UPDATES // +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Set LED pin used for showing ems bus connection status. Solid is connected, Flashing is error +// can be either the onboard LED on the ESP8266 (LED_BULLETIN) or external via an external pull-up LED +// (e.g. D1 on a bbqkees' board +// can be enabled and disabled via the 'set led' +// pin can be set by 'set led_gpio' +#define EMSESP_LED_GPIO LED_BUILTIN + +// set this if using an external temperature sensor like a DS18B20 +// D5 is the default on bbqkees' board +#define EMSESP_DALLAS_GPIO D5 + +// By default the EMS bus will be scanned for known devices based on product ids in ems_devices.h +// You can override the Thermostat and Boiler types here +#define EMSESP_BOILER_TYPE EMS_ID_NONE +#define EMSESP_THERMOSTAT_TYPE EMS_ID_NONE diff --git a/src/version.h b/src/version.h index c65eb0bbe..0eed2b101 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,10 @@ -#define APP_NAME "EMS-ESP-Boiler" -#define APP_VERSION "1.1.0" +/** + * + * Paul Derbyshire - https://github.com/proddy/EMS-ESP + */ + +#pragma once + +#define APP_NAME "EMS-ESP" +#define APP_VERSION "1.5.7b" +#define APP_HOSTNAME "ems-esp" From 18ee7cca84c9ccbb2ce6713bbf3e317e50029b95 Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 10 Mar 2019 15:11:52 +0100 Subject: [PATCH 2/4] gitignore --- .clang-format | 39 +++++++++++++++++++++++++++++++++++++++ .gitignore | 17 ++++------------- 2 files changed, 43 insertions(+), 13 deletions(-) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 000000000..ee49bb82b --- /dev/null +++ b/.clang-format @@ -0,0 +1,39 @@ +Language: Cpp +BasedOnStyle: LLVM +UseTab: Never +IndentWidth: 4 +ColumnLimit: 140 +TabWidth: 4 +#BreakBeforeBraces: Custom +BraceWrapping: + AfterControlStatement: false + AfterFunction: false + AfterClass: true + AfterEnum: true + BeforeElse: false +ReflowComments: false +AlignAfterOpenBracket: Align # If true, horizontally aligns arguments after an open bracket. +AlignConsecutiveAssignments: true # This will align the assignment operators of consecutive lines +AlignConsecutiveDeclarations: true # This will align the declaration names of consecutive lines +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +#AlwaysBreakAfterReturnType: TopLevel +AlwaysBreakTemplateDeclarations: true # If true, always break after the template<...> of a template declaration +BinPackArguments: false +BinPackParameters: false +BreakBeforeBinaryOperators: NonAssignment +BreakConstructorInitializersBeforeComma: true # Always break constructor initializers before commas and align the commas with the colon. +ExperimentalAutoDetectBinPacking: false +KeepEmptyLinesAtTheStartOfBlocks: false +MaxEmptyLinesToKeep: 4 +PenaltyBreakBeforeFirstCallParameter: 200 +PenaltyExcessCharacter: 10 +PointerAlignment: Middle +SpaceAfterCStyleCast: false +SpaceBeforeAssignmentOperators: true +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false \ No newline at end of file diff --git a/.gitignore b/.gitignore index 9b5047dff..9025edaa0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,9 @@ -.pioenvs -.piolibdeps +.pio* .clang_complete .gcc-flags.json -.vscode/c_cpp_properties.json -.vscode/launch.json -.vscode/*.db -.vscode/.browse.c_cpp.db* +.vscode +.env platformio.ini lib/readme.txt -.vscode/settings.json -.vscode/extensions.json -.vscode/BROWSE.VC.DB-wal -.vscode/BROWSE.VC.DB-shm -lib/readme.txt -extra_script.py .travis.yml -.clang-format +*.py \ No newline at end of file From 5b0dcc9b22bb2c8684ab9b7f97dcf2635f8b4b0d Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 10 Mar 2019 22:19:51 +0100 Subject: [PATCH 3/4] added storing crash in eeprom so can analyze dump --- lib/MyESP/MyESP.cpp | 195 +++++++++++++++++++++++++++++++++++++++----- lib/MyESP/MyESP.h | 28 ++++++- src/ems-esp.ino | 2 +- src/ems.cpp | 2 +- 4 files changed, 203 insertions(+), 24 deletions(-) diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index 566a0c887..d4378fe88 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -164,6 +164,8 @@ void MyESP::_wifiCallback(justwifi_messages_t code, char * parameter) { if (_wifi_callback) { _wifi_callback(); } + + jw.enableAPFallback(false); // Disable AP mode after initial connect was succesfull. Thanks @JewelZB } if (code == MESSAGE_ACCESSPOINT_CREATED) { @@ -289,10 +291,7 @@ void MyESP::_mqtt_setup() { //mqttClient.onPublish([this](uint16_t packetId) { myDebug_P(PSTR("[MQTT] Publish ACK for PID %d"), packetId); }); - mqttClient.onMessage( - [this](char * topic, char * payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total) { - _mqttOnMessage(topic, payload, len); - }); + mqttClient.onMessage([this](char * topic, char * payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total) { _mqttOnMessage(topic, payload, len); }); } // WiFI setup @@ -414,7 +413,6 @@ void MyESP::_printBuildTime(unsigned long unix) { unix /= 60; /* Go to hours */ uint8_t Hours = unix % 24; /* Get hours */ unix /= 24; /* Go to days */ - uint8_t WeekDay = (unix + 3) % 7 + 1; /* Get week day, monday is first day */ uint16_t year = 1970; /* Process year */ while (1) { @@ -470,10 +468,7 @@ void MyESP::_consoleShowHelp() { #else String hostname = WiFi.hostname(); #endif - SerialAndTelnet.printf("* Hostname: %s IP: %s MAC: %s", - hostname.c_str(), - WiFi.localIP().toString().c_str(), - WiFi.macAddress().c_str()); + SerialAndTelnet.printf("* Hostname: %s IP: %s MAC: %s", hostname.c_str(), WiFi.localIP().toString().c_str(), WiFi.macAddress().c_str()); #ifdef ARDUINO_BOARD SerialAndTelnet.printf(" Board: %s", ARDUINO_BOARD); #endif @@ -501,6 +496,7 @@ void MyESP::_consoleShowHelp() { SerialAndTelnet.println(FPSTR("* Commands:")); SerialAndTelnet.println(FPSTR("* ?=help, CTRL-D=quit")); SerialAndTelnet.println(FPSTR("* reboot")); + SerialAndTelnet.println(FPSTR("* crash ")); SerialAndTelnet.println(FPSTR("* set")); SerialAndTelnet.println(FPSTR("* set wifi [ssid] [password]")); SerialAndTelnet.println(FPSTR("* set [value]")); @@ -724,6 +720,20 @@ void MyESP::_telnetCommand(char * commandLine) { resetESP(); } + // crash command + if ((strcmp(ptrToCommandName, "crash") == 0) && (wc >= 2)) { + char * cmd = _telnet_readWord(); + if (strcmp(cmd, "dump") == 0) { + crashDump(); + } else if (strcmp(cmd, "clear") == 0) { + crashClear(); + } else if ((strcmp(cmd, "test") == 0) && (wc == 3) ) { + char * value = _telnet_readWord(); + crashTest(atoi(value)); + } + return; + } + // call callback function (_telnetcommand_callback)(wc, commandLine); } @@ -854,17 +864,7 @@ void MyESP::setWIFI(const char * wifi_ssid, const char * wifi_password, wifi_cal } // init MQTT settings -void MyESP::setMQTT(const char * mqtt_host, - const char * mqtt_username, - const char * mqtt_password, - const char * mqtt_base, - unsigned long mqtt_keepalive, - unsigned char mqtt_qos, - bool mqtt_retain, - const char * mqtt_will_topic, - const char * mqtt_will_online_payload, - const char * mqtt_will_offline_payload, - mqtt_callback_f callback) { +void MyESP::setMQTT(const char * mqtt_host, const char * mqtt_username, const char * mqtt_password, const char * mqtt_base, unsigned long mqtt_keepalive, unsigned char mqtt_qos, bool mqtt_retain, const char * mqtt_will_topic, const char * mqtt_will_online_payload, const char * mqtt_will_offline_payload, mqtt_callback_f callback) { // can be empty if (!mqtt_host || *mqtt_host == 0x00) { _mqtt_host = NULL; @@ -1108,6 +1108,11 @@ void MyESP::_calculateLoad() { } } +// returns true is MQTT is alive +bool MyESP::isMQTTConnected() { + return mqttClient.connected(); +} + // return true if wifi is connected // WL_NO_SHIELD = 255, // for compatibility with WiFi Shield library // WL_IDLE_STATUS = 0, @@ -1143,7 +1148,155 @@ int MyESP::getWifiQuality() { return 2 * (dBm + 100); } -// register new instance +/** + * Save crash information in EEPROM + * This function is called automatically if ESP8266 suffers an exception + * It should be kept quick / consise to be able to execute before hardware wdt may kick in + */ +extern "C" void custom_crash_callback(struct rst_info * rst_info, uint32_t stack_start, uint32_t stack_end) { + + // Note that 'EEPROM.begin' method is reserving a RAM buffer + // The buffer size is SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_SPACE_SIZE + EEPROM.begin(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EEPROM_SIZE); + + // write crash time to EEPROM + uint32_t crash_time = millis(); + EEPROM.put(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_CRASH_TIME, crash_time); + + // write reset info to EEPROM + EEPROM.write(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_RESTART_REASON, rst_info->reason); + EEPROM.write(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EXCEPTION_CAUSE, rst_info->exccause); + + // write epc1, epc2, epc3, excvaddr and depc to EEPROM + EEPROM.put(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EPC1, rst_info->epc1); + EEPROM.put(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EPC2, rst_info->epc2); + EEPROM.put(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EPC3, rst_info->epc3); + EEPROM.put(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EXCVADDR, rst_info->excvaddr); + EEPROM.put(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_DEPC, rst_info->depc); + + // write stack start and end address to EEPROM + EEPROM.put(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_STACK_START, stack_start); + EEPROM.put(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_STACK_END, stack_end); + + // starting address + const uint16_t settings_start = SPI_FLASH_SEC_SIZE - SAVE_CRASH_EEPROM_SIZE - 0x10; + + // write stack trace to EEPROM and avoid overwriting settings + int16_t current_address = SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_STACK_TRACE; + for (uint32_t i = stack_start; i < stack_end; i++) { + if (current_address >= settings_start) + break; + byte * byteValue = (byte *)i; + EEPROM.write(current_address++, *byteValue); + } + + EEPROM.commit(); +} + +void MyESP::crashTest(uint8_t t) { + if (t == 1) { + myDebug("Attempting to divide by zero ..."); + int result, zero; + zero = 0; + result = 1 / zero; + myDebug("Result = %d", result); + } + + if (t == 2) { + myDebug("Attempting to read through a pointer to no object ..."); + int * nullPointer; + nullPointer = NULL; + // null pointer dereference - read + // attempt to read a value through a null pointer + Serial.println(*nullPointer); + } + + if (t == 3) { + Serial.printf("Crashing with hardware WDT (%ld ms) ...\n", millis()); + ESP.wdtDisable(); + while (true) { + // stay in an infinite loop doing nothing + // this way other process can not be executed + // + // Note: + // Hardware wdt kicks in if software wdt is unable to perfrom + // Nothing will be saved in EEPROM for the hardware wdt + } + } + + if (t == 4) { + Serial.printf("Crashing with software WDT (%ld ms) ...\n", millis()); + while (true) { + // stay in an infinite loop doing nothing + // this way other process can not be executed + } + } +} + +/** + * Clears crash info + */ +void MyESP::crashClear() { + EEPROM.begin(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EEPROM_SIZE); + + uint32_t crash_time = 0xFFFFFFFF; + EEPROM.put(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_CRASH_TIME, crash_time); + EEPROM.commit(); +} + +/** + * Print out crash information that has been previously saved in EEPROM + */ +void MyESP::crashDump() { + EEPROM.begin(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EEPROM_SIZE); + + uint32_t crash_time; + EEPROM.get(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_CRASH_TIME, crash_time); + if ((crash_time == 0) || (crash_time == 0xFFFFFFFF)) { + myDebug_P(PSTR("[CRASH] No crash info")); + return; + } + + myDebug_P(PSTR("[CRASH] Latest crash was at %lu ms after boot"), crash_time); + myDebug_P(PSTR("[CRASH] Reason of restart: %u"), EEPROM.read(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_RESTART_REASON)); + myDebug_P(PSTR("[CRASH] Exception cause: %u"), EEPROM.read(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EXCEPTION_CAUSE)); + + uint32_t epc1, epc2, epc3, excvaddr, depc; + EEPROM.get(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EPC1, epc1); + EEPROM.get(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EPC2, epc2); + EEPROM.get(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EPC3, epc3); + EEPROM.get(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EXCVADDR, excvaddr); + EEPROM.get(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_DEPC, depc); + + myDebug_P(PSTR("[CRASH] epc1=0x%08x epc2=0x%08x epc3=0x%08x"), epc1, epc2, epc3); + myDebug_P(PSTR("[CRASH] excvaddr=0x%08x depc=0x%08x"), excvaddr, depc); + + uint32_t stack_start, stack_end; + EEPROM.get(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_STACK_START, stack_start); + EEPROM.get(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_STACK_END, stack_end); + + myDebug_P(PSTR("[CRASH] sp=0x%08x end=0x%08x"), stack_start, stack_end); + + int16_t current_address = SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_STACK_TRACE; + int16_t stack_len = stack_end - stack_start; + + uint32_t stack_trace; + + myDebug(">>>stack>>>"); + + for (int16_t i = 0; i < stack_len; i += 0x10) { + SerialAndTelnet.printf("%08x: ", stack_start + i); + for (byte j = 0; j < 4; j++) { + EEPROM.get(current_address, stack_trace); + SerialAndTelnet.printf("%08x ", stack_trace); + current_address += 4; + } + SerialAndTelnet.println(); + } + myDebug("<< #include @@ -19,6 +19,11 @@ #include // https://github.com/xoseperez/justwifi #include // modified from https://github.com/yasheena/telnetspy +#include "EEPROM.h" +extern "C" { + void custom_crash_callback(struct rst_info*, uint32_t, uint32_t); +} + #if defined(ARDUINO_ARCH_ESP32) //#include #include // added for ESP32 @@ -73,6 +78,21 @@ // SPIFFS #define SPIFFS_MAXSIZE 500 // https://arduinojson.org/v5/assistant/ +// CRASH +#define SAVE_CRASH_EEPROM_OFFSET 0x0100 // initial address for crash data +#define SAVE_CRASH_EEPROM_SIZE 0x0200 // size +#define SAVE_CRASH_CRASH_TIME 0x00 // 4 bytes +#define SAVE_CRASH_RESTART_REASON 0x04 // 1 byte +#define SAVE_CRASH_EXCEPTION_CAUSE 0x05 // 1 byte +#define SAVE_CRASH_EPC1 0x06 // 4 bytes +#define SAVE_CRASH_EPC2 0x0A // 4 bytes +#define SAVE_CRASH_EPC3 0x0E // 4 bytes +#define SAVE_CRASH_EXCVADDR 0x12 // 4 bytes +#define SAVE_CRASH_DEPC 0x16 // 4 bytes +#define SAVE_CRASH_STACK_START 0x1A // 4 bytes +#define SAVE_CRASH_STACK_END 0x1E // 4 bytes +#define SAVE_CRASH_STACK_TRACE 0x22 // variable + typedef struct { char key[40]; char description[100]; @@ -106,6 +126,7 @@ class MyESP { bool isWifiConnected(); // mqtt + bool isMQTTConnected(); void mqttSubscribe(const char * topic); void mqttUnsubscribe(const char * topic); void mqttPublish(const char * topic, const char * payload); @@ -134,6 +155,11 @@ class MyESP { void setSettings(fs_callback_f callback, fs_settings_callback_f fs_settings_callback); bool fs_saveConfig(); + // CRASH + void crashClear(); + void crashDump(); + void crashTest(uint8_t t); + // general void end(); void loop(); diff --git a/src/ems-esp.ino b/src/ems-esp.ino index 1c1b733c0..4d93fe067 100644 --- a/src/ems-esp.ino +++ b/src/ems-esp.ino @@ -993,7 +993,7 @@ void initEMSESP() { // call PublishValues without forcing, so using CRC to see if we really need to publish void do_publishValues() { // don't publish if we're not connected to the EMS bus - if ((ems_getBusConnected()) && (!myESP.getUseSerial())) { + if ((ems_getBusConnected()) && (!myESP.getUseSerial()) && myESP.isMQTTConnected() ) { publishValues(false); } } diff --git a/src/ems.cpp b/src/ems.cpp index 76b263e3a..0cf9a1124 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1508,7 +1508,7 @@ void ems_printAllTypes() { */ void ems_doReadCommand(uint8_t type, uint8_t dest, bool forceRefresh) { // if not a valid type of boiler is not accessible then quits - if (type == EMS_ID_NONE) { + if ( (type == EMS_ID_NONE) || (dest == EMS_ID_NONE) ) { return; } From a2c9aeae12d0c780ebabcba98b455fbbc93a112b Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 10 Mar 2019 22:28:18 +0100 Subject: [PATCH 4/4] debug scripts --- .gitignore | 1 - checkcode.py | 2 - clean_fw.py | 10 -- debug.py | 22 +++ decoder.py | 307 +++++++++++++++++++++++++++++++++++++++++ platformio.ini-example | 9 +- rename_fw.py | 5 - 7 files changed, 335 insertions(+), 21 deletions(-) create mode 100644 debug.py create mode 100644 decoder.py diff --git a/.gitignore b/.gitignore index 9025edaa0..70ec5cfc7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,3 @@ platformio.ini lib/readme.txt .travis.yml -*.py \ No newline at end of file diff --git a/checkcode.py b/checkcode.py index 3e381bb66..53da63054 100644 --- a/checkcode.py +++ b/checkcode.py @@ -3,7 +3,6 @@ from subprocess import call import os Import("env") - def code_check(source, target, env): print("\n** Starting cppcheck...") call(["cppcheck", os.getcwd()+"/.", "--force", "--enable=all"]) @@ -18,7 +17,6 @@ def code_check(source, target, env): # print defines # print env.Dump() - # built in targets: (buildprog, size, upload, program, buildfs, uploadfs, uploadfsota) env.AddPreAction("buildprog", code_check) # env.AddPostAction(.....) diff --git a/clean_fw.py b/clean_fw.py index c380f00ac..140f23ee4 100644 --- a/clean_fw.py +++ b/clean_fw.py @@ -9,16 +9,6 @@ def clean(source, target, env): call(["esptool.py", "-p COM6", "write_flash 0x00000", os.getcwd()+"../firmware/*.bin"]) print("\n** Finished clean.") -#my_flags = env.ParseFlags(env['BUILD_FLAGS']) -#defines = {k: v for (k, v) in my_flags.get("CPPDEFINES")} -# print defines -# print env.Dump() - - # built in targets: (buildprog, size, upload, program, buildfs, uploadfs, uploadfsota) env.AddPreAction("buildprog", clean) -# env.AddPostAction(.....) -# see http://docs.platformio.org/en/latest/projectconf/advanced_scripting.html#before-pre-and-after-post-actions -# env.Replace(PROGNAME="firmware_%s" % defines.get("VERSION")) -# env.Replace(PROGNAME="firmware_%s" % env['BOARD']) diff --git a/debug.py b/debug.py new file mode 100644 index 000000000..5c8a66030 --- /dev/null +++ b/debug.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +from subprocess import call +import os + +# python decoder.py -p ESP8266 -t C:\Users\Paul\.platformio\packages\toolchain-xtensa -e .pioenvs/nodemcuv2/firmware.elf stackdmp.txt +# java -jar .\EspStackTraceDecoder.jar C:\Users\Paul\.platformio\packages\toolchain-xtensa\bin\xtensa-lx106-elf-addr2line.exe .pioenvs/nodemcuv2/firmware.elf stackdmp.txt + +# example stackdmp.txt would contain text like below copied & pasted from a 'crash dump' command +# >>>stack>>> +# 3fffff20: 3fff32f0 00000003 3fff3028 402101b2 +# 3fffff30: 3fffdad0 3fff3280 0000000d 402148aa +# 3fffff40: 3fffdad0 3fff3280 3fff326c 3fff32f0 +# 3fffff50: 0000000d 3fff326c 3fff3028 402103bd +# 3fffff60: 0000000d 3fff34cc 40211de4 3fff34cc +# 3fffff70: 3fff3028 3fff14c4 3fff301c 3fff34cc +# 3fffff80: 3fffdad0 3fff14c4 3fff3028 40210493 +# 3fffff90: 3fffdad0 00000000 3fff14c4 4020a738 +# 3fffffa0: 3fffdad0 00000000 3fff349c 40211e90 +# 3fffffb0: feefeffe feefeffe 3ffe8558 40100b01 +# <<[0-9]*)\\):$") +COUNTER_REGEX = re.compile('^epc1=(?P0x[0-9a-f]+) epc2=(?P0x[0-9a-f]+) epc3=(?P0x[0-9a-f]+) ' + 'excvaddr=(?P0x[0-9a-f]+) depc=(?P0x[0-9a-f]+)$') +CTX_REGEX = re.compile("^ctx: (?P.+)$") +POINTER_REGEX = re.compile('^sp: (?P[0-9a-f]+) end: (?P[0-9a-f]+) offset: (?P[0-9a-f]+)$') +STACK_BEGIN = '>>>stack>>>' +STACK_END = '<<[0-9a-f]+):\W+(?P[0-9a-f]+) (?P[0-9a-f]+) (?P[0-9a-f]+) (?P[0-9a-f]+)(\W.*)?$') + +StackLine = namedtuple("StackLine", ["offset", "content"]) + + +class ExceptionDataParser(object): + def __init__(self): + self.exception = None + + self.epc1 = None + self.epc2 = None + self.epc3 = None + self.excvaddr = None + self.depc = None + + self.ctx = None + + self.sp = None + self.end = None + self.offset = None + + self.stack = [] + + def _parse_exception(self, line): + match = EXCEPTION_REGEX.match(line) + if match is not None: + self.exception = int(match.group('exc')) + return self._parse_counters + return self._parse_exception + + def _parse_counters(self, line): + match = COUNTER_REGEX.match(line) + if match is not None: + self.epc1 = match.group("epc1") + self.epc2 = match.group("epc2") + self.epc3 = match.group("epc3") + self.excvaddr = match.group("excvaddr") + self.depc = match.group("depc") + return self._parse_ctx + return self._parse_counters + + def _parse_ctx(self, line): + match = CTX_REGEX.match(line) + if match is not None: + self.ctx = match.group("ctx") + return self._parse_pointers + return self._parse_ctx + + def _parse_pointers(self, line): + match = POINTER_REGEX.match(line) + if match is not None: + self.sp = match.group("sp") + self.end = match.group("end") + self.offset = match.group("offset") + return self._parse_stack_begin + return self._parse_pointers + + def _parse_stack_begin(self, line): + if line == STACK_BEGIN: + return self._parse_stack_line + return self._parse_stack_begin + + def _parse_stack_line(self, line): + if line != STACK_END: + match = STACK_REGEX.match(line) + if match is not None: + self.stack.append(StackLine(offset=match.group("off"), + content=(match.group("c1"), match.group("c2"), match.group("c3"), + match.group("c4")))) + return self._parse_stack_line + return None + + def parse_file(self, file, stack_only=False): + func = self._parse_exception + if stack_only: + func = self._parse_stack_begin + + for line in file: + func = func(line.strip()) + if func is None: + break + + if func is not None: + print("ERROR: Parser not complete!") + sys.exit(1) + + +class AddressResolver(object): + def __init__(self, tool_path, elf_path): + self._tool = tool_path + self._elf = elf_path + self._address_map = {} + + def _lookup(self, addresses): + cmd = [self._tool, "-aipfC", "-e", self._elf] + [addr for addr in addresses if addr is not None] + + if sys.version_info[0] < 3: + output = subprocess.check_output(cmd) + else: + output = subprocess.check_output(cmd, encoding="utf-8") + + line_regex = re.compile("^(?P[0-9a-fx]+): (?P.+)$") + + last = None + for line in output.splitlines(): + line = line.strip() + match = line_regex.match(line) + + if match is None: + if last is not None and line.startswith('(inlined by)'): + line = line [12:].strip() + self._address_map[last] += ("\n \-> inlined by: " + line) + continue + + if match.group("result") == '?? ??:0': + continue + + self._address_map[match.group("addr")] = match.group("result") + last = match.group("addr") + + def fill(self, parser): + addresses = [parser.epc1, parser.epc2, parser.epc3, parser.excvaddr, parser.sp, parser.end, parser.offset] + for line in parser.stack: + addresses.extend(line.content) + + self._lookup(addresses) + + def _sanitize_addr(self, addr): + if addr.startswith("0x"): + addr = addr[2:] + + fill = "0" * (8 - len(addr)) + return "0x" + fill + addr + + def resolve_addr(self, addr): + out = self._sanitize_addr(addr) + + if out in self._address_map: + out += ": " + self._address_map[out] + + return out + + def resolve_stack_addr(self, addr, full=True): + addr = self._sanitize_addr(addr) + if addr in self._address_map: + return addr + ": " + self._address_map[addr] + + if full: + return "[DATA (0x" + addr + ")]" + + return None + + +def print_addr(name, value, resolver): + print("{}:{} {}".format(name, " " * (8 - len(name)), resolver.resolve_addr(value))) + + +def print_stack_full(lines, resolver): + print("stack:") + for line in lines: + print(line.offset + ":") + for content in line.content: + print(" " + resolver.resolve_stack_addr(content)) + + +def print_stack(lines, resolver): + print("stack:") + for line in lines: + for content in line.content: + out = resolver.resolve_stack_addr(content, full=False) + if out is None: + continue + print(out) + + +def print_result(parser, resolver, full=True, stack_only=False): + if not stack_only: + print('Exception: {} ({})'.format(parser.exception, EXCEPTIONS[parser.exception])) + + print("") + print_addr("epc1", parser.epc1, resolver) + print_addr("epc2", parser.epc2, resolver) + print_addr("epc3", parser.epc3, resolver) + print_addr("excvaddr", parser.excvaddr, resolver) + print_addr("depc", parser.depc, resolver) + + print("") + print("ctx: " + parser.ctx) + + print("") + print_addr("sp", parser.sp, resolver) + print_addr("end", parser.end, resolver) + print_addr("offset", parser.offset, resolver) + + print("") + if full: + print_stack_full(parser.stack, resolver) + else: + print_stack(parser.stack, resolver) + + +def parse_args(): + parser = argparse.ArgumentParser(description="decode ESP Stacktraces.") + + parser.add_argument("-p", "--platform", help="The platform to decode from", choices=PLATFORMS.keys(), + default="ESP8266") + parser.add_argument("-t", "--tool", help="Path to the xtensa toolchain", + default="~/.platformio/packages/toolchain-xtensa/") + parser.add_argument("-e", "--elf", help="path to elf file", required=True) + parser.add_argument("-f", "--full", help="Print full stack dump", action="store_true") + parser.add_argument("-s", "--stack_only", help="Decode only a stractrace", action="store_true") + parser.add_argument("file", help="The file to read the exception data from ('-' for STDIN)", default="-") + + return parser.parse_args() + + +if __name__ == "__main__": + args = parse_args() + + if args.file == "-": + file = sys.stdin + else: + if not os.path.exists(args.file): + print("ERROR: file " + args.file + " not found") + sys.exit(1) + file = open(args.file, "r") + + addr2line = os.path.join(os.path.abspath(os.path.expanduser(args.tool)), + "bin/xtensa-" + PLATFORMS[args.platform] + "-elf-addr2line.exe") + if not os.path.exists(addr2line): + print("ERROR: addr2line not found (" + addr2line + ")") + + elf_file = os.path.abspath(os.path.expanduser(args.elf)) + if not os.path.exists(elf_file): + print("ERROR: elf file not found (" + elf_file + ")") + + parser = ExceptionDataParser() + resolver = AddressResolver(addr2line, elf_file) + + parser.parse_file(file, args.stack_only) + resolver.fill(parser) + + print_result(parser, resolver, args.full, args.stack_only) diff --git a/platformio.ini-example b/platformio.ini-example index fdbbeb257..b381c389d 100644 --- a/platformio.ini-example +++ b/platformio.ini-example @@ -4,8 +4,11 @@ env_default = d1_mini [common] platform = espressif8266 flash_mode = dout -build_flags = -g -w -;build_flags = -g -w -DBUILD_TIME=$UNIX_TIME + +build_flags_debug = -ggdb3 -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable +;build_flags_prod = -Os -DBUILD_TIME=$UNIX_TIME + +build_flags = ${common.build_flags_debug} wifi_settings = ; hard code if you prefer. Recommendation is to set from within the app when in Serial or AP mode @@ -17,7 +20,6 @@ lib_deps = JustWifi AsyncMqttClient ArduinoJson -; https://github.com/bblanchon/ArduinoJson#v5.13.5 OneWire [env:d1_mini] @@ -33,5 +35,6 @@ monitor_speed = 115200 ; for OTA comment out these sections ;upload_protocol = espota ;upload_port = ems-esp.local +;upload_port = diff --git a/rename_fw.py b/rename_fw.py index aad993d99..7b4d42299 100644 --- a/rename_fw.py +++ b/rename_fw.py @@ -3,11 +3,6 @@ from subprocess import call import os Import("env") -#my_flags = env.ParseFlags(env['BUILD_FLAGS']) -#defines = {k: v for (k, v) in my_flags.get("CPPDEFINES")} -# print defines -# print env.Dump() - # see http://docs.platformio.org/en/latest/projectconf/advanced_scripting.html#before-pre-and-after-post-actions # env.Replace(PROGNAME="firmware_%s" % defines.get("VERSION")) env.Replace(PROGNAME="firmware_%s" % env['BOARD'])

4Jeo22^d4fFmEH+wB&2G*(l^WUe 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