Also unter Homeassistant können die Shellys mit Original FW als Bluetooth Proxys eingesetzt werden funktioniert auch Hervorragend.
Also sollte das sicher auch anders möglich sein
VPN/Proxy erkannt
Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.
Also unter Homeassistant können die Shellys mit Original FW als Bluetooth Proxys eingesetzt werden funktioniert auch Hervorragend.
Also sollte das sicher auch anders möglich sein
Datum und Uhrzeit sollte sich automatisch einstellen wenn der Shelly mit time.google.com kommunizieren kann.
Ansonsten muss ein SMTP Server eingestellt werden. Auch würde ich mal ein Update machen das ist ja noch ne sehr alte FW.
Wie genau die CSV speichert keine Ahnung Homeassistant speichert jegliche Änderung.
Wieso kannst du dich nicht in die App einwählen?
Im Zusammenhang mit der Manuellen Zeit vermute ich hier eine Fehlerhaft eingestellte Firewall oder ähnliches. Hier evtl. Filter im Router oder einen PiHole im Einsatz?
Evtl. könnte AP roaming am Shelly helfen bei Gen2 leider nicht über UI oder App einstellbar
Den shelly mal kurz vom Strom genommen. Kann manchmal auch ein halbes Wunder bewirken
Vermutlich verbindet sich der Shelly mit dem Repeater nur ist dann der Empfang zu schlecht versuch es mal mit AP Roaming in den Einstellungen am Shelly
Am besten direkt beim Support anfragen ansonsten nichts neues
Ja das ist bekannt 😉
Warum sowas ein Armutszeugnis sein soll entgeht mir ich hoffe mal du machst in deinem Leben niemals einen kleinen Fehler und danach redet niemand entsprechend so darüber 👍
Die Mechanische Endlage ist für den Shelly besser da hier auch die Erkennung über die Leistung optimal funktionieren kann.
Am besten machst du mal ein Bild vom Anschluss klingt wirklich nach fehlerhaft angeschlossen. Der Shelly 1 ist potentialfrei der 1PM nicht.
Müsste ja dann jetzt mit Homeassistant funktionieren 🤣🤣 2023.5.0
Ok nur in deine Screenshot war das Bluetooth Symbol aus. Aber nach dem aktivieren des Bluetooths sollte eigentlich eine Meldung kommen das er einen reboot benötigt. Diese klebt aber in der Regel oben
Ja aktiviere mal Bluetooth!
Hast du in den debug Einstellungen den Websocket debug aktiv?
Ich hatte da auch schonmal was grob entworfen für IOS für andere Geräte müsste man sich lediglich die einzelnen Parameter raussuchen. Hab mich aber aktuell erst mal auf andere Projekte gestürzt aber evtl. kann das ganze behilflich sein auch in Verbindung mit eine Button blu z.b.
Evtl. kannst du das mal für irgendwas gebrauchen.
let CONFIG = {
room: "Büro",
prefix: "presence",
topic: "/presence",
rssiPresent: -40,
rssiNotPresent: -99,
mfdID: 0x004c,
handoff: 0x0c,
nearby: 0x10,
phone: 0x0e,
watch: 0x0f,
handoffActive: true,
debug: true
};
let DeviceParser = {
getData: function (res) {
if (res === null) return null;
let rssi = null;
let data = BLE.GAP.ParseManufacturerData(res.advData);
packedStruct.setBuffer(data);
let device = packedStruct.unpack('<HB>BB', ['mfdID', 'data0', 'data1', 'data2']);
if (device.mfdID !== CONFIG.mfdID) return null;
if (device.data0 === CONFIG.nearby) return null;
if (device.data0 === CONFIG.handoff && CONFIG.handoffActive === true){
rssi = Math.max(res.rssi, rssi);
if (CONFIG.debug === true) {
print ("Found Apple boradcast for handoff");
print ("mac=",res.addr,"; rssi=",res.rssi);
}
}
if (device.data2 === CONFIG.watch){
rssi = Math.max(res.rssi, rssi);
if (CONFIG.debug === true) {
print ("Found Apple Watch");
print ("mac=",res.addr,"; ac=",device.data2,"; rssi=",res.rssi);
}
}
if (device.data2 === CONFIG.phone){
rssi = Math.max(res.rssi, rssi);
if (CONFIG.debug === true) {
print ("Found iPhone");
print ("mac=",res.addr,"; ac=",device.data2,"; rssi=",res.rssi);
}
}
if (rssi === null) return null;
let rm = {
addr: res.addr,
rssi: res.rssi
};
return rm;
},
};
function scanCB(ev, res) {
if (ev !== BLE.Scanner.SCAN_RESULT) return;
let presence = DeviceParser.getData(res);
if (presence === null) return;
presence.presence = true;
presence.room = CONFIG.room;
print (JSON.stringify(presence));
if (presence.rssi > CONFIG.rssiPresent){
//presence.presence = true;
//Shelly.emitEvent("ble_presence", presence);
if (CONFIG.debug === true) {
print("present", JSON.stringify(presence));
}
} else if (presence.rssi < CONFIG.rssiNotPresent){
//presence.presence = false;
//Shelly.emitEvent("ble_presence", presence);
if (CONFIG.debug === true) {
print("not_present", JSON.stringify(presence));
}
}
}
BLE.Scanner.Start({
duration_ms: BLE.Scanner.INFINITE_SCAN,
active: true,
interval_ms: 1200,
window_ms: 50
}, scanCB);
let packedStruct = {
buffer: '',
setBuffer: function(buffer) {
this.buffer = buffer;
},
utoi: function(u16) {
return (u16 & 0x8000) ? u16 - 0x10000 : u16;
},
getUInt8: function() {
return this.buffer.at(0)
},
getInt8: function() {
let int = this.getUInt8();
if(int & 0x80) int = int - 0x100;
return int;
},
getUInt16LE: function() {
return 0xffff & (this.buffer.at(1) << 8 | this.buffer.at(0));
},
getInt16LE: function() {
return this.utoi(this.getUInt16LE());
},
getUInt16BE: function() {
return 0xffff & (this.buffer.at(0) << 8 | this.buffer.at(1));
},
getInt16BE: function() {
return this.utoi(this.getUInt16BE(this.buffer));
},
unpack: function(fmt, keyArr) {
let b = '<>!';
let le = fmt[0] === '<';
if(b.indexOf(fmt[0]) >= 0) {
fmt = fmt.slice(1);
}
let pos = 0;
let jmp;
let bufFn;
let res = {};
while(pos<fmt.length && pos<keyArr.length && this.buffer.length > 0) {
jmp = 0;
bufFn = null;
if(fmt[pos] === 'b' || fmt[pos] === 'B') jmp = 1;
if(fmt[pos] === 'h' || fmt[pos] === 'H') jmp = 2;
if(fmt[pos] === 'b') {
res[keyArr[pos]] = this.getInt8();
}
else if(fmt[pos] === 'B') {
res[keyArr[pos]] = this.getUInt8();
}
else if(fmt[pos] === 'h') {
res[keyArr[pos]] = le ? this.getInt16LE() : this.getInt16BE();
}
else if(fmt[pos] === 'H') {
res[keyArr[pos]] = le ? this.getUInt16LE() : this.getUInt16BE();
}
this.buffer = this.buffer.slice(jmp);
pos++;
}
return res;
}
};
Alles anzeigen
Wo Zick ich? Du bist doch wie immer hier der Aggressor! Aber egal back to Topic.
ostfriese finde das Script echt gelungen auch wenn ich das ganze bisher zum Glück nirgends benötige.
Als zusätzliche Erweiterung könnte man hier evtl. noch ein bereits vorhandenes Handy über Bluetooth zusätzlich Tracken um eine Allgemeine Anwesenheit zu erkennen. Auch wenn gerade die älteren das Handy gerne mal zuhause liegen lassen.
Jo bringt es dann beim Sturz wenn man nicht ran kommt. Aber der Herr Krauskopp hat wieder mal auf der Boxerzeitung geschlafen 😴
Was ist, wenn das WLAN mal versagt?
Dann erreichst du durch Voip auch niemanden mehr 😉