ESPresense / ESPresense-companion

HA Add-on / Docker container that solves indoor positions with mqtt data received from multiple ESPresense nodes
Apache License 2.0
143 stars 11 forks source link

Implement NearestNode localizer and allow it to be forced per floor #293

Closed scaytrase closed 7 months ago

scaytrase commented 1 year ago

Use case: I have multiple floors in my house (4) and I'm currently expirementing with companion on single one. Before I was using standalone espresense with range filtration to detect people in the room. I'd like to swtich entirely to companion but it requires at least 3 fixes for devices in order to be "located'. Which is not really possible while I haven't setup 20+ nodes (multifloor is not really possible here)

It would be great if I can keep for selected floor current config (for experimenting and testing config and new versions) but set other selected floors as "locate device at node coordinates as soon as this node is closest to devices and within node configured range"

i.e

floors:
 - id: f2
   name: floor 2 
   lateralizer: nearest_node # (current whatever named as default)
   bounds: [[0, 0, 6], [12, 7, 8.8]]
   rooms: [] #

nodes:
- name: f2_bedroom
  point: [8, 0.10, 6.70]
  filter:
    range: 2.0 # (and\or configured via node settings in UI)
  floors: ["f2"]

I see some code related to that, but I'm not really sure whether it works at all and\or configurable per floor

DTTerastar commented 1 year ago

I don't understand why you would need 20+ nodes? Have you set max distance to 0? Once you do that you'll see lot's more data.

scaytrase commented 1 year ago

cuz I have pretty thick flooring (20cm of reinforced concrete between each floor). This make bluetooth signal very poor. So I need to set up each floor individually (which, according to manual is (4 in corners + 1 close) x 4 floors = 20 nodes for proper setup

stale[bot] commented 8 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.