LCD4linux

Nachricht
Autor
Benutzeravatar
Turbohai
Senior member
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

#821

Beitrag von Turbohai »

Die 6.5 Version teste ich nur am Webinterface weil meine Zweitbox ohne Display ist (GB IP 4K) Funktioniert es bei dir im Web-Interface und nur am Display selbst nicht? Oder gar nicht? Hast du die folgenden Haken auf den folgenden bildern gesetzt?

aktiviert.jpg



aktiviert.jpg
Dateianhänge
aktiviert_mod.jpg
Gruß, Turbohai
Rosalie911
Member
Member
Beiträge: 74
Registriert: 06 Dez 2015 06:14
Hat gedankt: 12 Mal
Hat Dank erhalten: 7 Mal

#822

Beitrag von Rosalie911 »

@turbohai

im webif funktioniert alles nur am Display geht nichts
wenn ich im Globalmenü einen von den 3 Punkten aktiviere kommt " Processing failed " und ich muss das webif neu starten
mfg
Benutzeravatar
Turbohai
Senior member
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

#823

Beitrag von Turbohai »

Dann muß ich mal 6.5 auf meine Box mit Disolay installieren und melde mich wieder...
Gruß, Turbohai
Benutzeravatar
Turbohai
Senior member
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

#824

Beitrag von Turbohai »

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:

Der Dateianhang Text.png existiert nicht mehr.
Dateianhänge
Text.png
Text.png (28.72 KiB) 208 mal betrachtet
Gruß, Turbohai
Rosalie911
Member
Member
Beiträge: 74
Registriert: 06 Dez 2015 06:14
Hat gedankt: 12 Mal
Hat Dank erhalten: 7 Mal

#825

Beitrag von Rosalie911 »

@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
Benutzeravatar
Mr.Servo
Developer
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:

#826

Beitrag von Mr.Servo »

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 :search:

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
Benutzeravatar
Mr.Servo
Developer
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:

#827

Beitrag von Mr.Servo »

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
Benutzeravatar
mike99
Super Moderator
Super Moderator
Beiträge: 8401
Registriert: 05 Apr 2013 21:02
Wohnort: Berlin
Hat gedankt: 760 Mal
Hat Dank erhalten: 2849 Mal

#828

Beitrag von mike99 »

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 Bild 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
Benutzeravatar
Turbohai
Senior member
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

#829

Beitrag von Turbohai »

@Mr.Servo, der Text: "Box-Temp.▲ ▼CPU-Last". Die Dreiecke werden als Code gezeigt, das ist das Problem.

@mike99, ja ist schon so, aber auch da würde es dann getestet werden. Bekommen wir dann hier nicht mit wenn es im anderen Image nicht läuft??

schönen Gruß, Turbohai
Gruß, Turbohai
Benutzeravatar
Mr.Servo
Developer
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:

#830

Beitrag von Mr.Servo »

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".

Der Dateianhang L4L-Freitext.png existiert nicht mehr.


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
Dateianhänge
L4L-Freitext.png
Benutzeravatar
Turbohai
Senior member
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

#831

Beitrag von Turbohai »

@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
Benutzeravatar
Mr.Servo
Developer
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:

#832

Beitrag von Mr.Servo »

Hi Turbohai,

Achso! Sorry erst jetzt ist der Groschen gefallen :rolleyes:

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
4l3x2k
VIP
VIP
Beiträge: 1532
Registriert: 20 Dez 2016 10:06
Hat gedankt: 399 Mal
Hat Dank erhalten: 824 Mal

#833

Beitrag von 4l3x2k »

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.
Benutzeravatar
Mr.Servo
Developer
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:

#834

Beitrag von Mr.Servo »

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...
Der Dateianhang Baby_01.gif existiert nicht mehr.


Danke euch & Gruß.....Mr.Servo
Dateianhänge
Baby_01.gif
Baby_01.gif (9.71 KiB) 197 mal betrachtet
4l3x2k
VIP
VIP
Beiträge: 1532
Registriert: 20 Dez 2016 10:06
Hat gedankt: 399 Mal
Hat Dank erhalten: 824 Mal

#835

Beitrag von 4l3x2k »

Also da bin ich raus. Du schaffst das!

BTW: Glückwunsch zum VIP Status @Mr.Servo :-D
Benutzeravatar
Mr.Servo
Developer
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:

#836

Beitrag von Mr.Servo »

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...
Der Dateianhang arbeit-2.gif existiert nicht mehr.


Danke Dir! Ich war heute morgen auch vom Statuswechsel überrascht worden...

Gruß & Danke.......Mr.Servo
Dateianhänge
arbeit-2.gif
arbeit-2.gif (2.74 KiB) 182 mal betrachtet
jockelm6
VIP
VIP
Beiträge: 144
Registriert: 26 Apr 2015 01:16
Hat Dank erhalten: 167 Mal

#837

Beitrag von jockelm6 »

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 :D
Benutzeravatar
Mr.Servo
Developer
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:

#838

Beitrag von Mr.Servo »

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?

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
jockelm6
VIP
VIP
Beiträge: 144
Registriert: 26 Apr 2015 01:16
Hat Dank erhalten: 167 Mal

#839

Beitrag von jockelm6 »

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 :) .
Benutzeravatar
Mr.Servo
Developer
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:

#840

Beitrag von Mr.Servo »

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.

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?

Der Dateianhang L4L-Freitext.png existiert nicht mehr.


Danke Dir & Gruß.....Mr.Servo
Dateianhänge
L4L-Freitext.png
Antworten

Zurück zu „Plugins“