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

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

Vorheriges Thema - Nächstes Thema

thegimliboy

Hallo zusammen,
bin leider vieeel zu spät auf dieses Modul gestoßen. Seit über drei Monaten quäle ich mich mit ESP und Nextion herum. Ich hab eigene Routinen für den ESP geschrieben, die über MQTT mit dem Nextion kommunizieren. Klappt auch. Irgendwie. Ist aber grottenumständlich.

Jetzt habe ich dieses Setup:
Nextion mit einem Basisinhalt: 2 Seiten, die jeweils einen Value enthalten. Über einen Button wird auf die andere Seite umgeschaltet: Release-Button setzt einen page x - Befehl ab. Über die neue Seite wird sendme an FHEM übergeben.
Das klappt auch.

Aber:
Alle Befehle, die ich von FHEM an das Display übergebe, werden mit einem zusätzlichen HASH-Code versehen:
Internals:
   Clients    :NEXTION:
   DEF        192.168.100.52:23
   DeviceName 192.168.100.52:23
   FD         14
   NAME       Testdisplay
   NR         129
   PARTIAL
   STATE      opened
   TYPE       Nextion
   CHANGETIME:
   Matchlist:
     1:NEXTION  .*
   Readings:
     2016-08-11 20:11:53   cmdResult       empty
     2016-08-11 20:11:53   cmdSent         HASH(0x308e140) 0 page 0
     2016-08-11 20:11:53   old1            H00
     2016-08-11 20:01:53   old2            H00
     2016-08-11 20:01:53   old3            H00
     2016-08-11 19:51:50   old4            H1a
     2016-08-11 19:51:50   old5            H66(f) H00
     2016-08-11 20:11:53   received        H00
     2016-08-11 20:11:53   rectext
     2016-08-11 20:11:53   state           opened
Attributes:
   initPage0  n0.val=4;
   initPage1  n0.val=5;
   room       Display


Wenn ich mir eure Listings so anschaue, steht da immer direkt "page 0". Bei mir wird immer "HASH(0x308e140) 0" vorangestellt.

Wo kommt das blos her? Kann mir da einer helfen? Kann das die Ursache sein, weshalb beim Display nichts ankommt?

grüße

thegimliboy

Lösung gefunden:

Auf der Suche nach "HASH" in der Logdatei (verbose=5) fand ich Einträge dieser Art:

Zitatfhem-2016-08.log:2016.08.11 19:49:56 4: Testdisplay: Nextion_SendCommand ReplaceSetmagic commnds after :HASH(0x308e140) 0 page 0:
SuFu brachte mich daraufhin auf diese Anfrage von Viegener.
https://forum.fhem.de/index.php?topic=52552.0

Daraufhin habe ich fhem.pl durch eine Nightly-Build ersetzt, und seitdem geht es.

Bedeutet es jetzt im Umkehrschluss, dass diejenigen, die noch die FHEM 5.7. vom 15.11.2015 einsetzen, auf die gleichen Probleme stoßen? Sollte dann nicht auf eine passende Version hingewiesen werden?

viele Grüße

viegener

Zitat von: thegimliboy am 12 August 2016, 12:18:30
Lösung gefunden:

Auf der Suche nach "HASH" in der Logdatei (verbose=5) fand ich Einträge dieser Art:
SuFu brachte mich daraufhin auf diese Anfrage von Viegener.
https://forum.fhem.de/index.php?topic=52552.0

Daraufhin habe ich fhem.pl durch eine Nightly-Build ersetzt, und seitdem geht es.

Bedeutet es jetzt im Umkehrschluss, dass diejenigen, die noch die FHEM 5.7. vom 15.11.2015 einsetzen, auf die gleichen Probleme stoßen? Sollte dann nicht auf eine passende Version hingewiesen werden?

viele Grüße

Ich bin nicht sicher, ob Dein Problem mit dem angegebenen Thread zu tun hatte, denn die Änderung, die dort Probleme auslöste wurde im April gemacht (und auch korrigiert). Es kann aber sein, dass es eine andere Änderung zwischen November und der aktuellen Version gibt, die Dein problem verursacht hat.

Ich habe das Modul im März2016 angefangen und nur mit aktuellen Versionen getestet / betrieben. Generell ist es vermutlich ein guter Ratschlag Module, die (noch) nicht über den normalen update verteilt werden mit FHEM-Versionen zu betreiben, die nicht (wesentlich) älter sind und bei Problemen ein Update zu machen.

Die empfehlenswerte Version gibt es so eigentlich nicht, denn FHEM ändert sich fast täglich und es ist ja nicht nur fhem.pl

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

ext23

#153
Nabend,

sagt mal wie ist der Stand mit den Virtual Com Port Treibern in Verbindung mit dem ESP? Das HW Virtual Serial Port Tool läuft irgendwie sehr unstabil bei 115200 wenn ich das Display flashe. Hat noch jemand eine Alternative? Das USR Tool für den USR LAN Adapter funktioniert mit dem ESP bei mir irgendwie nicht.

/Daniel

UPDATE: Komisch das USR Tool funktioniert jetzt doch ganz ordentlich! Keine Ahnung warum das zuerst absolut nicht lief.
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

UweH

Welches USR-Tool meinst Du genau? Link?
Ich benutze den HW Serial Port und bin auch nicht ganz überzeugt davon...der Verbindungsaufbau und die Übertragung der Daten laufen ganz ordentlich, aber in einigen Fällen reagiert das Display mit einer Fehlermeldung nach der Übertragung. Ärgerlich, weil man dann erst mal einen Reset anstoßen muss und meist dann irgendwann doch nichts weiter übrig bleibt, als die Daten per USB zu übertragen.

Gruß
Uwe

ext23

Ich meine die hier:

http://www.usriot.com/usr-vcom-virtual-serial-software/

Klappt eigentlich ganz gut. Das war damals zumindest die einzige SW die für die USRs funktioniert hat.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

UweH

Danke für den Link, muss ich mal testen. Ich habe mittlerweile vier von den Dingern im Einsatz und drei davon sind in UP-Dosen bzw. den Rahmen des Schalterprogramms versteckt. Kommt man schlecht ran...

ext23

Von den ESPs? Nutzt die die 3,3V von dem Display? Ich hab vorsichtshalber ein kleinen DCDC Wandler drin, der Linearregler auf dem Display wird ja so schon recht warm.
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

UweH

Zitat von: ext23 am 28 Oktober 2016, 22:17:50
Von den ESPs?
Worauf beziehst Du die Frage? Verstehe den Kontext nicht.
Ich habe auf meiner Versorgungsplatine für die Displays zwei DC/DC-Wandler drauf, 12V -> 5V und 5V -> 3,3V. 5V für's Display und 3,3V für den ESP. Ich habe am Einbauort der Displays 12V, deswegen brauche ich zwei Wandler.
Der 3,3V-Regler des Displays selbst kann nur 100mA, davon verbraucht das Display sicher selbst auch was und ein ESP alleine kann schon mal über 100mA ziehen. Ich habe jedenfalls einen schon mal gekillt. Lässt sich aber ersetzen...  ;)

Gruß
Uwe

UweH

Zitat von: ext23 am 28 Oktober 2016, 21:50:36
Ich meine die hier:
http://www.usriot.com/usr-vcom-virtual-serial-software/
Ha...jetzt wo ich die Seite aufrufe...nun klingelt's wieder. Von der Firma sind meine UART Seriell-Ethernet-Module, die ich für meine 1-Wire/LAN-Module benutze.
Die USR-VCOM habe ich aber nie zum Laufen bekommen, welche Einstellungen benutzt Du?

ext23

>Worauf beziehst Du die Frage? Verstehe den Kontext nicht.
Genau das meine ich, der kann nur 100mA, ok etwas dünn. Aber stimmt man könnte den durch eine 1,5A Variante tauschen, aber gut Linearregler sind eh nicht der Hit, die verbraten ja nur alles in Wärme.

>Ha...jetzt wo ich die Seite aufrufe...nun klingelt's wieder. Von der Firma sind meine UART Seriell-Ethernet-Module, die ich für meine 1-Wire/LAN-Module benutze.
Genau, ich nehme die auch für die Displays, da ich noch ein paar Jahre krebsfrei durchs Leben möchte und daher auf WLAN wo es möglich ist verzichte ;-)


>Die USR-VCOM habe ich aber nie zum Laufen bekommen, welche Einstellungen benutzt Du?
Siehe Bild im Anhang, alles default.
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

Ich muss nochmal was fragen, ich bekomme es nicht gepackt sauber strings an FHEM zu senden. Ich habe als Release folgendes:
p0.pic=2
print "pump02on"
get p0.pic


Es kommt aber immer nur string "ump02onq" an unter FHEM. Manchmal auch anderes wirres Zeug aber das hängt vermutlich damit zusammen, dass das get wichtig ist und ich es bei anderen buttons (noch) nicht habe. Wobei ich auch nicht verstehe wieso der erst sendet wenn ein get folgt. Aber vielleicht kann mich ja mal jemand aufklären.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

thegimliboy

Zitat von: UweH am 28 Oktober 2016, 21:56:15Ich habe mittlerweile vier von den Dingern im Einsatz und drei davon sind in UP-Dosen bzw. den Rahmen des Schalterprogramms versteckt
Kannst du davon bitte ein paar Fotos machen? Ich hadere immer noch mit meinen Ideen und habe noch nichts davon umgesetzt, da keiner meiner Ansätze WAF-kompatibel war.
Derzeit habe ich das Merten-Standardsystem. Da passt das Display irgendwie nicht. Das Beste, was ich derzeit habe, ist eine "schicke" Verteilerdose. Das ist aber einfach zu klobig.

dank im Voraus
Gimli

viegener

Zitat von: ext23 am 29 Oktober 2016, 15:44:36
Ich muss nochmal was fragen, ich bekomme es nicht gepackt sauber strings an FHEM zu senden. Ich habe als Release folgendes:
p0.pic=2
print "pump02on"
get p0.pic


Es kommt aber immer nur string "ump02onq" an unter FHEM. Manchmal auch anderes wirres Zeug aber das hängt vermutlich damit zusammen, dass das get wichtig ist und ich es bei anderen buttons (noch) nicht habe. Wobei ich auch nicht verstehe wieso der erst sendet wenn ein get folgt. Aber vielleicht kann mich ja mal jemand aufklären.

/Daniel

Hallo Daniel,
die Texte vom Display sollten mit einem "$" eingeleitet werden, dass habe ich einfach mal als Konvention eingeführt, damit eigene "kommandos" erkannt werden.
Probiere doch mal etwas wie
print "$pump02on"

Wenn ich mich recht erinnere ist der get notwendig, damit die Nachricht wirklich gesemdet/vollständig ist. Nach dem Get sendet das Diskplay noch 3 mal Hex FF und das ist die Erkennung, dass eine Nachricht vollständig vorliegt.


Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

ext23

#164
OK, das wusste ich nicht. Jetzt kommen nur noch HEX Werte an (H24($) H70(p) H75(u) H6d(m) H70(p) H30(0) H32(2) H6f(o) H6e(n) H71(q) H02 H00 H00 H00), "rectext" bleibt aber leer.

Kommt das Nextion Modul schon über das Update? Kann es sein, dass ich was altes habe wenn du das angepasst hattest? Ich habe die 0.5 laufen.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)