Text statt blinkender Uhr während Aufnahme...

  • Hallo liebe Gemeinde,


    ich sitze unter dem Tannenbaum und versuche die Standby.py so zu ändern, dass bei der Aufnhame die Uhr nicht blinkt, sondern ein "Aufnahme..." im Display angezeigt wird.


    Ich habe hier und auf anderen Seiten einiges gelesen und so die Standby.py geändert:



    Sobald ich nun in den Standby gehe, crasht Enigma und wird neu gestartet. Nach einigem Testen, scheint die "if session.RecordState"- Geschichte ein Problem zu machen.


    Ich bin jetzt total vernagelt und hoffe, dass mir jemand einen heißen Tip geben kann.


    Vielen Dank schonmal und weiterhin frohes Fest! :smiling_face_with_sunglasses:

    Best regards,


    it's not a trick, it's a Nick! :winking_face:

  • Ohne es jetzt getestet zu haben:

    Code
    <widget source="session.RecordState" render="FixedLabel" text="Aufnahme" position="6,46" size="120,18" font="Regular;16">
      <convert type="ConditionalShowHide"></convert>
    </widget>

    klappt nicht?


    Fehler bei deinem Code: du hast versucht vom alten Code abzugucken, kennst aber die Infrastruktur nicht gut genug. Du versuchst falsch auf einem globalen Screen zuzugreifen (richtig wäre afair session.screen["RecordState"]) und selbst dann würdest du immer true zurückkriegen, da du nur prüfst ob das Objekt existiert und nicht die Eigenschaft, die du eigentlich möchtest (session.screen["RecordState"].getBoolean()) oder auch ohne den Umweg über dieses Objekt session.nav.RecordTimer.isRecording().
    Probiere aber mal meinen Vorschlag aus, wäre imo die sauberste Lösung, bei dir wäre z.B. noch das Problem, dass das Label nur einmalig gesetzt wird beim erstellen des Screens, deine Info also möglicherweise gar nicht richtig ist.


    *EDIT* War natürlich noch nicht richtig, habs oben mal korrigiert (dennoch ungetestet ;)).

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Dreamboxen
    Mobile WOL: Wake-on-LAN Client für iOS mit optionalem Widget
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung

    Einmal editiert, zuletzt von ritzMo ()

  • Vielen Dank für die schnelle Antwort. Deinen Vorschlag habe ich anfangs versucht. Problem hierbei ist aber, dass wenn die Aufnahme beendet ist, das Widget nicht wieder verschwindet.


    Somit dachte ich, wenn ich das Ganze mit der IF-Anweisung abfrage, dann kann ich also das "Aufnahme..." durch " " ersetzen und somit vom Display löschen.


    Im ursprünglichen Code ist für die Aufnahme das Blinken ja so gelöst:


    Code
    skin = """
    	<screen position="0,0" size="132,64">
    		<widget source="global.CurrentTime" render="Label" position="0,0" size="132,64" font="DSDIGI;55" halign="center">
    			<convert type="ClockToText" />
    		</widget>
    		<widget source="session.RecordState" render="FixedLabel" text=" " position="0,0" size="132,64" zPosition="1" >
    			<convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
    			<convert type="ConditionalShowHide">Blink</convert>
    		</widget>
    	</screen>"""


    Im zweiten Widget wird also einfach ein großes Leerzeichen mit der Eigenschaft "Blink" angezeigt. Und nach beendeter Aufnahme verschwindet das dann automatisch wieder.


    So dachte ich dann, einfach statt text=" " ein text ="Aufnahme" würde gehen. Aber wie gesagt: nach der beendeten Aufnahme bleibt der Text stehen! Und das ist mein Hauptproblem.

    Best regards,


    it's not a trick, it's a Nick! :winking_face:

  • Dann würde ich mal die entsprechenden Komponenten debuggen, aber für mich ist heute noch Feiertag - kannst ja mal FixedLabel gegen Label tauschen, sollte imo aber nicht viel ändern.

    Homescreen eurer Apple-Geräte noch nicht voll genug?


    dreaMote: Fernbedienung für Dreamboxen
    Mobile WOL: Wake-on-LAN Client für iOS mit optionalem Widget
    My Home Remote: Fernkontrolle für Homematic CCU/CCU2 optimiert für mobile Benutzung

  • Alles klar. Jetzt habe ich es! Ich hatte wirklich zu kompliziert gedacht. Aber es funktioniert jetzt!


    Vielen Dank für Deine Unterstützung, die mich auf die richtige Spur gebracht hat. Mir sind halt ein paar Funktionen noch nicht ganz klar. Da bleibe ich aber dran. Ich möchte künftig auch gerne das eine oder andere Plugin bauen.

    Best regards,


    it's not a trick, it's a Nick! :winking_face:

  • Hi Nick99,


    Du kannst auch mal das probieren:


    Code
    <screen position="0,0" size="132,64">
    		<widget source="global.CurrentTime" render="Label" position="0,0" size="132,64" font="Regular;40" halign="center">
    			<convert type="ClockToText" />
    		</widget>
    		<widget source="session.RecordState" render="FixedLabel" text="AUFNAHME" position="10,38" size="132,64" font="Regular;22" zPosition="1" >
    			<convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
    			<convert type="ConditionalShowHide">Blink</convert>
    		</widget>

    1x DreamBox 7025+ DVB-SS | 1x DreamBox 7025 DVB-SS | 1x DreamBox 500 DVB-S | LE-40F86BD | Synology DS107+ | Schwaiger 100er-Alu | Goldedition Quatro 0,3 dB | Kathrein EXR 508/T

  • Jupp, so habe ich das jetzt auch gemacht. Allerdings habe ich das "Blink" noch weggelassen. Das machte mich immer so nervös! :winking_face:

    Best regards,


    it's not a trick, it's a Nick! :winking_face:

  • ich habe jetzt alles probiert habe gxxxi2-340 drauf und habe die datei Standby.py wie folgt geändert aber nichts funktioniert, was mache ich falsch ?



    Moderator: Code lesbar gemacht

    2 Mal editiert, zuletzt von Reichi ()

  • isabell2012: Ich weiss nicht, wie es bei Deinem Image ist, das aktuelle CVS holt sich diese Einstellungen aus der skin_default.xml, da jetzt jeder Skin ein eigenes LCD-Skin beinhalten kann!


    Somit musst Du die Einstellungen jetzt dort machen.


    Hier mal als Anregung meine Display-Konfig als Foto (leider in schlechter Handy-Qualität). Im eingeschalteten Zustand zeigt die Box bei mir nun den Sender bzw. Filmtitel, dann mittig den Fortschrittsbalken, darunter rechts die Restlaufzeit der aktuellen Sendung und links "AUFN.", wenn aufgenommen wird.

  • Zitat

    Original von isabell2012
    Was muss ich da einfügen in die Datei ?


    Schau Dir bitte mal die skin_default.xml genau an. Dort findest Du die gleichen Tags wie in der standby.py. Also Deine Änderungen da rein und fertig. :winking_face:

    Best regards,


    it's not a trick, it's a Nick! :winking_face:

  • Benutzt Du denn den Default-Skin? Ansonsten musst Du natürlich die xml-Datei des entsprechend eingestellten Skins verändern!

    Best regards,


    it's not a trick, it's a Nick! :winking_face:

  • Zitat

    Original von isabell2012
    Jetzt verstehe ich nur Bahnhof !


    Nun, jeder Skin hat eine XML-Datei, in der die Parameter für die Farben, Schriftarten und auch für das Display angegeben sind. Wenn Du nun einen Skin in den Einstellungen auswählst, werden die Einstellungen dieser entsprechenden XML-Datei gesetzt.


    Wenn Du (so wie ich) den Default Skin verwendest, also den werksseitig eingestellten, dann musst Du die skin_default.xml verändern, bzw. verwendest die, die ich Dir geschickt habe.


    Du solltest Dir mal in Ruhe dir Struktur der Skins und Skin-Verzeichnisse unter /usr/share/enigma2 anschauen, damit Dir das Vorgehen klarer wird.



    Zitat

    Original von smirre
    Hallo!
    ist es möglich die normale Uhr ohne Sekundenanzeige darzustellen?
    Mfg


    Ja, wie in diesem Thread beschrieben muss dazu die entsprechende XML-Datei (z.B. die skin_default.xml) angepasst werden. Bitte schaue Dir die Datei mal in Ruhe an und Du wirst folgenden Code finden:


    Code
    <widget source="global.CurrentTime" render="Label" position="100,34" zPosition="1" size="26,30" font="Regular;16" valign="top">
    <convert type="ClockToText">Format:%S</convert>
    </widget>


    Diese Zeilen zeigen die Sekunden an.

    Best regards,


    it's not a trick, it's a Nick! :winking_face: