Ankündigung

Einklappen
Keine Ankündigung bisher.

Einlesen des .conf im Plugin

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

    [wiregate] Einlesen des .conf im Plugin

    Hallo zusammen, Hallo Stefan,

    ich wollte mich demnächst mal (wenn es dann die kalten langen Winterabende gibt) ans Aufräumen von diversen bei mir im Einsatz befindlichen Plugins setzen. Dazu gehört auch das Auslagern der Konfiguration in eine .conf-Datei. Bei einigen Plugins ist das bereit so - und jedes nutzt eigenen (teils kopierten) Code zum Einlesen der Konfigurationsdatei.

    Nun die Frage: gibt es Pläne dieses Einlesen zentral in den wiregated.pl einzubauen? Oder gibt es sowas evtl sogar schon?

    Danke,
    Micha

    #2


    Fänd ich auch gut
    TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

    Kommentar


      #3
      @StefanW ich pushe das hier nochmal da es evtl im Trubel des neuen PL etwas untergegangen ist...

      VG
      Micha

      Kommentar


        #4
        Hallo Micha,

        nicht übersehen, aber erstmal ziemlich zur Seite geschoben.

        Weil: Es gibt einen ziemlichen Haufen älterer Versprechen und Fehler die wir zuerst lösen wollen, bevor es neue Features gibt.

        Insgesamt wäre ich aber einer Trennung von Plugin und Config sehr aufgeschlossen, weil es auch eines Tages die Möglichkeit eröffnen würde, für die ein oder andere Config auch eine Oberfläche anzubieten.


        Es würde mir aber helfen, wenn ihr mir Euren Wunsch *genauer* spezifizieren könntet, weil dann habe ich etwas, was ich meinen Entwicklern zeigen kann... Vielleicht zunächst eine einfache und rudimentäre Variante.

        Stefan

        Kommentar


          #5
          @Stefan: keine Hektik. Mir ist das schon bewusst mit den "Altlasten" und auch die Priorisierung ist klar. Ich wollte es nur mal angemerkt haben und v.a. nachfragen ob es sowas schon gibt und es mir nur nicht bekannt ist.

          Mein Wunsch wäre eigentlich recht simpel: es wird automatisch bei Start/Ausführen des Plugins geprüft ob es im conf-Unterverzeichnis eine entsprechende Datei ([pluginname].conf) gibt und wenn ja wird diese eingebunden. Und: ähnlich wie eine Änderung des Plugins selbst sollte auch eine Änderung der .conf-Datei einen (Neu)Start/Laden des Plugins verursachen.

          Eigentlich könnte man wohl die Art&Weise von Frys Logikprozessor übernehmen - der ist nun mittlerweile schon lange und bei vielen Usern erfolgreich im Einsatz...

          VG
          Micha

          Kommentar


            #6
            Ich hätte das ganz simpel gesehen (und auch oben so verstanden):

            Plugins die jetzt schon .conf benutzen, verwenden ein paar Hand voll Code-Zeilen um die Config-Daten einzulesen und einzubinden.

            Diese Zeilen könnte man in den Plugins sparen, wenn es zentral eine Bibliothek-Funktion gibt, die das macht.
            Und/Oder wenn eine Config-Datei bei Vorhandensein immer automatisch zuerst im Kontext des Plugins ausgeführt wird und so die entsprechenden "globalen" (aus Plugin-Sicht) Variablen vorbelegt.
            TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

            Kommentar


              #7
              Wenn wir schon bei "Bibliothek-Funktion" angekommen sind, hätte ich auch noch einen Vorschlag. Es gibt inzwischen einige Plugins, die je nach Aufrufe-Grund (Cycle, GA, Änderung) nur den Code ausführen, der auch benötigt wird. Ich verwende das bei meinen Plugins auch ganz gerne.

              Die Info, warum das Plugin aufgerufen wurde, muss dabei aber im Plugin generiert werden. Vielleicht könnte man das als zusätzliche Variable in das Plugin übergeben.
              Endlich umgezogen. Fertig? Noch lange nicht... ;-)

              Kommentar


                #8
                Zitat von Hauke Beitrag anzeigen
                Es gibt inzwischen einige Plugins, die je nach Aufrufe-Grund (Cycle, GA, Änderung) nur den Code ausführen, der auch benötigt wird.
                Interessanter Gedanke.

                Hättest Du da ein kurzes prägnantes Beispiel dafür, damit ich was habe um es in einen Feature Request zu schreiben. Gute Beispiele oder ausgearbeitete Vorschläge sind für mich leichter weitergebbar (und verständlich).

                lg

                Stefan

                Kommentar


                  #9
                  Bei mir sieht das ganze folgendermaßen aus (Beispiel) (habe mir das aber auch nur irgendwoher kopiert):

                  Code:
                  #################################################
                  # Get Start Reason
                  
                  my $event=undef;
                  if (!$plugin_initflag) { $event='restart'; } # Restart des daemons / Reboot
                  elsif ($plugin_info{$plugname.'_lastsaved'} > $plugin_info{$plugname.'_last'})
                  { $event='modified'; } # Plugin modifiziert
                  elsif (%msg) { $event='bus'; } # Bustraffic
                  elsif ($fh) { $event='socket'; } # Netzwerktraffic
                  else { $event='cycle'; } # Zyklus
                  
                  
                  if($event=~/restart|modified/ || !defined $plugin_cache{$plugname}{cfg_laufzeitSec}) 
                  {
                  ....
                  }
                  Gruß

                  Kommentar


                    #10
                    Danke, genau das meinte ich.

                    Der Teil mit $event='restart' war mir auch noch neu, ist aber bestimmt hilfreich! Ich hatte kürzlich das Problem das die GA's nicht subscribed waren, weil ich das nur unter 'modified' ausführe. Nach einem Reboot wegen Stromausfall hörte das Plugin nicht mehr auf die GA's...
                    Endlich umgezogen. Fertig? Noch lange nicht... ;-)

                    Kommentar

                    Lädt...
                    X