Beiträge von woife_fcb

    Ich danke euch vielmals.


    Ich bin so ein Dummkopf. Natürlich wäre das sinnlos. Und jetzt habe ich bemerkt, dass das Plugin so funktioniert, wie es soll. War mein Fehler.
    Hab der Einfachheit halber nicht aufnehmen, sonder umschalten lassen. Und da ist das Plugin so eingestellt, dass es sich unterschiedlich verhält, hab ich das jetzt richtig verstanden?


    Jetzt zu meinem persönlichen Problem. Kann man das Plugin trotzdem so anpassen, dass es auch bei Umschalttimerereignissen kein cec power on Signal sendet?
    Für die meisten mag sich das unlogisch anhören, aber mir gehts darum, an bestimmte Sendungen erinnert zu werden, falls ich gerade vor der Glotze hocke.
    Daher ist es unpraktisch, dass sich meine ganze Anlage aufgrund einer solchen Erinnerung von alleine einschaltet, wenn ich zum Beispiel gerade nicht fernsehe und im schlimmsten Fall, noch nicht einmal im Hause bin.


    Also kann man das umschreiben?


    cu

    from Components.config import config, ConfigSubsection, ConfigEnableDisable
    from Components.HdmiCec import hdmi_cec
    from Plugins.Plugin import PluginDescriptor


    from CecConfig import CecConfig


    config.plugins.cec = ConfigSubsection()
    config.plugins.cec.sendpower = ConfigEnableDisable(default=True)
    config.plugins.cec.receivepower = ConfigEnableDisable(default=False)


    from enigma import getExitCode
    from Tools.Notifications import isPendingOrVisibleNotificationID


    class Cec(object):
    session = None


    def __receivedStandby(self):
    if config.plugins.cec.receivepower.value:
    from Screens.Standby import Standby, inStandby
    if not inStandby and self.session.current_dialog and self.session.current_dialog.ALLOW_SUSPEND and self.session.in_exec:
    self.session.open(Standby)


    def __receivedNowActive(self):
    if config.plugins.cec.receivepower.value:
    from Screens.Standby import inStandby
    if inStandby != None:
    inStandby.Power()


    def __init__(self):
    config.misc.standbyCounter.addNotifier(self._onStandby, initial_call = False)
    hdmi_cec.instance.receivedStandby.get().append(self.__receivedStandby)
    hdmi_cec.instance.isNowActive.get().append(self.__receivedNowActive)
    self.idle_to_standby = False


    def powerOn(self):
    if config.plugins.cec.sendpower.value:
    if self.session.shutdown:
    self.idle_to_standby = True
    else:
    print "[Cec] power on"
    hdmi_cec.otp_source_enable()


    def powerOff(self):
    if config.plugins.cec.sendpower.value and not self.idle_to_standby:
    print "[Cec] power off"
    hdmi_cec.ss_standby()


    def _onStandby(self, element):
    from Screens.Standby import inStandby
    inStandby.onClose.append(self.powerOn)
    self.powerOff()


    cec = Cec()


    def autostart(reason, **kwargs):
    session = kwargs.get('session', None)
    if session is not None:
    cec.session = session
    if reason == 0:
    if session is not None:
    if not isPendingOrVisibleNotificationID("Standby"):
    cec.powerOn()
    elif getExitCode() == 1: # send CEC poweroff only on complete box shutdown
    cec.powerOff()


    def conf(session, **kwargs):
    session.open(CecConfig)


    def menu(menuid, **kwargs):
    if menuid == "system":
    return [(_("HDMI CEC"), conf, "hdmi_cec", None)]
    else:
    return []


    def Plugins(**kwargs):
    return [
    PluginDescriptor(where = [PluginDescriptor.WHERE_SESSIONSTART, PluginDescriptor.WHERE_AUTOSTART] , fnc = autostart),
    PluginDescriptor(name = "HDMI CEC", description = "Configure HDMI CEC", where = PluginDescriptor.WHERE_MENU, needsRestart = True, fnc = menu)
    ]


    Könntet ihr dazu bitte die gefixte plugin.py uploaden? Oder muss außerdem noch eine andere Datei gefixt werden? :smiling_face:


    EDIT: ich verstehe nämlich den Quellcode nicht genau, was das a und b bedeutet, und die plus und minus am Anfang der Zeilen.