tcsmaxx schrieb: > hat jemand zufällig mal analysiert, wo man auf der Platine ein Signal > abgreifen kann, wann das schloss schließt bzw. öffnet? Bin nicht 100%ig sicher, ob ich Deine Frage richtig interpretiere, aber vielleicht hilft Dir das: In dem Gerät sind zwei Taster verbaut, über die die Elektronik grob weiss, wie der auf der Innenseite steckende Schlüssel, den das Smart Lock dreht, gerade steht. Also ungefähr so: Taster 1 | Taster 2 | Stellung 0 |0 | 0° 0 |1 | 90° 1 |1 | 180° 1 |0 | 270° Wenn Du an die Kontakte dieser beiden Taster ein Kabel anlötest, sie mit zwei Input Pins des ESP verbindet und den Zustand dieser beiden Input Pins überwachst, dürftest Du manuelle Drehungen erkennen können, zumindest wenn die Drehung über 90° beträgt. Aber das gilt halt nur für Drehungen an der Türinnenseite, wenn jemand das Schloss von aussen öffnet/schliesst, dann dürfte es keine Möglichkeit geben, das zu erkennen. p.s.: Wenn Du einen ESP verwendest - wie versorgst Du den mit Strom?
:
Bearbeitet durch User
Hallo Hendrik, ich habe diese Code dafür:
1 | void SetDoorState(String state) { |
2 | if (state == "1") { // OPEN |
3 | Serial.println("open"); |
4 | pinMode(openLock, OUTPUT); |
5 | digitalWrite(openLock, LOW); |
6 | delay(200); |
7 | pinMode(openLock, INPUT); |
8 | mqttClient.publish(doorTopic, "open"); |
9 | }
|
10 | if (state == "0") { // CLOSE |
11 | Serial.println("close"); |
12 | pinMode(closeLock, OUTPUT); |
13 | digitalWrite(closeLock, LOW); |
14 | delay(200); |
15 | pinMode(closeLock, INPUT); |
16 | mqttClient.publish(doorTopic, "close"); |
17 | }
|
18 | }
|
An den GPIO's habe ich jew. einen 4k7 Widerstand dran. VG Maxx
Hallo Joachim, vielen Dank für deine Ausführungen! Das werde ich mir mal ansehen :) Ich verwende ein 5V Netzteil und versorge damit gleich das Schloss. VG, Maxx
Ist jemand von euch schon auf dieses Projekt gestoßen? Hier werden die Thermostate inkl. Ventilstellung ausgelesen und die ganzen Modi gesetzt: https://github.com/Heckie75/eQ-3-radiator-thermostat/blob/master/eq-3-radiator-thermostat-api.md Kann es sein, dass sich hinter dem 'unknown' mode eine Ansteuerung per Ventilstellung versteckt? Ich würd es gerne testen, hab mir die Thermostate aber gerade erst bestellt.
Mirko W. schrieb: > Kann es sein, dass sich hinter dem 'unknown' mode eine Ansteuerung per > Ventilstellung versteckt? Halte ich für äusserst unwahrscheinlich. Das "Mode"-Byte von dem Du redest, wo etwas von "unknown" steht - das scheinen lediglich 8 Flags zu sein, die etwas über den aktuellen Zustand des Thermostats aussagen. Wie eben z.B. das höchstwertige Bit, das anzeigt, ob die Batterie leer ist. Oder "dst", das vermutlich anzeigt, ob die Uhr auf Sommer-/Winterzeit eingestellt ist. Mir wäre nicht bekannt, dass man bei dem Thermostat das Ventil direkt steuern kann. Auch in der Hersteller-App gibt es ja keine derartige Option. > Ich würd es gerne testen, hab mir die Thermostate aber gerade erst > bestellt. Preislich sind die Thermostate echt top. Sie haben aber auch einen gravierenden Nachteil: Sie haben quasi keinerlei Sicherheitsvorkehrungen. Jeder, der in Funkreichweite des Thermostats ist, könnte einem das Thermostat theoretisch nach Belieben verstellen. Die Hersteller-App täuscht da zwar eine gewisse Sicherheit in Form einer PIN vor, aber das ist vereinfacht gesagt reine Verasche. Anyway: Eigentlich ist das hier der falsche Thread, hier geht es nicht um das Heizungsthermostat, sondern um den Türschlossantrieb der gleichen Firma.
Hallo oyo, habe dein keyble-Tool auf dem RASPi installiert und muss sagen, super Arbeit - es funktioniert alles perfekt!! Ich hatte bisher immer einen ESP verwendet, der mir die Taster am Türschlossantrieb 'betätigt'. Das reicht mit aber jetzt nicht mehr aus, da ich weitere Geräte an Türen installiert habe, an den ein Knauf sitzt und jetzt auch die Türfalle mit eingezogen werden muss. Kennst du die Portierung deines Codes von Marius Schiffer für den ESP32? https://github.com/MariusSchiffer/esp32-keyble Der Entwickler führt das Projekt nicht mehr fort, da er diesen Schlossantrieb nicht mehr verwendet. Ich habe mir den Port mal auf einen ESP32-Cam geflasht und getestet. Prinzipiell funktioniert es, aber nicht zuverlässig und der Status des Schloss wir immer mit '1' angegeben. Was mir auch noch aufgefallen ist, nach jeder Aktion resettet der ESP. Da du das Protokoll ja selbst komplett Reverse engineered hast, könntest du vielleicht mal schauen wo der Bug liegt? :) Hier mein forked Repository: https://github.com/tc-maxx/esp32-keyble BG MaXX
Hallo, tcsmaxx schrieb: > Kennst du die Portierung deines Codes von Marius Schiffer für den ESP32? > > https://github.com/MariusSchiffer/esp32-keyble Kenne ich leider nur in dem Sinne, dass ich um die Existenz des Projekts weiss. Näher damit beschäftigt habe ich mich nie, weil ich keine persönliche Verwendung dafür hatte. > Da du das Protokoll ja selbst komplett Reverse engineered hast, könntest > du vielleicht mal schauen wo der Bug liegt? :) Meine C/C++-Kenntnisse sind leider minimal. Dass ich die wichtigsten Teile des Protokolls mal reverse engineered habe, bringt mir an der Stelle vermutlich auch wenig. Das Resetten des ESP nach jeder Aktion dürfte ja auch eher nichts mit dem Protokoll zu tun haben. Ich fürchte, ich würde mehrere Stunden damit verschwenden, recht planlos irgendwas herumprobieren, aber das Problem nicht beheben können. :-( Aktuell verfolge ich nebenbei meinen alten Plan etwas weiter, einen eigenen günstigen 3D-druckbaren Türschlossantrieb zu entwickeln, der über ZigBee und BLE gesteuert werden kann. Wenn ich das weiter durchziehe, muss ich mich demnächst eh tiefer in C/C++ einarbeiten. Eventuell würde ich mir esp32-keyble dann nochmal anschauen, aber auch das will ich nicht versprechen.
Hallo, ich kenne das Projekt von Marius, habe es ausprobiert und war in der Vergangenheit mit ihm in Kontakt. Ein Problem ist, dass der der ESP32 wenn er mit der Arduino Umgebung genutzt wird nicht BT und WLan gleichzeitig nutzen kann. Marius wollte das lösen, indem er die Software auf "nativ" ESP32 portiert. Mein Vorschlag wäre einfach pragmatisch gewesen: WLAN an - Lauschen bis Kommando WLAN aus BT an Kommando per BT absetzen, reaktion abwarten BT aus WLAN an, lauschen was über MQTT so gekommen ist und Status über MQTT absenden. Ich denke, mein Ansatz wäre schnell umgesetzt - wenn man sich besser als ich auskennt. Wieviel Aufwand die Portierung ist (und ob es dann funktioniert) weiß ich nicht. Dennoch finde ich die Lösung über einen ESP32 charmanter, da man kein Dateisystem auf SD-Karte, keine Software-Updates, kein nix hat. Gruß, Hendrik
Hallo Hendrik, ich glaube das funktioniert. Ich habe noch ein paar andere Sachen angepasst und jetzt wird nicht mehr resettet und der Lock-Status wird auch korrekt ermittelt. Ich aktualisiere dann mal mein Repository VG Maxx
Max M. schrieb: > ich glaube das funktioniert. Ich habe noch ein paar andere Sachen > angepasst und jetzt wird nicht mehr resettet und der Lock-Status wird > auch korrekt ermittelt. > > Ich aktualisiere dann mal mein Repository Hey cool. Berichte Mal wir es läuft, dann steige ich auch um. Gruß, Hendrik
Hi, es funktioniert. Ich hab's hochgeladen.
Hallo Max, ich habe es getestet. Funktioniert - und zwar deutlich schneller als mit dem Raspi. Dann habe ich einige Änderungen vorgenommen: 1) statt numerischer Kommandos habe ich "lock/unlock/open" implementiert 2) Geheimes in eine secrets.h ausgelagert 3) Support für zwei Locks hinzugefügt Seit (3) funktioniert es nicht mehr. Magst du dir das mal ansehen? https://github.com/henfri/esp32-keyble Gruß, Hendrik
P.S: hier der Output: # Mit MQTT-Broker verbinden... verbunden! # Nachricht empfangen: lock # Topic: SmartlockHintertuer/command # Lock Number: 1 Schließen # WiFi detiviert # Erhalte Semaphore für Sendekommando # Nonces austauschen # Suche ... # Semaphore abgeben # WiFi aktiviert # WiFi getrennt, wiederverbinden... # WIFI: verbinde... # WIFI: Verbindung wiederhergestellt: SSiD: FriedelNetz # WIFI: Signalqualität: 96% # WIFI: IP-Adresse: 192.168.177.63
Hallo zusammen, ich habe mit einem Raspi4 folgendes Problem (siehe Code unten). Die connection funktioniert grundsätzlich, aber nicht sehr zuverlässig. Mit dem Smartphone kann ich auch aus noch weiterer Entfernung problemlos auf das Schloss zugreifen, mit dem Raspi aber ist es sehr unzuverlässig. Wie man unten sieht gibts im Fehlerfall immer einen Disconnected event (nach einem Connect), nachdem rein gar nichts mehr passiert und die SW in den Timeout läuft, egal wie lange ich ihn stelle. Wenn es funzt dann meistens sehr schnell nach <5 Sekunden. Die Entfernung vom BLE 4.0 USB Stick (extern, nicht der interne vom RPi4) beträgt etwa 7m + ein Wandstück bzw Glastür mit Wandanteil. Würde ein BLE 5.0 Stick hier verbesserung bringen? Ist so ein verhalten bekannt?
1 | att 00:1a:22:13:6f:77: write: 020001 +0ms |
2 | hci push to acl queue: 024700070003000400020001 +8ms |
3 | hci flush - pending: 0 queue length: 1 +2ms |
4 | hci write acl data packet - writing: 024700070003000400020001 +2ms |
5 | simble:event Peripheral 00:1a:22:13:6f:77 : Event "connected" +0ms |
6 | simble:info Connected to peripheral 00:1a:22:13:6f:77 +1s |
7 | simble:info Discovering peripheral 00:1a:22:13:6f:77... +2ms |
8 | hci onSocketData: 011620024700 +8ms |
9 | hci event type = 1 +1ms |
10 | hci cmd = 8214 +0ms |
11 | hci data len = 2 +1ms |
12 | hci onSocketData: 040f0400011620 +0ms |
13 | hci event type = 4 +1ms |
14 | hci sub event type = 15 +0ms |
15 | hci status = 0 +0ms |
16 | hci cmd = 8214 +0ms |
17 | hci onSocketData: 043e0c043e47000000000000000000 +1ms |
18 | hci event type = 4 +0ms |
19 | hci sub event type = 62 +0ms |
20 | hci LE meta event type = 4 +1ms |
21 | hci LE meta event status = 62 +0ms |
22 | hci LE meta event data = 47000000000000000000 +0ms |
23 | hci onSocketData: 0405040047003e +31ms |
24 | hci event type = 4 +0ms |
25 | hci sub event type = 5 +0ms |
26 | hci handle = 71 +0ms |
27 | hci reason = 62 +0ms |
28 | hci flush - pending: 0 queue length: 0 +1ms |
29 | simble:event Peripheral 00:1a:22:13:6f:77 : Event "disconnected" +44ms |
30 | hci onSocketData: 0119040af8c4eff90ff802000000 +16s |
31 | hci event type = 1 +0ms |
32 | hci cmd = 1049 +0ms |
33 | hci data len = 10 +0ms |
34 | hci onSocketData: 040f0400011904 +14ms |
35 | hci event type = 4 +0ms |
36 | hci sub event type = 15 +0ms |
37 | hci status = 0 +0ms |
38 | hci cmd = 1049 +0ms |
39 | Error: Promise did not resolve within 30000 milliseconds |
40 | hci set scan enabled - writing: 010c20020001 +12s |
Rop09 schrieb: > Wie man unten sieht gibts im Fehlerfall immer einen Disconnected event > (nach einem Connect), nachdem rein gar nichts mehr passiert und die SW > in den Timeout läuft, egal wie lange ich ihn stelle. > > Wenn es funzt dann meistens sehr schnell nach <5 Sekunden. Die > Entfernung vom BLE 4.0 USB Stick (extern, nicht der interne vom RPi4) > beträgt etwa 7m + ein Wandstück bzw Glastür mit Wandanteil. > Würde ein BLE 5.0 Stick hier verbesserung bringen? > Ist so ein verhalten bekannt? Ich kann in dem Debug-Log auf Anhieb leider keine Hinweise finden, was der konkrete Grund für den Disconnect sein könnte, mir ist das bislang auch nicht als häufig auftretendes Problem bekannt. Ich kann Dir daher aktuell leider nicht wirklich helfen, sondern nur zwei Sachen sagen, die Du mal probieren könntest um mögliche Problemquellen auszuschliessen: Die interne BLE-Hardware des RPi scheint häufig merkwürdige Probleme zu verursachen, aber da Du ja einen externen Stick nimmst, sollte es daran ja eigentlich nicht liegen - es sei denn, die Software würde statt des externen Sticks in Wahrheit die interne BLE-Hardware verwenden. Du könntest also zum einen mal überprüfen, ob auch ganz sicher der externe Stick verwendet wird, z.B. weil beim Verbindungsaufbau irgendeine Aktivitäts-LED am externen BLE-Stick aufleuchtet oder so. Ansonsten würde ich den Türschlossantrieb testweise mal vom Schloss abmontieren und in unmittelbarer Nähe des RPi platzierst, um eine schlechte Funkverbindung als Problemquellen ausschliessen zu können.
Danke für die Antwort! Am internen RPi BT kanns eigentlich nicht liegen, dass ist aufgrund einer falschen Config nicht aktiv (hciconfig zeigt auch nur ein Device hci0 an, was der externe Stick ist). Ich werds mal mit näher rangehen versuchen, hab jetzt mal als Workaround erstmal einen sehr kurzem 10sec Timeout eingestellt und lasse dann beim Fehlschlag sofort wiederholen, das geht einigermassen, kann aber auch mal 10 Versuche brauchen bis die Verbindung steht.
War leider nicht erfolgreich, auch mit extra bestelltem neuem BLE5 Stick und dem Schloss 1m daneben genau das gleiche. Hier nochmal ein kompletter Log vom Fehlerfall:#
1 | hci setting filter to: 1600000020c10800000000400000 +0ms |
2 | hci set event mask - writing: 01010c08fffffbff07f8bf3d +7ms |
3 | hci set le event mask - writing: 010120081f00000000000000 +0ms |
4 | hci read local version - writing: 01011000 +1ms |
5 | hci write LE host supported - writing: 016d0c020100 +0ms |
6 | hci read LE host supported - writing: 016c0c00 +1ms |
7 | hci le read buffer size - writing: 01022000 +0ms |
8 | hci read bd addr - writing: 01091000 +0ms |
9 | hci onSocketData: 040e0402010c00 +6ms |
10 | hci event type = 4 +0ms |
11 | hci sub event type = 14 +1ms |
12 | hci cmd = 3073 +0ms |
13 | hci status = 0 +0ms |
14 | hci result = +0ms |
15 | hci onSocketData: 040e0402012000 +1ms |
16 | hci event type = 4 +1ms |
17 | hci sub event type = 14 +0ms |
18 | hci cmd = 8193 +0ms |
19 | hci status = 0 +0ms |
20 | hci result = +0ms |
21 | hci onSocketData: 040e0c020110000a7b090a5d0043ec +0ms |
22 | hci event type = 4 +0ms |
23 | hci sub event type = 14 +0ms |
24 | hci cmd = 4097 +1ms |
25 | hci status = 0 +0ms |
26 | hci result = 0a7b090a5d0043ec +0ms |
27 | hci set scan enabled - writing: 010c20020001 +0ms |
28 | hci set scan parameters - writing: 010b200701100010000000 +1ms |
29 | hci onSocketData: 040e04026d0c00 +0ms |
30 | hci event type = 4 +0ms |
31 | hci sub event type = 14 +0ms |
32 | hci cmd = 3181 +1ms |
33 | hci status = 0 +0ms |
34 | hci result = +0ms |
35 | hci onSocketData: 040e06026c0c000100 +0ms |
36 | hci event type = 4 +0ms |
37 | hci sub event type = 14 +0ms |
38 | hci cmd = 3180 +0ms |
39 | hci status = 0 +0ms |
40 | hci result = 0100 +0ms |
41 | hci le = 1 +1ms |
42 | hci simul = 0 +0ms |
43 | hci onSocketData: 040e07020220001b0008 +1ms |
44 | hci event type = 4 +0ms |
45 | hci sub event type = 14 +0ms |
46 | hci cmd = 8194 +0ms |
47 | hci status = 0 +0ms |
48 | hci result = 1b0008 +0ms |
49 | hci le buffer size: length = 27, num = 8 +0ms |
50 | hci onSocketData: 040e0a02091000fbafacbb0144 +3ms |
51 | hci event type = 4 +0ms |
52 | hci sub event type = 14 +0ms |
53 | hci cmd = 4105 +0ms |
54 | hci status = 0 +0ms |
55 | hci result = fbafacbb0144 +0ms |
56 | hci address = 44:01:bb:ac:af:fb +1ms |
57 | noble addressChange 44:01:bb:ac:af:fb +0ms |
58 | hci onSocketData: 040e04020c2000 +2ms |
59 | hci event type = 4 +0ms |
60 | hci sub event type = 14 +0ms |
61 | hci cmd = 8204 +0ms |
62 | hci status = 0 +0ms |
63 | hci result = +0ms |
64 | hci onSocketData: 040e04020b2000 +2ms |
65 | hci event type = 4 +0ms |
66 | hci sub event type = 14 +0ms |
67 | hci cmd = 8203 +0ms |
68 | hci status = 0 +0ms |
69 | hci result = +0ms |
70 | noble stateChange poweredOn +5ms |
71 | noble scanParametersSet +1ms |
72 | simble:info Starting to scan for peripheral... +0ms |
73 | hci set scan enabled - writing: 010c20020001 +3ms |
74 | hci set scan parameters - writing: 010b200701100010000000 +0ms |
75 | hci set scan enabled - writing: 010c20020101 +0ms |
76 | hci onSocketData: 040e04020c2000 +2ms |
77 | hci event type = 4 +0ms |
78 | hci sub event type = 14 +0ms |
79 | hci cmd = 8204 +0ms |
80 | hci status = 0 +0ms |
81 | hci result = +0ms |
82 | noble scanStart +4ms |
83 | hci onSocketData: 040e04020b2000 +3ms |
84 | hci event type = 4 +0ms |
85 | hci sub event type = 14 +0ms |
86 | hci cmd = 8203 +0ms |
87 | hci status = 0 +0ms |
88 | hci result = +0ms |
89 | noble scanParametersSet +2ms |
90 | hci onSocketData: 040e04020c2000 +2ms |
91 | hci event type = 4 +0ms |
92 | hci sub event type = 14 +0ms |
93 | hci cmd = 8204 +0ms |
94 | hci status = 0 +0ms |
95 | hci result = +0ms |
96 | hci onSocketData: 043e1d02010400776f13221a001108094b45592d424c4507ff001a22136f77bb +8s |
97 | hci event type = 4 +0ms |
98 | hci sub event type = 62 +1ms |
99 | hci LE meta event type = 2 +0ms |
100 | hci LE meta event status = 1 +0ms |
101 | hci LE meta event data = 0400776f13221a001108094b45592d424c4507ff001a22136f77bb +1ms |
102 | hci type = 4 +1ms |
103 | hci address = 00:1a:22:13:6f:77 +0ms |
104 | hci address type = public +1ms |
105 | hci eir = 08094b45592d424c4507ff001a22136f77 +0ms |
106 | hci rssi = -69 +1ms |
107 | gap advertisement = {"localName":"KEY-BLE","manufacturerData":{"type":"Buffer","data":[0,26,34,19,111,119]},"serviceData":[],"serviceUuids":[],"solicitationServiceUuids":[]} +0ms |
108 | simble:info Scanned peripheral 00:1a:22:13:6f:77 (Name:"KEY-BLE", advertised services:[]) +8s |
109 | simble:info Peripheral 00:1a:22:13:6f:77 matches filters, stopping scanning +1ms |
110 | hci set scan enabled - writing: 010c20020001 +10ms |
111 | simble:info Connecting to peripheral 00:1a:22:13:6f:77... +3ms |
112 | hci create le conn - writing: 010d2019600030000000776f13221a000006000c000000c80004000600 +6ms |
113 | hci onSocketData: 040e04020c2000 +1ms |
114 | hci event type = 4 +0ms |
115 | hci sub event type = 14 +1ms |
116 | hci cmd = 8204 +0ms |
117 | hci status = 0 +1ms |
118 | hci result = +0ms |
119 | noble scanStop +8s |
120 | hci onSocketData: 040f0400020d20 +1ms |
121 | hci event type = 4 +1ms |
122 | hci sub event type = 15 +0ms |
123 | hci status = 0 +0ms |
124 | hci cmd = 8205 +1ms |
125 | hci onSocketData: 043e13010010000000776f13221a000c000000c80000 +1s |
126 | hci event type = 4 +0ms |
127 | hci sub event type = 62 +1ms |
128 | hci LE meta event type = 1 +0ms |
129 | hci LE meta event status = 0 +0ms |
130 | hci LE meta event data = 10000000776f13221a000c000000c80000 +0ms |
131 | hci handle = 16 +1ms |
132 | hci role = 0 +0ms |
133 | hci address type = public +0ms |
134 | hci address = 00:1a:22:13:6f:77 +0ms |
135 | hci interval = 15 +0ms |
136 | hci latency = 0 +0ms |
137 | hci supervision timeout = 2000 +0ms |
138 | hci master clock accuracy = 0 +0ms |
139 | att 00:1a:22:13:6f:77: write: 020001 +0ms |
140 | hci push to acl queue: 021000070003000400020001 +4ms |
141 | hci flush - pending: 0 queue length: 1 +1ms |
142 | hci write acl data packet - writing: 021000070003000400020001 +0ms |
143 | simble:event Peripheral 00:1a:22:13:6f:77 : Event "connected" +0ms |
144 | simble:info Connected to peripheral 00:1a:22:13:6f:77 +1s |
145 | simble:info Discovering peripheral 00:1a:22:13:6f:77... +1ms |
146 | hci onSocketData: 011620021000 +3ms |
147 | hci event type = 1 +0ms |
148 | hci cmd = 8214 +1ms |
149 | hci data len = 2 +0ms |
150 | hci onSocketData: 040f0400021620 +0ms |
151 | hci event type = 4 +0ms |
152 | hci sub event type = 15 +0ms |
153 | hci status = 0 +0ms |
154 | hci cmd = 8214 +0ms |
155 | hci onSocketData: 0405040010003e +1ms |
156 | hci event type = 4 +0ms |
157 | hci sub event type = 5 +0ms |
158 | hci handle = 16 +0ms |
159 | hci reason = 62 +0ms |
160 | hci flush - pending: 0 queue length: 0 +0ms |
161 | simble:event Peripheral 00:1a:22:13:6f:77 : Event "disconnected" +6ms |
162 | Error: Promise did not resolve within 35000 milliseconds |
163 | hci set scan enabled - writing: 010c20020001 +26s |
Du könntest Mal die esp32 Variante ausprobieren.
Hendrik schrieb: > Du könntest Mal die esp32 Variante ausprobieren. hab ich mir jetzt auch mal installiert (leicht abgeändert), funktioniert aber leider nicht viel besser. Im Gegenteil, der ESP hängt sich auch oft einfach auf wenn er versucht die Verbindung aufzubauen (im eQ3 Teil).
Rop09 schrieb: > War leider nicht erfolgreich, auch mit extra bestelltem neuem BLE5 Stick > und dem Schloss 1m daneben genau das gleiche. Tut mir leid Rop09, damit bin ich jetzt gerade mit meinem Latein ziemlich am Ende. Wobei mich irgendwie verwirrt, dass die ESP32-Version ähnliche Probleme zu haben scheint, und auch ungefähr an der gleichen Stelle. Denn ich hätte jetzt tendenziell getippt, dass das Problem "unterhalb" von keyble steckt, in der für die Bluetooth-Kommunikation zuständigen "noble"-Library. Dass die ESP32-Version, die diese Library nicht nutzt, ähnliche Probleme an der gleichen Stelle hat, spricht da eher dagegen... Die letzte Sache, die mir aktuell noch einfällt, bei der ich es aber trotzdem für ziemlich unwahrscheinlich halte, dass es etwas an dem Problem ändert: Du könntest testweise mal versuchen, die neue keyble-Codebasis 0.3 zu verwenden, weil da ein bisschen was verändert wurde und eine neuere Version der "noble"-Library verwendet wird. Ist allerdings mehr so im Alpha/Beta-Stadium, noch nicht richtig dokumentiert, bislang nur per MQTT zu nutzen usw.: https://github.com/oyooyo/keyble-mqtt
Danke, ist dann der nächste Versuch! Wobei ich beim ESP32 noch nicht ganz sicher bin obs wirklich so schlecht ist. Hatte heute mal die Situation dass ganz hervorragend gut funktioniert hat, quasi nur 1-2 Sekunden gedauert hat bis das Lock reagiert hat und zwar jedesmal! Nachdem ich dann den ESP wegen ner kleinen Änderung neu geflasht hatte wars wieder dann nicht mehr so toll. Gefühlt ist es oft so dass die allererste Connection länger dauert, und es danach schnell geht (obwohl ja der ESP die BT Connection immer wieder trennt), fast so als ob das Schloss meint es wäre noch verbunden...
Gerade mal probiert, aber auch nicht erfolgreich: a) ohne Root ausgeführt:
1 | mqttjs:client _handlePublish: qos 0 +0ms |
2 | (node:6469) UnhandledPromiseRejectionWarning: Error: noble did not change to the "poweredOn" state within 5000 milliseconds. This usually indicates that either no Bluetooth hardware is available, or that you do not have sufficient permissions for accessing the Bluetooth hardware. |
3 | at Timeout.setTimeout [as _onTimeout] (/usr/local/lib/node_modules/keyble-mqtt/node_modules/keyble/utils.js:254:11) |
4 | at ontimeout (timers.js:436:11) |
5 | at tryOnTimeout (timers.js:300:5) |
6 | at listOnTimeout (timers.js:263:5) |
7 | at Timer.processTimers (timers.js:223:10) |
8 | (node:6469) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2) |
9 | ^C hci set scan enabled - writing: 010c20020001 +42s |
10 | hci onSocketError: EPERM, Operation not permitted +0ms |
und daher b) mit root, aber:
1 | /usr/local/lib/node_modules/keyble-mqtt/node_modules/keyble/keyble.js:544 |
2 | receive_characteristic.off('data', on_data_received); |
3 | ^
|
4 | |
5 | ReferenceError: receive_characteristic is not defined |
6 | at Peripheral.peripheral.once (/usr/local/lib/node_modules/keyble-mqtt/node_modules/keyble/keyble.js:544:4) |
7 | at Object.onceWrapper (events.js:277:13) |
8 | at Peripheral.emit (events.js:189:13) |
9 | at Noble.onDisconnect (/usr/local/lib/node_modules/keyble-mqtt/node_modules/@abandonware/noble/lib/noble.js:245:16) |
10 | at NobleBindings.emit (events.js:189:13) |
11 | at NobleBindings.onDisconnComplete (/usr/local/lib/node_modules/keyble-mqtt/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:280:10) |
12 | at Hci.emit (events.js:189:13) |
13 | at Hci.onSocketData (/usr/local/lib/node_modules/keyble-mqtt/node_modules/@abandonware/noble/lib/hci-socket/hci.js:557:12) |
14 | at BluetoothHciSocket.emit (events.js:189:13) |
Mal noch was anderes - ich hab den ESP32 jetzt soweit modifiziert dass er recht zuverlässig läuft, und gebe mir zusätzlich noch die RAW Daten über MWQTT aus wenn ich den Status abfrage, z.B.: 72 01 0A 00 10 17 00 00 Irgendwo hatte ich gelesen dass da auch die Info über den Batteriestatus drin steckt, kanns aber nicht mehr finden welches Bit das war, weiss das jemand?
Hallo, Was hast du denn modifiziert? Magst du nen Pull Request erstellen, damit die Entwicklung weiter geht? Gruß, Hendrik
Hallo, ich habs mal gezipped und auf git hochgeladen (bin leider nicht mit der Vorgehensweise da vertraut ;) Was ich geändert habe: - Wifi reconnect abfolge geändert, ESP reset wenn länger fehl schlägt, andere Interfaces verwendet - MQTT reconnect geändert, weil ich dort den Verdacht habe dass er da den Stack zumüllt wenn der Reconnect nicht geht (bei mir wird Nachts immer das WLAN unterbrochen für einige Zeit, denk das ist der Zeitpunkt wo er sich aufgehängt hat deswegen). - Scanning parameter geändert, hier bin ich aber noch am probieren - eQ3 lib, Mutex timeout auf 10s (nicht sicher ob das was bringt, aber vorher wars so dass sich der ESP öfter mal im BLE Teil verannt hatte - Status command über MQTT zur Schlossstatus Abfrage - Timeout handling falls Schloss nicht antwortet (mit timeout error Rückgabe über MQTT) - RAW data ausgabe über MQTT Denke das wars soweit, war ziemlich viel Trial&Error anfangs weil der ESP sich über nacht immer aufgehängt hatte, macht er damit jedenfalls nicht mehr. Was noch fehtl ist die Batteriezustandsausgabe über MQTT und die Scanning parameter setting über MQTT umd da etwas zu experimentieren. Ist alles nicht sehr schön gemacht, nur funktional ;) Der ganze Vorgang (MQTT kommando empfange -> BLE connection, Kommando ausführen und wieder WLAN verbinden und Status senden) zwischen 7 und 25 Sekunden, sehr unterschiedlich lange. Vereinzelt gibts auch noch BLE timeouts (35sec), das liegt denk ich an der Platzierung, wobei er andererseits auch durch 3 Wände hindurch mit 10m Abstand zum Schloss funktioniert...
Hallo, zippen und Hochladen ist nicht gut... Die Idee hinter git ist ja, dass die Änderungen nachvollziehbar sind. Daher ist es auch am Besten für jede Verbesserung einen Commit ("Upload") zu machen. Wenn du dich mit git schwer tust, dann nutz einfach das Web-Interface auf github: Du kannst jede Datei "editieren". Es öffnet sich ein Editor im Browser. Nachdem du mit einem Problem, welches du behoben hast fertig bist (das kann durchaus mehrere Dateien beinhalten, die du ändern musst), dann machst du einen Pull-Request. Damit bittest du den ursprünglichen Autor deine Änderungen zu prüfen und bei sich zu übernehmen. Ich hoffe, das ist einigermaßen verständlich. Es wäre echt super, wenn du dich da reinarbeitest. Vielleicht mag @tcsmaxx deine Änderungen ja auch manuell aus der Zip übernehmen (hast du mal einen Link?). Gruß, Hendrik
Hallo, wo hast du die Zip denn hochgeladen? Ich wollt mir das gerade mal ansehen. Gruß, Hendrik
Hi@all, ich habe die Änderungen ungetestet bei mir im Repository committed. https://github.com/tc-maxx/esp32-keyble
Hallo, vielen Dank. Für die Zukunft wäre es allerdings wünschenswert, wenn alle mit git arbeiten und Änderungen in kleinen Happen kommitten, so dass man sehen kann, was miteinander zusammenhängt und welchen Zweck hat. Gruß, Hendrik
Hallo tcsmaxx, sehr interesannte Ansatz. Das habe ich gleich ausprobiert mit wemos mini32, leider ohne Erfolg. Woran merke ich es ob der ESP mit der EQ3 verbunden ist? Des weiteren weiss nicht was man hie richtige einträgt: #define ADDRESS "xxx" #define USER_KEY "xxxx" #define USER_ID 2 #define CARD_KEY "M001A2213XXXXXXXXXXXXX" Eine Erklärung im Netz habe ich leider nicht gefunden. Aus dem IObroker / npn Forum ein paar Ansetze, aber?? LG
Da gehören user, mac und key, den du mit keyble beim registrieren mit dem schloss aushandelst, hinein.
danke, habe die Anleitung verfolgt. auch NPN und das System geupdatet. aber, nach dem : keyble-registeruser -n ABC-q XXXXXXXXXX bekomme ich nur die Infos: Registering user on Smart Lock with address "00:1a:YX:13:XX:a9", card key "1576b7256401XXXXXXXXXfc97a36" and serial "QEQ0XXX2"... und weiter nichts da fehlt noch: User registered. Use arguments: --address 01:XX:XX:67:89:ab --user_id 1 --user_key ca78aXXXXX31414359e5e7cecfd7f9e Setting user name to "ABC".. wie kann das Problem lösen. aktuell habe ich Node.js v12.22.1 // bei 14 ging da gar nicht was fehlt da noch?
Adrian K. schrieb: > danke, > habe die Anleitung verfolgt. > auch NPN und das System geupdatet. > aber, nach dem : > keyble-registeruser -n ABC-q XXXXXXXXXX > bekomme ich nur die Infos: > Registering user on Smart Lock with address "00:1a:YX:13:XX:a9", card > key "1576b7256401XXXXXXXXXfc97a36" and serial "QEQ0XXX2"... > > und weiter nichts > da fehlt noch: > User registered. Use arguments: --address 01:XX:XX:67:89:ab --user_id 1 > --user_key ca78aXXXXX31414359e5e7cecfd7f9e > Setting user name to "ABC".. Schalte mal die Debug-Ausgabe ein, indem Du vor den "keyble-registeruser"-Befehl noch ein "DEBUG=* " davorsetzt. keyble liefert leider so gut wie keine Fehlermeldungen, wenn etwas nicht wie erwartet funktioniert.
Hallo, habe jetzt den Fehler, glaube ich, gefunden. Der EQ3 soll sich weniger als 0,5m entfernt vom Raspi befinden. Danke noch mal für Untestüzung.
Ist eine Video-Demo verfügbar?
Hi, ich habe mal mit der ESP32 Umsetzung von tscmaxx/Rop09 rumgespielt. Hier findet Ihr was dabei herausgekommen ist: https://github.com/lumokitho/esp32-keyble - AP Mode zum Konfigurieren der WLAN Verbindung (AutoConnect) - Webinterface zum hinterlegen der MQTT Zugangsdaten und der Schlossparamter - RSSI Signalstärke des Schlossantriebs - Battery Status - Toggle Funktion - Weitere MQTT Endpunkte (Batterie/Zustand/Signalstärke) - Boot Button des ESP32 toggelt das Schloss - Partitionsatabelle angepasst - OTA Update via BIN upload - Hardkodierte Zugangsdaten entfernt - Einheitliche Ausgaben über Serial Eine Anleitung findet Ihr bei GIT. Gucked mal drüber, ob man damit etwas anfangen kann. Schönen Abend!
Wow Danke! Ich hatte Mal versucht, zwei Schlösser zu unterstützen. Dabei bin ich gescheitert - hab ich weiter oben etwas zu geschrieben. Du scheinst dich gut auszukennen :-) Hast du eine Idee? Ich werde deine Variante Mal probieren. Gruß, Hendrik
Hi Hendrik, ich denke, dass es möglich ist mehrere Schlösser nacheinander anzusprechen. Dazu müssten halt die Daten für die weiterern Schlössern hinterlegt werden und entsprechend weitere Topics. Fraglich ist hierbei die Koordination von aussen und aus meiner Sicht auch die Reichweite des ESP. Bei einer Investition von rund 5€ für den ESP, weiter 5€ für ein Netzteil und einem USB Kabel/Adapter, kommt man so auf rund 10€ für eine BLEtoWiFi Bridge pro Schlossantrieb. Bestellt man in China ist man mit nur 5€ dabei. Falls hier tatsächlich Bedarf besteht guck mir das mal an. Ich warte mal auf euer feedback. Was mir definitiv noch fehlt ist, das Registieren eines Benutzers, damit die Bridge völlig eigenständig arbeiten kann. Das hat bei mir momentan höhere Priorität. Schönen Gruß Thomas
Thomas F. schrieb: > - AP Mode zum Konfigurieren der WLAN Verbindung (AutoConnect) > - Webinterface zum hinterlegen der MQTT Zugangsdaten und der > Schlossparamter > - RSSI Signalstärke des Schlossantriebs > - Battery Status > - Toggle Funktion > - Weitere MQTT Endpunkte (Batterie/Zustand/Signalstärke) > - Boot Button des ESP32 toggelt das Schloss > - Partitionsatabelle angepasst > - OTA Update via BIN upload > - Hardkodierte Zugangsdaten entfernt > - Einheitliche Ausgaben über Serial Hut ab - was Du da an Features auflistest, das klingt verdammt vielversprechend! Mir ist gerade aufgefallen, dass ich die diversen ESP32-Ports in der keyble-Dokumentation bislang gar nicht erwähnt habe. Wenn ich das nächste Mal was committe, werde ich da mal einen entsprechenden Abschnitt einfügen und dann vermutlich ganz besonders Deinen Fork empfehlen, weil der auf den ersten Blick am ausgereiftesten und einsteigerfreundlichsten klingt. Einen grossen Teil der Vorarbeit haben ja andere geleistet, die daher ebenfalls erwähnt werden sollten. Da ich mich mit den ESP32-Ports bislang nicht selbst wirklich befasst habe, fehlt mir gerade so ein bisschen der Überblick, wer da alles beteiligt war: gibt es ausser MariusSchiffer, tcs-maxx und lumokitho noch jemanden, der nennenswert zur Entwicklung der ESP32-Version beigetragen hat und daher erwähnt werden sollte?
Hallo Joachim, der Stand mit dem ich gestartet bin war der von RoP09 welcher, als Zip von tc-maxx in seinen Fork hochgeladen wurde. Somit ist RoP09 als Quelle zu nennen. Er hat zwar nun wohl eine GIT account, aber der ist leider leer. Ich hatte mich schon vor Deinem Ansatz mit den Antrieben beschäftigt (ganz weit oben in Thread) mittels Tasker auf einem Android Telefon. Dann ruhte das eine Weile und ich habe mich mit Deiner letzten Umsetzung vor dem Umbau beschäftigt. Diese habe ich auf meine Bedürfnisse angepasst (mehrer Schlösser gleichzetig über mehrere BLE USB Sticks, zur Zeit 5) und auf einem Pi Zero laufen. Dazu musste ich auch an simble einige wenige Änderungen durchführen. Mittlerweile recht stabil. Sobald ich das mal "aufgeräumt" habe lade ich auch diese Version mal bei GIT hoch. Angefixt wurde ich durch tc-maxx, als dieser eine recht stabile ESP32 Version herausgebracht hat. Ich finde den Ansatz mit einer Bridge pro Schloss doch schon sehr charmant. Da wird die Lücke zum viel teureren NUKI schon etwas kleiner. Hauptsächlich deshalb, weil alles lokal läuft. Nochmal großen Dank an alle, die so gute Vorarbeit geleistet haben! Gruß Thomas
Hallo, das mit den mehreren Locks hat keine Priorität. Natürlich sind die ESP preiswert. Aber ich habe das Problem, sie unterzubringen. Da mein Raspi-Zero es geschafft hat, zwei Locks zu bedienen (Reichweite OK will ich damit sagen), hatte ich die Hoffnung auch nur einen ESP unterbringen zu müssen - und da hätte ich in einer Taster-Dose / UP Dose Platz für einen ESP32. Zur Not könnte man zwei nackte ESP32 (d.h. nicht auf so einem Dev-Board) unterkriegen. Aber da weiß ich nicht, wie ich sie flashe. Da müsste ich mich mal erkundigen. Ich müsste auch erstmal prüfen, ob der Empfang in der UP Dose noch ausreichend ist. Ich habe gerade mal deine Firmware geflasht. Sie hat mich dann auch gleich mit ihrem Web-Interface begrüßt (ich hatte leider vergessen den Flash zu löschen, daher waren die Credentials noch da). Nach dem Konfigurieren der MQTT und Schloss-Einstellungen war aber dann Schicht: rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0018,len:4 load:0x3fff001c,len:1044 load:0x40078000,len:10124 load:0x40080400,len:5828 entry 0x400806a8 ---Starting up...--- ---AP Settings--- ---AP IP: 192.168.4.1--- ---AP SSID: KeyBLEBridge--- # /keyble.json loaded [E][Preferences.cpp:49] begin(): nvs_open failed: NOT_FOUND [E][WiFiSTA.cpp:221] begin(): connect failed! Woran kann das liegen? Gruß, Hendrik
Hallo Hendrik, versuch mal bitte den Flash zu löschen. Dein ESP wird eine andere Partitionierung haben. Durch die Erweiterungen die ich eingebaut haben war es nötig, die Partitionierung zu ändern. Also Flash vollständig löschen, dann sollte das klappen. Schönen Gruß Thomas
Hallo Thomas, gibts auch die Möglichkeit per json HTTP stati abzufragen? Ich wollte gerade auf github dazu eine frage aufmachen, aber ich denke das hast bei deinem projekt leider nicht aktiv? So wie ich es im code sehe wird wifi disconnected beim connecten zum schloss - gibts dafür keine Alternative? :-/ LG Alois
Hallo, ich habe es jetzt soweit geschafft das Gerät zu konfigurieren. Es ist im WLAN und spricht mit dem MQTT Broker. Ein Verbesserungsvorschlag: Den Port hatte ich unter MQTT freigelassen, annehmend, dass dann der Default genommen wird. Das hat zu einer Endlosschleife (connection refused) geführt und ich musste neu flashen, da das Webinterface nicht erreichbar war. Das Schloss habe ich aber noch nicht schalten können: SmartlockHintertuer/task working SmartlockHintertuer/state timeout SmartlockHintertuer/task waiting SmartlockHintertuer/rssi 107 SmartlockSchuppen/action lock SmartlockHintertuer/task lock SmartlockHintertuer/task unlock SmartlockHintertuer/task 0 SmartlockHintertuer/task 1 SmartlockHintertuer/task close SmartlockHintertuer/task 3 SmartlockHintertuer/task 3 SmartlockHintertuer/task 3 SmartlockHintertuer/task 2 Wie du siehst, wusste ich zunächst nicht, welche Payloads ich senden musste. Das habe ich dann hoffentlich dem Sourcecode richtig entnommen. Das Schloss hat sich aber nicht bewegt. Der Rssi vom Lock wird ja angezeigt. Was können wir daraus schließen? Nur dass eine Verbindung besteht, oder auch dass die Credentials ok sind? Ich bin eigentlich recht sicher, dass die Stimmen, da ich sie auf dem Raspi so verwendet habe... Gruß, Hendrik
Hallo Alois, eine Kommunikation über http ist nicht vorgesehen, alles wird über MQTT gesteuert. Via Arduino ist mir keine Möglichkeit bekannt WiFi und BLE gleichzeitig stabil zu betreiben. Hier müsste man auf Espressif-IDF portieren, da bin ich aber nicht im Thema. Daher der Wechsel von WiFi zu BLE und zurück. Daran habe ich nichts verändert, das ist so geblieben wie bei RoP09. Schönen Gruß Thomas
Hallo Hendrik, kurz zum Port. Ich halte nichts von default Ports, jede Netzwerkumgebung ist anders, daher ist die Porteingabe nötig. Mal gucken, ob ich das als Pflichfeld behandeln kann. Num zum ansprechen der Bridge. das Bridge published auf: - "DeinTopic"/battery - "DeinTopic"/rssi - "DeinTopic"/status - "DeinTopic"/task Die Bridge subscribed auf: - "DeinTopic"/command Du musst also mit einem MQTT Client der mit deinem Broker (identisch mit dem in der Bridge hinterlegten) vebunden ist auf: "DeinTopic"/command/X publishen Zur Zeit gehen folgende Werte - 1 zur Statusabfrage - 2 zum Aufschließen - 3 zum Abschließen - 4 zum Öffnen (Aufschließen und Falle wird gezogen) - 5 zum Umschalten (bei abgeschlossen auf und bei aufgeschlossen zu) Willst Du also aufschließen sendest Du: "DeinTopic"/command/1 Guck mal im GIT Readme, da ist das erklärt. Falls Dein ESP einen Boot Button hat, kannst Du damit testen, ob eine Verbindung besteht, weil dadurch umgeschaltet wird. Der RSSI deutet darauf hin, wie gut die BLE Verbindung ist. Bei 107 ist das Schloss entweder sehr weit entfernt, es gibt Störquellen in der Nähe (z.B. WiFI/Bluetooth/BLE/ZigBee/Z-Wave/MiWi/Loxone Air etc. alles im 2,4GHz Band), oder Hindernisse (Gipskarton/Metall/Beton/Naturstein ect.) zwischen Bridge und Lock. Aus meiner Erfahrung ist alles was Wasser speichern kann tödliche für Funkverbindungen! Eine 20cm Bentonwand funktioniert besser als eine einzige Lage Gipskarton. Schönen Gruß Thomas
:
Bearbeitet durch User
Hallo, danke, ich habe jetzt schalten können! Ich habe das in der Readme übersehen, sorry. Zwischendurch hatte ich nochmal das Problem, dass er die WLAN Credentials wieder vergessen hat... Keine Ahnung woran das nun lag. Gruß, Hendrik
Hallo, ich hatte den ESP jetzt einen Tag nicht angeschlossen. Jetzt hab ich ihn heute wieder eingesteckt und er meldet sich nicht über mqtt. Also den seriellen Monitor dran: rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0018,len:4 load:0x3fff001c,len:1044 load:0x40078000,len:10124 load:0x40080400,len:5828 entry 0x400806a8 ---Starting up...--- ---AP Settings--- ---AP IP: 192.168.4.1--- ---AP SSID: KeyBLEBridge--- # /keyble.json loaded [E][WiFiSTA.cpp:221] begin(): connect failed! Empfang ist (hier, wo ich jetzt den seriellen Monitor hab) aber top. Es kann durchaus sein, dass der Empfang am Einbauort nicht gut war. Vergisst er dann die Credentials wieder? Ich hab mich dann mit dem AP verbunden: [E][WebServer.cpp:633] _handleRequest(): request handler not found [E][WebServer.cpp:633] _handleRequest(): request handler not found [E][WebServer.cpp:633] _handleRequest(): request handler not found [E][WebServer.cpp:633] _handleRequest(): request handler not found [E][WebServer.cpp:633] _handleRequest(): request handler not found [E][WebServer.cpp:633] _handleRequest(): request handler not found # WIFI: connected to SSiD: XNetz # WIFI: connected! # WIFI: signalquality: 78% # WiFi connected to IP: 192.168.177.27 # Connect to MQTT-Broker... # Connected! # published SmartlockHintertuer/task/working # WiFi disabled *** get state *** # Nonce exchange # Searching ... Die Lock und MQTT-Settings hatte er noch. Gruß, Hendrik
Hi Hendrik, ich gehe mal von mehreren Punkten aus, die hier zusammenkommen. Ist die Spannungsversorgung vom ESP stabil und ausreichend? Wenn der ESP mit einem "schlechten" Netzteil verbunden ist, kommt es zu unvorhersehbarem Verhalten. Ich habe beim testen ähnliches Verhalten festgestellt, bei mir lag es an zu wenig Saft für den ESP. Also aktiven Hub benutzen. Wie weit ist das Schloss entfernt? Was kommt beim Broker an? Bist Du 1:1 der Anleitung bei GIT gefolgt? Zur Zeit gibt es so gut wie kein Errorhandling. Wie sieht deine Netzwerkstruktur aus? Ein Router, mehrere Router, APs etc. Laut dem Seriallog, gehe ich von falschen Zugangsdaten aus. Tückisch sind hier die Passwortfelder, hier muss jedes mal das Kennwort eingetragen werden. Wie geschrieben, noch keine Fehlerbehandlung im Programm. Ich schlage mal vor, das Du wie folgt vorgehst: ESP vollständig löschen. Browsercache leeren, alternativ über Inkognito/Privaten Modus verbinden. KeyBLEBridge Netzwerk löschen, ich gehe mal davon aus, dass Du mit Windows unterwegs bist? Erneut flashen. Nutzt Du Platformio? Den ESP dort in Betrieb nehmen, wo er auch später eingesetzt werden soll. Falls das Verhalten mit z.B. mehreren Netzen mit gleichem Namen zusammenhängt. Im Bestfall alles mit Seriallog. Zum AP verbinden. Zugang zum eigenen Netz eintragen, mit fester IP, also DHCP aus! Netzmaske und DNS nicht vergessen, DNS1 sollte Dein Router sein, als DNS2 kannst Du z.B. google nehmen 8.8.8.8 Vorab checken, ob die IP tatsächlich frei ist, nicht das sich 2 Geräte die IP teilen. Reboot ESP. Verbindung über die von Dir gewählte IP herstellen. KeyBLE und MQTT Daten eintragen, speichern und dann Reset ausführen. Prüfen, ob weiterhin ein AP aufgespannt wird, bzw. ob der ESP mit dem Netz verbunden ist. Am Broker prüfen, ob und wann die letzten Nachrichten eingegangen sind. Über den Boot Button einen toggle ausführen. Ping mal das Modul dauerhaft an, um zu sehen, ob es zu Netzabbrüchen kommt, bzw. ob überhaupt eine Antwort kommt. Was Für ein ESP Modul benutzt Du eigentlich? Ich denke, dass sind schon mal viele Punkte die Du bitte prüfen kannst. Schönen Gruß Thomas
:
Bearbeitet durch User
Hallo Thomas, danke für deine ausführliche Antwort. > Ist die Spannungsversorgung vom ESP stabil und ausreichend? Am PC hatte ich das Problem bisher nicht. Das Netzteil schafft 2A. Das sollte ja reichen. > Wie weit ist das Schloss entfernt? Ca. 2-3m, aber auch ein wenig Beton dazwischen. > Was kommt beim Broker an? Wenn das Problem besteht: Gar nix. Aber ansonsten: SmartlockHintertuer/command 2 SmartlockHintertuer/command 3 SmartlockHintertuer/command 4 SmartlockHintertuer/task working SmartlockHintertuer/state unknown SmartlockHintertuer/task waiting SmartlockHintertuer/battery true SmartlockHintertuer/rssi -82 SmartlockHintertuer/command 3 SmartlockHintertuer/task working SmartlockHintertuer/state locked SmartlockHintertuer/task waiting SmartlockHintertuer/battery true SmartlockHintertuer/rssi -77 SmartlockHintertuer/command 2 SmartlockHintertuer/task working SmartlockHintertuer/state unknown SmartlockHintertuer/task waiting SmartlockHintertuer/battery true SmartlockHintertuer/rssi -72 SmartlockHintertuer/task working SmartlockHintertuer/state timeout SmartlockHintertuer/task waiting SmartlockHintertuer/rssi 0 SmartlockHintertuer/task working SmartlockHintertuer/state unknown SmartlockHintertuer/task waiting SmartlockHintertuer/battery true SmartlockHintertuer/rssi -79 SmartlockHintertuer/command 3 SmartlockHintertuer/task working SmartlockHintertuer/command 3 SmartlockHintertuer/command 3 SmartlockHintertuer/command 3 > Bist Du 1:1 der Anleitung bei GIT gefolgt? Gerade nochmal gecheckt. Ja. Ich habe mal mit und mal ohne DHCP probiert. > Wie sieht deine Netzwerkstruktur aus? Mehrere APs (Unifi) und ein Router (FritzBox). > Laut dem Seriallog, gehe ich von falschen Zugangsdaten aus. Tückisch > sind hier die Passwortfelder, hier muss jedes mal das Kennwort Das kann sein, aber dann liegt es nicht in meiner Verantwortung: Es hat alles funktioniert. Dann habe ich den ESP eine Nacht nicht verwendet und dann funktioniert es nicht mehr. Ich könnte mir höchstens vorstellen, dass die Daten kurrumpiert wurden. Ein print der keyble.json nach dem Start wäre gut. > KeyBLEBridge Netzwerk löschen, ich gehe mal davon aus, dass Du mit > Windows unterwegs bist? Den AP hab ich immer in Android konfiguriert. Und da ist übrigens das Wlan Passwort im Autocomplete. Einen Tippfehler kann ich auch deshalb ausschließen. > Erneut flashen. Nutzt Du Platformio? Ja. > Den ESP dort in Betrieb nehmen, wo er auch später eingesetzt werden > soll. Falls das Verhalten mit z.B. mehreren Netzen mit gleichem Namen Das kann ich machen. Das waren tatsächlich unterschiedliche APs. Im Bestfall alles mit Seriallog. > DNS2 kannst Du z.B. google nehmen 8.8.8.8 Genau den hatte ich tatsächlich genommen. > Vorab checken, ob die IP tatsächlich frei ist, nicht das sich 2 Geräte > die IP teilen. Die FritzBox hat die .27 jetzt für den ESP reserviert. > Was Für ein ESP Modul benutzt Du eigentlich? NodeMCU Gruß, Hendrik
Hallo, ich hab den ESP jetzt mal an seinen Zielort gepackt --> keine Verbindung mehr. Ich hab mich dann mit dem AP verbunden und bin auf SSID gegangen. Da wurde mir mein Netz angezeigt, allerdings mit Signalstärke N/A. Etwas später mit der Signalstärke 16%. Ich hab ihn dann nochmal an den Rechner angeschlossen und bin dann an den Zielort gegangen: ---Starting up...--- ---AP Settings--- ---AP IP: 192.168.4.1--- ---AP SSID: KeyBLEBridge--- # /keyble.json loaded # WIFI: connected to SSiD: X # WIFI: connected! # WIFI: signalquality: 76% # WiFi connected to IP: 192.168.177.27 # Connect to MQTT-Broker... # Connected! # published SmartlockHintertuer/task/working # WiFi disabled *** get state *** # Nonce exchange # Searching ... !!! Lockstatus -1 - timeout !!! # Done! # WiFi enabled # WiFi disconnected, reconnect... Es kann also durchaus an der Signalstärke liegen. ABER: Ich hatte das Problem auch schon in Blickverbindung mit dem AP. Ich habe das Gefühl, dass er nach der Situation oben die Credentials gerne vergisst. Zudem: Ich sitze jetzt in Sichtweite des AP und sehe weiter: # WiFi enabled # WiFi disconnected, reconnect... Gruß, Hendrik
So, ich habe jetzt 15 min gewartet und es tat sich nix (kein Re-Connect). Dann ein Reset rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0018,len:4 load:0x3fff001c,len:1044 load:0x40078000,len:10124 load:0x40080400,len:5828 entry 0x400806a8 ---Starting up...--- ---AP Settings--- ---AP IP: 192.168.4.1--- ---AP SSID: KeyBLEBridge--- # /keyble.json loaded [E][WiFiSTA.cpp:221] begin(): connect failed! Wenn ich mich mit dem AP verbinde, sagt er "Please click on gear to setup WiFi" Mein Netz findet er. 58% Er fragt NICHT nach dem Wlan Passwort. Er hat die anderen Einstellungen noch (IP, KeyBLE) Komisch... Gruß, Hendrik
Hi Hendrik, hier muss ich mal näher forschen, woran das was Du beschreibst liegt. Bis jetzt kann ich das hier nicht nachstellen. Erneut, Passwörter müssen jedesmal neu eingegeben werden. Es gibt kein Errohandling und keine Prüfung der Eingaben. Es wird also zur Zeit an keiner Stelle nach etwas gefragt. Im Bedarfsfall sende ich dir mal eine fertige BIN zum Upload via OTA. Geh mal bitte in die AutoConnectDefs.h und entferne die Kommentierung von #define AC_DEBUG Das aktiviert serielles Debuging von AutoConnect. Gleiches machst Du bitte mal in der PageBuilder.h mit #define PB_DEBUG Das aktiviert serielles Debuging von PageBuilder. Damit kommen über Serial Debug Infos von AutoConect und PageBuilder. Mal gucken ob man das damit eingrenzen kann. Schönen Gruß Thomas P.S. Ich danke dir für Deinen Testeinsatz! Sei aber bitte so nachsichtig und betrachte das, was zur Zeit da ist nicht als fertiges Produkt, sondern frühe Alpha. Hier spielen sehr viele Faktoren zusammen.
:
Bearbeitet durch User
Hi Hendrik, hier mal ein Beispiel log von eine vorher geeerten ESP nach Anleitung bei GIT und eingeschaltetem Debuging:
1 | ---Starting up...--- |
2 | ---AP Settings--- |
3 | ---AP IP: 192.168.4.1--- |
4 | ---AP SSID: KeyBLEBridge--- |
5 | [AC] Element<style> not registered |
6 | [AC] style<7> of /keyble_setting created |
7 | [AC] *noname placed on /keyble_setting |
8 | [AC] style<7> of /keyble_setting loaded |
9 | [AC] Element<MqttServerName> not registered |
10 | [AC] MqttServerName<4> of /keyble_setting created |
11 | [AC] *noname placed on /keyble_setting |
12 | [AC] MqttServerName<4> of /keyble_setting loaded |
13 | [AC] Element<MqttPort> not registered |
14 | [AC] MqttPort<4> of /keyble_setting created |
15 | [AC] *noname placed on /keyble_setting |
16 | [AC] MqttPort<4> of /keyble_setting loaded |
17 | [AC] Element<MqttUserName> not registered |
18 | [AC] MqttUserName<4> of /keyble_setting created |
19 | [AC] *noname placed on /keyble_setting |
20 | [AC] MqttUserName<4> of /keyble_setting loaded |
21 | [AC] Element<MqttUserPass> not registered |
22 | [AC] MqttUserPass<4> of /keyble_setting created |
23 | [AC] *noname placed on /keyble_setting |
24 | [AC] MqttUserPass<4> of /keyble_setting loaded |
25 | [AC] Element<MqttTopic> not registered |
26 | [AC] MqttTopic<4> of /keyble_setting created |
27 | [AC] *noname placed on /keyble_setting |
28 | [AC] MqttTopic<4> of /keyble_setting loaded |
29 | [AC] Element<KeyBleMac> not registered |
30 | [AC] KeyBleMac<4> of /keyble_setting created |
31 | [AC] *noname placed on /keyble_setting |
32 | [AC] KeyBleMac<4> of /keyble_setting loaded |
33 | [AC] Element<KeyBleUserKey> not registered |
34 | [AC] KeyBleUserKey<4> of /keyble_setting created |
35 | [AC] *noname placed on /keyble_setting |
36 | [AC] KeyBleUserKey<4> of /keyble_setting loaded |
37 | [AC] Element<KeyBleUserId> not registered |
38 | [AC] KeyBleUserId<4> of /keyble_setting created |
39 | [AC] *noname placed on /keyble_setting |
40 | [AC] KeyBleUserId<4> of /keyble_setting loaded |
41 | [AC] Element<save> not registered |
42 | [AC] save<8> of /keyble_setting created |
43 | [AC] *noname placed on /keyble_setting |
44 | [AC] save<8> of /keyble_setting loaded |
45 | [AC] Element<discard> not registered |
46 | [AC] discard<8> of /keyble_setting created |
47 | [AC] *noname placed on /keyble_setting |
48 | [AC] discard<8> of /keyble_setting loaded |
49 | [AC] /keyble_setting on hands |
50 | [AC] Element<caption> not registered |
51 | [AC] caption<9> of /keyble_save created |
52 | [AC] *noname placed on /keyble_save |
53 | [AC] caption<9> of /keyble_save loaded |
54 | [AC] Element<parameters> not registered |
55 | [AC] parameters<9> of /keyble_save created |
56 | [AC] *noname placed on /keyble_save |
57 | [AC] parameters<9> of /keyble_save loaded |
58 | [AC] Element<clear> not registered |
59 | [AC] clear<8> of /keyble_save created |
60 | [AC] *noname placed on /keyble_save |
61 | [AC] clear<8> of /keyble_save loaded |
62 | [AC] /keyble_save on hands |
63 | [AC] Deserialize:EmptyInput |
64 | # /keyble.json failed to load
|
65 | [AC] Current: |
66 | [E][Preferences.cpp:49] begin(): nvs_open failed: NOT_FOUND |
67 | [AC] Preferences begin failed to import AC_CREDT |
68 | [AC] WiFi.config(IP=0.0.0.0, Gateway=0.0.0.0, Subnetmask=0.0.0.0, DNS1=0.0.0.0, DNS2=0.0.0.0) |
69 | [E][WiFiSTA.cpp:221] begin(): connect failed! |
70 | [AC] WiFi.begin() failed |
71 | [AC] SoftAP configure 192.168.4.1, 192.168.4.1, 255.255.255.0 |
72 | [AC] SoftAP KeyBLEBridge/eqivalock Ch(1) IP:192.168.4.1 |
73 | [AC] http server started |
74 | [AC] DNS server started |
75 | [AC] s_rc placed on /_ac/update |
76 | [AC] cap placed on /_ac/update |
77 | [AC] bin placed on /_ac/update |
78 | [AC] update placed on /_ac/update |
79 | [AC] js placed on /_ac/update |
80 | [AC] bin placed on /_ac/update_act |
81 | [AC] result placed on /_ac/update_act |
82 | [AC] dvo placed on /_ac/update_act |
83 | [AC] rc placed on /_ac/update_act |
84 | [AC] dvc placed on /_ac/update_act |
85 | [AC] /_ac/update on hands |
86 | [AC] /_ac/update_act on hands |
87 | [AC] Host:,/connecttest.txt,ignored |
88 | [E][WebServer.cpp:633] _handleRequest(): request handler not found |
89 | [AC] Detected application, www.msftconnecttest.com, 0.0.0.0 |
90 | [AC] Host:www.msftconnecttest.com,/connecttest.txt,ignored |
91 | [E][WebServer.cpp:633] _handleRequest(): request handler not found |
92 | [AC] Detected application, www.msftconnecttest.com, 0.0.0.0 |
93 | [AC] Host:192.168.4.1,/_ac,generated:/_ac, allocated |
94 | [PB] HTTP_GET /_ac |
95 | [AC] Host:192.168.4.1,/_ac,already allocated |
96 | [PB] Chunked, HEAD CSS_BASE CSS_TABLE blk:1270 CSS_LUXBAR blk:1270 blk:1270 MENU_PRE blk:1270 MENU_AUX MENU_POST ESTAB_SSID WIFI_MODE WIFI_STATUS LOCAL_IP GATEWAY NETMASK SOFTAP_IP AP_MAC STA_MAC CHANNEL DBM CHIP_ID CPU_FREQ FLASH_SIZE FREE_HEAP blk:1153 |
97 | [AC] Host:192.168.4.1,/connecttest.txt,ignored |
98 | [E][WebServer.cpp:633] _handleRequest(): request handler not found |
99 | [AC] Detected application, www.msftconnecttest.com, 0.0.0.0 |
100 | [AC] Host:www.msftconnecttest.com,/connecttest.txt,ignored |
101 | [E][WebServer.cpp:633] _handleRequest(): request handler not found |
102 | [AC] Detected application, www.msftconnecttest.com, 0.0.0.0 |
103 | [AC] Host:www.msftconnecttest.com,/connecttest.txt,ignored |
104 | [E][WebServer.cpp:633] _handleRequest(): request handler not found |
105 | [AC] Detected application, www.msftconnecttest.com, 0.0.0.0 |
106 | [AC] Host:www.msftconnecttest.com,/connecttest.txt,ignored |
107 | [E][WebServer.cpp:633] _handleRequest(): request handler not found |
108 | [AC] Detected application, www.msftconnecttest.com, 0.0.0.0 |
109 | [AC] Host:www.msftconnecttest.com,/connecttest.txt,ignored |
110 | [E][WebServer.cpp:633] _handleRequest(): request handler not found |
111 | [AC] Detected application, www.msftconnecttest.com, 0.0.0.0 |
112 | [AC] Host:www.msftconnecttest.com,/connecttest.txt,ignored |
113 | [E][WebServer.cpp:633] _handleRequest(): request handler not found |
114 | [AC] Detected application, www.msftconnecttest.com, 0.0.0.0 |
115 | [AC] Host:www.msftconnecttest.com,/_ac/config,generated:/_ac/config, allocated |
116 | [PB] HTTP_GET /_ac/config |
117 | [AC] Host:192.168.4.1,/_ac/config,already allocated |
118 | [PB] Chunked, HEAD CSS_BASE CSS_ICON_LOCK blk:1270 CSS_UL CSS_INPUT_BUTTON blk:1270 CSS_INPUT_TEXT blk:1270 CSS_LUXBAR blk:1270 blk:1270 MENU_PRE MENU_AUX MENU_POST blk:1270 LIST_SSID [AC] 4 network(s) found, 769 buf |
119 | SSID_COUNT HIDDEN_COUNT blk:1270 CONFIG_IP blk:1270 blk:238 |
120 | [AC] Host:192.168.4.1,/connecttest.txt,ignored |
121 | [E][WebServer.cpp:633] _handleRequest(): request handler not found |
122 | [AC] Detected application, www.msftconnecttest.com, 0.0.0.0 |
123 | [AC] Host:www.msftconnecttest.com,/connecttest.txt,ignored |
124 | [E][WebServer.cpp:633] _handleRequest(): request handler not found |
125 | [AC] Detected application, www.msftconnecttest.com, 0.0.0.0 |
126 | [AC] Host:www.msftconnecttest.com,/_ac/connect,generated:/_ac/connect, allocated |
127 | [PB] HTTP_POST /_ac/connect |
128 | [AC] Host:192.168.4.1,/_ac/connect,already allocated |
129 | [PB] Chunked, REQ [AC] Queried SSID:LuMoKiTho24 |
130 | HEAD CSS_BASE CSS_SPINNER blk:1270 CSS_LUXBAR blk:1270 blk:1270 MENU_PRE blk:1270 MENU_POST CUR_SSID blk:648 |
131 | [AC] WiFi.config(IP=192.168.1.55, Gateway=192.168.1.1, Subnetmask=255.255.255.0, DNS1=192.168.1.1, DNS2=8.8.8.8) |
132 | [AC] WiFi.begin(LuMoKiTho24,KENNWORT) ch(13)....................established IP:192.168.1.55 |
133 | [AC] DNS server stopped |
134 | [AC] Maintain SoftAP |
135 | [E][Preferences.cpp:49] begin(): nvs_open failed: NOT_FOUND |
136 | [AC] Preferences begin failed to import AC_CREDT |
137 | [AC] LuMoKiTho24 credential saved |
Ab hier sind die WLAN Zugangsdaten eingetragen
1 | [AC] Event<17> handler registered |
2 | # WIFI: connected to SSiD: LuMoKiTho24
|
3 | # WIFI: connected!
|
4 | # WIFI: signalquality: 100%
|
5 | # WiFi connected to IP: 192.168.1.55
|
6 | # Please fill in MQTT and KeyBLE credentials first!
|
7 | [AC] STA lost connection:63 |
8 | [AC] STA connection restored |
9 | [AC] Host:192.168.4.1,/connecttest.txt,ignored |
10 | [E][WebServer.cpp:633] _handleRequest(): request handler not found |
11 | [AC] Detected application, www.msftconnecttest.com, 192.168.1.55 |
12 | [AC] Host:www.msftconnecttest.com,/_ac/result,generated:/_ac/result, allocated |
13 | [PB] HTTP_GET /_ac/result |
14 | [AC] Host:192.168.4.1,/_ac/result,already allocated |
15 | [PB] Chunked, RESULT [AC] Redirect to http://192.168.4.1 |
16 | [AC] Leaves:5[ms] |
17 | [PB] Send canceled |
18 | [AC] Host:192.168.4.1,/_ac/success,generated:/_ac/success, allocated |
19 | [PB] HTTP_GET /_ac/success |
20 | [AC] Host:192.168.4.1,/_ac/success,already allocated |
21 | [PB] Chunked, HEAD CSS_BASE CSS_TABLE blk:1270 CSS_LUXBAR blk:1270 blk:1270 MENU_PRE blk:1270 MENU_AUX MENU_POST ESTAB_SSID WIFI_MODE WIFI_STATUS LOCAL_IP GATEWAY NETMASK CHANNEL DBM blk:859 |
22 | [AC] Host:192.168.1.55,/keyble_setting,generated:/keyble_setting, allocated |
Ab hier wird zu den MQTT und KeyBLE Zugangsdaten gewechselt
1 | [PB] HTTP_GET /keyble_setting |
2 | [AC] Host:192.168.1.55,/keyble_setting,already allocated |
3 | [PB] Chunked, HEAD AUX_TITLE CSS_BASE CSS_UL blk:1270 CSS_INPUT_BUTTON CSS_INPUT_TEXT blk:1270 CSS_LUXBAR blk:1270 blk:1270 AUX_CSS MENU_PRE blk:1270 MENU_AUX MENU_POST ENC_TYPE AUX_ELEMENT [AC] CB in AHEAD /keyble_setting |
4 | [AC] Deserialize:EmptyInput |
5 | # /keyble.json failed to load
|
6 | blk:1270 AUX_URI blk:1122 |
7 | [AC] Host:192.168.1.55,/keyble_save,generated:/keyble_save, allocated |
8 | [PB] HTTP_POST /keyble_save |
9 | [AC] Host:192.168.1.55,/keyble_save,already allocated |
10 | [PB] Chunked, HEAD AUX_TITLE CSS_BASE CSS_UL blk:1270 CSS_INPUT_BUTTON CSS_INPUT_TEXT blk:1270 CSS_LUXBAR blk:1270 blk:1270 AUX_CSS MENU_PRE blk:1270 MENU_AUX MENU_POST ENC_TYPE AUX_ELEMENT [AC] fetch /keyble_setting,elements stored |
11 | [AC] CB in AHEAD /keyble_save |
12 | [AC] JSON buffer size:1952 |
13 | blk:1270 AUX_URI blk:249 |
14 | [AC] Host:192.168.1.55,/keyble_setting,generated:/keyble_setting, allocated |
15 | [PB] HTTP_POST /keyble_setting |
16 | [AC] Host:192.168.1.55,/keyble_setting,already allocated |
Ab hier werden die Zugangsdaten gespeichert
1 | [PB] Chunked, HEAD AUX_TITLE CSS_BASE CSS_UL blk:1270 CSS_INPUT_BUTTON CSS_INPUT_TEXT blk:1270 CSS_LUXBAR blk:1270 blk:1270 AUX_CSS MENU_PRE blk:1270 MENU_AUX MENU_POST ENC_TYPE AUX_ELEMENT [AC] fetch /keyble_save,elements stored |
2 | [AC] CB in AHEAD /keyble_setting |
3 | [AC] MqttServerName<4> of /keyble_setting loaded |
4 | [AC] MqttPort<4> of /keyble_setting loaded |
5 | [AC] MqttUserName<4> of /keyble_setting loaded |
6 | [AC] MqttUserPass<4> of /keyble_setting loaded |
7 | [AC] MqttTopic<4> of /keyble_setting loaded |
8 | [AC] KeyBleMac<4> of /keyble_setting loaded |
9 | [AC] KeyBleUserKey<4> of /keyble_setting loaded |
10 | [AC] KeyBleUserId<4> of /keyble_setting loaded |
11 | # /keyble.json loaded
|
12 | blk:1270 AUX_URI blk:1270 blk:24 |
13 | [AC] Host:192.168.1.55,/keyble_save,generated:/keyble_save, allocated |
14 | [PB] HTTP_POST /keyble_save |
15 | [AC] Host:192.168.1.55,/keyble_save,already allocated |
16 | [PB] Chunked, HEAD AUX_TITLE CSS_BASE CSS_UL blk:1270 CSS_INPUT_BUTTON CSS_INPUT_TEXT blk:1270 CSS_LUXBAR blk:1270 blk:1270 AUX_CSS MENU_PRE blk:1270 MENU_AUX MENU_POST ENC_TYPE AUX_ELEMENT [AC] fetch /keyble_setting,elements stored |
17 | [AC] CB in AHEAD /keyble_save |
18 | [AC] JSON buffer size:1952 |
19 | blk:1270 AUX_URI blk:249 |
20 | [AC] Host:192.168.1.55,/keyble_setting,generated:/keyble_setting, allocated |
21 | [PB] HTTP_POST /keyble_setting |
22 | [AC] Host:192.168.1.55,/keyble_setting,already allocated |
23 | [PB] Chunked, HEAD AUX_TITLE CSS_BASE CSS_UL blk:1270 CSS_INPUT_BUTTON CSS_INPUT_TEXT blk:1270 CSS_LUXBAR blk:1270 blk:1270 AUX_CSS MENU_PRE blk:1270 MENU_AUX MENU_POST ENC_TYPE AUX_ELEMENT [AC] fetch /keyble_save,elements stored |
24 | [AC] CB in AHEAD /keyble_setting |
25 | [AC] MqttServerName<4> of /keyble_setting loaded |
26 | [AC] MqttPort<4> of /keyble_setting loaded |
27 | [AC] MqttUserName<4> of /keyble_setting loaded |
28 | [AC] MqttUserPass<4> of /keyble_setting loaded |
29 | [AC] MqttTopic<4> of /keyble_setting loaded |
30 | [AC] KeyBleMac<4> of /keyble_setting loaded |
31 | [AC] KeyBleUserKey<4> of /keyble_setting loaded |
32 | [AC] KeyBleUserId<4> of /keyble_setting loaded |
33 | # /keyble.json loaded
|
Ab hier werden die Zugangdaten verwendet und ein Reset durchgeführt
1 | blk:1270 AUX_URI blk:1270 blk:24 |
2 | [AC] Host:192.168.1.55,/_ac/reset,generated:/_ac/reset, allocated |
3 | [PB] HTTP_GET /_ac/reset |
4 | [AC] Host:192.168.1.55,/_ac/reset,already allocated |
5 | [PB] Chunked, HEAD UPTIME BOOTURI RESET UPTIME blk:551 |
6 | [AC] Event<17> handler released |
7 | [AC] Portal stopped |
8 | [AC] Reset |
9 | ets Jun 8 2016 00:22:57 |
10 | |
11 | rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) |
12 | configsip: 0, SPIWP:0xee |
13 | clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 |
14 | mode:DIO, clock div:2 |
15 | load:0x3fff0018,len:4 |
16 | load:0x3fff001c,len:1044 |
17 | load:0x40078000,len:10124 |
18 | load:0x40080400,len:5828 |
19 | entry 0x400806a8 |
20 | ---Starting up...--- |
21 | ---AP Settings--- |
22 | ---AP IP: 192.168.4.1--- |
23 | ---AP SSID: KeyBLEBridge--- |
24 | [AC] Element<style> not registered |
25 | [AC] style<7> of /keyble_setting created |
26 | [AC] *noname placed on /keyble_setting |
27 | [AC] style<7> of /keyble_setting loaded |
28 | [AC] Element<MqttServerName> not registered |
29 | [AC] MqttServerName<4> of /keyble_setting created |
30 | [AC] *noname placed on /keyble_setting |
31 | [AC] MqttServerName<4> of /keyble_setting loaded |
32 | [AC] Element<MqttPort> not registered |
33 | [AC] MqttPort<4> of /keyble_setting created |
34 | [AC] *noname placed on /keyble_setting |
35 | [AC] MqttPort<4> of /keyble_setting loaded |
36 | [AC] Element<MqttUserName> not registered |
37 | [AC] MqttUserName<4> of /keyble_setting created |
38 | [AC] *noname placed on /keyble_setting |
39 | [AC] MqttUserName<4> of /keyble_setting loaded |
40 | [AC] Element<MqttUserPass> not registered |
41 | [AC] MqttUserPass<4> of /keyble_setting created |
42 | [AC] *noname placed on /keyble_setting |
43 | [AC] MqttUserPass<4> of /keyble_setting loaded |
44 | [AC] Element<MqttTopic> not registered |
45 | [AC] MqttTopic<4> of /keyble_setting created |
46 | [AC] *noname placed on /keyble_setting |
47 | [AC] MqttTopic<4> of /keyble_setting loaded |
48 | [AC] Element<KeyBleMac> not registered |
49 | [AC] KeyBleMac<4> of /keyble_setting created |
50 | [AC] *noname placed on /keyble_setting |
51 | [AC] KeyBleMac<4> of /keyble_setting loaded |
52 | [AC] Element<KeyBleUserKey> not registered |
53 | [AC] KeyBleUserKey<4> of /keyble_setting created |
54 | [AC] *noname placed on /keyble_setting |
55 | [AC] KeyBleUserKey<4> of /keyble_setting loaded |
56 | [AC] Element<KeyBleUserId> not registered |
57 | [AC] KeyBleUserId<4> of /keyble_setting created |
58 | [AC] *noname placed on /keyble_setting |
59 | [AC] KeyBleUserId<4> of /keyble_setting loaded |
60 | [AC] Element<save> not registered |
61 | [AC] save<8> of /keyble_setting created |
62 | [AC] *noname placed on /keyble_setting |
63 | [AC] save<8> of /keyble_setting loaded |
64 | [AC] Element<discard> not registered |
65 | [AC] discard<8> of /keyble_setting created |
66 | [AC] *noname placed on /keyble_setting |
67 | [AC] discard<8> of /keyble_setting loaded |
68 | [AC] /keyble_setting on hands |
69 | [AC] Element<caption> not registered |
70 | [AC] caption<9> of /keyble_save created |
71 | [AC] *noname placed on /keyble_save |
72 | [AC] caption<9> of /keyble_save loaded |
73 | [AC] Element<parameters> not registered |
74 | [AC] parameters<9> of /keyble_save created |
75 | [AC] *noname placed on /keyble_save |
76 | [AC] parameters<9> of /keyble_save loaded |
77 | [AC] Element<clear> not registered |
78 | [AC] clear<8> of /keyble_save created |
79 | [AC] *noname placed on /keyble_save |
80 | [AC] clear<8> of /keyble_save loaded |
81 | [AC] /keyble_save on hands |
82 | [AC] MqttServerName<4> of /keyble_setting loaded |
83 | [AC] MqttPort<4> of /keyble_setting loaded |
84 | [AC] MqttUserName<4> of /keyble_setting loaded |
85 | [AC] MqttUserPass<4> of /keyble_setting loaded |
86 | [AC] MqttTopic<4> of /keyble_setting loaded |
87 | [AC] KeyBleMac<4> of /keyble_setting loaded |
88 | [AC] KeyBleUserKey<4> of /keyble_setting loaded |
89 | [AC] KeyBleUserId<4> of /keyble_setting loaded |
90 | # /keyble.json loaded
|
91 | [AC] Current:LuMoKiTho24 |
92 | [AC] WiFi.config(IP=192.168.1.55, Gateway=192.168.1.1, Subnetmask=255.255.255.0, DNS1=192.168.1.1, DNS2=8.8.8.8) |
93 | [AC] WiFi.begin()........established IP:192.168.1.55 |
94 | [AC] http server started |
95 | # WIFI: connected to SSiD: LuMoKiTho24
|
96 | # WIFI: connected!
|
97 | # WIFI: signalquality: 96%
|
98 | # WiFi connected to IP: 192.168.1.55
|
99 | # Connect to MQTT-Broker...
|
100 | # Connected!
|
101 | [AC] s_rc placed on /_ac/update |
102 | [AC] cap placed on /_ac/update |
103 | [AC] bin placed on /_ac/update |
104 | [AC] update placed on /_ac/update |
105 | [AC] js placed on /_ac/update |
106 | [AC] bin placed on /_ac/update_act |
107 | [AC] result placed on /_ac/update_act |
108 | [AC] dvo placed on /_ac/update_act |
109 | [AC] rc placed on /_ac/update_act |
110 | [AC] dvc placed on /_ac/update_act |
111 | [AC] /_ac/update on hands |
112 | [AC] /_ac/update_act on hands |
MQTT und WLAN Verbindungen sind aufgebaut
1 | # published SmartLock/task/working
|
2 | # WiFi disabled
|
3 | Hier wir die initiale Abfrage des Schlossantriebes gestartet |
4 | |
5 | *** get state *** |
6 | # Nonce exchange
|
7 | # Searching ...
|
8 | # Found device: 00:1a:22:09:8d:70
|
9 | # RSSI: -80
|
10 | # Connecting in tick
|
11 | # Connecting...
|
12 | # Connected in tick
|
13 | [E][BLERemoteCharacteristic.cpp:287] retrieveDescriptors(): esp_ble_gattc_get_all_descr: Unknown |
14 | # sendMessage end.
|
15 | # Sending actual fragment: 800201221CF8203B28B5BB0000000000
|
16 | # Fragment Data: 800301D5D897E95A2BF1E80010170000
|
17 | # Nonce exchanged
|
18 | # sendMessage called again...
|
19 | # Cryptdata length: 8
|
20 | # Cryptdata length: 8
|
21 | # Authentifizierungswert berechnen...
|
22 | # fertig...
|
23 | # sendMessage end.
|
24 | # Sending actual fragment: 808247E03D6DF455510B00017C61AB9F
|
25 | # Fragment Data: 80834CBA7BDDB10097B50001880AE019
|
26 | # Auth value: 880AE019
|
27 | # Cryptdata length: 8
|
28 | # Crypted data: 4CBA7BDDB10097B5
|
29 | # Authentifizierungswert berechnen...
|
30 | # fertig...
|
31 | # Decrypted: 71010A0010170000
|
32 | # New state: 2
|
33 | # Done!
|
Ab hier wird BLE getrennt und WLAN aufgebaut
1 | # Disconnected!
|
2 | # WiFi enabled
|
3 | # WiFi disconnected, reconnect...
|
4 | [AC] Current:LuMoKiTho24 |
5 | [AC] WiFi.config(IP=192.168.1.55, Gateway=192.168.1.1, Subnetmask=255.255.255.0, DNS1=192.168.1.1, DNS2=8.8.8.8) |
6 | [AC] WiFi.begin()......established IP:192.168.1.55 |
7 | # WIFI: connected to SSiD: LuMoKiTho24
|
8 | # WIFI: connected!
|
9 | # WIFI: signalquality: 98%
|
10 | # WiFi connected to IP: 192.168.1.55
|
11 | # MQTT disconnected, reconnect...
|
12 | # Connect to MQTT-Broker...
|
13 | # Connected!
|
WLAN und MQTT vebunden Rückgabe vom Schloss veröffentlichen
1 | # published SmartLock/state/unlocked
|
2 | # published SmartLock/task/waiting
|
3 | # published SmartLock/battery/1
|
4 | # published SmartLock/rssi/-80
|
5 | # waiting for command...
|
In diesem Status verbleibt der ESP bis er von außen über "DeinTopic/command" getriggert wird.
Hi Thomas, danke, das probiere ich morgen. > P.S. Ich danke dir für Deinen Testeinsatz! Sei aber bitte so nachsichtig > und betrachte das, was zur Zeit da ist nicht als fertiges Produkt, > sondern frühe Alpha. Hier spielen sehr viele Faktoren zusammen. der Dank liegt auf meiner Seite! Bisher übererfüllt das Alle Erwartungen ;-)
Hallo Thomas, ich habe die Logs jetzt erzeugt. Darin sind ja auch sensitive Daten enthalten. Kann ich sie dir per Mail schicken? Du erreichst mich unter [erste_drei_buchstaben_meines_Vorname]_mail@web.de. Viele Grüße, Hendrik
Hi Hendrik, ich habe dir eine E-Mail gesendet. Gruß Thomas
Hi Thomas, gute Arbeit :) Das Web Frontend kommt sehr geschmeidig ;) Ich habe es mal kurz ohne erreichbares Schloss in der Nähe getestet und nach dem ich alles konfiguriert habe läuft der Connect zum MQTT-Broker in der Dauerschleife. Ohne Schloss sollte ja normalerweise nicht vorkommen, aber vielleicht doch mal, wenn die Batterie leer ist. Kannst du das auch nachvollziehen?
1 | # WIFI: connected to SSiD: tcM
|
2 | # WIFI: connected!
|
3 | # WIFI: signalquality: 90%
|
4 | # WiFi connected to IP: 192.168.88.59
|
5 | # Connect to MQTT-Broker...
|
6 | # Connected!
|
7 | # published SmartLock/task/working
|
8 | # WiFi disabled
|
9 | # Nonce exchange
|
10 | # Searching ...
|
11 | !!! Lockstatus -1 - timeout !!! |
12 | # Done!
|
13 | # WiFi enabled
|
14 | # WiFi disconnected, reconnect...
|
15 | # WIFI: connected to SSiD: tcM
|
16 | # WIFI: connected!
|
17 | # WIFI: signalquality: 88%
|
18 | # WiFi connected to IP: 192.168.88.59
|
19 | # MQTT disconnected, reconnect...
|
20 | # Connect to MQTT-Broker...
|
21 | # Connected!
|
22 | # published SmartLock/state/timeout
|
23 | # published SmartLock/task/waiting
|
24 | # published SmartLock/rssi/0
|
25 | # waiting for command...
|
26 | # MQTT disconnected, reconnect...
|
27 | # Connect to MQTT-Broker...
|
28 | # Connected!
|
29 | # MQTT disconnected, reconnect...
|
30 | # Connect to MQTT-Broker...
|
31 | # Connected!
|
32 | # MQTT disconnected, reconnect...
|
33 | # Connect to MQTT-Broker...
|
34 | # Connected!
|
35 | # MQTT disconnected, reconnect...
|
36 | # Connect to MQTT-Broker...
|
37 | # Connected!
|
38 | # MQTT disconnected, reconnect...
|
39 | # Connect to MQTT-Broker...
|
40 | # Connected!
|
41 | ...
|
Hallo Max, ich danke Dir für deinen Hinweis, bis jetzt gibt es noch kein Errorhandling. Bei mir haben sich nun unregelmäßige reboots gezeigt. Nur kann ich noch nicht genau sagen woher die kommen. Ich spiele hier zur Zeit mit dem Espressif Debugger herum, mal gucken, ob ich das eingrenzen kann. Bis jetzt ist mein Verdacht, dass es an der nicht richtig abgebauten BLE Verbindung zum Schloss liegt. Hierzu befinden sich ja in Deinem/RoP09s Repo noch einige todos. Ziel ist es zwar mittelfristig eine stabile Version zu bekommen, ich bin aber weitehin auch an eine Coexistence Variant dran, wo nicht mehr zwischen WiFi und BLE gewechselt werden muss. Da habe doch noch einige Ideen, was man machen könnte. Wenn das Wetter mal schlechter ist, setzte ich mich dran. Schönen Gruß Thomas
Hallo, so, zur hellen Jahreszeit hatte ich wenig Lust mich dem Schloss zu widmen. Wie ist denn eure Erfahrung mit der Software von Thomas bisher? Mein RasPi hat das Zeitliche gesegnet und jetzt überlege ich, ob ich den repariere, oder zwei ESPs nehme... Beim ESP war bisher aber auch der WLAN Empfang nicht gut und (dadurch?) crashte er regelmäßig. Gruß, Hendrik
P.S: Hat jemand Erfahrungen mit ESP32 mit externer WLAN Antenne? Bringt das was?
Hendrik schrieb: > P.S: Hat jemand Erfahrungen mit ESP32 mit externer WLAN Antenne? Bringt > das was? Ich hab einem esp8266 eine externe antenne verpasst. Nur so ein kleines stumpel mit ca. 10cm, ohne irgendwelche dbi angaben. Hat von vorher -92 (mit glück) auf -75 gehoben.
Hallo Joachim @oyo, hallo Thomas @type0n, halle Max @tcsmaxx hat einer von euch eine Ahnung was das Problem mit keyble in Verbindung mit nodeJS 14 sein könnte? https://github.com/oyooyo/keyble/issues/37 Danke und Gruß Thomas
Hallo, ich bin zwar ein absoluter Noob was das Thema EQ-3 Türschlossantrieb KeyBLE angeht. Aber hat schon jemand versucht ein ESP8266 D1 mini direckt mit dem Platine des Türschlosses zu verbinden? Es gibt ja diese HomeKit ESP8266 Firmware für dieses. So würde man nicht den Weg über die Bluetoothschnittstelle gehen, diese aber auch nicht kaputt machen oder zerstören, sondern man könnte diese weiter nutzen wenn man mag. Das Schloss würde so gesehen ein Update (WiFi-Funktion) bekommen und direkt mit HomeKit verbunden werden können. Der ESP8266 D1 mini könnte sogar im Gehäuse selber untergebracht werden und wäre somit unsichtbar. Das Borad kann sogar so verstaut werden, das man mit einer Nadel/Büroklammer oder ähnliches an den RESET Button und mit einer kleinen Ausfräsung an der Rückseite an den Micro-USB-Port zum programieren zu kommen kann. Ich weiß ich bin nicht der überflieger was die Arduino IDE angeht, aber ich habe die ESP8266 HomeKit Firmware schon soweit gebracht das diese mit meiner Schaltzentrale (HomeKit) keinen Fehler mehr anzeigt. Ich habe nur leider ein paar probleme was den Bedienknöpfe in der Home-App angeht. Diese Sollen in drei Stellungen Fix sein. Stand jetzt ist leider, dass ich dort einen Balken von 0-100% habe, was mir nicht weiter hilft! Ich muss noch folgendes einstellen bzw. programmieren: -DeepSleep Modus -HomeKit Bedienung -die Datenverbindung zwischen dem ESP8266 D1 mini und der KeyBLE-Platine, dazu muss ich noch die richtigen Befehle herraus finden damit das Schloss die einfachsten dinge wie: Schließen, Entriegeln und Öffnen der Tür tut. vielleicht kann mir bei meinen Vorhaben einer unter die Arme greifen Einen schönen Abend noch. TiTo
Ja, das hat schon jemand geschafft. Ich bin aber gescheitert. Meinen Versuch und die Quelle zu dem, der es geschafft hat habe ich im knx-user-forum.de dokumentiert. Ich weiß nicht, was an der Bluetooth Schnittstelle kaputt gehen sollte. Gruß, Hendrik
Hallo, danke das Du dich meldest. Meinst du diesen Beitrag wo jemand die Druckschalter mit dem ESP8266 verbunden hatte um so das Schloss auf und zu zusperren? Diesen Beitrag hatte ich mir voller Erwartung durchgelesen. Aber da ich nicht bereit bin, ein Kabel zur Tür zu ziehen, um so eine Strom Versorgung zu realisieren, schied dieser Weg für mich aus. Meine Vorstellung ging eher dahin das ESP8266 direkt an den Datenport des Türschlosses anzulöten um dort direkt die Befehle zu geben und Strom zu bekommen. Deswegen muss das ESP unbedingt auch in den DeepSleep mode um Akku Kapazität zu sparen. Weil alles was direkt am Schloss passiert "sollte es" nicht verschlüsselt sein, denke ich zumindest.... kann aber auch etwas naiv von mir gedacht sein....
Hallo, leider ist mein vorhaben gescheitert. Das ist leider was die direkte integration angeht schade, aber leider nicht zu ändern. Was mir allerdings während der ganzen Spielereien aufgefallen ist, ist das dass Türschloss immer nur den ersten Befehl ausführt, dann noch eine gewisse Zeit ansprechbar ist. Wenn man jetzt allerdings eine Zeit lang wartet und zum Beispiel vom Einkaufen wieder Heim kommt (ca. eine Stunde), die Tür soll öffnen, tut es aber nicht. Wenn ich aber bei Haus verlassen die Homebridge neu starte und dann Heim kehre, öffnet Sie ohne Probleme die Tür. Wäre es machbar diese Funktionen "timeout" und/oder "auto_disconnect_time" in die Homebridge zu integrieren? So dass man der Bridge sagen kann das Sie die Verbindung nach der eingestellten Zeit trennen soll und nicht wartet bis das Schloss die Verbindung trennt? Oder wäre es sogar möglich dem Plugin nach dem die Verbindung getrennt wurde einen internen Neustart oder ähnliches zu integrieren? Wenn man die Homebridge manuell neu startet, dann steht dort "cashclear", soll wohl das Plugin aus dem Arbeitsspeicher löschen um diverse Fehler aus zu Märzen, könnte man diese Funktion vielleicht nutzen um das nach jedem gesendeten Befehl zu machen? Hoffe das hier jemand der Mitwirkenden vielleicht noch aktiv ist. Ich selber kann leider Plugins nicht Programmieren! Das sind nur Sachen die mir nach dem ganzen herum spielen mit dem ESP8266 aufgefallen waren. TiTo
Liebe Leute, ich weiß, der Beitrag ist etwas älter, aber dennoch gibt es aktuell noch keine sinnvollen (Preis/Leistung) Alternativen. Aber hier gibt es eine ziemlich schöne Lösung. Mit ein wenig Bastelerfahrung absolut umsetzbar. https://ingenier.wordpress.com/2018/02/17/eqiva-key-ble-eq-3-bluetooth-mit-wlan-nachruesten/ Liebe Grüße, Daniel
Hallo, ich habe ein Schloss, dessen Drehrichtung nicht dem Default entspricht. In der App habe ich das natürlich entsprechend eingestellt, aber leider vergisst das Schloss diese Einstellung recht häufig. Kennt jemand das Problem? Joachim S. schrieb: >> Sag mal, wäre es möglich die Konfiguration des Smart-Locks über keyble >> zu bearbeiten? z.B. pairing-modus aktivieren/deaktivieren, Drehrichtung >> auswählen usw. >> Plannst du es zu realisieren? > > Möglich wäre es - das gehört aber zu den Features, die ich grundsätzlich > zwar gerne unterstützen würde, die derzeit aber so niedrige Priorität > für mich haben, dass ich sie in der nächsten Zeit vermutlich eher nicht > implementieren werde. Ich wäre dir sehr dankbar, wenn man die Drehrichtung konfigurieren könnte. Dann könnte ich diese Einstellung einmal am Tag ans Schloss senden... Gruß, Hendrik
Registriert euch bei Nuki und werbt 10 Freunde, dann bekommt Ihr das Nuki für 49,- und habt noch einen Haufen Zubehör gratis. Ich ein Ihr nicht alles an Zubehör braucht verkauft es und das Smart Lock wäre sogar gratis.
Registriert euch bei Nuki und werbt 10 Freunde, dann bekommt Ihr das Nuki für 49,- und habt noch einen Haufen Zubehör gratis. Wenn Ihr nicht alles an Zubehör braucht verkauft es und das Smart Lock wäre sogar gratis.
@oyo Vielen, vielen Dank für Deine Arbeit. keyble hat mir und meiner "Bastel-Home-Automation" ein großes Stück weitergeholfen! Ich (Jahrgang 74 und 8- und 16Bit erfahren ;-)) bin selbst Software-Entwickler (aber nur auf .NET- und php-Basis) und weiß somit Deine Arbeit durchaus zu schätzen.
Thomas F. schrieb: > https://github.com/lumokitho/esp32-keyble Hi @type0n Da keyble direkt unter nodeJS 14 bei mir fast gar nicht mehr funktioniert, würde ich gern deine ESP32 Lösung testen. Wie bzw. mit was wird der ESP denn mit deinem Code geflasht? Bisher hatte ich nur mit .bin Dateien zu tun. Brauche ich Arduino/platformio? Was gebe ich der Software von deinem Git Projekt? Danke und Gruß Thomas
Hallo, ich habe es im letzten Jahr erfolgreich den eq3 Antrieb in der Kombination mit einem Fingerprint R503 installiert und im Betrieb genommen. Da wo ich die WIFI Verbindung dauerhaft behalten wollte habe ich für den eq3 lock einen separaten ESP32 spendiert, der wiederum per UART vom andern ESP mit R503 mit befehlen versorgt. Eine letzte Anpassung des Codes habe ich Ende Februar durchgeführt. Dann im April wollte ich es ein Update verpassen, mit ein paar Verbessunrungen. Leider ist es mir nicht gelungen, habe ständig beim kompilieren Fehlermeldung bekommen. error: static assertion failed: portGET_ARGUMENT_COUNT() result does not match for 0 arguments ringbuf_type_t' has not been declared Dann habe ich mit vor Versionen versucht, das gleiche Ergebnis. VSC neu installiert -- negativ Direkt vom Github runtergeladen -- negativ Eine ältere Version vom Platformio (vom letztem Jahr) -- negativ. Auf einem anderem Rechner neu installiert -- negativ Was hat sich geändert? Ein Fehlerprotokoll habe ich angehängt. Vielen Dank für Eure Unterstuzung
Habt ihr einen Tipp wie ich das Türschloss in Home Assistant nutzen könnte
Habt ihr einen Tipp wie ich das eqiva Türschloss in Home Assistant nutzen kann
Habt ihr einen Tipp wie ich das eqiva Türschloss in Home Assistant nutzen kann?
Hallo zusammen, ich habe es vielleicht überlesen oder was auch immer. Die KeyBLE Credentials, also KeyBLE UserKey und User ID muss ich bei der ESP32 Version oder dieser hier eingeben. Doch woher nehme ich diese Information? Für Hilfe diesbezüglich wäre ich sehr dankbar...... hilfe.....
Hallo nochmal. Ich habe jetzt einige weitere Informationen gefunden. Den "KeyBLE User Key" muss man durch die mitgelieferte Karte ermitteln. Die Karte zum Beispiel mit ZBAR --> ZBarimg scannen und den mittleren Teil (Von hinten nach dem Abschneiden der im Klartext auf der Karte befindlichen Seriennummer 32 Zeichen) als Key verwenden. Ich habe dann noch die Buchstaben in lowercase geändert. Die KeyBLE User ID sollte wahrscheinlich die nächste freie sein. Bei Zero (0) wird angefangen zu zählen. Dann muss ich wohl den ESP32 nach dem Speichern neu starten während das Schloss im Paring-Mode ist....
Hallo ich habe mir einen Eqiva Antrieb gekauft und den node Installiert finde den in nodered nicht . node red sagt auch "Installiert" kann ihn aber nicht finden ,für eine schnelle Rückmeldung wäre ich Dir Dankbar ,ansonsten schicke ich den Antrieb zurück. Gruß Udo
Servus alle zusammen, gibt es eine moeglichkeit keyble auf eine arduino/raspberry pi pico zu starten? Oder auf einem ESP32? Ich habe den githublink gefunden aber habe keine Ahnung wie ich es umsetzen kann. Kann mir jemand weiterhelfen?
Für den ESP ist hier im Thread eine eigene Software verlinkt (nicht keyble)
ich kriege folgende fehlermeldung beim kompilieren, weiss jemand wo das problem liegt? platformio und esp32 *** [.pio/build/esp32dev/lib749/ESP32 BLE Arduino/BLEAdvertisedDevice.cpp.o] Error 1 *** [.pio/build/esp32dev/lib749/ESP32 BLE Arduino/BLEAdvertising.cpp.o] Error 1 In file included from .pio/libdeps/esp32dev/ESP32 BLE Arduino/src/BLEDescriptor.h:16, from .pio/libdeps/esp32dev/ESP32 BLE Arduino/src/BLECharacteristic.h:17, from .pio/libdeps/esp32dev/ESP32 BLE Arduino/src/BLECharacteristic.cpp:15: .pio/libdeps/esp32dev/ESP32 BLE Arduino/src/FreeRTOS.h:61:28: error: 'ringbuf_type_t' has not been declared Ringbuffer(size_t length, ringbuf_type_t type = RINGBUF_TYPE_NOSPLIT); ^~~~~~~~~~~~~~ In file included from .pio/libdeps/esp32dev/ESP32 BLE Arduino/src/BLERemoteDescriptor.h:18, from .pio/libdeps/esp32dev/ESP32 BLE Arduino/src/BLERemoteCharacteristic.h:18, from .pio/libdeps/esp32dev/ESP32 BLE Arduino/src/BLERemoteService.h:16, from .pio/libdeps/esp32dev/ESP32 BLE Arduino/src/BLEClient.h:19, from .pio/libdeps/esp32dev/ESP32 BLE Arduino/src/BLEScan.h:17, from lib/eQ3/eQ3.h:4, from src/main.cpp:6: .pio/libdeps/esp32dev/ESP32 BLE Arduino/src/FreeRTOS.h:61:28: error: 'ringbuf_type_t' has not been declared Ringbuffer(size_t length, ringbuf_type_t type = RINGBUF_TYPE_NOSPLIT); ^~~~~~~~~~~~~~ *** [.pio/build/esp32dev/lib749/ESP32 BLE Arduino/BLECharacteristic.cpp.o] Error 1 *** [.pio/build/esp32dev/src/main.cpp.o] Error 1 ======================================= [FAILED] Took 2.44 seconds ======================================= * The terminal process "platformio 'run', '--target', 'upload', '--target', 'monitor', '--environment', 'esp32dev'" terminated with exit code: 1. * Terminal will be reused by tasks, press any key to close it.
Gibt es vielleicht eine schritt fuer schritt installationsanleitung fuer den esp32?
Ich habe nun die richtige versionen von den bibliotheken finden koennen und kriege jetzt folgende fehlermeldung: Building in release mode Retrieving maximum program size .pio/build/esp32dev/firmware.elf Checking size .pio/build/esp32dev/firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" Error: The program size (2026637 bytes) is greater than maximum allowed (1966080 bytes) RAM: [== ] 19.7% (used 64692 bytes from 327680 bytes) Flash: [======*** [checkprogsize] Explicit exit, status 1 ====] 103.1% (used 2026637 bytes from 1966080 bytes) platformio.ini schaut bei mir so aus: [env:esp32dev] platform = espressif32 board = esp32dev framework = arduino monitor_speed = 115200 lib_ldf_mode = deep lib_deps = ESP32 BLE Arduino @ 2.0.0 AutoConnect @ 1.3.4 PageBuilder @ 1.5.3 PubSubClient board_build.partitions = partitions_ble.csv Hat jemand eine idee wie es weitergehen soll? Waere sehr dankbar fuer die antwort
Hallo Ich versuche nun seit 2 Wochen meinen extra gekauften ESP32 zu flashen, bekomme es nicht hin. Im Platformio erhalte ich ständig nur Fehlermeldungen. Nur Erase klappt, aber kein Build usw.. bzw er startet zu Compilieren und wirft dann Fehlermeldungen aus. Hoffe mir kann jemand helfen, bin echt schon am verweifeln! Nächte schlage ich mir um die Ohren mit probieren :-(
Hendrik schrieb: > Für den ESP ist hier im Thread eine eigene Software verlinkt (nicht > keyble) Für den ESP32? Das wäre Klasse. Finde leider nichts. Nur Keyble und das lässt sich mit Platformio nicht installieren :-( Vielen Dank
Thomas F. schrieb: > Hi, > > ich habe mal mit der ESP32 Umsetzung von tscmaxx/Rop09 rumgespielt. > > Hier findet Ihr was dabei herausgekommen ist: > > https://github.com/lumokitho/esp32-keyble Wie lässt sich das Projekt auf den ESP32 flashen ohne Platformio (Denn damit klappt es nicht)? Vielen vielen Dank für Hilfe.
Doch, mit platformio klappt es. Gruß, Hendrik
Hendrik F. schrieb: > Doch, mit platformio klappt es. > > Gruß, > Hendrik Ich erhalte beim Build immer zahlreiche Fehler. Auf GIT gibt es auch andere User welche seit Ende 2022 mit Platformio nicht mehr flashen können :-( Eine Idee an was es liegen könnte? Danke lib/eQ3/eQ3_util.cpp:1:10: fatal error: hwcrypto/aes.h: No such file or directory #include <hwcrypto/aes.h> ^~~~~~~~~~~~~~~~ compilation terminated. Compiling .pio\build\esp32dev\FrameworkArduino\Esp.cpp.o *** [.pio\build\esp32dev\lib05b\eQ3\eQ3_util.cpp.o] Error 1 ======================================================================== ================= [FAILED]
:
Bearbeitet durch User
Hendrik F. schrieb:
Wäre dir für einen Tipp dankbar, woran es bei mir hakt.
Habe heute ganze Nacht durchprobiert, komm immer zum gleichen Fehler :-(
Die AES-Funktionen sind Teil von mbedtls geworden. Einfach hwcrypto/aes.h durch mbedtls/aes.h ersetzen. Damit und mit Entfernen der mittlerweile in der Core-Arduino Library inkludierten BLE Library klappt es (also den Eintrag in platformio.ini entfernen). Interessant wäre, ob man die Library in ESPHome einbinden könnte. Ich denke das wäre auch mit Abstand am einfachsten zu benutzen, und Home-Assistant ist ja dafür nicht zwingend erforderlich. Da ich nach Umzug den Antrieb wieder in Benutzung habe, könnte ich das auch ganz gut gebrauchen, da müsste ich mich aber erstmal wieder einlesen. Von meinem Code wurde ja garnicht soviel geändert :-)
Ich habe nun auf GIT von Marius den entscheidenden TIPP erhalten! Konnte nun erfolgreich compilieren. Die Platformio.ini musste ich noch abändern [env:esp32dev] platform = espressif32 board = esp32dev framework = arduino monitor_speed = 115200 lib_ldf_mode = deep lib_deps = ESP32 BLE Arduino @ 2.0.0 AutoConnect @ 1.3.4 PageBuilder @ 1.5.3 PubSubClient board_upload.flash_size = 8MB board_upload.maximum_size = 8388608 board_build.partitions = default_8MB.csv Die hwcrypto/aes.h muss durch mbedtls/aes.h ersetzt werden! Konnte nun erfolgreich flashen. Jedoch bekomme ich den ESP32 nicht im Wlan angezeigt. Hätte ich da noch wo Anpassungen vorm Build durchführen müssen?
:
Bearbeitet durch User
Wrote 2032576 bytes (1252792 compressed) at 0x00010000 in 30.0 seconds (effective 542.3 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... ======================================================================== ================= [SUCCESS] Build erfolgreich auf den ESP32 geflashed, aber es erscheint kein AP, daher kein Wifi das lautet " KeyBLEBridge " Wo kann hier das Problem liegen? Danke für Hilfe
Ausgabe an der seriellen Konsole?
Hendrik F. schrieb: > Ausgabe an der seriellen Konsole? Ich habs. Danke. Ich musste board_build.partitions = no_ota.csv in der ini einfügen :-)
:
Bearbeitet durch User
Beitrag #7358568 wurde vom Autor gelöscht.
Marius S. schrieb: > Die AES-Funktionen sind Teil von mbedtls geworden. > Einfach hwcrypto/aes.h durch mbedtls/aes.h ersetzen. > > Damit und mit Entfernen der mittlerweile in der Core-Arduino Library > inkludierten BLE Library klappt es (also den Eintrag in platformio.ini > entfernen). > > Interessant wäre, ob man die Library in ESPHome einbinden könnte. Ich > denke das wäre auch mit Abstand am einfachsten zu benutzen, und > Home-Assistant ist ja dafür nicht zwingend erforderlich. > Da ich nach Umzug den Antrieb wieder in Benutzung habe, könnte ich das > auch ganz gut gebrauchen, da müsste ich mich aber erstmal wieder > einlesen. > Von meinem Code wurde ja garnicht soviel geändert :-) Besten Dank. Es wäre Klasse wenn du dich wieder näher damit beschäftigen könntest. Ich kann zwar das Schloss über den Boot Button des ESP32 nun steuern, aber bekomme die Daten nichts in MQTT des Home Assistant. Zufällig eine Idee? Im Webinterface bekomme ich die Daten eingelesen. Ich habe mir 4 Schlösser gekauft und möchte die gerne in HAS einbinden. Nutze auch einen Wasserzaehler Al on the Edge sowie einen Stromzähler ebenfalls per MQTT Broker. Beides kein Problem. Besten Dank für einen Tipp!
Kann die Software mehrere schlösser? Oder planst du vier esps? Mit den Informationen wird dir keiner helfen können. Guck Mal, was an debug Infos in der Konsole kommen.
Ich plane schon 4 einzelne ESP32. Zuerst habe ich mir aber eben nur einen geholt um das ganze mal zu testen. Für mich ist/war Platformio neuland, musste mich erst einlesen. Aber Schlussendlich habe ich es nun wenigstens hinbekommen. Für einen Newbie in der Sache schon mal ein Erfolg. Mit Tasmota und co, kenne ich mich schon eher aus. Auch am PI habe ich von PiHole bis zu Nas Server im Einsatz. 90 Smart Home Devices hab ich schon in Home Assistant eingebunden mit Shellys und co. Aber hier stehe ich an was die MQTT Daten betrifft. Sie kommen im HAS einfach nicht an. Weiteres Problem ist das wenn ich auf das Zahnrad Klicke um eine Einstellung zu ändern, sich der ESP32 aufhängt und nicht mehr ansprechbar ist (Im DHCP Modus). Hier hilft dann nur neu flashen. Dies tritt auf wenn der ESP32 auf DHCP gesetzt ist. Solange man hier nichts ändert oder ändern möchte nach der Ersteinrichtung bleibt der ESP32 online und ich kann auch über den Boot Point das Schloss triggern. Sobald man aber im WebIF aufs Zahnrad kickt, hängt er sich auf ist aber weiterhin mit der IP Online und sendet offensichtlich laut Router auch Daten, reagiert aber auch nicht mehr aufs manuelle triggern des Boot Points. Ebenfalls verliert er wenn ich den AP auf Statisch Setze nach paar minuten den AP und hängt wieder im Einrichtungs AP SSID "KeyBLEBridge" und ich muss den AP wieder neu konfigurieren. Jedoch bei Statisch kann ich zumindest die ersten minuten bis er die Verbindung verliert, jederzeit die Config im WebIF ändern.. Daher belasse ich ihn im DHCP Modus. Hier bleibt er zumindest Online. Port ist freigegeben und auch sonst habe ich mit der Fritzbox den ESP32 erstmal auf eine Fixe IP gesetzt. Hauptproblem ist aber eben das die Daten nicht im MQTT Broker ankommen. In neuen HAS Versionen braucht man ja angeblich nach FAQ keine YAML Config mehr. Hab trotzdem testweise eine gesetzt. Aber auch hier, Fehlanzeige. Wie könnte ich nun an die Debug Infos über die IP kommen? Ohne den ESP32 an den PC an stecken zu müssen. Denn sobald ich ihn vom Strom nehme, komm ich nicht mehr aufs WebIF. Daher gleiches Verhalten wie oben erwähnt im DHCP Modus.
Wie gesagt: Guck Mal debug Infos übers USB Kabel. Und wegen Mqtt Guck Mal nach einem Windows Mqtt Monitor.
---AP Settings--- ---AP IP: 192.168.4.1--- ---AP SSID: KeyBLEBridge--- # /keyble.json loaded # WIFI: connected to SSiD: DaHype xxxxxx # WIFI: connected! # WIFI: signalquality: 100% # WiFi connected to IP: 192.168.1.178 # Connect to MQTT-Broker... # Connected! # published keyble/task/working # WiFi disabled *** get state *** # Nonce exchange # Searching ... # Found device: 00:1a:xxxxxx # RSSI: -75 # Connecting in tick # Connecting... # Connected in tick [ 21431][E][BLERemoteCharacteristic.cpp:289] retrieveDescriptors(): esp_ble_gattc_get_all_descr: Unknown # sendMessage end. # Sending actual fragment: 800200E4E86CDFF4D365C90000000000 # Fragment Data: 80030079DCCF457CABD09E0010170000 # Nonce exchanged # sendMessage called again... # Cryptdata length: 8 # Cryptdata length: 8 # Authentifizierungswert berechnen... # fertig... # sendMessage end. # Sending actual fragment: 8082B918C35B2DA98318000139EC7AD2 # Fragment Data: 80837F8008CC1C5ABB260001FC2C28A9 # Auth value: FC2C28A9 # Cryptdata length: 8 # Crypted data: 7F8008CC1C5ABB26 # Authentifizierungswert berechnen... # fertig... # Decrypted: 70010B0010170000 # New state: 3 # Done! Im MQTT Explorer unter Windows wenn ich mich mit dem HAS verbinde., erscheint der ESP32 als Topic keyble. Wenn ich manuell triggere über den Boot Point, ändert sich auch der Status im MQTT Explorer. Daher hier ist alles korrekt. Nur im HAS selbst ist keinerlei Spur von einer Entität :-(
:
Bearbeitet durch User
Dann ist das ein Has Problem. Da kenne ich mich nicht aus.
Da es mit HAS aktuell nicht klappt, wäre es möglich das man Lock und unlock in das Web Interface einbaut? Wäre für mich eine alternative, da ich per dyndns darauf zugreifen könnte von unterwegs. Ist dies funktion einzubauen mit großem Aufwand verbunden? Die Schlösser werden momentan wohl wieder vermehrt gekauft und es wäre echt toll wenn jemand da Projekt weiter Entwickeln kann...
Du willst dein Schloss ohne Passwort ins Internet stellen? Das HAS Problem sollte doch lösbar sein.
Naja ist ja nicht direkt öffentlich zugänglich. Nur mit meinen Login Daten, und selbst dann müsste jemand davon vor Ort wissen bzw vor Ort sein wenn er Kriminelle Absichten hätte. Und selbst in dem Fall, erhalte ich von der Kamera und vom Kontaktschalter der Alarmanlage sofort eine Benachrichtigung oder je nach Uhrzeit wird sogar ein Alarm ausgelöst. Ich hoffe das sich das mit HAS lösen lässt, muss aber erst jemanden finden der Ahnung davon hat. Denn anscheinend findet der Broker "selbstgemachte" Lösungen nicht mehr automatisch und die Einbindung in die yaml wurde in HAS auch vor paar Versionen geändert und passt nun nicht mehr wie auf git beschrieben. Somit scheitert es wohl am richtigen Sensor Eintrag in der yaml. Auch abgesehen von DNS, wäre es super wenn man im Web Interface das Schloss triggern könnte.
:
Bearbeitet durch User
Habe für MQTT Hilfe erhalten! Es lag bzw liegt daran, das der Broker wie vermutet die Entitäten nicht automatisch findet. Noch dazu wurde wie man den Sensor in die YAML einbindet, vor kurzem in HAS geändert. Daher es ist ein neues Format nutwendig. Nun wird der Sensor gefunden und ich kann über HAS öffnen und schließen. Aber sehr unzuverlässig. Hin und wieder klappts, dann wieder nicht. Das Problem ist, das sich der ESP32 nach kurzer Zeit immer wieder aufhängt. Daher ich komme nicht mehr auf die IP weder Statisch noch DHCP. Er sendet aber weiter, macht aber Timeouts im HAS und manuell triggern über den Boot Knopf klappt dann auch nicht mehr. Nach ein und ausstecken erfängt er sich hin und wieder. Oft verliert er aber auch einfach meine AP Einstellungen. Daher er hängt wieder im Einrichtungs AP fest. Jemand dazu eine Idee was ich in der Main Config ändern könnte, damit dies nicht mehr der Fall ist? Im Log sehe ich bei den Problemen nur das er ständig Wifi trennt, verbindet... Habe 100% WLAN Signal. Daran kanns also nicht liegen. AP schon getauscht, auch daran liegts nicht.
Ich hab derzeit extra einen anderen Router als Test AP eingerichtet. Tritt aber wie geschrieben auch auf anderen Access Points auf. P192.168.4.1--- ---AP SSID: KeyBLEBridge--- # /keyble.json loaded # WIFI: connected to SSiD: Test # WIFI: connected! # WIFI: signalquality: 62% # WiFi connected to IP: 192.168.1.178 # Connect to MQTT-Broker... # Connected! # published keyble/task/working # WiFi disabled *** get state *** # Nonce exchange # Searching ... # Found device: 00:1a:xxxxxx # RSSI: -79 # Connecting in tick # Connecting... # Connected in tick [ 6795][E][BLERemoteCharacteristic.cpp:289] retrieveDescriptors(): esp_ble_gattc_get_all_descr: Unknown # sendMessage end. # Sending actual fragment: 80020010ADB4781142787A0000000000 # Fragment Data: 8003007558BC13BE9A3A2D0010170000 # Nonce exchanged # sendMessage called again... # Cryptdata length: 8 # Cryptdata length: 8 # Authentifizierungswert berechnen... # fertig... # sendMessage end. assert failed: xQueueGenericSend queue.c:832 (pxQueue->pcHead != ((void *)0) || pxQueue->u.xSemaphore.xMutexHolder == ((void *)0) || pxQueue->u.xSemaphore.xMutexHolder == xTaskGetCurrentTaskHandle()) Backtrace: 0x4008380d:0x3ffe7bb0 0x40094f29:0x3ffe7bd0 0x4009a539:0x3ffe7bf0 0x400959de:0x3ffe7d20 0x400feb65:0x3ffe7d60 0x400fee1d:0x3ffe7f40 0x4023cb22:0x3ffe7f60 0x400d6b6d:0x3ffe7f80 0x400d755d:0x3ffe7fd0 0x400d5975:0x3ffe7ff0 0x400d6519:0x3ffe80a0 0x40131f76:0x3ffe80f0 0x4013271d:0x3ffe8110 0x4015aaa1:0x3ffe8160 0x4015cc13:0x3ffe8180 ELF file SHA256: c92c274d1e0b063c Rebooting... ets Jul 29 2019 12:21:46 rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:1184 load:0x40078000,len:13104 load:0x40080400,len:3036 entry 0x400805e4 ---Starting up...--- ---AP Settings--- ---AP IP: 192.168.4.1--- ---AP SSID: KeyBLEBridge--- # /keyble.json loaded # WIFI: connected to SSiD: Test # WIFI: connected! # WIFI: signalquality: 64% # WiFi connected to IP: 192.168.1.178 # Connect to MQTT-Broker... # Connected! # published keyble/task/working # WiFi disabled *** get state *** # Nonce exchange # Searching ... *** toggle *** # Found device: 00:1a:xxxxxxxxxx # RSSI: -64 # Connecting in tick # Connecting... # Connected in tick [ 16079][E][BLERemoteCharacteristic.cpp:289] retrieveDescriptors(): esp_ble_gattc_get_all_descr: Unknown # sendMessage end. # Sending actual fragment: 800200D60CAA4E16F4EC6E0000000000 # Fragment Data: 800300A2A851F6FD66A7840010170000 # Nonce exchanged # sendMessage called again... # Cryptdata length: 8 # Cryptdata length: 8 # Authentifizierungswert berechnen... # fertig... # sendMessage end. assert failed: xQueueGenericSend queue.c:832 (pxQueue->pcHead != ((void *)0) || pxQueue->u.xSemaphore.xMutexHolder == ((void *)0) || pxQueue->u.xSemaphore.xMutexHolder == xTaskGetCurrentTaskHandle()) Backtrace: 0x4008380d:0x3ffe7b50 0x40094f29:0x3ffe7b70 0x4009a539:0x3ffe7b90 0x400959de:0x3ffe7cc0 0x400feb65:0x3ffe7d00 0x400fee1d:0x3ffe7ee0 0x4023cb22:0x3ffe7f00 0x400d6b6d:0x3ffe7f20 0x400d755d:0x3ffe7f70 0x400d5975:0x3ffe7f90 0x400d6519:0x3ffe8040 0x40131f76:0x3ffe8090 0x4013271d:0x3ffe80b0 0x4015aaa1:0x3ffe8100 0x4015cc13:0x3ffe8120 ELF file SHA256: c92c274d1e0b063c Rebooting... ets Jul 29 2019 12:21:46 rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:1184 load:0x40078000,len:13104 load:0x40080400,len:3036 entry 0x400805e4 ---Starting up...--- ---AP Settings--- ---AP IP: 192.168.4.1--- ---AP SSID: KeyBLEBridge--- # /keyble.json loaded # WIFI: connected to SSiD: Test # WIFI: connected! # WIFI: signalquality: 68% # WiFi connected to IP: 192.168.1.178 # Connect to MQTT-Broker... # Connected! # published keyble/task/working # WiFi disabled *** get state *** # Nonce exchange # Searching ... *** toggle *** # Found device: 00:1a:xxxxxxxxxxx # RSSI: -64 # Connecting in tick # Connecting... # Connected in tick [ 10112][E][BLERemoteCharacteristic.cpp:289] retrieveDescriptors(): esp_ble_gattc_get_all_descr: Unknown # sendMessage end. # Sending actual fragment: 800200F447832CC7D801190000000000 # Fragment Data: 800300BFD75A591D61E2B00010170000 # Nonce exchanged # sendMessage called again... # Cryptdata length: 8 # Cryptdata length: 8 # Authentifizierungswert berechnen... # fertig... # sendMessage end. # Sending actual fragment: 80827B62F6539C1F1A7600013C0DD8ED # Fragment Data: 808386410CAA559A8E1F000110127DFE # Auth value: 10127DFE # Cryptdata length: 8 # Crypted data: 86410CAA559A8E1F # Authentifizierungswert berechnen... # fertig... # Decrypted: 70010A0010170000 # New state: 2 # Done! # Disconnected! # WiFi enabled # WiFi disconnected, reconnect... Rebooting... ets Jul 29 2019 12:21:46 rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:1184 load:0x40078000,len:13104 load:0x40080400,len:3036 entry 0x400805e4 ---Starting up...--- ---AP Settings--- ---AP IP: 192.168.4.1--- ---AP SSID: KeyBLEBridge--- # /keyble.json loaded [ 1490][E][WiFiSTA.cpp:317] begin(): connect failed! 0x300a Rebooting... ets Jul 29 2019 12:21:46 rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:1184 load:0x40078000,len:13104 load:0x40080400,len:3036 entry 0x400805e4 ---Starting up...--- ---AP Settings--- ---AP IP: 192.168.4.1--- ---AP SSID: KeyBLEBridge--- # /keyble.json loaded # WIFI: connected to SSiD: DaHype SmartHome Devices # WIFI: connected! # WIFI: signalquality: 100% # WiFi connected to IP: 192.168.1.178 # Connect to MQTT-Broker... # Connected! # published keyble/task/working # WiFi disabled *** get state *** # Nonce exchange # Searching ... *** toggle *** # Found device: 00:1a:xxxxx # RSSI: -63 # Connecting in tick # Connecting... # Connected in tick [ 17150][E][BLERemoteCharacteristic.cpp:289] retrieveDescriptors(): esp_ble_gattc_get_all_descr: Unknown # sendMessage end. # Sending actual fragment: 800200BAAA0BB643C2ED2F0000000000 # Fragment Data: 8003005DA1CF162EFB4DCD0010170000 # Nonce exchanged # sendMessage called again... # Cryptdata length: 8 # Cryptdata length: 8 # Authentifizierungswert berechnen... # fertig... # sendMessage end. assert failed: xQueueGenericSend queue.c:832 (pxQueue->pcHead != ((void *)0) || pxQueue->u.xSemaphore.xMutexHolder == ((void *)0) || pxQueue->u.xSemaphore.xMutexHolder == xTaskGetCurrentTaskHandle()) Backtrace: 0x4008380d:0x3ffe84d0 0x40094f29:0x3ffe84f0 0x4009a539:0x3ffe8510 0x400959de:0x3ffe8640 0x400feb65:0x3ffe8680 0x400fee1d:0x3ffe8860 0x4023cb22:0x3ffe8880 0x400d6b6d:0x3ffe88a0 0x400d755d:0x3ffe88f0 0x400d5975:0x3ffe8910 0x400d6519:0x3ffe89c0 0x40131f76:0x3ffe8a10 0x4013271d:0x3ffe8a30 0x4015aaa1:0x3ffe8a80 0x4015cc13:0x3ffe8aa0 ELF file SHA256: c92c274d1e0b063c Rebooting... ets Jul 29 2019 12:21:46 rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:1184 load:0x40078000,len:13104 load:0x40080400,len:3036 entry 0x400805e4 ---Starting up...--- ---AP Settings--- ---AP IP: 192.168.4.1--- ---AP SSID: KeyBLEBridge--- # /keyble.json loaded # WIFI: connected to SSiD: DaHype SmartHome Devices # WIFI: connected! # WIFI: signalquality: 100% # WiFi connected to IP: 192.168.1.178 # Connect to MQTT-Broker... # Connected! # published keyble/task/working # WiFi disabled *** get state *** # Nonce exchange # Searching ... *** toggle *** # Found device: 00:1a:xxxxxx # RSSI: -68 # Connecting in tick lld_pdu_get_tx_flush_nb HCI packet count mismatch (0, 1) # Connecting... # Connected in tick [ 11088][E][BLERemoteCharacteristic.cpp:289] retrieveDescriptors(): esp_ble_gattc_get_all_descr: Unknown # sendMessage end. # Sending actual fragment: 800200EC1E777431B1A0170000000000 # Fragment Data: 80030063C6BE2CBF99B96F0010170000 # Nonce exchanged # sendMessage called again... # Cryptdata length: 8 # Cryptdata length: 8 # Authentifizierungswert berechnen... # fertig... # sendMessage end. # Sending actual fragment: 8082E2063A5720E78301000190625CFE # Fragment Data: 808377C30FFADA660F3F0001C1218916 # Auth value: C1218916 # Cryptdata length: 8 # Crypted data: 77C30FFADA660F3F # Authentifizierungswert berechnen... # fertig... # Decrypted: 70010A0010170000 # New state: 2 # Done! # Disconnected! # WiFi enabled # WiFi disconnected, reconnect... # WIFI: connected to SSiD: DaHype SmartHome Devices # WIFI: connected! # WIFI: signalquality: 100% # WiFi connected to IP: 192.168.1.178 # published keyble/task/working # WiFi disabled *** toggle *** !!! Lockstatus -1 - timeout !!! # Done! # WiFi enabled # WiFi disconnected, reconnect... # WIFI: connected to SSiD: DaHype SmartHome Devices # WIFI: connected! # WIFI: signalquality: 100% # WiFi connected to IP: 192.168.1.178 # MQTT disconnected, reconnect... # Connect to MQTT-Broker... # Connected! # published keyble/state/timeout # published keyble/task/waiting # published keyble/battery/1 # published keyble/rssi/-68 # waiting for command... # published keyble/task/working # WiFi disabled *** toggle ***
:
Bearbeitet durch User
1 | Rebooting... ets Jul 29 2019 12:21:46 rst:0xc (SW_CPU_RESET),boot:0x13 |
Versuch Mal eine bessere Stromversorgung (Kabel und Netzteil) Sonst vielleicht den Flash auf 40 MHz stellen https://github.com/espressif/arduino-esp32/issues/3510
Danke. Das war auch gestern schon mein Gedanke wegen der Stromversorgung. Ich habe schon 4 Netzteile durchprobiert. Unter anderem ein PI 4 Netzteil mit 3A und 5,1V. Sowie auch andere. Verhalten überall gleich. Mit den 40Mhz werde ich gleich mal versuchen. Danke
Auch mal das Kabel tauschen... Hier gibt's mehr dazu https://www.esp32.com/viewtopic.php?f=12&t=11439&start=30
Kabel und Netzteil sind OK. Es schaut nun gut aus! Der entscheidende Tipp von dir mit 40Mhz war wohl das ausschlaggebende. Bleibt noch etwas abzuwarten, aber derweil schaut es vielversprechend aus. ; set frequency to 40MHz board_build.f_flash = 40000000L
Super! Vielleicht machst du nen Pull Requests mit deinen Änderungen.
Hendrik F. schrieb: > Super! > > Vielleicht machst du nen Pull Requests mit deinen Änderungen. Ich hab noch ein paar Änderungen durchgeführt welche User in den Issue beschrieben hatten. Werde es aber erstmal paar Tage laufen lassen und wenn es wie gewünscht funktioniert, werd ich das bei git mitteilen. Danke dir jedenfalls für den Entscheidenden Tipp. Auf das wäre ich nie gekommen. Vorher hätte ich noch den ESP32 aus dem Fenster geworfen. Wenns gut läuft, werd ich mir noch 3 Stk holen bzw eventuell sogar noch ein weiteres Schloss für die Gartenhütte. Somit würde ich dann 4 Stk extra ansteuern mit je einem ESP32. Da die Schlösser derzeit im Warehouse Deal günstig zu bekommen sind, hätte ich dann für 4Stk inkl ESP und Netzteil 250€ investiert! Quasi nicht mal der Preis was ein Nuki ohne Bridge kosten würde....
So. Nun melde ich mich nochmals. 14 Stunden lief alles völlig problemlos. Dann wie aus dem Nichts lieferte keine Daten mehr und war wieder im KeyBLEBridge. Musste also den AP wieder manuell setzen. Wie könnte ich den Problem auf die schliche kommen? Im Log ist nichts großartiges zu sehen. Nur das disconnect steht und danach Connected KeybleBridge. Also der Einrichtungs AP. Mit dem WLAN ist und war definitv alles ok. Jetzt würde ich gerne probieren meine AP direkt zu setzen in der config. Also hardcoding wie ich gelesen habe, nur weiß ich nicht wo und was ich in der Main Datei einfügen muss. Hoffe das kann mir jemand beantworten. Danke
Zeig mal das log vom Zeitpunkt wo das Problem entstand.
Mit den Verbesserungen von corgan auf git, scheint es nun zu laufen. Bin da immer noch etwas vorsichtig und stellt sich erst in paar Tagen heraus. Aber es schaut gut aus :-) https://github.com/lumokitho/esp32-keyble/pull/7/files/b71b3d9ecf78a8fab9e15a74550d66f0782be88b
:
Bearbeitet durch User
Hi alles zusammen, ich kriege folgende fehlermeldung mit platformio Building FS image from 'data' directory to .pio/build/esp32dev/spiffs.bin error: can't read source directory *** [.pio/build/esp32dev/spiffs.bin] Error 1 Hat da wer ideen?
Wenn ich aber einfach auf kompilieren und hochladen klicke - startet der esp nicht ELF file SHA256: f4d36c5aec79c1e9 E (830) esp_core_dump_flash: Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0 Rebooting... ets Jul 29 2019 12:21:46 rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:1184 load:0x40078000,len:13104 load:0x40080400,len:3036 entry 0x400805e4
Klingt, als fehlen beim Kompilieren Daten. Source komplett heruntergeladen?
Habe nun auf einem anderen PC Platformio installiert und kriege die gleiche fehlermeldung wenn ich Build Filesystem Image anklicke Building FS image from 'data' directory to .pio/build/esp32dev/spiffs.bin error: can't read source directory *** [.pio/build/esp32dev/spiffs.bin] Error 1
Michi O. schrieb: > Habe nun auf einem anderen PC Platformio installiert und kriege die > gleiche fehlermeldung wenn ich Build Filesystem Image anklicke > > Building FS image from 'data' directory to > .pio/build/esp32dev/spiffs.bin > error: can't read source directory > *** [.pio/build/esp32dev/spiffs.bin] Error 1 Du brauchst nur einen leeren Ordner anlegen der data heißt. Oder du ladest die keyble zip von git, entpackst sie, und erstellst dort gleich den Data Ordner, bevor du das Projekt in Platformio öffnest. Dann klappts einwandfrei. Habe selbst lange nach einer Lösung gesucht als ich Anfangs immer die Fehlermeldung hatte. LG
data Ordner erstellen. Danach läufts ohne spiffs fehler.
Es wäre echt super, wenn ihr die Änderungen und Vorschläge, die ihr habt als pull request auf github stellt. Sonst sucht sich der nächste doof.
nach 5 Jahren ist bei mir nun das erste Smartlock kaputt. Aber nicht kaputt-kaputt, sondern so, dass ich fast daran verrückt geworden wäre. Ich nehme an, dass die kontaktschalter, die die umdrehungen des schlüssels reistrieren und messen, am kaputtwerden sind bzw. zumindest einer davon sehr unzuverlässig ist. das hat zur auswirkung, dass das schloss zB statt aufzusperren eine runde zuviel dreht, folglich dann die falle zurückzieht, bis der drehmomentschutz des schlosses "stopp" sagt. damit vergisst das schloss aber in welcher position es sich gerade befindet. wenn man nun sperren drückt wird eine halbe runde zu wenig gedreht. daraus resultierend wurde bei mir dann nicht abgesperrt. ich dachte zuerst an konfigurationsfehler, dann an softwarefehler (ja, immer wenn man vor dem schloss steht funktioniert es richtig!), aber schlussendlich kann ich beides absschließen, da das neue schloss das alte, richtige verhalten zeigt. Mechanischen defekt kann ich ausschließen, das schloss innen ist sauber, leichtgängig, auch der schlüssel. ich werde beizeiten (vermutlich kommenden winter erst, das sind typische winterprojekte bei mir) die platine auslöten und dann die beiden Kontakttaster durchmessen bzw. tauschen versuchen. falls jemand das gleiche problem bekommt. ersatzschloss anschaffen. ich hatte hier grob geschätzt von februar bis november täglich 2 bis 3 öffnen / schließzyklen. macht ca. 600 bis 900 pro jahr, rechnen wir mit 700 (wochenende, urlaub, ...) und ca. 5 jahre sind 3500 schlossbewegungen. die Kontakttaster bekommen 4 impulse pro runde, also 10.000 bis 12.000 als lebensdauer - klingt nach einem plausiblen wert. LG
Hallo, ich hab mal eine Frage bezüglich des keyble-Scripts (https://github.com/oyooyo/keyble). Ich probiere dies auf einem Raspberry zu installieren. Jedoch bei der Eingabe von: npm install --update --global --unsafe-perm keyble geht der Ladebalken bis ganz nach hinten, es wird aber keine Fertigmeldung gegeben und der Raspberry wird voll ausgelastet, sodass man den Prozess mit STRG+C (hab bis zu 15 Mins gewartet) abbrechen muss. Ich habe es mit einem Raspberry 3+, Raspberry 4 und Raspberry Zero 2 getestet, jedes mal das gleiche Problem. Ist das Problem bekannt bzw. was könnte den Fehler verursachen? Viele Grüße Christian
Ich suche täglich seit Monaten nach einer Lösung warum der ESP32 nach ein paar Stunden die Verbindung verliert und dann wieder im AP des keyble hängt. Wenn ich den AP dann neu einwähle, läuft es wieder für paar Stunden völlig Problemlos. Daher der Auto Connect zum Wifi Netzwerk funktioniert nicht. Ich möchte daher die Wifi Daten von meinem AP direkt integrieren damit der ESP32 sich immer damit verbindet. Leider kann oder will mir niemand in anderen Foren helfen. Bin da echt am verweifeln, da ich täglich 3x die Daten neu eingeben muss damit das Schloss paar Stunden funktioniert! Hoffe das ihr mir hier sagen könnt wie ich das sogenannte Hardcoding in der Maindatei? eintragen kann? // ---[SetupWiFi]---------------------------------------------------------- ----- void SetupWifi() { digitalWrite(LED_GPIO,LOW); if (Portal.begin()) { if (WiFi.status() == WL_CONNECTED) { Serial.println("# WIFI: connected to SSiD: " + WiFi.SSID()); digitalWrite(LED_GPIO,HIGH); } int maxWait=100; while (WiFi.status() != WL_CONNECTED) { Serial.println("# WIFI: checking SSiD: " + WiFi.SSID()); delay(500); if (maxWait <= 0) ESP.restart(); maxWait--; } Serial.println("# WIFI: connected!"); Serial.println("# WIFI: signalquality: " + String(GetWifiSignalQuality()) + "%"); Serial.println("# WiFi connected to IP: " + WiFi.localIP().toString()); digitalWrite(LED_GPIO,HIGH); } }
Lass dochmal einen Rechner am USB Port und Guck, was auf der seriellen Schnittstelle geloggt wird. Der Codeblock von dir gibt nur Infos raus.
Eben nicht wirklich was. Nur das disconnect steht sobald er die Verbindung zum AP verliert. Der Auto Connect funktioniert also nicht. Gehe ich manuell aufs Web Interface von keyble und wähle mich neu in den AP ein, ist wieder alles OK für paar Stunden. Daher möchte ich den AP von Keyble entfernen und meine Daten von meinem AP eintragen damit er sich automatisch mit diesen verbindet. Ein User im Git hat vor monaten mal geschrieben das er es beheben konnte mit Hardcoding. "I made it work by hardcoding credentials under Portal.begin(SSID,PASS)" Hätte diesen schon mehrmals versucht zu erreichen, aber leider keine Antwort oder Reaktion. Dies würde ich eben gerne umsetzen, nur scheittert es hier an meinen Fähigkeiten und in Foren bekam ich dazu leider auch keine Hilfe wo/was in der main einzutragen ist :-(
:
Bearbeitet durch User
Ein komplettes Log würde schon helfen... Ich vermute, der ESP startet neu. Das würde man sehen... schick Mal nen Link zu deinem code
:
Bearbeitet durch User
Marius S. schrieb: > Die AES-Funktionen sind Teil von mbedtls geworden. > Einfach hwcrypto/aes.h durch mbedtls/aes.h ersetzen. > > Damit und mit Entfernen der mittlerweile in der Core-Arduino Library > inkludierten BLE Library klappt es (also den Eintrag in platformio.ini > entfernen). > > Interessant wäre, ob man die Library in ESPHome einbinden könnte. Ich > denke das wäre auch mit Abstand am einfachsten zu benutzen, und > Home-Assistant ist ja dafür nicht zwingend erforderlich. > Da ich nach Umzug den Antrieb wieder in Benutzung habe, könnte ich das > auch ganz gut gebrauchen, da müsste ich mich aber erstmal wieder > einlesen. > Von meinem Code wurde ja garnicht soviel geändert :-) Hi, Gibt es was neue bezüglich esphome? Hast du dich schon damit befaßt? Grüß
Danke schonmal an alle die diese großartige Vorarbeit geleistet haben. Habe eine erste Version für esphome geschrieben auf Basis der ESP32 Version. Diese findet ihr hier: https://github.com/digaus/esphome-components-eqiva Aktuell funktioniert die Ansteuerung via Services. Initiales Pairing, um den User Key zu bekommen, ist ebenfalls möglich. Weiterleiten des aktuellen Status habe ich noch nicht umgesetzt. Diese Version hier ist als alpha zu sehen und wurde lediglich am Schreibtisch getestet. Mein Ziel ist es mein HMIP Schloss durch dieses zu ersetzen und direkt mit einem ESP32 anzusteuern welcher an einen Fingerprint angeschlossen und in meiner Klingel integriert ist. Hierfür habe ich eigens ein ESP32-Board entwickelt, welches direkt mit dem Fingerprint in eine Klingel integriert werden kann.
Dirk schrieb: > Habe eine erste Version für esphome geschrieben auf Basis der ESP32 > Version. Das klingt ja super! Kannst Du ganz knapp beschreiben wie man das Pairing machen muss?
Philipp C. schrieb: > Dirk schrieb: >> Habe eine erste Version für esphome geschrieben auf Basis der ESP32 >> Version. > > Das klingt ja super! > > Kannst Du ganz knapp beschreiben wie man das Pairing machen muss? Einfach den Pair Service aufrufen und dort den Card Key eintragen, den man bekommt wenn man den QR Code scannt. (Zuvor natürlich warten, bis das Schloss verbunden ist und dann noch 5 Sekunden den öffnen Knopf gedrückt halten um das Pairing zu aktivieren) Gleichzeitig die Logs vom ESP anzeigen. Dort wird dann der user_key und die user_id geloggt.
Hi, danke für dein Projekt. Habe es ausprobiert, aber iwie startet mein esp32 nicht richtig nach dem Flaschen. Iwas mache ich falsch!?
Artur K. schrieb: > Hi, danke für dein Projekt. > Habe es ausprobiert, aber iwie startet mein esp32 nicht richtig nach dem > Flaschen. Iwas mache ich falsch!? Welchen ESP32 hast du denn?
Welche Version von esphome benutzt ihr?
Dirk schrieb: > Artur K. schrieb: >> Hi, danke für dein Projekt. >> Habe es ausprobiert, aber iwie startet mein esp32 nicht richtig nach dem >> Flaschen. Iwas mache ich falsch!? > > Welchen ESP32 hast du denn? AZDelivery ESP32 D1 Mini Hatte eine mit ble proxy, habe da code Teile von dem Projekt hinzugefügt. Nach dem Flaschen startet er nicht, bzw zeigt was komisches im log, also nicht was normalerweise in log von esphome ist. Versuche es noch mal exakt das was bei dir ist. Mal sehen.
Hendrik F. schrieb: > Artur K. schrieb: >> startet er nicht, bzw zeigt was komisches im log, > > Und ist das geheim? Natürlich nicht. Habe gerade es nicht zu Hand. Wenn ich es später noch mal probiere, poste ich es sofort.
Also, noch mal versucht, alles sauber geschrieben, hats geklappt. nur wenn ich bluetooth_proxy: active: true einfüge, sag er mir RAM: [== ] 17.9% (used 58652 bytes from 327680 bytes) Flash: [==========] 100.9% (used 1851057 bytes from 1835008 bytes) Error: The program size (1851057 bytes) is greater than maximum allowed (1835008 bytes) *** [checkprogsize] Explicit exit, status 1 obwohl HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash werden nur 2mb benutzt? es sind doch knapp 1,8mb. verstehe ich was falsch?
Artur K. schrieb: > Also, noch mal versucht, alles sauber geschrieben, hats geklappt. Ich musste bei mir auf dem ESP32 auch alles was ich davor laufen hatte rauswerfen, damit es drauf passt. Dann hat es aber super geklappt. Vielen Dank! Wäre es auch möglich mehr als einen dieser Antriebe an einem ESP32 zu betreiben?
Philipp C. schrieb: > Artur K. schrieb: >> Also, noch mal versucht, alles sauber geschrieben, hats geklappt. > > Ich musste bei mir auf dem ESP32 auch alles was ich davor laufen hatte > rauswerfen, damit es drauf passt. > Dann hat es aber super geklappt. Vielen Dank! > Wäre es auch möglich mehr als einen dieser Antriebe an einem ESP32 zu > betreiben? Benutze als Basis den esp_32_ble_client von esphome. Der kann soweit ich das sehe nur eine Verbindung gleichzeitig. Man könnte das natürlich alles noch selber programmieren. Halte ich aber für nicht so sinnvoll ^^ Ich hab leider aktuell das Problem, dass mein ESP32-C3 beim Verschlüssen abschmiert :/ Bin am überlegen, ob ich es Mal mit dem esp-idf Framework probiere anstelle des Arduino.
Dirk schrieb: > Benutze als Basis den esp_32_ble_client von esphome. Der kann soweit ich > das sehe nur eine Verbindung gleichzeitig. Man kann dann ja einfach einen weiteren ESP32 verwenden. Dirk schrieb: > Ich hab leider aktuell das Problem, dass mein ESP32-C3 beim Verschlüssen > abschmiert :/ Auf dem Tisch (ohne Schloss am Motor) funktioniert es bei mir mit einem D1.
Hallo, ich fänd es auch super, wenn mehrere Schlösser möglich wären. Ich verstehe die Limitierung auf eine Verbindung gleichzeitig, aber war es nicht so, dass man ohnehin die Verbindung nur kurz aufbauen sollte, um die Batterien des Schloss zu schonen? Wenn man dann mehrere Schlösser hat muss man doch nur die Verbindung zu dem gerade gewählten Schloss aufbauen. Gruß, Hendrik
Philipp C. schrieb: > Dirk schrieb: >> Benutze als Basis den esp_32_ble_client von esphome. Der kann soweit ich >> das sehe nur eine Verbindung gleichzeitig. > > Man kann dann ja einfach einen weiteren ESP32 verwenden. > Dirk schrieb: >> Ich hab leider aktuell das Problem, dass mein ESP32-C3 beim Verschlüssen >> abschmiert :/ > > Auf dem Tisch (ohne Schloss am Motor) funktioniert es bei mir mit einem > D1. Jo mit nen normalen ESP32 klappt es bei mir ja auch :) Der ESP32-C3 hat aber ne RISC-V CPU und keine XTensa wie der normale Dafür kann unterstützt er nativ USB und ist kompakter :)
Hendrik F. schrieb: > Hallo, > > ich fänd es auch super, wenn mehrere Schlösser möglich wären. > Ich verstehe die Limitierung auf eine Verbindung gleichzeitig, aber war > es nicht so, dass man ohnehin die Verbindung nur kurz aufbauen sollte, > um die Batterien des Schloss zu schonen? > > Wenn man dann mehrere Schlösser hat muss man doch nur die Verbindung zu > dem gerade gewählten Schloss aufbauen. > > Gruß, > Hendrik Wollte eine möglichst schnelle Reaktion haben. Deshalb aktuell die dauerhafte Verbindung. Du hast mich aber zum Nachdenken gebracht. Man könnte es ja so umsetzen, dass man einstellen kann, wann eine dauerhafte Verbindung erfolgen soll. So könnte man die Verbindung z.B. trennen, wenn alle Personen zu Hause sind allgemeiner einfach Nachts. Dies würde dann ja auch Energie sparen. Wenn ich das dann umsetze kann ich auch einen Service definieren, der die aktuell festen Parameter übernimmt. So könnte man dann auch zwei Schlösser steuern via Home Assistant. Hab es jetzt auch mit einem ESP32-C3 am laufen und die flash size nochmal verkleinert.
Hab die Änderungen einmal gepushed. Wer Speicher sparen möchte kann das Framework auf esp-idf ändern. Dadurch spart man ca. 20% ESP lief bei mir jetzt 6 Stunden durch ohne Verbindungsverlust. Zwischendurch auch immer wieder Finger scannen lassen ohne Probleme. Lediglich gerade eben hat er einige Sekunden gebraucht bis das Schloss reagiert hat. Könnte aber natürlich auch am Schloss gelegen haben, da beide Befehle nach einigen Sekunden doch ausgeführt wurden obwohl ich keine Message queue eingebaut habe.
Dirk schrieb: > Hab die Änderungen einmal gepushed. > > Wer Speicher sparen möchte kann das Framework auf esp-idf ändern. > Dadurch spart man ca. 20% > > ESP lief bei mir jetzt 6 Stunden durch ohne Verbindungsverlust. > > Zwischendurch auch immer wieder Finger scannen lassen ohne Probleme. > > Lediglich gerade eben hat er einige Sekunden gebraucht bis das Schloss > reagiert hat. Könnte aber natürlich auch am Schloss gelegen haben, da > beide Befehle nach einigen Sekunden doch ausgeführt wurden obwohl ich > keine Message queue eingebaut habe. Was ist das für ein fingerscanner?
Dirk schrieb: > Wollte eine möglichst schnelle Reaktion haben. Deshalb aktuell die > dauerhafte Verbindung. Das finde ich auch gerade richtig klasse. Bei der ursprünglichen Lösung mit dem Pi war es immer etwas irritierend, wenn man den Pin am Tastenfeld eingeben hat und erst einmal nichts passierte. Dafür wechsel ich gern öfter die Batterie ;)
Artur K. schrieb: > Dirk schrieb: >> Hab die Änderungen einmal gepushed. >> Wer Speicher sparen möchte kann das Framework auf esp-idf ändern. >> Dadurch spart man ca. 20% >> ESP lief bei mir jetzt 6 Stunden durch ohne Verbindungsverlust. >> Zwischendurch auch immer wieder Finger scannen lassen ohne Probleme. >> Lediglich gerade eben hat er einige Sekunden gebraucht bis das Schloss >> reagiert hat. Könnte aber natürlich auch am Schloss gelegen haben, da >> beide Befehle nach einigen Sekunden doch ausgeführt wurden obwohl ich >> keine Message queue eingebaut habe. > > Was ist das für ein fingerscanner? Grow R503 den ich auseinander gebaut habe :) Gibt's auch bei Amazon, falls man nicht auf AliExpress warten kann ;) Kombiniert am Ende in einer Klingel
:
Bearbeitet durch User
Dirk schrieb: > Grow R503 den ich auseinander gebaut habe :) > Gibt's auch bei Amazon, falls man nicht auf AliExpress warten kann ;) > > Kombiniert am Ende in einer Klingel Danke, möchte meine fingerabdruckleser in Doorbird (ekey) ersetzen. Da kann man bißchen testen. Wie zuverlässig ist der?
:
Bearbeitet durch User
Dirk schrieb: > Hab die Änderungen einmal gepushed. > > Wer Speicher sparen möchte kann das Framework auf esp-idf ändern. > Dadurch spart man ca. 20% > > ESP lief bei mir jetzt 6 Stunden durch ohne Verbindungsverlust. > > Zwischendurch auch immer wieder Finger scannen lassen ohne Probleme. > > Lediglich gerade eben hat er einige Sekunden gebraucht bis das Schloss > reagiert hat. Könnte aber natürlich auch am Schloss gelegen haben, da > beide Befehle nach einigen Sekunden doch ausgeführt wurden obwohl ich > keine Message queue eingebaut habe. Hi, heisst dass es jetzt immer Verbindung getrennt wird? Und ich habe gesehen dass du external_components: source: geändert hast, wenn ich es jetzt richtig verstehe, muss ich immer aktuellen Ordner von Github lokal kopieren? Framework kann ich ja Arduino lassen, weil will nicht neu flashen, will nur als OTA machen. Grüß
Batterie als sensor wäre noch sehr gut, ich bin noch nicht gut in esphome, ich sehe es in Log aber wie man es rausholt, habe noch nicht rausgefunden.
Artur K. schrieb: > Dirk schrieb: >> Hab die Änderungen einmal gepushed. >> Wer Speicher sparen möchte kann das Framework auf esp-idf ändern. >> Dadurch spart man ca. 20% >> ESP lief bei mir jetzt 6 Stunden durch ohne Verbindungsverlust. >> Zwischendurch auch immer wieder Finger scannen lassen ohne Probleme. >> Lediglich gerade eben hat er einige Sekunden gebraucht bis das Schloss >> reagiert hat. Könnte aber natürlich auch am Schloss gelegen haben, da >> beide Befehle nach einigen Sekunden doch ausgeführt wurden obwohl ich >> keine Message queue eingebaut habe. > > Hi, heisst dass es jetzt immer Verbindung getrennt wird? Und ich habe > gesehen dass du > external_components: > source: > geändert hast, wenn ich es jetzt richtig verstehe, muss ich immer > aktuellen Ordner von Github lokal kopieren? > Framework kann ich ja Arduino lassen, weil will nicht neu flashen, will > nur als OTA machen. > Grüß ah sorry Pfad muss der alte dein von GitHub. Lokal zeige ich auf den lokalen pfad damit ich nicht immer pushen muss um was zu testen. Aktuell behält er noch die Verbindung. Ich werde aber noch einbauen, dass man diese trennen kann. Bzgl Batterie wird es auch noch eingebaut. Lock Status ist ja auch noch nicht drin in HA. Packe da dann noch Rssi, Batterie und Status rein.
Dirk schrieb: > > ah sorry Pfad muss der alte dein von GitHub. > > Lokal zeige ich auf den lokalen pfad damit ich nicht immer pushen muss > um was zu testen. > > Aktuell behält er noch die Verbindung. Ich werde aber noch einbauen, > dass man diese trennen kann. > > > Bzgl Batterie wird es auch noch eingebaut. Lock Status ist ja auch noch > nicht drin in HA. Packe da dann noch Rssi, Batterie und Status rein. das habe ich mir gedacht, habe ich noch gelassen. wegen Batterie, wie geht es überhaupt? frage nur weil ich es für mich persönlich interessant finde.
Artur K. schrieb: > Dirk schrieb: >> Hab die Änderungen einmal gepushed. >> Wer Speicher sparen möchte kann das Framework auf esp-idf ändern. >> Dadurch spart man ca. 20% >> ESP lief bei mir jetzt 6 Stunden durch ohne Verbindungsverlust. >> Zwischendurch auch immer wieder Finger scannen lassen ohne Probleme. >> Lediglich gerade eben hat er einige Sekunden gebraucht bis das Schloss >> reagiert hat. Könnte aber natürlich auch am Schloss gelegen haben, da >> beide Befehle nach einigen Sekunden doch ausgeführt wurden obwohl ich >> keine Message queue eingebaut habe. > > Hi, heisst dass es jetzt immer Verbindung getrennt wird? Und ich habe > gesehen dass du > external_components: > source: > geändert hast, wenn ich es jetzt richtig verstehe, muss ich immer > aktuellen Ordner von Github lokal kopieren? > Framework kann ich ja Arduino lassen, weil will nicht neu flashen, will > nur als OTA machen. > Grüß Habe soeben lokal die connect Funktion implementiert. Braucht dann doch recht lange bis er sich verbunden und den Befehl ausgeführt hat. Sind so 12 Sekunden. Damit sollte man aber auch verschiedene Schlösser ansprechen können. Denke für mich werde ich es so umsetzen, dass falls alle daheim sind der ESP die Verbindung trennt. Sobald die Tür geöffnet wird oder eine Person nicht zu Hause ist der ESP eine Verbindung herstellt. Artur K. schrieb: > Dirk schrieb: >> ah sorry Pfad muss der alte dein von GitHub. >> Lokal zeige ich auf den lokalen pfad damit ich nicht immer pushen muss >> um was zu testen. >> Aktuell behält er noch die Verbindung. Ich werde aber noch einbauen, >> dass man diese trennen kann. >> Bzgl Batterie wird es auch noch eingebaut. Lock Status ist ja auch noch >> nicht drin in HA. Packe da dann noch Rssi, Batterie und Status rein. > > das habe ich mir gedacht, habe ich noch gelassen. > wegen Batterie, wie geht es überhaupt? frage nur weil ich es für mich > persönlich interessant finde. Habe ich mir noch nicht angeschaut ^^ Gibt leider wenig bis gar keine Doku. Ich schaue immer in anderen Komponenten nach, wie diese das umgesetzt haben 😅
Dirk schrieb: > Ja das stimmt, konnte auch nichts finden. Für mich wäre nur akkustand wichtig. Eine dauerhafte Verbindung waren in meinen Fall von Vorteil. Könnte man dann später auswählen ob man trennen möchte oder nicht?
Hey @digaus! Schön das sich hier erneut etwas bewegt! Deine Umsetzung setzt ja auf Home Assistant auf. Sowohl damit, als auch mit ESPHome habe ich leider keine/kaum Erfahrung. Soweit ich deinen Code überblicke, könnte man den API Teil von HA rausnehmen und durch einen MQTT Broker ersetzte. Nun frage ich mich, ob man die von dir in HA genutzen/bereitgestellten Services des Schlossantriebs ohne die API über eine eingehende MQTT Nachricht aufrufen bzw. den Status via MQTT veröfftlichen könnte? Damit könnte man dann auch ohne HA das Schloss ansprechen. Hättest Du da bitte eine Tipp für mich? Schönen Gruß type0n
Thomas schrieb: > Hey @digaus! > Schön das sich hier erneut etwas bewegt! > Deine Umsetzung setzt ja auf Home Assistant auf. Sowohl damit, als auch > mit ESPHome habe ich leider keine/kaum Erfahrung. > Soweit ich deinen Code überblicke, könnte man den API Teil von HA > rausnehmen und durch einen MQTT Broker ersetzte. Nun frage ich mich, ob > man die von dir in HA genutzen/bereitgestellten Services des > Schlossantriebs ohne die API über eine eingehende MQTT Nachricht > aufrufen bzw. den Status via MQTT veröfftlichen könnte? > Damit könnte man dann auch ohne HA das Schloss ansprechen. > Hättest Du da bitte eine Tipp für mich? > Schönen Gruß > type0n Esphome funktioniert auch standalone. MQTT kann einfach mit dem MQTT Client eingebunden werden: https://esphome.io/components/mqtt.html#on-message-trigger Hab die Version auf GitHub mit der connect und disconnect Funktion aktualisiert. Mac Adresse kann man leider nicht via template weitergeben. Man muss also mehrere Connect services definieren wenn man mehrere Schlösser verwenden möchte.
Hallo nochmal! Ich habe mal etwas herumprobiert und konnte den API Teil gegen eine MQTT Broker Verbindung ersetzen (yaml ist völlig neu für mich). Den Aufruf der Service Funktionen habe ich auch hinbekommen. Durch einen MQTT Subscriber Sensor bekomme ich externe Befehle zum ESP und kann damit bis jetzt lock/unlock/open/status auslösen. Jetzt fehlen nur noch Pairing und Batteriestatus, dann wäre diese Lösung für mich schon fast voll einsatzfähig! Am Broker sehe ich nun mehrere Topics. Ohne die, die ich eingefügt habe published der ESP das Topic status und debug. Via debug kommt alles an, was auch über den Logger geht. Darin sind dann auch aktueller Status und Batteriestatus enthalten. Wenn der Status bei jeder Änderung gepublished werde könnten, könnte man auch die manuelle Bedienung erkennen. Wenn dabei auch noch der Batteriestatus kommt, optimal! Hat da jemend eine Idee wie man das realsieren/wo man da ansetzen könnte? Schönen Gruß type0n
Thomas schrieb: > Hallo nochmal! > Ich habe mal etwas herumprobiert und konnte den API Teil gegen eine MQTT > Broker Verbindung ersetzen (yaml ist völlig neu für mich). > Den Aufruf der Service Funktionen habe ich auch hinbekommen. > Durch einen MQTT Subscriber Sensor bekomme ich externe Befehle zum ESP > und kann damit bis jetzt lock/unlock/open/status auslösen. > Jetzt fehlen nur noch Pairing und Batteriestatus, dann wäre diese Lösung > für mich schon fast voll einsatzfähig! > Am Broker sehe ich nun mehrere Topics. Ohne die, die ich eingefügt habe > published der ESP das Topic status und debug. > Via debug kommt alles an, was auch über den Logger geht. > Darin sind dann auch aktueller Status und Batteriestatus enthalten. > Wenn der Status bei jeder Änderung gepublished werde könnten, könnte man > auch die manuelle Bedienung erkennen. > Wenn dabei auch noch der Batteriestatus kommt, optimal! > Hat da jemend eine Idee wie man das realsieren/wo man da ansetzen > könnte? > Schönen Gruß > type0n Nicht so eilig, kommt alles noch 😉 Pairing geht aber schon. Gibt dafür den pair Service. Kannst du dir aus der yaml abschauen.
Thomas schrieb: > Wenn der Status bei jeder Änderung gepublished werde könnten, könnte man > auch die manuelle Bedienung erkennen. > Wenn dabei auch noch der Batteriestatus kommt, optimal! > Hat da jemend eine Idee wie man das realsieren/wo man da ansetzen > könnte? > Schönen Gruß > type0n Habe es so eben aktualisiert. Status und Batteriezustand werden jetzt über die Sensor Komponente ausgegeben. Werde da wahrscheinlich noch die User ID und den User Key vom Pairing Prozess mit ausgeben Beispiel steht in der yaml :)
:
Bearbeitet durch User
Hat hier noch jemand das Problem, dass das Schloss beim öffnen nicht von alleine stoppt? Hört sich dann richtig brutal an wie er versucht immer weiter zu drehen obwohl es nicht mehr geht. Muss dann die Batterie entfernen ... Hab das Schloss nämlich soeben das erste mal montiert. Getestet mit der iOS App... Ist es vllt einfach Pech und ich habe ein defektes erwischt?
:
Bearbeitet durch User
Dirk schrieb: > > Habe es so eben aktualisiert. Status und Batteriezustand werden jetzt > über die Sensor Komponente ausgegeben. > > Werde da wahrscheinlich noch die User ID und den User Key vom Pairing > Prozess mit ausgeben > > Beispiel steht in der yaml :) in Zeile 35 schimpft er wegen number "Unknown value 'number', valid options are 'bool', 'int', 'float', 'string', 'bool[]', 'int[]', 'float[]', 'string[]'." und ist es richtig, dass es 2 mal service: connect gibt? passt nicht in esp32 4mb Error: The program size (1836437 bytes) is greater than maximum allowed (1835008 bytes) *** [checkprogsize] Explicit exit, status 1
:
Bearbeitet durch User
Wer kann mir sagen was das bedeuten soll? Log: ets Jul 29 2019 12:21:46 rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:6608 load:0x40078000,len:15060 ho 0 tail 12 room 4 load:0x40080400,len:3816 entry 0x40080698 I (29) boot: ESP-IDF 4.4.5 2nd stage bootloader I (29) boot: compile time 19:23:39 I (29) boot: chip revision: v3.1 I (32) boot.esp32: SPI Speed : 40MHz I (37) boot.esp32: SPI Mode : DIO I (41) boot.esp32: SPI Flash Size : 4MB I (46) boot: Enabling RNG early entropy source... I (51) boot: Partition Table: I (55) boot: ## Label Usage Type ST Offset Length I (62) boot: 0 otadata OTA data 01 00 00009000 00002000 I (70) boot: 1 phy_init RF data 01 01 0000b000 00001000 I (77) boot: 2 app0 OTA app 00 10 00010000 001c0000 I (85) boot: 3 app1 OTA app 00 11 001d0000 001c0000 I (92) boot: 4 nvs WiFi data 01 02 00390000 0006d000 I (100) boot: End of partition table I (104) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=44fe4h (282596) map I (215) esp_image: segment 1: paddr=0005500c vaddr=3ffbdb60 size=04c64h ( 19556) load I (222) esp_image: segment 2: paddr=00059c78 vaddr=40080000 size=063a0h ( 25504) load I (233) esp_image: segment 3: paddr=00060020 vaddr=400d0020 size=105fc4h (1073092) map I (622) esp_image: segment 4: paddr=00165fec vaddr=400863a0 size=16e98h ( 93848) load I (675) boot: Loaded app from partition at offset 0x10000 I (675) boot: Disabling RNG early entropy source... I (686) cpu_start: Pro cpu up. I (687) cpu_start: Starting app cpu, entry point is 0x40082180 I (0) cpu_start: App cpu up. I (703) cpu_start: Pro cpu start user code I (703) cpu_start: cpu freq: 160000000 I (703) cpu_start: Application information: I (707) cpu_start: Project name: eqiva-lock I (713) cpu_start: App version: 2023.11.6 I (718) cpu_start: Compile time: Dec 4 2023 19:22:45 I (724) cpu_start: ELF file SHA256: 7f5fa95f0b16a391... I (730) cpu_start: ESP-IDF: 4.4.5 I (735) cpu_start: Min chip rev: v0.0 I (739) cpu_start: Max chip rev: v3.99 I (744) cpu_start: Chip rev: v3.1 I (749) heap_init: Initializing. RAM available for dynamic allocation: I (756) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM I (762) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM I (768) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM I (774) heap_init: At 3FFCB9F0 len 00014610 (81 KiB): DRAM I (780) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM I (787) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM I (793) heap_init: At 4009D238 len 00002DC8 (11 KiB): IRAM I (801) spi_flash: detected chip: generic I (804) spi_flash: flash io: dio I (810) cpu_start: Starting scheduler on PRO CPU. I (0) cpu_start: Starting scheduler on APP CPU.
Artur K. schrieb: > Dirk schrieb: >> Habe es so eben aktualisiert. Status und Batteriezustand werden jetzt >> über die Sensor Komponente ausgegeben. >> Werde da wahrscheinlich noch die User ID und den User Key vom Pairing >> Prozess mit ausgeben >> Beispiel steht in der yaml :) > > in Zeile 35 schimpft er wegen number "Unknown value 'number', valid > options are 'bool', 'int', 'float', 'string', 'bool[]', 'int[]', > 'float[]', 'string[]'." > und ist es richtig, dass es 2 mal service: connect gibt? > passt nicht in esp32 4mb > Error: The program size (1836437 bytes) is greater than maximum allowed > (1835008 bytes) > *** [checkprogsize] Explicit exit, status 1 Jap zweiten Service entfernen. Hab's auch angepasst. Bzgl Code size lässt sich nicht viel machen. Der BLE Stack verbraucht hier sehr viel Speicher. Da hilft es nur das Framework auf esp-idf umzustellen so wie es auch in der Beispiel yaml ist. Damit verbraucht er nur 81% des Speichers.
:
Bearbeitet durch User
Dirk schrieb: > Bzgl Code size lässt sich nicht viel machen. Der BLE Stack verbraucht > hier sehr viel Speicher. Da hilft es nur das Framework auf esp-idf > umzustellen so wie es auch in der Beispiel yaml ist. ok dann muss ich wohl mit Kabel flashen. Danke
Artur K. schrieb: > Dirk schrieb: >> Bzgl Code size lässt sich nicht viel machen. Der BLE Stack verbraucht >> hier sehr viel Speicher. Da hilft es nur das Framework auf esp-idf >> umzustellen so wie es auch in der Beispiel yaml ist. > > ok dann muss ich wohl mit Kabel flashen. Danke Warum? Geht doch auch ganz normal via OTA?
Dirk schrieb: > Warum? Geht doch auch ganz normal via OTA? Oooo habe mal gelesen, dass wenn man framework ändert, muss man komplett neu flashen. Gut zu wissen, Danke
Artur K. schrieb: > Dirk schrieb: > Könnte man nicht bei battery Status statt 1 und 0, true und false > benutzen? Hab's jetzt generell auf text_sensor umgestellt. So ist es auch sprechender. Zusätzlich zum Lock Status und Batterie wird jetzt auch noch der BLE Status mit angezeigt/ausgegebenen
:
Bearbeitet durch User
Nachdem es beim ersten Test so gut lief habe ich mir noch so ein Schloss besorgt. Leider funktioniert es bei mir in der aktuellsten Version gar nicht mehr. Der ESP32 scheint immer wieder zu crashen: WARNING esphome-web-350990: Connection error occurred: [Errno 104] Connection reset by peer INFO Processing unexpected disconnect from ESPHome API for esphome-web-350990 WARNING Disconnected from API WARNING Can't connect to ESPHome API for esphome-web-350990: Error connecting to ('192.168.2.66', 6053): [Errno 111] Connect call failed ('192.168.2.66', 6053) (SocketAPIError) INFO Trying to connect to esphome-web-350990 in the background
Philipp C. schrieb: > Nachdem es beim ersten Test so gut lief habe ich mir noch so ein > Schloss besorgt. > Leider funktioniert es bei mir in der aktuellsten Version gar nicht > mehr. > Der ESP32 scheint immer wieder zu crashen: > WARNING esphome-web-350990: Connection error occurred: [Errno 104] > Connection reset by peer > INFO Processing unexpected disconnect from ESPHome API for > esphome-web-350990 > WARNING Disconnected from API > WARNING Can't connect to ESPHome API for esphome-web-350990: Error > connecting to ('192.168.2.66', 6053): [Errno 111] Connect call failed > ('192.168.2.66', 6053) (SocketAPIError) > INFO Trying to connect to esphome-web-350990 in the background Nutzt du esp-idf? Ansonsten nimm mal "scan_parameter" raus.
Dirk schrieb: > Nutzt du esp-idf? > > Ansonsten nimm mal "scan_parameter" raus. Der erste Versuch war noch mit Android, aber das scheint nun nicht mehr zu passen und ich bin auf esp-idf gegangen. Ich probiere es mal ohne scan_parameter Edit: Das hat nichts gebracht. Es sieht so aus, als würde der Aufruf des pair services zuverlässig den crash auslösen.
:
Bearbeitet durch User
Philipp C. schrieb: > Dirk schrieb: >> Nutzt du esp-idf? >> Ansonsten nimm mal "scan_parameter" raus. > > Der erste Versuch war noch mit Android, aber das scheint nun nicht mehr > zu passen und ich bin auf esp-idf gegangen. > Ich probiere es mal ohne scan_parameter > Edit: Das hat nichts gebracht. Es sieht so aus, als würde der Aufruf des > pair services zuverlässig den crash auslösen. Jo sorry pair hab ich kaputt gemacht. Funktioniert in der neusten Version wieder. 🙃 Wichtig, keine user_id bzw user_key mitgegeben wenn man pairen möchte. Diese werden jetzt auch mit zurück geliefert und man sich diese in der Weboberfläche anzeigen lassen beim pairen :)
:
Bearbeitet durch User
Dirk schrieb: > Hab's jetzt generell auf text_sensor umgestellt. So ist es auch > sprechender. Zusätzlich zum Lock Status und Batterie wird jetzt auch > noch der BLE Status mit angezeigt/ausgegebenen Wie pushe ich neue Komponenten? Der zeigt mir Platform not found: 'text_sensor.eqiva_key_ble'.
Artur K. schrieb: > Dirk schrieb: >> Hab's jetzt generell auf text_sensor umgestellt. So ist es auch >> sprechender. Zusätzlich zum Lock Status und Batterie wird jetzt auch >> noch der BLE Status mit angezeigt/ausgegebenen > > Wie pushe ich neue Komponenten? Der zeigt mir Platform not found: > 'text_sensor.eqiva_key_ble'. https://esphome.io/components/external_components.html#external-components-refresh
Dirk schrieb: > https://esphome.io/components/external_components.html#external-components-refresh Oh stimmmt, darauf noch nicht gekommen, danke Hätte einen Vorschlag, möchtest du nicht einen lock component einbauen?
:
Bearbeitet durch User
Artur K. schrieb: > Dirk schrieb: >> > https://esphome.io/components/external_components.html#external-components-refresh > > Oh stimmmt, darauf noch nicht gekommen, danke > Hätte einen Vorschlag, möchtest du nicht einen lock component einbauen? Ja definitiv :) Bin gerade noch dabei die Einstellungen zu implementieren. Dann bräuchte man die App nicht mehr ;) Edit: und Einstellungen erfolgreich getestet :) Man kann jetzt Drehrichtung, Schlüsselposition und Anzahl Drehung einstellen. Mache eben noch nen Service dann pushe ich das 🙃
:
Bearbeitet durch User
Unglaublich, wie es voran geht. Funktionieren schon zwei Schlösser? Dann könnte ich meinen Raspi Zero in Rente schicken.
Hendrik F. schrieb: > Unglaublich, wie es voran geht. > Funktionieren schon zwei Schlösser? Dann könnte ich meinen Raspi Zero in > Rente schicken. Sollte möglich sein indem du erst disconnect und dann connect mit den passenden Parametern aufrufst. D.h. gesteuert wird immer das aktuell verbundene Schloss. Habe das Anpassen der Einstellungen jetzt auch veröffentlicht (muss hier die lock_turns noch validieren, nicht dass einer was anderes als 1-4 einträgt)
Hm, planst du denn noch meherere Schlösser voll zu integrieren? So wie es jetzt ist, wäre ja immer nur ein Schloss - und dessen Status - im Gui sichtbar, oder? Wünschenswert wäre, wenn mehrere Schlösser hinsichtlich ihres Status - und auch aktuierbar - wären und wenn diese in einem konfigurierbaren Zyklus abgefragt würden (z.B. Status update alle 300s sowie unmittelbar nach jedem Kommando). Gruß, Hendrik
Hendrik F. schrieb: > Hm, planst du denn noch meherere Schlösser voll zu integrieren? > So wie es jetzt ist, wäre ja immer nur ein Schloss - und dessen Status - > im Gui sichtbar, oder? > Wünschenswert wäre, wenn mehrere Schlösser hinsichtlich ihres Status - > und auch aktuierbar - wären und wenn diese in einem konfigurierbaren > Zyklus abgefragt würden (z.B. Status update alle 300s sowie unmittelbar > nach jedem Kommando). > Gruß, > Hendrik Was ist denn dein Ziel? Möchtest du nur die Stati der Schlösser sehen oder möchtest du diese auch ansteuern? Wenn ansteuern wie sieht da der Usecase aus? Ist das zeitkritisch? Man könnte es so anpassen, dass man eine Liste an mac/user_id/user_key mit gibt und dann bei jedem Aufruf nen Parameter hinzufügen mit der Mac Adresse. Wäre ziemlicher Aufwand das so zu programmieren. Würde da wahrscheinlich eher auf einen zweiten ESP gehen, auch in Bezug auf die BLE Reichweite.
Hallo, der Usecase ist, dass ich zwei Schlösser in unmittelbarer Nähe habe, so dass beide leicht von einem ESP ansteuerbar sind. Ich bin da so wie ich das oben lese nicht der Einzige. Ich verstehe aber, wenn das zu viel Aufwand ist. Ich hatte es mir so vorgestellt, dass der ESP wirklich zwei/N Schlösser in HA darstellt, so dass HA gar nicht merkt, dass ein ESP zwei Schlösser ansteuert - und v.a. meine Frau nicht :-) Das bedeutet natürlich, dass der ESP eine Kommunkiationsqueue braucht für die Funk-Kommandos. Das Ansteuern ist nicht so zeitkritisch - wir nutzen es v.a. um die Schlösser abzuschließen wenn wir es vergessen haben. Wenn du aber eine so gute Arbeit machst, dass man die App nicht mehr nutzt, kann ich mir vorstellen, dass man auch HA zum aufschließen nutzt. Dann wäre es natürlich blöd, wenn es lange dauert - mit der App dauert es aber auch mehrere Sekunden. > Man könnte es so anpassen, dass man eine Liste an mac/user_id/user_key > mit gibt und dann bei jedem Aufruf nen Parameter hinzufügen mit der Mac > Adresse. Siehe oben: Ich hätte gedacht, dass man einfach mehere Schlösser "emuliert". Übrigens: Der Status ist in meinen Augen nicht besonders wichtig, da er eh unzuverlässig ist: Wenn die Tür nicht zu ist, und das Schloss aber "abschließt" dann bringt das garnix. Deshalb habe ich einen Taster im Türrahmen, der vom Riegel gedrückt wird. Gruß, Hendrik
Hallo, beim Installieren bekomme ich einen Fehler: > Failed config > >eqiva_key_ble: [source /config/esphome/esphome-web-8bf1d4.yaml:96] > > value must be at most 8. > id: key_ble Habe ich da etwas falsch verstanden? Gruß, Hendrik
Hendrik F. schrieb: > Hallo, > beim Installieren bekomme ich einen Fehler: >> Failed config >> eqiva_key_ble: [source /config/esphome/esphome-web-8bf1d4.yaml:96] >> value must be at most 8. >> id: key_ble > > Habe ich da etwas falsch verstanden? > Gruß, > Hendrik Poste mal deine yaml Die max 8 habe ich bei user_id hinterlegt aber nicht bei der id Edit: ok du lässt die user\id weg das sollte auch möglich sein Schaue es mir an
:
Bearbeitet durch User
Hi, wie ist es eigentlich momentan. Besteht dauerhafte Verbindung? Wenn nicht wich lasse ich es dauerhaft verbunden?
Hendrik F. schrieb: > Hallo, > beim Installieren bekomme ich einen Fehler: >> Failed config >> eqiva_key_ble: [source /config/esphome/esphome-web-8bf1d4.yaml:96] >> value must be at most 8. >> id: key_ble > > Habe ich da etwas falsch verstanden? > Gruß, > Hendrik Hab's gefixed Übrigens könntest du dir die beiden Schlösser in der yaml definieren mit nem Lock Template (siehe Foto)
Artur K. schrieb: > Hi, wie ist es eigentlich momentan. Besteht dauerhafte Verbindung? > Wenn nicht wich lasse ich es dauerhaft verbunden? Ja ist dauerhaft verbunden. Hab auch vergessen beim manuellen disconnect die Daten rausschmeißen. Dadurch verbindet er sich denke ich immer wieder mit dem zuletzt verbundenen.
Hallo, der Fix funktioniert. Mir fehlt jetzt noch etwas Dokumentation. Ich weiß nicht, wie ich jetzt die Bedienung mache (ich finde das Gerät nicht unter meinen Entitäten). > Übrigens könntest du dir die beiden Schlösser in der yaml definieren mit > nem Lock Template (siehe Foto) D.h. ich würde den Part aus deinem Screenshot zweimal einfügen (mit unterschiedlichem Namen)? Und dann gäbe es zwei Entitäten für das Schloss? Gruß, Hendrik
Hendrik F. schrieb: > Hallo, > der Fix funktioniert. > Mir fehlt jetzt noch etwas Dokumentation. Ich weiß nicht, wie ich jetzt > die Bedienung mache (ich finde das Gerät nicht unter meinen Entitäten). >> Übrigens könntest du dir die beiden Schlösser in der yaml definieren mit >> nem Lock Template (siehe Foto) > > D.h. ich würde den Part aus deinem Screenshot zweimal einfügen (mit > unterschiedlichem Namen)? > Und dann gäbe es zwei Entitäten für das Schloss? > Gruß, > Hendrik Hab ein Beispiel hochgeladen und den Code nochmal aktualisiert. Kann es natürlich nicht testen, da ich nur ein Schloss habe. Mit den beiden Lock Templates sollten aber beide Schlösser in HA auftauchen Für schneller Verbindung kannst du die scan window auf 300ms setzen Aber bedenke, gleichzeitig ausführen wird zu Problemem führen :)
:
Bearbeitet durch User
Hier geht es ja ab :) Bei jedem Install gibt es eine neue Version Leider startet mein ESP seit der letzten offenbar gar nicht mehr. Es geht nicht mehr bis zum logger :(
Philipp C. schrieb: > Hier geht es ja ab :) Bei jedem Install gibt es eine neue Version > Leider startet mein ESP seit der letzten offenbar gar nicht mehr. Es > geht nicht mehr bis zum logger :( esp-idf?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.