Ankündigung

Einklappen
Keine Ankündigung bisher.

Verbindung SmartVisu über Websocket zu knxd

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

    Verbindung SmartVisu über Websocket zu knxd

    Hallo an Alle.
    Zunaechst muss ich sagen, dass ich wirklich schon Tagelang das Forum + Dokumentation + google genutzt habe.
    Grundsaetzlich gibt es immer wieder aehnliche Probleme, doch da ich nun nach mehrmaligem testen nicht erfolgreich bin hoffe ich auf euren support.

    setup:
    Raspberry 3 Mmodel B V.2
    KNX IP - Schnittstelle: Gira X1
    SmartHomeNG Version:
    SmartVisu Version:
    visu websocket:
    1.7.1.master
    2.9
    v1.5.1
    Grundsaetzlich ist es so, dass ich ueber knxd auf knx schreiben / lesen kann. Das heisst der Zugriff von KNXD ueber den Gira X1 funktioniert super.

    HTML-Code:
    knxtool groupswrite ip:localhost 0/6/0 1
    >> das schaltet mein Licht im office an.

    definition in der plugin.yaml:

    Code:
    knx:
    class_name: KNX
    class_path: plugins.knx
    host: 192.168.xx.xxx   (IP des Gira X1)
    port: 6720
    Mein Visu Websocket erzaehlt mir dass es laeuft. Ebenso zeigt es mir an, dass ich mit meinem iPhone auf der Visu-Seite bin.
    Marcs-iPhone.fritz.box 192.168.xx.xx 49263 smartVISU v2.9 Safari 13
    Items habe ich angelegt fuer das Licht im Office:

    Code:
    %YAML 1.1
    ---
    
    eg:
      office:
         sv_page: room
         sv_img: scene_cooking.png
            beleuchtung:
              decke1:
                 schalten:
                 name: decke
                 type: bool
                 visu_acl: rw
                 sv_widget: "{{ basic.switch('item', 'item') }}"
                 acl: rw
                 knx_dpt: 1
                 knx_listen: 0/6/0
                 knx_send: 0/6/0
                 knx_init: 0/6/0
    Das SmartVisu erkennt den Unterschied ob das Item angelegt ist oder nicht, da sich sonst im SmartHomeNG Log Monitor der Config page der Fehler zeigt:
    Code:
    KeyError: Client: "IP des Client" requested to monitor item eg.office.beleuchtung.decke1 which can not be found

    Ich schliesse also daraus, dass das anlegen der items so weit Funktioniert, dass die html umsetzung damit etwas anfangen kann.
    Ich habe natuerlich auch eine Seite vom smartvisu plugin selbst erstellen lassen:
    Das hat meines Verstaendnisses nach auch Funktioniert:

    Code:
    **
    * -----------------------------------------------------------------------------
    * @package smartVISU
    * @author Martin Gleiß
    * @copyright 2012
    * @license GPL [http://www.gnu.de]
    * -----------------------------------------------------------------------------
    */
    
    
    {% extends "rooms.html" %}
    
    {% block content %}
    
    <h1><img class="icon" src='{{ icon0 }}scene_cooking.png' />eg.office</h1>
    
    
    <div class="block">
    <div class="set-2" data-role="collapsible-set" data-theme="a" data-content-theme="a" data-mini="true" data-iconpos="right">
    
    <div data-role="collapsible" data-collapsed="false">
    <h3>decke</h3>
    {{ basic.switch('eg.office.beleuchtung.decke1.schalte n', 'eg.office.beleuchtung.decke1.schalten') }}
    </div>
    
    </div>
    </div>
    
    
    {% endblock %}

    Wenn ich hier nun auf den Schalter druecke passiert aber ueberhaupt nichts.

    Wenn ich den knxtool VBusmonitor oeffne zeigt sich auch, dass kein Schreibversuch unternommen wird.

    Wenn ich nun einen Schritt zurueck gehe und das ueber die Shell und direkten CLI versuche:


    [pi@SmartHomeNG ~]$ cli
    Code:
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    SmartHomeNG v1.7.1.master (cf2f7d85)
    Enter 'help' for a list of available commands.
    CLI > la
    Items:
    ======
    eg.office.beleuchtung.decke1.schalten = False
    eg.office.beleuchtung.decke1 = None
    eg.office.beleuchtung = None
    eg.office = None
    eg = None
    allgemein.home = False
    allgemein = None
    ---------
    103 Items
    CLI > up eg.office.beleuchtung.decke1.schalten = True
    CLI > up eg.office.beleuchtung.decke1.schalten = False
    CLI > up eg.office.beleuchtung.decke1.schalten = 1
    CLI > up eg.office.beleuchtung.decke1.schalten = 0
    Dann passiert auch ueberhaupt nichts. Es kommt aber auch keine Fehlermeldung.


    Wo man mir nun helfen muesste:
    Ich verstehe nicht, wo die umsetzung der CLI Befehle, oder auch der Befehle aus der SmartVisu ueber den WebSocket auf den KNXD passieren sollte und wieso das nicht tut.
    Ich wuerde gerne in verschiedenen Schritten tests machen aber weiss nicht genau wie.

    1. gibt es einen Monitor der Mir zeigt ob der click des buttons von der Visu ueber den Websocket angekommen ist? Wenn ich es richtig verstehe, muesste die Visu ja ein CLI Befehl ausfuehren wie ich es von Hand ueber die Konsole gemacht habe.
    2. Gibt es einen Monitor der Mir anzeigt was fuer ein Befehl wirklich ausgefuehrt wurde?


    Wenn ich bestimmt logfiles (bitte Pfad mit nennen) kopieren soll, dann bitte bescheid geben.

    Vielen Herzlichen Dank schonmal Vorab!!!

    Leibe Gruesse

    Marc
    Zuletzt geändert von Msinn; 30.08.2020, 19:28.

    #2
    Code:
    knx:
        class_name: KNX
        class_path: plugins.knx
        host: 192.168.xx.xxx   (IP des Gira X1)
        port: 6720
    Die Konfiguration ist falsch. als Host muss hier der Rechner angegeben werden auf dem knxd läuft.

    Die einfache Konfiguration (angenommen knxd läuft auf dem selben Rechner SmartHomeNG):
    Code:
    knx:
        plugin_name: knx
    plugin_name: knx ist die modernere Form statt class_path/class_name (was aber auch geht). host und port können einfach weggelassen werden.

    Wenn die Kommunikation zwischen knxd und dem KNX Bus geht, Du schreibst knxtool groupswrite ip:localhost 0/6/0 1 funktioniert, dann sollte es jetzt aus SmartHomeNG funktionieren.

    Das Kannst Du testen, indem Du den Wert in der AdminGUI setzt. Bei einem boolschen Wert musst Du nur darauf achten aus der Drop Down Liste raus zu klicken, damit der Wert übernommen wird.
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    Kommentar


      #3
      Guten Tag an Alle...

      zunaechst vielen Dank an Msinn fuer die schnelle Antowort.

      ganz zum Schluss war das Problem dann ein ziemlich dummes (einfaches)

      ich hatte auf der plugin Seite das knx Plugin nicht hinzugefuegt.

      Man kann das auf der Seite der items nochmals pruefen wenn bei den Triggerbedingungen KNX mit dabei ist.
      bound method WebSocket.update_item of plugins.visu_websocket.WebSo
      bound method KNX.update_item of plugins.knx
      wenn dies Fehlt, fehlt auch das plugin.

      Ich hoffe das Hilft anderen auch weiter.

      Gruesse Marc

      Kommentar


        #4
        Sieht deine item.yaml genauso aus, wie oben im Kasten? Dann dürfte es dort Probleme mit der Formatierung geben (hinter schalten: muss eingerückt werden).

        Nur eine Idee auf die Schnelle. Was sagt denn deine Admin-GUI? Gibts das Item dort? Passiert dort was?

        Kommentar


          #5
          Das Problem ist bereits gelöst, in der Plugin.yaml war aus irgendwelchen Gründen das knx Plugin nicht angemeldet.

          Kommentar


            #6
            Hab ich dann auch gelesen, das hat sich wohl überschnitten

            Kommentar

            Lädt...
            X