mirror of https://github.com/arendst/Tasmota.git
Integrate OpenTherm and WindMeter
This commit is contained in:
parent
40d71e7ad9
commit
d78ca09c30
|
@ -136,6 +136,8 @@
|
|||
| USE_GPS | - | - | - | - | - | - | - |
|
||||
| USE_HM10 | - | - | - | - | x | - | - |
|
||||
| USE_HRXL | - | - | - | - | x | - | - |
|
||||
| USE_TASMOTA_SLAVE | - | - | - | - | - | - | - |
|
||||
| USE_OPENTHERM | - | - | - | - | - | - | - |
|
||||
| | | | | | | | |
|
||||
| USE_NRF24 | - | - | - | - | - | - | - |
|
||||
| USE_MIBLE | - | - | - | - | - | - | - |
|
||||
|
@ -149,11 +151,11 @@
|
|||
| USE_TM1638 | - | - | - | - | x | - | - |
|
||||
| USE_HX711 | - | - | - | - | x | - | - |
|
||||
| USE_TX2x_WIND_SENSOR | - | - | - | - | - | - | - |
|
||||
| USE_WINDMETER | - | - | - | - | - | - | - |
|
||||
| USE_RC_SWITCH | - | - | - | - | x | - | - |
|
||||
| USE_RF_SENSOR | - | - | - | - | x | - | - | AlectoV2 only
|
||||
| USE_HRE | - | - | - | - | x | - | - |
|
||||
| USE_A4988_STEPPER | - | - | - | - | - | - | - |
|
||||
| USE_TASMOTA_SLAVE | - | - | - | - | - | - | - | Experimental
|
||||
| | | | | | | | |
|
||||
| Feature or Sensor | minimal | lite | tasmota | knx | sensors | ir | display | Remarks
|
||||
| USE_DISPLAY | - | - | - | - | - | - | x |
|
||||
|
|
|
@ -52,16 +52,18 @@ The following binary downloads have been compiled with ESP8266/Arduino library c
|
|||
|
||||
## Changelog
|
||||
|
||||
### Version 8.2.0.5
|
||||
### Version 8.2.0.6
|
||||
|
||||
- Breaking Change Device Groups multicast address and port (#8270)
|
||||
- Change PWM implementation to Arduino #7231 removing support for Core versions before 2.6.3
|
||||
- Change default PWM Frequency to 223 Hz instead of 880 Hz for less interrupt pressure
|
||||
- Change flash access removing support for any Core before 2.6.3
|
||||
- Change HM-10 sensor type detection and add features (#7962)
|
||||
- Change light scheme 2,3,4 cycle time speed from 24,48,72,... seconds to 4,6,12,24,36,48,... seconds (#8034)
|
||||
- Change remove floating point libs from IRAM
|
||||
- Change remove MQTT Info messages on restart for DeepSleep Wake (#8044)
|
||||
- Change IRremoteESP8266 library updated to v2.7.6
|
||||
- Change HAss discovery by Federico Leoni (#8370)
|
||||
- Fix possible Relay toggle on (OTA) restart
|
||||
- Fix PWM flickering during wifi connection (#8046)
|
||||
- Fix Zigbee sending wrong Sat value with Hue emulation
|
||||
|
@ -96,4 +98,6 @@ The following binary downloads have been compiled with ESP8266/Arduino library c
|
|||
- Add console command history (#7483, #8015)
|
||||
- Add quick wifi reconnect using saved AP parameters when ``SetOption56 0`` (#3189)
|
||||
- Add more accuracy to GPS NTP server (#8088)
|
||||
- Add support for analog anemometer by Matteo Albinola (#8283)
|
||||
- Add support for OpenTherm by Yuriy Sannikov (#8373)
|
||||
- Add experimental basic support for Tasmota on ESP32 based on work by Jörg Schüler-Maroldt
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2018 Ihor Melnyk
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -0,0 +1,65 @@
|
|||
# OpenTherm Arduino/ESP8266 Library
|
||||
|
||||
This library provides implementation of OpenTherm protocol.
|
||||
|
||||
OpenTherm Library is based on OpenTherm protocol specification v2.2 and works with all OpenTherm compatible boilers. Library can be easily installed into Arduino IDE and compiled for Arduino, ESP8266 and other similar controllers.
|
||||
|
||||
OpenTherm protocol requires simple low voltage twowire connection to boiler, but voltage levels (7..15V) still much higher than Arduino/ESP8266 levels, which requires [OpenTherm Adapter](http://ihormelnyk.com/opentherm_adapter).
|
||||
|
||||
This version of library uses interrupts to achieve better stability and synchronization with boiler.
|
||||
|
||||
## Using OpenTherm Library you will be able:
|
||||
- control your boiler remotely (get status, switch on/off heating/water heating, set water temperature and much more)
|
||||
- make custom thermostat
|
||||
|
||||
## Configuration and Usage:
|
||||
```c
|
||||
#include <OpenTherm.h>
|
||||
```
|
||||
You have to choose 2 controller GPIO pins which will be used for communication and connected to [OpenTherm Adapter](http://ihormelnyk.com/opentherm_adapter). Controller(Arduino/ESP8266) input pin should support interrupts.
|
||||
Controller output pin should be connected to OpenTherm Adapter input pin and vise versa.
|
||||
```c
|
||||
const int inPin = 2;
|
||||
const int outPin = 3;
|
||||
```
|
||||
Define OpenTherm class instance using constructor which accepts as arguments pin numbers:
|
||||
```c
|
||||
OpenTherm ot(inPin, outPin);
|
||||
```
|
||||
Define interrupts handler function for specified above instance:
|
||||
```c
|
||||
void handleInterrupt() {
|
||||
ot.handleInterrupt();
|
||||
}
|
||||
```
|
||||
Use begin function to initialize OpenTherm instance, specify interrupts handler function as argument
|
||||
```c
|
||||
void setup()
|
||||
{
|
||||
ot.begin(handleInterrupt);
|
||||
}
|
||||
```
|
||||
According to OpenTherm Protocol specification master (controller) must communicate at least every 1 sec. So lets make some requests in loop function:
|
||||
```c
|
||||
void loop()
|
||||
{
|
||||
//Set/Get Boiler Status
|
||||
ot.setBoilerStatus(enableCentralHeating, enableHotWater, enableCooling);
|
||||
//Set Boiler Temperature to 64 degrees C
|
||||
ot.setBoilerTemperature(64);
|
||||
//Get Boiler Temperature
|
||||
float temperature = ot.getBoilerTemperature();
|
||||
delay(1000);
|
||||
}
|
||||
```
|
||||
|
||||
In details [OpenTherm Library](http://ihormelnyk.com/opentherm_library) described [here](http://ihormelnyk.com/opentherm_library).
|
||||
|
||||
## OpenTherm Adapter Schematic
|
||||
![opentherm adapter schmetic](http://ihormelnyk.com/Content/Pages/opentherm_adapter/opentherm_adapter_schematic.png)
|
||||
|
||||
## Arduino UNO Connection
|
||||
![opentherm adapter arduino](http://ihormelnyk.com/Content/Pages/opentherm_adapter/opentherm_adapter_arduino_connection.png)
|
||||
|
||||
## License
|
||||
Copyright (c) 2018 [Ihor Melnyk](http://ihormelnyk.com). Licensed under the [MIT license](/LICENSE?raw=true).
|
|
@ -0,0 +1,40 @@
|
|||
#######################################
|
||||
# Syntax Coloring Map For OpenTherm
|
||||
#######################################
|
||||
|
||||
#######################################
|
||||
# Datatypes (KEYWORD1)
|
||||
#######################################
|
||||
|
||||
OpenTherm KEYWORD1
|
||||
OpenThermStatus KEYWORD1
|
||||
OpenThermResponseStatus KEYWORD1
|
||||
OpenThermRequestType KEYWORD1
|
||||
OpenThermMessageID KEYWORD1
|
||||
|
||||
#######################################
|
||||
# Methods and Functions (KEYWORD2)
|
||||
#######################################
|
||||
|
||||
begin KEYWORD2
|
||||
isReady KEYWORD2
|
||||
sendRequest KEYWORD2
|
||||
sendRequestAync KEYWORD2
|
||||
buildRequest KEYWORD2
|
||||
getLastResponseStatus KEYWORD2
|
||||
handleInterrupt KEYWORD2
|
||||
process KEYWORD2
|
||||
end KEYWORD2
|
||||
doSomething KEYWORD2
|
||||
|
||||
setBoilerStatus KEYWORD2
|
||||
setBoilerTemperature KEYWORD2
|
||||
getBoilerTemperature KEYWORD2
|
||||
|
||||
#######################################
|
||||
# Instances (KEYWORD2)
|
||||
#######################################
|
||||
|
||||
#######################################
|
||||
# Constants (LITERAL1)
|
||||
#######################################
|
|
@ -0,0 +1,10 @@
|
|||
name=OpenTherm Library
|
||||
version=0.9.0
|
||||
author=Ihor Melnyk <ihor.melnyk@gmail.com>
|
||||
maintainer=Ihor Melnyk <ihor.melnyk@gmail.com>
|
||||
sentence=OpenTherm Library for HVAC system control communication using Arduino and ESP8266 hardware.
|
||||
paragraph=OpenTherm Library is based on OpenTherm protocol specification v2.2 and works with all OpenTherm compatible boilers.
|
||||
category=Communication
|
||||
url=https://github.com/ihormelnyk/opentherm_library
|
||||
architectures=*
|
||||
includes=OpenTherm.h
|
|
@ -3,7 +3,10 @@
|
|||
### 8.2.0.6 20200501
|
||||
|
||||
- Add experimental basic support for Tasmota on ESP32 based on work by Jörg Schüler-Maroldt
|
||||
- Change PWM updated to latest Arduino Core #7213
|
||||
- Add support for analog anemometer by Matteo Albinola (#8283)
|
||||
- Add support for OpenTherm by Yuriy Sannikov (#8373)
|
||||
- Change flash access removing support for any Core before 2.6.3
|
||||
- Change HAss discovery by Federico Leoni (#8370)
|
||||
|
||||
### 8.2.0.5 20200425
|
||||
|
||||
|
|
|
@ -578,6 +578,10 @@
|
|||
//#define USE_HM10 // (ESP8266 only) Add support for HM-10 as a BLE-bridge (+9k3 code)
|
||||
//#define USE_MI_ESP32 // (ESP32 only) Add support for ESP32 as a BLE-bridge (+9k2 mem, +292k flash)
|
||||
//#define USE_HRXL // Add support for MaxBotix HRXL-MaxSonar ultrasonic range finders (+0k7)
|
||||
//#define USE_TASMOTA_SLAVE // Add support for Arduino Uno/Pro Mini via serial interface including flashing (+2k6 code, 64 mem)
|
||||
#define USE_TASMOTA_SLAVE_FLASH_SPEED 57600 // Usually 57600 for 3.3V variants and 115200 for 5V variants
|
||||
#define USE_TASMOTA_SLAVE_SERIAL_SPEED 57600 // Depends on the sketch that is running on the Uno/Pro Mini
|
||||
//#define USE_OPENTHERM // Add support for OpenTherm (+15k code)
|
||||
|
||||
// -- Power monitoring sensors --------------------
|
||||
#define USE_ENERGY_MARGIN_DETECTION // Add support for Energy Margin detection (+1k6 code)
|
||||
|
@ -653,6 +657,8 @@
|
|||
//#define USE_TX20_WIND_SENSOR // Add support for La Crosse TX20 anemometer (+2k6/0k8 code)
|
||||
//#define USE_TX23_WIND_SENSOR // Add support for La Crosse TX23 anemometer (+2k7/1k code)
|
||||
|
||||
//#define USE_WINDMETER // Add support for analog anemometer (+2k2 code)
|
||||
|
||||
//#define USE_RC_SWITCH // Add support for RF transceiver using library RcSwitch (+2k7 code, 460 iram)
|
||||
|
||||
//#define USE_RF_SENSOR // Add support for RF sensor receiver (434MHz or 868MHz) (+0k8 code)
|
||||
|
@ -662,14 +668,6 @@
|
|||
//#define USE_HRE // Add support for Badger HR-E Water Meter (+1k4 code)
|
||||
//#define USE_A4988_STEPPER // Add support for A4988/DRV8825 stepper-motor-driver-circuit (+10k5 code)
|
||||
|
||||
//#define USE_TASMOTA_SLAVE // Add support for Arduino Uno/Pro Mini via serial interface including flashing (+2k6 code, 64 mem)
|
||||
#define USE_TASMOTA_SLAVE_FLASH_SPEED 57600 // Usually 57600 for 3.3V variants and 115200 for 5V variants
|
||||
#define USE_TASMOTA_SLAVE_SERIAL_SPEED 57600 // Depends on the sketch that is running on the Uno/Pro Mini
|
||||
|
||||
//#define USE_WINDMETER // Add support for analog anemometer
|
||||
|
||||
//#define USE_OPENTHERM // Use OpenTherm implementation
|
||||
|
||||
// -- End of general directives -------------------
|
||||
|
||||
/*********************************************************************************************\
|
||||
|
|
|
@ -481,10 +481,10 @@ struct {
|
|||
uint8_t shutter_position[MAX_SHUTTERS]; // E80
|
||||
uint8_t shutter_startrelay[MAX_SHUTTERS]; // E84
|
||||
uint8_t pcf8574_config[MAX_PCF8574]; // E88
|
||||
|
||||
uint8_t ot_hot_water_setpoint; // E8C
|
||||
uint8_t ot_boiler_setpoint; // E8D
|
||||
uint8_t ot_flags; // E8E
|
||||
|
||||
uint8_t free_e8f[1]; // E8F
|
||||
|
||||
uint16_t dimmer_hw_min; // E90
|
||||
|
|
|
@ -554,11 +554,11 @@ void GetFeatures(void)
|
|||
#ifdef USE_PING
|
||||
feature6 |= 0x00000080; // xdrv_38_ping.ino
|
||||
#endif
|
||||
#ifdef USE_THERMOSTAT
|
||||
feature6 |= 0x00000100; // xsns_68_opentherm.ino
|
||||
#endif
|
||||
#ifdef USE_WINDMETER
|
||||
feature6 |= 0x00000200; // xsns_69_windmeter.ino
|
||||
feature6 |= 0x00000100; // xsns_68_windmeter.ino
|
||||
#endif
|
||||
#ifdef USE_OPENTHERM
|
||||
feature6 |= 0x00000200; // xsns_69_opentherm.ino
|
||||
#endif
|
||||
|
||||
// feature6 |= 0x00000400;
|
||||
|
|
|
@ -620,16 +620,20 @@ const uint8_t kGpioNiceList[] PROGMEM = {
|
|||
GPIO_RDM6300_RX,
|
||||
#endif
|
||||
#ifdef USE_IBEACON
|
||||
GPIO_IBEACON_RX,
|
||||
GPIO_IBEACON_TX,
|
||||
GPIO_IBEACON_RX,
|
||||
#endif
|
||||
#ifdef USE_GPS
|
||||
GPIO_GPS_RX, // GPS serial interface
|
||||
GPIO_GPS_TX, // GPS serial interface
|
||||
GPIO_GPS_RX, // GPS serial interface
|
||||
#endif
|
||||
#ifdef USE_HM10
|
||||
GPIO_HM10_RX, // GPS serial interface
|
||||
GPIO_HM10_TX, // GPS serial interface
|
||||
GPIO_HM10_RX, // GPS serial interface
|
||||
#endif
|
||||
#ifdef USE_OPENTHERM
|
||||
GPIO_BOILER_OT_TX,
|
||||
GPIO_BOILER_OT_RX,
|
||||
#endif
|
||||
|
||||
#ifdef USE_MGC3130
|
||||
|
@ -673,10 +677,6 @@ const uint8_t kGpioNiceList[] PROGMEM = {
|
|||
#ifdef USE_AS3935
|
||||
GPIO_AS3935,
|
||||
#endif
|
||||
#ifdef USE_OPENTHERM
|
||||
GPIO_BOILER_OT_RX,
|
||||
GPIO_BOILER_OT_TX,
|
||||
#endif
|
||||
};
|
||||
|
||||
/********************************************************************************************/
|
||||
|
|
|
@ -125,8 +125,8 @@ enum UserSelectablePins {
|
|||
GPIO_WEBCAM_PSCLK,
|
||||
GPIO_WEBCAM_HSD,
|
||||
GPIO_WEBCAM_PSRCS,
|
||||
GPIO_BOILER_OT_RX, // OpenTherm Boiler RX pin
|
||||
GPIO_BOILER_OT_TX, // OpenTherm Boiler TX pin
|
||||
GPIO_BOILER_OT_RX, GPIO_BOILER_OT_TX, // OpenTherm Boiler TX pin
|
||||
GPIO_WINDMETER_SPEED, // WindMeter speed counter pin
|
||||
GPIO_SENSOR_END };
|
||||
|
||||
enum ProgramSelectablePins {
|
||||
|
@ -214,7 +214,8 @@ const char kSensorNames[] PROGMEM =
|
|||
D_GPIO_WEBCAM_PSCLK "|"
|
||||
D_GPIO_WEBCAM_HSD "|"
|
||||
D_GPIO_WEBCAM_PSRCS "|"
|
||||
D_SENSOR_BOILER_OT_RX "|" D_SENSOR_BOILER_OT_TX
|
||||
D_SENSOR_BOILER_OT_RX "|" D_SENSOR_BOILER_OT_TX "|"
|
||||
D_SENSOR_WINDMETER_SPEED
|
||||
;
|
||||
|
||||
const char kSensorNamesFixed[] PROGMEM =
|
||||
|
@ -398,8 +399,8 @@ const uint16_t kGpioNiceList[] PROGMEM = {
|
|||
AGPIO(GPIO_SOLAXX1_RX), // Solax Inverter rx pin
|
||||
#endif // USE_SOLAX_X1
|
||||
#ifdef USE_LE01MR
|
||||
AGPIO(GPIO_LE01MR_RX), // F7F LE-01MR energy meter rx pin
|
||||
AGPIO(GPIO_LE01MR_TX), // F7F LE-01MR energy meter tx pin
|
||||
AGPIO(GPIO_LE01MR_RX), // F7F LE-01MR energy meter rx pin
|
||||
#endif // IFDEF:USE_LE01MR
|
||||
#endif // USE_ENERGY_SENSOR
|
||||
|
||||
|
@ -435,6 +436,9 @@ const uint16_t kGpioNiceList[] PROGMEM = {
|
|||
#if defined(USE_TX20_WIND_SENSOR) || defined(USE_TX23_WIND_SENSOR)
|
||||
AGPIO(GPIO_TX2X_TXD_BLACK), // TX20/TX23 Transmission Pin
|
||||
#endif
|
||||
#ifdef USE_WINDMETER
|
||||
GPIO_WINDMETER_SPEED,
|
||||
#endif
|
||||
#ifdef USE_MP3_PLAYER
|
||||
AGPIO(GPIO_MP3_DFR562), // RB-DFR-562, DFPlayer Mini MP3 Player Serial interface
|
||||
#endif
|
||||
|
@ -456,16 +460,20 @@ const uint16_t kGpioNiceList[] PROGMEM = {
|
|||
AGPIO(GPIO_RDM6300_RX),
|
||||
#endif
|
||||
#ifdef USE_IBEACON
|
||||
AGPIO(GPIO_IBEACON_RX),
|
||||
AGPIO(GPIO_IBEACON_TX),
|
||||
AGPIO(GPIO_IBEACON_RX),
|
||||
#endif
|
||||
#ifdef USE_GPS
|
||||
AGPIO(GPIO_GPS_RX), // GPS serial interface
|
||||
AGPIO(GPIO_GPS_TX), // GPS serial interface
|
||||
AGPIO(GPIO_GPS_RX), // GPS serial interface
|
||||
#endif
|
||||
#ifdef USE_HM10
|
||||
AGPIO(GPIO_HM10_RX), // GPS serial interface
|
||||
AGPIO(GPIO_HM10_TX), // GPS serial interface
|
||||
AGPIO(GPIO_HM10_RX), // GPS serial interface
|
||||
#endif
|
||||
#ifdef USE_OPENTHERM
|
||||
GPIO_BOILER_OT_TX,
|
||||
GPIO_BOILER_OT_RX,
|
||||
#endif
|
||||
|
||||
#ifdef USE_MGC3130
|
||||
|
@ -526,35 +534,14 @@ const uint16_t kGpioNiceList[] PROGMEM = {
|
|||
AGPIO(GPIO_WEBCAM_XCLK),
|
||||
AGPIO(GPIO_WEBCAM_SIOD),
|
||||
AGPIO(GPIO_WEBCAM_SIOC),
|
||||
|
||||
// AGPIO(GPIO_WEBCAM_Y9),
|
||||
// AGPIO(GPIO_WEBCAM_Y8),
|
||||
// AGPIO(GPIO_WEBCAM_Y7),
|
||||
// AGPIO(GPIO_WEBCAM_Y6),
|
||||
// AGPIO(GPIO_WEBCAM_Y5),
|
||||
// AGPIO(GPIO_WEBCAM_Y4),
|
||||
// AGPIO(GPIO_WEBCAM_Y3),
|
||||
// AGPIO(GPIO_WEBCAM_Y2),
|
||||
|
||||
AGPIO(GPIO_WEBCAM_DATA) + MAX_WEBCAM_DATA,
|
||||
|
||||
AGPIO(GPIO_WEBCAM_VSYNC),
|
||||
AGPIO(GPIO_WEBCAM_HREF),
|
||||
AGPIO(GPIO_WEBCAM_PCLK),
|
||||
AGPIO(GPIO_WEBCAM_PSCLK),
|
||||
|
||||
// AGPIO(GPIO_WEBCAM_HSD1),
|
||||
// AGPIO(GPIO_WEBCAM_HSD2),
|
||||
// AGPIO(GPIO_WEBCAM_HSD3),
|
||||
|
||||
AGPIO(GPIO_WEBCAM_HSD) + MAX_WEBCAM_HSD,
|
||||
|
||||
AGPIO(GPIO_WEBCAM_PSRCS),
|
||||
#endif
|
||||
#ifdef USE_OPENTHERM
|
||||
AGPIO(GPIO_BOILER_OT_RX),
|
||||
AGPIO(GPIO_BOILER_OT_TX),
|
||||
#endif
|
||||
};
|
||||
|
||||
//********************************************************************************************
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
xsns_68_opentherm.ino - OpenTherm protocol support for Tasmota
|
||||
xsns_69_opentherm.ino - OpenTherm protocol support for Tasmota
|
||||
|
||||
Copyright (C) 2020 Yuriy Sannikov
|
||||
|
||||
|
@ -17,11 +17,11 @@
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <OpenTherm.h>
|
||||
|
||||
#ifdef USE_OPENTHERM
|
||||
|
||||
#define XSNS_68 68
|
||||
#define XSNS_69 69
|
||||
|
||||
#include <OpenTherm.h>
|
||||
|
||||
// Hot water and boiler parameter ranges
|
||||
#define OT_HOT_WATER_MIN 23
|
||||
|
@ -529,7 +529,7 @@ void sns_opentherm_set_central_heating_cmd(void)
|
|||
* Interface
|
||||
\*********************************************************************************************/
|
||||
|
||||
bool Xsns68(uint8_t function)
|
||||
bool Xsns69(uint8_t function)
|
||||
{
|
||||
bool result = false;
|
||||
if (FUNC_INIT == function)
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
xsns_68_opentherm_protocol.ino - OpenTherm protocol support for Tasmota
|
||||
xsns_69_opentherm_protocol.ino - OpenTherm protocol support for Tasmota
|
||||
|
||||
Copyright (C) 2020 Yuriy Sannikov
|
||||
|
||||
|
@ -16,10 +16,11 @@
|
|||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "OpenTherm.h"
|
||||
|
||||
#ifdef USE_OPENTHERM
|
||||
|
||||
#include "OpenTherm.h"
|
||||
|
||||
// Temperature tolerance. If temperature setpoint difference is less than the value,
|
||||
// OT (1)(Control setpoint) command will be skipped
|
||||
#define OPENTHERM_BOILER_SETPOINT_TOLERANCE 1.0
|
|
@ -202,7 +202,7 @@ a_features = [[
|
|||
],[
|
||||
"USE_KEELOQ","USE_HRXL","USE_SONOFF_D1","USE_HDC1080",
|
||||
"USE_IAQ","USE_DISPLAY_SEVENSEG","USE_AS3935","USE_PING",
|
||||
"","","","",
|
||||
"USE_WINDMETER","USE_OPENTHERM","","",
|
||||
"","","","",
|
||||
"","","","",
|
||||
"","","","",
|
||||
|
@ -241,7 +241,7 @@ else:
|
|||
obj = json.load(fp)
|
||||
|
||||
def StartDecode():
|
||||
print ("\n*** decode-status.py v20200428 by Theo Arends and Jacek Ziolkowski ***")
|
||||
print ("\n*** decode-status.py v20200507 by Theo Arends and Jacek Ziolkowski ***")
|
||||
|
||||
# print("Decoding\n{}".format(obj))
|
||||
|
||||
|
|
Loading…
Reference in New Issue