Nextion - günstiges Touch-Display an FHEM (auch remote)

Begonnen von viegener, 24 März 2016, 00:06:06

Vorheriges Thema - Nächstes Thema

andies

Zitat von: viegener am 30 April 2019, 22:36:18
- Transfer von Daten zum Nextion verbessern (kürzere Texte/Daten oder höhere Baudrate beim seriellen Transfer (Was verwendest Du dort?)
Ich sende mit 115200 (siehe unten). Das geht, glaube ich, nicht schneller.

Zitat von: viegener am 30 April 2019, 22:36:18
- Transfer auf FHEM-Seite verlangsamen - eingestreute Pausen beim Versenden
Das kann ich tun, weil ich in der Tat etwa fünfzehn Elemente auf der page 0 verändere - wobei in meinen Augen das wenig ist gegebenüber der oben angegebenen Baudrate.

Ich habe aber noch etwas anderes entdeckt. Ich habe mir vor einigen Tagen einen unifi-AP in das Zimmer gestellt, in dem ich jetzt den Nextion teste. Mit Sektorantenne, also ist RSSI kein Problem (ich muss auch noch den Dachboden versorgen, deshalb der unifi). Dabei ist mir aufgefallen, dass sich der Nextion, der in 4 Metern mit Sicht von der Antenne entfernt ist, zuerst länger mit der Fritzbox im Zimmer darunter verbindet, die naturgemäß eine viel niedrigere Sendeleistung hat. Ich habe dann ein wenig gelesen und erfahren, dass ein einfacher Austausch nicht reicht. Die WLAN-AP müssen miteinander kommunizieren, um sich die Geräte zu übergeben. Ich brauche also noch einen Controller und werde wahrscheinlich auch im Zimmer darunter die FB lahmlegen müssen.

Und das alles nur, weil ich aus der Ferne mein Gartentor öffnen wollte (so hat's angefangen...).
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

viegener

Zitat von: andies am 01 Mai 2019, 10:55:23
Ich sende mit 115200 (siehe unten). Das geht, glaube ich, nicht schneller.
Das kann ich tun, weil ich in der Tat etwa fünfzehn Elemente auf der page 0 verändere - wobei in meinen Augen das wenig ist gegebenüber der oben angegebenen Baudrate.

Ich habe aber noch etwas anderes entdeckt. Ich habe mir vor einigen Tagen einen unifi-AP in das Zimmer gestellt, in dem ich jetzt den Nextion teste. Mit Sektorantenne, also ist RSSI kein Problem (ich muss auch noch den Dachboden versorgen, deshalb der unifi). Dabei ist mir aufgefallen, dass sich der Nextion, der in 4 Metern mit Sicht von der Antenne entfernt ist, zuerst länger mit der Fritzbox im Zimmer darunter verbindet, die naturgemäß eine viel niedrigere Sendeleistung hat. Ich habe dann ein wenig gelesen und erfahren, dass ein einfacher Austausch nicht reicht. Die WLAN-AP müssen miteinander kommunizieren, um sich die Geräte zu übergeben. Ich brauche also noch einen Controller und werde wahrscheinlich auch im Zimmer darunter die FB lahmlegen müssen.

Und das alles nur, weil ich aus der Ferne mein Gartentor öffnen wollte (so hat's angefangen...).

115200 sind weniger als 15k zeichen pro sekunde. Aber das eigentliche problem ist, dass der puffer nur 128 zeichen fasst. Das wird schnell volllaufen, wenn fhem schnell daten sendet - deshalb habe ich zum teil auch feldernamen auf dem nextion verkürzt.

Bei der fehlermeldung würde ich nicht auf fehler bei der netzwerkverbindung tippen, sondern erstmal das andere problem (pufferüberlauf) abstellen.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

andies

#602
Ich lese gerade über die serielle Verbindung hier: https://github.com/letscontrolit/ESPEasy/issues/1588
Da sind dann zwei Optionen: Entweder nehme ich esplink (das hoffentlich einen höhere Buffer hat) oder ich verwende die Software-Serial von ESPEasy? (Alternativ könnte ich neu kompilieren und den Buffer erhöhen, aber das schaffe ich auf meinem Rechner anscheinend nicht, ich kann Atom nicht bedienen.)

PS Vielleicht sollte ich sogar das aufspielen, https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino, da ist der Buffer 1024 groß.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Also ich kriege es nicht hin. Ich habe mir die Quelltexte von ESPEasy besorgt und neu kompiliert, dabei aber SERIAL_BUFFER_SIZE auf 2048 gesetzt. Ging nach einigem hin und her auf die beiden Wemos drauf (außerdem habe ich mir ordentliche Wifi-APs besorgt, obwohl das vermutlich gar nicht notwendig gewesen wäre). Die Wemos werden im Netzwerk erkannt und haben ordentliche RSSI-Werte. Also daran liegt nichts.

Aber der serielle Server geht nicht. Selbst wenn ich logge, erscheinen keinerlei Einträge. Wenn ich mich mit Telnet verbinde, passiert nichts außer

541658: WD : Uptime 9 ConnectFailures 0 FreeMem 15032 WiFiStatus 3
571658: WD : Uptime 10 ConnectFailures 0 FreeMem 15016 WiFiStatus 3
   
Ganz zu schweigen vom Nextion: Es gibt einfach keine Kommunikation zwischen Nextion und FHEM.

Zu allem Unglück starte der Wemos manchmal neu. Ich habe vor dem Flashen den Speicher komplett leergeräumt und dazu extra einen Windows-Rechner genommen, weil angeblich die Macs da Fehler machen.

Kann es sein, dass ich einfach eine fehlerhafte Charge erwischt habe (obwohl von zwei Händlern)?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

#604
ich befürchte, ich habe die (komplizierte) Antwort. Es sind anscheinend zwei Dinge, die zusammenkommen.

Ich habe auf dem Wemos mega-20180524 installiert, das ist ein Jahr alt. Auf einmal funktionierten Dinge, die nie gingen - das logging zum Beispiel. Das war vorher definitiv nicht möglich. Entweder ist die Software nicht in Ordnung oder ich konnte beim flashen den Speicher nicht korrekt löschen; das steht ja an mehreren Stellen im Netz, das so etwas ein Problem ist bei diesen Geräten.

Und dann habe ich mit den Tx vom Nextion einmal angeschaut und dort die Spannung gemessen. Die ist permanent auf High, auch dann, wenn ich auf dem Gerät herumdrücke und er eigentlich senden müsste. Also scheint der Nextion (inzwischen?) defekt zu sein. Ärgerlich, so etwas. Schon das schicken dauert ja wieder Wochen.

[Edit, ein paar Stunden später] Ich habe jetzt esplink aufgespielt und auf einmal läuft alles. Also anscheinend ist ESPEasy irgendwie im Eimer (aber bin ich der Einzige?!) oder was weiß ich. Jedenfalls klappt alles. Ich will noch ein paar andere wemos flashen, wahrscheinlich nehme ich nur noch das. Es nervt etwas, dieses ewige herumprobieren. Ist halt der Preis den man zahlt, wenn es kostenlos ist.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Pyromane

Mahlzeit,

betreffend der WLAN Problematik hier eine Info:
ZitatThe connections on port 23 and 2323 have a 5 minute inactivity timeout. This is standard with Espressif's SDK and esp-link does not change it. The reason is that due to memory limitations only a few connections can be open (4 per port) and it's easy for connections to get "lost" staying open forever, for example, due to wifi disconnects. That could easily make it impossible to connect to esp-link due to connection exhaustion. Something smarter is most likely possible...
Quelle: https://github.com/jeelabs/esp-link#serial-bridge

Grüße
Pyromane

andies

Zitat von: Pyromane am 11 Juni 2019, 13:20:23
betreffend der WLAN Problematik hier eine Info
Ja, kenne ich. Ich habe dann minütlich gepingt, um das Ding wach zu halten. Hat auch nichts gebracht. Ich vermute jetzt, dass die Diode in dem Wemos zu einem Spannungsabfall am Nextion führt und das deshalb die Sache nicht funktioniert. Als nächstes will ich, wenn ich endlich mal Zeit finde, die 5V vom USB direkt durchleiten an den Nextion.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Pyromane

Zitat von: andies am 11 Juni 2019, 13:45:29
Ja, kenne ich. Ich habe dann minütlich gepingt, um das Ding wach zu halten.
Pingen hilft nicht, da dafür eine andere Verbindung aufgebaut wird. Minütlich einen Wert eines Button abfragen sollte helfen.

Ich kenne das Problem von den CUL, dort hatte ich dann alle drei Minuten die Version abgefragt.

manwald

Hallo zusammen,

leider kann ich als "Newbie" - der ich eigentlich nicht bin, aber offenbar wurde mein Username (wegen Nicht-Einloggens?) zwischenzeitlich gelöscht - nicht im Marktplatz posten.

Da ich inzwischen KNX in meinem Haus nutze und FHEM nicht mehr zum Einsatz kommt, habe ich noch eine nagelneue Platine mit WLAN-Anbindung für ein Nextion-Display und das Display selbst auch noch zu verkaufen. Ich habe die beiden Geräte damals direkt vom User @UweH gekauft und leider nie eingesetzt.

Bei Interesse schreibt mir gerne eine PN.

Viele Grüße und sorry für OT
Mischa

andies

Ich versuche gerade, das Expansion Board (mit dem Buzzer und den vier oder fünf Tastern) anzuschließen. Dabei ist mir erstens aufgefallen, dass die Konstruktion, sagen wir mal, jetzt nicht Nobelpreisverdächtig ist - der Buzzer überragt die Taster. Will man also ein Gehäuse bauen, muss man die Drucktaster irgendwie verlängern. Was ich aber (zweitens) suche ist eine Art technische Zeichnung von den Abständen zwischen den Tastern und den Bohrlöchern zum befestigen. Hat jemand so etwas gemacht? Oder hat jemand das sogar irgendwo schon eingebaut und kann mir Tipps geben?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Ich habe mich mal mit dem Messschieber ans Werk gemacht, vielleicht kann das jemand mal vergleichen. Der Buzzer ist 12 hoch, das habe ich vergessen einzutragen. Auch bin ich kein technischer Zeichner, seht es mir nach.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

rih

#611
@andies:
den Buzzer könnte man doch auch auslöten und auf der Rückseite wieder einlöten ...

@all:
Ich habe mehrere Seiten, auf denen diverse Sensordaten angezeigt werden sollen. Damit ich die Werte aktualisieren kann, benötige ich aber die Information, welche Seite gerade angewählt ist. Bkcmd und sendme sind jeweils eingtragen. Wenn ich nur die Seiten umschalte (ohne danach Werte zu übertragen), dann wird mir die page-id auch schön in FHEM im Reading rectext angezeigt. Sobald ich jedoch z.B. per Attribut initpage Werte übertrage, dann ist das Reading rectext anschließend leer.

Den Thread habe ich schon zweimal durchgelesen, aber nichts relevantes gefunden (oder übersehen). Wie macht ihr das bei mehreren Seiten mit der zyklischen Aktualisierung der Anzeige bzw. Sensorwerte?

andies

Zitat von: rih am 10 November 2019, 10:43:21
@andies:
den Buzzer könnte man doch auch auslöten und auf der Rückseite wieder einlöten ...
Habe ich gemacht. Geht, aber nervt. Jetzt steht nur noch der Anschluss vom Flachkabel drüber, das wird man nicht ändern können.

Danke für den Tipp.


Gesendet von iPhone mit Tapatalk Pro
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

UweH

Zitat von: rih am 10 November 2019, 10:43:21
Damit ich die Werte aktualisieren kann, benötige ich aber die Information, welche Seite gerade angewählt ist.
Das Feld auf der entsprechenden page als global definieren und dann den cmd-Befehl mit vorangestelltem Seitenindex abschießen, also
page1.t1.txt="blabla"
Ich mache das z.B. bei Temperaturfeldern mit einem "at", welches alle paar Minuten die aktuelle Temperatur auf's Display schiebt.
Zusätzlich dieses Feld bei "initpage" eintragen und bei manueller Seitenanwahl holt sich das Nextion den aktuellen Wert.

Gruß
Uwe

rih

Ah, ok. Danke, Uwe. So geht es natürlich auch.
Habe mir in der Zwischenzeit so beholfen, dass ich mir die Seite in einem Dummy merke (kurzzeitig steht die Seite ja im Reading rectext drin). So kann ich dann gezielt nur die Textfelder der angewählten Seite aktualisieren.
Aber ich bin ja noch ganz am Anfang, was das Nextion-Display betrifft. Vielleicht greife ich später auf deine Methode zurück. Die nächste Übung wird sein, auf Buttons zu reagieren bzw. auswerten.

Gruß
Hans