eigene Werte/Bilder dynamisch in ein Skin einfügen inkl. Updates usw...

Wir haben aktuell ein Problem mit dem Board und arbeiten an der Lösung...
  • Hallo Leute,


    ich versuch jetzt schon länger und verzeifelt zu verstehen, woher ihr diese unterschiedlichen Objekte nehmt bzw. die notification für Änderungen bei div. Objekten in Skins.


    Ich habe eine Klasse geschrieben, die sich /Compontens/Souces/Weather.py nennt, mit Variablen und Getter und Setter.


    Dort steht zb drinnen wie viel °c es derzeit hat, wie auch der name es icons für das Wetter usw...


    nun würde ich gerne anstatt dem Picon das icon vom Wetter ausgeben, später dann auch die Temperatur usw... Nur verstehe ich noch nicht, was ich dafür machen muss.


    Ich hab mir dafür den Picon Renderer umgeschrieben, damit er die Files findet, wenn man ihm den Wetternamen übergibt. Somit sieht der Code im LCD-Skin wie folgt aus:


    Code
    <screen name="InfoBarSummary" position="fill">
    		<widget source="session.CurrentService" render="LcdWeather" position="0,108" size="100,60" zPosition="1" >
    			<convert type="ServiceName">Reference</convert>
    		</widget>


    Nur wie komme ich auf den richtigen Source bzw. das Objekt dass die Änderung mit bekommt. Falls ich bei Source Weather.icon verwendet, geht das nicht, beim Converter bekomme ich nur BSOD bzw. kein LCD Bild.


    Hab irgendwie den Zusammenhang noch nicht richtig begriffen.


    Vielleicht kann mir hier jemand weiter helfen.


    lg


    ju

    Dreambox DM7000
    Dreambox DM800
    Dreambox DM500
    Dreambox DM600
    UFS-910
    ET9x00
    ET5000
    DBox II

  • Hier mal der Code den ich bis dato zusammen hab ... vielleicht kann mir hier jemand einen Tipp geben.

  • So was funktioniert in der skin.xml nicht.

    Code
    <panel position="bottom" size="*,18">


    Das * führt zum crash. Sollte schon ne Zahl sein. "Bottom" gibt es als Attribut auch nicht. Position "x,y" muss angegeben werden. Und nen Crashlog wäre auch aufschlußreicher.


    cu
    LN

    Kein Support per Mail oder PN

    Einmal editiert, zuletzt von LukaNoah ()

  • ok, aber das ist nicht das eigentliche Problem, eigentlich gehts nur drum wie ich das ding zum neu Rendern bekomme.

    Dreambox DM7000
    Dreambox DM800
    Dreambox DM500
    Dreambox DM600
    UFS-910
    ET9x00
    ET5000
    DBox II

  • Bei mir crasht das Skin ja nicht, deswegen glaub ich nicht, dass es am Skin liegt, sondern eben am Problem des Datenweiterreichens. Aber zum Test kann man da ja mal 250 rein schreiben.

    Dreambox DM7000
    Dreambox DM800
    Dreambox DM500
    Dreambox DM600
    UFS-910
    ET9x00
    ET5000
    DBox II

  • Du solltest wirklich erstmal den Skin fertig machen. Da sind noch weitere Fehler drin, wie oben beschrieben. Sobald versucht wird auf eine Section im Skin zuzugreifen, wird diese geprüft. Sind Fehler drin, knallt es, ohne irgendwelche renderer / Converter zu nutzen.
    Als Beispiel kannst Du Dir ja mal den Picon-Renderer / Converter ansehen.


    cu
    LN

  • Diesen hab ich mir auch angesehen und davon hab ich meine Version abgeleitet, nur war das Problem, dass dort der Trigger fürs neu zeichnen über einen Channel wechsel erfolgt. Ich aber wiederrum nur einen Trigger brauch beim neuen Daten von der Wetterseite brauch.


    d.h. irgendwie muss ich das update anstoßen.


    Ich vermute, dass der source= für diesen trigger zuständig ist, nur wie kann ich dort meine Klasse als Trigger angreifen?

    Dreambox DM7000
    Dreambox DM800
    Dreambox DM500
    Dreambox DM600
    UFS-910
    ET9x00
    ET5000
    DBox II

  • wär vielleich besser, n mod würd das in die bastelstube/pythonecke verschieben, da das problem nicht am skin liegt.


    du solltest dich mal grundsätzlich mit python auseinandersetzen.;)

  • Zitat

    Original von lizard-king
    du solltest dich mal grundsätzlich mit python auseinandersetzen.;)


    genau das ist der sinn der sache :winking_face: Deswegen auch meine Python anfänger Fragen.

    Dreambox DM7000
    Dreambox DM800
    Dreambox DM500
    Dreambox DM600
    UFS-910
    ET9x00
    ET5000
    DBox II

  • Zitat

    Original von ju76
    Diesen hab ich mir auch angesehen und davon hab ich meine Version abgeleitet, nur war das Problem, dass dort der Trigger fürs neu zeichnen über einen Channel wechsel erfolgt. Ich aber wiederrum nur einen Trigger brauch beim neuen Daten von der Wetterseite brauch.


    d.h. irgendwie muss ich das update anstoßen.


    Ich vermute, dass der source= für diesen trigger zuständig ist, nur wie kann ich dort meine Klasse als Trigger angreifen?


    Der Trigger ist das erneute Einlesen des Skins, was im Fall des Picon Renderer halt bei einem Kanalwechsel der Fall ist. Der Skin wird neu gelesen und der Renderer sucht dann das zur aktuellen ServiceReference passende Picon und zeigt dieses an.
    In deinem Fall müsste der Skin für einen Wechsel eines Wettersymbols also auch neu aufgerufen werden, damit der Renderer wieder neu durchläuft und nach dem dann passenden Wettersymbol sucht.


    Bei einem Plugin macht man sowas aber nicht über einen Renderer im Skin, sondern über ein widget im Plugin, dessen "Wert" sich im Plugin ändert.

    Einmal editiert, zuletzt von kashmir ()

  • Hi Kashmir,


    ok, klar, also das man nur einen Teilbereich ändert geht somit nicht, aber wie würde das bei einem widget zb aussehen? (welche includes brauch ich und was muss im widget stehen)


    glaub das könnte in ein paar Zeilen mir die Augen öffnen.


    lg

    Dreambox DM7000
    Dreambox DM800
    Dreambox DM500
    Dreambox DM600
    UFS-910
    ET9x00
    ET5000
    DBox II

  • hi, kashmir hatte mir dankenswerterweise folgendes per PN geschrieben:
    ...und mich jetzt gebeten es hier nochmals "öffentlich" zu posten. :winking_face:




    ...das wünsche ich auch: viel erfolg!


    7080 HD s-s-c-c (intern) c-c (sundtek)
    tuner a,b: sat 13°, 16°, 19.2°, 23.5°, 25.5°, 28.2°, 33°, 36°, 39°, 42° E
    tuner c,d,e,f: unitymedia
    dmm original dreambox os

    2 Mal editiert, zuletzt von giro77 ()

  • Hi Leute,


    es hat zwar nichts mit dem Wetter zu tun und ich wollte auch nicht gleich einen neuen Thread aufmachen.
    Ich versuch auch schon seit einiger Zeit in den pictureplayer eine Ordner-Vorschau (folder.jpg) bei zu bringen. Meine Python Kenntnisse sind jedoch eher mangelhaft.


    So schaut der Thumbviewer in Original aus.


    Code
    def showThumb(self,):
    		if not self.filelist.descent():
    			if self.filelist.getCurrentDirectory() and self.filelist.getFilename():
    				if self.picload.getThumbnail(self.filelist.getCurrentDirectory() + self.filelist.getFilename()) == 1:
    					self.ThumbTimer.start(500, True)


    Wie bekomme ich den path für den Ordner bzw zum folder.jpg?


    Beste Grüße