2025-12-1402

This commit is contained in:
2025-12-14 15:47:43 +01:00
parent bacaaf5605
commit 4b5e519293
2 changed files with 60 additions and 23 deletions

View File

@@ -24,10 +24,10 @@ lib_deps =
build_flags = build_flags =
-DSCAN=32 -DSCAN=32
-DZEILE_3=24 -DZEILE_3=25
-DZEILE_4=32 -DZEILE_4=33
-DZEILE_5=41 -DZEILE_5=42
-DZEILE_5=50 -DZEILE_6=51
[env:debug] ; Entwicklungssystem [env:debug] ; Entwicklungssystem
build_flags = ${env.build_flags} build_flags = ${env.build_flags}
@@ -92,7 +92,7 @@ build_flags = ${env.build_flags}
-Dmqtt_user=\"hjk\" -Dmqtt_user=\"hjk\"
-Dmqtt_pass=\"51Fische#\" -Dmqtt_pass=\"51Fische#\"
-DINNEN=\"hjk/devices/TEMPWOHNZIM/telemetry/temperature\" -DINNEN=\"hjk/devices/TEMPWOHNZIM/telemetry/temperature\"
-DINNENHUMITY=\"hjk/devices/TEMPWOHNZIM/telemetry/humity\" -DINNENHUMITY=\"hjk/devices/TEMPWOHNZIM/telemetry/humidity\"
-DFLUR=\"hjk/devices/TEMPFLUR/telemetry/temperature\" -DFLUR=\"hjk/devices/TEMPFLUR/telemetry/temperature\"
-DCO2=\"hjk/devices/257923/telemetry/co2\" -DCO2=\"hjk/devices/257923/telemetry/co2\"
-DAKKU=\"hjk/devices/WETTERSTATION/telemetry/battery\" -DAKKU=\"hjk/devices/WETTERSTATION/telemetry/battery\"

View File

@@ -90,6 +90,8 @@ uint16_t myBLACK = display.color565(0, 0, 0);
uint16_t myDATUM = display.color565(128, 128, 128); uint16_t myDATUM = display.color565(128, 128, 128);
uint16_t myTEMP = display.color565(255, 255, 255); uint16_t myTEMP = display.color565(255, 255, 255);
uint16_t myCo = display.color565(0, 64, 0); uint16_t myCo = display.color565(0, 64, 0);
uint16_t myHimmelblau = display.color565(0, 95, 127);
uint16_t myTEST = display.color565(30, 30, 0); uint16_t myTEST = display.color565(30, 30, 0);
@@ -128,6 +130,7 @@ float Covid19 = 0.00;
float Aussentemp = -99.90; float Aussentemp = -99.90;
int Pressure = 0; int Pressure = 0;
float TempWohn = -99.90; float TempWohn = -99.90;
int FeuchtWohn = 0;
float TempFlur = -99.99; float TempFlur = -99.99;
float Luftfeuchtigkeit = 0.00; float Luftfeuchtigkeit = 0.00;
float Akku = -99.00; float Akku = -99.00;
@@ -172,8 +175,10 @@ bool getNTPtime(int sec);
void showTime(tm localTime); void showTime(tm localTime);
static uint32_t lastTime = 0; // millis() memory static uint32_t lastTime = 0; // millis() memory
static void setup_wifi(); static void setup_wifi();
void ZeigeTemperatur(float temperatur, uint16_t Color); void ZeigeTemperatur(float temperatur, uint16_t Zeile, uint16_t Color);
void ZeigeInnenFeuchtigkeit(float Luftfeuchtigkeit); 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 #ifdef ESP8266
// ISR for display refresh // ISR for display refresh
@@ -293,7 +298,7 @@ void callback(char* topic1, byte* payload, unsigned int length) {
Serial.print("Luftfeuchtigkeit Innen: "); Serial.print("Luftfeuchtigkeit Innen: ");
Serial.print(msg); Serial.print(msg);
Serial.println(" %"); Serial.println(" %");
TempWohn = atof(msg); FeuchtWohn = atof(msg);
} }
#endif #endif
#ifdef FLUR #ifdef FLUR
@@ -343,6 +348,7 @@ void reconnect() {
client.subscribe(topic_Wetter); client.subscribe(topic_Wetter);
client.subscribe(topic_Pressure); client.subscribe(topic_Pressure);
client.subscribe(topic_Innen); client.subscribe(topic_Innen);
client.subscribe(topic_Innen_humity);
#ifdef FLUR #ifdef FLUR
client.subscribe(topic_Flur); client.subscribe(topic_Flur);
#endif #endif
@@ -779,11 +785,11 @@ void loop() {
blinkSek = !blinkSek; blinkSek = !blinkSek;
ZeigeDatum(timeinfo, 1, 0); ZeigeDatum(timeinfo, 1, 0);
ZeigeZeit(timeinfo, TimeX, TimeY); ZeigeZeit(timeinfo, TimeX, TimeY);
ZeigeTemperatur(TempWohn, myGREEN); ZeigeTemperatur(TempWohn, ZEILE_3, myGREEN);
ZeigeInnenFeuchtigkeit(Luftfeuchtigkeit); ZeigeInnenFeuchtigkeit(FeuchtWohn, ZEILE_3, myGREEN);
display.fillRect(0, 32, 64, 9, myBLUE); //display.fillRect(0, ZEILE_4, 64, 9, myBLUE);
display.fillRect(0, 41, 64, 9, myRED); ZeigeAussenTemp(Aussentemp, ZEILE_5, myHimmelblau);
display.fillRect(0, 50, 64, 9, myYELLOW); ZeigeLuftdruck(Pressure, ZEILE_6, myHimmelblau);
#ifdef Co2 #ifdef Co2
ZeigeCO(1,CoY); 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]; char szWetter[15];
if (Aussentemp > -99) if (Aussentemp > -99)
{ {
dtostrf(temperatur, 5, 1, szWetter); dtostrf(temperatur, 5, 1, szWetter);
display.setFont(); display.setFont();
display.setCursor(1, 24); display.setCursor(1, zeile);
display.setTextColor(Color); display.setTextColor(Color);
display.fillRect(0, 23, 40, 9, myBLACK); display.fillRect(0, zeile - 1, 40, 9, myBLACK);
display.print(szWetter); display.print(szWetter);
display.setCursor(31, 19); display.setCursor(31, zeile - 5);
display.setFont(&Picopixel); display.setFont(&Picopixel);
display.print("o"); display.print("o");
display.setCursor(34, 80);
display.setFont(); display.setFont();
display.setCursor(34, zeile);
display.print("C"); display.print("C");
display.setFont(0); display.setFont(0);
} }
} }
void ZeigeInnenFeuchtigkeit(float Luftfeuchtigkeit){ void ZeigeInnenFeuchtigkeit(float Luftfeuchtigkeit, uint16_t zeile, uint16_t Color){
char szWetter[15]; char szWetter[15];
if (Aussentemp > -99) if (Aussentemp > -99)
{ {
dtostrf(Luftfeuchtigkeit, 2, 0, szWetter); dtostrf(Luftfeuchtigkeit, 2, 0, szWetter);
display.setFont(); display.setFont();
display.setCursor(40, 24); display.setCursor(46, zeile);
display.setTextColor(myGREEN); display.setTextColor(Color);
display.fillRect(40, 23, 64, 9, myBLACK); display.fillRect(46, zeile - 1, 64, 9, myBLACK);
display.print(szWetter); display.print(szWetter);
display.print("%"); display.print("%");
display.setFont(0); display.setFont(0);
} }
} }
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);
}