Ça c’est bon, c’est la dernière version stable.
Par contre je n’ai pas de Gen3, que des Gen2.
La version 1.4.0 va bientôt sortir => voir si cela améliorera quelque chose.
Je l’avais essayé cet ap midi en beta
Quand je colle ton premier exemple de code juste pour le scan dans le test en bas de la console.
function scanCB(ev, res) {
if (ev === BLE.Scanner.SCAN_RESULT) {
//let StaticMAC = { "addr": res.addr.slice(0,-2), "rssi": res.rssi };
let StaticMAC = { "addr": res.addr, "rssi": res.rssi, "macType": res.addr_type};
//print(JSON.stringify(StaticMAC));
if (StaticMAC['addr'] === "xx:xx:xx:xx:xx:xx") {
//print(JSON.stringify(StaticMAC));
MQTT.publish('shellies/script/bluetoothMAC', JSON.stringify(StaticMAC), 0, false);
//Shelly.emitEvent( "ShellyScanresult", StaticMAC);
}
}
}
BLE.Scanner.Start({ duration_ms: -1}, scanCB);
Il me retourne une erreur.
Uncaught SyntaxError: Got EOF expected '}' 20:25:37
at line 1 col 611 20:25:37
...duration_ms: -1}, scanCB);
Salut, es que vos script fonctionne sous tout les types de Shelly, type le 2 pm?
Si c’est le Shelly Plus 2PM, oui.
Salut, alors maintenant mes shellys 2pm sont géré par le mqtt, comment mettre le script et où ?
Voir le premier message…
Antoine
autre question ce remontre que des nuts ou on peut voire aussi des montre si on met l’addresse mac?
Je n’y connais rien en montres Bluetooth, le script fonctionne,normalement, pour tout module "beacon compatible"
.
Salut, avec ce script, j’ai mis les adresses mac de 4 nut.m et je ne récupère rien. Par contre avec le script ci dessous , je récupère des info en mqtt
let origine = JSON.stringify(Shelly.getDeviceInfo().name);
function scanCB(ev, res) {
if (ev === BLE.Scanner.SCAN_RESULT) {
if (res.local_name === 'nut') {
let topic = 'shellies/script/bluetooth/nut/' + res.addr + '/';
let unixtime = JSON.stringify(Shelly.getComponentStatus("sys").unixtime);
if(MQTT.isConnected()) {
MQTT.publish(topic + 'rssi', JSON.stringify(res.rssi), 0, false);
MQTT.publish(topic + 'unixtime', unixtime, 0, false);
MQTT.publish(topic + 'presence', unixtime, 0, false);
MQTT.publish(topic + 'origine', origine, 0, false);
}
}
}
}
BLE.Scanner.Start({ duration_ms: -1}, scanCB);
Pas d’erreur de syntaxe ?
J’ai fait un copier coller, je regarderai mieux ce Soir.
Bonjour,
J’ai essayé ce script, mais rien ne remonte dans les log de mqtt manager, ma config n’est peut-être pas la bonne:
Le bluetooth:
Mqtt:
Et pourtant j’ai quelques équipement BT à proximité.
Eric
As tu des retours dans MQTT Explorer ?
Dans ta dernière copie d’écran, lorsque tu sauvegardes, il faut systématiquement de nouveau renseigner le mot de passe (un bug certainement) de ton serveur Mosquitto.
Bonjour Jeandhom, et merci pour le coup de main,
Je ne connaissait pas cet outil, et je viens de l’installer.
Effectivement, il m’indique que le shelly n’est pas online, peut-être une erreur dans sa config.
Il est en version 1.4.2
Eric
As tu rebooté le Shelly ?
As tu donné un nom au Shelly (pour le script) ?
Oui, shelly rebooté à plusieurs reprises, mais maintenant le username et le password sont en kaki.
Il faut donner un nom en rapport avec le script ? Où ?
Eric
Remplissage automatique par le navigateur ?