LCD4linux
-
- Member
- Beiträge: 74
- Registriert: 06 Dez 2015 06:14
- Hat gedankt: 12 Mal
- Hat Dank erhalten: 7 Mal
- Turbohai
- Senior member
- Beiträge: 1338
- Registriert: 26 Mär 2014 17:59
- Wohnort: Triefenstein
- Receiver 1: GigaBlue UHD Quad 4K OATV 7.3
- Receiver 2: GigaBlue UHD IP 4K OATV 7.4 Devel
- Hat gedankt: 730 Mal
- Hat Dank erhalten: 617 Mal
Mr.Servo,
ist tatsächlich so mit 6.5!! Im Web-Interface und auch Mpeg-Stream (z.B. VLC-Player) wird angezeigt, aber im Display der Box bleibt es dunkel.
Habe jetzt auch noch entdeckt durch Zufall, bei "Text anzeigen" wird dieser Text "Box-Temp.▲ ▼CPU-Last" dann so wie im Bild angezeigt:
ist tatsächlich so mit 6.5!! Im Web-Interface und auch Mpeg-Stream (z.B. VLC-Player) wird angezeigt, aber im Display der Box bleibt es dunkel.
Habe jetzt auch noch entdeckt durch Zufall, bei "Text anzeigen" wird dieser Text "Box-Temp.▲ ▼CPU-Last" dann so wie im Bild angezeigt:
- Dateianhänge
-
- Text.png (28.72 KiB) 208 mal betrachtet
Gruß, Turbohai
-
- Member
- Beiträge: 74
- Registriert: 06 Dez 2015 06:14
- Hat gedankt: 12 Mal
- Hat Dank erhalten: 7 Mal
- Mr.Servo
- Developer
- Beiträge: 2837
- Registriert: 10 Aug 2020 22:09
- Wohnort: Pfalz / Palatinate
- Receiver 1: GigaBlue UE 4K Cable (OpenATV 7.4)
- Receiver 2: Mut@nt HD51 4K Cable (OpenATV 7.5)
- Receiver 3: VU+ Uno 4K Cable (OpenATV 7.4)
- Hat gedankt: 1941 Mal
- Hat Dank erhalten: 2360 Mal
- Geschlecht:
Rosalie911 hat geschrieben:@turbohai
Endlich einer der mich versteht.
die Frage bleibt aber trotzdem warum nur im 6.5 .das kann doch nicht nur am pyton 3 liegen?
mfg
Hi Rosalie911,
Ich kann die WebIF-Probleme mit dem "Boxskin-LCD Aktiviere On-Mode" und dem weißen WebIF mit der Meldung "Processing Failed" auch bei mir nachvollziehen. Da sehe ich im Logfile (muß man erst aktivieren) daß es unter P3 Kommunikationsprobleme gibt, die es bei P2 nicht gibt. Ich schaue mir das an und versuche die Befehlskette zu verstehen...
Doch! Es hat sich recht viel beim Sprung von P2 auf P3 getan. Viele Funktionen heißen nun anders und/oder müssen nun anders aufgerufen werden. Und wenn man das dann endlich auf P3 umgefummelt hat, läuft es manchmal nicht auf P2. C'est la vie
Wegen der Displayansteuerung: Ich sehe, daß die Kommunikation "L4L <-> Box" unter P3 nicht so läuft wie unter P2. Jetzt muß ich erst mal verstehen wie es gedacht war (ich passe L4L ja nur an, habe es also nicht programmiert) und dann kann ich vielleicht eine Lösung dafür finden. Der Urheber von L4L hat seine IHAD-Version auch noch nicht auf P3 gehoben. Aber er wird mir beim Verständnis helfen können. Das alles dauert natürlich, ist unendlich zäh.
Wie immer stecken die Teufel im Detail!
Gruß.....Mr.Servo
- Mr.Servo
- Developer
- Beiträge: 2837
- Registriert: 10 Aug 2020 22:09
- Wohnort: Pfalz / Palatinate
- Receiver 1: GigaBlue UE 4K Cable (OpenATV 7.4)
- Receiver 2: Mut@nt HD51 4K Cable (OpenATV 7.5)
- Receiver 3: VU+ Uno 4K Cable (OpenATV 7.4)
- Hat gedankt: 1941 Mal
- Hat Dank erhalten: 2360 Mal
- Geschlecht:
Turbohai hat geschrieben:Mr.Servo,
ist tatsächlich so mit 6.5!! Im Web-Interface und auch Mpeg-Stream (z.B. VLC-Player) wird angezeigt, aber im Display der Box bleibt es dunkel.
Habe jetzt auch noch entdeckt durch Zufall, bei "Text anzeigen" wird dieser Text "Box-Temp.▲ ▼CPU-Last" dann so wie im Bild angezeigt:
Hi Turbohai,
im Element "Text 1 anzeigen" steht bei mir als Freitext noch "Hello". Steht bei Dir was anderes drin? Zeig mal Deinen Text!
Das wird wieder der bekannte Mist mit den Sonderzeichen sein! Genau dassselbe wie beim Grad-Zeichen °. Da hat sich leider auch viel geändert von P2 nach P3.
Hier findet mal eine Auflistung der Unicodes: Unicode UTF-8, Tabelle mit Sonderzeiche, Entity, Unicodenummern, table utf-8
Gruß.....Mr.Servo
- mike99
- Super Moderator
- Beiträge: 8401
- Registriert: 05 Apr 2013 21:02
- Wohnort: Berlin
- Hat gedankt: 760 Mal
- Hat Dank erhalten: 2849 Mal
Turbohai hat geschrieben:warum nicht gleich auch 6.4. So würde es automatisch von den Usern die LCD4Linux nutzen auch getestet. Sollte wirklich unerwartet doch noch was größeres damit nicht i.O. sein, könnte man doch zur Not wieder zurück falls wir es nicht hinbekommen. Nur so ein Gedanken...
Naja aus dem OA bauen auch andere Teams Images (die es dann auch betrefen würde bei Problemen), nicht nur ATV.
Deshalb mein Vorschlag...
Gruss Mike
GB UE 4K Cable FBC + PnP C/T2 Dual-Tuner
Mut@nt HD-51 - 2x DVB-C/T2+FreenetModul
Axas E4HD Ultra Sat + Dual DVB-C/T2
Toshiba 40TL838
Mut@nt HD-51 - 2x DVB-C/T2+FreenetModul
Axas E4HD Ultra Sat + Dual DVB-C/T2
Toshiba 40TL838
- Mr.Servo
- Developer
- Beiträge: 2837
- Registriert: 10 Aug 2020 22:09
- Wohnort: Pfalz / Palatinate
- Receiver 1: GigaBlue UE 4K Cable (OpenATV 7.4)
- Receiver 2: Mut@nt HD51 4K Cable (OpenATV 7.5)
- Receiver 3: VU+ Uno 4K Cable (OpenATV 7.4)
- Hat gedankt: 1941 Mal
- Hat Dank erhalten: 2360 Mal
- Geschlecht:
Hi Turbohai!
ich habe mir das mal angesehen und jetzt bin ich einfach mal provokant: Es kann sein, daß man sich bei P2 und P3 bei Sonderzeichen traditionell ins Hemd macht und mit den diversesten UTF-8 Codekombinatioen rumlaboriert.
Kannst Du mal diesen Freitext (so wie er ist mit den Codes) aus dem WebIF kopieren und hier reinknallen? Bei mir steht da nähmlich nur "Hello".
Kopiere Dir man diesen Text genau wie er ist und füge ihn in dieser Freitextzeile einfach mal so ein (also mit diesen Dreiecken): Box-Temp.▲ ▼CPU-Last
Ich glaube nämlich, daß man mittlerweise diesen UTF-8 -Code einfach weglassen kann und feddisch!
Gruß & Danke......Mr.Servo
ich habe mir das mal angesehen und jetzt bin ich einfach mal provokant: Es kann sein, daß man sich bei P2 und P3 bei Sonderzeichen traditionell ins Hemd macht und mit den diversesten UTF-8 Codekombinatioen rumlaboriert.
Kannst Du mal diesen Freitext (so wie er ist mit den Codes) aus dem WebIF kopieren und hier reinknallen? Bei mir steht da nähmlich nur "Hello".
Kopiere Dir man diesen Text genau wie er ist und füge ihn in dieser Freitextzeile einfach mal so ein (also mit diesen Dreiecken): Box-Temp.▲ ▼CPU-Last
Ich glaube nämlich, daß man mittlerweise diesen UTF-8 -Code einfach weglassen kann und feddisch!
Gruß & Danke......Mr.Servo
- Turbohai
- Senior member
- Beiträge: 1338
- Registriert: 26 Mär 2014 17:59
- Wohnort: Triefenstein
- Receiver 1: GigaBlue UHD Quad 4K OATV 7.3
- Receiver 2: GigaBlue UHD IP 4K OATV 7.4 Devel
- Hat gedankt: 730 Mal
- Hat Dank erhalten: 617 Mal
@Mr.Servo, Ich verstehe jetzt nicht genau wie du meinst. Wenn man noch nichts gemacht hat steht Hello in dem Feld und wenn man einen Schirm aktiviert wird Hello angezeigt. Meinen eigenen Text habe ich so eingegeben wie du hier geschrieben hast wird auch gezeigt, aber die Dreiecke werden in UTF-8 -Code angezeigt also ▲ und ▼
Gruß, Turbohai
- Mr.Servo
- Developer
- Beiträge: 2837
- Registriert: 10 Aug 2020 22:09
- Wohnort: Pfalz / Palatinate
- Receiver 1: GigaBlue UE 4K Cable (OpenATV 7.4)
- Receiver 2: Mut@nt HD51 4K Cable (OpenATV 7.5)
- Receiver 3: VU+ Uno 4K Cable (OpenATV 7.4)
- Hat gedankt: 1941 Mal
- Hat Dank erhalten: 2360 Mal
- Geschlecht:
Hi Turbohai,
Achso! Sorry erst jetzt ist der Groschen gefallen
Okay ich hatte verstanden, daß Du in Dein "Hello"-Text durch einen Text mit UTF-8 Codes z.B. '\xb0' ersetzt hättest. Aber nein, Du hast die Dreicke in den "Hello"-Text reingekloppt wie beschrieben.
Jetzt da ich es geschnallt habe konnte ich es auch nachvollziehen. Mal sehen ob ich das im P3 anpassen kann?
Danke Dir & Gruß......Mr.Servo
Achso! Sorry erst jetzt ist der Groschen gefallen
Okay ich hatte verstanden, daß Du in Dein "Hello"-Text durch einen Text mit UTF-8 Codes z.B. '\xb0' ersetzt hättest. Aber nein, Du hast die Dreicke in den "Hello"-Text reingekloppt wie beschrieben.
Jetzt da ich es geschnallt habe konnte ich es auch nachvollziehen. Mal sehen ob ich das im P3 anpassen kann?
Danke Dir & Gruß......Mr.Servo
-
- VIP
- Beiträge: 1532
- Registriert: 20 Dez 2016 10:06
- Hat gedankt: 399 Mal
- Hat Dank erhalten: 824 Mal
Ich hoffe das passt hier jetzt noch rein ...
@Mr.Servo
Ich bin da auch mal drüber geflogen. Das ist aber schon her, daher ist folgendes nur aus dem Gedächtnis.
Da wird dir der Urheber besser sagen können wie es funktioniert.
Aus meiner Sicht läuft es wie folgt:
Mehrere Threads
Einige davon verfügen über eine Queue
Einer der Threads füllt die Queues der anderen Threads mit einem Tuple
Das Tuple ist mit einer Funktion und Argumenten versehen
Dieses Tuple mit seiner Funktion und Argumenten wird abgearbeitet
Diese Threads sind long-running Threads. D.h. die laufen immer und werden nicht per Aufruf neu gestartet oder gestoppt. Die arbeiten einfach ihre jeweilige Queue mit den Tuple von Funktion und Argumenten ab.
Queues sind mit Schlangen an einer Kasse zu vergleichen. In diesem Fall verfolgen sie ein FIFO Prinzip - First In First Out. Im Gegensatz dazu gibt es zum Beispiel auch noch LIFO - Last In First Out. Das ist zum Beispiel ein Stack.
Wenn ich mich recht entsinne werden die Queues mit „Lput“ gefüllt und das je nach Betriebsmodi. Es gibt also sowas wie:
wenn standby dann Lput(putClock, Uhrentyp ̷)
Das ist aus meiner Sicht das Allgemeine Prinzip. Vielleicht hilft es dir ja.
Wobei ich denke das du daran nicht rumfummeln solltest / musst. Es sind eher Fehler wie die Kodierung, welche sich von P2 nach P3 geändert hat.
Um beides in einem Plugin umzusetzen bietet sich SIX an und Funktionen wie „ensure_string“ und Konsorten.
@Mr.Servo
Ich bin da auch mal drüber geflogen. Das ist aber schon her, daher ist folgendes nur aus dem Gedächtnis.
Da wird dir der Urheber besser sagen können wie es funktioniert.
Aus meiner Sicht läuft es wie folgt:
Mehrere Threads
Einige davon verfügen über eine Queue
Einer der Threads füllt die Queues der anderen Threads mit einem Tuple
Das Tuple ist mit einer Funktion und Argumenten versehen
Dieses Tuple mit seiner Funktion und Argumenten wird abgearbeitet
Diese Threads sind long-running Threads. D.h. die laufen immer und werden nicht per Aufruf neu gestartet oder gestoppt. Die arbeiten einfach ihre jeweilige Queue mit den Tuple von Funktion und Argumenten ab.
Queues sind mit Schlangen an einer Kasse zu vergleichen. In diesem Fall verfolgen sie ein FIFO Prinzip - First In First Out. Im Gegensatz dazu gibt es zum Beispiel auch noch LIFO - Last In First Out. Das ist zum Beispiel ein Stack.
Wenn ich mich recht entsinne werden die Queues mit „Lput“ gefüllt und das je nach Betriebsmodi. Es gibt also sowas wie:
wenn standby dann Lput(putClock, Uhrentyp ̷)
Das ist aus meiner Sicht das Allgemeine Prinzip. Vielleicht hilft es dir ja.
Wobei ich denke das du daran nicht rumfummeln solltest / musst. Es sind eher Fehler wie die Kodierung, welche sich von P2 nach P3 geändert hat.
Um beides in einem Plugin umzusetzen bietet sich SIX an und Funktionen wie „ensure_string“ und Konsorten.
- Mr.Servo
- Developer
- Beiträge: 2837
- Registriert: 10 Aug 2020 22:09
- Wohnort: Pfalz / Palatinate
- Receiver 1: GigaBlue UE 4K Cable (OpenATV 7.4)
- Receiver 2: Mut@nt HD51 4K Cable (OpenATV 7.5)
- Receiver 3: VU+ Uno 4K Cable (OpenATV 7.4)
- Hat gedankt: 1941 Mal
- Hat Dank erhalten: 2360 Mal
- Geschlecht:
4l3x2k hat geschrieben:Da wird dir der Urheber besser sagen können wie es funktioniert.
Das ist aus meiner Sicht das Allgemeine Prinzip. Vielleicht hilft es dir ja.
Wobei ich denke das du daran nicht rumfummeln solltest / musst. Es sind eher Fehler wie die Kodierung, welche sich von P2 nach P3 geändert hat.
Um beides in einem Plugin umzusetzen bietet sich SIX an und Funktionen wie „ensure_string“ und Konsorten.
Hi 4l3x2k,
vielen Dank für Deine wertvollen Tips und Hinweise. Ich gehe der Sache gerne nach, bin gespannt wie ich das Thema lösen kann!
Ganz genau, ich denke auch, daß es sich um ein P2->P3-Problem handelt und den Ablauf lasse ich schön brav wie er ist. Klar habe ich den Urheber bereits kontaktiert, er weis ja, daß ich die Lösung dann gerne mit ihm teile. So haben dann alle (oe-alliance & IHAD) was davon, ich finde genau so muß es auch sein!!!
Hier zum Problem, wie ich es analysiert habe:
Beides getestet auf meiner Mut@nt HD51: Beidesmal gehe ich aufs WebIF unter Global - Boxskin-LCD und setze das Häkchen unter Boxskin-LCD Aktiviere On-Mode, danach "setze Einstellungen"...
Bei OpenATV 6.4 (P2) quittiert er dies mit dem roten Hinweistext: GUI Neustart notwendig. Alles gut & läuft...
Bei OpenATV 6.5 (P3) kommt danach kein roter Hinweistext, und wenn ich dann nochmal "setze Einstellungen" drücke gibts einen leeren weißen Bildschirm mit der Meldung "Processing Failed"
Das L4Log.txt von OpenATV 6.4 (Python2)
Code: Alles auswählen
17:35:05 POST received {'LCD4linux.xmlLCDType': ['220x176'], 'LCD4linux.xmlOffset': ['0'], 'cmd': ['config'], 'Element': ['LCD4linux.xml'], 'LCD4linux.xmlType01': ['unchecked', 'checked'], 'LCD4linux.xmlLCDColor': ['8'], 'LCD4linux.xmlType03': ['unchecked'], 'LCD4linux.xmlType02': ['unchecked']}
17:35:05 IP1: ::ffff:192.168.0.111
17:35:05 Restart Timer
17:35:05 Command received ['config'] None
17:35:05 Changed LCD4linux.xmlType01
17:35:05 insert Skindata
17:35:05 write SkinData
17:35:05 external Refresh
17:35:05 Event Service Change
17:35:05 Timeshift 0
17:35:05 self.Transponderdata2 {'inversion': 2, 'modulation': 5, 'tuner_type': 'DVB-C', 'symbol_rate': 6900000, 't2mi_plp_id': -1, 'system': 0, 'fec_inner': 0, 'frequency': 586000, 'is_id': -1}
Das L4Log.txt von OpenATV 6.5 (Python3)
Code: Alles auswählen
17:25:56 POST received {[color=#FF0000]b'Element': [b[/color]'LCD4linux.xml'], [color=#FF0000]b[/color]'LCD4linux.xmlLCDType': [[color=#FF0000]b[/color]'220x176'], [color=#FF0000]b[/color]'LCD4linux.xmlOffset': [[color=#FF0000]b[/color]'0'], [color=#FF0000]b[/color]'LCD4linux.xmlLCDColor': [[color=#FF0000]b[/color]'8'], [color=#FF0000]b[/color]'LCD4linux.xmlType01': [[color=#FF0000]b[/color]'unchecked', [color=#FF0000]b[/color]'checked'], [color=#FF0000]b[/color]LCD4linux.xmlType02': [[color=#FF0000]b'[/color]'unchecked'], [color=#FF0000]b[/color]'LCD4linux.xmlType03': [[color=#FF0000]b[/color]'unchecked'], [color=#FF0000]b[/color]'cmd': [[color=#FF0000]b[/color]'config']}
17:25:56 IP1: ::ffff:192.168.0.111
17:25:56 Restart Timer
17:25:56 Command received [b'config'] None
17:25:56 Changed b'LCD4linux.xmlType01'
17:25:57 Update...Qlen= 0
17:25:57 UpdateTime: 0.002656221389770508
17:26:02 Update...Qlen= 0
17:26:02 Data-Build
17:26:02 UpdateTime: 0.003149271011352539
17:26:03 Event Service Change
17:26:03 Timeshift 0
17:26:03 self.Transponderdata2 {'tuner_type': 'DVB-C', 'frequency': 490000, 'symbol_rate': 6900000, 'inversion': 2, 'fec_inner': 0, 'modulation': 5, 'system': 0, 'is_id': -1, 't2mi_plp_id': -1}
Hat jemand eine Idee, wo ich da ansetzen muß? Das b -Gedöhns gehört da nicht hin, da klappt die Kommunikation nicht richtig.
In der Zwischenzeit kümmere ich mich schon mal um das Sonderzeichenproblem, welches @Turbohai (special Thanxx!!! ) bei seinen Tests gefunden hat. Danke nochmals für eure Tests unter 6.5 !!!!
[Edit/Nachklapp]
Zufällig stoße ich beim Klären des Problems "Sonderzeichen" auf eine interessante Frage: Kann es sein, daß der Fehler -ausnahmsweise mal- in der "Antwort" von OpenATV 6.5 und nicht im LCD4Linux liegt? Im Klartext: Kann es vielleicht sein, daß beim "Antwortstring" von OpenATV 6.5 noch ein .decode('utf-8') fehlt?
Warum ich darauf komme? Bitte kloppt doch mal folgenden Code in diesen Python3-Parser hier rein: klick hier
Code: Alles auswählen
# -*- coding: utf-8 -*-
xxx = "Test mit Sonderzeichen ▲ und ▼."
print("Originaler String:", xxx)
xxx = xxx.encode('utf-8')
print ("Codierter String:", xxx)
xxx = xxx.decode('utf-8')
print ("Decodierter String:", xxx)
Die Ausgabe ist dann diese:
Code: Alles auswählen
$python3 main.py
Originaler String: Test mit Sonderzeichen ▲ und ▼.
Codierter String: [B][color=#FF0000]b[/color][/B]'Test mit Sonderzeichen \xe2\x96\xb2 und \xe2\x96\xbc.'
Decodierter String: Test mit Sonderzeichen ▲ und ▼.
Und da haben wir doch unseren "Freund" b, der kommt doch von OpenATV 6.5 (siehe oben), korrekt? Das sollte doch so sein wie in OpenATV 6.4. Liege ich richtig? Fehlt an dieser Stelle im OpenATV 6.5 nicht ein nachfolgendes .decode('utf-8')?
Na wir werden das Kind schon schaukeln...
Danke euch & Gruß.....Mr.Servo
- Dateianhänge
-
- Baby_01.gif (9.71 KiB) 197 mal betrachtet
- Mr.Servo
- Developer
- Beiträge: 2837
- Registriert: 10 Aug 2020 22:09
- Wohnort: Pfalz / Palatinate
- Receiver 1: GigaBlue UE 4K Cable (OpenATV 7.4)
- Receiver 2: Mut@nt HD51 4K Cable (OpenATV 7.5)
- Receiver 3: VU+ Uno 4K Cable (OpenATV 7.4)
- Hat gedankt: 1941 Mal
- Hat Dank erhalten: 2360 Mal
- Geschlecht:
4l3x2k hat geschrieben:Also da bin ich raus. Du schaffst das!
BTW: Glückwunsch zum VIP Status @Mr.Servo :-D
Hi 4l3x2k,
irgendwie wird es schon eine Lösung für L4L geben, es ist halt wie immer Arbeit...Arbeit....Arbeit...
Danke Dir! Ich war heute morgen auch vom Statuswechsel überrascht worden...
Gruß & Danke.......Mr.Servo
- Dateianhänge
-
- arbeit-2.gif (2.74 KiB) 182 mal betrachtet
4l3x2k hat geschrieben:Ich hoffe das passt hier jetzt noch rein ...
@Mr.Servo
Ich bin da auch mal drüber geflogen. Das ist aber schon her, daher ist folgendes nur aus dem Gedächtnis.
Da wird dir der Urheber besser sagen können wie es funktioniert.
Aus meiner Sicht läuft es wie folgt:
.....................
Alles richtig erklärt
- Mr.Servo
- Developer
- Beiträge: 2837
- Registriert: 10 Aug 2020 22:09
- Wohnort: Pfalz / Palatinate
- Receiver 1: GigaBlue UE 4K Cable (OpenATV 7.4)
- Receiver 2: Mut@nt HD51 4K Cable (OpenATV 7.5)
- Receiver 3: VU+ Uno 4K Cable (OpenATV 7.4)
- Hat gedankt: 1941 Mal
- Hat Dank erhalten: 2360 Mal
- Geschlecht:
Hi Zusammen,
wollte mich mal wieder melden. Bin diese Woche nun täglich mehrere Stunden dran und versuche die von @4l3x2k und @jockelm6 so gut beschriebene Situation zu analysieren. Ist deswegen nicht einfach, weil ich naturgemäß bei einer derartigen Komplexität am Schwimmen bin, ganz klar.
--> Ist natürlich schon ein weiter Sprung von "rechteckige Uhren ergänzen" zu "letzte Fehler bei dem Umstellung von "P2" auf "P2&3" zu finden".
Mit eurer freundlichen Unterstützung von folgenden Fragen würde ich weiterkommen:
1. Wo wird beispielsweise das Textfeld "Modus An -> Text1 anzeigen" übernommen? Derzeit werden wohl dort unter PY3 bereits die Sonderzeichen "▲ + ▼" zu "&_#9650; + &_#9660;" gewandelt (die Underlines "_" hier bitte wegdenken). So landen sie dann in der "Plugin.py" dann in der "LCD4linux.StringText.value" (LPUT in Zeile 15020 unterhalb Kommentar "String Text"). Ich finde es nicht, auch nicht in der "WebConfigSite.py"
2. Wo wird die ".xmlLCDType" eingespeist? In "_a"der "WebConfigSite.py" konnte ich das ".xmlType" entdecken, aber nicht das ".xmlLCDType" und daher dann auch kein LCD4linuxConfigweb.RestartGUI = True in Zeile 484... Oder liegt es an der "xmlSkin()" und falls ja woher bezieht diese Ihre Erkenntnis?
Gerne bau ich an der gewünschten Stelle einen kleinen Logwriter rein, damit es unabhängig ist vom regulären L4Log.txt. Ich werde dann die Vergleichslogs posten (von OpenATV 6.4 und 6.5)
Hat zwar nicht unmittelbar mit der Problemlösung "Global -> Boxskin-LCD -> Boxskin-LCD Aktiviere On-Mode -> Crash von WebIF" zu tun, aber mir fällt so nebenbei folgendes auf:
Bei der LCD4Linux "V5.0-r7" (bei der IHAD- als auch oe-alliance-Variante):
Ist die "2" hier korrekt so? Müßte doch "3" heißen, korrekt?
Gruß.....Mr.Servo
wollte mich mal wieder melden. Bin diese Woche nun täglich mehrere Stunden dran und versuche die von @4l3x2k und @jockelm6 so gut beschriebene Situation zu analysieren. Ist deswegen nicht einfach, weil ich naturgemäß bei einer derartigen Komplexität am Schwimmen bin, ganz klar.
--> Ist natürlich schon ein weiter Sprung von "rechteckige Uhren ergänzen" zu "letzte Fehler bei dem Umstellung von "P2" auf "P2&3" zu finden".
Mit eurer freundlichen Unterstützung von folgenden Fragen würde ich weiterkommen:
1. Wo wird beispielsweise das Textfeld "Modus An -> Text1 anzeigen" übernommen? Derzeit werden wohl dort unter PY3 bereits die Sonderzeichen "▲ + ▼" zu "&_#9650; + &_#9660;" gewandelt (die Underlines "_" hier bitte wegdenken). So landen sie dann in der "Plugin.py" dann in der "LCD4linux.StringText.value" (LPUT in Zeile 15020 unterhalb Kommentar "String Text"). Ich finde es nicht, auch nicht in der "WebConfigSite.py"
2. Wo wird die ".xmlLCDType" eingespeist? In "_a"der "WebConfigSite.py" konnte ich das ".xmlType" entdecken, aber nicht das ".xmlLCDType" und daher dann auch kein LCD4linuxConfigweb.RestartGUI = True in Zeile 484... Oder liegt es an der "xmlSkin()" und falls ja woher bezieht diese Ihre Erkenntnis?
Code: Alles auswählen
elif _a.find(".xmlType") >0:
if _a.find(".xmlLCDType") >0:
xmlRead()
if xmlDelete(1) or xmlDelete(2) or xmlDelete(3):
L4log("removed old Skindata")
xmlWrite()
if xmlSkin():
xmlWrite()
[color=#FF0000]LCD4linuxConfigweb.RestartGUI = True[/color]
xmlClear()
Gerne bau ich an der gewünschten Stelle einen kleinen Logwriter rein, damit es unabhängig ist vom regulären L4Log.txt. Ich werde dann die Vergleichslogs posten (von OpenATV 6.4 und 6.5)
Code: Alles auswählen
ff = open("/tmp/L4Sonder.txt", "a")
ff.write("\ncommand1: " + str(command))
ff.write("\nex1: " + str(ex))
ff.write("\nmo1: " + str(mo))
ff.write("\nel1: " + str(el))
ff.write("\n--------------------------\n")
ff.close()
Hat zwar nicht unmittelbar mit der Problemlösung "Global -> Boxskin-LCD -> Boxskin-LCD Aktiviere On-Mode -> Crash von WebIF" zu tun, aber mir fällt so nebenbei folgendes auf:
Bei der LCD4Linux "V5.0-r7" (bei der IHAD- als auch oe-alliance-Variante):
Code: Alles auswählen
def Lput(LCD,SCR,FUNC,PARA):
if "1" in LCD and getSA(1) in SCR and self.Refresh >= LCD4linux.LCDRefresh1.value:
Brief1.put([FUNC,PARA, 1, 1])
if "2" in LCD and LCD4linux.LCDType2.value != "00" and getSA(2) in SCR and self.Refresh >= LCD4linux.LCDRefresh2.value:
Brief2.put([FUNC,PARA, 2, 2])
if "[color=#008000][B]3[/B][/color]" in LCD and LCD4linux.LCDType[color=#008000][B]3[/B][/color].value != "00" and getSA(3) in SCR and self.Refresh >= LCD4linux.LCDRefresh[color=#FF0000][B]2[/B][/color].value:
Brief3.put([FUNC,PARA, 3, 3])
def Lput4(LCD,SCR,FUNC,PARA):
if "1" in LCD and getSA(1) in SCR and self.Refresh >= LCD4linux.LCDRefresh1.value:
Brief1.put([FUNC,PARA,0, 1, 1])
if "2" in LCD and LCD4linux.LCDType2.value != "00" and getSA(2) in SCR and self.Refresh >= LCD4linux.LCDRefresh2.value:
Brief2.put([FUNC,PARA,1, 2, 2])
if "[color=#008000]3[/color]" in LCD and LCD4linux.LCDType][color=#008000][B]3[/B][/color].value != "00" and getSA(3) in SCR and self.Refresh >= LCD4linux.LCDRefresh[color=#008000][B]3[/B][/color].value:
Brief3.put([FUNC,PARA,2, 3, 3])
Ist die "2" hier korrekt so? Müßte doch "3" heißen, korrekt?
Gruß.....Mr.Servo
1-2. in a sind alle Request-Argumente enthalten, also alle Config-Einträge der gerade im WebIF angewendeten Konfiguration. ".xmlType" ist also z.B. "LCD4linux.xmlType01.value" am Ende gemeint (Stringteil). Durch "ischanged()" wird erkannt, ob eine value verändert wurde und somit nur im Ja-Fall werden entsprechende Aktionen ausgeführt. Im aktuellen Fall soll also bei irgendeiner Änderung beim .xml die skin_user.xml modifiziert werden. Wenn diese neu geschrieben wurde, dann wird die klassenlokale Variable "RestartGUI" gesetzt um diese für den roten Hinweistext im HTML zu verwenden. Wenn man die xmlXXXX() Funktionen aus dem Teil auskommentieren würde, dann wird nichts passieren. Dann kann eigentlich auch kein HTML-Fehler entstehen. Ich schätze das bei den xmlXXX() irgendwas in PY3 anders ist. Man kann sich nur durch weglassen und langsames hinzufügen an den Fehler herantasten.
...
ja, die "2" muss eine "3" sein. Fällt halt normal nicht auf, wer hat schon 3 LCDs und dann noch zufällig andere Refreshwerte. Also danke für's Finden .
...
ja, die "2" muss eine "3" sein. Fällt halt normal nicht auf, wer hat schon 3 LCDs und dann noch zufällig andere Refreshwerte. Also danke für's Finden .
- Mr.Servo
- Developer
- Beiträge: 2837
- Registriert: 10 Aug 2020 22:09
- Wohnort: Pfalz / Palatinate
- Receiver 1: GigaBlue UE 4K Cable (OpenATV 7.4)
- Receiver 2: Mut@nt HD51 4K Cable (OpenATV 7.5)
- Receiver 3: VU+ Uno 4K Cable (OpenATV 7.4)
- Hat gedankt: 1941 Mal
- Hat Dank erhalten: 2360 Mal
- Geschlecht:
Hallo Zusammen,
@Turbohai und @Alle:
Ich habe die überarbeitete LCD4Linux V5.0-r7c in meinem Post #772 ausgetauscht. Sonderzeichen wie "▲ + ▼" oder das Gradsymbol " ° " werden nun in den Freitexten (Modus An -> Text 1/2 anzeigen") als auch in den Freitextdateien (Modus An -> Zeige Textdatei 1-3") korrekt dargestellt
@jockelm6 (und alle die es interessiert):
Ich Danke Dir sehr für die Hilfe bei der Fehlersuche!!! Deine Tips sind natürlich sehr wertvoll.
Zum Verständnis warum ich mich hier besonders schwer tue: Die oe-alliance-Variante der "WebConfigSite.py" weicht schon sehr stark von Deiner Version ab. Ich habe den Verdacht, daß diese zwar auf "lauffähig unter P2/3" gebürstet, aber leider noch nicht zu Ende getestet wurde. Wenn dem so wäre, dann würde es so einiges erklären.
Ich habe hier ja zwei Baustellen: "Global -> Boxskin-LCD -> Boxskin-LCD Aktiviere On-Mode -> Crash von WebIF" und "Sonderzeichen im User-Freitext". Ich würde mich zunächst mal der Thematik "Sonderzeichen im User-Freitext" nähern wollen:
Beispiel:
Um das Sonderzeichenproblem im User-Freitext zu eliminieren, mußte ich einen Workaround in der "plugin.py" basteln. Nur weil die Sonderzeichen "▲ + ▼" in HTLM-codierter Form in der "Plugin.py" erscheinen (also nicht UTF-8 !!!), mußte ich extra "html" importieren. Das bläht natürlich auf.
Was hat ein denn HTML-codierter String an dieser Stelle in der "plugin.py" zu suchen? UFT-8 codiert ja, aber HTML-codiert? Meiner vorsichtigen Meinung nach läuft derzeit in der oe-alliance Variante was Falsch, oder bist Du geneigt zu sagen: "Ganz normal - ist bei mir auch so"?
Daher nochmal meine Frage/Bitte: An welcher Stelle im Code (welche .py-Datei?) wird der User-Freitext "Sonder ▲ + ▼" im WebIF abgegriffen?
Danke Dir & Gruß.....Mr.Servo
@Turbohai und @Alle:
Ich habe die überarbeitete LCD4Linux V5.0-r7c in meinem Post #772 ausgetauscht. Sonderzeichen wie "▲ + ▼" oder das Gradsymbol " ° " werden nun in den Freitexten (Modus An -> Text 1/2 anzeigen") als auch in den Freitextdateien (Modus An -> Zeige Textdatei 1-3") korrekt dargestellt
@jockelm6 (und alle die es interessiert):
Ich Danke Dir sehr für die Hilfe bei der Fehlersuche!!! Deine Tips sind natürlich sehr wertvoll.
Zum Verständnis warum ich mich hier besonders schwer tue: Die oe-alliance-Variante der "WebConfigSite.py" weicht schon sehr stark von Deiner Version ab. Ich habe den Verdacht, daß diese zwar auf "lauffähig unter P2/3" gebürstet, aber leider noch nicht zu Ende getestet wurde. Wenn dem so wäre, dann würde es so einiges erklären.
Ich habe hier ja zwei Baustellen: "Global -> Boxskin-LCD -> Boxskin-LCD Aktiviere On-Mode -> Crash von WebIF" und "Sonderzeichen im User-Freitext". Ich würde mich zunächst mal der Thematik "Sonderzeichen im User-Freitext" nähern wollen:
Beispiel:
Um das Sonderzeichenproblem im User-Freitext zu eliminieren, mußte ich einen Workaround in der "plugin.py" basteln. Nur weil die Sonderzeichen "▲ + ▼" in HTLM-codierter Form in der "Plugin.py" erscheinen (also nicht UTF-8 !!!), mußte ich extra "html" importieren. Das bläht natürlich auf.
Code: Alles auswählen
[color=#FF0000]from six.moves.html_parser import HTMLParser[/color] # workaround in order to decode HTML-encoded special characters like ▲
[...]
def Code_utf8(wert):
if wert is None:
wert = ""
if six.PY2:
wert = wert.replace('\xc2\x86', '').replace('\xc2\x87', '').decode("utf-8", "ignore").encode("utf-8") or ""
return codecs.decode(wert, 'UTF-8')
else:
[color=#FF0000]wert = HTMLParser().unescape(wert)[/color] # workaround in order to decode HTML-encoded special characters like ▲
wert.replace('\x86', '').replace('\x87', '')
return wert
Was hat ein denn HTML-codierter String an dieser Stelle in der "plugin.py" zu suchen? UFT-8 codiert ja, aber HTML-codiert? Meiner vorsichtigen Meinung nach läuft derzeit in der oe-alliance Variante was Falsch, oder bist Du geneigt zu sagen: "Ganz normal - ist bei mir auch so"?
Daher nochmal meine Frage/Bitte: An welcher Stelle im Code (welche .py-Datei?) wird der User-Freitext "Sonder ▲ + ▼" im WebIF abgegriffen?
Danke Dir & Gruß.....Mr.Servo