-
Notifications
You must be signed in to change notification settings - Fork 42
set_iaq_humidity #14
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
set_iaq_humidity #14
Conversation
hiya, thanks for the PR! please fix the travis complaint (its a small pylint fix) and if you could, also include an example script that shows how people could use this capability - that would be amazing :) |
Is this also readable? If so, add a getter and then also provide To set: sgp30.iaq_humidity = 23.0 To query: print(sgp30.iaq_humidity) |
Not according to the top of page 10; |
Sampling every second is required to prevent endless clime of SGP30 values but To use the humidity one must convert it from relative-humidity to grams (otherwise SGP30 values go crazy);
That code was ported from https://www.cactus2000.de/uk/unit/pophum.shtml While on the path to accuracy it's worth restoring the baseline which can be done by tailing the log;
but python lacks this functionality (maybe there is some popular lib?) so for windows a longer (untested and copied from stackoverflow) solution;
The actual loop I am using at the moment looks like;
Note that atmospheric pressure is hard coded so use the internet or get another sensor to improve that. Logging every minute is enough data for my use case. I'm not sure how often
There are some tests that would quantify how the measured variables effect each other... I might get around to that. |
Bummer it's not readable. OK, then at least add a property setter to allow: sgp30.iaq_humidity = 23.0 One idea - the value could be stored locally. And have that value init'd to the POR default of 11.57 g/m3. Update the value in the setter. Then simply return its current value for the getter: print(sgp30.iaq_humidity) Not ideal. If you ran a program that set it, then quit that program and started another one, it would not know the actual value. So might also make sense to push the default value out in And for now, I'd suggest just having this take in the expected absolute humidity in g/m3. Update the doc string to reflect this. Then the functionality is at least in place. Adding additional functions to allow setting this in terms of relative humidity can be done later or elsewhere. |
The "Unix philosophy of small sharp tools" and "KISS principle" compels me to want to leave adafruit_sgp30 as a simple get/set wrapper. Otherwise I'd want the whole read every second loop in adafruit_sgp30 to make it a friendly API, not an in between monster.
That would prevent disabling the onchip humidity compensation without disabling the onchip calibration. I would wager the value is reset by the adafruit_sgp30 constructor calling onchip init anyway.
Yes I was just answering ladyada's request for an example. |
indicate units
i think it's good as is - cacheing it makes it seem like you're actually able to read the value. i think this is good to go. one day, having an example that goes with a standard humidity sensor would be nice - the DS mentions the SHT series :) |
Looks good. Thanks for updating the humidity name and units. Bummer this isn't readable. Would be nice to have some way to check its current setting if your were ever wondering about odd readings. But my suggestions are also pretty hack-ish, so not ideal. Guess I'm fine with it as is. KISS for sure. |
thanks everyone! |
Thanks for the merge.
Mixing protocols is not ideal so because sht31d and sgp30 both use I2C I think they are well matched.
The raw eCO2 and VOC values are readable, so if a wrapper for that is added it could be used to eliminate wondering what the onchip compensation and calibration are up to. |
Updating https://github.com/adafruit/Adafruit_CircuitPython_ADXL34x to 1.10.1 from 1.10: > Merge pull request adafruit/Adafruit_CircuitPython_ADXL34x#7 from siddacious/master Updating https://github.com/adafruit/Adafruit_CircuitPython_AM2320 to 1.1.3 from 1.1.2: > Merge pull request adafruit/Adafruit_CircuitPython_AM2320#7 from sommersoft/readme_fix_travis > Merge pull request adafruit/Adafruit_CircuitPython_AM2320#6 from adafruit/pylint-version-fix Updating https://github.com/adafruit/Adafruit_CircuitPython_APDS to 1.2.3 from 1.1.2: > Merge pull request adafruit/Adafruit_CircuitPython_APDS#11 from sommersoft/readme_fix_travis > Merge pull request adafruit/Adafruit_CircuitPython_APDS#10 from adafruit/pylint-version-fix Updating https://github.com/adafruit/Adafruit_CircuitPython_BME680 to 3.0.7 from 3.0.6: > Merge pull request adafruit/Adafruit_CircuitPython_BME680#15 from sommersoft/readme_fix_travis > Merge pull request adafruit/Adafruit_CircuitPython_BME680#14 from robert-hh/master Updating https://github.com/adafruit/Adafruit_CircuitPython_BNO055 to 3.0.5 from 3.0.4: > Merge pull request adafruit/Adafruit_CircuitPython_BNO055#19 from sommersoft/readme_fix_travis > Merge pull request adafruit/Adafruit_CircuitPython_BNO055#18 from adafruit/pylint-version-fix Updating https://github.com/adafruit/Adafruit_CircuitPython_CCS811 to 1.1.4 from 1.1.3: > Merge pull request adafruit/Adafruit_CircuitPython_CCS811#27 from sommersoft/readme_fix_travis > Merge pull request adafruit/Adafruit_CircuitPython_CCS811#26 from caternuson/iss25 Updating https://github.com/adafruit/Adafruit_CircuitPython_CharLCD to 3.1.0 from 3.0.3: > Merge pull request adafruit/Adafruit_CircuitPython_CharLCD#27 from kattni/add-buttons > Merge pull request adafruit/Adafruit_CircuitPython_CharLCD#25 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_DS2413 to 1.1.2 from 1.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_DS2413#8 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_FocalTouch to 1.1.2 from 1.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_FocalTouch#5 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_FXAS21002C to 1.2.2 from 1.2.1: > Merge pull request adafruit/Adafruit_CircuitPython_FXAS21002C#7 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_FXOS8700 to 1.2.2 from 1.2.1: > Merge pull request adafruit/Adafruit_CircuitPython_FXOS8700#10 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_HCSR04 to 0.3.4 from 0.3.3: > Merge pull request adafruit/Adafruit_CircuitPython_HCSR04#8 from sommersoft/readme_fix_travis > Merge pull request adafruit/Adafruit_CircuitPython_HCSR04#7 from adafruit/readme-image-fix Updating https://github.com/adafruit/Adafruit_CircuitPython_HTU21D to 0.8.1 from 0.8.0: > Merge pull request adafruit/Adafruit_CircuitPython_HTU21D#3 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_IRRemote to 3.3.1 from 3.3.0: > Merge pull request adafruit/Adafruit_CircuitPython_IRRemote#20 from sommersoft/readme_fix_travis > Merge pull request adafruit/Adafruit_CircuitPython_IRRemote#18 from fmorton/master Updating https://github.com/adafruit/Adafruit_CircuitPython_L3GD20 to 2.0.2 from 2.0.1: > Merge pull request adafruit/Adafruit_CircuitPython_L3GD20#11 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_LIDARLite to 1.1.1 from 1.1.0: > Merge pull request adafruit/Adafruit_CircuitPython_LIDARLite#3 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_LIS3DH to 4.3.4 from 4.3.3: > Merge pull request adafruit/Adafruit_CircuitPython_LIS3DH#49 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_LSM303 to 1.2.3 from 1.2.2: > Merge pull request adafruit/Adafruit_CircuitPython_LSM303#10 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_LSM9DS1 to 2.0.2 from 2.0.1: > Merge pull request adafruit/Adafruit_CircuitPython_LSM9DS1#14 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_MAX31855 to 3.0.5 from 3.0.4: > Merge pull request adafruit/Adafruit_CircuitPython_MAX31855#9 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_MAX31865 to 2.1.2 from 2.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_MAX31865#8 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_MCP4725 to 1.1.2 from 1.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_MCP4725#6 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_MCP9808 to 3.2.2 from 3.2.1: > Merge pull request adafruit/Adafruit_CircuitPython_MCP9808#15 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 to 1.1.1 from 1.1.0: > Merge pull request adafruit/Adafruit_CircuitPython_MLX90614#10 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_MMA8451 to 1.2.2 from 1.2.1: > Merge pull request adafruit/Adafruit_CircuitPython_MMA8451#4 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_MPL3115A2 to 1.1.2 from 1.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_MPL3115A2#4 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_MPRLS to 1.0.3 from 1.0.2: > Merge pull request adafruit/Adafruit_CircuitPython_MPRLS#5 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_NeoTre to 1.04 from 1.0.3: > Merge pull request adafruit/Adafruit_CircuitPython_NeoTre#4 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_PCA9685 to 3.2.4 from 3.2.3: > Merge pull request adafruit/Adafruit_CircuitPython_PCA9685#18 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_PCF8523 to 1.2.2 from 1.2.1: > Merge pull request adafruit/Adafruit_CircuitPython_PCF8523#8 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_Pixie to 1.1.2 from 1.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_Pixie#6 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_Se to 1.2.7 from 1.2.6: > Merge pull request adafruit/Adafruit_CircuitPython_Se#22 from sommersoft/readme_fix_travis > Merge pull request adafruit/Adafruit_CircuitPython_Se#21 from adafruit/pylint-version-fix Updating https://github.com/adafruit/Adafruit_CircuitPython_SGP30 to 2.0.1 from 2.0.0: > Merge pull request adafruit/Adafruit_CircuitPython_SGP30#14 from Dmole/patch-1 > Merge pull request adafruit/Adafruit_CircuitPython_SGP30#13 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_SI4713 to 1.1.2 from 1.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_SI4713#6 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_SI5351 to 1.1.2 from 1.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_SI5351#3 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_SI7021 to 3.1.2 from 3.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_SI7021#10 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_STMPE610 to 1.1.2 from 1.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_STMPE610#7 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_TCA9548A to 0.1.2 from 0.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_TCA9548A#4 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_TLC5947 to 1.2.1 from 1.2.0: > Merge pull request adafruit/Adafruit_CircuitPython_TLC5947#12 from ArthurDent62/negative_indices > Merge pull request adafruit/Adafruit_CircuitPython_TLC5947#13 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_TLC59711 to 1.1.2 from 1.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_TLC59711#4 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_TSL2561 to 3.1.3 from 3.1.2: > Merge pull request adafruit/Adafruit_CircuitPython_TSL2561#18 from caternuson/float_doc > Merge pull request adafruit/Adafruit_CircuitPython_TSL2561#21 from sommersoft/readme_fix_travis > Merge pull request adafruit/Adafruit_CircuitPython_TSL2561#17 from csylvain/patch-1 Updating https://github.com/adafruit/Adafruit_CircuitPython_VCNL4010 to 0.9.2 from 0.9.1: > Merge pull request adafruit/Adafruit_CircuitPython_VCNL4010#5 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_VEML6070 to 2.0.1 from 2.0.0: > Merge pull request adafruit/Adafruit_CircuitPython_VEML6070#6 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_VEML6075 to 1.0.2 from 1.0.1: > Merge pull request adafruit/Adafruit_CircuitPython_VEML6075#3 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_VL53L0X to 3.1.5 from 3.1.4: > Merge pull request adafruit/Adafruit_CircuitPython_VL53L0X#8 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_WS2801 to 0.9.2 from 0.9.1: > Merge pull request adafruit/Adafruit_CircuitPython_WS2801#3 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_AVRprog to 1.1.2 from 1.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_AVRprog#6 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_BoardTest to 1.0.1 from 1.0.0: > Merge pull request adafruit/Adafruit_CircuitPython_BoardTest#4 from ShawnHymel/master > Merge pull request adafruit/Adafruit_CircuitPython_BoardTest#3 from ShawnHymel/master Updating https://github.com/adafruit/Adafruit_CircuitPython_Debouncer to 1.0.2 from 1.0.1: > Merge pull request adafruit/Adafruit_CircuitPython_Debouncer#6 from dastels/Dans_suggestions Updating https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad to 0.8.1 from 0.8.0: > Merge pull request adafruit/Adafruit_CircuitPython_ImageLoad#4 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_miniQR to 1.1.1 from 1.1.0: > Merge pull request adafruit/Adafruit_CircuitPython_miniQR#4 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_Register to 1.3.3 from 1.3.2: > Merge pull request adafruit/Adafruit_CircuitPython_Register#18 from sommersoft/readme_fix_travis > Merge pull request adafruit/Adafruit_CircuitPython_Register#17 from adafruit/pylint-version-fix Updating https://github.com/adafruit/Adafruit_CircuitPython_RTTTL to 2.2.2 from 2.2.1: > Merge pull request adafruit/Adafruit_CircuitPython_RTTTL#11 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_ServoKit to 1.0.3 from 1.0.2: > Merge pull request adafruit/Adafruit_CircuitPython_ServoKit#5 from kattni/multiple-servo-examo Updating https://github.com/adafruit/Adafruit_CircuitPython_SimpleIO to 1.1.2 from 1.1.1: > Merge pull request adafruit/Adafruit_CircuitPython_SimpleIO#37 from sommersoft/readme_fix_travis Updating https://github.com/adafruit/Adafruit_CircuitPython_Waveform to 1.2.2 from 1.2.1: > Merge pull request adafruit/Adafruit_CircuitPython_Waveform#5 from sommersoft/readme_fix_travis
set_iaq_humidity