Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

node-red-contrib-tradfri #131

Open
spiu16 opened this issue Jan 4, 2019 · 32 comments
Open

node-red-contrib-tradfri #131

spiu16 opened this issue Jan 4, 2019 · 32 comments
Labels

Comments

@spiu16
Copy link

spiu16 commented Jan 4, 2019

Hallo,
ich würde gerne mein IKEA Tradfri Gateway mit einbinden. Habe den Node "node-red-contrib-tradfri" installiert und bin dabei den configuration node einzurichten. Beim Punkt "CoAP path" bin ich aber leider gescheitert :-(
Laut der Beschreibung unter https://flows.nodered.org/node/node-red-contrib-tradfri sollten eigentlich ein paar voreingestellte Sets vorhanden sein, von denen man auswählen kann ("A set of precompiled versions of libcoap is available to choose from."). In einem Youtube-Video zur Einrichtung sieht man diese Links auch (https://www.youtube.com/watch?v=075zTnrIp1Y). Bei mir sind diese Links aber leider nicht sichtbar:

grafik

Jemand eine Idee woran das liegen könnte? Oder hat schon jemand sein IKEA Tradfri Gateway erfolgreich eingebunden?

@hobbyquaker
Copy link
Member

Diese Nodes benötigen ein COAP binary, das kann so nicht funktionieren, das müsste ich mit ins RedMatic Release packen da auf der CCU bzw RaspberryMatic keine Binaries gebaut werden können. Aber vielleicht kommst Du ja mit diesen Nodes https://flows.nodered.org/node/node-red-contrib-node-tradfri zum Ziel, die benötigen keine Binaries. Falls nicht setz ich das auf die Todo und liefer die Binaries mit einem der nächsten Releases mit.

@spiu16
Copy link
Author

spiu16 commented Jan 4, 2019

Ok, ich hatte mich an der Liste https://github.com/HM-RedMatic/RedMatic/wiki/Erfolgreich-getestete-Nodes orientiert.
Werde den anderen Node probieren. Danke

@spiu16
Copy link
Author

spiu16 commented Jan 4, 2019

Mhmm, das hat leider nicht funktioniert. Bei der Installation über das Node-Red Dashboard kommt folgende Fehlermeldung:

Installation of module node-red-contrib-node-tradfri failed:

npm WARN deprecated github@0.2.4: 'github' has been renamed to '@octokit/rest' (https://git.io/vNB11)

node-aead-crypto@1.1.6 install /usr/local/addons/redmatic/var/node_modules/node-red-contrib-node-tradfri/node_modules/node-aead-crypto
node lib/install.js

running default installation script

node-aead-crypto@1.1.6 install:default /usr/local/addons/redmatic/var/node_modules/node-red-contrib-node-tradfri/node_modules/node-aead-crypto
node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using needle for node-pre-gyp https download
node-pre-gyp WARN Tried to download(404): https://github.com/AlCalzone/node-aead-crypto/releases/download/v1.1.6/node-v57-linux-arm.tar.gz
node-pre-gyp WARN Pre-built binaries not found for node-aead-crypto@1.1.6 and node@8.14.1 >(node-v57 ABI, unknown) (falling back to source compile with node-gyp)
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack at...

@hobbyquaker
Copy link
Member

oh ok, das hat entgegen der behauptung im readme also doch auch binärmodule. ich bau dir diese coap lib ins nächste oder übernächste redmatic release, dann kannst node-red-contrib-tradfri nutzen.

@spiu16
Copy link
Author

spiu16 commented Jan 4, 2019

Perfekt! Danke

@hobbyquaker
Copy link
Member

hobbyquaker commented Jan 4, 2019

@spiu16 Versuch mal bitte folgendes:
auf der CCU einloggen

cd /usr/local/addons/redmatic/bin
wget https://raw.githubusercontent.com/HM-RedMatic/RedMatic/master/prebuilt/armv6l/bin/coap-client
chmod a+x coap-client

Dann als "CoAP Path" in der node-red-contrib-tradfri Konfig eintragen: /usr/local/addons/redmatic/bin/coap-client

@hobbyquaker
Copy link
Member

@spiu16 In RedMatic 2.0 steckt der coap-client nun mit drin, Du brauchst Dich also nicht mehr auf der CCU einloggen, einfach als "Coap Path" in der Tradfri Konfiguration /usr/local/addons/redmatic/bin/coap-client eintragen. Bitte gib bescheid ob es funktioniert.

@vx-i
Copy link

vx-i commented Jan 13, 2019

@hobbyquaker Es gibt eine gute und eine schlechte Nachricht. coap-client wird mit der neuen Version installiert und funktioniert. tradfri-config funktioniert immer noch nicht. Weder der Key wird erstellt, noch funktioniert die Auflistung der Geräte.

Ich habe den Key mit dem coap-client erstellt und in die tradfri-config eingetragen. Aber damit geht es auch nicht weiter. Beim Ausprobieren ist mir aufgefallen, dass node-tradfri-argon als Abhängigkeit drin ist. Wie kann ich prüfen, ob diese auch installiert wird? Denn wenn ich die Befehle aus der Datei node-tradfri-argon/lib/command-builder/index.js manuell ausführe, dann bekomme ich auch die Auflistung der Tradfri-Geräte.

Wenn ich etwas ausprobieren soll, sag kurz Bescheid. Mache ich gerne :-)

@spiu16
Copy link
Author

spiu16 commented Jan 13, 2019

@vx-i wie hast Du denn den Key mit dem coap-client erstellt? Wie macht man das?

@vx-i
Copy link

vx-i commented Jan 13, 2019

@spiu16

  1. Per SSH auf RaspberryMatic anmelden
  2. cd /usr/local/addons/redmatic/bin/
  3. coap-client -m post -u "Client_identity" -k "[dein_security_code]" -e '{"9090":"[nodered_app_id]"}' "coaps://[deine_ip]:5684/15011/9063"
  4. Kopiere aus der Antwort den Schlüssel

Danach kann man mit diesem Befehl den Gateway Anfragen stellen:
coap-client -m get -u "[nodered_app_id]" -k "[preshared_key]" "coaps://[deine_ip]:5684/"

! Ersetze die Stellen mit []-Klammern durch deine Werte !

@spiu16
Copy link
Author

spiu16 commented Jan 13, 2019

Danke!

Aber wenn ich das Kommando
cd /usr/local/addons/redmatic/bin/
ausführe passiert nichts.
In der Kommandozeile steht nur „#“.
Habe mich mit User „root“ per SSH verbunden.

@hobbyquaker
Copy link
Member

Beim Ausprobieren ist mir aufgefallen, dass node-tradfri-argon als Abhängigkeit drin ist. Wie kann ich prüfen, ob diese auch installiert wird?

Wenn Die Installation fehlerfrei ablief muss das installiert sein, sollte unter /usr/local/addons/redmatic/var/node-modules/node-red-contrib-tradfri/node_modules/ zu finden sein.

@spiu16
Copy link
Author

spiu16 commented Jan 14, 2019

@vx-i In das Verzeichnis bin ich nun gekommen, aber bei Eingabe vom Befehl aus 3. (mit meinen Angaben) kommt die Fehlermeldung:

grafik

@hobbyquaker
Copy link
Member

Du musst ./ voranstellen, also ./coap-client ...

@spiu16
Copy link
Author

spiu16 commented Jan 14, 2019

Super, das hat auch geklappt. Hab jetzt mein Preshared Key.
Probiere dann morgen auf das device zuzugreifen.
Danke

@vx-i
Copy link

vx-i commented Jan 18, 2019

@hobbyquaker Vielen Dank für den Hinweis. node-tradfri-argon ist installiert. Also ist das kein Problem.

Ich glaube jedoch den Fehler gefunden zu haben. Sobald man Node-Konfiguration tradfri-config öffnet, kann man in Firefox Netzwerkanalyse sehen, dass mit Fehler 404 geantwortet wird. Die URL dazu lautet "https://[raspberrymatic_ip]/tradfri/libs". Das kann nicht funktionieren, da die URL so aussehen muss: "https://[raspberrymatic_ip]/addons/red/tradfri/libs". Führt man das im Browser aus, gibt es als Antwort eine JSON-Datei:

[{"file":"coap-client-debian","path":"/usr/local/addons/redmatic/var/node_modules/node-red-contrib-tradfri/node_modules/node-tradfri-argon/lib/coap-client-debian"},{"file":"coap-client-osx","path":"/usr/local/addons/redmatic/var/node_modules/node-red-contrib-tradfri/node_modules/node-tradfri-argon/lib/coap-client-osx"},{"file":"coap-client-raspbian","path":"/usr/local/addons/redmatic/var/node_modules/node-red-contrib-tradfri/node_modules/node-tradfri-argon/lib/coap-client-raspbian"}]

Eine Idee, warum hier nicht https://[raspberrymatic_ip]/addons/red/ als root url genommen wird?

@hobbyquaker
Copy link
Member

hobbyquaker commented Jan 18, 2019

Das ist leider ein "gängiger Fehler" den die Entwickler von Node-RED Nodes machen, statt einem relativen Pfad da einen absoluten zu verwenden, das fliegt einem dann auf die Füße wenn Node-RED mit einem anderen httpRoot als / betrieben wird.
Versuch mal bitte folgendes:
In der Datei /usr/local/addons/redmatic/var/node_modules/node-red-contrib-tradfri/tradfri-out.html gibt es 3 HTTP Get calls:

Lösch da mal jeweils den führenden / raus und starte Node-RED dann neu.
Wenn das das Problem behebt machen wir einen Pull Request.

@vx-i
Copy link

vx-i commented Jan 18, 2019

Vielen Dank! Damit läuft es.

Mit Pull Request meinst du einen Reuest Richtung nidayand/node-red-contrib-tradfri?

@hobbyquaker
Copy link
Member

jap. Willst Du oder soll ich?

@vx-i
Copy link

vx-i commented Jan 18, 2019

Mach ruhig. Und ich schaue zu und lerne. Prinzipiell wüste ich wie es geht, Gemacht habe ich es noch nie.

@spiu16
Copy link
Author

spiu16 commented Jan 18, 2019

und ich beobachte das weiter und warte bis @hobbyquaker das in eine neue Version paketiert... :D

hobbyquaker added a commit to hobbyquaker/node-red-contrib-tradfri that referenced this issue Jan 18, 2019
Absolute paths anticipate the usage of the Node-RED `httpRoot` config option, relative should always work. `httpRoot` is often used when Node-RED is behind a reverse Proxy or embedded in another application, like e.g. here: rdmtc/RedMatic#131
@hobbyquaker hobbyquaker added 🚡upstream 🐛bug Something isn't working and removed ⏳awaiting-feedback labels Jan 18, 2019
@hobbyquaker
Copy link
Member

hobbyquaker commented Jan 18, 2019

Der Ball liegt jetzt beim Maintainer von node-red-contrib-tradfri, wenn er eine Neue Version rausbringt mach ich hier zu. Bis dahin bleibt nur der Workaround die 3 Slashes aus dieser Datei manuell zu entfernen. Wenn Du mit der Linux-Kommandozeile nicht so vertraut bist geht das recht komfortabel mit z.B. WinSCP

@spiu16
Copy link
Author

spiu16 commented Jan 18, 2019

welchen editor nutzt ihr auf der rasperrymatic um die Dateien zu verändern? Könnt ihr da was empfehlen? Nano ist standardmäßig leider nicht installiert. Bekomm ich das da drauf?

@vx-i
Copy link

vx-i commented Jan 18, 2019

WinSCP hat internen Editor. Das reicht meistens aus. Datei auswählen, Rechtsklick, Bearbeiten.

@spiu16
Copy link
Author

spiu16 commented Jan 18, 2019

Top! Danke

@spiu16
Copy link
Author

spiu16 commented Jan 18, 2019

Perfekt, Zugriff funktioniert nun auch bei mir.
@hobbyquaker @vx-i Vielen dank für den mega Support!

@RedBaron2020
Copy link

RedBaron2020 commented Mar 28, 2019

Stimmt toller Support.

Was muss ich jetzt mit der Version 3 bzw der aktuellen Version 4 machen damit alles klappt?

Habe etwas die Übersicht verloren! 🤷🏻‍♂️

Kann eine bitte die Schritte zusammen fassen.

Danke.

@RedBaron2020
Copy link

@spiu16

  1. Per SSH auf RaspberryMatic anmelden
  2. cd /usr/local/addons/redmatic/bin/
  3. coap-client -m post -u "Client_identity" -k "[dein_security_code]" -e '{"9090":"[nodered_app_id]"}' "coaps://[deine_ip]:5684/15011/9063"
  4. Kopiere aus der Antwort den Schlüssel

Danach kann man mit diesem Befehl den Gateway Anfragen stellen:
coap-client -m get -u "[nodered_app_id]" -k "[preshared_key]" "coaps://[deine_ip]:5684/"

! Ersetze die Stellen mit []-Klammern durch deine Werte !

Wie komme ich an die "nodered_app_id"???

@gungam
Copy link

gungam commented Sep 7, 2019

die "nodered_app_id" ist frei wählbar und muss identisch mit dem Feld "App Identity" in der configuration des Tradfri nodes sein.

die Antwort des Befehls sollte dann ähnlich wie folgende sein

decrypt_verify(): found 24 bytes cleartext
decrypt_verify(): found 50 bytes cleartext
{"9091":"XXXXXXXXXXXXXXXX","9029":"1.8.0026"}

die "XXXXXXXXXXXXXXXXX" entsprechen deinem Preshared Key

leider scheint der ursprüngliche Ersteller des Nodes wenig/kein Interesse an der Weiterentwicklung/Pflege des Nodes zu haben. Seit 2 Jahren ist keine Bewegung mehr im Node obwohl Anpassungen dringend Notwendig wären

@RedBaron2020
Copy link

die "nodered_app_id" ist frei wählbar und muss identisch mit dem Feld "App Identity" in der configuration des Tradfri nodes sein.

die Antwort des Befehls sollte dann ähnlich wie folgende sein

decrypt_verify(): found 24 bytes cleartext
decrypt_verify(): found 50 bytes cleartext
{"9091":"XXXXXXXXXXXXXXXX","9029":"1.8.0026"}

die "XXXXXXXXXXXXXXXXX" entsprechen deinem Preshared Key

leider scheint der ursprüngliche Ersteller des Nodes wenig/kein Interesse an der Weiterentwicklung/Pflege des Nodes zu haben. Seit 2 Jahren ist keine Bewegung mehr im Node obwohl Anpassungen dringend Notwendig wären

Hallo gungam
Hallo spiu16,

Soweit komme ich was mach ich noch falsch???

image

@spiu16
Copy link
Author

spiu16 commented Nov 4, 2019

puh, kann ich leider gar nicht mehr sagen. Ich hab inzwischen mein IKEA Gateway rausgeschmissen und die IKEA Lampen und Fernbedienungen direkt per zigbee2mqtt bzw. node-red-contrib-zigbee eingebunden, damit ich die IKEA Fernbedienung auch für andere Befehle nutzen kann.

@RedBaron2020
Copy link

Hallo zusammen,

danke noch mal für eure Hilfe.

Da der Entwickler nichts tut habe ich den Tipp von spiu16 fast befolgt.
Ich habe das Gateway von Ikea gegen das von Hue ausgetauscht, und nun geht alles was ich machen möchte.

Für mich hat sich das Thema nun erleidigt.

Gruß Carsten

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

5 participants