half working first version
Signed-off-by: Stefan H. <silson@noreply.example.org>
This commit is contained in:
parent
2e29ac1309
commit
89da0c9340
1 changed files with 142 additions and 0 deletions
142
unhb-clock.yaml
Normal file
142
unhb-clock.yaml
Normal file
|
@ -0,0 +1,142 @@
|
|||
esphome:
|
||||
name: unhb-uhr
|
||||
|
||||
esp8266:
|
||||
board: d1_mini
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
encryption:
|
||||
key: "HzC8U2bilNubXw3t8wA1iH7+5LtNJ+kFY60WcU7NleE="
|
||||
|
||||
ota:
|
||||
password: "a834c6d49c662e76ccac1e4d52c217cc"
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
manual_ip:
|
||||
static_ip: 192.168.10.192
|
||||
gateway: 192.168.10.1
|
||||
subnet: 255.255.255.0
|
||||
dns1: 192.168.10.1
|
||||
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
||||
ap:
|
||||
ssid: "Unhb-Uhr Fallback Hotspot"
|
||||
password: "VRduM2tepC49"
|
||||
|
||||
captive_portal:
|
||||
|
||||
web_server:
|
||||
port: 80
|
||||
|
||||
mqtt:
|
||||
broker: mqtt.int.weltendiskus.de
|
||||
topic_prefix: uhr/01
|
||||
|
||||
time:
|
||||
- platform: sntp
|
||||
id: sntp_time
|
||||
|
||||
light:
|
||||
- platform: neopixelbus
|
||||
type: GRBW
|
||||
variant: SK6812
|
||||
pin: GPIO2
|
||||
num_leds: 19
|
||||
name: "NeoPixel Light"
|
||||
gamma_correct: 1.7
|
||||
method:
|
||||
type: esp8266_uart
|
||||
bus: 1
|
||||
async: false
|
||||
effects:
|
||||
- addressable_scan:
|
||||
- addressable_color_wipe:
|
||||
- addressable_rainbow:
|
||||
- addressable_fireworks:
|
||||
- addressable_lambda:
|
||||
name: "Uhr-Sek-Zufall"
|
||||
update_interval: 1000ms
|
||||
lambda: |-
|
||||
// it.size() - Number of LEDs
|
||||
// it[num] - Access the LED at index num.
|
||||
// Set the LED at num to the given r, g, b values
|
||||
// it[num] = Color(r, g, b);
|
||||
// Get the color at index num (Color instance)
|
||||
// it[num].get();
|
||||
|
||||
// Example: Simple color wipe
|
||||
for (int i = it.size()-1 ; i >= 0; i--) {
|
||||
it[i] = Color::random_color();
|
||||
}
|
||||
// it[0] = Color::random_color();
|
||||
|
||||
// Bonus: use .range() and .all() to set many LEDs without having to write a loop.
|
||||
// it.range(0, 50) = Color::BLACK;
|
||||
// it.all().fade_to_black(10);
|
||||
- addressable_lambda:
|
||||
name: "Uhr-Sekunden"
|
||||
update_interval: 1000ms
|
||||
lambda: |-
|
||||
auto sek_offset=9;
|
||||
// it.size() - Number of LEDs
|
||||
// it[num] - Access the LED at index num.
|
||||
// Set the LED at num to the given r, g, b values
|
||||
// it[num] = Color(r, g, b);
|
||||
// Get the color at index num (Color instance)
|
||||
// it[num].get();
|
||||
auto time = id(sntp_time).now();
|
||||
// Example: Simple color wipe
|
||||
for (int i = it.size()-1 ; i >= 0; i--) {
|
||||
it[i] = Color(0,0,0);
|
||||
}
|
||||
auto center=time.second%it.size();;
|
||||
it[(center)]=Color(255,0,0);
|
||||
|
||||
// it[0] = Color::random_color();
|
||||
|
||||
// Bonus: use .range() and .all() to set many LEDs without having to write a loop.
|
||||
// it.range(0, 50) = Color::BLACK;
|
||||
// it.all().fade_to_black(10);
|
||||
- addressable_lambda:
|
||||
name: "Uhr-Sekunden-Linie"
|
||||
update_interval: 500ms
|
||||
lambda: |-
|
||||
auto time = id(sntp_time).now();
|
||||
auto sek_offset=9;
|
||||
int sek, i;
|
||||
|
||||
it.range(0, it.size()) = Color::BLACK;
|
||||
|
||||
sek = time.second*19;
|
||||
i=0;
|
||||
while(sek>=60) {
|
||||
it[i] = Color(255,0,0);
|
||||
sek-=60; i++;
|
||||
}
|
||||
if (sek!=0) it[i] = Color(sek*4, 0, 0);
|
||||
- addressable_lambda:
|
||||
name: "Uhr-Sekunden-Punkt"
|
||||
update_interval: 1000ms
|
||||
lambda: |-
|
||||
auto time = id(sntp_time).now();
|
||||
auto sek_offset=9;
|
||||
int sek, i;
|
||||
|
||||
it.range(0, it.size()) = Color::BLACK;
|
||||
|
||||
sek = time.second*19;
|
||||
|
||||
i=sek/60;
|
||||
sek=sek%60;
|
||||
|
||||
if (sek!=0) {
|
||||
it[i] = Color((sek*4)+10, 0, 0);
|
||||
it[(i+it.size()-1)%it.size()] = Color((60-sek)*4+10, 0, 0);
|
||||
}
|
||||
else { it[i] = Color(255, 0, 0); }
|
Loading…
Reference in a new issue