NEWS
[Adapter] Neuer radar2-Adapter
-
Das erste was Du brauchst ist ein
sudo apt-get update
Damit Deine Paketlisten aktualisiert werden. Das aktualisiert noch nicht die Pakete und ist daher "ungefährlich". Versuche die Installation dann nochmal.
Denk dran dass der Adapter mindestens node 6.x braucht (welche Version genau steht im Readme.md).
Insgesamt solltest du dein System eher aktuell halten.
-
das update ist durchgelaufen und ich konnte den ersten Befehl absetzten und der lief durch.
beim zweiten Befehl kommt folgende Meldungsetcap cap_net_admin,cap_net_raw,cap_net_bind_service=+ei p $(eval readlink -f `which arp-scan`) Failed to set capabilities on file `p' (No such file or directory) The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) file
das gleiche dann bei den anderen Befehlen auch.
-
Hat ich erledigt Adapter ist Grün.
Danke -
Kurze Rückmeldung von meiner Seite:
Seit über einer Woche läuft der Adapter bei mir nun auch durch und erkennt alle WIFI, BT und BLE Geräte dauerhaft korrekt.Ich starte allerdings alle 60min das BT Modul neu und parallel auch die Instanz.
Das ist aber evtl. nur individuellen Problemchen geschuldet. Seit dem ich das so eingerichtet habe, passt alles. Also "never touch..." -
@ChristianF
Danke für deinen Test, er hat mich auf eine Idee gebracht die ich sofort implementiert hab!Also, hatte l2ping bei V1.0 oder so schon rausgeschmissen, der Grund war dass es bei mir schlechtere Werte lieferte wie hcitool scan und dass ich die Adressen einzeln (nacheinander) abfragen muss.
Jetzt hab ich mir das mal angeschaut und hab gesehen dass es bei hcitool im Prinzip 4 verschiedene Meldungen gibt:
- Can't connect/Host down -> Gerät ist nicht da!
- Gerät antwortet nicht
- Gerät hat Anfrage zurückgesetzt
- Gerät antwortet mit den 44 bytes auf das Ping.
Ich bin jetzt drauf gekommen dass nur die erste Möglichkeit wirkliche Abwesenheit bedeutet und bei allen 3 anderen das Gerät da ist. Manche Geräte antworten nicht auf das Ping oder melden es als unbefugt (und setzen die Kommunikation zurück) und nur einige antworten mit der gefragten message auf das ping.
Habe jetzt l2ping anstatt hcitool scan wieder eingebaut und bei hcionly wird jetzt hcitool löescan für BT-LE und l2ping für den normalen scan verwendet.
l2ping meldet jetzt in den letzten 3 Fällen das Gerät ls anwesend (und nicht nur im letzten)!
Einziger Nachteil: Wenn das Gerät nicht da ist oder schlechte Kommunikation herrscht kann eine Abfrage für ein Gerät ~4 Sekunden dauern, damit wirds bei vielen BT-Abfragen eng und man muss eventuell die scanzeit erhöhen.
Wenn die Geräte in de4r Nähe erreichbar sind dan gehts viel schneller und es treten keine Probleme auf.Noch etwas: Eine neue Zeile bei der Installation kommt dazu:
sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)
aber ihr könnt euich freuen da dann auch auf der Kommandozile l2ping ohne sudo möglich wird
Kann wer mal testen ob das und alles weitere (noch) funktioniert?
-
@frankjoke DAS nenn ich mal prompte Reaktion Habe auf Github schon die aktualisierte mynetworks gesehen, bekomme sie aber irgendwie nicht auf meinen iobroker. Werd gleich mal bisschen basteln. Melde mich kurzfristig. DANKE auf jeden Fall für das extrem schnelle Feedback und die Umsetzung!
Viele Grüße
Christian -
@frankjoke Hab das Update von GIT eingespielt, ist aber noch die 1.2.0. Nur in den Einstellungen steht jetzt "hci/l2ping".
Nach dem ersten Aktivieren davon hat er alle Geräte gefunden. Nur später dann wieder das eine BT Gerät nicht (BT Audio Empfänger). Das war aber ohne l2ping auch schon so. Daher funktioniert bei mir nur noble 100% für alle Geräte.
Das ist nun wieder aktiviert und funktioniert. Morgen weiß ich ob es weiterhin so stabil ist wie die letzten 2 Wochen.Wie ist das eigentlich wenn ich einen zusätzlichen BT Stick an den ioBroker Rechner anschließe um noble parallel auch noch für meinen Türschlossantrieb zu verwenden. Woher weiß das noble dann dass es 2 BT Adapter gibt und es nicht blockiert ist. Im Moment muss ich den radar2 Adapter komplett anhalten um in der Konsole mit key-ble den Türschlossantrieb steuern zu können. D.h. sobald radar2 aktiv läuft, ist irgendwas von noble blockiert.
Ist das dann mit 2 BT Adaptern nicht mehr so? -
- l2ping ersetzt hcitool scan und nicht hcitool lescan welches noble ersetzt. Wenn du ein Gerät hast welches nur mit noble gefnden wird wird musst du mit noble arbeiten und kannst momentan nicht im hci-mode arbeiten. Es gibt aber auch Geräte die mit BT (ohne LE) arbeiten und von l2ping gefunden werden können. Blöd ist nur dass manche Dinge nicht gleichzeitig laufen können mit Noble oder hcitool lescan,
Damit zur 2. Frage: Wenn du 2 sticks (controller) hast bekommst du mehrere Geräte (hci0 und hci1) und inder Konfig kannst eingeben welches du mit Radar verwenden willst. Wählst du 1 (was dann meist das 2. ist da das erste 0 hat) dann bleibt das erste mit hci0 für dein anderes Programm.
hcitool dev
zeigt die verfügbaren Geräte und deren mac. -
@frankjoke Scheint so als hätte ich jetzt meine Devices verärgert Was gestern Abend noch problemlos klappte (und vorhin auch, nachdem ich den Adapter aktualisiert hatte), will jetzt nicht mehr. Die Devices antworten auf einmal von jetzt auf gleich nicht mehr auf L2Pings, weder vom Adapter noch von der Konsole. Irgendwas ist doch da faul mit den Dingern...
EDIT: Ich habe übrigens noch eine andere Idee, wie man statt L2Ping mit
hcitool
rausfinden kann, ob ein Gerät "alive" ist. hcitool hat den angenehmen Nebeneffekt, dass es bei der Parameterabfrage viahcitool info <MAC>
(und meines Wissens nach NUR beiinfo
) einen Errorlevel speichert. Diesen kann man danach leicht abfragen:Real existierende MAC abgefragt (Ergebnis ist ja unwichtig, daher gleich in
/dev/null
) :root@raspi:~# hcitool info 60:73:BC:C8:CA:42 > /dev/null root@raspi:~# echo $? 0
NICHT existierende MAC abgefragt:
root@raspi:~# hcitool info 60:73:BC:C8:CA:43 > /dev/null root@raspi:~# echo $? 1
Das Ganze funktioniert übrigens auch, wenn
hcitool scan
ein leeres Ergebnis liefert. -
Hi, ich habe heute nochmal ein bisschen weiter rumprobiert und noch folgendes Feedback:
- Im HCITOOL/L2Ping Mode werden bei mir keine BLE Devices erkannt (hier ein Gigaset Keeper). Führe ich einen manuellen LEScan via SSH aus, taucht der Keeper auf (warum auch immer er der Meinung ist, dass der Keeper doppelt da ist):
root@raspi:~# hcitool -i hci0 lescan --duplicates LE Scan ... 7C:2F:80:DD:xx:xx Gigaset keeper 7C:2F:80:DD:xx:xx (unknown)
..wohingegen der Adapter meint:
2019-05-18 01:52:21.438 - info: radar2.0 debug: radar2 found here (CF_Handy_BT, SF_Handy_BT) 2019-05-18 01:52:21.439 - info: radar2.0 debug: and who here (CF_Handy_BT, SF_Handy_BT) 2019-05-18 01:52:21.439 - info: radar2.0 debug: and not here (SF_Keeper_Rosa)
(Jaja, fragt nicht nach, Frauchen wollte das Ding unbedingt rosa)
Man sieht zwar dass er unten in Zeile 2 einen BLE Scan anwirft, aber vermutlich sind die Befehle in Zeile 2, 3, 4 und 6 zu schnell hintereinander, kann das sein? Der BT Adapter kriegt die Umschaltung(?) zwischen LE und BT-Normal vermutlich nicht so schnell hin? Sorry, bin kein Techniker
2019-05-18 02:02:27.234 - info: radar2.0 debug: started #70 hciconfig hci0 up 2019-05-18 02:02:27.476 - info: radar2.0 debug: started #71 hcitool -i hci0 lescan --duplicates 2019-05-18 02:02:27.493 - info: radar2.0 debug: started #72 l2ping -i hci0 -c 1 60:73:bc:c8:xx:xx 2019-05-18 02:02:28.948 - info: radar2.0 debug: started #73 l2ping -i hci0 -c 1 04:b1:67:23:xx:xx (...) 2019-05-18 02:02:34.118 - info: radar2.0 debug: started #74 l2ping -i hci0 -c 1 7c:2f:80:dd:xx:xx 2019-05-18 02:02:52.511 - info: radar2.0 debug: Kill [ '/usr/bin/hcitool', '-i', 'hci0', 'lescan', '--duplicates' ] with SIGINT (...) 2019-05-18 02:03:22.110 - info: radar2.0 debug: started #75 hciconfig hci0 down
Dazu würde die Reaktion passen wenn man versucht, einen BLE Scan zu machen während gerade ein L2Ping (oder irgendwas anderes) läuft:
root@raspi:/opt/iobroker/log# hcitool -i hci0 lescan --duplicates Set scan parameters failed: Input/output error
Vielleicht sollte man den LEScan eher hinter die L2Pings packen und einen kleinen Puffer dazwischen setzen (sowohl zwischen die einzelnen L2Pings als auch als Abstand zum LEScan)? Ist nur eine Idee, keine Ahnung ob das etwas bringt..
- Ich habe im Log regelmäßig einen Fehler, der den Adapter zum Absturz bringt:
2019-05-18 01:39:48.493 - warn: radar2.0 Promise failed @ '; _tickCallback in internal/process/next_tick.js @189:7' error: { SyntaxError: Unexpected token c in JSON at position 0 at JSON.parse (<anonymous>) at A.get.then.res (/opt/iobroker/node_modules/iobroker.radar2/radar2.js:621:47) at <anonymous> at process._tickCallback (internal/process/next_tick.js:189:7) [stack]: 'SyntaxError: Unexpected token c in JSON at position 0\n at JSON.parse (<anonymous>)\n at A.get.then.res (/opt/iobroker/node_modules/iobroker.radar2/radar2.js:621:47)\n at <anonymous>\n at process._tickCallback (internal/process/next_tick.js:189:7)', [message]: 'Unexpected token c in JSON at position 0' } 2019-05-18 01:40:14.188 - info: radar2.0 first scan took 25.646 seconds 2019-05-18 01:40:14.189 - info: radar2.0 will scan external network every 60 minutes 2019-05-18 01:40:15.064 - info: radar2.0 Adapter initialization finished! 2019-05-18 01:45:15.489 - info: host.raspi object change system.adapter.radar2.0 2019-05-18 01:45:15.491 - info: host.raspi stopInstance system.adapter.radar2.0 2019-05-18 01:45:15.492 - info: host.raspi stopInstance system.adapter.radar2.0 killing pid 1657 2019-05-18 01:45:15.497 - info: radar2.0 Adapter disconnected and stopped with dostop(false) and callback(true) 2019-05-18 01:45:15.504 - warn: radar2.0 Adapter will exit in latest 1 sec with code false!
Jemand eine Idee, was das sein könnte und wo es herkommt?
Danke und viele Grüße
Christian -
Mal ne Frage...
Warum kann ich bei "Abwesenheit" nur Werte ab 2 Minuten eintragen?
Ich möchte sofort sehen wenn ein Gerät offline ist... mit dem alten Adapter ging das.Ich hatte mit dem alten Radar Adapter ein Script, welches mir meine Echos lauter gestellt hat, wenn der Fernseher lief... Da der neue Radar2 Adapter ja erst nach 2 Minuten reagiert, ist diese Funktion jetzt unbrauchbar...
Es ist ja schön, das man den Wert einstellen kann, falls man schlechtes WLAN hat...
aber denn warum diese Einschränkung? -
@ChristianF
So weit ich es mitbekommen habe, gibt es mit den Gigaset Keepern Probleme.
Mit meinen G-Tags funktionert alles.
Es werden bei mir sogar die Xiaomi flower care in den Blumentöpfen, allerdings als "unbekannt" gescannt.
Hier kommt dann die Instanz BT und ein 2. Dongle (der noch nicht angeschlossen ist) zum tragen.Bei Anwesenheit reagiert Radar2 ja sofort.
Damit soll verhindert werden, daß z.B. die Heizung hin- und herschaltet, wenn man doch anwesend ist und Radar2 einen Scan versemmelt hat.
bei Radar hat eine Abwesenheitskennung (bei mir zumindest) bis zu 10 Minuten gedauert. Da sind 2 Minuten ja richtig schnell. Bis die Anwesenheit erkannt wurde, mußte ich bis zu 30 Sekunden vor der Türe stehen, bis ich die Türe aufschließen konnte. da ist ja Anwesenheit sofort bei Radar2 ja richtig toll. -
@MathiasJ sagte in [Adapter] Neuer radar2-Adapter:
@ChristianF
So weit ich es mitbekommen habe, gibt es mit den Gigaset Keepern Probleme.
Mit meinen G-Tags funktionert alles.
Es werden bei mir sogar die Xiaomi flower care in den Blumentöpfen, allerdings als "unbekannt" gescannt.
Hier kommt dann die Instanz BT und ein 2. Dongle (der noch nicht angeschlossen ist) zum tragen.Ich vermute auch dass bei mir die Mischung aus BT und BLE dafür verantwortlich ist dass es nicht so wirklich klappt.
Mein G-Tag wird auch nicht erkannt. Hast du die einfach so "out of the box" in Benutzung oder hast du sie in der Gigaset App registriert? Beim Keeper hab ich das damals falsch gemacht und hab versucht das Ding zu erreichen obwohl es registriert war, hat natürlich nicht geklappt.. -
@ChristianF
Wie viele USB-Sticks hast Du dran hängen?
Du brauchst für Radar2 einen BT-Dongle
Du brauchst für BLE einen BT-Dongle
macht zusammen 2 BT-Dongles. -
@MathiasJ hab nur einen hängen und läuft mit Radar2 und BLE ... mach wohl was falsch .. hmm
-
@Supermicha ,
Ich werde msl dehen ob ich kürzere Zeiten erlauben kann, aber mindestens 2 scanzeiten müssen es sein da die Logik nicht genau sagen kann wann ein Gerät gescannt/gefunden wird während eines Zyklusses. -
@Siegfried
Meinst dass du den BLE-Adapter und Radar2 gleichzeitig auf einem BT-controller lsufen hast? Das geht nicht, da 2 Programme nicht gleichzeitig auf das BLE zugreifen können bzw scans unterbrochen werden wenn wer zugreift. -
@frankjoke aber ich bekomme daten von meiner mi -temperatur und meine tags werden vom radar erkannt
-
@ChristianF
Der kill miss bei HCI-Tool LEscan immer gemacht werden da es ewig laufen würde da man dort keineDauer angeben kann.
Bei 85% der scanzeit wird abgebrochen un noch Zeit für andere Dinge zu haben.Übrigens, würde euch raten längere scan-Zeiten von über 30 Sekunden zu nehmen wenn ihr mehr Geräte funden wollt.
Das mit dem Fehler verstehe ich nicht da der der Adapter selbst keinen Fehler ausgibt er aber dann von iobroker gestoppt wird.
Die Promise failed scheint von einem ECB/HP/UWZ-scan zu kommen wo keine Daten zurückgeliefert werden! Da es nur ein warning ist sollte der Adapter nicht abstürzen, werde mir es aber diese Woche anschauen.
-
@Siegfried
Ich hatte nur Probleme damit und verwende seither 2 BT.sticks (kosten ja eh nur <10€).