NEWS
Pi 3 als Bluetooth LE Scanner (Beispielscript)
-
ok… nur LOL... habe nur iobroker neu installiert und NICHT als client konfiguriert.. jetzt läuft das script
jetzt habe ich iobroker gestoppt, iobroker setup custom.... siehe da, jetzt funktioniert das script auch als client iobroker und die werte werden alle eingetragen.
strange.. .ist aber so
-
die Frage war an rascal gerichtet!
Ob er das skript auf seinem neuen RasPi3 laufen hat, der als slave eingebunden ist.
Und nicht auf seinem Master!
Natürlich läuft es auf EINEM Raspi3, dafür ist es ja, und dafür hat rascal ja auch einen gekauft.
Gruß
Rainer
-
Schön, dass es nun klappt
Den Schritt, den Pi3 als Slave an meine Hauptinstallation anzubinden steht mir noch bevor. Wenn ich dazu Fragen habe, weiß ich jetzt an wen ich mich wenden kann
Gesendet von iPad mit Tapatalk
-
ich helfe gerne wenn ich kann…. wild Befehle in die Console klopfen und hoffen, dass irgendwas davon hilft ist meine Spezialität.
Danke nochmals für Eure Hilfe und Geduld, gn8
-
Wie funktioniert da genau mit dem löschen und auf blacklist setzen?
Habe einfach in den Objekten den Haken auf true gestellt. Sollte das device jetzt aus der Aufstellung verschwinden? Tut es nicht.
1146_delete_device.gif -
Das gleiche hier, habe mich auch schon gewundert
Gesendet von meinem HUAWEI CRR-L09 mit Tapatalk
-
Wie funktioniert da genau mit dem löschen und auf blacklist setzen?
Habe einfach in den Objekten den Haken auf true gestellt. Sollte das device jetzt aus der Aufstellung verschwinden? Tut es nicht. `
Auch nicht, wenn Du die Objekte danach aktualisierst (oben links der Button)?
Wenn nicht, muss ich mir das noch einmal ansehen, was ich da gemacht habe
-
Bei mir hilft auch das aktualisieren nicht
Gesendet von meinem HUAWEI CRR-L09 mit Tapatalk
-
Bei mir hilft auch das aktualisieren nicht
Gesendet von meinem HUAWEI CRR-L09 mit Tapatalk `
Ja, stimmt. Habe gerade nachgesehen. Da steckt das Messer noch im Schwein :lol:
Habe in der letzte Version die Funktion auskommentiert.
Werde die Funktion bis zum Wochenende neu implementieren.
Das Skript soll ja so funktionieren, dass man im Skript nichts ändern muss. Also macht die angedachte Funktion ja auch Sinn. Wird nachgereicht.
-
Anbei die Version 0.4.1
Mit der Version sollte nun das manuelle Löschen eines angelegten Bluetooth Device funktionieren.
Im Zweig Control des Device den Datenpunkt Delete_Device auf true setzen.
Dann wird nach einem Scandurchlauf (im Default 10 Sekunden) das Device mit all seinen Datenpunkten gelöscht.
Der Channel inkl. Name bleibt erhalten. Man erhält so eine Übersicht über die gelöschten Geräte.
Ansonsten kann man nachträglich auch den Channel ohne Gefahr manuell löschen.
Achtung! Wenn ein Gerät zum löschen gekennzeichnet wurde, würde ich den Scandurchlauf abwarten, bis das Gerät gelöscht wurde, bevor das Skript eventuell gestoppt wird.
Das Skript ist dann auch in der Beziehung komplett ohne Eingriff bedienbar.
Soll das Gerät wieder von der Blacklist gelöscht werden, so dass es beim Scan wieder automatisch hinzugefügt werden kann, kann die ID von der Blacklist im Zweig javascript.0.Bluetooth.InfoDevices.Blacklist.Deleted_Devices entfernt werden.
-
Danke,
funktioniert so wie von dir beschrieben.
-
Ich benutze das Script auf einem Remote Rasp, funktioniert soweit sehr gut.
Das einzige was mir aufgefallen ist, wenn ich am main iobroker stoppe/restarte, dann meldet das Script bei jedem Durchlauf, dass die Bluetooth devices nicht da sind.
Da hilft dann das Script anhalten, ControlScan_ON auf false setzten, bisschen warten, Script starten und variable wieder auf true setzen.
Muss das nächste mal schauen (wenn ich nicht vergesse), ob es hilft, wenn ich das Script vor dem iobroker restart stoppe und danach wieder starte
-
Ich habe immer noch keine Multihostumgebung aufgebaut. Muss ich wohl mal machen
Eventuell kann Bluefox was zu den Besonderheiten in der Multihostinstallation sagen.
Bekommst Du in der von Dir beschriebenen Situation dann irgendwelche Logeinträge?
Vielleicht kann man das ja abfangen.
Aus dem Bauch würde ich sagen, dass das nicht passiert, wenn Du vor dem ioBroker Restart das Skript stoppst.
-
Ich möchte mich hier einmal einklinken.
Die gesamte Lösung ist äußerst interessant. Da ich zwei Raspberrys habe, eine produktive Umgebung (Raspi 2) und eine Testumgebung (Raspi 3). In der Testumgebung funktioniert alles prima.
Nun meine Frage: Wie bekomme ich noble auf dem Raspi 2 zum Laufen?
Am Raspi 2 habe ich einen LogiLink USB Bluetooth 4.0 Dongle.
Gibt es dafür irgendeine Anleitung, die auch funktioniert?
Ich erhalte bei der direkten Installation Fehlermeldungen.
Macht bitte so weiter, ich lerne inzwischen eine ganze Menge und treibe meine iobroker-Installation voran.
1055_error.txt -
-
Hallo,
bei mir ist nicht der Bluetooth-Dongle das Problem,
pi@rasp-ccu:~ $ sudo hcitool lescan
LE Scan …
7C:2F:80:AD:C3:7F (unknown)
7C:2F:80:AD:C3:7F Gigaset G-tag
7C:2F:80:AD:C3:7F (unknown)
7C:2F:80:AD:C3:7F Gigaset G-tag
7C:2F:80:AD:C3:7F (unknown)
sondern die noble installation.
sudo npm install noble --production --prefix "/opt/iobroker/node_modules/iobroker.javascript"
Die Fehlermeldungen sind in meinem vorherige Post enthalten.
-
Naja, wenn man es richtig macht, dann funktioniert es auch.
Die Anleitung hatte ich ja schon abgearbeitet, ohne Erfolg. NAchdem ich aber die noble-Installation als root gemacht habe, lief alles durch, ohne Fehlermeldung.
Ich habe zwar derzeit den Überblick verloren, wann ich eine Installation als normaler User machen kann, wann mit sudo und wann als root, aber jetzt funktiniert es.
Danke und einen schönen Abend.
-
Hattest Du auch mal versucht, noble einfach in der Javascript Instanz einzutragen?
Siehe im ersten Post:
"2.) "noble" in der Javascript Instanz (Config) eintragen (ohne Anführungszeichen)"
-
Hallo ruhr70,
das war mein erster Versuch, der natürlich scheiterte. Es gab eine Reihe an Fehlermeldungen im iobroker log und der Scanner brachte auch Fehler.
Erst als ich als root die Installation gemacht habe, war alles in Ordnung.
Jetzt nach längeren Testen, ist mir doch noch eine Sache aufgefallen:
Ich setze ein G-Tag ein und stelle fest, dass sowohl auf der Produktivmaschine als auch auf der Testmaschine der Status häufig kurz wechselt, obwohl sich an dem Standort des G-Tags nicht ändert.
Er liegt ca. 1m von beiden Rechnern entfernt und die Variable lastState ist im Scan meistens true, wie erwartet, springt zwischendurch aber kurz auf false um dann gleich wieder true zu werden.
Hast du dafür eine Idee?
-
Ich setze ein G-Tag ein und stelle fest, dass sowohl auf der Produktivmaschine als auch auf der Testmaschine der Status häufig kurz wechselt, obwohl sich an dem Standort des G-Tags nicht ändert.
Er liegt ca. 1m von beiden Rechnern entfernt und die Variable lastState ist im Scan meistens true, wie erwartet, springt zwischendurch aber kurz auf false um dann gleich wieder true zu werden. `
Bei mir läuft der G-Tag sauber durch.
Was bedeutet "gleich wieder auf true"?
Im nächsten Scandurchlauf? Oder "flackert" der Zustand in den Objekten?