Ankündigung

Einklappen

Nicht vergessen: Das KNX-UF-Symposium by eib-tech in München am 3. November 2017!

Mehr anzeigen
Weniger anzeigen

Profilux goes Wiregate/Cometvisu

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

    [WireGate-Plugin] Profilux goes Wiregate/Cometvisu

    Hallo
    Ich betreibe ein Aquarium. Über einen Aquariencomputer der Firma GHL, einen Profilux 3.1t werden diverse Werte von z.B. pH, Leitwert, Temperatur usw. erfasst.

    Diese Werte möchte ich gerne über das Wiregate mit der KNX Welt verbinden.

    Einerseits um die Werte zu Regelungen einzusetzen (GA zuweisen) und andererseits in der Visu anzuzeigen.

    Hat schon jemand etwas in diese Richtung umgesetzt?

    Der Profilux stellt einen Webserver zur Vrfügung und ist ebenso wie das WG im selben Netzwerk.

    Für die einzelnen Werte werden Tokens bereitgestellt.


    #2
    Ergänzende Hinweise

    Eine bestehende Website mit den Messwerten befindet sich auf dem Profilux

    Erreichbar ist die Seite intern über "http://IP,Port/sensors.html"

    Zu den Tokens:
    Angehängte Dateien

    Kommentar


      #3
      Ich kenne das System zwar nicht, sieht aber sehr einfach machbar aus. Es gibt wohl mehrere Optionen, je nach dem was Du willst:

      Offensichtlich fallen mir da ein:
      1. user.html erzeugen, diese als eine hübsche Web-Seite und die per web-Widget in der CometVisu einbinden
      2. user.html erzeugen, diese mit einem einfachen Computer verständlichen Format (pro Wert neue Zeile, oder als JSON oder als XML, oder als ...), auf dem WireGate ein WireGate-Plugin in Perl, dass diese user.html regelmäßig einliest und die Werte auf den KNX sendet und/oder als RRD-Wert ablegt.
        CometVisu klassisch nutzen und die KNX Werte live anzeigen und die RRDs als Graphen

      Vorteil 1.: Wenig Aufwand, geht schnell, saubere Systemtrennung, d.h. weniger Fehlermöglichkeiten
      Nachteil 1.: kompatible Optik schwierig zu erreichen, keine Möglichkeit mit den Werten zu arbeiten (z.B. Alamierungen), kein zeitlicher Verlauf in der Visu

      Vorteil 2.: die Nachteile von 1. vermieden, evtl. schnellerer Seitenaufbau da weniger HTTP-Requests
      Nachteil 2.: Neben (bzw. statt) HTML musst Du auch Perl können; initial minimal Mehraufwand
      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
        Hallo Chris
        Ich dachte tatsächlich an die 2. Variante.
        Variante 1 läuft bei mir seit einem Jahr. Leider kann man die Werte damit aber nicht zur Steuerung einsetzen.

        Eine User.html gibt es also schon auf dem Profilux Webserver, die eben auch als Variante 1 in die Cometvisu eingebunden ist.

        rrds usw. bräuchte ich nicht, die Grafiken kann ich über den PC oder die Profilux App anschauen.

        HTML und Perl sind für mich neu und da muss ich mich erst einmal mit beschäftigen, daher hatte ich mal angefragt, ob es schon einer umgesetzt hat.

        Ich fange mal an, was mir bisher eingefallen ist:

        # Plugin zum Abfragen und Darstellen von
        # GHL-Profilux Messwerten auf dem Wiregate
        # Version 0.1 2017-09-02
        #
        #

        use strict;
        use warnings;

        use vars;
        use LWP::Simple;
        use XML::Simple;
        use Encode qw(encode decode);


        my $url = 'http://192.168.178.34/sensors.html'; # Netzwerkpfad zur Profilux Webserver Seite

        my $pl_temp1 = '$$SENV[1]$$';
        my $pl_temp2 = '$$SENV[5]$$';
        my $pl_ph1 = '$$SENV[0]$$';
        my $pl_ph2 = '$$SENV[n]$$';
        my $pl_leitwert1 = '$$SENV[2]$$';
        my $pl_redox1 = '$$SENV[3]$$';

        my $ga_pl_temp1 = "10/6/11"; # Gruppenadresse Temperatur 1 (DPT9.001)
        my $ga_pl_temp2 = "10/6/12"; # Gruppenadresse Temperatur 2 (DPT9.001)
        my $ga_pl_ph1 = "10/6/13"; # Gruppenadresse pH Wert 1 (DPT9)
        my $ga_pl_ph2 = "10/6/14"; # Gruppenadresse pH Wert 2 (DPT9)
        my $ga_pl_leitwert1 = "10/6/15"; # Gruppenadresse Leitwert 1 (DPT9)
        my $ga_pl_redox1 = "10/6/17"; # Gruppenadresse Redox 1 (DPT9)


        knx_write ($ga_pl_temp1,$pl_temp1,9.001) ;
        knx_write ($ga_pl_temp2,$pl_temp2,9.001) ;
        knx_write ($ga_pl_ph1,$pl_ph1,9) ;
        knx_write ($ga_pl_ph2,$pl_ph2,9) ;
        knx_write ($ga_pl_leitwert1,$pl_leitwert1,9) ;
        knx_write ($ga_pl_redox1,$pl_redox1,9) ;
        Zuletzt geändert von katerina; 11.09.2017, 14:53.

        Kommentar


          #5
          Ne, das wird so nicht gehen. Die user.html muss auf dem Profilux sein, das WireGate-Perl-Plugin auf dem WireGate.

          D.h. wenn Du diese Werte willst, dann müsste die user.html wohl ungefähr so aussehen:
          Code:
          {
           'temp1': '$$SENV[1]$$',
           'temp2': '$$SENV[5]$$',
           'ph1': '$$SENV[0]$$',
           'ph2': '$$SENV[n]$$',
           'leitwert1': '$$SENV[2]$$',
           'redox': '$$SENV[3]$$'
          }
          Und im WireGate Plugin musst Du nun über Perl einen HTTP-Request an die Profilux absetzen, diese Datei darüber holen und dann (in diesem Beispiel) als JSON auswerten.
          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