-
Notifications
You must be signed in to change notification settings - Fork 14
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
i6 Support #5
Comments
Also note - It only discovered for a second...
|
I do remember you from a while ago. I do not have a i6 fan so I have personally never seen it work but there may be somebody out there using my component with an i6 fan and we will just never know. Big Ass Fans website says it has SenseME so it should work. So these log messages are left after you try to add the senseme integration via HACS and it gives you a dialog stating no devices found correct? Sometimes SenseME fans do not respond to discovery requests so trying add the senseme integration multiple times over say 5-10 minutes. If this doesn't work try the following. Do you have access to a Linux machine virtual or computer with Python available? If so type the following...
This will execute a SenseME fan discovery using my aiosenseme library and it will print out a bunch of debug information. It will also attempt discovery multiple times unlike the adding the senseme integration. |
Here is the output, not really any help though.
|
Hmmm. I noticed the same IP Address shows up for both of these tests. Are you running Home Assistant in a Virtual Machine or Docker container? Do you know your fan's IP Address? Are the two IP Addresses on the same network? Have you connected the Haiku App (iOS or Android) to your fan? It is possible that the i6 doesn't respond to the same broadcast packet and port. The guy that hacked the SenseME protocol originally analyzed the traffic on his iPhone from the Haiku App. |
Here is my setup:
I did tcpdump looking for udp traffic from the fan
|
Both ports advertised are open:
|
Interestingly enough, I can netcat into the port:
Every time you nee "now...", I was turning on & off the fan. I also tried referencing it directly via aiosenseme...
|
Well you are definitely well versed in networking. I have never used tcpdump so I tried it on my Home Assistant development platform which is running on WSL. Just my luck it doesn't work and it is a known issue with WSL. Here is a description of how the SenseME protocol works in the aiosenseme library. Once a fan sends a response the aiosenseme library connects to the same port via TCP and sends In your tcpdump I recognize some of the information but not the format. For instance When I netcat to one of my fans following your example except I turned the fan on and then set the speed to 1 using the Haiku app on my phone.
This makes sense to me. And finally for reference, even when you specify an IP address to connect to a fan using the aiosenseme command line it still uses discovery to find a fan that matches the specified address. |
Is there any way I can side step discovery and go straight to the fan on port 31415 just to test the i6 fan? I'm looking through the code now, but any insight would be helpful. I'm not sure why discover is not working and want to see if it is environmental or i6 related. |
There is a way but I would need to work on it this afternoon or tonight. It would require installing the aiosenseme library locally (pip -e directory). Just looking at the difference between my netcat and yours make me think Big Ass Fans is doing something different in the i6 fans. Did you try netcat on port 31416? This port is not used by the aiosenseme library. |
I have created a branch of the aiosenseme library here to help you test. You need to clone/download this repository to your raspberry pi and type in the following when you are in the repository's directory...
Not sure how much python you know so I'll explain what is going on. The first line is the standard mechanism for creating a pip installable library. The second line will install the local aiosenseme library instead of the one PyPi. The last line shows how to connect with your fan via IP address and Name and is explained by the readme file on Github. When you want to go back to normal aiosenseme library type this...
I could have spent more time hacking up the aiosensme library so that you could just run a single python file but this was quick easy. |
Dude, you are awesome... So I ran it twice, the first time light/fan was off, the second time, both were on, but the same result.
|
Sorry - I missed this before. I did try to nc into 31416 and no dice. I don't see it chattering on the network either. I'll take another run at it now. |
I'll need to get my hacking game face on... and take a look at calls my phone is making to the (I can only assume) REST API. |
Looks like it connected but there was no response. This also happens when the fan name is wrong. There is a slight change to the discovery code that will show any response including malformed responses. Just make sure you pull the latest code from the i6-test branch.
If the fan responds in any way you will get a debug message like Good luck! |
Hey Mike,
Not sure if you remember me, but I'm glad you added it to HACS. I finally have my i6 installed and cannot get it to be detected.
Interested in add i6 support?
The text was updated successfully, but these errors were encountered: