NEWS
eqiva Bluetooth-Türschloss per Skript steuern (exec-Befehl)
-
Ich habe aus Kostengründen an meiner Wohnungstür ein eqiva Bluetooth-Türschloss verbaut und hatte eigentlich die Hoffnung bereits aufgegeben, dieses jemals mit ioBroker verbinden zu können. Nun gibt es allerdings mit keyble eine relativ frische Lösung, das Teil per Raspberry Pi anzusteuern. Die Installation war zwar mehr als hakelig und mit viel Hin und Her bei der installierten Node-Version verbunden (scheinbar ein typisches Bluetooth-Problem), aber inzwischen läuft alles: ich kann per Terminal-Befehl meine Tür auf- und zuschließen bzw. öffnen.
Nun möchte ich das Ganze natürlich auch über den ioBroker nutzbar machen, scheitere hier aber leider am exec-Befehl des Javascript-Adapters (Version 4.1.4). In der Vergangenheit habe ich den definitiv schon erfolgreich benutzt, aber leider das betroffene Gerät nicht mehr parat, um ausprobieren zu können, ob das damalige Skript noch immer funktioniert. Meine Befürchtung ist, dass mir die notwendigen Berechtigungen fehlen, denn so ist die aktuelle Situation:
- die Eingabe im Terminal per PuTTY funktioniert einwandfrei
keyble-sendcommand --address 00:XX:XX:XX:XX:XX --user_id X --user_key XXXXXXXXXXXXXXXX --command open- der Befehl im Skript hingegen löst keinerlei Aktion aus
exec('keyble-sendcommand --address 00:XX:XX:XX:XX:XX --user_id X --user_key XXXXXXXXXXXXXXXX --command open')Der Haken zur Ausführung von exec-Befehlen im Adapter ist natürlich gesetzt.
Missverstehe ich die Funktion bzw. das, was sie zu leisten imstande ist, oder muss ich den Befehl schlichtweg in einer anderen Form übermitteln? Und falls es wie vermutet eine Frage der Berechtigungen sein sollte: Wie kann ich diese nachträglich anpassen, damit der Befehl vom Adapter ausgeführt werden kann?
-
Kommando zurück: Ich habe soeben mal versucht, was denn passiert, wenn ich den Befehl über den Terminal-Adapter eintippe. Dabei habe ich festgestellt, dass die vom ioBroker erreichbare Instanz von keyble nicht in der Lage war, auf das Modul "bluetooth-hci-socket" zuzugreifen, da es unter "/home/pi/npm/lib/node_modules/" lag. Also fix rüberkopiert nach "/usr/lib/node_modules/", noch einmal getestet, festgestellt, dass "sudo" notwendig zu sein scheint, angepasst, und Erfolg gehabt!
Ich bin mir ziemlich sicher, dass ich hier mit meiner Bastelei gegen diverse Regeln einer geordneten Installation verstoße, aber die Hauptsache für mich: Es funktioniert nun! Ich kann per Datenpunkt meine Tür sowohl abschließen (false) als auch öffnen (true).
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden