Ankündigung

Einklappen
Keine Ankündigung bisher.

Interaktion zwischen Plugins

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

    [wiregate] Interaktion zwischen Plugins

    Hallo zusammen,

    ich bin gerade am überlegen, wie ich die Interaktion zwischen Plugins lösen könnte... ich habe nun z.B. ein Plugin, das sich um die Grundfunktionalitäten für Multiroom-Audio kümmert. Dann möchte ich aber noch erweiterte Funktionen implementieren, wie z.B. auf Schalt-Telegramme eines Präsenzmelder reagieren. Um die Übersicht besser zu bewahren und die Funktionalitäten halbwegs sauber zu trennen hätte ich das gerne in einem z.B. Plugin.
    Die Kommunikation auf GA-Basis geht ja nicht, soweit ich weiß zumindest nicht, wenn knx_read nötig wäre.
    Wie könnte ich das sauber lösen?

    #2
    Naja das Problem ist, dass ein Plugin nicht ein anderes Plugin triggern kann/darf. Also was bringt es dir, wenn der Bewegungsmelder reagiert und du als eine der wehnigen Möglichkeiten einen Zustand in die Plugininfo schriebst die du im anderen Plugin zyklisch prüfst? Damit hast du fast immer relativ grosse Verzögerungen oder eine solchniedere Zykluszeit, dass das ganze Pluginsystem und Wiregate stark belastet wird was widerum zu häufigen Restarts des Wiregate führen kann = Instabilität.

    Du wirst also mit der Idee so bestimmt nicht glücklich werden. Wenn es nur kleinere Ergänzungen sind, würde ich die in's Hauptplugin einbauen und gut ist...
    Gruss Patrik alias swiss

    Kommentar


      #3
      Zitat von frankenChris Beitrag anzeigen
      Hallo zusammen,

      ich bin gerade am überlegen, wie ich die Interaktion zwischen Plugins lösen könnte... ich habe nun z.B. ein Plugin, das sich um die Grundfunktionalitäten für Multiroom-Audio kümmert. Dann möchte ich aber noch erweiterte Funktionen implementieren, wie z.B. auf Schalt-Telegramme eines Präsenzmelder reagieren. Um die Übersicht besser zu bewahren und die Funktionalitäten halbwegs sauber zu trennen hätte ich das gerne in einem z.B. Plugin.
      Die Kommunikation auf GA-Basis geht ja nicht, soweit ich weiß zumindest nicht, wenn knx_read nötig wäre.
      Wie könnte ich das sauber lösen?
      Kannst du mal genauer dein Problem / deine Wünsche beschreiben?

      Was spricht dagegen, dass entweder:
      - das bestehenende plugin auf die GA des PM hört?
      - oder ein 2. Plugin auf die ga des PM hört und über plugin_info auf die Zustände im anderen plugin zugreift?

      Dazu braucht man kein knx_read...

      Lg Robert

      Kommentar


        #4
        Du kannst knx_read("X/X/X",0,DPT-Y) durchaus verwenden, solange du (mit 0) sicher im eibd-Cache vorhandene Werte liest.. Das ist sogar Teil des Gedankens und funktioniert auch absolut systemübergreifend..
        Man muss nur abfangen, wenn der knx_read nichts zurückliefert (reboot, Stromausfall,..)

        $plugin_info ist wie bereits skizziert natürlich auch eine Möglichkeit, das ist über restarts hinweg persistent.
        Für einfache, übersichtliche Sachen wie skizziert würde ich aber bei Patrik bleiben und nur ein Plugin machen..

        Makki

        P.S.: Wir freuen uns übrigens immer alle über tolle neue Plugins im SVN
        EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
        -> Bitte KEINE PNs!

        Kommentar


          #5
          Hallo zusammen.

          Ja, wenn das Plugin zuverlässig läuft, werde ich es hier noch zur Verfügung stellen.
          Nun, das Plugin deckt inzwischen die grundlegenden Anforderungen an eine Multiroom-Steuerung ab (So Dinge wie MPD-Outputs aktivieren/deaktivieren, Zonen auf anderen MPD umschalten, Lautstärkeänderungen etc.).
          So langsam wird die Datei für mich etwas groß, so dass ich eben Zusatzfunktionen lieber auslagern möchte - vor allem eben solche, die nicht für jede Zone / jeden anwender nützlich sind.
          Ich werde mal etwas experimentieren....

          Kommentar


            #6
            Nutze dazu doch subs.
            Umgezogen? Ja! ... Fertig? Nein!
            Baustelle 2.0 !

            Kommentar

            Lädt...
            X