non working WIP changes to include more MQTT messages
This commit is contained in:
parent
686fd421a5
commit
f74fde8d82
6
.gitignore
vendored
6
.gitignore
vendored
@ -67,3 +67,9 @@ fp-info-cache
|
|||||||
# Autorouter files (exported from Pcbnew)
|
# Autorouter files (exported from Pcbnew)
|
||||||
*.dsn
|
*.dsn
|
||||||
*.ses
|
*.ses
|
||||||
|
|
||||||
|
.pioenvs
|
||||||
|
.piolibdeps
|
||||||
|
.clang_complete
|
||||||
|
.gcc-flags.json
|
||||||
|
.pio
|
||||||
6140
CAD/UPgehaeuse v27.step
Normal file
6140
CAD/UPgehaeuse v27.step
Normal file
File diff suppressed because it is too large
Load Diff
5674
CAD/UPgehaeuse v29.step
Normal file
5674
CAD/UPgehaeuse v29.step
Normal file
File diff suppressed because it is too large
Load Diff
5674
CAD/UPgehaeuse v31.step
Normal file
5674
CAD/UPgehaeuse v31.step
Normal file
File diff suppressed because it is too large
Load Diff
6265
CAD/UPgehaeuse v33_bottom.step
Normal file
6265
CAD/UPgehaeuse v33_bottom.step
Normal file
File diff suppressed because it is too large
Load Diff
3747
CAD/UPgehaeuse v33_top.step
Normal file
3747
CAD/UPgehaeuse v33_top.step
Normal file
File diff suppressed because it is too large
Load Diff
6127
CAD/UPgehaeuse v34_bottom.step
Normal file
6127
CAD/UPgehaeuse v34_bottom.step
Normal file
File diff suppressed because it is too large
Load Diff
6127
CAD/UPgehaeuse v35_bottom.step
Normal file
6127
CAD/UPgehaeuse v35_bottom.step
Normal file
File diff suppressed because it is too large
Load Diff
6122
CAD/UPgehaeuse v36_bottom.step
Normal file
6122
CAD/UPgehaeuse v36_bottom.step
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@ -28,8 +28,10 @@
|
|||||||
"vias": true,
|
"vias": true,
|
||||||
"zones": true
|
"zones": true
|
||||||
},
|
},
|
||||||
"visible_items": [],
|
"visible_items": [
|
||||||
"visible_layers": "fffffff_ff555555",
|
12
|
||||||
|
],
|
||||||
|
"visible_layers": "fffffff_ffffffff",
|
||||||
"zone_display_mode": 0
|
"zone_display_mode": 0
|
||||||
},
|
},
|
||||||
"git": {
|
"git": {
|
||||||
|
|||||||
@ -144,11 +144,10 @@
|
|||||||
},
|
},
|
||||||
"teardrop_options": [
|
"teardrop_options": [
|
||||||
{
|
{
|
||||||
"td_onpthpad": true,
|
"td_onpadsmd": true,
|
||||||
"td_onroundshapesonly": false,
|
"td_onroundshapesonly": false,
|
||||||
"td_onsmdpad": true,
|
|
||||||
"td_ontrackend": false,
|
"td_ontrackend": false,
|
||||||
"td_onvia": true
|
"td_onviapad": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"teardrop_parameters": [
|
"teardrop_parameters": [
|
||||||
|
|||||||
@ -6492,7 +6492,7 @@
|
|||||||
(justify left)
|
(justify left)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
(property "Value" "33k"
|
(property "Value" "40k7"
|
||||||
(at 223.774 108.204 0)
|
(at 223.774 108.204 0)
|
||||||
(effects
|
(effects
|
||||||
(font
|
(font
|
||||||
@ -7255,7 +7255,7 @@
|
|||||||
(justify left)
|
(justify left)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
(property "Value" "47k"
|
(property "Value" "100k"
|
||||||
(at 224.79 99.0599 0)
|
(at 224.79 99.0599 0)
|
||||||
(effects
|
(effects
|
||||||
(font
|
(font
|
||||||
@ -7324,7 +7324,7 @@
|
|||||||
(justify left)
|
(justify left)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
(property "Value" "1M"
|
(property "Value" "47k"
|
||||||
(at 215.646 108.458 0)
|
(at 215.646 108.458 0)
|
||||||
(effects
|
(effects
|
||||||
(font
|
(font
|
||||||
|
|||||||
3
Raumtermostat/.vscode/settings.json
vendored
3
Raumtermostat/.vscode/settings.json
vendored
@ -3,6 +3,7 @@
|
|||||||
"styles.h": "c",
|
"styles.h": "c",
|
||||||
"string.h": "c",
|
"string.h": "c",
|
||||||
"system_error": "cpp",
|
"system_error": "cpp",
|
||||||
"random": "c"
|
"random": "c",
|
||||||
|
"screens.h": "c"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -13,6 +13,8 @@ platform = espressif32
|
|||||||
board = seeed_xiao_esp32c3
|
board = seeed_xiao_esp32c3
|
||||||
monitor_speed = 115200
|
monitor_speed = 115200
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
upload_protocol = espota
|
||||||
|
upload_port = TMP_wozi-EG.fritz.box
|
||||||
lib_deps =
|
lib_deps =
|
||||||
moononournation/GFX Library for Arduino@^1.5.3
|
moononournation/GFX Library for Arduino@^1.5.3
|
||||||
lvgl/lvgl@^9.2.2
|
lvgl/lvgl@^9.2.2
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
#include "MQTT.h"
|
#include "MQTT.h"
|
||||||
|
|
||||||
|
|
||||||
|
char MQTT::ntpServer[40] = "nas.local";
|
||||||
|
|
||||||
WebServer MQTT::server = WebServer(80);
|
WebServer MQTT::server = WebServer(80);
|
||||||
|
|
||||||
@ -11,6 +12,7 @@ WiFiManagerParameter custom_mqtt_port("port", "mqtt port", "",6);
|
|||||||
WiFiManagerParameter custom_mqtt_topic("topic", "topic", "", 40);
|
WiFiManagerParameter custom_mqtt_topic("topic", "topic", "", 40);
|
||||||
WiFiManagerParameter custom_deftemp("deftemp", "Default Temperature", "", 6);
|
WiFiManagerParameter custom_deftemp("deftemp", "Default Temperature", "", 6);
|
||||||
WiFiManagerParameter custom_enbuff("enBuff", "Enable heatBuffer", "", 6);
|
WiFiManagerParameter custom_enbuff("enBuff", "Enable heatBuffer", "", 6);
|
||||||
|
WiFiManagerParameter custom_ntpServer("ntpServer", "NTP Server", "", 40);
|
||||||
|
|
||||||
MQTT::MQTT(){
|
MQTT::MQTT(){
|
||||||
|
|
||||||
@ -73,17 +75,28 @@ void MQTT::serveData(void){
|
|||||||
|
|
||||||
|
|
||||||
void MQTT::sendStatus(void){
|
void MQTT::sendStatus(void){
|
||||||
char buffer[10];
|
tm timeinfo;
|
||||||
|
char buffer[35];
|
||||||
|
publish_sub("hostname", hostname);
|
||||||
|
publish_sub("IP", myIP);
|
||||||
|
publish_sub("NTP-Server", ntpServer);
|
||||||
|
if(!getLocalTime(&timeinfo)){
|
||||||
|
strcpy(buffer, "00-00-0000T00:00:00+0000");
|
||||||
|
}else{
|
||||||
|
strftime(buffer, sizeof(buffer), "%FT%T%z", &timeinfo);
|
||||||
|
}
|
||||||
|
publish_sub("timestamp",buffer,true);
|
||||||
snprintf(buffer, sizeof buffer, "%0.1f", glblData.temp);
|
snprintf(buffer, sizeof buffer, "%0.1f", glblData.temp);
|
||||||
publish_sub("Temp[degC]",buffer);
|
publish_sub("Temp[degC]",buffer,true);
|
||||||
snprintf(buffer, sizeof buffer, "%0.0f", glblData.seaLevelPress);
|
snprintf(buffer, sizeof buffer, "%0.0f", glblData.seaLevelPress);
|
||||||
publish_sub("pressure[hPa]",buffer);
|
publish_sub("pressure[hPa]",buffer,true);
|
||||||
snprintf(buffer, sizeof buffer, "%0.0f", glblData.hum);
|
snprintf(buffer, sizeof buffer, "%0.0f", glblData.hum);
|
||||||
publish_sub("rHum[%]",buffer);
|
publish_sub("rHum[%]",buffer,true);
|
||||||
snprintf(buffer, sizeof buffer, "%s", digitalRead(PIN_REL)?"true":"false");
|
snprintf(buffer, sizeof buffer, "%s", digitalRead(PIN_REL)?"true":"false");
|
||||||
publish_sub("Heating",buffer);
|
publish_sub("Heating",buffer,true);
|
||||||
snprintf(buffer, sizeof buffer, "%0.1f", glblData.settemp);
|
snprintf(buffer, sizeof buffer, "%0.1f", glblData.settemp);
|
||||||
publish_sub("Set Temp[degC]",buffer);
|
publish_sub("Set Temp[degC]",buffer,true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -96,6 +109,7 @@ void MQTT::begin(){
|
|||||||
prefs.getString("MQTT_TOPIC",mqtt_topic,40);
|
prefs.getString("MQTT_TOPIC",mqtt_topic,40);
|
||||||
defTemp = prefs.getFloat("DEF_TMP",defTemp);
|
defTemp = prefs.getFloat("DEF_TMP",defTemp);
|
||||||
enBuff = prefs.getBool("EN_OVR",enBuff);
|
enBuff = prefs.getBool("EN_OVR",enBuff);
|
||||||
|
prefs.getString("NTP_SERVER",ntpServer,40);
|
||||||
glblData.enBuff = enBuff;
|
glblData.enBuff = enBuff;
|
||||||
ui_settemp(defTemp);
|
ui_settemp(defTemp);
|
||||||
prefs.end();
|
prefs.end();
|
||||||
@ -106,12 +120,14 @@ void MQTT::begin(){
|
|||||||
custom_mqtt_topic.setValue(mqtt_topic,40);
|
custom_mqtt_topic.setValue(mqtt_topic,40);
|
||||||
custom_deftemp.setValue(String(defTemp).c_str(),6);
|
custom_deftemp.setValue(String(defTemp).c_str(),6);
|
||||||
custom_enbuff.setValue(String(enBuff).c_str(),6);
|
custom_enbuff.setValue(String(enBuff).c_str(),6);
|
||||||
|
custom_ntpServer.setValue(String(ntpServer).c_str(),40);
|
||||||
wm.addParameter(&custom_hostname);
|
wm.addParameter(&custom_hostname);
|
||||||
wm.addParameter(&custom_mqtt_server);
|
wm.addParameter(&custom_mqtt_server);
|
||||||
wm.addParameter(&custom_mqtt_port);
|
wm.addParameter(&custom_mqtt_port);
|
||||||
wm.addParameter(&custom_mqtt_topic);
|
wm.addParameter(&custom_mqtt_topic);
|
||||||
wm.addParameter(&custom_deftemp);
|
wm.addParameter(&custom_deftemp);
|
||||||
wm.addParameter(&custom_enbuff);
|
wm.addParameter(&custom_enbuff);
|
||||||
|
wm.addParameter(&custom_ntpServer);
|
||||||
psclient.setClient(client);
|
psclient.setClient(client);
|
||||||
psclient.setServer(mqtt_server,mqtt_port);
|
psclient.setServer(mqtt_server,mqtt_port);
|
||||||
WiFi.setHostname(custom_hostname.getValue()); //define hostname
|
WiFi.setHostname(custom_hostname.getValue()); //define hostname
|
||||||
@ -183,6 +199,7 @@ void MQTT::saveConfigToFlash(void){
|
|||||||
mqtt_port = atoi(custom_mqtt_port.getValue());
|
mqtt_port = atoi(custom_mqtt_port.getValue());
|
||||||
strcpy(hostname,custom_hostname.getValue());
|
strcpy(hostname,custom_hostname.getValue());
|
||||||
strcpy(mqtt_topic,custom_mqtt_topic.getValue());
|
strcpy(mqtt_topic,custom_mqtt_topic.getValue());
|
||||||
|
strcpy(ntpServer,custom_ntpServer.getValue());
|
||||||
defTemp = atof(custom_deftemp.getValue());
|
defTemp = atof(custom_deftemp.getValue());
|
||||||
if(custom_enbuff.getValue() != "0"){
|
if(custom_enbuff.getValue() != "0"){
|
||||||
enBuff = true;
|
enBuff = true;
|
||||||
@ -195,6 +212,7 @@ void MQTT::saveConfigToFlash(void){
|
|||||||
prefs.putString("MQTT_TOPIC",mqtt_topic);
|
prefs.putString("MQTT_TOPIC",mqtt_topic);
|
||||||
prefs.putFloat("DEF_TMP",defTemp);
|
prefs.putFloat("DEF_TMP",defTemp);
|
||||||
prefs.putBool("EN_OVR",enBuff);
|
prefs.putBool("EN_OVR",enBuff);
|
||||||
|
prefs.putString("NTP_SERVER",ntpServer);
|
||||||
prefs.end();
|
prefs.end();
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -278,10 +296,10 @@ void MQTT::publish(const char* msg, unsigned int len){
|
|||||||
void MQTT::publish(const char* msg, bool retained){
|
void MQTT::publish(const char* msg, bool retained){
|
||||||
psclient.publish(mqtt_topic,msg,retained);
|
psclient.publish(mqtt_topic,msg,retained);
|
||||||
}
|
}
|
||||||
void MQTT::publish_sub(const char* subtopic, const char* msg){
|
void MQTT::publish_sub(const char* subtopic, const char* msg, bool retained){
|
||||||
char newtopic[60];
|
char newtopic[60];
|
||||||
strcpy(newtopic,mqtt_topic);
|
strcpy(newtopic,mqtt_topic);
|
||||||
strcat(newtopic,"/");
|
strcat(newtopic,"/");
|
||||||
strcat(newtopic,subtopic);
|
strcat(newtopic,subtopic);
|
||||||
psclient.publish(newtopic,msg);
|
psclient.publish(newtopic,msg, retained);
|
||||||
}
|
}
|
||||||
@ -40,7 +40,7 @@ public:
|
|||||||
void publish(const char* msg, unsigned int len);
|
void publish(const char* msg, unsigned int len);
|
||||||
void publish(const char* msg, bool retained);
|
void publish(const char* msg, bool retained);
|
||||||
void publish(const char* msg, unsigned int len, bool retained);
|
void publish(const char* msg, unsigned int len, bool retained);
|
||||||
void publish_sub(const char* subtopic, const char* msg);
|
void publish_sub(const char* subtopic, const char* msg, bool retained=false);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static void serveData(void);
|
static void serveData(void);
|
||||||
@ -51,6 +51,7 @@ private:
|
|||||||
int mqtt_port = 1883;
|
int mqtt_port = 1883;
|
||||||
float defTemp = 0.0;
|
float defTemp = 0.0;
|
||||||
bool enBuff = false;
|
bool enBuff = false;
|
||||||
|
static char ntpServer[40];
|
||||||
char hostname[40] = "TMP_WoZi-EG";
|
char hostname[40] = "TMP_WoZi-EG";
|
||||||
char mqtt_topic[40] = "Raumtemp/EG/Wohnzimmer";
|
char mqtt_topic[40] = "Raumtemp/EG/Wohnzimmer";
|
||||||
void saveConfigToFlash(void);
|
void saveConfigToFlash(void);
|
||||||
|
|||||||
@ -100,9 +100,10 @@ void setup(void)
|
|||||||
{
|
{
|
||||||
|
|
||||||
DisplayInit();
|
DisplayInit();
|
||||||
|
pinMode(PIN_REL,OUTPUT);
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
lv_init();
|
lv_init();
|
||||||
WiFi.setSleep(WIFI_PS_MIN_MODEM);
|
//WiFi.setSleep(WIFI_PS_MIN_MODEM);
|
||||||
lv_log_register_print_cb(log_print);
|
lv_log_register_print_cb(log_print);
|
||||||
TouchInit();
|
TouchInit();
|
||||||
bme.begin();
|
bme.begin();
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define PIN_REL 21
|
#define PIN_REL 20
|
||||||
|
|
||||||
typedef enum override_e{
|
typedef enum override_e{
|
||||||
OVR_NONE,
|
OVR_NONE,
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
#define EEZ_LVGL_UI_SCREENS_H
|
#define EEZ_LVGL_UI_SCREENS_H
|
||||||
|
|
||||||
#include <lvgl.h>
|
#include <lvgl.h>
|
||||||
|
#include <ui/symbols.h>
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -3,19 +3,20 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef LV_SYMBOL_DEF_H
|
#ifndef SYMBOLS_H
|
||||||
#define LV_SYMBOL_DEF_H
|
#define SYMBOLS_H
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
LV_FONT_DECLARE(Bootstrap_Icons_16);
|
LV_FONT_DECLARE(Bootstrap_Icons_16);
|
||||||
|
LV_FONT_DECLARE(Bootstrap_Icons_18);
|
||||||
//included icons in bootstrap font
|
//included icons in bootstrap font
|
||||||
//use this list for font generator:
|
//use this list for font generator:
|
||||||
/*
|
/*
|
||||||
0xF619-0xF61C,0xF7F6,0xF4FF,0xF185-0xF188,0xF30B-0xF30D,0xF493,0xF4F7,0xF5CD-0xF5D20xF100,
|
0xF619-0xF61C,0xF7F6,0xF4FF,0xF185-0xF188,0xF30B-0xF30D,0xF493,0xF4F7,
|
||||||
|
0xF5CD-0xF5D2,0xF100,0xF479,0xF5D4,0xF5D3,0xF116,0xF117,0xF3F2,0xF229,0xF22C,0xF235,0xF238,0xF22D,0xF230,0xF231,0xF234
|
||||||
|
|
||||||
*/
|
*/
|
||||||
#define ICON_WIFI_LOW "\xEF\x98\x99" //F619
|
#define ICON_WIFI_LOW "\xEF\x98\x99" //F619
|
||||||
|
|||||||
@ -25,30 +25,6 @@
|
|||||||
#define SCREEN_WIDTH 240
|
#define SCREEN_WIDTH 240
|
||||||
#define SCREEN_HEIGHT 240
|
#define SCREEN_HEIGHT 240
|
||||||
|
|
||||||
LV_FONT_DECLARE(Bootstrap_Icons_18);
|
|
||||||
|
|
||||||
#define ICON_WIFI_LOW "\xEF\x98\x99" //F619
|
|
||||||
#define ICON_WIFI_MED "\xEF\x98\x9A" //F61A
|
|
||||||
#define ICON_WIFI_HIGH "\xEF\x98\x9C" //F61C
|
|
||||||
#define ICON_WIFI_OFF "\xEF\x98\x9B" //F61B
|
|
||||||
#define ICON_FIRE "\xEF\x9F\xB6" //F7F6
|
|
||||||
#define ICON_POWER "\xEF\x93\xBF" //F4FF
|
|
||||||
#define ICON_BATT_CHARG "\xEF\x86\x85" //F185
|
|
||||||
#define ICON_BATT_FULL "\xEF\x86\x86" //F186
|
|
||||||
#define ICON_BATT_HALF "\xEF\x86\x87" //F187
|
|
||||||
#define ICON_BATT "\xEF\x86\x88" //F188
|
|
||||||
#define ICON_DROPLET_FULL "\xEF\x8C\x8B" //F30B
|
|
||||||
#define ICON_DROPLET_HALF "\xEF\x8C\x8C" //F30C
|
|
||||||
#define ICON_DROPLET "\xEF\x8C\x8D" //F30D
|
|
||||||
#define ICON_MOISTURE "\xEF\x92\x93" //F493
|
|
||||||
#define ICON_PLUG "\xEF\x93\xB7" //F4F7
|
|
||||||
#define ICON_THERMOMETER_HALF "\xEF\x97\x8D" //F5CD
|
|
||||||
#define ICON_THERMOMETER_HIGH "\xEF\x97\x8E" //F5CE
|
|
||||||
#define ICON_THERMOMETER_LOW "\xEF\x97\x8F" //F5CF
|
|
||||||
#define ICON_THERMOMETER_SNOW "\xEF\x97\x90" //F5D0
|
|
||||||
#define ICON_THERMOMETER_SUN "\xEF\x97\x91" //F5D1
|
|
||||||
#define ICON_THERMOMETER "\xEF\x97\x92" //F5D2
|
|
||||||
|
|
||||||
#if defined(EEZ_FOR_LVGL)
|
#if defined(EEZ_FOR_LVGL)
|
||||||
#include <eez/flow/lvgl_api.h>
|
#include <eez/flow/lvgl_api.h>
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user