Autor Thema: Hatte das schon jemand in der Hand: ArduiTouch Wandgehäuseset mit Touchscreen ?  (Gelesen 24929 mal)

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 3196
Und hier noch die Libraries.
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Online frober

  • Sr. Member
  • ****
  • Beiträge: 901
  • Was man nicht kann, kann man lernen...
Hallo,

anbei eine neue Version:

- RGB, GRB im WebFrontend auswählbar
- LED Helligkeit im WebFrontend festlegbar

Grüße Jörg
Wow danke, wenn ich das gewusst hätte...

Falls es dir noch nicht aufgefallen ist, du bist beim Revers des LDR etwas "gestolpert"....
Minimale Helligkeit hast du einmal auf 0 und max. einmal nur auf 200. D.h. die beiden Richtungen sind nicht gleich.
Und eine ältere Bitte ;D, bei der Initialisierung von MHZ ein delay() zwecks besserer Lesbarkeit beim Start.

Bei Gelegenheit, wenn du mal wieder was änderst. Wäre es nett, wenn du das mit aufnehmen, bzw. korrigieren könntest.

An sondern nochmal Dankeschön für deine Arbeit.

Grüße Bernd

P.S. wenn es dir Recht ist, ändere ich es und stell dir den Sketch wieder zur Verfügung.
« Letzte Änderung: 03 März 2021, 18:40:11 von frober »
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 3196
Falls es dir noch nicht aufgefallen ist, du bist beim Revers des LDR etwas "gestolpert"....

Hallo Bernd,

ich habe das Reverse zunächst nur für LDR eingebaut und nicht für die feste Vorgabe über das Web Frontend.

0 oder 250 sind jeweils der hellste Wert
20 oder 200 jeweils der dunkelste, da ich das Display nicht ganz ausschalten möchte. Wir können bei 200 aber auch gerne auf 230 gehen. Probiere doch mal den dunkelsten noch lesbaren Wert aus.

Grüße Jörg

PS: Neue Version
- Delays beim Hochfahren verlängert
- Bei Reverse Helligkeit wird jetzt auch feste Helligkeit berücksichtig
- Minimale Helligkeit bei Reverse angepasst
« Letzte Änderung: 04 März 2021, 13:35:44 von JoWiemann »
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Online frober

  • Sr. Member
  • ****
  • Beiträge: 901
  • Was man nicht kann, kann man lernen...
Hallo Bernd,

ich habe das Reverse zunächst nur für LDR eingebaut und nicht für die feste Vorgabe über das Web Frontend.

0 oder 250 sind jeweils der hellste Wert
20 oder 200 jeweils der dunkelste, da ich das Display nicht ganz ausschalten möchte. Wir können bei 200 aber auch gerne auf 230 gehen. Probiere doch mal den dunkelsten noch lesbaren Wert aus.

Grüße Jörg

PS: Neue Version
- Delays beim Hochfahren verlängert
- Bei Reverse Helligkeit wird jetzt auch feste Helligkeit berücksichtig
- Minimale Helligkeit bei Reverse angepasst

Hallo Jörg,

ich glaube wir haben uns missverstanden. Sorry, ich schreibe meist am Handy, da macht es keinen Spaß Codebsp. mit c&p einzufügen.

Erstmal zum delay() (Beginnt bei Zeile 241)
Zitat
if (!co2Sensor.begin(co2Serial)){                       // *Important, Pass your Stream reference
    MHZ19_Present = false;
    processInfo("Sensors: MHZ19B not found...", 50, 0);
    led[0] = CRGB::Red;
   delay(1000);
  } else {
.
.
.
.
processInfo("Sensors: MHZ19B found...", 50, 0);
    led[0] = CRGB::Green;
   delay(1000);
  }
Dann hat man etwas Zeit, die Meldung zu lesen.



LDR: Das Umschalten auf reverse über die Weboberfläche war für mich mehr als ausreichend.
Bei diesem Code ist mir das "reverse" aufgefallen:
   if (LDRReading < 100) {
      ledcWrite(tftledChannel, 20); // the most bright screen
   
    } else if (LDRReading < 250) {
      ledcWrite(tftledChannel, 80);
   
    } else if (LDRReading < 500) {
      ledcWrite(tftledChannel, 110);

    } else if (LDRReading < 750) {
      ledcWrite(tftledChannel, 140);

    } else if (LDRReading < 950) {
      ledcWrite(tftledChannel, 170);

    } else if (LDRReading < 1500) {
      ledcWrite(tftledChannel, 200);

    } else {
      ledcWrite(tftledChannel, 250); // the most dark screen
    }

Ich habe es einfach für mich umgedreht:
    if (LDRReading < 100) {
      ledcWrite(tftledChannel, 250); // the most dark screen
   
    } else if (LDRReading < 250) {
      ledcWrite(tftledChannel, 200);
   
    } else if (LDRReading < 500) {
      ledcWrite(tftledChannel, 170);

    } else if (LDRReading < 750) {
      ledcWrite(tftledChannel, 140);

    } else if (LDRReading < 950) {
      ledcWrite(tftledChannel, 110);

    } else if (LDRReading < 1500) {
      ledcWrite(tftledChannel, 80);

    } else {
      ledcWrite(tftledChannel, 20); // the most bright screen
    }
  }
}

Mit der reverse-Funktion hätte ich das erwartet:
if (LDRReading < 100) {
      ledcWrite(tftledChannel, IS_REVERSE?250:20); // the most bright screen
   
    } else if (LDRReading < 250) {
      ledcWrite(tftledChannel, IS_REVERSE?200:80);
   
    } else if (LDRReading < 500) {
      ledcWrite(tftledChannel, IS_REVERSE?170:110);

    } else if (LDRReading < 750) {
      ledcWrite(tftledChannel, IS_REVERSE?140:140);

    } else if (LDRReading < 950) {
      ledcWrite(tftledChannel, IS_REVERSE?110:170);

    } else if (LDRReading < 1500) {
      ledcWrite(tftledChannel, IS_REVERSE?80:200);

    } else {
      ledcWrite(tftledChannel, IS_REVERSE?20:250); // the most dark screen
    }

Du brauchst das nicht mehr zu ändern, mir geht es nur ums Verständnis für mich. Wenn du für dich andere Werte verwendest, die dann im Code stehen, ist das völlig ok. Ich bin noch am lernen und versuche den Code zu verstehen, deshalb die eine oder andere Frage.
Die Konfig übers Web finde ich gut, die spart mir die Anpassungen im Code und ich denke für zukünftige User ist es auch hilfreich.

Nochmals Danke
Bernd
« Letzte Änderung: 04 März 2021, 18:31:00 von frober »
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 3196

Erstmal zum delay() (Beginnt bei Zeile 241)Dann hat man etwas Zeit, die Meldung zu lesen.

Hallo Bernd,

wenn Du etwas weiter im Code schaust:
  if (!co2Sensor.begin(co2Serial)){                       // *Important, Pass your Stream reference
    MHZ19_Present = false;
    processInfo("Sensors: MHZ19B not found...", 50, 0);
    led[0] = CRGB::Red;
  } else {
    MHZ19_Present = true;

    co2Sensor.printCommunication(false, false);          // *Shows communication between MHZ19 and Device.
                                                         // use printCommunication(true, false) to print as HEX
    co2Sensor.autoCalibration(MHZ19_ABC);                // Turn Auto Calibration ON/OFF   

    char myVersion[4];
    co2Sensor.getVersion(myVersion);

    Serial.print("\nMH-Z-19 Firmware Version: ");
    Serial.println(mhz19_Version());

    Serial.print("Range: ");
    Serial.println(co2Sensor.getRange());   
    Serial.print("Background CO2: ");
    Serial.println(co2Sensor.getBackgroundCO2());
    Serial.print("Temperature Cal: ");
    Serial.println(co2Sensor.getTempAdjustment());
    Serial.println("");

    processInfo("Sensors: MHZ19B found...", 50, 0);
    led[0] = CRGB::Green;
  }
/*-------------------------------------------------------------------------------------------------/
/ initial ports
/-------------------------------------------------------------------------------------------------*/

  FastLED.show();
  delay(2000);

findest Du das delay(2000).  (die Kommentierung ... initial ports... muss ich mal lösschen)

Es ist zwar ein bisschen nickelig, aber durch FastLED.show() und delay(2000) am Ende des if Konstrukt habe ich zwei Codezeilen gespart.

Ist der Wert 250 nicht schon so dunkel, dass man nichts mehr lesen kann?

Grüße Jörg
« Letzte Änderung: 04 März 2021, 19:17:50 von JoWiemann »
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Online frober

  • Sr. Member
  • ****
  • Beiträge: 901
  • Was man nicht kann, kann man lernen...
Hallo Bernd,

wenn Du etwas weiter im Code schaust:
  if (!co2Sensor.begin(co2Serial)){                       // *Important, Pass your Stream reference
    MHZ19_Present = false;
    processInfo("Sensors: MHZ19B not found...", 50, 0);
    led[0] = CRGB::Red;
  } else {
    MHZ19_Present = true;

    co2Sensor.printCommunication(false, false);          // *Shows communication between MHZ19 and Device.
                                                         // use printCommunication(true, false) to print as HEX
    co2Sensor.autoCalibration(MHZ19_ABC);                // Turn Auto Calibration ON/OFF   

    char myVersion[4];
    co2Sensor.getVersion(myVersion);

    Serial.print("\nMH-Z-19 Firmware Version: ");
    Serial.println(mhz19_Version());

    Serial.print("Range: ");
    Serial.println(co2Sensor.getRange());   
    Serial.print("Background CO2: ");
    Serial.println(co2Sensor.getBackgroundCO2());
    Serial.print("Temperature Cal: ");
    Serial.println(co2Sensor.getTempAdjustment());
    Serial.println("");

    processInfo("Sensors: MHZ19B found...", 50, 0);
    led[0] = CRGB::Green;
  }
/*-------------------------------------------------------------------------------------------------/
/ initial ports
/-------------------------------------------------------------------------------------------------*/

  FastLED.show();
  delay(2000);

findest Du das delay(2000).  (die Kommentierung ... initial ports... muss ich mal lösschen)

Es ist zwar ein bisschen nickelig, aber durch FastLED.show() und delay(2000) am Ende des if Konstrukt habe ich zwei Codezeilen gespart.

Ist der Wert 250 nicht schon so dunkel, dass man nichts mehr lesen kann?

Grüße Jörg

Bei mir kann ich mit 250 alles noch gut lesen, hängt vielleicht vom LDR ab.

Mit dem delay() verstehe ich jetzt nicht. FastLED.show() lässt die LED in der gewünschten Farbe leuchten, bis dato ist z.B. der Text "Sensors: MHZ19B not found..." doch schon wieder weg, oder?
Quatsch, das kommt erst am Ende der Schleife. Ok, soweit habe ich nicht gedacht, danke für den Stups. :)

LG
Bernd
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Online frober

  • Sr. Member
  • ****
  • Beiträge: 901
  • Was man nicht kann, kann man lernen...
Check doch erstmal ob das bei deiner überhaupt zutrifft. Eigentlich ist ist dann RGB komplett vertauscht. Gelb/grün ist komisch weil gelb ja eine Mischfarbe ist

Hab die LED gecheckt, nur Rot/Grün vertauscht. Danke nochmal für den Hinweis.

Dank Jörg funktioniert es auch mit dem Sketch. Noch etwas ungewohnt ;), aber jedenfalls besser als rot... ;D
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 3196
Hallo

anbei nochmal eine neue Version esp-weather-station-color:

- TouchPad Kalibrierung überarbeitet
- Hirnknoten bei TFT Helligkeit aufgelöst
- ein bisschen beautifying

Grüße Jörg
« Letzte Änderung: 06 März 2021, 14:15:13 von JoWiemann »
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Offline ckbln

  • Jr. Member
  • **
  • Beiträge: 50
Hallo Jörg,

ich habe die letzte  Version von dir verwendet.

Die Anzeige "Raum Klima" ist statisch. Messwertänderungen werden nicht angezeigt.
Das war in früheren Versionen nicht so.

Ich habe den Touchscreen kalibriert.
Folgende Werte werden dazu auf der Konfig-Seite angezeigt.

Siehe angehängtes Bild: TfT Touch.png

Wenn ich eine Änderung auf der Konfigseite speichern möchte bekomme ich die Fehlermeldung Bitte wählen sie einen gültigen Wert......
Die Fehlermeldung bezieht sich auf die ersten 2 Werte unter TFT Touch

Siehe angehängtes Bild: TfT Touch1.png

Haben andere Nutzer das gleiche Problem? Oder liegt der Fehler bei mir?

Gruß
Christof


Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 3196
Hallo Jörg,

ich habe die letzte  Version von dir verwendet.

Die Anzeige "Raum Klima" ist statisch. Messwertänderungen werden nicht angezeigt.
Das war in früheren Versionen nicht so.

Ich habe den Touchscreen kalibriert.
Folgende Werte werden dazu auf der Konfig-Seite angezeigt.

Siehe angehängtes Bild: TfT Touch.png

Wenn ich eine Änderung auf der Konfigseite speichern möchte bekomme ich die Fehlermeldung Bitte wählen sie einen gültigen Wert......
Die Fehlermeldung bezieht sich auf die ersten 2 Werte unter TFT Touch

Siehe angehängtes Bild: TfT Touch1.png

Haben andere Nutzer das gleiche Problem? Oder liegt der Fehler bei mir?

Gruß
Christof

Hallo Christoph,

bei Raum-Klima ist wohl der Wurm drin. Ich hatte etwas angepasst, was leider wohl ein Fehldenker war. Werde ich korrigieren. Die Konfig-Seite schaue ich mir noch mal an.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Online frober

  • Sr. Member
  • ****
  • Beiträge: 901
  • Was man nicht kann, kann man lernen...
Hallo Christoph,

bei Raum-Klima ist wohl der Wurm drin. Ich hatte etwas angepasst, was leider wohl ein Fehldenker war. Werde ich korrigieren. Die Konfig-Seite schaue ich mir noch mal an.

Grüße Jörg

Hallo Jörg,
das mit dem "gültigen Wert" trifft auch beim Temp-Offset zu. Es werden im Web nur Ganzzahlen akzeptiert.

Grüße Bernd
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 3196
Hallo Jörg,
das mit dem "gültigen Wert" trifft auch beim Temp-Offset zu. Es werden im Web nur Ganzzahlen akzeptiert.

Grüße Bernd

Hallo,

anbei eine neue Version.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Offline ckbln

  • Jr. Member
  • **
  • Beiträge: 50
Hallo Jörg,
ein erstes Feedback. Die Aktualisierung der Raum Klima Anzeige funktioniert wieder mit der neuen Version.
Gruß
Christof

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 3196
Hallo,

anbei eine neue Version.

- Fehler bei fehlender SD Karte behoben
- Fehler bei fehlenden Sensoren behoben

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 3196
Hallo,

neu Version:

- Warnlevel wurden nicht gespeichert
- Warn E-Mail kann versendet werden
- zusätzlicher Warnlevel für Temperatur
- für Betrieb ohne OpenWeatherMap kann der Breiten-/Längengrad für den Sonnenaufgang/-untergang konfigueriert werden

In der settings.h kann das #define EMAIL auskommentiert werden. Mit E-Mail muss beim Erstellen des BIN File auf minimales SPIFFS konfiguriert werden, da ansonsten der Speicher nicht ausreicht.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM