From 822b01b129e200b5752501f9d58230777695b232 Mon Sep 17 00:00:00 2001 From: Glenn Arens Date: Thu, 14 Mar 2019 13:14:38 +0100 Subject: [PATCH] Added extra backup for updates --- lib/myESP/MyESP.cpp | 11 ++++++++--- lib/myESP/MyESP.h | 10 ++++++---- src/ems.cpp | 28 ++++++++++++++-------------- src/ems_devices.h | 7 ++++--- src/version.h | 4 ++-- 5 files changed, 34 insertions(+), 26 deletions(-) diff --git a/lib/myESP/MyESP.cpp b/lib/myESP/MyESP.cpp index 3e39bbe70..c84e64b6a 100644 --- a/lib/myESP/MyESP.cpp +++ b/lib/myESP/MyESP.cpp @@ -322,13 +322,17 @@ void MyESP::_OTACallback() { (_ota_callback)(); // call custom function to handle mqtt receives } } - +ESP8266WebServer httpServer(80); +ESP8266HTTPUpdateServer httpUpdater; // OTA Setup void MyESP::_ota_setup() { if (!_wifi_ssid) { return; } - + MDNS.begin(_app_hostname); + httpUpdater.setup(&httpServer); + httpServer.begin(); + MDNS.addService("http", "tcp", 80); //ArduinoOTA.setPort(OTA_PORT); ArduinoOTA.setHostname(_app_hostname); @@ -1161,7 +1165,8 @@ void MyESP::begin(const char * app_hostname, const char * app_name, const char * void MyESP::loop() { _calculateLoad(); _telnetHandle(); // Telnet/Debugger - + httpServer.handleClient(); + MDNS.update(); jw.loop(); // WiFi // do nothing else until we've got a wifi connection diff --git a/lib/myESP/MyESP.h b/lib/myESP/MyESP.h index 7096d351b..5c59bbec3 100644 --- a/lib/myESP/MyESP.h +++ b/lib/myESP/MyESP.h @@ -15,19 +15,21 @@ #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 #include // added for ESP32 #define ets_vsnprintf vsnprintf // added for ESP32 #define OTA_PORT 8266 #else -//#include +#include +#include +#include #include -#define OTA_PORT 3232 +#define OTA_PORT 8266 #endif #define MYEMS_CONFIG_FILE "/config.json" diff --git a/src/ems.cpp b/src/ems.cpp index da6a6bc89..7592059eb 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -119,7 +119,7 @@ const _EMS_Type EMS_Types[] = { {EMS_MODEL_EASY, EMS_TYPE_EasyStatusMessage, "EasyStatusMessage", _process_EasyStatusMessage}, {EMS_MODEL_BOSCHEASY, EMS_TYPE_EasyStatusMessage, "EasyStatusMessage", _process_EasyStatusMessage}, //Ems plus - {EMSP_MODEL_RC10, EMS_TYPE_EmsPlusStatusMessage, "EMSPStatusMessage", _process_EmsPlusStatusMessage} + {EMSP_MODEL_RC10, EMSP_TYPE_EmsPlusStatusMessage, "EMSPStatusMessage", _process_EmsPlusStatusMessage} }; @@ -1051,19 +1051,19 @@ void _process_EasyStatusMessage(uint8_t type, uint8_t * data, uint8_t length) { EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back via MQTT } void _process_EmsPlusStatusMessage(uint8_t type, uint8_t * data, uint8_t length) { - if (data[3] == 3 || data[3] == 6 || data[3] == 10) { - EMS_Thermostat.setpoint_roomTemp = ((float)data[6]) / (float)2; - if (true) { - char str[300]; - char buffer[16]; - for (size_t i = 0; i < length; i++) { - strlcat(str, _hextoa(data[i], buffer), sizeof(str)); - strlcat(str, " ", sizeof(str)); // add space - } - myDebug(str); + if (true) { + char str[300]; + char buffer[16]; + for (size_t i = 0; i < length; i++) { + strlcat(str, _hextoa(data[i], buffer), sizeof(str)); + strlcat(str, " ", sizeof(str)); // add space } + myDebug(str); } - //EMS_Sys_Status.emsLogging = EMS_SYS_LOGGING_NONE; + if (data[EMSP_TYPE] == EMSP_TYPE_EmsPlusStatusMessage_setpoint) + EMS_Thermostat.setpoint_roomTemp = ((float)data[6]) / (float)2; + if (data[EMSP_TYPE] == EMSP_TYPE_EmsPlusStatusMessage_curr) + EMS_Thermostat.curr_roomTemp = ((float)data[7]) / (float)10; } /* strlcat(output_str, ", type 0x", sizeof(output_str)); @@ -1587,13 +1587,13 @@ void ems_sendRawTelegram(char * telegram) { EMS_Sys_Status.txRetryCount = 0; // reset retry counter // get first value, which should be the src - if ( (p = strtok(telegram, " ,")) ) { // delimiter + 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, " ,")) ) { + if ((p = strtok(NULL, " ,"))) { strlcpy(value, p, sizeof(value)); uint8_t val = (uint8_t)strtol(value, 0, 16); EMS_TxTelegram.data[++count] = val; diff --git a/src/ems_devices.h b/src/ems_devices.h index 1de8b0c76..6f1212fda 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -84,9 +84,10 @@ #define EMS_TYPE_EasyStatusMessage_setpoint 10 // setpoint temp #define EMS_TYPE_EasyStatusMessage_curr 8 // current temp // Ems plus -#define EMS_TYPE_EmsPlusStatusMessage 0xFF // reading values on an Easy Thermostat -#define EMS_TYPE_EmsPlusStatusMessage_setpoint 0 // setpoint temp -#define EMS_TYPE_EmsPlusStatusMessage_curr 0 // current temp +#define EMSP_TYPE_EmsPlusStatusMessage 0xFF // reading values on an Easy Thermostat +#define EMSP_TYPE 3 +#define EMSP_TYPE_EmsPlusStatusMessage_setpoint 10 // setpoint temp +#define EMSP_TYPE_EmsPlusStatusMessage_curr 0 // current temp // Known EMS types typedef enum { EMS_MODEL_NONE, diff --git a/src/version.h b/src/version.h index c078e0432..b31e3693c 100644 --- a/src/version.h +++ b/src/version.h @@ -5,6 +5,6 @@ #pragma once -#define APP_NAME "EMS-ESP" +#define APP_NAME "ems-emmeloord-2" #define APP_VERSION "1.5.6" -#define APP_HOSTNAME "ems-esp" +#define APP_HOSTNAME "ems-emmeloord-2"