NEWS
Pi 3 als Bluetooth LE Scanner (Beispielscript)
-
Hallo
Ich habe das Sript installiert und es findet fast alle BLE Geäte.
Dazu später wenn die warnungen weg sind mehr.
Ich bekomme aber noch laufend warnungen vom Script.
nodejs -v = v6.14.1
node -v = v6.14.1
javascript.0 2018-04-24 11:42:47.464 info script.js.common.Skript1: noble.state ist nicht powerdOn. noble.state: unknown javascript.0 2018-04-24 11:42:47.464 warn at Object.stopScan (script.js.common.Skript1:1337:5) javascript.0 2018-04-24 11:42:47.464 warn at delDelDevices (script.js.common.Skript1:1044:19) javascript.0 2018-04-24 11:42:47.464 warn getState "Bluetooth.Device.b0b448dab8f5.Control.Delete_Device" not found (3) javascript.0 2018-04-24 11:42:47.463 warn at Object.stopScan (script.js.common.Skript1:1335:5) javascript.0 2018-04-24 11:42:47.463 warn at scanEndeVerarbeiten (script.js.common.Skript1:1245:9) javascript.0 2018-04-24 11:42:47.463 warn at nichtErreichbar (script.js.common.Skript1:1171:13) javascript.0 2018-04-24 11:42:47.463 warn State "Bluetooth.Device.b0b448dab8f5.lastStateCount" not found javascript.0 2018-04-24 11:42:47.463 warn at Object.stopScan (script.js.common.Skript1:1335:5) javascript.0 2018-04-24 11:42:47.462 warn at scanEndeVerarbeiten (script.js.common.Skript1:1245:9) javascript.0 2018-04-24 11:42:47.462 warn at nichtErreichbar (script.js.common.Skript1:1171:61) javascript.0 2018-04-24 11:42:47.462 warn getState "Bluetooth.Device.b0b448dab8f5.lastStateCount" not found (3) javascript.0 2018-04-24 11:42:47.462 warn at Object.stopScan (script.js.common.Skript1:1335:5) javascript.0 2018-04-24 11:42:47.462 warn at scanEndeVerarbeiten (script.js.common.Skript1:1245:9) javascript.0 2018-04-24 11:42:47.462 warn at nichtErreichbar (script.js.common.Skript1:1170:13) javascript.0 2018-04-24 11:42:47.461 warn State "Bluetooth.Device.b0b448dab8f5.lastState" not found javascript.0 2018-04-24 11:42:47.461 warn at Object.stopScan (script.js.common.Skript1:1321:9) javascript.0 2018-04-24 11:42:47.461 warn at nichtErreichbar (script.js.common.Skript1:1171:13) javascript.0 2018-04-24 11:42:47.461 warn State "Bluetooth.Device.b0b448dab8f5.lastStateCount" not found javascript.0 2018-04-24 11:42:47.461 warn at Object.stopScan (script.js.common.Skript1:1321:9) javascript.0 2018-04-24 11:42:47.461 warn at nichtErreichbar (script.js.common.Skript1:1171:61) javascript.0 2018-04-24 11:42:47.460 warn getState "Bluetooth.Device.b0b448dab8f5.lastStateCount" not found (3) javascript.0 2018-04-24 11:42:47.460 warn at Object.stopScan (script.js.common.Skript1:1321:9) javascript.0 2018-04-24 11:42:47.460 warn at nichtErreichbar (script.js.common.Skript1:1170:13) javascript.0 2018-04-24 11:42:47.459 warn State "Bluetooth.Device.b0b448dab8f5.lastState" not found
Es liegt wohl am Noble ?
Noble ist im Javascript-Adapter eingetragen.
apt-get install bluetooth bluez libbluetooth-dev libudev-dev
ist auch installiert.
Was muss ich machen?
Gruß NetFritz
-
Erlaub mal bitte in der Javascript Instanz und schalte setObjects()
Ich nutze das Skript schon lange nicht mehr und habe es jetzt extra wieder auf einem Slave installiert.
Beim ersten Start hatte ich auch die Fehler. Die Objekte waren noch nicht angelegt.
Nach dem zweiten Start läuft es bei mir fehlerfrei.
Das Skript müsste aber trotzdem mal überarbeitet werden.
Die Grenze, die als max. Anzahl Geräte eingestellt ist greift nicht. Wahrscheinlich ein Bug im Skript.
Und offensichtlich hat die Webseite app.macvendors.com ein Problem mit den ganzen MAC-Adressen Abfragen und meldet tlw.
{"errors":{"detail":"Too Many Requests","message":"Please slow down your requests or upgrade your plan at https://app.macvendors.com"}}
Hier müsste dann ein Timing eingebaut werden, dass die Anfragen in Zeitabständen abgefragt werden.
-
Hallo
> Erlaub mal bitte in der Javascript Instanz und schalte setObjects()
Hatte ich schon gemacht.
> die Grenze, die als max. Anzahl Geräte eingestellt ist greift nicht. Wahrscheinlich ein Bug im Skript.
Habe ich auch schon festgestellt.Ich hatte den ble-Adapter zuerst installiert.
Der liefert noch weniger Objekte.
Ich hatte mir zum ausprobieren von DSD Tech SH-M08 mit dem TI CC2551 gekauft,
der erscheint aber in den Objekten nicht.
Kann seoin das es an den max 10 Gräten liegt?
Gruß NetFritz
-
Kannst Du Dein Gerät mit einem BLE Scanner auf dem Handy finden?
Oder ist es mit einer App verbunden?
Bei den Gtags ist es z.B. So, dass sie nur gefunden werden, solange sie nicht mit der G-Tag App verbunden sind.
Gesendet von iPad mit Tapatalk
-
Hi ruhr70,
Mit der Beebox habe ich wohl aufs falsche Pferd gesetzt.
Ich warte jetzt noch auf meinen NUC, um IObroker und die Visualisierung neu aufzusetzen. Ein Backup gibt es natürlich nicht. Selbst schuld.
Sobald das erledigt ist, beginne ich, Slaves mit 2 Raspberry PI2 fertig zu machen.
Der NUC kann leider kein BLE, deshalb der Umweg über die 2 Raspberries.
Gruß,
Mathias
P.S. Ein Xiaomi Gateway unf ein Switch als Klingeltaster sollen dann auch noch arbeiten.
Gesendet von meinem SM-N915FY mit Tapatalk
-
Hallo
> Kannst Du Dein Gerät mit einem BLE Scanner auf dem Handy finden?
Ja.Kein Gerät ist mit einer App verbunden.
Der G-tag wird auch gefunden.
Gruß NetFritz
-
So jetzt bin ich so weit!
Die Beebox rennt wieder, auf beiden Slaves werden alle G-Tags erkannt.
Das war sowieso ein Gezeter. Ubuntu wollte einfach nicht laufen. Das Gehäuse aufgeschraubt und nu….... SATA-Kabel war hin.
Nun zur Frage, kann man ein Programm schreiben, vorzugsweise in Blocky, das G-Tag 1 Slave1 - Slave2 zusammenfasst?
Das würde ich dann mit G-Tag 2 Slave1 - Slave2 und G-Tag 3 Slave1 - Slave2 machen.
Ich will damit bezwecken, dass ich wirklich abwesend bin, wenn der G-Tag bei beiden Slaves false ist.
Gruß,
Mathias
Gesendet von meinem SM-N915FY mit Tapatalk
-
Nun zur Frage, kann man ein Programm schreiben, vorzugsweise in Blocky, das G-Tag 1 Slave1 - Slave2 zusammenfasst?
Das würde ich dann mit G-Tag 2 Slave1 - Slave2 und G-Tag 3 Slave1 - Slave2 machen.
Ich will damit bezwecken, dass ich wirklich abwesend bin, wenn der G-Tag bei beiden Slaves false ist. `
Hi Matthias,
Mit Blockly kann ich Dir nicht weiterhelfen.
In Javascript würdest Du mit on() die Datenpunkte Deiner G-Tags überwachen und auf Änderung reagieren.
Dann jeweils den Zustand des korrespondierenden G-Tag abfragen und mit ODER verknüpfen.
Bei min 1x true ist der G-Tag da, bei 2x false abwesend.
Wenn da die Zustände gezählt werden, kannst Du dies auch noch mit dem Datepunkt .lastStateCount verküpfen.
einer true, lastStateCount egal -> anwesend
Beide false und bei beiden .lastStateCount >= 5: abwesend.
ungetestet für einen G-Tag (ohne Count):
var logOn = true; // logging true/fals var idGtag1slave1 = "javascript.1.Bluetooth.Device.DEINGTAG1.lastState"; var idGtag1slave2 = "javascript.2.Bluetooth.Device.DEINGTAG1.lastState"; on({id:[idGtag1slave1,idGtag1slave2],change:'ne'}, function (obj) { if(logOn) ("Zustandsänderung von " + obj._id + " auf " + obj.state.val); var gtag1slave1 = getState(idGtag1slave1); var gtag1slave2 = getState(idGtag1slave2); if(logOn) log("G-Tag 1: Slave 1: " + gtag1slave1 + " - Slave 2: " + gtag1slave2); if(gtag1slave1 || gtag1slave2) { if(logOn) log("G-Tag 1: ist anwesend"); } else { if(logOn) log("G-Tag 1: ist abwesend"); } });
-
Das werde ich doch gleich mal ausprobieren!
Übermorgen ist ja Feiertag und Basteltag.
Heute bleibt der Rechner aus
Ich muß morgen sehr früh raus.
Danke für den Skript. Ich bin, was Java(skript) angeht ein totaler Anfänger.
Ich bin gespannt, ob ich auch das Xiaomi-Gsteway samt Sensoren zum Laufen bekomme. Das ist aber wiederum eine andere Geschichte.
Gruß,
Msthias
Gesendet von meinem SM-N915FY mit Tapatalk
-
Ich habe deinen Anwesenheits-Script laufen lassen.
Nun zum Problem:
Auf Slave1 (javascript1) läuft alles rund.
Wenn ich jetzt in das Wohnzimmer gehe, bin ich auf Slave2 (Javascript2) online, dann offline, dann wieder online….... etc.
ich habe jetzt Slave2 deaktiviert und vom Master gelöscht, weil er doch nicht benötigt wird.
Ich weiß nicht, ob es nur mir so geht. Wenn ich den Master neu starte über -->Admin-->Hosts-->Master links iobroker neustart, dann habe ich gar kein Signal mehr.
Wenn ich den Slave anschließend auf dem gleichen Weg neu starte, ist alles in Butter.
Nur noch eine Frage:
Die Blockly-Programme laufen jetzt Gott sei dank auf dem Master.
Ist es besser, wenn ich die 3 Scripte über den Master oder dem Slave laufen lasse?
Gruß,
Mathias
-
Auf Slave1 (javascript1) läuft alles rund.
Wenn ich jetzt in das Wohnzimmer gehe, bin ich auf Slave2 (Javascript2) online, dann offline, dann wieder online….... etc.
ich habe jetzt Slave2 deaktiviert und vom Master gelöscht, weil er doch nicht benötigt wird. `
Kann es sein, dass der Zustand auf dem Slave im Wohnzimmer immer gewechselt hat (true/false/true).
Um as zu überprüfen kannst Du History für den Datenpunkt aktivieren und ansehen, wie und wann sich die Zustände ändern.
Ich weiß nicht, ob es nur mir so geht. Wenn ich den Master neu starte über –>Admin-->Hosts-->Master links iobroker neustart, dann habe ich gar kein Signal mehr.
Wenn ich den Slave anschließend auf dem gleichen Weg neu starte, ist alles in Butter. `
Ja, ist bei mir auch so.
Nur noch eine Frage:
Die Blockly-Programme laufen jetzt Gott sei dank auf dem Master.
Ist es besser, wenn ich die 3 Scripte über den Master oder dem Slave laufen lasse? `
Du meinst auf welcher Javascript Instanz Dein Skript läuft?
Ich würde es auf der Instanz des Masters machen. Ist aber eigentlich auch egal.
-
Dankeschön! Dann habe ich ja alles richtig gemacht!
Ich wünsche einen schönen Feiertag!
UPDATE:
Ich habe die Anwesenheitskennung nun mit ein paar Homematic-Programme verknüpft, nachdem ein Blockly-Skript eine SysVar von abwesend nach anwesend oder umgekehrt ändert.
Nun habe ich doch noch eine Frage:
Ist es möglich diese Anwesenheitskennung auch in piVCCU unter dem Asus Tinkerboard zu installieren?
Gruß,
Mathias
-
Hi,
ich suche eine Möglichkeit um Bluetooth Geräte in meiner Umgebung zu taggen. Oder besser ich möchte wissen wann sich welche Bluetooth Geräte in meiner Umgebung befinden, ist das hier möglich?
Danke
-
wenn es BLE Geräte sind, ja
iPhone z. B. nicht.
am Anfang des Threads sind Beispiele, welche Geräte gehen
Gesendet von iPhone mit Tapatalk
-
Hi,
Danke für die Info.
Dann muss ich weiter suchen. Mir geht es um Handy mit Android und IOS.
Es scheint aber irgendwie nichts zu geben.
-
ich fürchte, da wirst Du nichts finden.
Du kannst natürlich eine entsprechende App drauf machen, die ständig funkt.
Gesendet von iPhone mit Tapatalk
-
Es werden sogar meine Xiaomi flower sensors getriggert.
Na gut, die sind mir eigentlich egal. Wichtig sind mir die beacons, um zu sehen wer an- bzw abwesend ist.
Ich habe mir zu Testzwecken auch billige beacons bei Aliexpress bestellt. Die gehen auch.
Gruß,
Mathias
Gesendet von meinem SM-N915FY mit Tapatalk
-
Hallo ruhr70,
habe mal wieder dein Skript herausgekramt und auf einem NUC installiert.
Jetzt hat er was gefunden, aber es kommt eine Fehlermeldung:
{"errors":{"detail":"Page not found"}}
Beim Schnellen Überfliegen denke ich dass das von hier kommt:
var url = 'http://api.macvendors.com/' + id;
Bei eingabe des URL ohne ID kommt auf der Seite:
__ __ ___ ___ __ __ _ | \/ | / \ / __| \ \ / / ___ _ _ __| | ___ _ _ ___ | |\/| | | - | | (__ \ V / / -_) | ' \ / _` | / _ \ | '_| (_-< |_|__|_| |_|_| \___| _\_/_ \___| |_||_| \__,_| \___/ _|_|_ /__/_ _|"""""|_|"""""|_|"""""|_| """"|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""| "`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-' Make an account at https://app.macvendors.com
EDIT:
und mit angabe der MAC
https://api.macvendors.com/5c:04:6d:34:1c:c9
kommt genau das:
{"errors":{"detail":"Page not found"}}
Gruß
Rainer
-
ja, ist mir vor einiger Zeit auch aufgefallen, dass es die Seite mit den Herstellern nicht mehr gibt.
Das Skript lief bei mir trotzdem
Gesendet von iPhone mit Tapatalk
-
ich ändere das aber mal, wenn ich wieder daheim bin
Gesendet von iPhone mit Tapatalk