Ankündigung

Einklappen
Keine Ankündigung bisher.

Dokumentation zum erstellen eines Plugins

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

    Dokumentation zum erstellen eines Plugins

    Hallo liebe Forumsmitglieder!

    Ich will mich hier mal kurz vorstellen und habe auch gleich eine Frage:
    Mein Name ist Johannes, ich komme aus Österreich und bin gerade dabei mich bezüglich Visualisierung etwas umzusehen.

    Zu meiner bisherigen Ausstattung:
    ich habe kein KNX installiert (war eine Kostenfrage) und habe mich daher für Legrand/Bticino MyHome entschieden. Hier habe ich folgende Komponenten in Verwendung: Steuerung Licht/Rolläden, Einzelraumregelung, Beschallungssystem.

    Als Mediacenterlösung verwende ich Dianemo ( We provide home automation products, software systems, automation lighting control, security cameras and more. ). Das ist die kommerzielle Variante von LinuxMCE ( Welcome to LinuxMCE bzw LinuxMCE Forums - Index ). Hier ist mein Bussystem integriert worden. Das bedeutet ich kann über die GUI des Mediacenters die Lampen, die Beschallung und die Einzelraumregelung bedienen.

    Es gibt aber einige Dinge die ich nicht über MyHome realisieren kann/möchte. Hier würde dann Wiregate ins Spiel kommen. Ich verfolge das Wiregate Forum derzeit noch passiv aber sehr intensiv (mitlesen und schauen was die anderen auf diesem Gebiet so machen) bzw. überlege mir gerade alle möglichen Anwendungsfälle wo ich das Wiregate einsetzen kann (Digitales Schlüsselbrett,...) Durch dieses "mitlesen" bin ich dann auf CometVisu gestoßen.

    Das bringt mich auch gleich zu meiner ersten Frage:
    Wenn ich mein Bussystem über CometVisu Visualisieren möchte, dann werde ich wohl um ein Plugin oder ähnliches nicht herumkommen.
    Leider finde ich aber nirgendwo eine Dokumentation zu diesem Thema.
    Vielleicht kann mir hier jemand weiterhelfen?

    DANKE

    lg
    Johannes

    #2
    Nunja, eigentlich dürfte das nicht so schwer sein. Die CometVisu ruft zwei cgi-bin's zum lesen und schreiben der Werte auf.

    Wenn Du diese entsprechend an Dein Bus-System anpasst sollte das relativ einfach gehen. Dabei solltest Du dann KNX-Gruppenadressen auf Dein System umlegen, dann merkt die Visu noch nicht mal, dass da kein KNX dahinter ist.

    Gruß, Netsrac

    Kommentar


      #3
      Zitat von aico Beitrag anzeigen
      Wenn ich mein Bussystem über CometVisu Visualisieren möchte, dann werde ich wohl um ein Plugin oder ähnliches nicht herumkommen.
      Um die CometVisu nutzen zu können brauchst Du kein (CometVisu-)Plugin, da ist alles notwendige vorhanden. Durch eigene Widgets und Plugins kannst Du jedoch erweitern, was und wie die CometVisu Dinge anzeigt.

      Was Du jedoch in Deinem Fall brauchst, ist eine Möglichkeit die Daten aus Deinem Bus-System (kenne ich nicht, kann dazu also auch nichts sagen) zur CometVisu zu bringen.

      Eine Möglichkeit wäre, ein WireGate-Plugin zu schreiben, dass den Datenaustausch übernimmt und Deinen Bus in einen "virtuellen" KNX übersetzt. Ab da kann die CometVisu (stand jetzt) weiter machen.

      Oder Du implementierst ein eigenes Backend für Dein Bus-System, d.h. Du musst das CometVisu-Protokoll (-> https://sourceforge.net/apps/mediawiki/openautomation/index.php?title=CometVisu/Protokoll_(Deutsch)) implementieren.

      Was nun die beste und/oder einfachste Variante ist, kann ich nicht wissen.
      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


        #4
        Zitat von Chris M. Beitrag anzeigen
        Oder Du implementierst ein eigenes Backend für Dein Bus-System, d.h. Du musst das CometVisu-Protokoll implementieren.
        Für eine Dianemo/LinuxMCE-Integration würde es sich wahrscheinlich anbieten einen Connector für den DCE-Router, d.h. ein DCE-Device zu implementieren, dass das CometVisu-Protokoll beherrscht.

        Kommentar


          #5
          Die Idee mit dem Wiregate-Plugin hört sich ziemlich interessant an - werde mal in dieser Richtung weiterforschen. Da ich ja noch kein Wiregate besitze (ich möchte da noch etwas warten bis die Multi I/O Schnittstelle verfügbar ist) wird aber vorerst einmal eine teoretische Sache.

          Auf alle Fälle schon mal Danke für eure Ideen...und wenn jemand noch eine Idee hat, einfach reinschreiben

          Kommentar


            #6
            Hallo Johannes,

            auch ich kenn Dein Steuerungssystem nicht, aber ich habe einen Prototypen für FHEM <-> KNX geschrieben, um ein bisshen mit der CometVisu spielen zu können. Über FHEM steuere ich meine derzeitige (funkbasierte) Haussteuerung (FS20 und FHT), und habe über das WireGate eine Mini-KNX-Installation damit verbunden. Mein Ziel ist allerdings, im nächsten Haus ganz auf KNX umzusteigen.


            Meine Erfahrungen:
            • Schalten, Temperaturen, Zeit lassen sich gut abbilden
            • Dimmen ist unmöglich, da sind die Konzepte der beiden Systeme zu unterschiedlich (man kann einfach von KNX-Sensoren aus FS20 Aktoren dimmen, aber nicht umgekehrt)
            • Eine Herausforderung ist es, beide Systeme zu synchronisieren, in Deinem Fall z.B.
              • Ein Sensor (Taster) und ein Aktor Deines Bussystems, ein weiterer Sensor im KNX (z.B. in der Comet-Visu)
              • Du willst den Aktor natürlich über den Schalter schalten, dass soll in der Visu dargestellt werden
              • Du willst aber auch in der Visu schalten, das soll aber auch Dein Sensor mitbekommen, damit Du zum ausschalten nicht z.B. 2 mal drücken musst.
              • Deswegen musst Du immer bidirektional umsetzen, also vom KNX auf Dein System und zurück.
              • Je nach Programmiermodell kann das zu höherer Busbelastung führen, ich sage z.B. im WireGate "Jede Änderung an der KNX-Gruppe x/y/z an das FHEM-Gerät ABC schicken" und in FHEM "Jede Änderung am Gerät ABC an KNX mit der Gruppe x/y/z schicken". Wenn man da nicht aufpasst und nur Änderungen weiterschickt, kommt man ganz schnell zu Schleifenkonstrukten, bei denen immer der gleiche Status zwischen den beiden Systemen hin- und hergeschickt wird.
            • Grundsätzliche Probleme bekommst Du, wenn Du beide Systeme synchronisieren willst, aufgrund der Latenzzeiten, die zur Scriptausführung benötigt werden:
              • Du drückst "an", gefolgt vom "aus", sagen wir mal im System 1 (egal ob das KNX oder Dein System ist)
              • Das "an" geht an System 2, und da der vorherige Wert "aus" war, wird der neue Wert "an" vom System 2 an System 1 geschickt.
              • Dummerweise hast Du inzwischen im System 1 bereits "aus" gedückt, also ist "an" ein neuer Wert, den dasSystem 1 annimmt und an System 2 schickt.
              • Noch Dümmer: Das "aus" ist inzwischen von System 1 an System 2 geschickt worden, das den Wert annimmt (ist ja lurz vorher auf "an" gegangen) und auch wieder an System 1 zurück schickt.
              • Das geht dann immer so weiter und ist nichts anderes als ein aufwändig erstelltes und sehr teures Blinklicht.
              • Das Gute ist, dasProblem kann man mit einfachen Markierungsverfahren lösen.
            Bei mir läuft das, was ich ausprobieren wollte, inzwischen relativ stabil und alltagsgeeignet (zumindest beschwert sich meine Frau nicht mehr), es kostet einen eben ein paar Abende.

            Letztendlich will ich damit sagen, dass Du mit dem WireGate das richtige Gerät hast, um solch ein Vorhaben anzugehen und es klappt auch, wenn man ein Paar Dinge berücksichtigt (oder - wie ich - leidvoll erfährt).

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar


              #7
              Hallo Waldemar,

              vielen Dank für deinen ausführlichen Beitrag. Ich sehe schon, hier wird eine genaue Planung des Projekts notwendig werden. Aber Beitrag ist sicher eine große Hilfe.

              Gruß
              Johannes

              Kommentar

              Lädt...
              X