Repair for hub with broken wifi

My hub stopped connecting to wifi and bluetooth a few months ago, so I opened it up and modified it to work. Mine is stuck in a boot loop due to corrupted firmware or a bad wifi board, but for the few seconds it’s running, it actually receives data from the Sky and Air sensors. I connected an ESP8266 module to the internal debug serial port to intercept that data and broadcast it via UDP. The Home Assistant integration auto-detected the device, and other than missing a few rapid_wind packets during the reboots, it functions as normal.

The code and instructions are on codeberg: kr4dio/Weatherflow-Hub-Repair: Fixing a broken Weatherflow Hub - Codeberg.org

8 Likes

Wow that’s pretty amazingl…FWIW you want to use GitHub - vinceskahan/wfudptools: WeatherFlow UDP API tools rather than my deprecated tool that you mentioned in your page.

Which board transmits the data you are (re)broadcasting via UDP ? Reason I’m asking is I’m wondering if given you made it so far, would it be possible to cobble together a setup with wired ethernet rather than wifi…

Thanks! I’ll update the README to point to the newer version of your tools.

In the hub, the red board (main controller with wifi and bluetooth) outputs the sensor and status data packets already wrapped up in JSON format on its serial debug port. These are the same messages your tools listen for and process. I use a little ESP8266 board, the Wemos D1 Mini, to listen for anything in curly braces, then re-broadcast it over UDP. My software also generates a fake hub status message, copied from your simulator, every 10 seconds. This is needed for the HA integration to auto-detect the hub, but not necessary if using your listener to do mqtt conversion.

Going to wired ethernet from this point is very easy – I just don’t happen to have a microcontroller board with an ethernet port in my parts drawer :slight_smile: An ESP32 board with ethernet would work with the only change being telling esphome to use the wired port instead of wifi. If the board supports POE, you could even power the hub from that and only need a single cable.

Another option I considered was using a serial to usb adapter instead of the ESP8266. I could then plug the hub into the Home Assistant server and do the text parsing in a python script.

Frankly, the reason I went with the solution I did is because it was the quickest way to get my home network, dashboard, etc back to the way it was before the hub stopped working. I didn’t have to write much code or reconfigure anything – it’s as if the hub just started working again.

4 Likes