Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie Deaktiviert man plugins?

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] Wie Deaktiviert man plugins?

    Hi,
    wie deaktiviert man eigentlich Plugins am einfachsten "ohne sie zu Löschen"?
    VG
    Jürgen


    #2
    Schreib in die erste Zeile
    Code:
    return;

    Kommentar


      #3
      Richtig, aber bitte nur für kurzzeitiges Deaktivieren.

      Es ist keine Dauerlösung, da auch Plugins mit Return am Anfang komplett "evaled" werden.

      lg

      Stefan

      Kommentar


        #4
        Was wäre dann die Richtige lösung? Dauerhaft löschen will ich nicht. Ich will nur das Plugin Deaktivieren und wenn ich es wieder brauche aktive schalten.

        Kommentar


          #5
          Die Antwort bleibt dieselbe:
          Code:
          $plugin_info{$plugname.'_cycle'} = 0;
          return;
          Der eval dauert 10-30ms, das überlebt man

          Makki
          EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
          -> Bitte KEINE PNs!

          Kommentar


            #6
            Das wäre auch was für die Feature-Wunsch-Liste: Ein Plugin aktiv/inaktiv Button/Hacken

            Kommentar


              #7
              Hmm, ich versuche es mal aus Entwickler-Sicht zu erklären:
              - Ein Haken zum deaktivieren, schön, aber nichts anderes als einfach "return;" reinzuschreiben, wenn man schon eh mit Quellcode zu tun hat und halbwegs wissen muss, was man da tut(?)
              - Der nächste oder übernächste frägt dann, warum sein Plugin nicht läuft; dann muss man sich nicht nur das Plugin zeigen lassen, sondern auch die Fancy-Gui, ob dort evtl. der Haken nicht gesetzt ist..
              Hmm..

              Makki
              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
              -> Bitte KEINE PNs!

              Kommentar


                #8
                Zitat von makki Beitrag anzeigen
                Der eval dauert 10-30ms, das überlebt man
                Nur dass wir auch Kunden mit 30 Plugins haben und wenn diese das mit sehr vielen machen - und vor kurzem hatten wir so einen Fall bei einem Kunden - dann summieren sich 30 mal 30 ms zu fast einer Sekunde und schon wird es sehr unhandlich.

                Ich empfehle nicht gebrauchte Plugins zu löschen (es ist nur Text, das kann man auch woanders aufbewahren, man sollte ohnehin Sicherheitskopien haben).

                Über ein "Plugin deaktivieren Button" könnte man für die Zukunft nachdenken. Nach sechs Jahren kostenfreier Updates wird das nächste Upgrade für den WireGate Server kostenpflichtig sein. Je nach dem ob das angenommen wird oder nicht, wissen wir, ob Feature Wünsche am Ende auch bezahlt werden von der Mehrheit der Kunden.

                lg

                Stefan

                Kommentar


                  #9
                  Zitat von makki Beitrag anzeigen
                  Code:
                  $plugin_info{$plugname.'_cycle'} = 0;
                  return;
                  Mache ich auch so. Allerdings gebe ich return noch eine msg mit, damit man solche Plugins in der Übersicht schnell erkennt. Hierbei unterscheide ich "deactivated" für temporär deaktiverte Plugins und "deprecated" für veraltete Plugins, die durch neue ersetzt wurden.

                  Code:
                  $plugin_info{$plugname.'_cycle'} = 0;
                  return "deactivated";
                  Ich müsste nochmal in wiregated.pl reinsehen, aber eval wird doch nur ausgeführt, wenn das Plugin auch ausgeführt werden soll (cycle, $msg, etc.). Wenn cycle schon auf 0 gesetzt ist und zusammen mit return vor dem ersten plugin_subscribe steht, sollte das plugin nur 1x beim Speichern bzw. wiregated restart aufgerufen werden! Bei der Prüfung der vorhandenen Plugins wird es natürlich berücksichtigt, aber da kommen mir 30ms schon viel vor.

                  Kommentar


                    #10
                    Zitat von makki Beitrag anzeigen
                    Hmm, ich versuche es mal aus Entwickler-Sicht zu erklären:
                    - Ein Haken zum deaktivieren, schön, aber nichts anderes als einfach "return;" reinzuschreiben, wenn man schon eh mit Quellcode zu tun hat und halbwegs wissen muss, was man da tut(?)
                    - Der nächste oder übernächste frägt dann, warum sein Plugin nicht läuft; dann muss man sich nicht nur das Plugin zeigen lassen, sondern auch die Fancy-Gui, ob dort evtl. der Haken nicht gesetzt ist..
                    Hmm..

                    Makki
                    Im andern Fall muss man sich den Code ansehen um genau das herauszufinden...ich finde die Checkbox einfacher. Aber da es den Hacken nicht gibt ist das auch Wurscht...ich weiss ja jetzt wie es geht.

                    Kommentar


                      #11
                      Zitat von XueSheng Beitrag anzeigen
                      Code:
                      $plugin_info{$plugname.'_cycle'} = 0;
                      return "deactivated";
                      Vielen Danke eine gute idee mit rem return "deactivated":

                      Kommentar


                        #12
                        Die beiden Zeilen sind fester Bestandteil bei meinen Plugins und kommen direkt nach den Kommentarzeilen des header. Im Normalzustand dann natürlich auskommentiert. Einen zusätzlichen Button vermisse ich im Webif seit dem nicht mehr!

                        Kommentar


                          #13
                          Die Zeit für den Eval ist bei vielen Plugins natürlich ein Thema, das COMPILE_PLUGIN sollte da doch aber helfen, oder?

                          Frage an den TE: Geht es um Verringerung des Speicherbedarf / Beschleunigung des Systems oder geht es um das Unterdrücken der Aktionen des Plugins?
                          Ich habe einen Baustein zum aktivieren/deaktivieren per GA bei fast allen Plugins im Einsatz, das ist recht komfortabel. Ich hatte den glaube ich auch schon mal gepostet, finde den aber gerade nicht. Ich poste gerne noch mal den Link (wenn ich den Beitrag gefunden habe) oder den Plugin-Schnipsel wenn ich zu Hause bin.

                          Gruß,
                          Hauke
                          Endlich umgezogen. Fertig? Noch lange nicht... ;-)

                          Kommentar


                            #14
                            XueSheng: guter Vorschlag, so sieht man es gleich im Log.
                            Precompile hin oder her, mit einem _cycle = 0 wird das nur genau einmal pro restart ge-evaled, also ein Wimpernschlag..
                            (Edit: die 10-30ms waren grob geschätzt, vermutlich ist es weniger..)

                            Makki
                            Zuletzt geändert von makki; 05.05.2015, 23:03.
                            EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                            -> Bitte KEINE PNs!

                            Kommentar

                            Lädt...
                            X