LCD4linux-Plugin - WLAN-Web / Android / Pearl / Samsung - LCD-Display an der Dream [18.08.2022]

  • Hallo Jungs!Bitte helfen Sie mir, mein Problem zu lösen. Ich habe beschlossen, das vertikale Wetter vom OpenWeatherMap-Anbieter einzurichten.

    Ich fing an, das Widget auf dem Bildschirm durch drücken der Taste, die die Werte der Skala von rechts nach Links reduziert verringern. Und nach der Verringerung der Widget Skala misst zu Tode und nicht mehr bewegen,bleibt es in der Position, wie auf dem Foto zu sehen.Ich klicke auf den Button, um die Werte für Samstag zu sehen, aber die Skala bewegt sich nicht mehr. Es ist auf diesen Parametern gefroren, wie auf dem Foto zu sehen ist. Es tut mir Leid, mein Deutsch ich benutze einen übersetzer von Google

  • joergm6 Vielen Dank für die Antwort! ich habe Nur nicht erwartet, dass die gelbe Skala anhalten kann, ohne bis zum Ende zu verschwinden.

  • Hallo joergm6,

    kann man in Lcd4Linux eigene Analog-Uhren integrieren? Habe auch noch ne Dreambox, die Frage dreht sich aber in dem Fall um eine GigaBlue mit OpenATV. Die angebotenen im Plugin sind ja png`s 200x200. Kann man da irgendwie eine eigene mit 400x240 integrieren?

    Sorry, weiß schon dass hier eigentlich IHAD ist aber du bist ja der Macher von LCD4Linux.


    Gruß, Turbohai

  • Du kannst eigene Uhren integrieren, einfach nach dem Vorgaben unter data weitere Verzeichnisse mit laufender Nummer Clock... erstellen. Wenn bis Clock7 vorhanden, dann Clock8 erstellen. Danach muss Enigma für die Auswahl in der GUI aber neu gestartet werden. Die Auflösung ist eigentlich egal, nur müssen diese quadratisch (gleiche Breite/Höhe) sein. Ist auch logisch, da eine Analoguhr rund ist.

    Es gibt in verschiedenen Foren schon viele weitere Analog-Uhren, du von Nutzern erstellt wurden.

  • Danke für die Antwort. Hatte etwas mit meiner png Datei zu tun dass es nicht angezeigt wurde. Angezeigt wird die Uhr jetzt, aber tatsächlich möchte ich die Uhr nicht quadratisch sondern rechteckig, was es auch in vielen Display-Skins schon gibt. Ich möchte aber LCD4Linux nutzen obwohl ich nur internes Display nutze, um mit mehreren Schirmen Uhr, Wetter Picon usw. im Wechsel und groß (gut lesbar) anzeigen zu können.

    LCD4Linux skaliert mir aber meine Uhr wieder quadratisch und verschiebt dabei auch noch die Zeiger:

    Uhr.png


    Das Ziffernblatt in 400x240 oder halt je nach Display was eine Box hat, kann man wohl nicht anzeigen? Dass es so aussieht:

    GB-Uhr.png

    Ich denke mal in den Display Skins wird das nicht mit festen Zeigermaßen gemacht, da werden die wohl irgendwie variabel sein. Die länge je nach Zeitposition?


    Schönen Gruß, Turbohai

  • Hallo Joergm6,

    der Mr.Servo hat freundlicherweise ein bischen experimentiert und die plugi.py angepasst,so dass man auch Analoguhrenin z.B. 400x240 nehmen kann. Wenn man im Uhrenverzeichnis eine png namens Second.png anlegt wird auch der Sekundenzeiger sichtbar. Läuft aber noch nicht rund, die sekunden laufen nicht richtig und leider hab ich immernoch Probleme mit den Grafiken. Ich habe Ziffernblatt und Zeiger mit dem Grafikprogramm paint.net erstellt und da wird das Ziffernblatt nicht gezeigt, Wenn ich es mit paint von Windows mal kurz anders speichere (z.B. Tiff) und dann wieder als png, wird es angezeigt. Muß da für LCD4Linux im Grafikprogramm bestimmte Einstellungen geamacht werden? Weißt du das? Oder ist das von dir nicht bewusst so gewollt? Der Plugin im OpenATV ist ja warscheinlich fürs OpenATV angepasst. Kannst du als Pluginersteller bitte mal drüberschauen obwohl das jetzt imagefremd ist? Wenn es was vernünftiges ist kannst es ja hier auch reinprimeln. Ich hänge von Mr.Servo mal die Testplugin.py und Testgrafiken (vermutlich nur für OpenATV) hier mit an, dass du mal drüberschauen kannst , ob da was draus werden kann. Sieht noch nicht toll aus nur zu testzwecken.

  • joergm6,

    ist es denn für dich ok wenn der Mr.Servo ein bisserl rumpropiert oder geht das dann zu weit für dich dann sag bitte bescheid. Ist ja schließlich dein Plugin. Er ist da auch nur Quereinssteiger und nicht Profi würde aber halt versuchen es hinzubekommen.

  • Natürlich könnt ihr am Plugin "rumspielen". Ich habe nur wenig Zeit um mich damit zu befassen. Jedenfalls kann ich empfehlen, den Sekundenzeiger wegzulassen, der ist absichtlich nicht dabei. Zudem müsst ihr beachten, das die Zeiger und der Hintergrund verschieden groß/breit sind. Somit muss beim "paste" die halbe Breiten-Differenz der Beiden zum x hinzugefügt werden. Man könnte also die Breite des Hintergrundes x? und die Höhe y (Zeiger quadratisch) nutzen, für die Zeigerposition POSX+int((x-y)/2) im paste probieren. Wie gesagt, habe nur flüchtig geschaut.

  • Hi Joegm6,

    ich und Mr.Servo wollten nochmal nachfragen ob du so nett sein könntest mal drüberzuschauen oder noch einen Tip/ eine Idee hast, weil du ja schon geschrieben hast, der Sekundenzeiger wurde extra weggelassen.


    Mr.Servo schreibt (hat hier kein Zugang):

    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

    wir haben nun die Sekundenzeiger programmiert, genauso wie es bei den Stunden- und Minutenzeiger der Fall ist {mit .rotate, convert("RGBA") und .paste}. Das geht auch soweit alles, aber der Sekundenzeiger maschiert nicht von Sekunde zu Sekunde, sondern verharrt 5 bis 30 Sekunden regungslos an seiner Position und springt dann mit einem Satz auf seine aktuelle Positon.


    Es hat den Anschein, daß die "plugin.py" nicht häufig genug aufgerufen wird, also deutlich weniger als 1 mal pro Sekunde. Kann das sein? War das Dein damaliges Problem mit dem Sekundenzeiger? Wir können das auch auf einen vektorisierten Sekundenzeiger umstellen (also einen gemalten Strich), aber das macht ja dann keinen Sinn, wenn die Programmierung dann doch nicht schnell aufgerufen wird

    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,


    Ich hänge mal die plugin.py an. Mr.Servo hat von Zeile 11213 bis 11300 Veränderungen zu deiner Git Version gemacht. .

    Deine Uhr Clock7 512x512 vom Git die du nicht aktiviert hast würde jetzt gehen.Wir würden dann deine Clock7 und rechteckige in 400x240 und 220x176 Clock8-13 einbauen. Dream, Gigablue und Neutral.

    Ich hänge mal deine Clock7 die wir meinen, einige Beispielzifferblätter (noch ohne Zeiger )hier an. Wäre super wenn du mal drüberschaust, tips geben könntest. Würdest du, sollten wir es vernünftig hinbekommen, es dann im Git hochladen, dass es dann alle nutzen können?

    bleibe gesund...
    Rechteck_Analoguhr.zip

    Schönen Gruß, Turbohai

    2 Mal editiert, zuletzt von Turbohai ()

  • Hi joergm6 und @all

    Mit dem Sekundenzeiger klappt es noch nicht, wird gezeigt hüpft aber immer erst nach längerer Zeit weiter. Stelle jetzt die aktuelle plugin.py und die Uhren (von joergm6 und Teamblue zum Teil von mir bearbeitet, mit z.T. neuen Zeiger usw...)hier ein. Könnt ja mal testen wie ihr es findet. joergm6 , wenn du willst kannst es hochladen, evtl. lässt du halt die Sekundenzeiger weg. Vielleicht bekommt es ja jemand hin, dass der Plugin so refresht, dass der Sekundenzeiger im Sekundentakt läuft.


    Testversion4_plugin_py.zip


    Finale_Uhren_preview.zip


    Finale_Uhren.zip

  • ich sagte ja bereits, Sekundenzeiger macht keinen Sinn. L4L ist darauf bedacht, so wenig wie möglich zu laufen und somit CPU zu sparen. Daher wird nur bei nötigen Änderungen, allerdings mindestens 1x pro Minute, aktualisiert. Jede Sekunde zu aktualisieren ist von L4L nicht "gewünscht" und auch nicht "eingebaut".

  • Danke für die Antwort, alles klar,

    dann müsste man die Sekundenzeiger weglassen und Mr.Servo den Sekundenzeiger in der plugin.py auch rausfrimeln.. Dann köntest du es ohne Sekundenzeiger einpflegen. Anzahl und welche Uhren wäre dann deine Entscheidung. Kannst auch nur die bisherigen und die Dream-Uhren nehmen, das ist ja schließlich das Thema hier im Forum. Hauptsache die plugin.py wäre angepasst, dann kann jeder wie er will eine Uhr manuell einfügen. Schreib halt mal ob du da Interesse hast oder ob du das nicht so willst, dann kann ich Mr.Servo bescheid geben.

  • Hi Joergm6,



    @Mr.Servo schreibt, er hat seine liebe Not die Philosophie dahinter zu verstehen, denn bei einem so gewachsenen Projekt wie "LCD4Linux" ist die Komplexitität schon recht hoch.



    So wie @Mr.Servo das verstanden hat, gibt es zwei unterschiedliche Refresh-Verfahren:


    1. über die generelle Methode "LCD4linux.FastMode"


    2. über individuelle Methode wie beim "LCD4linux.SonosTimer" (oder Blue oder YMCast)



    Wahrscheinlich muß die Prozedur "putClock" aus dem "normalen" Ablauf (Zeilen 14334, 14503 & 14687) herausgetrennt werden und einen individuellen Aufruf erhalten (wie bei Sonos, Blue und YMCast). Ferner muß dann der zeitliche Aufruf innerhalb der "putClock" (Zeile 11170) neu geregelt werden. Aber diese Umstellung kriegt @Mr.Servo nicht hin, bzw. das "trial-and-error" bringt hier nix Gutes.



    Von daher: Kannst Du da bitte mal gucken, wie man das so umstellen kann damit die geänderten Analogclocks alle Sekunde aufgerufen wird?

    Wäre echt cool wenn du da mal schauen könntest.

  • Ich sträube mich mit Händen und Füßen gegen eine 1s Aktualisierung :) :) :) .

    L4L ist nicht mit der integrierten Skin Nutzung zu vergleichen. Es wurde für externe LCD Display entwickelt, welche nur mit Bilddateien klar kommt. Daher wird alles mit Grafikfunktionen berechnet und in eine Grafik gemalt. Das benötigt richtig CPU. Die Prozessoren sind sicher schneller geworden, da war früher unter 2s fast nichts berechenbar, bei 100% CPU-Last.

    Auch wenn es für kleine Bilder schaffbar ist, finde ich das völlig übertrieben. Meine (ok, sind 3 LCDs) Berechnung benötigt aktuell ca. 0.7s bei einer Verzögerung von 0.4s bin ich schon über 1s. Wenn ich mir jetzt vorstelle, dauerhaft 100% CPU deshalb zu generieren..... ohje.

    In einigen Fällen macht L4L sicher das maximal mögliche für genau dieses eine LCD:

    - Stotter-TV für das grabben und anzeigen der Livesendung (hier wird aber auch nichts weiter berechnet und nur das Bild sofort als Vollbild auf das LCD gebracht)

    - Quickaktualisierung von Bildern z.B. bei Webcam-Nutzung (auch hier wird das erzeugte vorhandene Layout einfach unverändert übernommen und nur das Quick-Bild in das Gesamtbild gepastet und zum LCD gesendet)

    In beiden Fällen werden keine anderen Elemente berechnet und aktualisiert.

    Deine beschriebenen Timer sind nur Hintergrundaufgaben, die diese Geräte häufiger abfragen um Informationwechsel zu erkennen. In diesem Fall wird ein Refresh, aber auch nur mit dem normalen 5s Timing, angestoßen. Das, weil L4L sonst im dümmsten Fall erst nach 1min das LCD aktualisieren würde.

  • Hallo Jörgm6,

    ja da hast du recht, macht keinen Sinn ohne alles komplett umzubauen. Und LCD4Linux ist ja eigentlich ein längst abgeschlossenes Projekt von dir, können wir natürlich voll verstehen. Mr.Servo hat in der plugin.py jetzt die Sekunden wieder entfernt. ich habe die sekunden ebenfalls entfernt und neue Vorschaubilder ohne Sekundenzeiger erstellt.



    anbei in der Zip die "Clock-Grafiken", "Clock-preview-Grafiken" und die FINALE Version der "plugin.py" mit folgendem Eintrag im Kopfbereich:

    -----------------------------------------------------------------------------------

    # written by joergm6 @ IHAD (Meteo-Station @ compilator)

    # dynamic scaling for rectangle analog clockfaces and -hands by Mr.Servo @ OpenA.TV

    # additional analog clockfaces and -hands modified and tested by Turbohai @ IHAD

    ------------------------------------------------------------------------------------

    Ich denke das ist so auch in Deinem Interesse, korrekt?



    Dann noch zum besseren Überblick diese Infos:

    -----------------------------------------------------------

    Clock1-6 mit 200x200 (Aspektverhältnis 1:1)

    Clock7 mit 512x512 (Aspektverhältnis 1:1)

    Clock8-14 mit 400x240 (Aspektverhältnis 5:3)

    Clock15-21 mit 220x176 (Aspektverhältnis 5:4)

    -----------------------------------------------------------



    Wäre cool wenn du das so ins GIT hochladen könntest. Schau es dir halt mal an und schreibe hier bei Gelegenheit was du dafon hälst oder wenn noch was nicht passt. Danke für deine Geduld mit uns! Mr.Servo und ich wünschen dir auf jedenfall Gesundheit und einen guten Rutsch ins neue...


    Analoguhren_MrServo_Turbohai.zip

  • Naja, ich hatte im Nachhinein noch mal nachgedacht, ob man NUR für den Sekundenanzeigefall, doch so eine "Ausnahme" einbauen kann. Im Prinzip könnte man es schon so wie die extra-Timer machen und den Bildaufbau von dort "kürzer" triggern. Die Hauptaufgabe wäre dann diesen Fall nur bei Sekundenanzeige und nur auf das LCD+Schirm zu beschränken.

    Du denkst ja nur an 1 Display, das ist aber nicht die Regel.

    ... aber OK

    Ich muss mir mal die plugin.py ansehen und schauen was ich da anpassen muss. Ich kann die plugin.py nicht übernehmen, da die Änderungen nicht zu "meiner" passen und wenn es eine aus dem OpenImage ist, dann ist diese komplett anders.

    Die Uhren werde ich aber ganz sicher nicht mit in das Paket packen, das wird viel zu groß. Es gibt ja viele Boxen die nicht so mit üppigen Flashspeicher ausgestattet sind.

    Aber wie gesagt, bissel Zeit braucht man ja auch.... wobei ich mir eh gerade eine "tedee Smart Lock" Status-Anzeige eingebaut habe (Super Teil) :winking_face: .


    PS: Falls Jemand auf die Idee kommt, die plugin.py zu testen.... Vorsicht! diese ist nicht kompatibel mit der Originalen-L4L-Version. Nur bei Open-Images könnte es funktionieren.

  • Mr.Servo hat die "plugin.py"-Version vom 20.11.2012 aus dem GIT (https://github.com/oe-alliance…r/LCD4linux/src/plugin.py) gezogen und nur die Zeilen 6 und 7 (Kopfzeilen) sowie 11212 bis 11276 (Skalierung der Ziffernblätter sowie der einzelnen Zeiger) geändert, mehr nicht! Von daher dürfte das kein großes Drama werden!!!


    Es waren KEINE OpenATV-spezifischen Anpassungen nötig, d.h. es wurden ausschließlich die bereits vorhandenen Strukturen des bisherigen LCD4Linux verwendet.