-
Notifications
You must be signed in to change notification settings - Fork 78
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
0c45:7402 Temperature reading incorrect #91
Comments
Same issue here... |
Quite likely it is an unrecognised sensor type. |
lsusb -v -d 0c45:7402 Bus 001 Device 004: ID 0c45:7402 Microdia TEMPerHUM Temperature & Humidity Sensor |
Yes, it looks like 'TEMPERHUM1V1.2' is not supported yet by the python package, but 'TEMPERHUM1V1.3' is. There is a high chance that they behave the same. Testing it should be a matter of editing temper.py and listing 'TEMPERHUM1V1.2' in each of the places where you see 'TEMPERHUM1V1.3'. Unfortunately the package is a bit piecemeal with not all of the sensor data in one place, see #97. But that shouldn't stop you getting it working. |
I have made a guess at config settings for this device: Maybe you could download and try it? |
Did it work @MatGit5 ? |
I've also got one of these and the suggested patch nearly works. The device has a button which causes to emulate a keyboard and output temperature and humidity readings as if they'd been typed in. With this active it reports a temperature of 25.31°C and a relative humidity of 40.71 and, by comparison, the cli.py script reports the temperature as 25.3°C and the humidity as 35.1, so temperature is correct and humidity is about 5.5% low (allowing for the fact that the keyboard emulation doesn't work on Windows, so I had to keep swapping it between Windows and Linux machines to get the readings). |
@skilleter There's a possibility that it's working fine, but let's check. Please could you checkout and run: Please reply back with the full console output. Then press the button again and report what it displays in keyboard mode. Try to keep time between the two as short as possible and use a plastic object (e.g. pen) to press the button to prevent your hand from heating up the device. |
Output from the script: Output in keyboard mode with button-pressing performed as requested (and done on the same computer now that I've found it works if it isn't connected via a hub): www.pcsensor.com |
Ok, assuming the measuring IC is an si7021 the datasheet gives formula Someone else also reports that the same device reads a bit high for humidity. It is possible (not proven - I'm just speculating), that the keyboard mode output is accidentally omitting the -6 in the calculation, outputting 46.07% RH when it should be 40.07%, and that this could be an issue with the device itself rather than temper-python. Please note, some caveats:
I don't have one so I can't check, but it would be helpful if anyone is willing to open the device and read the IC markings to verify that it is actually an SI7021. Also comparing the readings to an independent known good sensor would be helpful for a true RH ref. In summary: temper-python seems to be handling the calculation correctly. Would help to confirm the sensor type and true RH being measured. |
Unless anyone objects, I propose merging this as it improves functionality. A follow up PR could be added if someone can see a way to genuinely improve accuracy. |
I could open mine if needed, but edorfaus/TEMPered#30 says it's Si7021 and has photos like this: Mine is
I also have a USB Protocol Analyzer and logic analyzer if that's helpful. |
Oh wait, mine is already supported. Nevermind.
|
I'm happy for this to be merged. I had a go at opening the case for my sensor and was defeated by it, I'm afraid. The amount of force I was applying was heading dangerously towards 'one slip with the screwdriver and there will be blood everywhere' territory! |
Thanks everyone! Please reopen the issue if needed! |
I have a TEMPerHUM temperature and humidity sensor connected to a Raspberry Pi
lsusb gives me:
0c45:7402 Microdia TEMPerHUM Temperature & Humidity Sensor
temper-poll gives me:
Found 1 devices
Device #0: 106.5°C 223.6°F
Its warm in here, but not that warm :-) and there is no humidity value.
I also have a TEMPer and that works ok.
Any ideas ?
The text was updated successfully, but these errors were encountered: