NEWS
Test Adapter espresense
-
Hab mir gerade ein kleines Blockly geschrieben, das mir den Raum ausgibt, wenn ein Device im Abstand kleiner 2m ist - damit sollte das Device auch in dem Raum vorhanden sein..
Da ich mir den Raumnamen aus dem State / Channel ausgeben lasse, wird der leider klein geschrieben.. im ESP ist er aber richtig, so wie ich ihn haette.. wandelst du da irgendwo?Kann ich das aendern, damit es dauerhaft bleibt oder magst da ein Update machen?
Am liebsten ne Tabelle, wo ich die Raeume bennenen kann.. also mit Leerzeichen etc.. damits schick aussieht.. aber das ist dann schon auf High-End..
Edit:
hab insgesamt 23 Raeume, zur Zeit sind 14 angelegt mit ESP-Presence. Warte auf Lieferung..Edit2:
am aller aller aller liebsten wenn du sowas gleich in den Adapter einbaust..
Wieder ein Script gespart.. aber muss nicht sein.. geht auch soBlockly:
-
Schau mal ob sich das mit dem offenen issue auf GitHub deckt
-
ja, ist eigentlich recht einfach, ich waere ja schon mit huebschen Raumnamen zufrieden, der Rest macht das script..
-
so was z.B.?
-
@ticaki
Ja super ! -
Datenformat hat sich geändert daher hats nicht mehr funktioniert - node:blabla heißt der raum jetzt außer er kommt als topic dann hat er kein node:...
Egal hab noch 2 Fehler gefunden. Und baue das Konvertieren um, das ist nervig.
-
v0.5.0
- (ticaki) Simple room detection integrated
- (ticaki) Friendly room name added to devices
- (ticaki) global commands now work.
- (ticaki) Data point var added.
Also wirklich sehr simple - unter rooms gibts jetzt nen Datenpunkt max_distance_iobroker. Dort pro esp eintragen was im Raum bedeuten soll - dann wird unter Device.room der presense state abhängig von der Entfernung geschaltet - in dem Fall wird auch der übergeordnete presense nur dann true, wenn einer der darunterliegenden true ist. Ohne die Einstellung (-1) bleibt alles wie gehabt.
Bei der Verwendung von max_distance im esp bekommt der Adapter keine Meldung wenn das Gerät den Bereich verlässt und kann daher nur auf den intenen "timeout" warten.
Hab auch die wlan icons an geschaltet und ein paar roles gefixt.
ARGH hab vergessen das Konvertieren in die changelogs zu schreiben - da gibts jetzt einen State wo man die tatsächliche Entfernung rein schreibt und einen anderen in dem der Adapter den verwendeten Faktor anzeigt.
-
Danke fuer das update.. so ganz kapieren tu ich es leider nicht.. ( hab erst ein Kaffee...)
wo stell ich denn jetzt was genau ein? Es gibt jetzt n Sackvoll Datenpunkte, wo ich den max_distance_iobroker einstellen kann.. welche sind richtig?
Und.. welche sind denn die States, wo man die tatsaechliche Entfernung und welcher ist das, den der Adapter dann anzeigt??
-
Der Kram kommt so vom esp Ich werfe nur noch ne Handvoll States dabei
das ohne iobroker ist der filter auf dem esp - das mit iobroker ist der filter vom adapter. Der esp schickt solange positionsdaten wie er das Gerät findet und seine max distance nicht überschritten ist
Die Adapter interne im Raumabstandserkennung geht mit dem state im ersten Bild und distanceConverted - distanceConverted ermittelt sich aus distance * convertFaktor.
convertFaktor wiederrum wird ermittelt wenn du in convert die aktuelle Entfernung vom esp zum Gerät(iphone) eintragst.presense im Bild zeigt dir an ob das Gerät in diesem Raum ist.
das presense eine etage höher zeigt an ob irgendein gerät in irgendeinem raum ist - das schalten auf false von diesem Datenpunkt hängt mit der Zeit zusammen die man im Admin einstellt.
In Rooms sind die Daten die den einzelnen esp betreffen in Devices die der entdeckten Geräte. In Rooms sind einige Datenpunkte beschreibbar, damit kannst du die Einstellungen dieses Datenpunktes auf dem esp verändern.
Wenn du nen Vorschlag hast, wie ich das besser lösen kann, damit verständlicher wird her damit.
EDIT: Ich hab auch kein Problem ein Breaking zu machen, hab nur keine Idee, wie ich das anders machen soll.
-
Danke, ok, kapiert, bin am testen...lass mal so..
-
hab nur den presense eine etage höher falsch beschrieben, natürlich ist der nicht für irgendein Gerät sondern für das wo drin liegt
-
@ticaki
Ist es auf diese art nicht evtl. möglich in mehreren Räumen gleichzeitig anwesend zu sein?
Wenn Ich das Richtig Verstanden habe, bist du anwesend im Raum sobald du die iobroker distance unterschreitest, somit kannst du die räume nicht überschneidend anlegen und es entstehen Tot Zonen oder doppelte Anwesenheiten?Hier mal mein Blockly zur ermittlung des aufenthaltes:
Danach Werte Ich für jeden Raum im 10 Sekunden Takt aus wenn anwesenheit gegeben ist:
Dazu hab Ich die ESPs so Platziert, dass man entweder aus der distance fliegt oder eben noch zu nahe am gerät ist in jedem raum.
PS.: Hab 0.5.0 noch nicht im test, probier ich am WE aus
-
Gute Idee mit der Liste!
Man muss halt sebst herausfinden, in welchem Raum welcher Abstand ideal ist.. die Dinge messen hier auch teilweise durch die Decke/Waende, was wieder etwas ungluecklich ist.. wenn sie nicht in der Mitte des Raumes platziert sind..Ist wieder so ein Design/Waf problem.. ich bekomm die nicht in jede Lampe oder in die Decke in der Mitte des Raumes.. und dann messen die ja nach oben, was auch bloed ist.. wenn man im Stockwerk drueber ist..
-
Das Problem hat mich auch schon beschäftigt!
Ich hab es noch nicht ausprobiert, aber sollte eine wenig Alufolie bzw ein Blech über dem ESP nicht ausreichen um eine Messung nach oben zu vermeiden bzw dementsprechend zu erschweren??Mein Plan ist es Irgendwann einen kleinen Zero w mit Rhasspy als Sprachassi und im Deckel der ESP mit Abschirmung nach oben für die Raumerkennung zu betreiben.
Das ganze mit nem net gedruckten Chassis und alles per POE
--> PiZero Hat mit den 3 usb anschlüssen betreibt dann sowohl die usb lautsprecher als auch den esp und den Pi ZeroProbeweise mit Luftverkabelung läuft das System derzeit in meinem WZ
-
@zelkin
Ja steht ja extra das es eine sehr einfach Version ist -
Ich hab da ne sehr einfach Version drin, weil eigentlich müsste mal durch Trilateration die Position bestimmen und das gegen eine Liste von "guten" Positionen abgleichen. Bei mir schwanken die Messwerte jedoch so stark, das ich nicht glaube dass das zuverlässig funktioniert.
So hatte ich das ursprünglich auch geplant. Natürlich wäre es auch möglich einfach den ESP mit dem geringsten "distance / max Distance" als gewinner zu kühren, hm aber ist dass dann wirklich ein nutzvoller state... und wie soll der dann heißen
-
@ticaki ich glaube, das wirklich richtig genau zu machen, ist schwer, da hierzu die Delays von allen ESPs sehrklein sein muessen, auch das Polling muss schneller gehen. wenn ich mich bewege, dauert es manchmal bis zu 2-3 minuten, bis der richtige ESP mein Iphone erkennt.
Ich rueste naechste Woche noch auf bis zu 26 ESP's auf, um wirklich fast ueberall einen im Raum zu haben.. dadurch wird es ja noch genauer..
-
Das hört sich einerseits übertrieben und gleichzeitig interessant an
Wenn es sinnvolle Erweiterungsvorschläge gibt einfach raus damit, der von Zelkin ist zwar interessant, aber keine Ahnung wie ich den für jeden passend umsetzen soll.
-
@ticaki
Nuja, Ich hab derzeit in jedem Raum min. 1 esp
Grundkonfig: in jedem Raum am Hauptaufenthaltsort (Wohzimmer Sofa, Esszimmer Esstisch, Büro Schreibtisch, .....) wird ein ESP verbaut.
i.d.R bewege ich mich dann zwischen den rümen fast ausschließlich von aufenthaltsort nach aufenthaltsort.
Bei der auswertung, habe ich auch mit meldung getestet wie schnell bzw. wie gut die erkennung ist! Dies war absolut ausreichend um z.B. beim verlassen meines sofas meinen plex stream automatisch zu pauseieren und ihn wieder zu starten wenn ich am Sofa ankomme ( bis Ich mich gesetzt habe, lief der Stream wieder).
Erkennung ist i.d.R innerhalb der 10 Sek welche Ich in meinem Script hinterlegt habe erledigt.Datnpunkt: Room min Dist
Das Thema iss ganz klar: es ist eine Kombination zwischen Platzierung und Einstellung UND Topologie der Wohnung.
Wenn mein Sofa direkt neben der Wand steht, hinter der sich mein schreibtisch befindet, kann es schwieriger werden.
Mein ansatz geht halt mehr von dem Aufenthaltsort aus, weshlab ich auch den esp nicht in der mitte platzieren würde ( Lampe oder so) Eher unter dem esstisch, damit ich eine zuverlässige erkennung hab wenn ich an dem sitze. Dann kann Ich auch die Range recht klein einstellen, damit ich sie auch zuverlässig verlasse wenn ich den "Raum" Wechsle.
Nur auf die art, hab Ich eine zuverlässige Erkennung geschafft ohne in mehreren räumen erkannt zu werden.
Zur Erkennung nehme Ich derzeit BeaconScope auf meinem Android-Handy, da geht die Erkennung wirklich zügig.
-
Bei dem was ich eingebaut habe ging es mir vom gedanken her um dieses Beispiel.
esps:
A) 1 * an der Haustür
B) 1-x * irgendwo in der Wohnung verteilt
C) 1 * an jedem point of interesstWenn A anschlägt betritt jemand die Wohnung
Wenn B anschlägt ist jemand in der Wohnung - wenn b false war und A true - betritt jemand die Wohnung, wenn B auf true triggert dann nur mit A. Wenn A auf false geht passiert nix.
Wenn C anschlägt ist jemand an einem POI
Vielleicht kaufe ich mir dieses Jahr ne neue Uhr, dann kann ich das selber nutzen, aber handy ist in der ladeschale wenn ich zu hause bin