Ankündigung

Einklappen
Keine Ankündigung bisher.

Preview CometVisu mit MQTT

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

    Preview CometVisu mit MQTT

    In der nächsten CometVisu Version 0.12.0 (und damit auch in den aktuellen Release Candidates) ist bereits Unterstützung für MQTT als Backend implementiert. Da hier Stand heute noch keine ausreichende Test-Tiefe vorhanden ist, ist dieses Feature aktuell noch im Status "Preview".

    Um die MQTT-Schnittstelle auszuprobieren braucht es nur ein paar einfache Schritte:

    Als erstes wird ein MQTT Broker, wie Mosquitto, benötigt. Dieser Broker muss MQTT über Websockets bereit stellen.
    Wichtig ist, dass wenn die CometVisu über HTTPS läuft (also über den Proxy), so muss die WebSocket-Schnittstelle des Brokers auch über Secure WebSockets (also "wss:" statt "ws:") erreichbar sein.

    In der CometVisu muss nun nur in der Config-Datei im <pages>-Element mit dem Attribut backend="mqtt" der MQTT-Modus ausgewählt werden. Über das Attribut backend-url wird die URI der Websocket-Schnittstelle angegeben. Mit den optionalen Attributen username und password können, so notwendig, auch noch die Credentials übergeben werden.

    Beispielsweise könnte das <pages>-Element so aussehen:
    HTML-Code:
    <pages backend="mqtt" backend-url="wss://timberwolf123.local:443/proxy/mqtt/ws" username="testUser" password="testPasswort" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" lib_version="9" design="pure" xsi:noNamespaceSchemaLocation="../visu_config.xsd">
    In der Config selbst sind bei den <address>-Elementen die MQTT spezifischen Transforms zu benutzen: https://www.cometvisu.org/CometVisu/de/ ... .html#mqtt
    Bei Werten in JSON-Strukturen gibt es hier nun ein neues Feature bei den Transforms: diese können für solche speziellen Fälle erweitert werden. So fügt beispielsweise dieser Code
    HTML-Code:
        <switch>
          <label>switch JSON</label>
          <address transform="MQTT:json:c.d" retain="true">mqtt/switch_js</address>
        </switch>
    ein Switch hinzu, dass unter mqtt/switch_js ein JSON der Form {"c":{"d":"1"}} beschreibt, bzw. liest.
    Das bedeutet, dass ein JSON in verschiedenen Widget durchaus mit seinen verschiedenen einzelnen Teilen verwendet werden kann.
    Aber, was aktuell nicht geht, ist so ein JSON mit mehreren Werten gleichzeitig zu erzeugen.
    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!

    #2
    Hört sich interessant an, kann ich damit dann auch andere IP-Geräte direkt damit steuern?
    Oder ist es dann auf KNX via MQTT beschränkt?

    SG
    Begeisterter TVHeadend-Nutzer.

    Kommentar


      #3
      Zitat von jakatal Beitrag anzeigen
      Hört sich interessant an, kann ich damit dann auch andere IP-Geräte direkt damit steuern?
      Wenn die Geräte eine MQTT Anbindung haben, sollte das prinzipiell möglich sein.

      Zitat von jakatal Beitrag anzeigen
      Oder ist es dann auf KNX via MQTT beschränkt?
      Was soll denn das sein? Die beiden Protokolle haben nichts miteinander zu tun.

      Gruß
      Tobias

      Kommentar


        #4
        Naja, dass die Protokolle nichts miteinander zu tun haben, heißt ja nicht, dass MQTT als Transport für KNX Telegramme dienen würde....
        Begeisterter TVHeadend-Nutzer.

        Kommentar


          #5
          Machen kann man vieles, fragt sich nur welches Problem man damit löst. Und damit das funktioniert braucht man immer noch einen Dienst der die Verbindung zwischen KNX und MQTT herstellt.
          Gruß
          Tobias

          Kommentar


            #6
            Zitat von jakatal Beitrag anzeigen
            Naja, dass die Protokolle nichts miteinander zu tun haben, heißt ja nicht, dass MQTT als Transport für KNX Telegramme dienen würde....
            Mir ist es neu, dass MQTT als Transportschicht für KNX spezifiziert ist.

            Du kannst aber natürlich ein Gateway zwischen KNX und MQTT bauen. Aber hinter dem Gateway ist es dann irrelevant was vor dem Gateway war, ob das KNX war, oder X10, oder ...
            Das war auch genau der Grund warum wir der CometVisu MQTT beigebracht haben. Das ist so universell, da kannst Du dann darüber alles anbinden.
            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

            Lädt...
            X