esphome_components
esphome_components copied to clipboard
[DRAFT] Add [pin] option for [sensor.seesaw] and type: encoder
[DRAFT] to add [pin] option for [sensor.seesaw] and type: encoder
These are the pin names in the seesaw firmware for each rotary encoder coming from : Adafruit I2C Quad Rotary Encoder Breakout tutorial
The encoder A pin is towards the bottom of the board The encoder B pin is towards the top of the board
- Encoder 0
- Encoder A (anticlockwise): pin 8
- Encoder B (clockwise): pin 9
- Encoder 1
- Encoder A (anticlockwise): pin 10
- Encoder B (clockwise): pin 11
- Encoder 2
- Encoder A (anticlockwise): pin 2
- Encoder B (clockwise): pin 3
- Encoder 3
- Encoder A (anticlockwise): pin 4
- Encoder B (clockwise): pin 5
Config
external_components:
- source:
type: git
#url: https://github.com/ssieb/custom_components
url: https://github.com/lboue/af_seesaw
ref: set_pin
refresh: 0s
components: [ seesaw ]
i2c:
sda: 26
scl: 32
scan: true
id: bus_i2c
seesaw:
sensor:
# https://github.com/lboue/af_seesaw/blob/set_pin/components/seesaw/sensor/__init__.py
- platform: seesaw
id: encoder0
type: encoder
number: 0
pin: 8
name: "Seesaw encoder #0"
min_value: 0
max_value: 255
- platform: seesaw
id: encoder1
type: encoder
number: 1
pin: 10
name: "Seesaw encoder #1"
min_value: 0
max_value: 255
- platform: seesaw
id: encoder2
type: encoder
number: 2
pin: 2
name: "Seesaw encoder #2"
min_value: 0
max_value: 255
- platform: seesaw
id: encoder3
number: 3
type: encoder
pin: 4
name: "Seesaw encoder #3"
min_value: 0
max_value: 255
Regular boot log without pin specified
[I][i2c.arduino:096]: Results from i2c bus scan:
[I][i2c.arduino:102]: Found i2c device at address 0x49
[C][seesaw:054]: Seesaw module:
[C][seesaw:055]: Address: 0x49
[C][seesaw:058]: CPU: ATtiny817
[C][seesaw:062]: Version: 377019159
[C][seesaw:063]: Options:
[C][seesaw:065]: GPIO
[C][seesaw:067]: Serial
[C][seesaw:069]: Timer
[C][seesaw:071]: ADC
[C][seesaw:075]: Interrupt
[C][seesaw:077]: DAP
[C][seesaw:081]: NeoPixel
[C][seesaw:083]: Touch
[C][seesaw.binary_sensor:017]: Seesaw Binary Sensor 'Seesaw encoder button #0'
[C][seesaw.binary_sensor:018]: Pin: 12
[C][seesaw.binary_sensor:017]: Seesaw Binary Sensor 'Seesaw encoder button #1'
[C][seesaw.binary_sensor:018]: Pin: 14
[C][seesaw.binary_sensor:017]: Seesaw Binary Sensor 'Seesaw encoder button #2'
[C][seesaw.binary_sensor:018]: Pin: 17
[C][seesaw.binary_sensor:017]: Seesaw Binary Sensor 'Seesaw encoder button #3'
[C][seesaw.binary_sensor:018]: Pin: 9
Boot log with pin specified enabled
[I][i2c.arduino:218]: Performing I2C bus recovery
[C][seesaw:035]: Setting up Seesaw...
[ 1092][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[C][light:035]: Setting up light 'Seesaw neopixel'...
[D][light:036]: 'Seesaw neopixel' Setting:
[D][light:041]: Color mode: RGB
[D][light:085]: Transition length: 1.0s
[C][seesaw.encoder:010]: Setting up Seesaw rotary encoder 0 ...
[D][sensor:094]: 'Seesaw encoder 0': Sending state 0.00000 steps with 0 decimals of accuracy
[C][seesaw.encoder:010]: Setting up Seesaw rotary encoder 1 ...
[D][sensor:094]: 'Seesaw encoder 1': Sending state 0.00000 steps with 0 decimals of accuracy
[C][seesaw.encoder:010]: Setting up Seesaw rotary encoder 2 ...
[D][sensor:094]: 'Seesaw encoder 2': Sending state 0.00000 steps with 0 decimals of accuracy
[C][seesaw.encoder:010]: Setting up Seesaw rotary encoder 3 ...
[D][sensor:094]: 'Seesaw encoder 3': Sending state 0.00000 steps with 0 decimals of accuracy
...
[I][i2c.arduino:102]: Found i2c device at address 0x49
[C][seesaw:054]: Seesaw module:
[C][seesaw:055]: Address: 0x49
[C][seesaw:058]: CPU: ATtiny817
[C][seesaw:062]: Version: 377019159
[C][seesaw:063]: Options:
[C][seesaw:065]: GPIO
[C][seesaw:067]: Serial
[C][seesaw:069]: Timer
[C][seesaw:071]: ADC
[C][seesaw:075]: Interrupt
[C][seesaw:077]: DAP
[C][seesaw:081]: NeoPixel
[C][seesaw:083]: Touch
[C][:016]: Seesaw Encoder Sensor
[C][seesaw.encoder:017]: Pin: 8
[C][:016]: Seesaw Encoder Sensor
[C][seesaw.encoder:017]: Pin: 10
[C][:016]: Seesaw Encoder Sensor
[C][seesaw.encoder:017]: Pin: 2
[C][:016]: Seesaw Encoder Sensor
[C][seesaw.encoder:017]: Pin: 4