Zum Hauptinhalt springenZur Hauptnavigation springen

Empfohlene Produkte

📦 Unsere Smart-Switch-Empfehlungen

Ausgewählte Empfehlungen für dein Smart Home Projekt

Lädt Produkte... (sensor → smartswitch → led → camera)

Als Felix bei mir zu Besuch war, haben wir die Zeit genutzt um eine Tuya Deckenlampe von der Cloud zu befreien und sie mit Hilfe von ESPHome lokal in Home Assistant zu integrieren.


Lädt...


Die Lampe besitzt von Haus aus nur warm- und kaltweiße LEDs. Da ich persönlich die Lampe für mein Büro einsetzen möchte und ich da eigentlich ausschließlich RGB-Beleuchtung nutze, mussten wir hier natürlich auch noch eine RGB-Beleuchtung nachrüsten. Die RGB-LEDs werden aktuell leider noch vom Ventilator und den weißen LEDs gestört, heist ich muss mich entscheiden, nutze ich die nachgerüstete RGB-Beleuchtung oder möchte ich den Ventilator und/oder die weißen LEDs verwenden.
Damit kann ich aber vorerst ganz gut leben. Ich werde aber bei Gelegenheit noch einmal versuchen, auch das noch in den Griff zu bekommen.

Das ganze Projekt habe ich in einem kurzen Video natürlich auch kurz zusammengefasst.

🎥

YouTube-Video

Lädt Inhalte von YouTube. Durch Klick stimmen Sie dem Laden externer Inhalte zu.


ESPHome Code:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 substitutions: device_name: "buro-lampe-venti" friendly_name: "Bürolampe mit Ventilator" wifi_ssid: !secret wifi_ssid wifi_password: !secret wifi_password # -------------------------------------------- # -------------------------------------------- led_cw_pin: GPIO4 led_ww_pin: GPIO5 fan_direction_pin: GPIO14 fan_speed_pin: GPIO12 buzzer_pin: GPIO15 rgb_led_pin: GPIO13 led_count: "81" last_led_index: "80" # immer 1 kleiner als led_count! min_fan_frequency: "30" max_fan_frequency: "200" # -------------------------------------------- # -------------------------------------------- esphome: name: ${device_name} friendly_name: ${friendly_name} # Wer möchte, kann hier noch einen Boot-Sound aktivieren # on_boot: # priority: -100 # then: # - rtttl.play: 'MissionImp:d=16,o=6,b=95:32d,32d#,32d,32d#,32d,32d#,32d,32d#,32d,32d,32d#,32e,32f,32f#,32g,g,8p,g,8p,a#,p,c7,p,g,8p,g,8p,f,p,f#,p,g,8p,g,8p,a#,p,c7,p,g,8p,g,8p,f,p,f#,p,a#,g,2d,32p,a#,g,2c#,32p,a#,g,2c,a#5,8c,2p,32p,a#5,g5,2f#,32p,a#5,g5,2f,32p,a#5,g5,2e,d#,8d' esp8266: board: esp01_1m logger: api: ota: wifi: ssid: ${wifi_ssid} password: ${wifi_password} ap: ssid: ${device_name}_AP password: ${wifi_password} captive_portal: rtttl: output: rtttl_out fan: - platform: speed output: fan_cw direction_output: fan_clk name: ${device_name} Ventilator restore_mode: ALWAYS_OFF id: my_fan on_speed_set: - output.esp8266_pwm.set_frequency: id: fan_cw frequency: !lambda | int min = ${min_fan_frequency}; int max = ${max_fan_frequency}; return map(id(my_fan).speed, 0, 100, min, max ); light: - platform: neopixelbus name: ${device_name} RGB Licht type: GRB variant: WS2812 pin: ${rgb_led_pin} num_leds: ${led_count} restore_mode: ALWAYS_OFF default_transition_length: 1s internal: true id: led_stripe - platform: cwww name: ${device_name} Lampe gamma_correct: 2.8 cold_white: cold_white warm_white: warm_white restore_mode: ALWAYS_OFF cold_white_color_temperature: 6200 K warm_white_color_temperature: 2800 K id: cwww_light on_turn_on: - light.turn_on: id: cwww_light cold_white: 30% warm_white: 80% - platform: partition name: "Lüfter LEDs" segments: # Use first 10 LEDs from the light with ID light1 - id: led_stripe from: 0 to: 11 id: fan_leds effects: - addressable_rainbow: name: Rainbow speed: 7 width: 25 - addressable_color_wipe: - random: - platform: partition name: ${device_name} RGB Lampe segments: - id: led_stripe from: 12 to: 80 id: rgb_leds effects: - addressable_rainbow: name: Rainbow speed: 15 width: 35 - addressable_color_wipe: - random: output: - platform: esp8266_pwm id: cold_white_int pin: ${led_cw_pin} max_power: 85% - platform: esp8266_pwm id: warm_white_int pin: ${led_ww_pin} max_power: 85% - platform: esp8266_pwm pin: ${buzzer_pin} id: rtttl_out - platform: gpio pin: ${fan_direction_pin} id: fan_clk - platform: esp8266_pwm pin: ${fan_speed_pin} max_power: 85% id: fan_cw frequency: 50Hz # lässt die weißen LEDs nicht aktivieren, wenn RGB-LEDs aktiv sind (um Störungen zu vermeiden) - platform: template id: cold_white type: float write_action: - output.set_level: id: cold_white_int level: !lambda | if(id(led_stripe).current_values.is_on() || id(rgb_leds).current_values.is_on()) { return 0; } else { return state; } # lässt die weißen LEDs nicht aktivieren, wenn RGB-LEDs aktiv sind (um Störungen zu vermeiden) - platform: template id: warm_white type: float write_action: - output.set_level: id: warm_white_int level: !lambda | if(id(led_stripe).current_values.is_on() || id(rgb_leds).current_values.is_on()) { return 0; } else { return state; }

ESPHome Tutorial Serie

Falls Ihr noch mehr über ESPHome wissen wollt, werft doch einfach mal einen Blick in meine ESPHome Tutorial Serie auf YouTube:

Playlist:


Ansonsten findet Ihr auch jede Menge Informationen rund um ESPHome hier im Wiki:



Shopping-Empfehlungen

Passende sensor-Produkte

Weitere empfohlene Produkte für dein Smart Home

Lädt Produkte... (sensor → smartswitch → led → camera)

Artikel teilen

Teilen: