WLED 2D Matrix Text ausgeben

Begonnen von Stargrove1, 02 Juli 2023, 19:13:39

Vorheriges Thema - Nächstes Thema

Stargrove1

Seit WLED 0.14.0-b1 wird neben den LED Bändern, auch eine 2D Matrix unterstützt, ich habe mich gefragt ob es möglich ist, beliebigen Text von FHEM darüber auszugeben. Im Netz habe ich dazu ein Video gefunden allerdings für Home Assistent (https://www.youtube.com/watch?v=ZlYSjxx5IRc) hier wird es mit rest command umgesetzt, kann man das für FHEM so übernehmen?

TomLee

#1
Es gibt ein Template für ein MQTT2-Device, dort gibts einen setter apiraw.

Wenn du in dem apiraw-setter folgendes eingibst, ändert man den Namen des ersten Segment ("id":0):
{"seg":[{"id":0,"n":"test"}]}
Wie ich es nach kurzem einlesen verstehe, müsst es das schon gewesen sein um den Text anzuzeigen.

Wenn das klappt, ergänzt in der setlist einfach einen entsprechenden "text-setter".

Stargrove1

Das klingt super. Das Template wird verwendet und wie erwähnt gibt es hier apiraw, danke für den Hinweis, ich werde es mal ausprobieren

Stargrove1

Hat auf Anhieb funktioniert, einfach reinkopiert und gesendet und schon erscheint es auf dem Display. Vielen Dank

Stargrove1

Ich muss leider noch mal fragen, ich habe versucht ein set zu erstellen, mit dem ich beliebigen Text ans Display senden kann, leider funktioniert es nicht.

Ich dachte wenn apiraw wie folgt aussieht

  apiraw wled/008e3a/api $EVTPART1

Kann ich folgenden Aufruf verwenden, um nur noch den Text angeben zu müssen

  settext wled/008e3a/api {'seg':[{'id':0,'n':[$EVTPART1]}]}

Leider ohne Erfolg, ich habe es ebenfalls mit normalen Anführungszeichen probiert, gleiches Ergebnis

  settext wled/008e3a/api {"seg":[{"id":0,"n":[$EVTPART1]}]}

ComputerZOO

Moin,
ich bin gestern auch auf dieses Problem gestoßen. Sobald Leerzeichen im übergebenen Text sind taucht auf dem Display nur das erste Wort auf. Versuche die Leerzeichen mit   oder %20 zu maskieren haben leider nicht funktioniert. Habe als "Workaround" die Leerzeichen durch Unterstriche ersetzt.

Stargrove1

Kannst du deinen Eintrag in der setlist posten? Mir ist noch nicht aufgefallen, bei mir gehen auch einzelne Wörter nicht

TomLee

Zitat... ich habe es ebenfalls mit normalen Anführungszeichen probiert, gleiches Ergebnis ...

Also bei mir klappt das mit den Quotes:

text_seg_0 <DEVICETOPIC> {"seg":[{"id":0,"n":"$EVTPART1"]}}

Das mit dem Leerzeichen liegt daran das jedes weitere "Wort" dann im nächsten $EVTPARTX ist.

Das hab ich so nachvollzogen:

text_seg_0 <DEVICETOPIC> {"seg":[{"id":0,"n":"$EVTPART1 $EVTPART2"]}}
Da hab ich erstmal keine Idee.

TomLee

ZitatDa hab ich erstmal keine Idee.

Doch, schon, über $EVENT, mir ist aber noch nicht ganz klar wie genau, kommt mir über den Mittag  :P

TomLee

test {my @a=$EVENT;;shift @a;my $w=join(' ',@a);return qq(wled/55da2c/api {"seg":[{"id":0,"n":"$w"]}})}
Warum wird die Variable $w nicht aufgelöst, existiert die in dem zweiten geschweiften Klammerpaar nicht mehr ?

TomLee

#10
Ah, Denkfehler bei dem Array, so klappts mit den Leerzeichen:

test {my @a=split(' ',$EVENT);;shift @a;my $w=join(' ',@a);return qq(wled/55da2c/api {"seg":[{"id":0,"n":"$w"]}})}

ComputerZOO

#11
Zitat von: Stargrove1 am 06 Juli 2023, 09:17:04Kannst du deinen Eintrag in der setlist posten? Mir ist noch nicht aufgefallen, bei mir gehen auch einzelne Wörter nicht

displayText    tele/$DEVICETOPIC/api {"seg":[{"id":0,"n":"$EVTPART1"}]}

ComputerZOO

Zitat von: TomLee am 06 Juli 2023, 12:37:00Ah, Denkfehler bei dem Array, so klappts mit den Leerzeichen:

test {my @a=split(' ',$EVENT);;shift @a;my $w=join(' ',@a);return qq(wled/55da2c/api {"seg":[{"id":0,"n":"$w"]}})}

Hmm, funktioniert (mit angepasstem Topic) nicht wirklich. Bin mir gerade auch nicht sicher ob ich die Semikolon verdoppeln muss oder nicht (du hast es ja will gemischt)

TomLee

Mag nicht ausschliessen das es mit einer aktuellen Version nicht klappt, zweifle ich aber an, nutze noch 0.13.3.

Im setList-Eintrag sollten es nur einfache Semikolon sein, klappt aber auch mit zwei.
Die zwei Semikolon nach dem split hab ich doch wirklich übersehen (auch in dem Patch  ::) ).

Zeig halt mal ein List, das man nachvollziehen kann was du vlt. anders machst wie ich.


Beta-User

Kannst du das in eine "ersetze EVTPART0"-Fassung ändern (mit " nichts"; auch im patch)?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files