IKEA Trådfri Modul

Begonnen von Peter Kappelt, 16 April 2017, 15:07:07

Vorheriges Thema - Nächstes Thema

Clyde

Das mit der Update-Fähigkeit ist ja sehr positiv. Dann kann man ja schon unbesorgt ein Grundsortiment anschaffen.

Welches Stripe-Steuergerät wäre denn potentiell verdächtig, an das Tradfri-Gateway anlernbar zu werden?. Ich habe da leider keinen Überblick.
2x Cubietruck, CUL868, HM-USB-CFG2
FS20, FHT, KS300, HM, MAX, Tradfri

Peter Kappelt

Guten Tag,

das mit dem möglichen Over-the-Air Updates kann ich bestätigen. Sowohl Matthew Garret (http://collab.debian.net/portal/planet-debian/matthew-garrett-a-quick-look-at-the-ikea-tradfri-lighting-platform), als auch ich, haben eine IKEA Update-Seite in den Parametern entdeckt: http://fw.ota.homesmart.ikea.net/feed/version_info.json . Prinzipiell sind Updates allerdings möglich.
So eine Update-Möglichkeit schreit ja auch nach modifizierter Open-Source-Firmare für die Lampen und Steuergeräte. Vielleicht wird sich da demnächst irgendwas in den Bastler-Communities tun. Eine Firmware für die Fernbedienungen, mit denen man mehrere Lampen unabhängig voneinander kontrollieren kann, wäre schon recht cool.

Ganz bin ich in der Thematik zwar nicht drin, allerdings frage ich mich, was Philipps zur geplanten Kompatibilität sagt? Ich würde als Hue-Hersteller mit aller Kraft verhindern wollen, dass meine Geräte mit Lampen kompatibel sind, die ein ganzes Stück günstiger sind als meine - und qualitativ/ funktional ähnlich sind. So richtig kann ich mir hier eine herstellerübergreifende Lösung nicht vorstellen, aber ich lasse mich gerne überraschen.

Zum Ansteuern von LED-Streifen kenne ich nur den Hersteller "dresden elektronik". So ein Gerät kostet wohl ca. 60€ und ist Hue-kompatibel, Trådfri-Unterstützung ist noch nicht angegeben: https://www.dresden-elektronik.de/funktechnik/solutions/wireless-light-control/wireless-ballasts/

Übrigens: Die Moduldokumentation ist auch gerade in Arbeit, von der 31_TradfriGroup ist schon eine im Repository.

Grüße,
Peter

blitzcom

Hallo Peter,
ich bin schon recht gespannt darauf.
Mal schauen, wann ich das Modul einrichte.
Eine kurze Frage dazu: Leider erlaubt es die Tradfri App nicht mehrere Gruppe zu einer Gruppe zu kombinieren. (Beispiel Gruppe 1 & 2 & 3 zu Gruppe 4 kombinieren). Denn dann könnte man eine FB auf die Gruppe 4 binden und entsprechend die Gruppen zusammen bedienen.
Wie kann man im Modul bei einem Schaltbefehl alle Gruppen zeitgleich schalten. Da es derzeit m.E. nach kein sinnvolle FB hierfür gibt, würde ich das dann entsprechend über die FHEM Oberfläche ein-ausschalten.

Ab wann schätzt Du ist das Modul verwendbar?
Oder lässt es sich bereits einsetzen?
mfg
Mike

Peter Kappelt

Hi Mike,

prinzipiell ist das Modul so wie es ist verwendbar. Ich gebe keine Änderungen in die Repository, wenn da noch bekannte Bugs drin sind.

An der Stabilität kann ich auch nicht klagen, ich habe es bisher nicht geschafft, FHEM mittels dieses Modules zum Absturz zu bringen.
Allerdings sind alle vorhandenen Funktionen sehr schreiborientiert, ich habe das Hauptaugenmerk auf das Steuern der Lampen gesetzt (nicht das Auslesen der aktuellen Informationen).

Habe ich es richtig verstanden? Dein FHEM-Setup soll so aussehen:


                                                            +-+Grp1+--+...
Alles-                 TradfriGroup     Notify bei Änderung |
Aus-   +-+ Grp. 4 +--+ für Grp. 4  +---+in Gruppe 4:       +--+Grp2+--+...
FB                                      Setze TradfriGroup  |
                                        1, 2, 3             +-+Grp3+--+...



Das würde momentan nicht gehen. Den Status von Gruppen (also Ein/ Aus, Helligkeit, ...) kann man überhaupt nicht auslesen, nur den der zugehörigen Geräte. Das kann mein Modul noch nicht.
Auch wenn ich die Funktion implementiert habe, wirst du nicht glücklich werden. Das Gateway sendet eine Statusänderung der Fernbedienung erst nach ca. 3 Sekunden. Das Notify würde somit auch erst drei Sekunden, nachdem du die Fernbedienung gedrückt hast, ausgelöst werden.

Wenn du die drei Gruppen aber über einen FHEM-Switch schalten möchtest, wäre das ohne Probleme schon möglich. Da würdest du ein Notify definieren: define allesAus notify schalteAllesAus set Grp1,Grp2,Grp3 $EVTPART1, wobei schalteAllesAus ein Dummy-Schalter ist.

Eine Hoffnung wäre vielleicht, dass man Gruppen mit Geräten definieren kann, die bereits in anderen Grupen sind. (Du also eine Alles-Aus Gruppe hast, in der alle Geräte nochmal sind.)
Das probiere ich noch aus.

Grüße,
Peter

blitzcom

Hallo Peter,
genau so.
Möglicherweise wird das in der App ja noch angepasst, aber bis dahin ist eine Funktion, die alle Gruppen mit allen darin liegenden Leuchten schon wichtig.
Im Idealfall gruppiert man sich die Leuchten oder vorhanden Gruppen unter FHEM neu und steuert die dann auch über FHEM.

Die Lampen über Notify zu steuern ist soweit klar. Das hätte ich vermutlich auch gemacht, allerdings fehlt doch dann in dem Fall jegliche Funktion zum Dimmen einer Gruppe (mehrerer Leuchten) oder auch die Umschaltung der Lichtfarbe, oder?
Das macht dann erst den Clou aus, wenn ich alle Lampen absolut gleichzeitig verändern kann.

Ich hofe, ich drücke mich da so halbwegs verständlich aus:-) Gar nicht so einfach zu erklären.

mfg
Mike

PS:
Werde dann man das Modul testen.

CoolTux

Dafür könnte man strucrure nehmen oder wenn FHEM schalten soll Lightszene
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Peter Kappelt

Gruppen dimmen geht schon, Farbtemperatur nicht (da ich keine Lampe hab, die das kann)

Peter Kappelt

So Mike,

ich habe es geschafft, ein Gerät mittels meiner Software in zwei Gruppen zu packen. Es reagiert somit auf Befehle, die von beiden Gruppen gesendet wurden. Damit könnte deine gewünschte Funktionalität realisiert werden. Du müsstest eine neue Fernbedienung mit dem Gateway pairen und die dann in eine neue Gruppe packen. Zu der Gruppe kannst du dann mit (einer künftigen Funktion) meinem Modul Geräte zu der Gruppe hinzufügen, die bereits in Anderen sind (also bei dir vermutlich alle).

Einen Haken gibt es allerdings an der Sache: Wenn ein Gerät in mehreren Gruppen ist, spielt die App bezüglich diesen Gruppen verrückt. Du kannst das Gerät, dass in beiden Gruppen ist, mit der App nicht mehr zuverlässig steuern. Mit meinem FHEM-Modul geht das allerdings - da müsstest du abwägen, wo die Prioritäten liegen.

Vielleicht kommt das ja auch noch als Feature/ Bugfix von IKEA.

Grüße,
Peter

blitzcom

Hallo Peter,

Modul ist eingerichtet und funktioniert. Ich musste mir zwar noch unter Jessie Autoconf holen, dann lief es aber durch.
Solltest Du ein Howto dazuschreiben, damit klappt es dann.
Ansonsten lief die Einbindung in FHEM exakt so wie es da beschrieben steht.
Die Schaltung mehrerer Gruppen habe ich jetzt über Lightscene erledigt, Funktioniert auch so.

Was och helfen würde, wenn man die Lampen entsprechend mit einen Dimmer Schieber versehen könnte. Oder das geht bereits, aber ich weiß nicht wie.

Alles in einem aber schon mal perfekt!
mfg
Mike

Clyde

#24
Mit dem Set spart man 10€. Ist als Einstieg gut geeignet. http://www.ikea.com/de/de/catalog/products/80338960/

Hab jetzt Hardware zum Testen und wollte das Modul einrichten. Es ist in FHEM intergriert bekommt aber keinen Status.
Ein get TradfriGW deviceList erzeugt eine Fehlermeldung

"Error while trying to fetch devices!"

Bei den Groups das gleiche. Ich habe das Gateway mit 2 980lm Lampen in 2 Gruppen eingerichtet. Die App funktioniert.


Internals:
   CFGFN
   DEF        192.168.2.163 RaX...
   NAME       TradfriGW
   NR         56530
   STATE      ???
   TYPE       TradfriGateway
   canConnect 0
   gatewayAddress 192.168.2.163
   gatewaySecret RaXqgLkR...
   name       TradfriGW
Attributes:
   group      Andere
   room       AMAD


Hab es mehrmals neu eingerichtet, komme aber so nicht weiter.

autoconf hab ich auch probiert, ändert aber nichts.
Woran kann es liegen?
2x Cubietruck, CUL868, HM-USB-CFG2
FS20, FHT, KS300, HM, MAX, Tradfri

Peter Kappelt

Hallo,

entschuldige bitte die Probleme - natürlich kann ich auf meinen Entwicklungssystemen nicht alle Szenarios durchprobieren.

Gehe mal bitte folgende Punkte durch:


  • Was gibt get coapClientVersion auf dem Gateway aus?
  • Hast du die Perl JSON-Module installiert? sudo apt-get install libjson-perl
  • Welche Perl-Version benutzt du? Mir ist aufgefallen, dass ich wohl ein Feature nutze, was erst in Perl 5.10 eingeführt wurde: perl -v
  • Steht irgendetwas in der Log-File, auch beim FHEM-Neustart?
  • Rufe mal bitte auf der Kommandozeile den folgenden Befehl aus, dabei bitte deine Daten eintragen: coap-client -u Client_identity -k Sicherheitscode -v 1 -m GET coaps://ip-des-gateways:5684/15001

Grüße,
Peter

Clyde

    Zitat von: Peter Kappelt am 23 April 2017, 10:00:14
    • Was gibt get coapClientVersion auf dem Gateway aus?

    UNKNOWN

    • Hast du die Perl JSON-Module installiert? sudo apt-get install libjson-perl

    libjson-perl is already the newest version.

    • Welche Perl-Version benutzt du? Mir ist aufgefallen, dass ich wohl ein Feature nutze, was erst in Perl 5.10 eingeführt wurde: perl -v

    This is perl 5, version 14, subversion 2 (v5.14.2)

    • Steht irgendetwas in der Log-File, auch beim FHEM-Neustart?


    • Rufe mal bitte auf der Kommandozeile den folgenden Befehl aus, dabei bitte deine Daten eintragen: coap-client -u Client_identity -k Sicherheitscode -v 1 -m GET coaps://ip-des-gateways:5684/15001

    Ich verstehe den Parameter -u Client_identity nicht? Was setze ich dort?

    2x Cubietruck, CUL868, HM-USB-CFG2
    FS20, FHT, KS300, HM, MAX, Tradfri

    Peter Kappelt

    "Client_identity" lässt du einfach als Text stehen, nichts einsetzen.

    Das sieht so aus, als würde die Software den coap-client nicht finden. Hast du libcoap kompilliert und installiert, wie in der Anleitung beschrieben?


    sudo apt-get install libtool

    git clone --recursive https://github.com/obgm/libcoap.git
    cd libcoap
    git checkout dtls
    git submodule update --init --recursive
    ./autogen.sh
    ./configure --disable-documentation --disable-shared
    make
    sudo make install

    Clyde

    Ja, lief soweit ich das beurteilen kann durch.

    root@cubietruck:/# ls
    bin   dev  fhem_60  lib      lost+found  mnt  proc  run   selinux  sys  usr
    boot  etc  home     libcoap  media       opt  root  sbin  srv      tmp  var
    root@cubietruck:/# git clone --recursive https://github.com/obgm/libcoap.git
    fatal: destination path 'libcoap' already exists and is not an empty directory.
    root@cubietruck:/# cd libcoap
    root@cubietruck:/libcoap# git checkout dtls
    Already on 'dtls'
    root@cubietruck:/libcoap# coap-client -u Client_identity -k RaX... -v 1 -m GET coaps://192.168.2.163:5684/15001
    v:1 t:CON c:GET i:e158 {} [ ]
    decrypt_verify(): found 24 bytes cleartext
    decrypt_verify(): found 30 bytes cleartext
    [65536,65537,65538]
    root@cubietruck:/libcoap#



    Mir sagt das jetzt leider nichts.
    2x Cubietruck, CUL868, HM-USB-CFG2
    FS20, FHT, KS300, HM, MAX, Tradfri

    Peter Kappelt

    #29
    Mhh, seltsam. Das, was beim Aufruf zurück kommt ist korrekt und zu erwarten.

    Die Fehlermeldung, die du bekommst, bedeutet, dass FHEM das Kommando "coap-client" nicht ausführen kann, bzw. das Programm keinen Text ausgibt (was es aber eigentlich tut).

    In der Log-Datei stand nichts drinne?

    Noch ein Versuch:


    cd /
    echo $PATH
    which coap-client
    perl -e 'use strict; use warnings; print `coap-client -u Client_identity -k Sicherheitscode -v 1 -m GET coaps://IP-des-Gateways:5684/15001 2>&1`;'


    Damit machst du quasi genau dasselbe wie vorhin, nur dass du den Client mit Perl aufrufst (wie im Modul).

    Tut mir leid das du Probleme hast. So ein Fehlerbild habe ich noch nicht gesehen.

    Peter.