Hatte das schon jemand in der Hand: ArduiTouch Wandgehäuseset mit Touchscreen ?

Begonnen von herrmannj, 27 Februar 2020, 14:18:18

Vorheriges Thema - Nächstes Thema

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

frober

Zitat von: JoWiemann am 03 März 2021, 12:27:43
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.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

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

JoWiemann

Zitat von: frober am 03 März 2021, 18:35:33
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
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

frober

Zitat von: JoWiemann am 04 März 2021, 08:54:10
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)
Zitatif (!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
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

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

JoWiemann

Zitat von: frober am 04 März 2021, 18:29:14

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
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

frober

Zitat von: JoWiemann am 04 März 2021, 19:08:17
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 Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

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

frober

Zitat von: herrmannj am 02 März 2021, 22:04:30
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 Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

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

JoWiemann

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
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

ckbln

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


JoWiemann

Zitat von: ckbln am 14 März 2021, 20:29:29
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

frober

Zitat von: JoWiemann am 14 März 2021, 20:42:33
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 Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

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

JoWiemann

Zitat von: frober am 14 März 2021, 21:06:39
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

ckbln

Hallo Jörg,
ein erstes Feedback. Die Aktualisierung der Raum Klima Anzeige funktioniert wieder mit der neuen Version.
Gruß
Christof

JoWiemann

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

JoWiemann

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