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 =
-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\"

View File

@@ -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);
}
}
}
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);
}