The ethernet link had problems until I bypassed the ETH‑SP installed on the roof. (PoE worked and the link light was on, as shown in one of the pictures, but no DHCP and the link light on the switch in the server closet was flashing alternating green and amber.) Substituting a plain rj45 coupler in place made it work (can ssh to it, and the link light on the switch is normal) but I didn’t want to leave it hooked up that way. I haven’t investigated further to determine whether it’s a faulty part or something less obvious. I didn’t try swapping the two ESD protectors around, though I did try leaving the one on the roof connected while bypassing the other one, and that yielded no difference to having them both hooked up. For now, I only have it connected while I’m at the space because of this.
I’ve realized that the humidity/temperature sensor is only rated down to 3.5 V and it’s running at 3.3 V. This is consistent with the strange behavior it’s exhibited, so I’m no longer expecting a software fix for it. Switching it over to 5 V shouldn’t be difficult and I plan to do that next time I’m on the roof.
The python code for the wind direction sensor hasn’t been written yet because it appears that the implementation will be ugly and I haven’t yet resolved that there’s really no better way.
It works otherwise. Weewx is running on the Pi with a custom Weewx driver receiving data from a separate python script which is reading data from the sensors using various available libraries. As long as the ethernet is plugged in, there’s a web page accessible from onsite at http://192.168.201.194/ displaying current weather conditions and historical charts. The humidity and temperature drop out during higher temperatures, and the wind direction doesn’t work at all yet, both due to known issues mentioned above.
Below is a photo to document the wiring (the Pi shown is not the one now installed)