Hi again, I did some more troubleshooting, and I now have the feeling that the driver isn't doing exactly what it should.
First of all, a disclaimer: I am no developer and I know next to nothing about the USB protocol, so please don't be too harsh on me if what I am saying is complete BS. Now, I wrote a small python script to try to read data from the WS-3000 and I actually managed to get this working fine. So I can safely confirm that the problem doesn't come from the hardware or from the host. The setup I am using is working fine, the issue must be coming from weewx or the HP3000 driver. According to the output from Wireshark and from what I've read in the driver's code, I *believe* that there are two issues: 1. one is that the driver is sending commands using the 'control' channel. 2. probably not directly related to the error I am seeing, but I don't understand the point of sending all the 0x41, 0x06, 0x08, 0x09, 0x05, 0x03, 0x04 commands. The only interesting ones are 0x03 (current data) and 0x05 (calibration, assuming it must be taken into account to get the 'corrected' temperature). You can find the small script I wrote attached. The only problem I have is that I have to unplug and replug the station between each run, I probably don't reset everything properly. You can easily compare the output when sending each of the 0x41, 0x06, 0x08, 0x09, 0x05, 0x03, 0x04 commands, or when sending only 0x03 commands. By the way, this also means that contrary to what is mentioned in the driver, the correct way to distinguish between current data and calibration data is to keep track of which command was sent... Please let me know if this makes sense or not. I am willing to do any additional test you need in order to get this working correctly. Thanks a lot. -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
