From 4b5e51929369ebd3db06af92c514d66e7bcc3027 Mon Sep 17 00:00:00 2001 From: hans-jurgen Date: Sun, 14 Dec 2025 15:47:43 +0100 Subject: [PATCH] 2025-12-1402 --- platformio.ini | 10 +++---- src/main.cpp | 73 +++++++++++++++++++++++++++++++++++++------------- 2 files changed, 60 insertions(+), 23 deletions(-) diff --git a/platformio.ini b/platformio.ini index 7415a70..2f0ded3 100644 --- a/platformio.ini +++ b/platformio.ini @@ -24,10 +24,10 @@ lib_deps = build_flags = -DSCAN=32 - -DZEILE_3=24 - -DZEILE_4=32 - -DZEILE_5=41 - -DZEILE_5=50 + -DZEILE_3=25 + -DZEILE_4=33 + -DZEILE_5=42 + -DZEILE_6=51 [env:debug] ; Entwicklungssystem build_flags = ${env.build_flags} @@ -92,7 +92,7 @@ build_flags = ${env.build_flags} -Dmqtt_user=\"hjk\" -Dmqtt_pass=\"51Fische#\" -DINNEN=\"hjk/devices/TEMPWOHNZIM/telemetry/temperature\" - -DINNENHUMITY=\"hjk/devices/TEMPWOHNZIM/telemetry/humity\" + -DINNENHUMITY=\"hjk/devices/TEMPWOHNZIM/telemetry/humidity\" -DFLUR=\"hjk/devices/TEMPFLUR/telemetry/temperature\" -DCO2=\"hjk/devices/257923/telemetry/co2\" -DAKKU=\"hjk/devices/WETTERSTATION/telemetry/battery\" diff --git a/src/main.cpp b/src/main.cpp index 0877db4..7bfa337 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -90,6 +90,8 @@ uint16_t myBLACK = display.color565(0, 0, 0); uint16_t myDATUM = display.color565(128, 128, 128); uint16_t myTEMP = display.color565(255, 255, 255); uint16_t myCo = display.color565(0, 64, 0); +uint16_t myHimmelblau = display.color565(0, 95, 127); + uint16_t myTEST = display.color565(30, 30, 0); @@ -128,6 +130,7 @@ float Covid19 = 0.00; float Aussentemp = -99.90; int Pressure = 0; float TempWohn = -99.90; +int FeuchtWohn = 0; float TempFlur = -99.99; float Luftfeuchtigkeit = 0.00; float Akku = -99.00; @@ -172,8 +175,10 @@ bool getNTPtime(int sec); void showTime(tm localTime); static uint32_t lastTime = 0; // millis() memory static void setup_wifi(); -void ZeigeTemperatur(float temperatur, uint16_t Color); -void ZeigeInnenFeuchtigkeit(float Luftfeuchtigkeit); +void ZeigeTemperatur(float temperatur, uint16_t Zeile, uint16_t Color); +void ZeigeInnenFeuchtigkeit(float Luftfeuchtigkeit, uint16_t Zeile, uint16_t Color); +void ZeigeLuftdruck(float Druck, uint16_t zeile, uint16_t Color); +void ZeigeAussenTemp(float temperatur, uint16_t zeile, uint16_t Color); #ifdef ESP8266 // ISR for display refresh @@ -293,7 +298,7 @@ void callback(char* topic1, byte* payload, unsigned int length) { Serial.print("Luftfeuchtigkeit Innen: "); Serial.print(msg); Serial.println(" %"); - TempWohn = atof(msg); + FeuchtWohn = atof(msg); } #endif #ifdef FLUR @@ -343,6 +348,7 @@ void reconnect() { client.subscribe(topic_Wetter); client.subscribe(topic_Pressure); client.subscribe(topic_Innen); + client.subscribe(topic_Innen_humity); #ifdef FLUR client.subscribe(topic_Flur); #endif @@ -779,11 +785,11 @@ void loop() { blinkSek = !blinkSek; ZeigeDatum(timeinfo, 1, 0); ZeigeZeit(timeinfo, TimeX, TimeY); - ZeigeTemperatur(TempWohn, myGREEN); - ZeigeInnenFeuchtigkeit(Luftfeuchtigkeit); - display.fillRect(0, 32, 64, 9, myBLUE); - display.fillRect(0, 41, 64, 9, myRED); - display.fillRect(0, 50, 64, 9, myYELLOW); + ZeigeTemperatur(TempWohn, ZEILE_3, myGREEN); + ZeigeInnenFeuchtigkeit(FeuchtWohn, ZEILE_3, myGREEN); + //display.fillRect(0, ZEILE_4, 64, 9, myBLUE); + ZeigeAussenTemp(Aussentemp, ZEILE_5, myHimmelblau); + ZeigeLuftdruck(Pressure, ZEILE_6, myHimmelblau); #ifdef Co2 ZeigeCO(1,CoY); @@ -898,37 +904,68 @@ void showTime(tm localTime) { ); } -void ZeigeTemperatur(float temperatur, uint16_t Color){ +void ZeigeTemperatur(float temperatur, uint16_t zeile, uint16_t Color){ char szWetter[15]; if (Aussentemp > -99) { dtostrf(temperatur, 5, 1, szWetter); display.setFont(); - display.setCursor(1, 24); + display.setCursor(1, zeile); display.setTextColor(Color); - display.fillRect(0, 23, 40, 9, myBLACK); + display.fillRect(0, zeile - 1, 40, 9, myBLACK); display.print(szWetter); - display.setCursor(31, 19); + display.setCursor(31, zeile - 5); display.setFont(&Picopixel); display.print("o"); - display.setCursor(34, 80); display.setFont(); + display.setCursor(34, zeile); display.print("C"); display.setFont(0); } } -void ZeigeInnenFeuchtigkeit(float Luftfeuchtigkeit){ +void ZeigeInnenFeuchtigkeit(float Luftfeuchtigkeit, uint16_t zeile, uint16_t Color){ char szWetter[15]; if (Aussentemp > -99) { dtostrf(Luftfeuchtigkeit, 2, 0, szWetter); display.setFont(); - display.setCursor(40, 24); - display.setTextColor(myGREEN); - display.fillRect(40, 23, 64, 9, myBLACK); + display.setCursor(46, zeile); + display.setTextColor(Color); + display.fillRect(46, zeile - 1, 64, 9, myBLACK); display.print(szWetter); display.print("%"); display.setFont(0); } -} \ No newline at end of file +} + +void ZeigeLuftdruck(float Pressure, uint16_t zeile, uint16_t Color){ + char szWetter[15]; + dtostrf(Pressure, 4, 0, szWetter); + display.setFont(); + display.fillRect(0, zeile - 1, 64, 10, myBLACK); + display.setCursor(10, zeile); + display.setTextColor(myHimmelblau); + display.print(szWetter); + display.print(" hPa"); + display.setFont(0); + +} + +void ZeigeAussenTemp(float temperatur, uint16_t zeile, uint16_t Color){ + char szWetter[15]; + dtostrf(temperatur, 6, 1, szWetter); + display.setFont(); + display.fillRect(0, zeile - 1, 64, 10, myBLACK); + display.setCursor(2, zeile); + display.setTextColor(myHimmelblau); + display.print(szWetter); + display.setCursor(38, zeile - 5); + display.setFont(&Picopixel); + display.print("o"); + display.setFont(); + display.setCursor(42, zeile); + display.print("C"); + display.setFont(0); + +}