-
Autor
Hallo,
ich versuche folgende Scripte auf einem PlugSG3 laufen zu lassen, um MAC und Namen von BLE Geräten in der Nähe anzeigen zu lassen. Sie starten ohne Fehlermeldung, liefern aber keinerlei Ergebnisse im Log. Haben die PlugSG3 keine BLE Unterstützung oder ist da ein Fehler im script?
Code
function handleScanResult(event, result) {
if (event === BLE.Scanner.SCAN_RESULT && result) {
if (result.manufacturer_data && result.manufacturer_data["0969"]) {
print("Found SwitchBot device!");
print("MAC Address:", result.addr);
print("Name:", result.local_name || "No name");
print("RSSI:", result.rssi);
}
}
}
// Start scanning
BLE.Scanner.Subscribe(handleScanResult);
function startScan() {
if (!BLE.Scanner.isRunning()) {
let scanOptions = {
duration_ms: 30000,
active: true
};
BLE.Scanner.Start(scanOptions, handleScanResult);
}
}
Timer.set(35000, true, startScan, null);
startScan();
Alles anzeigen
oder:
Code
// Vorherige Scans stoppen
BLE.Scanner.Stop();
// Funktion zum Scannen von BLE-Geräten
function scanBLEDevices() {
let scanOptions = {
duration_ms: 5000, // Reduzierte Dauer
active: true,
interval_ms: 100,
window_ms: 30
};
// Ereignis-Handler für Scan-Ergebnisse
BLE.Scanner.Subscribe(function(event, result) {
switch (event) {
case BLE.Scanner.SCAN_START:
print("Scan gestartet...");
break;
case BLE.Scanner.SCAN_STOP:
print("Scan beendet.");
break;
case BLE.Scanner.SCAN_RESULT:
print("Gerät gefunden:");
print(" - MAC-Adresse:", result.addr);
if (result.local_name) {
print(" - Name:", result.local_name);
}
break;
}
});
// Scan starten
let result = BLE.Scanner.Start(scanOptions);
if (result) {
print("Scan erfolgreich gestartet.");
} else {
print("Scan konnte nicht gestartet werden.");
}
}
// Scan ausführen
scanBLEDevices();
Alles anzeigen
Was auch auffällt, unter "components" auf der Weboberfläche fehlt BTHome. Besteht da ein Zusammenhang?
Das einzige Script was in dem Zusammenhang funktioniert, ist "aioshelly_ble_integration" von Homeassistant, aber dies macht den PludSG3 ja nur zum Proxy.
Schönes Wochenende und Gruss
Mario