Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin stoppen / starten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Plugin stoppen / starten

    Hallo zusammen,

    ich würde gerne mittels Logik ein Plugin stoppen und starten. Konkret geht es um das Enigma2 Plugin, dass bei ausgeschalteter Box das Log flutet. Habe hier gelesen, dass es so sein soll und das "Aus" der Box als Fehler interpretiert wird. Meiner Meinung nach wäre ein Ping auf die Box vor dem Versuch die Items zu aktualisieren und dann ein einziger Eintrag "Box nicht erreichbar" ins Log, ausreichend. Anyway, gibt es eine Möglichkeit das Plugin zu stoppen und zu starten, z.B. mit einer Logik, die vom Stromverbrauch der Steckdose getriggert wird?

    #2
    jedes plugin hat eine stop und start methode

    Kommentar


      #3
      Wobei nicht alle Plugins so sauber programmiert sind, dass sie sich mit der Stop() Methode so stoppen lassen, dass sie mit der Start() Methode sauber wieder gestartet werden können.
      Viele Grüße
      Martin

      There is no cloud. It's only someone else's computer.

      Kommentar


        #4
        wie rufe ich die Methoden aus einer Logik auf?

        Kommentar


          #5
          Z.B. mittels sh.enigma.stop() wenn Du das Enigma-Plugin als enigma: in der plugin.yaml konfiguriert hast

          Kommentar


            #6
            Zitat von schlafmann Beitrag anzeigen
            Meiner Meinung nach wäre ein Ping auf die Box vor dem Versuch die Items zu aktualisieren und dann ein einziger Eintrag "Box nicht erreichbar" ins Log, ausreichend.
            BTW: Warum schreibst Du das Plugin nicht um und schickst einen Request im GIT an den Plugin-Owner?

            Kommentar


              #7
              Danke, funktioniert, starten entsprechend mit sh.enigma.run() funktioniert auch

              Kommentar


                #8
                Hallo,

                vielleicht kann mir hier jemand helfen.
                Ich würde gern ein Enigma2 Plugin über eine Logic deaktivieren.

                hier die Logic:
                Code:
                #!/usr/bin/env python3
                # enigma_plugin_deaktivieren.py
                import logging
                logger = logging.getLogger("")
                
                if sh.it.enigma2.uno4k.ping() == 1:
                    sh.enigma2.run()
                    logger.info("VU Wohnzimmer ein")
                else:
                    sh.enigma2.stop()
                    logger.info("VU Wohnzimmer aus")
                sh.enigma2.run() dabei schmeist er mir den Fehler aus. SH kennt sh.enigma2 nicht. hier meine plugin.yaml für das Enigma plugin (IP geändert)
                Code:
                vusolo4k:
                    class_name: Enigma2
                    class_path: plugins.enigma2
                    host: 192.168.xxx.xxx
                    port: 80    # 81 for "vu"-boxes, it may be port 80 for a dreambox
                    cycle: 240
                    fast_cycle: 30
                    ssl: False    # use https or not
                    verify: False    # verify ssl certificate
                    instance: uno4k
                Was braucht ihr noch?

                Log:

                Code:
                2018-11-23  00:14:25 ERROR    logics.enigma_plugin_deaktivieren Logic: logics.enigma_plugin_deaktivieren, File: /usr/local/smarthome/logics/enigma_plugin_deaktivieren.py, Line: 7, Method: <module>, Exception: 'SmartHome' object has no attribute 'enigma2'
                Traceback (most recent call last):
                  File "/usr/local/smarthome/lib/scheduler.py", line 497, in _task
                    exec(obj.bytecode)
                  File "/usr/local/smarthome/logics/enigma_plugin_deaktivieren.py", line 7, in <module>
                    sh.enigma2.run()
                AttributeError: 'SmartHome' object has no attribute 'enigma2'

                Kommentar


                  #9
                  dein plugin heisst vusolo4k, nicht enigma2

                  Kommentar


                    #10
                    Hallo psilo,

                    danke! Genau das war das Problem.
                    Jetzt geht es und ich habe wieder was dazu gelernt.

                    Gruß Danny

                    Kommentar

                    Lädt...
                    X