9 Commits

Author SHA1 Message Date
7498c34340 Add retry logic for NC read and better logging
- Retry NC read up to 3 times with delays
- Log product name detection
- Check if SEN66 is detected

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 11:22:29 +07:00
99facda246 Check data ready before reading NC values
Per official Sensirion driver, check data ready status before
attempting to read number concentration values.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 11:20:09 +07:00
f20fc85a8d Try write_command + delay + read_data pattern for NC
Use the same pattern as main measurement read instead of
get_register. This separates the write and read with an
explicit delay.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 11:17:08 +07:00
78a63a820c Alternate between main measurement and NC reads
Instead of reading NC immediately after main measurements,
alternate between them on each update cycle. This gives the
sensor more time between I2C transactions and avoids bus
contention issues.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 10:58:53 +07:00
e4e3b823c0 Increase delays for number concentration read
- Increase delay between main measurement and NC read to 200ms
- Increase get_register delay to 50ms
- Add debug logging for NC values

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 10:53:13 +07:00
22fcbfe59b Add 100ms startup delay before I2C communication
Per SEN6x datasheet: sensor needs 100ms after power-on before
I2C communication can be started.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 10:34:22 +07:00
67bf44905e Fix number concentration read timing
- Use get_register() with proper delay instead of separate write/read
- Only attempt NC read if NC sensors are configured
- Increase timeout between measurement reads
- Change error level to warning (non-critical feature)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 10:31:19 +07:00
0d1a822df5 Fix setup timing and improve error reporting
- Move initial I2C check outside of timeout for immediate failure detection
- Add proper error codes for all failure cases
- Improve dump_config to show specific error messages
- Add more debug logging during initialization

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 10:29:03 +07:00
eebc6f4fcf Initial commit: ESPHome SEN6x component
ESPHome external component for Sensirion SEN66 environmental sensor with:
- PM1.0, PM2.5, PM4.0, PM10 measurements
- Number concentration (particle counts)
- VOC and NOx indices with algorithm tuning
- CO2 measurement
- Temperature and humidity
- Start/stop measurement and fan cleaning actions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 10:20:39 +07:00