-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Config flow could not be loaded #2
Comments
Might be important to include the error logs. Here's what shows up for mine when I have wifi and BLE enabled:
|
Did a little digging here and found that it appears the AC Infinity Controller 69 (with wifi) doesn't have it's BLE radio on when wifi is on. When I have wifi on, the discovered devices (in my env) look like this:
The manufacturer ID of AC Infinity is 2306 which doesn't show any in this list (looking at the This was confirmed the second I turned off the Wifi setting from the app, auto-discovery picked it up and spit out these log lines:
and now you can see the 2306 ID showing up and auto discovering. With all of this info I'd say the best option is to consider this as expected behavior and maybe document the caveat since there's nothing we can do to change how AC Infinity turns on the BLE radio. |
I have try with your fix @loganbest but I still got this:
|
and I got this issue too
|
I just set up a new fan than comes with the AC 69 Pro controller. Doing some digging with bluetoothctl I found the following:
The manufacturer data field is significantly shorter than expected by ac-infinity-ble! I couldn't quite figure out what was going on so I installed the AC Infitity android app. It told me to first enable broadcasting by pressing a button until the bluetooth icon blinked on the controller. After doing that connection via bluetooth was successful and I was prompted to update the controller firmware from 1.1.2 to 3.2.25 After completing the firmware upgrade and unpairing the android app, the controller shows up in bluetoothctl with:
Looks like the earlier firmware had a weirdly formed manufacturer data payload... Now trying again to configure the integration in Home Assistant I'm back to the first error... Fwiw there are a ton of other bluetooth devices in the vicinity. Is it possible that the integration simply needs to filter out any bluetooth device that doesn't have the required manufacturer data? |
Update: I added some
Is this a failure to filter out irrelevant advertisements, or some kind of data race wherein the bluetooth advertisement structure is being kept by an async coroutine for later processing and overwritten by some enumeration loop somewhere before the async routines finish their work, resulting in inconsistent view of the advertisement structure and the resulting error? |
After adding more logging to the code and restarting HA this particular failure mode is gone. 😕 |
I have finally been successful at pairing my controller and going through the control flow. Turns out I just needed to put the controller back into what the manual calls broadcasting mode so that it would accept pairing. I'm getting sensor reads now and can control the fan! Thanks for getting this to work! It would be nice to handle those corner cases more gracefully though :) |
I´ve been successful too! |
Update: |
For what it's worth, I couldn't get things to work reliably, due to a mixture of Bluez being way unreliable on my machine for some reason, the lack of robustness in handling corner cases, and my controller being on a slightly different protocol version I ended up going a different route: decompiling the newest android app to figure out the changes in protocol, and building a custom BLE->MQTT bridge that works with raw L2CAP sockets. That's been working much better for me: https://github.com/huguesb/ac2mqtt |
Were you able to get light control and control for other accessories like clip on fans and humidifiers working? |
I have an exhaust fan, a clip-on fan, and a temperature probe, all
connected to the same 69 pro controller. I can individually control the two
fans and get temperature, humidity and VPD readings from the probe.
That's all I have tested so far. Theoretically, anything the Android app
can do while connected to a BLE controller should be doable, but I'm
personally only interested in exposing raw readings/controls (and not the
scheduling/automated things because I want to keep that in HomeAssistant),
and I'm limited to testing devices I have available.
…On Fri, Dec 29, 2023, 7:42 AM Mike ***@***.***> wrote:
Were you able to get light control and control for other accessories like
clip on fans and humidifiers working?
—
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABX3CSLD7LQWJIFVBS7TV33YL3QFDAVCNFSM6AAAAAA24BJYN6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZSGE3TQMRYGQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Trying to set this up.
v1.0.2 installed via HACS
HA v2023.7.3
OS v10.3
Go to Settings -> Integrations -> + Add Integration -> Select AC Infinity
Giving me Error Config flow could not be loaded: 500 internal server error server got itself in trouble
EDIT: Disabling WiFi and going BT Only the controller gets discovered right away and will configure. This error only occurs when trying to manually configure without auto-discovery.
The text was updated successfully, but these errors were encountered: