Velux KLF200 endlich mit API

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • ROLE
    Smart Home'r
    • 21.10.2018
    • 56

    #31
    Eventuell hilft ja das...

    Ich lese sehr interessiert mit, da ich das KLF auch schon in der Verpackung daheim liegen habe.
    Ein (Loxone) Smart Home - was ist das eigentlich genau? Alles was zu Hause in irgendeiner Weise steuerbar ist, bestenfalls mittels ...

    Kommentar


    • andylox
      andylox kommentierte
      Kommentar bearbeiten
      Ja perfekt, so hatte ich das am anfang auch gemacht! Einfach schon zu lange her.
  • andylox
    Smart Home'r
    • 23.08.2018
    • 51

    #32
    Dafür musst du folgendes in die 99_Myutils.pm ganz unten einfügen:
    Code:
    #UDP Befehle senden
    sub UDP_Msg($$$)
    {
    my ($dest,$port,$cmd) = @_;
    my $sock = IO::Socket::INET->new(
    Proto => 'udp',
    PeerPort => $port,
    PeerAddr => $dest
    ) or die "Could not create socket: $!\n";
    $sock->send($cmd) or die "Send error: $!\n";
    return "send $cmd";
    }
    
    #UDPToLoxone
    #device:
    #1 state(0,1)
    sub OnOffToLoxone($)
    {
    my ($device) = @_;
    my $state = ReadingsVal("$device","state","-1");
    if ($state eq "on") {
    $state = "1";
    }
    if ($state eq "off") {
    $state = "0";
    }
    
    #fhem("set $device: $state $pct");
    UDP_Msg("192.168.178.21" , "7001" , "$device: $state");
    }

    Kommentar


    • ogrimo30
      ogrimo30 kommentierte
      Kommentar bearbeiten
      Danke für die Info!
      Muss ich da nur noch die IP von meinem Miniserver eintragen (mit oder ohne Port?) und den UDP ändern oder? (7001 wird schon von einem Plugin verwendet)
      Sehe ich dann automatisch im UDP Monitor die "Einträge" oder muss ich beim KLF200 Plugin noch was eintragen?

    • andylox
      andylox kommentierte
      Kommentar bearbeiten
      Schau mal in die Anleitung die ROLE pben gepostet hat, da steht alles drin
  • ROLE
    Smart Home'r
    • 21.10.2018
    • 56

    #33
    Jetzt muss ich mich wieder melden. KLF hab ich in FHEM reingebracht, die Nodes werden angezeigt. Nur beim STATE in den Nodes werden drei Fragezeichen angezeigt und Befehle die ich über die FHEM Oberfläche ausgebe werden nicht ausgeführt. Was könnte da die Ursache sein?
    Habe schon alles neu gestartet, FHEM neu installiert, ...

    Danke für eure Rückmeldungen.

    Kommentar


    • andylox
      andylox kommentierte
      Kommentar bearbeiten
      Die Rollos sind aber mit dem KLF verbunden über die KLF Weboberfläche?

    • ROLE
      ROLE kommentierte
      Kommentar bearbeiten
      Sie werden angezeigt im der Weboberfläche. Ob sie dann auch verbunden sind weiß ich jetzt nicht. Ich hab sie über die Touch Fernbedienung eingespielt.

    • andylox
      andylox kommentierte
      Kommentar bearbeiten
      Kannst du sie denn über die KLF Webseite steuern?
  • ROLE
    Smart Home'r
    • 21.10.2018
    • 56

    #34
    Auf die Gefahr hin als komplett dumm dazustehen: Wie geht das? Ich habe auf der Oberfläche die beiden Fenster und die Rollos dazu. Und wenn ich sie identifizieren lasse bewegen sie sich. Von dort auf und ab bewegen hab ich noch nicht geschafft bzw probiert.

    Kommentar


    • andylox
      andylox kommentierte
      Kommentar bearbeiten
      Mhh hört sich richtig an, kenne es mit der Touchbedienung leider nicht
  • ROLE
    Smart Home'r
    • 21.10.2018
    • 56

    #35
    Zitat von ROLE
    Auf die Gefahr hin als komplett dumm dazustehen: Wie geht das? Ich habe auf der Oberfläche die beiden Fenster und die Rollos dazu. Und wenn ich sie identifizieren lasse bewegen sie sich. Von dort auf und ab bewegen hab ich noch nicht geschafft bzw probiert.
    Also es ist so, dass man im KLF WebUI ein Programm definieren muss und dann funktioniert alles. Also einmal zB. Rollladen auf und dann kann man alle Funktionen über FHEM und vermutlich dann auch über Loxone ausführen. Danke andylox!

    Kommentar

    • ogrimo30
      Extension Master
      • 27.03.2017
      • 174

      #36
      Zitat von ROLE
      Eventuell hilft ja das...

      Ich lese sehr interessiert mit, da ich das KLF auch schon in der Verpackung daheim liegen habe.
      Danke für den Tipp.

      Ich habe es nach Anleitung gemacht, bekomme aber leider keine Daten via UDP.

      Kennt sich wer genauer aus bei FHEM?
      Im Log sind ein Haufen Errors.

      Edit: Problem gelöst! Beim kopieren des Codes ist etwas falsch gelaufen. Die Daten werden jetzt übermittelt.
      Nur leider werden nur Daten übermittelt wenn ich den Befehl OFF bzw. Down verwende.

      Wie kann ich die Daten bei Änderung der Prozent (pct) übermitteln?
      Zuletzt geändert von ogrimo30; 03.02.2019, 14:55.

      Kommentar

      • ogrimo30
        Extension Master
        • 27.03.2017
        • 174

        #37
        Ich habe es jetzt mit der Anleitung und Hilfe von Michael von OwnSmarthome (https://ownsmarthome.de/2017/06/fhem...one-erweitern/) geschafft.
        Läuft sehr stabil und auch die Prozent Anzeige funktioniert.

        Folgender Code muss bei FHEM noch zusätzlich eingefügt werden:

        In die 99_myUtils.pm muss folgender Code:

        #RolloLoxone
        sub RolloLoxone($)
        {
        my ($device) = @_;
        my $pct=ReadingsVal(“$device”,”pct”,”-1″);

        UDP_Msg(“10.0.0.37” , “7000” , “$device: $pct”);
        }

        Und in die fhem.cfg:

        define RolloLoxone notify .*ct.* {RolloLoxone(“$NAME”)}

        In Loxone lautet die Befehlserkennung dann:
        Rollo: \v

        Danke an Michael von OwnSmarthome.de

        Beste Grüße,
        ogrimo30

        Kommentar

        • andylox
          Smart Home'r
          • 23.08.2018
          • 51

          #38
          Eine kleine Bitte des Entwicklers. Auis der FHEM Commanline bitte folgendes aufrufen:
          Code:
          fheminfo send
          dann tauchen eure Gerätenamen in der anonymen FHEM Statistik auf und ich weiß, was die Leute so nutzen.
          Die Statistik ist hier https://fhem.de/stats/statistics.html

          Kommentar

          • ROLE
            Smart Home'r
            • 21.10.2018
            • 56

            #39
            So jetzt ein kleines Howto für die Einbindung des KLF200 in Loxone über MQTT. In MQTT verwende ich die mqtt_generic_bridge.

            Ich habe FHEM und das MQTT Gateway auf einem Loxberry installiert.

            1. auf dem FHEM wird das KLF200 nach der Anleitung https://github.com/buennerbernd/fhem...ter/KLF200/2.0 installiert.
            1.1. Man merke sich <name> ganz genau. In meinem Beispiel lautet dieser Velux.
            1.2. Das Passwort ist das WIFI Passwort welches am KLF200 hinten aufgedruckt ist.
            1.3. Es werden dann in FHEM die KLF200Node erzeugt. In meinem Beispiel sind das Velux_0, Velux_1, Velux_2, Velux_3 da ich 2 Dachflächenfenster und 2 Rollläden dazu habe. Man merke sich auch diese Bezeichnungen.
            1.4 https://forum.fhem.de/index.php/topi...html#msg899779 und https://forum.fhem.de/index.php/topi...html#msg904704 geben Hinweise wie man auf der FHEM Oberfläche eine schöne Darstellung schafft.

            2. auf FHEM wird MQTT vorbereitet.
            2.1 das habe ich über die Anleitung auf https://www.loxwiki.eu/display/LOXBE...gs+weitergeben gelöst. Lediglich den Punkt 5 alle Readings weitergeben
            Code:
            attr mqttGeneric globalPublish *:topic={"fhemwohnzimmer/$device/$reading"}
            habe ich so nicht gemacht. Die weitere Vorgehensweise ist in Punkt 2.2. beschrieben.
            2.2 Über die Befehle für jedes Gerät, also bei mir Velux_0 bis Velux_3 kann man nunmehr das Publish und Subscribe erwirken.
            Code:
            attr Velux_0 mqttSubscribe pct:stopic=Terrasse/Velux_0/pct/set  
                attr Velux_0 mqttPublish pct:topic=Terrasse/Velux_0/pct/state
            Velux_0 ist in den Befehlen also auch für Velux_1 bis Velux_3 zu ersetzen und durchzuführen.

            3. am MQTT Gateway in Loxberry ist folgendes zu machen 3.1. Unbedingt auf der Settings Seite bei Miniserver to MQTT für den Port 11884 eingeben. 3.2. Unter Subscriptions ist in meinem Fall
            Code:
            Terrasse/Velux_0/pct/# Terrasse/Velux_1/pct/# Terrasse/Velux_2/pct/# Terrasse/Velux_3/pct/#
            eingegeben. Save and Apply drücken 3.3 Unter Incomming Overview sieht man erst was wenn sich mal der Status in FHEM geändert hat. Daher die Geräte mal öffnen und schließen. Bei mir heißen die Readings Terrasse/Velux_0/pct und Terrasse/Velux_0/pct/state

            4. MQTT to Loxone entsprechend der Anleitung https://www.loxwiki.eu/pages/viewpag...ageId=39356009 Die Schrägstriche aus den Readings sind durch Unterstriche zu ersetzen. Ein Beispiel Input lautet bei mir
            Code:
            Terrasse_Velux_2_pct_state
            Hier wird der aktuelle Prozentwert der Öffnung des angesprochenen Geräts angezeigt. Der Eingang darf nicht als Digitaleingang verwendet werden.

            5. Loxone to MQTT entsprechend der Anleitung https://www.loxwiki.eu/pages/viewpag...ageId=39356011 Die Schrägstriche bleiben Schrägstriche. Ein Beispielbefehl lautet bei mir also
            Code:
            Terrasse/Velux_2/pct/set 22
            Hier wird das angeschlossene Gerät auf 22 % gefahren Ich hoffe damit etwas geholfen zu haben.
            Zuletzt geändert von ROLE; 17.02.2019, 16:42.

            Kommentar


            • ROLE
              ROLE kommentierte
              Kommentar bearbeiten
              Shen bitte ich freue mich, dass es hilft.
              Zuletzt geändert von ROLE; 28.07.2019, 10:56.

            • larsdeusex
              larsdeusex kommentierte
              Kommentar bearbeiten
              Vielen Dank für die Anleitung. Hat mir sehr geholfen.
              Eine Frage noch: Wie realisiert man am besten die schrittweise Bewegung aus dem Automatik-Jaulosie-Baustein heraus, sprich den set Wert immer höher/niedriger weitergibt solange man drückt.

            • steelpan
              steelpan kommentierte
              Kommentar bearbeiten
              Hello, I installed the KLF200, and the FHEM plugin and MQTT Gateway according to the instructions in item "39. Most functionallity seems to work. In FHEM all commands work.

              I also get readings in the loxone config without problem.
              When I use a Virtual output to send the command Miniserver/Velux_3/pct/set 0 from the miniserver to FHEM, the value of the reading pct changes to 0 in the KLF200NODE device Velux_3 but the shutter doesn't move. If I generate the command in FHEM everything works.

              I used
              attr Velux_3 mqttSubscribe pct:topic=Miniserver/Velux_3/pct/set.

              Anyone has an idea what can go wrong?

              You can answer in German, I understand it but can't express myself accurately in your language.


              solved: I had to use pct:stopic instead of pct:topic...
              Zuletzt geändert von steelpan; 14.01.2020, 18:31.
          • Stefan244
            Smart Home'r
            • 10.09.2015
            • 56

            #40
            Ich habe es mit der Loxone <-> Node JS (auf der NAS) <-> Velux versucht, funktioniert auch. Leider sind die Responsezeiten für micht unbrauchbar. Sofern man die Connection zum KLF nicht offen hält dauert der TLS Handshake ca. 3 Sekunden (laut Wireshark). Für mich ist die Lösung so zumindest gestorben. Der TLS Handshake scheint auch direkt vom Miniserver heraus zu funktionieren. Vielleicht schaut sich das mal wer an. Für mich lohnt es sich leider mit den 3 Sekunden nicht...

            Kommentar


            • michael287
              michael287 kommentierte
              Kommentar bearbeiten
              Nur aus reinem Interesse: Warum sind dir die 3 Sekunden zu lang? Was läuft denn bei dir zeitkritisches?
              Dürfte doch bei einem Dachfenster nicht do schlimm sein oder?
              VG
          • challo
            LoxBus Spammer
            • 21.09.2016
            • 372

            #41
            Hallo zusammen,
            ich überlege gerade ob es die Möglichkeit gibt die aktuelle Rolladenposition an Loxone zurückzumelden und diese auch mit dem Automatikbaustein zu verarbeiten. Der Wert kann ja von dem KLF ausgelesen werden. Bei mir ist es möglich die Rolläden weiterhin mit der VELUX Fernbedienung zu steuern. Dann hat Loxone keine Information über diese Bewegung.
            Habt ihr bereits ideen?

            Kommentar


            • Shen
              Shen kommentierte
              Kommentar bearbeiten
              Das würde mich auch sehr interessieren. Derzeit liegen die Taster nutzlos herum, da nicht mit meiner Loxone-Config kompatibel 😞

            • ogrimo30
              ogrimo30 kommentierte
              Kommentar bearbeiten
              Ich habe die Rückmeldung via UDP gelöst.
              Siehe Beitrag #37 https://www.loxforum.com/forum/hardw...092#post189092

              Ich bediene meine Dachfenster nur mehr via Loxone.
              Lg

            • tom37
              tom37 kommentierte
              Kommentar bearbeiten
              Bei mir funktioniert jetzt auch alles mit KLF200-FHEM-MQTT-Loxone, aber ich frage mich auch, wie ich die Position eines Rollladen in die Automatikjalousie zurückmelden kann, wenn der Rollladen direkt mit einer Velux Fernbedienung bedient wurde. Ich kann zwar den Stand des Rollladens per UDP an Loxone übertragen, aber was dann? Wie kann man dem Automatikjalousie-Baustein die Position mitteilen?
          • phil84
            Smart Home'r
            • 05.12.2017
            • 62

            #42
            Hallo, ich konnte mich heute um meine offenen Baustellen kümmern. Ich habe meine Dachfenster nun im KLF200 drin, habe diese auch in FHEM eingebunden und kann sie von dort öffnen und schließen. Leider weiß ich von da an nicht mehr weiter (also Einbindung in Loxone). Ich habe gelesen, dass nun Codes für UDP-Befehle in FHEM eingebunden werden müssen. Aber was nacheinander alles getan werden muss habe ich nicht verstanden. Könnt ihr mir bitte weiterhelfen?

            Danke

            Philipp

            Kommentar

          • phil84
            Smart Home'r
            • 05.12.2017
            • 62

            #43
            Schritt 1:

            Die UDP-Kommunikation habe ich eingefügt. Allerdings gibt es bei mir keine Datei, die “99_myutils.pm” heißt, sondern nur die "myUtilsTemplate.pm". Ich gehe davon aus, dass es die richtige ist, oder? Wenn ja, dann Haken dran.

            Schritt 2:

            Der nächste Schritt: UDP-Befehle aus FHEM senden. Das gebe ich einfach in die Kommandoleiste ein, richtig? Muss ich da irgendwas anpassen? Anbei meine KLF200 Node Klicke auf die Grafik für eine vergrößerte Ansicht

Name: KLF200 Node.JPG
Ansichten: 2356
Größe: 39,9 KB
ID: 208846Klicke auf die Grafik für eine vergrößerte Ansicht

Name: KLF200 Node.JPG
Ansichten: 2229
Größe: 39,9 KB
ID: 208848

            Schritt 3:
            Nun muss man wieder in "99_myutils.pm" etwas einfügen. Bei mir wahrscheinlich "myUtilsTemplate.pm" (s. Schritt 2). Anpassungen der IP-Adresse habe ich gemacht. Nun kommt folgende Fehlermeldung beim speichern: ERROR:

            Too many arguments for main::UDP_Msg at ./FHEM/myUtilsTemplate.pm line 52, near ""$device: $state $pct")" Too many arguments for main::UDP_Msg at ./FHEM/myUtilsTemplate.pm line 93, near ""$device: $state $alive $battery $sabotage")" Too many arguments for main::UDP_Msg at ./FHEM/myUtilsTemplate.pm line 133, near ""$device: $measuredTemp $humidity $alive $battery $desiredTemp $controlMode $dewpoint $actuator")" Too many arguments for main::UDP_Msg at ./FHEM/myUtilsTemplate.pm line 140, near ""$device: $energy")" Too many arguments for main::UDP_Msg at ./FHEM/myUtilsTemplate.pm line 147, near ""$device: $energy")" Too many arguments for main::UDP_Msg at ./FHEM/myUtilsTemplate.pm line 157, near ""$device: $motion")" Too many arguments for main::UDP_Msg at ./FHEM/myUtilsTemplate.pm line 165, near ""$device: $temperature $humidity")"

            Angehängte Dateien

            Kommentar


            • ogrimo30
              ogrimo30 kommentierte
              Kommentar bearbeiten
              myUtilsTemplate.pm ist nur eine Vorlage.
              Bitte diese in 99_myutils.pm umbenennen.

            • phil84
              phil84 kommentierte
              Kommentar bearbeiten
              ogrimo30. Danke, habe es als 99_myutils.pm gespeichert. Allerdings kommt immer noch die Fehlermeldung "too many arguments". Weißt du woran das liegt?

            • ogrimo30
              ogrimo30 kommentierte
              Kommentar bearbeiten
              Leider kenne ich mich zu wenig aus.
              Bei mir hat es sowie in der Anleitung von ownsmarthome.de auf Anhieb geklappt.
          • Christian Fenzl
            Lebende Foren Legende
            • 31.08.2015
            • 11225

            #44
            Tipp in FHEM oben mal „update“ ein, vielleicht ist dein FHEM einfach zu alt.
            Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

            Kommentar


            • phil84
              phil84 kommentierte
              Kommentar bearbeiten
              Danke, ogrimo30. Habe es soweit übernommen und meine IP-Adresse angepasst. Allerdings kommt wieder der Fehler bei den Zeilen

              UDP_Msg("192.168.178.3" , "7002" , "$device: $pct $state");

            • phil84
              phil84 kommentierte
              Kommentar bearbeiten
              Kann mir bitte jemand weiterhelfen wieso dieser Fehler kommt? Danke.

            • Shen
              Shen kommentierte
              Kommentar bearbeiten
              Wenn halt keiner eine Lösung hat, versuch den anderen Ansatz in Beitrag 39. Bei mir läuft das super.
          • phil84
            Smart Home'r
            • 05.12.2017
            • 62

            #45
            Ich habe es nun mit MQTT probiert wie in #39 beschrieben. In FHEM sind alle Fenster und Rollläden drin und können darüber auch gesteuert werden. Allerdings klappt die Kommunikation mit MQTT nicht. im MQTT Plugin unter "Subscription" kommt für die ersten drei Eingaben ein Syntaxfehler (s. Anhang). Wieso weiß ich nicht. Leider wird auch unter "Incoming Overview" keine Signale angezeigt (außer beim einrichten wurde dort UDP-Transmission einmal etwas bzgl. Verbindungstest angezeigt). Habt ihr eine Idee woran es liegen könnte?
            Angehängte Dateien

            Kommentar

            Lädt...