Dann könntest du auch eine String Variable nehmen und die in die pages.jsonl schreiben, dann würden wir die MQTT Längenbegrenzung vom Display umgehen.
Genau das war die Idee - schau gerade wie man sowas macht. Wahrscheinlich wieder etwas tricky ![]()
Der vermutlich einfachste Weg wäre FTP aktivieren und hochladen.
Mache ich auf eine Internetseite zur Wetter Lagedarstellung
$connection = ftp_ssl_connect($ftpserver, 21, 15);
$login_result = ftp_login($connection, $user, $password);
// 1=Login OK
if (!$connection || !$login_result)
{
//Wenn Fehler
echo "\nError: creating FTP connection failed";
}
else{
ftp_pasv($connection, true);
$upload = ftp_put($connection, $remotefile, $filepath, FTP_ASCII);
if (!$upload)
{
//Wenn Fehler
echo "\nError: FTP upload failed";
}
else
{
if (($_IPS['SENDER'] == "Execute") AND $debug)
echo "Upload succesful!";
}
}
ftp_quit($connection);
Dann könnten auch notwendige Bilder aus dem Modul hochgeladen werden
.
Ahh, daran habe ich gar nicht gedacht
Das Teil unterstützt ja FTP ![]()
Schau ich mir an!
Hahaha, das upload hat gleich beim ersten mal funktioniert und habe gleich mal meine pages.jsonl mit einem einzelnen Kommentar überschrieben - super!!!
FTP - da muss man ein usernamen und passwort konfigurieren, sonst läuft der ftp-server nicht. Das müsste dann auch jeder auf jedem Gerät machen - noch mehr Erklärarbeit ![]()
Aber wie gesagt, per multipart form upload geht es out-of-the-box!
Jetzt die Frage -einfach per Fileauswahl (lokales Dateisystem) oder per String-Variable???
Gruß HEiko
Im Symcon wäre es für mich konsistenter, aber aus dem Dateisystem vermutlich einfacher umzusetzen.
Erster Versuch ein Objekt über das Modul zu schalten, klappt noch nicht
.
Ist eine Bool, ~Switch mit Standardaktion, schaltet aber nicht.

Das Problem ist glaube ich das „-1“, aber wie das zustande kommt kann ich mir gerade nicht erklären!
Ich geh mal auf die Suche.
Gruß HEiko
Kannst Du mir mal das JSONL von Objekt Page 1 und ID 41 zeigen!
Bei mir sieht ein Togel Button so aus …
ReceiveData | Received Topic: hasp/arbeit/state/p4b61 Payload: {"event":"down","val":0}
Also EVENT plus VAL ???
PS: Kann es sein das Du einen reinen Button ohne toggle: true definiert hast???
Ok, da hast du natürlich das Problem entdeckt, meinem Script war das egal, da ich nur auf ein Ereignis des btn reagiere.
Das ist die Zeile
{"page":1,"id":41,"obj":"btn","x":1,"y":'.FuenfteReihe.',"w":78,"h":78,"toggle":true,"bg_color":"#666666","text":"\uE335","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":48}
ist da irgendetwas zu viel in der Definition, weil die Auswertung nicht funktioniert, schalten schon
({{val}}==0) ? '#D3D3D3 \uE335' : '#FFF200 \uE6E8'
Update:

Debug
Update:
Download link scheint auch nicht zu passen, bei mir ohne „.bmp“.
Okay, Du hast auf Toggle umgestellt und jetzt geht auch das Schalten - CHECK!
Auswertung geht nicht - denke Du meinst die Beschriftung - nicht gut ![]()
Das ist etwas Tricky, aber muss ich mir genauer anschauen - melde mich!
Das habe ich noch nicht ganz verstanden. Du willst ein Screenshot vom Display runterladen? Hast Du vorher die Aktion ausführen … Bildschirmfoto geklickt? Und dann „Abfragen von …“ Bildschirmfoto!?
Gib ihm paar Sekunden - da ist er nicht so schnell!
Gruß Heiko
und dann

Über die Weboberfläche ist der Link ohne das „.bmp?..“.
Update:
Hurxxxx …
Zwei Step Approach ![]()
Das funktioniert dann auch. In der Weboberfläche gibt es nur einen Button.
Das stimmt, aber dann hätte man die Modul-Logik umbauen müssen
Und für dieses Gimmick wollte ich das dann doch nicht. Man braucht halt 2 Kommandos, d.h. das erste initiert das Erstellen und dann bekommt man na Antwort das es fertig ist und dann kann man es runterladen ![]()
Wenn man es so nennen kann … „Fehler“ gefunden - Update kommt etwas später!
Aber ich habe wieder etwas gelernt. Die farbige Textformatierung funktioniert nur bei Objekten die das „text“ Attribut unterstützen. Das Attribut „val_str“ unterstützen das nicht!
Gruß Heiko
PS: Danke für’s Testen - bei meiner Konfig hat alles gepasst - kann man mal sehen was noch so alles versteckt ist ![]()
PSS: Falsches JSONL und falscher Code ergibt richtiges Verhalten
![]()
Neue Beta ist online!
v1.4.20240905
- NEU: UI-Objekt Checkbox wird jetzt unterstützt
- FIX: Textausgabe für Toogle Button korrigiert
- FIX: Konfiguration für Musik Play/Stop Button gefixt
DANKE

jetzt muss ich nur noch rausfinden, wie ich das blau los werde, das kommt aus der „Primary color“
.
bg_color??? und wenn gewollt „bg_opa“ ![]()
Gruß HEiko
z.B. "bg_opa":70,"bg_color":"#FFFFFF",
ok, probiere ich, beide Default Farben auf die Hintergrundfarbe der Buttons setzen hilf auch ![]()

Dann muss ich mal alle Objekte pflegen und mein Script umbauen.
Einiges ist zugeordnet und funktioniert auf Anhieb.
Aber mit dem {{val}} bzw. eval() habe ich noch Probleme. Ich habe als Rückgabewert der Variablen eine Integer mit 3 Werten.
Das funktioniert nicht
({{val}}==0) ? '#ff0000 \uE81C' : '#ff8000 \uE81B' : '#00b050 \uF0AF'
und das auch nicht
if ({{val}} == 0) {{txt}} = '#ff0000 \uE81C' elseif ({{val}} == 1) {{txt}} = '#ff8000 \uE81B' elseif ({{val}} == 2) {{txt}} = '#00b050 \uF0AF'
Die PHP Doku macht mich auch noch nicht wirklich schlauer
. Angeblich soll mit eval() doch beliebiger PHP Code ausgeführt werden.
Noch ein paar Kleinigkeiten vom rumspielen
.
Könntest du die beiden Parameter für backlight short und long bitte im Modul konfigurierbar machen?
Du hast sie hardcoded im Modul.
$this->SendCommand('backlight=50');
Und beim AutoShutdownBacklight direkt antiburn mit ein- bzw ausschalten
antiburn=off
Das soll besser sein für die Display Haltbarkeit.
Und noch ein letzter Punkt für heute

was wird wie ans Script übergeben?
Die üblichen Verdächtigen wie $_IPS['VALUE'] oder ähnliches sind unbekannt.

