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: UweH am 04 März 2019, 17:46:39
Bei einem Seitenwechsel wird ein refresh der Seite durchgeführt, also werden die Daten der Felder auf Vorgabewert zurückgesetzt.
Danke, na herrlich. Refresh setzt zurück. Die Hersteller sind wirklich "successed", echt. OK, dann weiß ich wenigstens, woran es lag.

Zitat von: UweH am 04 März 2019, 17:46:39
Was genau soll das userReading "pressed_focus" eigentlich bewirken?
Ich wollte wissen, welche Taste gedrückt wurde und nicht mit zehn (so viele Buttons habe ich) notifies arbeiten. Wie hast Du das gemacht?
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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

Beispiel für einen Dual-State-Button. Diesen Ausdruck:
print "$button="
get button.val

in das Feld "Touch Release Event" eintragen. Dann bekommt man in rectext dieses ausgegeben:
$button=1 bzw.
$button=0
Kann man prima alle Buttons mit einem einzigen notify bzw. einer Funktion in "myUtils" abfangen.

andies

Super, danke. Mann diese Doku ist echt nervig, succesed eben. Ich übertrage das alles ins Wiki, hoffentlich braucht der nächste dann nicht wie ich Tage, um einfachste Sachen hinzubekommen.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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

Naja...dieser Thread ist zwar lang und alt, aber an diese Dinge haben wir uns schon Ende 2016 rangehangelt. Geht so ab Seite 12 oder 13 los.

andies

Zitat von: ext23 am 29 Oktober 2016, 21:51:31
Gibts da eigentlich schon ein WIKI zu? Weil irgendwie riechen kann man das ja nicht alles ;-)
Hast Recht, Uwe. Und schon damals waren die Leute genervt. Das beruhigt. Jedenfalls gibt es jetzt ein Wiki. Ich lese da mal, danke nochmal!

Ich bin succesed.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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

FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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

Kann ich nachvollziehen. Vor ein paar Tagen hat mich dieses Teil genervt, weil der Befehl zum Setzen der rtc0 bis rtc6 zwar ganz einfach ist ("set ... cmd rtc0=2019" z.B.), dieser aber im Instruction Set nicht dokumentiert ist...  >:(

andies

Hast Du vielleicht eine Lösung für das folgende Problem? Ich möchte mir die Proplanta-Icons vom Wetter anzeigen lassen. Das device habe ich und in den Readings steht dann der Dateiname zu dem jeweiligen Icon, beispielsweise
fc0_weather00Icon https://www.proplanta.de/wetterdaten/images/symbole/n7.gif
Anhand des Dateinamens erkenne ich, welches Icon das ist. Ich habe alle Icons in den Editor eingeladen und müsste nun aus dem Dateinamen die ID des Bildes herauslesen. Mit Perl geht das ganz einfach. Wie mache ich das in initPage0? Kann ich da intern Perlbefehle integrieren, mit den Klammern und so?
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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

FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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: andies am 04 März 2019, 18:25:20
Hier steht das: https://www.boecker-systemelektronik.de/epages/63381271.sf/de_DE/?ObjectPath=/Shops/63381271/Categories/Tutorials/Nextion_Tutorials/%22Interne%20Systemvariablen%22, ziemlich weit unten.
Ja, das haben die 1:1 aus dem InstructionSet übernommen, das steht dort auch so. Das der eigentliche Befehl letztlich sooo einfach ist, steht aber nirgends.

Zu Deiner Wetter-Funktion. Habe ich ähnlich gelöst. Jedes Wetter-Icon im Nextion hat eine ID, die abhängig von der Icon-ID Deines Wetterdienstes aufgerufen wird.
Bei einem Refresh oder ausgelöst durch ein notify wird die Funktion aufgerufen:
sub WeatherToNextion($)
für initPage0:
wetter.pic={(WeatherToNextion(ReadingsVal("DarkSky","fc1_code",100)))};

In der myUtils sieht das dann so aus:
sub WeatherToNextion($)
{
  my ( $val ) = @_;
  return 20 if ( $val == 2 );
  return 21 if ( $val == 3 );
  return 21 if ( $val == 4 );
  return 22 if ( $val == 5 );
  return 23 if ( $val == 6 );
  return 24 if ( $val == 7 );
  return 25 if ( $val == 8 );
  return 25 if ( $val == 9 );
  usw....
  return 48;
}


andies

Cool, danke. Übernehme ich auch ins Wiki. Noch eine Frage. Ich habe das Display jetzt angeschlossen, neu geflasht und keine Spezialitäten drin sowie folgende Definition
attr Nextion initPage0 Temperatur0.txt="[BresserTemeo_1:temperature]"
Dennoch erscheint der Text aus dem device nicht, das device selbst sieht so aus

Internals:
...
   NAME       BresserTemeo_1
   READINGS:
...
     2019-03-04 18:58:55   temperature     6.6
...
Attributes:...

Hast Du eine Idee, wo ich da suchen kann?
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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: andies am 04 März 2019, 19:00:41

attr Nextion initPage0 Temperatur0.txt="[BresserTemeo_1:temperature]"

Hast Du eine Idee, wo ich da suchen kann?
Ja. Semikolon hinter den Ausdruck setzen, siehe mein Beispiel:
temp.txt="[Temp.AZ:temperature]";

andies

#568
habe ich, funktioniert trotzdem nicht:

Internals:
   Clients    :NEXTION:
   DEF        192.168.2.32:23@115200
   DeviceName 192.168.2.32:23@115200
   FD         20
   FUUID      5c782b5a-f33f-1115-3b26-2fabc4c559c5e42c
   NAME       Nextion
   NR         224
   NTFY_ORDER 50-Nextion
   PARTIAL   
   STATE      opened
   TYPE       Nextion
   Helper:
     DBLOG:
       cmdSent:
         DbLog:
           TIME       1551716802.6931
           VALUE      Temperatur0.txt="8.8°C (7.1°C)"
   MatchList:
     1:NEXTION  .*
   OLDREADINGS:
   READINGS:
     2019-03-04 19:44:35   cmdResult       empty
     2019-03-04 19:44:35   cmdSent         page 0
     2019-03-04 18:49:12   currentPage     -1
     2019-03-04 19:44:37   old1            H65(e) H00 H0d H01
     2019-03-04 19:44:04   old2            H65(e) H01 H01 H01
     2019-03-04 19:44:04   old3            H65(e) H00 H0d H01
     2019-03-04 19:44:01   old4            H65(e) H01 H01 H01
     2019-03-04 19:44:00   old5            H00 H00 H00 H00 H00 H00 H00 H00 H00 H00 H00 H65(e) H00 H0d H01
     2019-03-04 19:44:37   received        H65(e) H01 H01 H01
     2019-03-04 19:44:37   rectext         
     2019-03-04 19:43:58   state           opened
Attributes:
   event-min-interval 0.5
   group      Nextion
   initPage0  Temperatur0.txt="[BresserTemeo_1:temperature]";

Selbst Temperatur0.txt=\"eins\"; mit und ohne Semikolon/escaped und nicht escaped geht nicht. Senden über die Webmaske aber geht?!

Mich irritiert auch currentPage und ich kriege kein rectext. Brauche ich irgendwas mit sendMe oder so? <edit> Siehe nächster Post, scheint nur hexadecimal anzukommen.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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

#569
...zumal ich in der Konsole des ESP die Texte lesen kann:

<edit> die Texte kommen Hexadecimal an, siehe zweites Bild</edit>
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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