Autor Thema: Vorstellung: IKEA Trådfri Modul  (Gelesen 12380 mal)

Offline dtavb

  • New Member
  • *
  • Beiträge: 16
Antw:Vorstellung: IKEA Trådfri Modul
« Antwort #150 am: 16 Juli 2017, 22:09:32 »
Hoi Ihr,

@Peter: vielen lieben Dank für die Unterstützung!
Schaltungen funktionieren tadellos.

Was mir nun beim Durchklicken der get-Methoden aufgefallen ist:
Gateway "get devicelist": es wird nur noch ein Array mit den IDs geliefert.
Die Beschreibungen der Lampen etc. fehlen.
Schaue ich im Java-Client nach, ist dem auch. Der Java-Client liefert nur noch die IDs:
[TcpServerThread] Received data: coapGet|coaps://192.168.192.141/15001
[TcpServerThread] Command "coapGet" on "coaps://192.168.192.141/15001" returned "[65538,65536,65537,65540,65539]"


Genauso auch bei den Gruppen, nur die Gruppen-ID wird zurückgliefert.

Wenn das Gateway States zurückmeldet, sind die Beschreibungen dabei:
[TcpServerThread] New state for observed resource coaps://192.168.192.141/15001/65537: {"5750":2,"9001":"Bulp1","3":{"0":"IKEA of Sweden","2":"","1":"TRADFRI bulb E27 WS opal 980lm","3":"1.1.1.1-5.7.2.0","6":1},"9002":1499502983,"9020":1500227033,"9003":65537,"9054":0,"9019":1,"3311":[{"5850":1,"5851":254,"5707":0,"5708":0,"5709":24930,"5710":24694,"5711":250,"5706":"f5faf6","9003":0}]}
[TcpServerThread] Command "coapPutJSON" on "coaps://192.168.192.141/15001/65538" returned ""
[TcpServerThread] New state for observed resource coaps://192.168.192.141/15001/65538: {"5750":2,"9001":"Bulp2","3":{"0":"IKEA of Sweden","2":"","1":"TRADFRI bulb E27 WS opal 980lm","3":"1.1.1.1-5.7.2.0","6":1},"9002":1499505749,"9020":1500233511,"9003":65538,"9054":0,"9019":1,"3311":[{"5850":1,"5851":254,"5707":0,"5708":0,"5709":24930,"5710":24694,"5711":250,"5706":"f5faf6","9003":0}]}


Frage bzgl. Java-Client:
@Peter:
belässt Du es so, dass man manuell den Java-Client starten muss?
Ein kleines HowTo wäre nicht schlecht wie man das bei System-Reboot wieder automatisiert anstarten kann.

@Brause
Ich würde den Befehl als bash-script bei Boot ausführen lassen. Wie hast Du das getan?

Gerne schreibe ich das HowTo, würde nur gerne Eure Wege zum Autostart erst kennenlernen.

Grüsse,
dtavb

Offline Peter Kappelt

  • New Member
  • *
  • Beiträge: 38
Antw:Vorstellung: IKEA Trådfri Modul
« Antwort #151 am: 16 Juli 2017, 22:57:31 »
Hallo,

Bitteschön!

Bei den get deviceList und get groupList bin ich erstmal einen Schritt zurück gegangen. Die Tatsache ist mir bewusst und das Feature wird wieder re-implementiert werden. Ich suche allerdings noch nach einer Möglichkeit, die notwendigen blockierenden Aufrufe effizienter zu gestalten. Ein Gedanke ist, dass ich mehr aufgaben an den Java-Client "outsource" und dem die Arbeit überlasse - denn der unterstützt auch parallele Abfragen und Ähnliches. Also quasi ein Kommando in der Form "getGroupList", welches an den Java-Client gesendet wird und der die notwendige Verarbeitung schneller macht. Mal schauen.

Wie schon gesagt: Es ist sehr ärgerlich, dass es für Perl keine CoAP-Module gibt. So eine native Lösung wäre das Idealste. Mit dem Gedanken, das CoAP-Perl-Modul selbst bereitzustellen, habe ich auch schon gespielt - aber da scheue ich vor (nicht genug Hardware zum Testen, Zeitverbrauch, Grenzen von Programmierkenntnissen, ...).

Wie auch immer - Ja, momentan wollte ich keine Autostartskripte mit der Beta verteilen. Bedenkt bitte auch, dass mindestens noch eine Änderung im Aufruf des Java-Clients folgt. Das hängt einfach damit zusammen, dass ich verschiedene Möglichkeiten zur verkapselten Verteilung der Software teste. Der Nutzer soll sich idealerweise nicht um die Installation des JRE kümmern, andererseits soll auch nicht an alle Nutzer prophylaktisch ein JRE verteilt werden. Wenn ich dafür eine Lösung habe, will ich das Starten und Stoppen des Clients durch FHEM selbst automatisieren, i.e. ein FHEM Start führt auch zum Start des Clients.
Ziel ist es, dass sich die tatsächliche Installation auf das Hinzufügen der Repository und ein "update" reduziert.

Den Client per One-Liner im Hintergrund laufen zu lassen funktioniert z.B. so, vielleicht gibt es einfachere Möglichkeiten:
screen -dmS fhem_tradfri_client && screen -r fhem_tradfri_client -p 0 -X stuff $"java -jar /voller/Pfad/zum/kCoAPSocket.jar -s psk \n"Darin wirklich nur den Pfad für den Client und den PSK ersetzen.

Das ganze kann dann beispielsweise in die Crontab-Datei, sollte so gehen, aber nicht getestet:
pi@hcpi01:~ $ cat /etc/crontab
@reboot screen -dmS fhem_tradfri_client && screen -r fhem_tradfri_client -p 0 -X stuff $"java -jar /voller/Pfad/zum/kCoAPSocket.jar -s psk \n"

Wenn du das ganze austestest und noch ein paar Worte zu schreibst könnte ich das mit in die Anleitung aufnehmen.

Schönen Abend,
Peter

Offline Brause

  • Jr. Member
  • **
  • Beiträge: 73
Antw:Vorstellung: IKEA Trådfri Modul
« Antwort #152 am: 17 Juli 2017, 16:42:13 »
Hoi

Ich habe den Autostart über ein rc.d-Script gelöst (praktische äquivalent zum FHEM-Start)

#!/bin/sh

### BEGIN INIT INFO
# Provides:             tradfri
# Required-Start:       $local_fs $remote_fs networking
# Required-Stop:        $local_fs $remote_fs networking
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    FHEM - Tradfri-JAVA
# Description: Start / Stop / Status or Restart the FHEM - Tradfri-JAVA
### END INIT INFO

case "$1" in                                                                                                                                                                         
'start')
echo "Starting FHEM - Tradfri-JAVA"
screen -dmS Tradfri /opt/java-Tradfri.sh
RETVAL=$?
;;                                                                                                                                     
'stop')
pkill -USR1 -U fhem java                                                                                                                     
    echo " ... done. FHEM - Tradfri-JAVA Stopped."
    RETVAL=$?
;;
'restart')
pkill -USR1 -U fhem java
    echo " Closed Process, Restarting"
screen -dmS Tradfri /opt/java-Tradfri.sh
echo " ... done. FHEM - Tradfri-JAVA Restarted"
RETVAL=$?
;;
'status')
        cnt=`ps -ef | grep "java -jar" | grep -v grep | wc -l`
        if [ "$cnt" -eq "0" ] ; then
                echo "FHEM - Tradfri-JAVA is not running"
        else
                echo "FHEM - Tradfri-JAVA is running"
        fi
        ;;
*)
echo "Usage: $0 { start | stop | status | restart }"
RETVAL=1
;;
esac
exit $RETVAL



in der "java-Tradfri.sh" erfolg dann der JAVA-Start
#! /bin/bash

cd /opt/Tradfri-FHEM/kCoAPSocket/kCoAPSocket
su fhem -c "java -jar kCoAPSocket.jar -s psk"

Der Einzeiler von Peter ist eine gute Idee, den könnte man prima direkt im rc.d-Script einbauen.
Da ich den screen nicht direkt mit root-Rechten laufen lassen wollte, ist bei mir halt noch der "su fhem" eingebaut.
Nachteil meines Startscripts ist das man sich anschließend nicht mehr in den screen einlogen kann, um zu schauen was da drin so alles protokolliert wird.

Gruss Brause

FHEM auf NUC, HomeMatic, Netatmo, IT una.

Offline Brause

  • Jr. Member
  • **
  • Beiträge: 73
Antw:Vorstellung: IKEA Trådfri Modul
« Antwort #153 am: 17 Juli 2017, 19:15:31 »
Eine Frage hätte ich noch

Peter hast du eventuell auch geplant die SetExtensions irgendwann mit einzubauen??
Ein "on-for-timer" und "toggle" für Device und Group wären echt noch Klasse.

Gruss Brause
FHEM auf NUC, HomeMatic, Netatmo, IT una.

Offline Peter Kappelt

  • New Member
  • *
  • Beiträge: 38
Antw:Vorstellung: IKEA Trådfri Modul
« Antwort #154 am: 17 Juli 2017, 19:44:24 »
Du kannst mal probieren, die Ausgabe des Clients in eine Logdatei zu schreiben, so müsste es gehen:
su fhem -c "java -jar kCoAPSocket.jar -s psk >> /tmp/deineLogdatei"
Geplant ist vieles, die Set Extensions stehen schon auf der Liste. Die höchste Prio ist aber momentan für mich, die Beta stabil zu bekommen und sinnvoll zu verteilen.

An Alle, die die Beta nutzen: Bitte passt auf, wenn ihr das nächste mal den Java-Client updatet. Die Jar-Datei heißt nun "kCoAPSocket-latest.jar", nicht mehr "kCoAPSocket.jar".

Offline Peter Kappelt

  • New Member
  • *
  • Beiträge: 38
Antw:Vorstellung: IKEA Trådfri Modul
« Antwort #155 am: 20 Juli 2017, 22:43:44 »
An die Nutzer der Beta: Bitte beachtet, dass mit dem neusten Update ein weiterer Parameter (-g) erforderlich ist. Dieser definiert die Adresse des Gateways und muss, bis FHEM das automatisch erledigt, beim Start und Stopp des Clients angegeben werden. Beispielsweise:
java -jar kCoAPSocket-latest.jar -s Code -g 192.168.2.65
Außerdem habe ich noch eine Mailgruppe eingerichtet, in der ich künftig solche wichtigen Änderungen an Beta-Tester verteilen werde. Falls ihr sofortige Info über die Updates wünscht könnt ihr der Gruppe gerne hier beitreten: https://groups.google.com/group/tradfri-betatester/subscribe

Offline Brause

  • Jr. Member
  • **
  • Beiträge: 73
Antw:Vorstellung: IKEA Trådfri Modul
« Antwort #156 am: 21 Juli 2017, 03:15:19 »
Guten Morgen

nur kurze Rückmeldung.
Habe gerade das update gemacht.
- Startscript den neuen Parameter (und Log-File) hinzu
- git pull / git submodule update --remote
- Dank meines Startscripts ein "service tradfri restart"
- knappe Minute später erfolge automatisch das reopen vom Getaway-Device

- Alles läuft - ohne Probleme

Euch einen angenehmen Freu-tag
Gruss Brause
FHEM auf NUC, HomeMatic, Netatmo, IT una.

Online Fillip

  • New Member
  • *
  • Beiträge: 24
    • Blog
Antw:Vorstellung: IKEA Trådfri Modul
« Antwort #157 am: 23 Juli 2017, 12:45:19 »
Hallo zusammen,
ich nutze auch schon seit längerem die Tradfri Leuchten in FHEM, anfangs mit einem Skript zusammen gebastelt welches ich mal im Netz gefunden habe. Nun habe / musste ich meine FHEM installation neu machen. Da bin ich dann auch gleich auf das Modul von Peter umgestiegen - was soll ich sagen, super Arbeit!
Nur zwei fragen hätte ich (aktuell)
- Wie verhält sich das mit dem AutoUpdateIntervatt? Sind das angaben in sekunden oder einfach nur 1 für an? Hatte eben etwas getetstet, aber kam keine Änderung...
- Nutz jemand hier das ganze in Verbindung mit der Homebridge? Lässt sich das Gerät (die Lampe) so einbinden, das ich über die Homebridge, Ein/Aus, Helligkeit (und eventuell Farbe) stellen kann? Habe aktuell das GenericDeviceType auf Light stehen, damit geht halt nur An/Aus

P.S. @Peter, die E-Mail von mir, bzgl des BWM kannst du ignorieren, bin ja nun hier in dem Thread gelanden und hab schon was darüber gelesenn  ;)
FHEM auf RaspberryPi, Speedport Hybrid, FritzBox 7490, Snoff, ATV 3, ATV4, FireTV Stick, Echo, Echo Dot mit FHEM Anbindung, Homebridge

Offline FunkOdyssey

  • Sr. Member
  • ****
  • Beiträge: 879
Antw:Vorstellung: IKEA Trådfri Modul
« Antwort #158 am: Gestern um 13:52:19 »
Offtopic:

Ich habe die (große) Ikea Tradfri Fernbedienung. Mit dieser kann man anscheinend nur zwischen den drei Farbmodi hin- und herwechseln wie auch die Helligkeit regulieren.
Kann man damit gar nicht zwischen den individuellen und vorkonfigurierten Szenen wechseln? Habe ich etwas übersehen?

Danke.
FHEM@RasPi

Online Mickey Mouse

  • Jr. Member
  • **
  • Beiträge: 61
Antw:Vorstellung: IKEA Trådfri Modul
« Antwort #159 am: Gestern um 16:26:55 »
soviel ich weiß sind die Funktionen auf den von dir angesprochenen Umfang begrenzt :(

u.a. deshalb ist ja dieses Modul so wertvoll!
ich habe zwar die Ikea FBs um "im Notfall unabhängig von allem" zu sein, aber durch die Umrüstung mehrerer (eigentlich fast aller ;) ) Räume auf Trådfri sind dadurch die alten FS20 Display Taster https://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=35404 "über" und können jetzt irgendwelche Dummy FS20 absenden, die FHEM in die entsprechenden Trådfri Befehle umsetzt (FS20 CUL muss natürlich vorhandne sein). Damit ist dann (nahezu) alles an Spielereien möglich was einem so an Unsinn in den Kopf kommt ;)

Offline FunkOdyssey

  • Sr. Member
  • ****
  • Beiträge: 879
Antw:Vorstellung: IKEA Trådfri Modul
« Antwort #160 am: Gestern um 16:34:58 »
Ich habe Homematic und Z-Wave im Einsatz. Ich war nie so der FS20-Fan.
Das HM-Äquivalent
Homematic Funk-Wandsender mit Display
ist a) ziemlich teuer und b) zu umständlich. Ich möchte nicht erst die Ebenen wechseln, sondern sofort den gewünschten Modus aktivieren. Vermutlich werde ich das mit einem Homematic 6-fach-Taster machen. Wobei der auch keinen Schönheitspreis gewinnt.
Oder alternativ Z-Wave 8-fach-Taster 55er.

Ich hasse es, wenn ich die Deckenleuchten einschalte und ich mich dann erst zum Couch-Tisch bewegen muss, um die Lichtfarbe & Co. zu ändern.
Das Ganze muss den WAF haben. Einschalten - Klick auf gewünschten Farbmodi-Taster - fertig.
Der Rest wird vollautomatisch gesteuert (wie bspw. Änderung der Beleuchtung bei Telefonanruf, Türklingel, Pausen-Taste, Einschaltung der HiFi-Anlage, etc.)
FHEM@RasPi

Offline Peter Kappelt

  • New Member
  • *
  • Beiträge: 38
Antw:Vorstellung: IKEA Trådfri Modul
« Antwort #161 am: Gestern um 18:11:36 »
@Fillip

'Schuldige, das ich nicht zeitnah auf die Mail geantwortet habe. Mache ich eigentlich sonst immer innerhalb von 24h, hatte aber gerade andere Sachen auf der Liste.

Das autoUpdateInterval ist eine Angabe in Sekunden. Jede Sekunde zu Updaten ist möglich, aber nicht sinnvoll. Du musst dabei beobachten, wie sich das auf die Systemlast auswirkt.
Sofern du mit der entstehenden Latenz leben kannst, empfehle ich, autoUpdateInterval aus fünf Sekunden oder größer zu setzen. (Wenn dein System aber genug Leistung hat, das jede Sekunde zu aktualisieren, spricht nichts dagegen.)

Zur Homebridge kann ich selbst nichts sagen, da ich keine angebissenen Äpfel ins Haus lasse. Etwas weiter oben im Thread hat das aber schon jemand versucht, vielleicht kann er dir da nochmal weiterhelfen.

@FunkOdyssey

Ich denke, dass es nur eine Frage der Zeit ist, bis jemand anfängt, die Firmware von IKEA zu reverse-engineeren, dekompillieren und selbst zu modifizieren. Ich denke, dass wenn man erstmal die ganze Toolchain stehen hat, eine Funktionserweiterung (z.B. Szenenwechsel auf Doppeldruck) eine einfache Fingerübung ist.
Mal schauen...

 

decade-submarginal