NEWS
Test Adapter espresense
-
Aktuelle Test Version 0.1.x Veröffentlichungsdatum 20.12.2023 Github Link https://github.com/ticaki/ioBroker.espresense Stellt eine Schnittstelle zu ESPresense dar.
Kann als MQTT Client oder Server agieren.Todo:
- Datenpunktbezeichnungen fehlen
- Filter über das Admininterface konfigurierbar machen
Wie konfiguriere ich das:
Start own mqtt server
: Wenn du keinen eigenen mqtt Server hast oder diesen nicht benutzen willst, setzte hier eine Haken.Server ip of external mqtt server
: Bei eigenem MQTT Server die Ip dessen oder egal.Port
: MQTT Server Port oder ein freier Port größer als 1024.User name
&Password
: Ob eigenen oder interner MQTT-Server hier muß das gleiche stehen wie in espresense (bei eigenem die Daten von dem, bei intern muß es nur gleich sein)Time after a device is displayed as absent. (seconds)
: Zeit nachdem ein Device als "Abwesend" makiert wird, muß größer sein alsSkip reporting if message age is less that this (in milliseconds):
aus der espresense Konfiguration.
-
@ticaki Irgendwo verschluckt sich der Adapter noch. Hier mal ein Auszug aus dem Log von gestern:
2023-12-20 22:02:50.955 - error: espresense.0 (503) 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(). 2023-12-20 22:02:50.955 - error: espresense.0 (503) unhandled promise rejection: Cannot read properties of undefined (reading 'r') 2023-12-20 22:02:50.992 - error: espresense.0 (503) TypeError: Cannot read properties of undefined (reading 'r') at Library.deepJsonValue (/opt/iobroker/node_modules/iobroker.espresense/src/lib/library.ts:184:17) at Library.getObjectDefFromJson (/opt/iobroker/node_modules/iobroker.espresense/src/lib/library.ts:163:27) at Library.writeFromJson (/opt/iobroker/node_modules/iobroker.espresense/src/lib/library.ts:109:55) at Library.writeFromJson (/opt/iobroker/node_modules/iobroker.espresense/src/lib/library.ts:145:32) at Library.writeFromJson (/opt/iobroker/node_modules/iobroker.espresense/src/lib/library.ts:145:21) at Library.writeFromJson (/opt/iobroker/node_modules/iobroker.espresense/src/lib/library.ts:145:21) at Espresense.handleMessage (/opt/iobroker/node_modules/iobroker.espresense/src/main.ts:123:13) 2023-12-20 22:02:50.992 - error: espresense.0 (503) Cannot read properties of undefined (reading 'r') 2023-12-20 22:02:51.010 - info: espresense.0 (503) terminating 2023-12-20 22:02:51.011 - warn: espresense.0 (503) Terminated (UNCAUGHT_EXCEPTION): Without reason 2023-12-20 22:02:51.019 - error: espresense.0 (503) [mqttClient] Error: read ECONNRESET 2023-12-20 22:02:51.021 - info: espresense.0 (503) [mqttClient] Connection is closed. 2023-12-20 22:02:51.511 - info: espresense.0 (503) terminating 2023-12-20 22:02:51.643 - error: host.iobroker-pmx instance system.adapter.espresense.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2023-12-20 22:02:51.643 - info: host.iobroker-pmx Restart adapter system.adapter.espresense.0 because enabled
-
Das habe ich gestern behoben, nochmal von Github installieren.
-
@ticaki Jetzt läuft die 0.1.2. Aber ich bin überfordert! Mittlerweile habe ich über 200 Geräte. Gibt es einen Trick, wie ich mein Gerät daraus finden kann?
-
Das Gefühl kenne ich. Bin damit aber auch erst seit einer Woche dran, daher falls ich was falsch erkläre sry
Die ID's der Geräte werden von manschen Beacons wegen Datenschutz alle x Minuten geändert. Beim iPhone gibts eine Pairing-Möglichkeit, damit erkennt der esp das Gerät immer mit der gleichen ID.
Diese ID muss du dann bei include - im Adapter (ab 0.1.0) oder direkt in espresense eintragen, dann werden nur noch Daten zu diesem Gerät übermittelt. Im Adapter hab ich das zur Zeit noch mit "Entferne Datenpunkte nach 30 Tagen inaktivität" gelöst, bin mir noch nicht sicher wie ich das entfernen von Geräten aus den States am besten löse. Ob ein Gerät seine ID gewechselt hat oder nur offline ist, ist ja nicht zu ermitteln.
-
Gleich gibts ne v0.2.0
Änderungen seit 0.1.0
- crash behoben
- objektstates mit common.name
- Admin erlaubt das hinzufügen und entfernen von Geräten, ohne Einstellung werden alle Geräte wie bisher angezeigt. Mit hinzugefügten Geräten werden, nur diese angezeigt.
- restart Kommandostate
Die Einstellungen findet man alle unter rooms. Dort werden alle beschreibbaren Datenpunkte an ESPresense gesendet.
-
@ticaki Ich habe noch ein paar Fragen/Anmerkungen zum ESPresence v0.3.0. Ich experimentiere ja hier mit zwei Geräten herum. Unter "Alle bekannten Geräte" habe ich jetzt vorab 3 leere Zeilen (die auch nicht gelöscht werden können) und danach meine beiden Geräte mit "ID" und identischem "Name". Für was soll der Name sein? Löschen geht, umbenennen nicht.
und dazu passend die Einträge aus dem Object (Auszug):
"selectedDevices": [ { "id": "", "name": "" }, { "id": "", "name": "" }, { "id": "", "name": "" }, { "id": "iBeacon:3c7c0e01-c055-489b-a5e2-cb620230c1a6-0-0", "name": "iBeacon:3c7c0e01-c055-489b-a5e2-cb620230c1a6-0-0" }, { "id": "iBeacon:01020304-0506-0708-090a-0b0c0d0e0f10-1-1", "name": "" } ],
-
Ok ich mache dann eine Kontrolle rein, die leere Einträge entfernt, keine Ahnung wo die herkommen.
-
@ticaki Möglicherweise nach dem letzte Update. Was mache ich denn mit dem "Name"?
Ich habe kürzlich einen ESP "umbenannt". Der alte Eintrag ist weiterhin drin. Kriegst du den auch irgendwie raus? -
Danke für den Hinweis, hab gerade spielzeug geliefert bekommen und war nicht so ganz bei der Sache
Ich überlege mir da eine Lösung.
-
@ticaki Über das "Spielzeug" reden wir auch noch mal.
-
Um deine Frage zu beantworten. ID und NAME sind das was du unter
espresense.0.settings
findest. Das kannst du in ESPresense anpassen. Zumindest beim iphone ist es so. Wird als friendly name verwendet, jetzt gibts ein fallback auf die id und leere ids werden verworfen.Neuer Version wird gleich erstellt.
-
v4.0.0
- globale Konfiguration (noch verbesserungswürdig)
- restart Knopf
- Leerer Name wird mit id überschrieben. Leere Ids werden verworfen.
-
@ticaki Funktioniert! Für mich macht das ganze Sinn, wenn ich noch einen Datenpunkt hätte, wo ich direkt sehen kann, in welchem Raum mein Gerät liegt. Das könnte dann so aussehen:
Was meinst du; ist das auch sinnvoll und machbar?
-
hmpf... war gerade weg und hab vergessen meine esp32 abzuholen... Mit vielen kann ich das testen, aktuell hab ich nur 2 Stück. Hole ich morgen.
-
Moin,
erst mal allen ein frohes und gesundes neues Jahr.
Der Adapter sieht schon sehr gut aus … wieder ein Teil, den ich von HA zu iobroker umziehen kann
Allerdings müllt er mir gerade das Log voll:
espresense.0 2024-01-02 06:10:32.389 error Error: The id "rooms.wohnzimmer." is invalid. Ids are not allowed to end in "."
Ich habe aber nirgendwo den Punkt definiert … in ESPresence selber heißt das Teil nur „Wohnzimmer“.
Was kann / soll ich noch testen, ändern, o.ä.?
VG,
Eric -
-
@ticaki Keine Eile. Ich hab ja auch nur zwei aktiv!
-
Ich weiß nicht ob ichs schon geschrieben habe.
Der MQTT Server der im Adapter steckt ist ein echter. Da kann man mit dem mqtt-explorer drauf zu greifen. Nur damit ihr es wisst.
-