Shelly BLU DoorWindow - Kontakt Alarma Abrage bleibt hängen

Habt ihr in Homey eure BLE Proxys gestartet ?

Ansonsten schickt mir euren Fensterkontakt (ohne Magnet). Ich prüfe ihn bei mir und kann euch dann sagen, ob der Fensterkontakt oder eure Proxys das Problem sind. Natürlich bekommt ihr den Fensterkontakt wieder zurück. Adressdaten nur über PN. Ich selbst verwende bei Homey die neueste beta Version. Homey ist nicht das Problem, ich hatte noch nie nach einem Update der Firmware ein Problem.

Heute Morgen wieder ausgefallen.
Im Shelly app ist alles wunderbar und Kontakt geschlossen - Im Homey aber blieb offen.

ich habe bedenkne dass wenn ich den Sensor einfüge, erkennt der Homey über eigenen BLU und nicht über HUB. Kann sein dass da was Falsch mache?

Kannst du bitte beschreiben wie du es machst?
Also klar zu erst in Shelly app einbinden und dann in HUB.
Aber wie genau im Homey weiter ?

Homey kann die Shelly BLU Geräte nicht über Bluetooth erkennen. Dafür ist die App gar nicht programmiert. Homey erkennt die Geräte nur über die angeschlossen Gateways.

Meine Reihenfolge ist immer gleich:

  • Zurücksetzen auf Werkseinstellungen mit der Shelly Debug App
  • dann über die Shelly Debug App das Update einspielen
  • Jetzt an der Shelly Android App anmelden.
  • Jetzt Homey mit “Any Shelly Bluetooth” nach dem Gerät suchen

Ich weiß nicht, ob ihr mit IOS arbeitet und ob dann die Programme gleich sind. Die Shelly Debug App muss man nicht nehmen. Ein Update geht auch über die normale App. Falls du mit Android arbeitest, lad die die Debug App runter und setz damit den Sensor auf Werkseinstellungen zurück. Jetzt spiel auch mit der Debug App die Firmware neu auf und dann melde ihn neu an.

Shelly Debug App:

Wenn du IOS verwendest und es solch eine App nicht gibt, schick mir den Sensor. Ich setz ihn zurück und spiel die Firmware neu auf. Dann bekommst du ihn zurück und du kannst nochmal testen und berichten.

  • Jetzt Homey mit “Any Shelly Bluetooth” nach dem Gerät suchen

Dabei aber auf dem Sensor die Taste 3s oder so was betätigen oder?

Einfach auf den Sensor Knopf drücken 1x. Dann alle 5 Sekunden erneut drauf drücken, um den Sensor wach zu halten. Das so lange wiederholen, bis der Sensor gefunden wurde.

Hab es noch mal genau so gemacht.

mal sehen wie lange es geht, weil das geht sporadisch, kann monate funktionieren, kann paar Tage.

Ich bin gespannt

- Kann ich erkennen, ob die Proxis gestartet wurden? → funktionierte ja mal

  • Beim BLU Kontakt: Sollte Beacon-Modus eingeschaltet sein?
  • Mit der Debug-App habe ich bereits auf Werkseinstellung gesetzt, weil ich nach dem Update nichts mehr einbinden konnte. Alles ist auf dem neusten Softwarestand..
  • Macht es Sinn, sämtliche Bluetooth-Gateway zu aktivieren? (Ich habe nur die 3 angewählt, welche am nächsten beim BLU und Homey sind) Kann aber auch alle 14 anwählen. (Nimmt er automatisch den besten Gateway?)
  • Die Türe hatte nun 16h kein Signal mehr erhalten..?

Leider nein

Das spielt keine Rolle

Ja, unbedingt. Das BLU Gerät sucht sich sein Gateway selbst und wechselt auch selbstständig das Gateway, sofern es ein besser empfangbares gibt.

Ich hab dir da keine Antwort drauf. Bei mir melden dich alle. Selbst ein Fenster, das seit einem halben Jahr nicht mehr offen war, zeigt sofort, dass es geöffnet und geschlossen wurde :man_shrugging:.

Das hört sich alles danach an, dass durch irgendwas der Bluetooth Empfang gestört ist. Ich habe aber keine Ahnung, wo das Problem liegen kann.

1 Like

Lösung:

Sämtlich möglichen Gateways anwählen (Optimierung)
Start BLE Proxy der einzelnen Geräte

Lösung:

Sämtlich möglichen Gateways anwählen (Optimierung)
Start BLE Proxy der einzelnen Geräte

Vorgehen, BLE-Proxy manuell starten
Vorgehen, BLE-Proxy über Flow starten

_________________________________________________________________________________________.
_________________________________________________________________________________________.

Um alle Shelly-Geräte zu finden, welche überhaupt über den BLE-Proxy verfügen, kann dieses Skript ausgeführt werden:

let devices = await Homey.devices.getDevices();
let zones = await Homey.zones.getZones();
let eligibleDevices = [];

// Geräte mit BLE Proxy-Fähigkeit sammeln
for (let id in devices) {
  let device = devices[id];
  if (device.capabilities.includes('button.enable_ble_script')) {
    let zoneName = zones[device.zone]?.name || 'Unbekannte Zone';
    eligibleDevices.push({ name: device.name, zoneName });
  }
}

// Sortieren nach Zone und Gerätename
eligibleDevices.sort((a, b) => {
  if (a.zoneName === b.zoneName) {
    return a.name.localeCompare(b.name);
  }
  return a.zoneName.localeCompare(b.zoneName);
});

let output = [];
output.push('');
output.push(`Scan abgeschlossen (${eligibleDevices.length} Geräte gefunden):`);
output.push('');
output.push(`| Zone               | Gerät                                   |`);
output.push(`|--------------------|-----------------------------------------|`);

for (let device of eligibleDevices) {
  let zoneCol = device.zoneName.padEnd(19);
  let nameCol = device.name.padEnd(40);
  output.push(`| ${zoneCol}| ${nameCol}|`);
}

return output;

_________________________________________________________________________________________.

Um den BLE-Proxy bei allen Shellys zu aktivieren, kann dieses Skript ausgeführt werden:
(Achtung: Dies dauert je nach Anzahl der Geräte relativ lange und man sieht nicht, dass das Skript läuft. Rechnet pro Gerät - im vorderen Skript wurde die Anzahl ja ausgelesen - 10sec/Gerät)

let devices = await Homey.devices.getDevices();
let zones = await Homey.zones.getZones();
let zoneMap = {};

// Geräte mit BLE Proxy-Fähigkeit sammeln und nach Zone gruppieren
for (let id in devices) {
  let device = devices[id];
  if (device.capabilities.includes('button.enable_ble_script')) {
    let zoneName = zones[device.zone]?.name || 'Unbekannte Zone';
    if (!zoneMap[zoneName]) zoneMap[zoneName] = [];
    zoneMap[zoneName].push({ id, name: device.name });
  }
}

// Zonen alphabetisch sortieren
let sortedZones = Object.keys(zoneMap).sort();
let output = [];
output.push('');
output.push(`Zusammenfassung der Aktivierung:`);
output.push('');
output.push(`| Zone               | Gerät                                   | Status             |`);
output.push(`|--------------------|-----------------------------------------|--------------------|`);

for (let zone of sortedZones) {
  let sortedDevices = zoneMap[zone].sort((a, b) => a.name.localeCompare(b.name));
  for (let device of sortedDevices) {
    let status = '';
    try {
      await Homey.devices.setCapabilityValue({
        deviceId: device.id,
        capabilityId: 'button.enable_ble_script',
        value: true
      });
      status = '✅ aktiviert';
    } catch (error) {
      status = '❌ Fehler';
    }

    let zoneCol = zone.padEnd(19);
    let nameCol = device.name.padEnd(40);
    let statusCol = status.padEnd(18);
    output.push(`| ${zoneCol}| ${nameCol}| ${statusCol}|`);
  }
}

return output;
1 Like

Ich hab dein Beitrag als Lösung markiert.

Ps hab von anderen Beitrag als Lösung gesehen.

So bis Heute keine ausfälle

1 Like