mirror of
https://github.com/esphome/esphome.git
synced 2025-09-01 10:52:19 +01:00
Add H-Bridge switch component (#7421)
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
This commit is contained in:
39
tests/components/hbridge/common.yaml
Normal file
39
tests/components/hbridge/common.yaml
Normal file
@@ -0,0 +1,39 @@
|
||||
output:
|
||||
- platform: ${pwm_platform}
|
||||
pin: ${output1_pin}
|
||||
id: gpio_output1
|
||||
- platform: ${pwm_platform}
|
||||
pin: ${output2_pin}
|
||||
id: gpio_output2
|
||||
- platform: ${pwm_platform}
|
||||
pin: ${output3_pin}
|
||||
id: gpio_output3
|
||||
- platform: ${pwm_platform}
|
||||
pin: ${output4_pin}
|
||||
id: gpio_output4
|
||||
|
||||
light:
|
||||
- platform: hbridge
|
||||
name: Icicle Lights
|
||||
pin_a: gpio_output3
|
||||
pin_b: gpio_output4
|
||||
|
||||
fan:
|
||||
- platform: hbridge
|
||||
id: fan_hbridge
|
||||
speed_count: 4
|
||||
name: H-bridge Fan with Presets
|
||||
pin_a: gpio_output1
|
||||
pin_b: gpio_output2
|
||||
preset_modes:
|
||||
- Preset 1
|
||||
- Preset 2
|
||||
on_preset_set:
|
||||
then:
|
||||
- logger.log: Preset mode was changed!
|
||||
|
||||
switch:
|
||||
- platform: hbridge
|
||||
id: switch_hbridge
|
||||
on_pin: ${hbridge_on_pin}
|
||||
off_pin: ${hbridge_off_pin}
|
@@ -1,33 +1,17 @@
|
||||
output:
|
||||
- platform: ledc
|
||||
pin: 14
|
||||
id: gpio_output1
|
||||
- platform: ledc
|
||||
pin: 15
|
||||
id: gpio_output2
|
||||
- platform: ledc
|
||||
pin: 12
|
||||
id: gpio_output3
|
||||
- platform: ledc
|
||||
pin: 13
|
||||
id: gpio_output4
|
||||
substitutions:
|
||||
pwm_platform: ledc
|
||||
output1_pin: "14"
|
||||
output2_pin: "15"
|
||||
output3_pin: "12"
|
||||
output4_pin: "13"
|
||||
hbridge_on_pin: "4"
|
||||
hbridge_off_pin: "5"
|
||||
|
||||
light:
|
||||
- platform: hbridge
|
||||
name: Icicle Lights
|
||||
pin_a: gpio_output3
|
||||
pin_b: gpio_output4
|
||||
packages:
|
||||
common: !include common.yaml
|
||||
|
||||
fan:
|
||||
- platform: hbridge
|
||||
id: fan_hbridge
|
||||
speed_count: 4
|
||||
name: H-bridge Fan with Presets
|
||||
pin_a: gpio_output1
|
||||
pin_b: gpio_output2
|
||||
preset_modes:
|
||||
- Preset 1
|
||||
- Preset 2
|
||||
on_preset_set:
|
||||
then:
|
||||
- logger.log: Preset mode was changed!
|
||||
switch:
|
||||
- id: !extend switch_hbridge
|
||||
pulse_length: 60ms
|
||||
wait_time: 10ms
|
||||
optimistic: false
|
||||
|
@@ -1,33 +1,16 @@
|
||||
output:
|
||||
- platform: ledc
|
||||
pin: 4
|
||||
id: gpio_output1
|
||||
- platform: ledc
|
||||
pin: 5
|
||||
id: gpio_output2
|
||||
- platform: ledc
|
||||
pin: 6
|
||||
id: gpio_output3
|
||||
- platform: ledc
|
||||
pin: 7
|
||||
id: gpio_output4
|
||||
substitutions:
|
||||
pwm_platform: "ledc"
|
||||
output1_pin: "4"
|
||||
output2_pin: "5"
|
||||
output3_pin: "6"
|
||||
output4_pin: "7"
|
||||
hbridge_on_pin: "2"
|
||||
hbridge_off_pin: "3"
|
||||
|
||||
light:
|
||||
- platform: hbridge
|
||||
name: Icicle Lights
|
||||
pin_a: gpio_output3
|
||||
pin_b: gpio_output4
|
||||
packages:
|
||||
common: !include common.yaml
|
||||
|
||||
fan:
|
||||
- platform: hbridge
|
||||
id: fan_hbridge
|
||||
speed_count: 4
|
||||
name: H-bridge Fan with Presets
|
||||
pin_a: gpio_output1
|
||||
pin_b: gpio_output2
|
||||
preset_modes:
|
||||
- Preset 1
|
||||
- Preset 2
|
||||
on_preset_set:
|
||||
then:
|
||||
- logger.log: Preset mode was changed!
|
||||
switch:
|
||||
- id: !extend switch_hbridge
|
||||
wait_time: 10ms
|
||||
optimistic: true
|
||||
|
@@ -1,33 +1,15 @@
|
||||
output:
|
||||
- platform: ledc
|
||||
pin: 4
|
||||
id: gpio_output1
|
||||
- platform: ledc
|
||||
pin: 5
|
||||
id: gpio_output2
|
||||
- platform: ledc
|
||||
pin: 6
|
||||
id: gpio_output3
|
||||
- platform: ledc
|
||||
pin: 7
|
||||
id: gpio_output4
|
||||
substitutions:
|
||||
pwm_platform: "ledc"
|
||||
output1_pin: "4"
|
||||
output2_pin: "5"
|
||||
output3_pin: "6"
|
||||
output4_pin: "7"
|
||||
hbridge_on_pin: "2"
|
||||
hbridge_off_pin: "3"
|
||||
|
||||
light:
|
||||
- platform: hbridge
|
||||
name: Icicle Lights
|
||||
pin_a: gpio_output3
|
||||
pin_b: gpio_output4
|
||||
packages:
|
||||
common: !include common.yaml
|
||||
|
||||
fan:
|
||||
- platform: hbridge
|
||||
id: fan_hbridge
|
||||
speed_count: 4
|
||||
name: H-bridge Fan with Presets
|
||||
pin_a: gpio_output1
|
||||
pin_b: gpio_output2
|
||||
preset_modes:
|
||||
- Preset 1
|
||||
- Preset 2
|
||||
on_preset_set:
|
||||
then:
|
||||
- logger.log: Preset mode was changed!
|
||||
switch:
|
||||
- id: !extend switch_hbridge
|
||||
pulse_length: 60ms
|
||||
|
@@ -1,33 +1,16 @@
|
||||
output:
|
||||
- platform: ledc
|
||||
pin: 14
|
||||
id: gpio_output1
|
||||
- platform: ledc
|
||||
pin: 15
|
||||
id: gpio_output2
|
||||
- platform: ledc
|
||||
pin: 12
|
||||
id: gpio_output3
|
||||
- platform: ledc
|
||||
pin: 13
|
||||
id: gpio_output4
|
||||
substitutions:
|
||||
pwm_platform: "ledc"
|
||||
output1_pin: "14"
|
||||
output2_pin: "15"
|
||||
output3_pin: "12"
|
||||
output4_pin: "13"
|
||||
hbridge_on_pin: "4"
|
||||
hbridge_off_pin: "5"
|
||||
|
||||
light:
|
||||
- platform: hbridge
|
||||
name: Icicle Lights
|
||||
pin_a: gpio_output3
|
||||
pin_b: gpio_output4
|
||||
packages:
|
||||
common: !include common.yaml
|
||||
|
||||
fan:
|
||||
- platform: hbridge
|
||||
id: fan_hbridge
|
||||
speed_count: 4
|
||||
name: H-bridge Fan with Presets
|
||||
pin_a: gpio_output1
|
||||
pin_b: gpio_output2
|
||||
preset_modes:
|
||||
- Preset 1
|
||||
- Preset 2
|
||||
on_preset_set:
|
||||
then:
|
||||
- logger.log: Preset mode was changed!
|
||||
switch:
|
||||
- id: !extend switch_hbridge
|
||||
pulse_length: 60ms
|
||||
wait_time: 10ms
|
||||
|
@@ -1,33 +1,16 @@
|
||||
output:
|
||||
- platform: esp8266_pwm
|
||||
pin: 4
|
||||
id: gpio_output1
|
||||
- platform: esp8266_pwm
|
||||
pin: 5
|
||||
id: gpio_output2
|
||||
- platform: esp8266_pwm
|
||||
pin: 12
|
||||
id: gpio_output3
|
||||
- platform: esp8266_pwm
|
||||
pin: 13
|
||||
id: gpio_output4
|
||||
substitutions:
|
||||
pwm_platform: "esp8266_pwm"
|
||||
output1_pin: "4"
|
||||
output2_pin: "5"
|
||||
output3_pin: "12"
|
||||
output4_pin: "13"
|
||||
hbridge_on_pin: "14"
|
||||
hbridge_off_pin: "15"
|
||||
|
||||
light:
|
||||
- platform: hbridge
|
||||
name: Icicle Lights
|
||||
pin_a: gpio_output3
|
||||
pin_b: gpio_output4
|
||||
packages:
|
||||
common: !include common.yaml
|
||||
|
||||
fan:
|
||||
- platform: hbridge
|
||||
id: fan_hbridge
|
||||
speed_count: 4
|
||||
name: H-bridge Fan with Presets
|
||||
pin_a: gpio_output1
|
||||
pin_b: gpio_output2
|
||||
preset_modes:
|
||||
- Preset 1
|
||||
- Preset 2
|
||||
on_preset_set:
|
||||
then:
|
||||
- logger.log: Preset mode was changed!
|
||||
switch:
|
||||
- id: !extend switch_hbridge
|
||||
pulse_length: 60ms
|
||||
wait_time: 10ms
|
||||
|
@@ -1,33 +1,16 @@
|
||||
output:
|
||||
- platform: rp2040_pwm
|
||||
pin: 4
|
||||
id: gpio_output1
|
||||
- platform: rp2040_pwm
|
||||
pin: 5
|
||||
id: gpio_output2
|
||||
- platform: rp2040_pwm
|
||||
pin: 6
|
||||
id: gpio_output3
|
||||
- platform: rp2040_pwm
|
||||
pin: 7
|
||||
id: gpio_output4
|
||||
substitutions:
|
||||
pwm_platform: "rp2040_pwm"
|
||||
output1_pin: "4"
|
||||
output2_pin: "5"
|
||||
output3_pin: "6"
|
||||
output4_pin: "7"
|
||||
hbridge_on_pin: "2"
|
||||
hbridge_off_pin: "3"
|
||||
|
||||
light:
|
||||
- platform: hbridge
|
||||
name: Icicle Lights
|
||||
pin_a: gpio_output3
|
||||
pin_b: gpio_output4
|
||||
packages:
|
||||
common: !include common.yaml
|
||||
|
||||
fan:
|
||||
- platform: hbridge
|
||||
id: fan_hbridge
|
||||
speed_count: 4
|
||||
name: H-bridge Fan with Presets
|
||||
pin_a: gpio_output1
|
||||
pin_b: gpio_output2
|
||||
preset_modes:
|
||||
- Preset 1
|
||||
- Preset 2
|
||||
on_preset_set:
|
||||
then:
|
||||
- logger.log: Preset mode was changed!
|
||||
switch:
|
||||
- id: !extend switch_hbridge
|
||||
wait_time: 10ms
|
||||
optimistic: true
|
||||
|
Reference in New Issue
Block a user