This is exciting! I’ve been trying to get the wifi kit for months now! Can’t wait to see the git page once it is up! I’ve been on the fence with replacing my Aprilaire system just because it won’t integrate with the house/system.
Out of curiosity is it Local Polling/Pushing? Or is it talking to the Aprilaire Servers and making a bunch of API requests?
If you’d like to have a look at the Github, it is here: GitHub - chamberlain2007/aprilaire-ha If you want to try it out, you can add it to HACS and run through the integration flow with the IP.
Please note that the biggest concern I have right now is regarding stability. You may experience a connection drop and/or data not updating, which could require restarting the thermostat. I am working through some options around this. If you want to give it a try please do, but this is definitely not completed or bug free, and I may push breaking changes at any time. If you’d prefer to wait until it is stable and fully ready for use, I will certainly let this thread know.
It is using local push. There is very minimal network traffic (a couple of bytes of data to update and when a change of state is triggered on the thermostat). There are some instances in which it will send a request to the thermostat to send back an asynchronous response with current data, however this is again on the order of a few bytes of data. It does not communicate with Aprilaire’s servers and does not require any external network access.
Yes it should be compatible with the 8820. If/when you install and test there may be some different options from my own, but the protocol is the same, so I would request that you provide some requests/responses from the log if there is anything I need to look at. As mentioned in the previous comment, this is still very much in development so if you are a less technical user, you may want to wait until it has achieved a bit more stability.
@chamberlain2007 Are you good with PRs? Currently the branch is locked down so I can’t submit one. I made a local branch that may address one of the errors in the logs. Python isn’t my main language but I’ll hopefully be able to contribute to some bug squishing.
Hi, definitely open to pull requests. You should be able to fork the repo and create a PR from your fork back onto the main repo. Ping me in DM if that doesn’t work.
Have you had any luck with the 8840? I have that model, however it doesn’t appear to have port 7000 exposed. I do however see a port 8000 that is exposed, but it errors out when connecting with your add-on. What can I do to debut this further?
What errors are you getting? Is it able to connect to the socket at all? According to the documentation I have the 8840 should be supported, but I don’t have one of them myself.
I am able to connect to port 8000 with telnet, which seems to be the port that the 8840 uses. However, I am lacking documentation that would help me start diving into the issue more. Would you be able to share the information you have with me to do further debugging?
Right, so what’s happening is that it is connecting to the socket (good) then disconnecting immediately (bad), trying to send the initialization commands (good but they will fail because it disconnected) and then failing the startup the component because it didn’t get the initialization data back (MAC address etc. expected because it disconnected).
Most of the time that I have seen issues with the socket not connecting properly, it’s because of a bad state on the thermostat. I’ve seen it happen when leaving a socket open for a while, trying to connect multiple sockets simultaneously, etc. Once it gets into a bad state, the only way to get it out is to disconnect and reconnect the thermostat from power, which reboots it.
I would recommend restarting it, making sure you don’t have any other connections going to it (eg telnet or another HA instance). See if it connects then.
Thanks I will give that a shot. By the way I was interested in helping out, but the only programming codes I have been able to find are the ones published on the Aprilaire Partners website. They don’t seem to apply to WiFi, may I ask how you came across your documentation, as I would like to acquire a copy for myself.
That seemed to work, let me know how I can help out. Python is new to me, but I have developed Smart Home integrations for Scrypted in JS for Dyson and TP-Link. Would love to help get this built out more, and get humidifiers, dehumidifiers, and fresh-air support built in.
Great, glad to hear. The finnickiness of the socket connection was the biggest roadblock to getting the integration going for me. You’ll see in the code that there is a fair amount that goes into just keeping the connection alive. Happy to say that it has been working for me days to weeks at a time without issues. That being said, it makes it tricky to do the development since you can’t run your dev instance and live instance against the same thermostat. So, there is a mock server in the repo that you can run your local instance against, which is helpful.