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

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

Vorheriges Thema - Nächstes Thema

Groej

@ergerd
Danke für den Tipp mit den ausschließen eines Moduls vom FHEM Update.

@UweH
Hab den Fehler gefunden warum der Display so langsam war. Da Attribut sendQueue stand auf 1. Wenns auf 0 steht klappt es super.
Das mit dem Slider Wert muß doch bestimmt auch irgendwie über recCommands gehen. Warum extra was basteln wenn das Modul es schon hergibt. Ich bekomme das nur mit den wegschneiden des Textes nicht hin damit nur die Zahl übrig bleibt.

Dachte an so was hier aber dafür fehlen zu sehr die Programmierkenntnise.

[\$h_h_temp=(.*)] (set heizung_haus_max {( return (sprintf ("%d+","$EVENT")))})


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

Groej

Zitat von: ext23 am 14 Januar 2018, 11:02:45
Ich habs so gemacht:

([Nextion01:rectext] =~"Licht.h0.val") (set Deckenfluter hue [Nextion01:rectext:"=(-?\d+(\.\d+)?)"])

/Daniel

Hallo Daniel,

steht das so im Notify? Da fehlt doch was oder nicht? Kannst Du vielleicht ein List vom dem Notify machen? Wäre super Danke

Gruß

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

r00t2

Ich habe selbst für ein anderes Projekt ein Nextion am Start und bin echt begeistert von dem Teil.
Dass es ein Modul für FHEM gibt, habe ich zu meiner Schande gerade erst entdeckt  :-[

Hat jemand schon mal versucht, wie man im laufenden Betrieb selbst neue Bilder ins Display hochladen kann? Dann könnte man das Display ggf. auch für Sachen wie eine touch-fähige Bild-Gegensprechanlage verwenden.

Laut ITEAD sollte (ungetestet) das möglich sein: http://support.iteadstudio.com/support/discussions/topics/1000071972/page/2?url_locale=
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

Groej

Hallo,

habs selber gefunden mit dem Notify um einen Sliderwert in einen FHEM Dummy zu schreiben.

Variante 1
nextion_bln:rectext:.* { if ($EVENT =~ m/h_h_temp/) { fhem ('set heizung_haus_max '.ReadingsNum('nextion_bln', 'rectext',4))}}

Variante 2 weil ich mehrere Displays habe:
nextion_.*:rectext:.* { if ($EVENT =~ m/h_h_temp/) { fhem ('set heizung_haus_max '.ReadingsNum($NAME, 'rectext',4))}}
FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280

rippi46

Hallo r00t2,

schau dir Post 512 und Folgende an, da habe ich beschrieben wie man Bilder darstellen kann.
Vielleicht gibt es ja eine Möglichkeit sie in den Speicher zu Übertragen. Es wir nur der Teil vom Display überschrieben der angegeben wurde


Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

r00t2

Danke, rippi!

So wie ich das sehe, liest Du die RGB Werte des Ursprungsbildes Pixel für Pixel ein und setzt das Bild - angefangen an einer Startposition - aus 1 Pixel großen Rechtecken mit der entsprechenden Farbe wieder auf dem Nextion-Display zusammen - richtig?

Kann man die Bilddaten so auch direkt in eine Nextion-Komponente (z. B. eine Bildkomponente) speichern, die auch ein picq (Crop picture) "überlebt"?

Mein Hintergedanke ist:
Ich habe ein Projekt, welches einen Kartenausschnitt als Hintergrundbild auf einem Nextion anzeigt. Über diese Bild-Komponente zeichne ich mit den Nextion Funktionen einige Daten (Rechtecke, Text, etc.). Zum Aktualisieren lasse ich per picq den "übermalten" Kartenausschnitt wieder leeren und zeichne erneut darüber, usw.

Mit einem Upload von Bilddaten direkt in eine Komponente könnte ich so die Kartenausschnitte vom Benutzer wählbar und per Website-Upload mittels Browser aktualisierbar machen, ohne dass man jedes Mal den Nextion Designer bemühen muss, um eine neue Karte als Hintergrundbild auf eine Seite zu laden.
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

rippi46

Hallo r00t2,

mein ursprünglicher Gedanke war, eine Playersteuerung zu machen, bei der ich dann kleine Coverbilder anzeigen wollte (analog zu jivelite)
Der Nachteil war, dass ich sämtliche Coverbilder meiner CD-Sammlung in den Speicher des Nextiondisplays schreiben müsste. Daher entstand die Idee
die Coverbilder On-the-fly auf dem Display zu zeichnen.

Wie du schon erkannt hast zeichne ich das analysierte Bild Pixel für Pixel auf dem Display.
Der Bereich wird aber nicht gespeichert.

Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

andies

#547
Im Thread ist mehrfach von einem Wiki Artikel die Rede, ich finde den aber nicht. Hat jemand da mal was geschrieben?

<edit> habe mal angefangen https://wiki.fhem.de/wiki/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

andies

Kann mir mal jemand helfen, ich komme nicht weiter. Ich habe ein Nextion, der mit einem esp8266 (und dort seriell verkabelt sowie ESPLink drauf) an FHEM angeschlossen ist:
Internals:
   Clients    :NEXTION:
   DEF        192.168.2.32:23
   DeviceName 192.168.2.32:23
   FD         19
   FUUID      5c782b5a-f33f-1115-3b26-2fabc4c559c5e42c
   NAME       Nextion
   NR         224
   NTFY_ORDER 50-Nextion
   PARTIAL   
   STATE      opened
   TYPE       Nextion
   MatchList:
     1:NEXTION  .*
   READINGS:
     2019-03-02 12:57:29   cmdResult       Timeout reading answer for get page 1
     2019-03-02 12:57:29   cmdSent         page 1
     2019-03-02 12:56:27   currentPage     -1
     2019-03-02 12:44:53   state           opened
Attributes:
   hasSendMe  1
   verbose    5

Auf dem Nextion habe ich zwei Seiten gestaltet, die ich auf dem Display selbst auch ansprechen kann. Wenn ich nun Kommandos absetze:
2019.03.02 12:44:53 1: 192.168.2.32:23 reappeared (Nextion)
2019.03.02 12:54:12 4: Nextion_SendCommand Nextion: send commands :page 1:
2019.03.02 12:54:12 4: Nextion: Nextion_SendCommand ReplaceSetmagic commnds after :page 1:
2019.03.02 12:54:12 4: Nextion_SendCommand Nextion: send command :page 1:
2019.03.02 12:54:12 5: SW: 706167652031ffffff
2019.03.02 12:54:12 4: Nextion_SendCommand Success
2019.03.02 12:54:12 4: Nextion_Set Nextion: raw done succesful:
2019.03.02 12:55:55 4: Nextion_SendCommand Nextion: send commands :t2.txt:
2019.03.02 12:55:55 4: Nextion: Nextion_SendCommand ReplaceSetmagic commnds after :t2.txt:
2019.03.02 12:55:55 4: Nextion_SendCommand Nextion: send command :t2.txt:
2019.03.02 12:55:55 5: SW: 74322e747874ffffff
2019.03.02 12:55:55 4: Nextion_SendCommand Success
2019.03.02 12:55:55 4: Nextion_Set Nextion: raw done succesful:
2019.03.02 12:56:27 4: Nextion_Attr Nextion: called
2019.03.02 12:56:27 4: Nextion_Attr Nextion: set  on hasSendMe to 1
2019.03.02 12:56:47 4: Nextion_SendCommand Nextion: send commands :page 1:
2019.03.02 12:56:47 4: Nextion: Nextion_SendCommand ReplaceSetmagic commnds after :page 1:
2019.03.02 12:56:47 4: Nextion_SendCommand Nextion: send command :page 1:
2019.03.02 12:56:47 5: SW: 706167652031ffffff
2019.03.02 12:56:47 4: Nextion_SendCommand Success
2019.03.02 12:56:47 4: Nextion_Set Nextion: raw done succesful:
2019.03.02 12:57:14 4: Nextion_Attr Nextion: called
2019.03.02 12:57:14 4: Nextion_Attr Nextion: set  on expectAnswer to 1
2019.03.02 12:57:28 4: Nextion_SendCommand Nextion: send commands :page 1:
2019.03.02 12:57:28 4: Nextion: Nextion_SendCommand ReplaceSetmagic commnds after :page 1:
2019.03.02 12:57:28 4: Nextion_SendCommand Nextion: send command :page 1:
2019.03.02 12:57:28 5: SW: 706167652031ffffff
2019.03.02 12:57:28 4: Nextion_ReadAnswer Nextion: for send commands :page 1:
2019.03.02 12:57:29 1: Nextion_SendCommand Error :Timeout reading answer for get page 1:
2019.03.02 12:57:29 1: Nextion_Set Nextion: raw failed with :Timeout reading answer for get page 1:

passiert auf dem Display rein gar nichts, insbesondere die Seiten wechseln nicht und ich erhalte auch kein Feedback darüber, was in t2.txt steht o.Ä. Wo kann ich denn weitersuchen?
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

#549
Moin,

wenn auf den Befehl set <DeinNextion> cmd reopen nix auf dem Display flackert...auf welche Geschwindigkeit ist Dein Nextion eingestellt? 115200 Baud ist die Zahl der Wahl...

Gruß
Uwe

EDIT: Bei der Zahl hast Du übrigens auch einen Zahlendreher im Wiki...

andies

danke, jetzt läuft es (ich hatte 9600 in der hmi-Datei eingestellt).


Gesendet von iPad 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

andies

#551
Nächste Frage. Ich möchte gern aktuelle Werte auf dem Display darstellen, beispielsweise Temperaturen etc. Das sind FHEM-intern Strings. Dazu schreibt man
set <myNextion> cmd t0.txt="Was auch immer"
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

Zitat von: UweH am 02 März 2019, 19:09:04
EDIT: Bei der Zahl hast Du übrigens auch einen Zahlendreher im Wiki...
behoben



Gesendet von iPad 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

andies

#553
Ich habe nach wie vor ein Problem mit dem Display; wenn das mal nicht ein hardware-Problem ist.


Geklärt. Ich habe den sleep-Modus eingerichtet. Zwar steht in der Anleitung, dass der sleep-Modus Daten empfangen soll, aber das macht er anscheinend nicht. Es ist ein echter sleep-Modus, wie beim arduino: Das Ding ist einfach aus.

Wenn man den Bildschirm lahmlegen will, muss man dim=0 nehmen. Nicht sleep. Das ist anscheinend für den Batteriebetrieb gedacht.
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

Bei einem Seitenwechsel wird ein refresh der Seite durchgeführt, also werden die Daten der Felder auf Vorgabewert zurückgesetzt. Um die Felder bei einem Seitenwechsel mit aktuellen Daten zu füllen, gibt's im Modul die Attribute "initPageX".
In diesem Fall hier wird das Feld "temp" auf Seite 0 mit dem Reading "temperature" vom Device "Temp.AZ" gefüllt:
attr NXT_USB initPage0 temp.txt="[Temp.AZ:temperature]";

Was genau soll das userReading "pressed_focus" eigentlich bewirken?

Gruß
Uwe