NEWS
[Adapter] Neuer radar2-Adapter
-
@Diginix sagte in [Adapter] Neuer radar2-Adapter:
Warum willst du den Echo per radar erkennen? Das ist doch im alexa Adapter schon zu sehen ob er online ist oder nicht.
Zum einen bin ich kein Freund davon eine Funktionalität auf mehrere Adapter (unnötiger weise) aufzuteilen. Das verursacht bei komplexeren Installationen später nur Ärger.
Zum anderen kann ich ihn per radar direkt per IP ansprechen, Alexa sagt mir nur rudimentär "online". -
@steimi sagte in [Adapter] Neuer radar2-Adapter:
sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f
which node
)Ja, kurz eingetippt und sofort wurde radar2 wieder grün
-
Wollte nur mal bestätigen, das hat bei mir auch mit nodesjs 10.x funktioniert. BT läuft auch jetzt wieder
cu Deta
@frankjoke
"npm rebuild" bzw. "sudo npm rebuild" hat nicht geholfen.
Aber ich habe einfach mal paar node module neu installiert und nun läuft radar2 mit nodejs 10.xnpm install node-pre-gyp npm install node-bluetooth npm install @abandonware/bluetooth-hci-socket
-
Interessant dass es bei dir auch geholfen hat.
Bei mir ja leider nur für 5-6 Stunden. K.a. warum und wieso.
Mal sehen wann @frankjoke was dazu sagen kann.Bis dahin ist radar(1) wieder im Einsatz und das stabil mit nodejs 10 seit fast 24h.
-
@Diginix sagte in [Adapter] Neuer radar2-Adapter:
Interessant dass es bei dir auch geholfen hat.
Bei mir ja leider nur für 5-6 Stunden. K.a. warum und wieso.
Mal sehen wann @frankjoke was dazu sagen kann.Bis dahin ist radar(1) wieder im Einsatz und das stabil mit nodejs 10 seit fast 24h.
Also bei mir läuft immer noch alles. Das sind jetzt über 12 Stunden.
-
Ok, danke an alle die inzwischen einige Aufklärungsarbeit geleistet haben!
Eine Zusammenfassung kurz:
- Wenn ein neues node (V8->V10) installiert wird sollten auch die node-tools (node-gyp, u.s.w) neu installiert werden
- Wenn ein neues node (V8.x auf V8.y oder V8 auf V10 ...) installiert wird muss müssen auch die Berechtigungen neu vergeben werden:
sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`)
- Wenn andere updates am System vorgenommen werden die neue BT-Treiber oder utilities installieren müssen alle im Install spoiler stehenden Installationsbefehle neu ausgeführt werden. Fehler wie
{ Error: bind EACCES 0.0.0.0:67
deuten darauf hin dass sich was geändert hat da keine Berechtigung zum Aufbau einer dhcp-Verbindung besteht.
War wieder im Spital (diesmal mit Notebook, habe neuen Gips aus Kunststoff und keine Fäden von der OP mehr ) und hab etwas dazuprogrammiert aber erst heute zu Hause nach der Rückkehr testen können:
V1.2.0 steht auf git!
Die Änderungen in Kürze:- Möglichkeit zur Verwendung von hcitool anstatt noble unter linux geschaffen (default).
- _LastHere wird bei Adapterrestart nicht geändert
- Default Abfragezyklus auf 30 Sekunden geändert
Bei 1) ist es möglich ohne noble auszukommen, ich verwende dann ausschließlich hcitool scan und hcitool lescan! Für normales BT ist das besser da länger gescannt wird, für BT-LE sollte es egal sein da beide Module das selbe machen.
Ich habe dies deshalb als default angegeben welche unter linux auch so verwendet werden soll. Wenn ihr umsteigt müsst ihr nun auchsudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`)
eingeben (ist in der readme/install-Liste aufgenommen worden).
Die 2) bedeutet dass _lastHere das letzte Datum wenn das Gerät gesichtet wurde bleibt. Einziger Nachteil: Währen Adapterstart kann es vorkommen dass Geräte als abwesend gezeigt werden wenn der Adapter längere Zeit still steht.
Die 3) wurde umgestellt da viele Nutzer den Default von 20 Sekunden beibehalten haben aber die Scanzeit zu kurz war um viele BT-Geräte zu finden. Mit dem neuen hcitool-Verfahren wird 85% der Zeit gescannt, und zwar beide BT-Methoden gleichzeitig. Allerdings darf sonst am gleichen BT-Controller kein anderes BT-Programm laufen, auch nicht auf der Kommandozeide. Erst wieder nachdem radar2 gestoppt wird! Vorteil: Einige Geräte die unter Radar1 gefunden wurden und unter radar2 nicht mehr sollten jetzt wieder gefunden werden!
p.s.: Hab die Version noch nicht auf npm und ins repo gegeben da ich hoffe mit eurem Feedback mögliche bugs noch auszukurieren! Von git aber nicht mittels 'beliebig' installieren!
-
@frankjoke Bist mein Held!
Habe soeben aktualisiert und alle Befehle in die Konsole gehauen und er ist tatsächlich wieder auf grün gegangen und findet was er finden soll.
In der Adapterkonfig ist die "hcionly" nicht angehakt. D.h. es wird bei mir noch noble verwendet?
D.h. dein "default" bei Punkt 1. steht bei noble. Es las sich für mich so, dass hcitool standard wäre.Vielen Dank für deine Erläuterungen und weiterhin gute Besserung!
PS: Ich habe die setcap Befehle mal in mein Systemupdate Shell Skript gepackt. So werden sie jedesmal wieder mit ausgeführt. Sollte ja sicher keine Nachteile haben oder?
-
Ok, bin froh dass es funktioniert.
Der Default wird nur genommen wenn du neu installierst, da du upgedated hast ist der Wert bei dir unbekannt also 'false'. Setze es auf selbst auf true um es mal zu testen, wenn es mit noble funktioniert u8nd du keine non-BT-LE-Geräte scannst ist es egal. -
@frankjoke Habe es mal umgestellt. Vielleicht wird das Samsung A5 dann wieder genau so stabil mit BT erkannt wie mit dem radar(1) Adapter.
Habe ein BT Audio Receiver und ein Eqiva Türschlossantrieb, die beide denke ich mal BTLE sind. Da diese immer zuhause sind, sind deren Erkennbarkeit auch Trigger für die Funktionsweise von radar und der BT Hardware.
In der Vergangenheit ist die BT Hardware manchmal innerhalb von 24h "ausgestiegen" und musste Konsole kurz deaktiviert und wieder aktivert werden, um wieder in ioBroker nutzbar zu sein.sudo rfkill block bluetooth sudo rfkill unblock bluetooth
Ich behalte alles mal im Auge.
-
Erstes Problem.
Zwei BT Geräte stehen auf true obwohl sie _lastHere vor fast einer Stunde waren.
Nach 10 Minuten soll ein Gerät aber als abwesend gelten.Im ioBroker Log ist nichts auffälliges zu sehen. Also z.B. kein Konflikt dass der BT Scan bereits läuft oder ähnliches.
Adapter Neustart hat geholfen. Es hat aber mehrere Scanzyklen gebraucht bis alle BT Geräte, die anwesend sind, auch erkannt wurden. Und es sind nur 5.
Einstellungen: hcionly, scan alle 30 Sekunden, nach 10 Minuten offline
-
@Diginix ,
Ist das nochmal aufgetreten?
Welches scanintervall hast du?Du kannst leicht herausfinden ob was btle oder bt ist: findest du die teile mit
hcitool scan
dann ists normales BT, mithcitool lescan
ist's BT-LE. -
@frankjoke
Ich habe gestern das update gemacht.
Wenn ich aber umschalte auf "only hci" bleiben meine G-Tags offline....... -
@all,
Habe eine kleine Korrektur auf die selbe Version auf git gestellt:
Beim Adapter(re)start wird bei BT kein Anwesend gesetzt, erst nach dem ersten Scan wird anwesend upgedated.
Das sollte verhindern dass alle Geräte die länger nicht gesehen wurden auf abwesend gesetzt werden bevor der scan läuft.Sonst hab ich nochmal durchgecheckt ob BT-geräte richtig gefunden werden.... bei mir funktioniers!
-
@MathiasJ
Auch hier die Frage, was ist deine scan-time?Ich weiß nicht warum was mit noble gefunden wird und mit hcitool nicht, die greigen auf den selben Zreiber zurück
-
@frankjoke
Ja tritt noch auf. Gerade sagt der Adapter mein Türschloss wäre anwesend, lastHere ist aber 21:29 Uhr. Also fast 30min her, nach 10min muss es aber als abwesend gelten. Es ist ja aber wirklich da. Also entweder wird lastHere nicht aktualisiert und wenn ja, dann wird auch here nicht nach 10min auf false gesetzt.
Hab vorerst eingestellt dass die Instanz jede Stunde neu startet. Damit es dann wieder passt und die Geräte wirklich gefunden werden. K. a. warum der Adapter manches nicht auf abwesend setzt.Bin aber bis Mittwoch nicht zuhause und kann wenig testen.
Scantime ist 30 Sek
Edit: Habe nun wieder auf noble umgestellt und den stündlich Instanz Restart entfernt und beobachte das nun mal.
Da kommt dann halt immer mal "Error BT already scanning... ".
Mit einem der Probleme muss ich also leben. -
@frankjoke
Ich habe sie auf default gelassen.
Ich habe bisher mit den Grundeinstellunen die besten Erfahrungen gemacht.
das einzige, das ich geändert habe ist .fritz.box in .fritz.box! -
@MathiasJ
Ok, das erinnert mich daran dass ich das Feld mit fritz.box rausnehmen kann und durch eine checkbox für den debug-mode ersetzen kann da ich es wie beim broadlink-adapter anders lösen kann. -
@Diginix
Ok, dann tippe ich eher dass _lastHere nicht richtig geschrieben wird.
Kannst mal debug mitlaufen lassen, dann siehst du genau wann was geschrieben wird. p.s.:Es sollte nur geschrieben werden wenn es sich ändert...Übrigens, wie schon gesagt nach einem Adapterstart muss bis nach dem ersten scan welcher NACH der message adapter initialization finished gewartet weden!
-
@frankjoke
Du könntest aber auch das Feld mit der fritz.box drin lassen und es mit einer Checkbox erweitern..... -
@MathiasJ
Habs auf git schon geändert, Feld wird nicht mehr gebraucht da der Adapter lokale Netzwerke jetzt erkennt.