Add OA temp display

This commit is contained in:
Carsten Schmiemann 2022-11-13 02:47:22 +01:00
parent 3c599b5e42
commit 0c0020547b
3 changed files with 21 additions and 11 deletions

View file

@ -41,10 +41,19 @@ char* title_battery;
char* title_grid; char* title_grid;
bool pv_charging = false; bool pv_charging = false;
bool show_temp_outside = false; bool show_temp_outside;
float temperature_outside = 0.0; float temperature_outside;
char* screenbuffer; char* screenbuffer;
void display_setup(bool set_show_temp_outside, char lang[2]) {
show_temp_outside = set_show_temp_outside;
set_display_language(lang);
}
void display_globals(float temperature_outside) {
temperature_outside = temperature_outside;
}
void display_begin() { void display_begin() {
display.begin(); display.begin();
} }
@ -101,7 +110,7 @@ void display_header(char* TEXT) {
display.drawLine(100, 0, 100, 8); display.drawLine(100, 0, 100, 8);
if (show_temp_outside) if (show_temp_outside)
{ {
display.setCursor(50,7); display.print(temperature_outside); display.setCursor(70,7); display.print(temperature_outside,1);
} }
} }

View file

@ -22,6 +22,8 @@
; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
; THE SOFTWARE. ; THE SOFTWARE.
*/ */
void display_setup(bool set_show_temp_outside,char lang[2]);
void display_globals(float temperature_outside);
void display_begin(); void display_begin();
void display_init(char* VERSION); void display_init(char* VERSION);
void display_logo(); void display_logo();

View file

@ -48,7 +48,7 @@
#include <lang.h> #include <lang.h>
#include <display.h> #include <display.h>
char VERSION[6] = "v0.5b"; char VERSION[6] = "v0.7b";
//Defaults //Defaults
char mqtt_server[15] = ""; char mqtt_server[15] = "";
@ -64,10 +64,6 @@ char display_lang[2] = "";
long unsigned int DISPLAY_REFRESH_INTERVAL; long unsigned int DISPLAY_REFRESH_INTERVAL;
long unsigned int DISPLAY_SCREEN_INTERVAL; long unsigned int DISPLAY_SCREEN_INTERVAL;
//Display config
extern bool show_temp_outside;
extern float temperature_outside;
//MQTT connect strings //MQTT connect strings
char mqtt_pv_voltage[80]; char mqtt_pv_voltage[80];
char mqtt_pv_power[80]; char mqtt_pv_power[80];
@ -211,7 +207,7 @@ void callback(char* topic, byte* message, unsigned int length) {
if (String(topic) == mqtt_temp_outside) { if (String(topic) == mqtt_temp_outside) {
DynamicJsonDocument json(512); DynamicJsonDocument json(512);
deserializeJson(json, messageTemp); deserializeJson(json, messageTemp);
temperature_outside = json["value"]; display_globals(json["value"]);
} }
//System - AC Load Phase 1 //System - AC Load Phase 1
@ -400,11 +396,14 @@ void setup() {
DISPLAY_REFRESH_INTERVAL = strtol(disp_refresh_interval, NULL, 10); DISPLAY_REFRESH_INTERVAL = strtol(disp_refresh_interval, NULL, 10);
DISPLAY_SCREEN_INTERVAL = strtol(disp_screen_interval, NULL, 10); DISPLAY_SCREEN_INTERVAL = strtol(disp_screen_interval, NULL, 10);
set_display_language(display_lang);
if (strtol(address_outside_temperature, NULL, 10) != 0) if (strtol(address_outside_temperature, NULL, 10) != 0)
{ {
show_temp_outside = true; display_setup(true, display_lang);
}
else
{
display_setup(false, display_lang);
} }
client.setServer(mqtt_server, 1883); client.setServer(mqtt_server, 1883);