configuration.yaml
1# Servo Motor Steuerung
2# Standard 180° Hobby-Servo (SG90, MG996R, etc.)
3servo:
4 - id: servo_motor
5 output: servo_pwm
6 auto_detach_time: 1s # Strom sparen durch Abschalten nach Bewegung
7 transition_length: 1s # Dauer der sanften Bewegung
8
9# PWM-Ausgang für Servo-Steuerung
10output:
11 - platform: ledc
12 id: servo_pwm
13 pin: GPIO18
14 frequency: 50Hz # Standard Servo-Frequenz
15 channel: 0
16
17# Number-Komponente für Home Assistant Steuerung
18number:
19 - platform: template
20 name: "${friendly_name} Servo Position"
21 id: servo_position
22 min_value: -100
23 max_value: 100
24 initial_value: 0
25 step: 5
26 unit_of_measurement: "%"
27 mode: slider
28 optimistic: true
29 set_action:
30 then:
31 - servo.write:
32 id: servo_motor
33 level: !lambda 'return x / 100.0;'
34 - logger.log:
35 format: "Servo moved to %.1f%%"
36 args: [ 'x' ]
37
38# Vordefinierte Positionen als Buttons
39button:
40 - platform: template
41 name: "${friendly_name} Servo Center"
42 icon: "mdi:crosshairs"
43 on_press:
44 - servo.write:
45 id: servo_motor
46 level: 0.0 # Mittelposition
47 - number.set:
48 id: servo_position
49 value: 0
50
51 - platform: template
52 name: "${friendly_name} Servo Left"
53 icon: "mdi:arrow-left"
54 on_press:
55 - servo.write:
56 id: servo_motor
57 level: -1.0 # Ganz links
58 - number.set:
59 id: servo_position
60 value: -100
61
62 - platform: template
63 name: "${friendly_name} Servo Right"
64 icon: "mdi:arrow-right"
65 on_press:
66 - servo.write:
67 id: servo_motor
68 level: 1.0 # Ganz rechts
69 - number.set:
70 id: servo_position
71 value: 100