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

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

Vorheriges Thema - Nächstes Thema

philipp84

Guten Morgen,

ich versuche seit einigen Tagen das Modul mit dem Nextion Dispay 3.2 Basic zum laufen zu bekommen leider häng ich irgendwo, evtl. hat einer von euch eine Idee

Folgendes Setup versuche ich zum laufen zu bekommen:

Raspberry 3 - Nextion an der software UART GPIO pin 8 & 10 (GPIO14 & GPIO15) auf dem Pi läuft ein aktuelles Raspian Lite (frisch installiert)
Die echte Serielle Schnittstelle wird ja für Bluetooth verwendet welches ich auch benötige (precense) - läuft
Auf dem Pi habe ich ser2net installiert und das fehm Nextion-Modul wie folgt definiert:

defmod Nextion.DoorPi Nextion 10.0.0.172:3001

Internals:
   Clients    :NEXTION:
   DEF        10.0.0.172:3001
   DeviceName 10.0.0.172:3001
   FD         14
   NAME       Nextion.DoorPi
   NR         504
   NTFY_ORDER 50-Nextion.DoorPi
   PARTIAL   
   STATE      opened
   TYPE       Nextion
   MatchList:
     1:NEXTION  .*
   READINGS:
     2018-05-18 09:27:00   cmdResult       empty
     2018-05-18 09:27:00   cmdSent         page 0
     2018-05-17 16:42:25   currentPage     -1
     2018-05-18 09:27:00   old1            Hfe H01
     2018-05-18 09:27:00   old2            Hfb H01
     2018-05-18 09:27:00   old3            Hfb H03
     2018-05-18 09:15:09   old4            Hfe H01
     2018-05-18 09:15:09   old5            Hfb H01
     2018-05-18 09:35:43   received        H66(f) H01
     2018-05-18 09:35:43   rectext         page 1
     2018-05-18 09:26:59   state           opened
Attributes:
   DbLogExclude .*


Befehle die vom Display kommen werden von FHEM empfangen aber anderes herum gehts nicht.
Wenn ich von FHEM befehle sende reagiert das Display nicht und es gibt auch keine Rückmeldung.

Die Schnittstelle und Verbindung sollte funktionieren wenn ich mich via HW Serial Port und dem Nextion Editor verbinde  funktioniert das perfekt.
Verschiedene Baudraten habe ich schon getestet.

Was kann ich noch tun, oder wie könnte man hier vorgehen um den Fehler zu finden ?

Vielen Dank schon mal im Voraus :)

Grüße
Philipp

philipp84

So ich Antworte mir direkt mal selber, Gott wie peinlich :)

manchmal hilft es schon, wenn mal alles noch mal niederschreibt dabei fallen einem dann doch noch Dinge ein an denen man ansetzen kann :)

Ich habe mir mal die manpage von ser2net genauer angesehen, meine Konfig sah bisher so aus (standard):

3001:telnet:600:/dev/ttyS0:115200 8DATABITS NONE 1STOPBIT
nach einer Umstellung auf:
3001:raw:600:/dev/ttyS0:115200 8DATABITS NONE 1STOPBIT
funktioniert es auch mit dem Nachbarn :)

Danke euch
Grüße
Philipp


yamfhem

Hallo,
auch wenn es in letzter Zeit etwas ruhiger hier geworden ist, ich hab mal ne Frage.
Ich übergebe von FHEM ans Nextion u. a. eine Textvariable pumpe.txt (entweder "0" oder "1"). Im Nextion selber möchte ich jetzt davon abhängig verschiedene Bilder aufrufen (page pumpe_on oder page pumpe_off). Ich hatte folgendes gemacht (nachdem die if Abfrage auf eine Textvariable ja wohl nicht funktioniert:

cov pumpe.txt,pumpe.val,0
if(pumpe.val==1)
{
page pumpe_on
}else
{
page pumpe_off
}


Das funktioniert nicht. Warum nicht?
Gruß
yam

UweH

Mit dem Befehl page rufst Du eine Seite auf, keine Bilder. Es sei denn, Du hast der Seite ein Hintergrundbild zugeordnet.
Warum rufst Du den Bildtausch nicht direkt auf?
Wenn das Picture "p0" heißt sieht das so aus: set <DeinNextion> cmd p0.pic=<Bildnummer>
Das Ganze triggerst Du mit einem notify.
Und wenn das Bild gar nicht zu sehen sein soll, wird im "Preinitialize Event" der entsprechenden Seite mit "vis p0,0" das Image standardmäßig ausgeblendet und erst bei aktivieren des Bildes wieder eingeblendet:
set <DeinNextion> cmd vis p0,1;;p0.pic=<Bildnummer>
Mache ich bei der Müllabfuhr- und Regen-Anzeige.

Gruß
Uwe

yamfhem

Hallo Uwe,
danke erstmal für Deine Antwort. Ich hab das falsch gescrieben, ich will schon auf 2 verschiedene Seiten verzweigen, nicht Bilder! Ich habe mir zwei verschiedene Grafiken mit unterschiedlichen Hintergrundfarben erstellt und dann verschiedene Values mit Temperaturen davorgelegt. Das wäre mit vis zu aufwändig, deshalb 2 Seiten.
Gruß yam

Groej

Hallo und schönen Sonntag,

ich such mir hier einen Wolf. In einen Beitrag hier hab ich das Attribut recCommands gesehen. Ich denke es ist dafür da Befehle im FHEM auszulösen wen ein rectext vom Display kommt. Ich hab dieses Attribut nicht und auch ein Update von FHEM bringt nichts. Hab auch schon die pm vom GitHub runtergeladen und Rechte und Eigentümer usw. geändert aber FHEM findet das Modul danach garnicht mehr.

Wenn recCommands nicht dafür gemacht ist wie macht ihr dann eine Aktion im Fhem wenn auf den Display ein Button gedrückt wird. Habs mit Notify probiert aber bekomme es nicht hin.

Der Display hängt an einen WEMOS D1 mini mit ESPEASY mega und Serial Server. Geht auch soweit alles. Daten gehen auf den Display und FHEM bekommt auch Daten vom Display.  Versuch auch irgendwie über Rules rssi und Datum Uhrzeit auf den Display zu senden aber anscheinend gibt es für die Rules keinen Befehl um Daten über seriel zu senden oder ich habs noch nicht gefunden wie.

Ich finde die Displays ja super aber auch ganz schön kompliziert die Dinger einzubinden. Darum schon mal Danke für dieses Modul. Als ich die kaufte dachte ich mir man schickt die Daten einfach ans Display in Variablen und das Teil zeigt die passende Variable an wenn man auf die Seite geht wo die Variable angezeigt wird. Da wußte ich noch nicht das die Daten anscheinden nicht zwischen gespeichert werden sondern gesendet werden müssen wenn die Seite aufgerufen wird. Stimmt das so oder hab ich da einen Denkfehler?

Bin für Hilfe dankbar.

Gruß

Jörg
FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280

UweH

#531
Moin,

Commandref lesen oder unterhalb Deiner Display-Definition "Device specific help" aufrufen...dort wird Dir auch recCommands erklärt.
Versuch mal die "recPage1"-Geschichte.
Andererseits musst Du auch im Display diverse Dinge vorbereiten, bevor FHEM auf rectext reagiert. Wird aber alles hier im Thread beschrieben.

Gruß
Uwe

In dem Bild ein paar Beispieleinträge, mit denen man über Buttons Ausgänge von Aktoren schaltet.

Groej

Moin,

dann muß ich wohl blind sein. Wie gesagt ich habe die Attribute nicht mal zur Auswahl bei mir.

Gruß
Jörg

FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280

UweH

#533
Alte Version? Aktuell ist die 14378 vom 25.05.17
Zieh Dir da mal die aktuelle Version runter:
https://svn.fhem.de/trac/browser/trunk/fhem/FHEM

Korrektur: Nimm Dir die Version 12468, damit funktioniert das. In späteren Versionen hat viegener diese Funktion (ich meine wegen Performance-Problemen...) wieder deaktiviert. Aber auch in der aktuellen Version reagiert FHEM auf die Ausdrücke in rectext, aber wichtig ist die Vorbereitung der Ausdrücke im Display.

Groej

Hallo,

so es geht mit der Version von GitHub. Die ist 6 Monate alt.

Soweit geht jetzt auch alles was ich bis jetzt wollte. Nur eine Sache nicht. Ich bekomme einen Sliderwert nicht in einen FHEM Dummy geschrieben. Geht das auch über recCommands oder muß ich das über ein Notify oder DOIF machen?

Gruß

Jörg
FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280

Tobias

ich habe übrigens mein 7" Nextion abzugeben - siehe Marktplatz/Güter
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Groej

Moin,

irgendwo hier habe ich gelesen das jemand auch das Problem hat wegen der Reaktionzeit des Displays. Wenn ich eine Seite aufrufe kann ich zusehen wie die Daten so ca. im Sekundentakt befüllt werden. Ist das normal so?

Dann ich hab ich immer noch das Problem einen Sliderwert in einen FHEM Dummy zu schreiben. Geht das über ein recCommand oder nur über ein Notify?

Gruß

Jörg
FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280

Groej

Ich hab mal eine ganz blöde Frage. Warum ist die Version vom Modul eigentlich nicht im FHEM Update eingepflegt wo auch die recCommands mit drin sind?

Hab heute ein FHEM Update gemacht und mich gewundert warum ich nichts mehr schalten kann. Hab dann rausgefunden das die Version die im FHEM Update mit drin ist das nicht unterstützt. Also vom Backup das Modul und meine cfg wieder zurückgespielt und nun gehts wieder.

Kann man FHEM Module beim Update ausschließen?

Gruß

Jörg
FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280

ergerd

Zitat
Kann man FHEM Module beim Update ausschließen?

attr global exclude_from_update <modulname>
FHEM auf RasPi 4, CUNO, ZigBee, 1Wire2WLAN, DS2423, C-Control II, Buderus KM200, LaCrosseGateway, PCA301, ConBee II, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

UweH

#539
Zitat von: Groej am 01 August 2018, 07:00:31
Moin,

irgendwo hier habe ich gelesen das jemand auch das Problem hat wegen der Reaktionzeit des Displays. Wenn ich eine Seite aufrufe kann ich zusehen wie die Daten so ca. im Sekundentakt befüllt werden. Ist das normal so?
Nein, bei meinen Displays dauert das auch bei einer Seite, die viele Daten abruft, nicht mal ne halbe Sekunde.

Zitat von: Groej am 01 August 2018, 07:00:31
Dann ich hab ich immer noch das Problem einen Sliderwert in einen FHEM Dummy zu schreiben. Geht das über ein recCommand oder nur über ein Notify?
Ich mach das über ein DOIF, welches auf den rectext reagiert. Im rectext taucht "slider=<Zahl>" auf und darauf reagiert das DOIF und schickt die Zahl irgendwohin...