Shelly Plus RGBW PM

GPIO Pinout
| Pin | Function |
|---|---|
| GPIO14 | Onboard LED |
| GPIO22 | Onboard Button |
| GPIO25 | PWM 1 (R) |
| GPIO26 | PWM 3 (B) |
| GPIO27 | PWM 2 (G) |
| GPIO4 | PWM 4 (W) |
| GPIO36 | Input 1 |
| GPIO37 | Input 2 |
| GPIO38 | Input 3 |
| GPIO39 | Input 4 |
| GPIO33 | NTC Temp Sensor |
| GPIO34 | Voltage Monitor |
| GPIO35 | OpAmp Current Monitor |
Plus addon interface
Use it for flashing. Connect EN pin to the RESET pin of your USB-UART converter.
Configuration for RGBW
esphome:
name: shelly-plus-rgbw-pm
esp32:
board: esp32dev
framework:
type: esp-idf
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
captive_portal:
logger:
api:
ota:
platform: esphome
light:
- platform: rgbw
name: ${device_name} Led Stip
red: pwm_r
green: pwm_g
blue: pwm_b
white: pwm_w
effects:
- random:
- strobe:
- flicker:
status_led:
pin: GPIO14
output:
- platform: ledc
pin: GPIO25
id: pwm_r
frequency: 19531
- platform: ledc
pin: GPIO26
id: pwm_g
frequency: 19531
- platform: ledc
pin: GPIO27
id: pwm_b
frequency: 19531
- platform: ledc
pin: GPIO4
id: pwm_w
frequency: 19531
binary_sensor:
- platform: gpio
pin:
number: GPIO36
inverted: True
name: ${device_name} Input 1
filters:
- delayed_on_off: 10ms
- platform: gpio
pin:
number: GPIO37
inverted: True
name: ${device_name} Input 2
filters:
- delayed_on_off: 10ms
- platform: gpio
pin:
number: GPIO38
inverted: True
name: ${device_name} Input 3
filters:
- delayed_on_off: 10ms
- platform: gpio
pin:
number: GPIO39
inverted: True
name: ${device_name} Input 4
filters:
- delayed_on_off: 10ms
- platform: gpio
pin:
number: GPIO22
name: ${device_name} Onboard Button
filters:
- delayed_on_off: 10ms
sensor:
- platform: adc
pin: GPIO33
id: temp_analog_reading
attenuation: 12db
- platform: resistance
sensor: temp_analog_reading
id: temp_resistance_reading
configuration: DOWNSTREAM
resistor: 10kOhm
- platform: ntc
sensor: temp_resistance_reading
name: ${device_name} Temperature
calibration:
b_constant: 3350
reference_resistance: 10kOhm
reference_temperature: 298.15K
- platform: adc
pin: GPIO34
attenuation: 12db
name: ${device_name} Voltage
accuracy_decimals: 1
filters:
- multiply: 10.85
- platform: adc
pin: GPIO35
attenuation: 12db
name: ${device_name} Current
accuracy_decimals: 2
filters:
- offset: -0.794
- multiply: 16.13
unit_of_measurement: A
Configuration for 4 monochromatic channel
esphome:
name: shelly-plus-rgbw-pm-monochrome
esp32:
board: esp32dev
framework:
type: esp-idf
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
captive_portal:
logger:
api:
ota:
platform: esphome
web_server:
port: 80
light:
- platform: monochromatic
name: "White Channel R"
output: out_r
restore_mode: ALWAYS_ON
default_transition_length: 0.5s
id: ${device_name}_chr
- platform: monochromatic
name: "White Channel G"
output: out_g
restore_mode: ALWAYS_ON
default_transition_length: 0.5s
id: ${device_name}_chg
- platform: monochromatic
name: "White Channel B"
output: out_b
restore_mode: ALWAYS_ON
default_transition_length: 0.5s
id: ${device_name}_chb
- platform: monochromatic
name: "White Channel W"
output: out_w
restore_mode: ALWAYS_ON
default_transition_length: 0.5s
id: ${device_name}_chw
status_led:
pin: GPIO14
output:
- platform: ledc
id: out_r
pin: GPIO25
- platform: ledc
id: out_g
pin: GPIO27
- platform: ledc
id: out_b
pin: GPIO26
- platform: ledc
id: out_w
pin: GPIO4
binary_sensor:
- platform: gpio
pin:
number: GPIO36
inverted: True
name: ${device_name} Input 1
filters:
- delayed_on_off: 10ms
- platform: gpio
pin:
number: GPIO37
inverted: True
name: ${device_name} Input 2
filters:
- delayed_on_off: 10ms
- platform: gpio
pin:
number: GPIO38
inverted: True
name: ${device_name} Input 3
filters:
- delayed_on_off: 10ms
- platform: gpio
pin:
number: GPIO39
inverted: True
name: ${device_name} Input 4
filters:
- delayed_on_off: 10ms
- platform: gpio
pin:
number: GPIO22
name: ${device_name} Onboard Button
filters:
- delayed_on_off: 10ms
sensor:
- platform: adc
pin: GPIO33
id: temp_analog_reading
attenuation: 12db
- platform: resistance
sensor: temp_analog_reading
id: temp_resistance_reading
configuration: DOWNSTREAM
resistor: 10kOhm
- platform: ntc
sensor: temp_resistance_reading
name: ${device_name} Temperature
calibration:
b_constant: 3350
reference_resistance: 10kOhm
reference_temperature: 298.15K
- platform: adc
pin: GPIO34
attenuation: 12db
name: ${device_name} Voltage
accuracy_decimals: 1
filters:
- multiply: 10.85
- platform: adc
pin: GPIO35
attenuation: 12db
name: ${device_name} Current
accuracy_decimals: 2
filters:
- offset: -0.794
- multiply: 16.13
unit_of_measurement: A