Compare commits

..

10 Commits

Author SHA1 Message Date
a095936f3f Add SGP30 baseline sensors 2025-05-19 17:00:59 -04:00
547983173b Add compensation values to SGP30 2025-05-19 16:58:22 -04:00
2145d4eff1 Decrease Sensirion interval to 15s
60s felt like far too long.
2025-05-19 16:56:51 -04:00
9fc8ad7318 Adjust eCO2 threshold for Excellent 2025-05-19 16:49:33 -04:00
66573f2346 Adjust Sensirion update interval
15s is a little too frequent, so make it 60s
2025-05-17 00:14:02 -04:00
a2ff9491a3 Fix GPIO pin assignments 2025-05-17 00:11:03 -04:00
1ef3ba2e57 Fix micro wake word model selector 2025-05-17 00:10:54 -04:00
97dd3a9a90 Fix table formatting 2025-05-11 20:02:48 -04:00
993c3407ea Update board to 2.x revision 2025-05-11 20:00:35 -04:00
ae4713969d Rename and update dashboard ref 2025-05-11 19:40:54 -04:00
4 changed files with 26231 additions and 24546 deletions

View File

@ -1,7 +1,7 @@
# SuperSensor v2.x
The SuperSensor is an all-in-one voice, motion, presence, temperature/humidity/
air quality, and light sensor, built on an ESP32 with ESPHome, and inspired
The SuperSensor is an all-in-one voice, motion, presence, temperature/humidity/air
quality, and light sensor, built on an ESP32 with ESPHome, and inspired
heavily by the EverythingSmartHome Everything Presence One sensor and the
HomeAssistant "$13 Voice Assistant" project.
@ -17,7 +17,7 @@ it bare if you like the "PCB on a wall" aesthetic.
To Use:
* Install the ESPHome configuration `supersensor-2.x.yaml` to a compatible ESP32 devkit (below).
* Install the ESPHome configuration `supersensor.yaml` to a compatible ESP32 devkit (below).
* Install the ESP32 and sensors into the custom PCB (if desired).
* [Optional] 3D Print the custom case.
* Power up the SuperSensor, connect to the WiFi AP, and connect it to your network.
@ -69,7 +69,6 @@ and [my update post on version 2.0](https://www.boniface.me/the-supersensor-2.0)
## Parts List
|-------|--------------------|----------------------------------|-------|
| Qty | Component | Cost (2025/05 CAD, ex. shipping) | Links |
|-------|--------------------|----------------------------------|-------|
| 1 | GY-SGP30 | $5.73 | [AliExpress](https://www.aliexpress.com/item/1005008473372972.html) |
@ -84,12 +83,12 @@ and [my update post on version 2.0](https://www.boniface.me/the-supersensor-2.0)
| 1 | Female pin header† | $1.59 ($15.99/10) | [Amazon](https://www.amazon.ca/dp/B08CMNRXJ1) |
| 1 | Custom PCB (JLC) | $0.69 ($6.89/10) | [GitHub](https://github.com/joshuaboniface/supersensor) |
| 1 | 3D Printed case | $?.??‡ | [GitHub](https://github.com/joshuaboniface/supersensor) |
|-------|--------------------|----------------------------------|-------|
| TOTAL | | $33.64 | |
|-------|--------------------|----------------------------------|-------|
| **TOTAL** | | **$33.64** | |
`*` Ensure you select the correct device on the page as it shows multiple options.
`†` This is optional and only required if you don't want to directly solder the ESP32 to the board, but I recommend it.
`‡` Providing a price is impossible due to the wide range of possible fillament types and brands, but should be negligible.
## Configurable Options

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -53,7 +53,7 @@ esphome:
- switch.turn_on: voice_support_active
dashboard_import:
package_import_url: github://joshuaboniface/supersensor/supersensor-2.x.yaml
package_import_url: github://joshuaboniface/supersensor/supersensor.yaml@2.x
esp32:
board: esp32dev
@ -364,7 +364,8 @@ interval:
}
micro_wake_word:
model: hey_jarvis
models:
- model: hey_jarvis
on_wake_word_detected:
then:
- voice_assistant.start:
@ -491,13 +492,13 @@ light:
output:
- platform: ledc
id: rgb_r
pin: GPIO32
pin: GPIO23
- platform: ledc
id: rgb_g
pin: GPIO33
pin: GPIO22
- platform: ledc
id: rgb_b
pin: GPIO25
pin: GPIO21
ld2410:
id: ld2410_radar
@ -513,6 +514,15 @@ sensor:
name: "SGP30 TVOC"
id: sgp30_tvoc
accuracy_decimals: 1
eco2_baseline:
name: "SGP30 Baseline eCO2"
id: sgp30_baseline_ec02
tvoc_baseline:
name: "SGP30 Baseline TVOC"
id: sgp30_baseline_tvoc
compensation:
temperature_source: sht45_temperature
humidity_source: sht45_humidity
store_baseline: yes
update_interval: 15s
@ -559,7 +569,7 @@ sensor:
if (tvoc > 2200 || eco2 > 2000) return 1; // Unhealthy
if (tvoc > 660 || eco2 > 1200) return 2; // Poor
if (tvoc > 220 || eco2 > 800) return 3; // Moderate
if (tvoc > 65 || eco2 > 600) return 4; // Good
if (tvoc > 65 || eco2 > 500) return 4; // Good
return 5; // Excellent
update_interval: 15s
@ -690,7 +700,7 @@ binary_sensor:
- platform: gpio
name: "PIR GPIO"
id: pir_gpio
pin: GPIO13
pin: GPIO32
internal: false
device_class: motion
on_press:
@ -1070,6 +1080,7 @@ text_sensor:
name: "CO2 Level"
lambda: |-
int eco2 = id(sgp30_eco2).state;
if (eco2 < 500) return {"Excellent"};
if (eco2 < 800) return {"Good"};
if (eco2 < 1200) return {"Moderate"};
if (eco2 < 2000) return {"Poor"};