Ankündigung

Einklappen

Hinweis

Die Forenregeln wurden überarbeitet (Stand 7.11.22). Sie sind ab sofort verbindlich. Wir bitten um Beachtung.
Mehr anzeigen
Weniger anzeigen

smartVISU am knxd - Startprobleme...

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

    smartVISU am knxd - Startprobleme...

    Hallo,

    ich bin gerade etwas verwirrt, denn in den Einstellungen zur Datenquelle kann ich sowohl KNXD als auch SmartHomeNG aus wählen. In der Installationsanleitung steht, man benötigt SmartHomeNG um auf den KNX zugreifen zu können, aber warum kann ich dann trotzdem noch den KNXD einzeln auswählen?

    Ich habe es leider bis jetzt noch nicht hinbekommen über smartVISU eine KNX Verbindung herzustellen.

    Mein KNXD funktioniert, darüber kann ich alles mögliche machen, hatte gestern auch mal IP-Symcon getestet, klappte alles auf anhieb, aber da kann man in der Oberfläche leider viel zu wenig selbst individuell machen. Auch mein ETS 3 kann über den KNXD kommunizieren...

    Als erstes hatte ich also smartVISU installiert und versucht mit dem KNXD zu sprechen, mit IP 192.168.77.44 und Port 6720​, aber wenn ich beim Beispiel "example2.knxd" einfach mal auf einer Seite eine korrekte Gruppenandresse eingetragen habe klappte da nichts (Arbeitszimmer/Deckenleuchte). Bekomme einen Fehler "Error writing item!"

    Also mal mit SmartHomeNG tetestet, habe ich soweit installiert, das KNX Plugin konfiguriert, aber wenn ich in smartVISU SmartHomeNG konfigurieren möchte, bekomme ich immer den Hinweis, dass er sich nicht mit dem Server verbinden könne. Ist aber lt. Admin Web-Seite aktiv.

    Brauche ich denn wirklich das SmartHomeNG? Ohne wäre mir ja lieber...

    Weil warum kann ich denn sonst im smartVISU direkt den KNXD konfigurieren?

    Bräuchte da mal irgendwie einen Tipp...

    Viele Grüße
    Stefan
    Zuletzt geändert von Raudi; 22.10.2022, 15:05.

    #2
    Hallo Raudi,

    zunächst einmal ist der knxd ja im wesentlichen ein Router, der Telegramme zwischen dem knx-Bus und dem Netzwerk vermittelt. Auf der Netzwerkseite kann man dann auf verschiedenste Weise Telegramme lesen und schreiben. Mit smartVISU kann man in beschränktem Umfang Telegramme direkt an den knxd senden und lesen. Dazu braucht man die zusätzlichen Skripte „r“ und „w“ im Ordner cgi-bin des Servers. Näheres dazu findest Du hier, wobei zur Lösung sicher noch einiges in alten Forenbeiträgen geforscht werden muss.

    Wie im genannten Thread erläutert, bist Du mit einem vollwertigen smarthome-System sehr viel flexibler. SmartVISU unterstützt mehrere Systeme. Damit smartVISU mit smarthomeNG zusammenarbeitet, muss das websocket-Modul und das smartvisu-Plugin in smarthomeNG aktiviert und konfiguriert sein. Zudem benötigt smarthomeNG das knx-Plugin zur Verbindung mit dem Bus.

    Gruß
    Wolfram

    Kommentar


      #3
      Hallo Wolfram,

      danke für die Link mit dem Einstieg... Da werde ich mal schauen. Und ja, ich möchte nur meine KNX Installation darüber bedienen... Strom und Heizung habe ich auch schon in Eigenbau visualisiert und darin wollte ich nun einen Bereich für das KNX einbinden.

      Ich hatte mich schon gewundert wegen der r und w im cgi-bin, denn das habe ich knxd script auch gefunden und mich gefragt was das soll... Muss ich aber mal schauen, habe da mittlerweile selber was in PHP gebastelt, entweder ich führe das fort oder suche hier noch mal. Muss ich mir die Tage mal überlegen.

      Besten Dank noch mal.

      Viele Grüße
      Stefan

      Kommentar


        #4
        Moin!

        Kaum macht man es richtig funktioniert es. 😀

        In meinem Fall:

        1. 2 Links erstellen: /usr/lib/cgi-bin/r -> /usr/lib/knxd/eibread-cgi und /usr/lib/cgi-bin/w -> /usr/lib/knxd/eibwrite-cgi
        2. In der Apache config kontrollieren, dass auch /usr/lib/cgi-bin verwendet wird: /etc/apache2/conf-enabled/serve-cgi-bin.conf
        3. In das Verzeichnis /etc/apache2/mods-enabled wechseln und mit ln -s ../mods-available/cgi.load das CGI Modul aktivieren
        4. Apache config neu laden: service apache2 reload
        5. Und ganz wichtig in smartVISU die IP des Web-Servers und den Port eintragen, also Port 80 und nicht 6720!

        Das war es... Klappt!

        Ein Problem ist, dass bei smartVISU die unter EIBD/KNXD eingestellte Adresse/Port verwendet werden um den cgi-bin Pfad zu bauen, das ist erstmal irritierend, da es ja eigentlich nicht die Adresse zum KNXD ist. Zumal man auch beim CGI Aufruf einen "URL" mitgeben kann, was smartVISU hier aber nicht macht, daher nutzt es den lokalen Pfad /tmp/eib und nicht eine IP Verbindung. Das bedeutet aber auch, dass der KNXD zwingen auf dem gleichen Server laufen muss, wie der Web-Server mit dem CGI. Und der lokale Pfad muss auch aktiv sein.

        Aber nun kann ich auch via curl den Status eines Objektes abfragen:

        # curl "http://192.168.77.44/cgi-bin/r?a=1/2/2"
        {"d": {"1/2/2":"00"},"i":1927}

        Licht ist aus...

        # curl "http://192.168.77.44/cgi-bin/r?a=1/2/2"
        {"d": {"1/2/2":"01"},"i":1962}

        ​Und hier ist es an...

        Das war das abfragen, nun das Licht schalten:

        # curl "http://192.168.77.44/cgi-bin/w?a=1/2/2&v=81"
        {'success':1}

        Ist einschalten...

        # curl "http://192.168.77.44/cgi-bin/w?a=1/2/2&v=80"
        {'success':1}

        Und wieder aus...

        Viele Grüße
        Stefan

        Kommentar


          #5
          Hallo Stefan,

          super. Danke Dir für die gute Beschreibung der Lösung. Ich baue das bei mir mal nach und schau dann, was ich hinsichtlich Adressen und der Doku verbessern kann.

          Nachteil dieser Lösung ist, dass jedes item durch genau eine GA repräsentiert werden kann. D.h. die Adressen für Schreiben und Lesen (Schalt- und Statusobjekt) müssen gleich sein.

          Gruß
          Wolfram

          Kommentar

          Lädt...
          X