#Nope dont work for nabu casa nor know

1 messages · Page 1 of 1 (latest)

gloomy brook
#

That would be great!

turbid token
#

coolio, so have you got a skyconnect, or any other thread usb dongle

gloomy brook
#

I'm running in the Proxmox HASSIO OS. The device has wifi and bluetooth on-board, but is getting internet through Ethernet

#

Ah, no I do not.

turbid token
#

you running your nanoleaf bulbs on a apple thread network? then using matter to connect to them?

gloomy brook
#

I think it's just the Apple Thread Network, I don't think I've got anything Matter working because the Essentials were made before they announced Matter support

#

So all 30 bulbs were paired to HomeKit, I had to unpair them to make them show up in HASSIO. Then once I paired to them I bridged them back to HomeKit. I'd be happy with the intergration, but randomly bulbs are going offline from the HomeKit and I wish I could get more solid connectivity.

turbid token
#

ah, not much i can do atm without you having a sky connect or any thread usb dongle, thats more what i was refering to in the first post

gloomy brook
turbid token
#

strange

gloomy brook
#

Is there a way to determine how Home Assistant is communicating with these bulbs? Like is there a chance that:

  1. The bluetooth adapter has run out of "slots?"
  2. Running the bluetooth is somehow interfeering with the Thread protocal?
warped dagger
#

These bulbs are just homekit over thread using Thread within the Apple homepods or Apple TV's you may have in your house.

#

So it has nothing to do with Home Assistant and/or Bluetooth

gloomy brook
#

Upon reset like 15 of my devices are in a "Failed setup, will retry" loop for the foreseeable future.

Source: components/homekit_controller/connection.py:252
First occurred: 6:38:02 AM (47 occurrences) 
Last logged: 6:44:06 AM

Transaction 0 failed with error 6 (Invalid request ```
warped dagger
#

Ah, you're using these devices using the Homekit controller integration, basically using HA to control these devices over the existing (Apple) Thread infrastructure. I'm not sure if that will also/fallback to Bluetooth for communication but I'm pretty sure @opaque lotus will be able to answer that.

gloomy brook
#

I see "MyHome30" with 7 Border Routers. Which to my understanding should represent a very diverse and therefore strong thread mesh. However my actual experience is spotty performance

warped dagger
gloomy brook
opaque lotus
#

Bluetooth is unrelated to your situation, at least directly. We don't use bluetooth for fallback. If we are connected by thread, we don't do bluetooth at all. So as i said in the other channel you asked about this, the bluetooth integration shouldn't have any direct impact on what you are doing unless bluetooth is swamping out your thread network. with 7 BR's that seems unlikely.

#

"Transaction 0 failed with error 6" is (iirc) a harmless error - there are some non standard characteristics on those devices that it tries to read but they aren't readable (by design). they just need ignoring but its not been a priority.

#

Unfortunately as to what is happening, its hard to be sure as there aren't sufficient diagnostics to point out the root cause

#

There are known Nanoleaf bugs in the pre-matter firmware, and even the post matter firmware is known to destabilize an otherwise healthy mesh. this is allegedly getting better on the matter firmware.

#

It was also the case that apple mesh performance degrades as you add more BR's

#

there is actually a limit at which some vendors won't support you, though i think it is a little bit more than 7.

gloomy brook
#

Okay, so just to confirm. When things are working correctly my HASSIO takes the following path:
Mini PC -> Ethernet to Router -> Wifi to Nanoleaf/HomePod -> NL/HP to Thread -> Thread to Bulb?

opaque lotus
#

there are also known issues where some BR's that have poor mesh connectivity but happen to get chosen as the default route for a device. this is typically Apple TV's (the first generation with thread radios) that are in high interference locations. in these situations, sometimes turning BR's off can fix things.

#

that has also helped with homepods in the past, too

gloomy brook
opaque lotus
#

correct

#

the next ios release will support TREL (unless they pull it before final release). that will mitigate this by allowing a BR to use your backhaul wifi/ethernet to mitigate against thread connectivity issues. so if packet goes to a BR in a thread Faraday cage, it should tunnel the packet to a BR that is actually on the mesh.

#

finally, i'm pretty sure there are edge cases where reconnects get stuck. but my thread network hasn't been falling over when i have time to debug it so (its pretty infrequent here, with 2 BR's)

gloomy brook
#

A sidenote, while we're discussing. Rolling back to 2023.9.0 seemed to fix things. All of the bulbs are connected now. The only unavailabe device is a 3rd gen Eve Motion sensor which I think might be defaulting to Bluetooth

gloomy brook
opaque lotus
#

yes

opaque lotus
gloomy brook
#

Fingers crossed then. That sounds like mroe of the magic that thread claims to be

gloomy brook
opaque lotus
#

your HomePod's are all flooding your L2 network with icmp6 packets that contain route advertisements. your HA should see those announcements and get entries in its route table that go directly via that homepod. in terms of mental model, imagine that everything was connected by ethernet, you would plug your BR's and HA into a switch.

#

if your router considers your homepods and HA to be on the same VLAN (L2 segment) then it will be acting as a switch or bridge, rather than a router

#

if your wifi is on a seperate vlan to your HA, then you will have problems.

gloomy brook
#

Is there a way to determine how many VLANs I have going? (This is an area I'm unfamiliar with)

turbid token
#

If you didn’t explicitly set any up, I doubt you would

#

But you can always look in your routers settings somewhere (if it supports it obv)

gloomy brook
#

I just saw your message in the main bluetooth channel and would MediaTek be included in that "bin on sight" category?

opaque lotus
#

its unlikely it would work to the extent that it does

#

we've found routers don't really support the icmp6 routes thread needs

gloomy brook
#

Okay haha. Just wanted to make sure I wasn't causing a big issue without even knowing it

opaque lotus
#

not that they need to

opaque lotus
gloomy brook
#

Other than that, what I'm gathering is I just gotta let Thread do it's thing and hope that Apple fixes it's BR shit

opaque lotus
#

yes, or by getting rid of usb bluetooth entirely and getting esphome bluetooth proxies.

#

(esphome bluetooth proxies are a bit like BR's for bluetooth, and let you get full house BLE coverage)

gloomy brook
# opaque lotus (esphome bluetooth proxies are a bit like BR's for bluetooth, and let you get fu...

How would I go about checking the method of communication for an item? I've got a third gen Eve Motion which should supposedly offer Thread, but it is sitting next to a HomePod Mini and it keeps going unavailable.

Year introduced: 2022
Product number: 10EBY9901
Model number: 20EBY9901
Wireless Connection: Bluetooth/Thread (requires HomePod (2nd gen.), HomePod mini or Apple TV 4K (2nd gen. / 3rd gen. 128 GB).
How to upgrade```
opaque lotus
gloomy brook
opaque lotus
#

are you sure?

#

if it doesn't have the thread sensor then it doesnt support thread

#

regardless of how its connected

#

i guess unless you didn't connect it to ios and update its firmware?

gloomy brook
#

My bad. I was looking at the wrong one! It has the thread sensors. I'm enabling htem now to get a readout

#

Logbook: ```September 12, 2023

Eve Motion 1032 Provision Preferred Thread Credentials changed to September 12, 2023 at 6:28 AM triggered by service Button: Press
6:28:15 AM - Now - Sai
Eve Motion 1032 Thread Capabilities changed to Sleepy End Device
6:27:54 AM - 22 seconds ago
Eve Motion 1032 Thread Status changed to Disabled
6:27:54 AM - 22 seconds ago
Eve Motion 1032 Identify became unknown
6:27:54 AM - 22 seconds ago
Eve Motion 1032 Provision Preferred Thread Credentials became unknown
6:27:54 AM - 22 seconds ago```

gloomy brook
# opaque lotus i guess unless you didn't connect it to ios and update its firmware?

Upon pressing the Provision Thread Credentials I get this error: Failed to call service button/press. No thread network credentials available I presume this is because I haven't set a preferred network yet. I can't figure out if that's possible withe the Nanoleaf and HomePod BRs I have, though. Do they give a REST API? Or would that only be available if I set up an OpenThread BR through Google?

opaque lotus
#

So if you follow the docs there is a process for HK Thread device with Apple BR's where you don't know the thread credentials

#

the gist is, pair it with ios, wait for it to join thread, unpair from ios (DO NOT RESET), then pair it to home assistant. it should then leverage your apple BR's

#

this can go wrong with battery powered eve devices because unpairing from ios fails

#

the workaround is to turn your border routers (all of them) off (eve bug)

#

then use the Eve app. it has an "identify" features. press it until it works and doesnt error. at this point you are connected over bluetooth again, and unpair from ios will work

#

then turn BR's back on

#

then pair to HA

gloomy brook
gloomy brook
opaque lotus
#

when it happens they are in a paired state but no one knows the encryption key, so you likely had to factory reset them to get them to work again

gloomy brook
opaque lotus
gloomy brook
#

That said, Nanoleaf only gives me one datapoint for my Thread Network: Extended Pan ID

#

Reaching the same point simultaneously haha

opaque lotus
#

sounds like if you had a nanoleaf device paired to ios it might show it

#

then you'd need to use that script to make a TLV string, which is what HA uses

gloomy brook
#

I can unpair a device and try it

#

So you're saying unpair form HA, pair directly to HK and then check Nanoleaf app?

opaque lotus
#

yeah

gloomy brook
#

Promising... Got five datapoints from the NL app

gloomy brook
#

This does not seem to be a URL, though.

opaque lotus
#

no

gloomy brook
#

Oh god I just saw

#

Add dataset from TLV

opaque lotus
#

but it is correct 🙂

#

yep

#

by the way that is a private key

#

with it i could connect to your home network

#

so you might want to delete it

gloomy brook
#

THanks for the tip haha

#

Okay I have provisioned preferred thread credentials!

#

It still says Thread Status Disabled, but that was last updated an hour ago. Is there a way to force check the state?

opaque lotus
#

when you press the button it takes up to a minute

#

you should see it go unavailable and then available

#

and then the state will change

#

but it relies on bluetooth working

#

move it closer to your bluetooth dongle rather than next to your BR

gloomy brook
#

Okay, I will be patient. I tend to work on this for the two hours before I have to go to work so I am often too fast-paced

opaque lotus
#

if it hasn't updated after a minute, bring it closer to bluetooth dongle and try again

#

if still not working, press identify

#

that should make the led on the sensor flash

#

if it doesn't you still dont have a working bluetooth connection

gloomy brook
#

Is attaching documents turned off globally on this channel? I wanted to provide a .log of the error I'm getting

opaque lotus
#

Afaik

gloomy brook
#
Source: components/homekit_controller/connection.py:866 
Integration: Home Assistant WebSocket API (documentation, issues) 
First occurred: 7:47:24 AM (1 occurrences) 
Last logged: 7:47:24 AM

[139676489733696] 'NoneType' object has no attribute 'encode'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 227, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1969, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2006, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 870, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^```
#
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 942, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/button/__init__.py", line 124, in _async_press_action
    await self.async_press()
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/button.py", line 176, in async_press
    await self._accessory.async_thread_provision()
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/connection.py", line 866, in async_thread_provision
    await self.pairing.thread_provision(dataset)
  File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ble/pairing.py", line 197, in _async_operation_lock_wrap
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/bleak_retry_connector/__init__.py", line 471, in _async_wrap_bluetooth_connection_error_retry
    return await func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ble/pairing.py", line 236, in _async_force_fresh_connection
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ble/pairing.py", line 213, in _async_restore_and_resume
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ble/pairing.py", line 1542, in thread_provision
    (1, decoded.networkname.encode("utf-8")),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'encode'
opaque lotus
#

Ah ok

#

Your TLV is incomplete

#

That script wasn’t enough

gloomy brook
#

Probably a stupid question but worth the ask

opaque lotus
#

name of the thread network

#

as shown in nanoleaf app

#

also, it doesnt look like you can update a TLV after you've added it

#

just tried here and i ended up deleting /config/.storage/thread.datasets, then restarting HA, then adding it again

gloomy brook
opaque lotus
#

Hmm

#

Worked for me

#

PANID must be wrong

#

Can’t say how without seeing your file in full

gloomy brook
#

Yeah can I send it to you in a PM?

opaque lotus
#

Yeah

gloomy brook
#

Wow! I'm finally a proud parent!

 
Battery
90%
Identify (Hidden)
PRESS
Signal strength
Unavailable
Thread Capabilities
Sleepy End Device
Thread Status
Child```
gloomy brook
# opaque lotus Yeah

Thank you thank you thank you. I'm able to flash the thread credentials to all the Nanoleaf Essentials that were not on the the mesh for some reason and I'm VERY hopeful that it will improve responsiveness in a big way.

gloomy brook
#

@opaque lotus Ugh. Moving each bulb over to Thread. One at a time pairing them to HomeKit Device Intergration and then sending Thread Credentials.

Now when I try to send the credentials, however, it is giving this error: File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ble/pairing.py", line 211, in _async_restore_and_resume await self._populate_accessories_and_characteristics() File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ble/pairing.py", line 1083, in _populate_accessories_and_characteristics made_connection = await self._ensure_connected(attempts) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ble/pairing.py", line 482, in _ensure_connected self.client = await establish_connection( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/aiohomekit/controller/ble/connection.py", line 61, in establish_connection raise AccessoryDisconnectedError(ex) from ex aiohomekit.exceptions.AccessoryDisconnectedError: Nanoleaf Light Bulb [F2:1B:36:31:83:2B] (id=86:BB:CC:68:15:1B) - F2:1B:36:31:83:2B: Failed to connect after 9 attempt(s): No backend with an available connection slot that can reach address F2:1B:36:31:83:2B was found: The proxy/adapter is out of connection slots or the device is no longer reachable; Add additional proxies (https://esphome.github.io/bluetooth-proxies/) near this device

#

In theory there should be two devices using my bluetooth adapter. The one Eve Motion and the one bulb that is being sent the info. How is it full?

opaque lotus
#

first of all, thats about the limit for an average linux bluetooth device

#

the finest linux bluetooth dongle can manage 5 connections (but that will not be the fastest bluetooth connection oh no)

#

second - that error is really only saying that the MAC address can't be connected to

#

it might not be out of connection slots

#

it might just be out of range

#

or maybe the bluetooth dongle crashed

#

(this is also frustratingly common, especially with realtek dongles)