Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- substitutions:
- devicename: led
- mypin: GPIO33
- external_components:
- - source:
- type: local
- path: components
- components: [ ehmtx ]
- esphome:
- name: $devicename
- on_boot:
- priority: -100
- then:
- - ehmtx.text.color:
- id: rgb8x32
- red: !lambda return 255;
- green: !lambda return 140;
- blue: !lambda return 0;
- - ehmtx.clock.color:
- id: rgb8x32
- red: !lambda return 150;
- green: !lambda return 0;
- blue: !lambda return 100;
- - ehmtx.today.color:
- id: rgb8x32
- red: !lambda return 0;
- green: !lambda return 100;
- blue: !lambda return 0;
- - ehmtx.weekday.color:
- id: rgb8x32
- red: !lambda return 0;
- green: !lambda return 0;
- blue: !lambda return 100;
- - ehmtx.alarm.color:
- id: rgb8x32
- red: !lambda return 200;
- green: !lambda return 150;
- blue: !lambda return 30;
- esp32:
- board: esp32dev
- framework:
- type: arduino
- font:
- - file: fonts/monobit.ttf
- id: ehmtx_font
- size: 16
- glyphs: |
- !?"%()+*=,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz€@<>/
- binary_sensor:
- - platform: status
- name: "$devicename Status"
- logger:
- # Enable Home Assistant API
- api:
- services:
- - service: alarm
- variables:
- icon_name: string
- text: string
- then:
- lambda: |-
- id(rgb8x32)->add_screen(icon_name,text,7,30,true);
- id(rgb8x32)->force_screen(icon_name);
- - service: screen
- variables:
- icon_name: string
- text: string
- then:
- - lambda: |-
- id(rgb8x32)->add_screen(icon_name,text,5,10,false);
- - service: status
- then:
- lambda: |-
- id(rgb8x32)->get_status();
- - service: del_screen
- variables:
- icon_name: string
- then:
- - ehmtx.delete.screen:
- id: rgb8x32
- icon_name: !lambda return icon_name;
- - service: indicator_on
- variables:
- r: int
- g: int
- b: int
- then:
- - ehmtx.indicator.on:
- id: rgb8x32
- red: !lambda return r;
- green: !lambda return g;
- blue: !lambda return b;
- - service: force_screen
- variables:
- icon_name: string
- then:
- - ehmtx.force.screen:
- id: rgb8x32
- icon_name: !lambda return icon_name;
- - service: text_color
- variables:
- r: int
- g: int
- b: int
- then:
- lambda: |-
- id(rgb8x32)->set_text_color(r,g,b);
- - service: clock_color
- variables:
- r: int
- g: int
- b: int
- then:
- lambda: |-
- id(rgb8x32)->set_clock_color(r,g,b);
- - service: alarm_color
- variables:
- r: int
- g: int
- b: int
- then:
- lambda: |-
- id(rgb8x32)->set_alarm_color(r,g,b);
- - service: weekday_color
- variables:
- r: int
- g: int
- b: int
- then:
- lambda: |-
- id(rgb8x32)->set_weekday_color(r,g,b);
- - service: today_color
- variables:
- r: int
- g: int
- b: int
- then:
- lambda: |-
- id(rgb8x32)->set_today_color(r,g,b);
- - service: indicator_off
- then:
- - ehmtx.indicator.off:
- id: rgb8x32
- number:
- - platform: template
- name: "$devicename brightness"
- min_value: 0
- max_value: 255
- step: 1
- lambda: |-
- return id(rgb8x32)->get_brightness();
- set_action:
- lambda: |-
- id(rgb8x32)->set_brightness(x);
- ota:
- password: "fb7842a39223fc32a7bb501416d772b2"
- wifi:
- ssid: !secret wifi_ssid
- password: !secret wifi_password
- light:
- - platform: neopixelbus
- id: ehmtx_light
- type: GRB
- variant: WS2812
- pin: $mypin
- num_leds: 256
- color_correct: [30%, 30%, 30%]
- name: "$devicename Light"
- restore_mode: ALWAYS_OFF
- on_turn_on:
- lambda: |-
- id(ehmtx_display)->set_enabled(false);
- on_turn_off:
- lambda: |-
- id(ehmtx_display)->set_enabled(true);
- switch:
- - platform: template
- name: "$devicename Display"
- icon: "mdi:power"
- restore_mode: ALWAYS_ON
- lambda: |-
- return id(rgb8x32)->show_display;
- turn_on_action:
- lambda: |-
- id(rgb8x32)->set_display_on();
- turn_off_action:
- lambda: |-
- id(rgb8x32)->set_display_off();
- time:
- - platform: homeassistant
- id: ehmtx_time
- display:
- - platform: addressable_light
- id: ehmtx_display
- addressable_light_id: ehmtx_light
- width: 32
- height: 8
- pixel_mapper: |-
- if (x % 2 == 0) {
- return (x * 😎 + y;
- }
- return (x * 😎 + (7 - y);
- rotation: 0°
- update_interval: 8ms
- auto_clear_enabled: true
- lambda: |-
- id(rgb8x32)->tick();
- id(rgb8x32)->draw();
- ehmtx:
- id: rgb8x32
- clock_time: 10
- screen_time: 15
- show_date: true
- brightness: 80
- matrix_component: ehmtx_display
- time_component: ehmtx_time
- week_start_monday: true
- scroll_count: 2
- scroll_interval: 80
- frame_interval: 192
- font_id: ehmtx_font
- icons:
- - file: icons/0_poplach.gif
- id: boot
- - file: icons/1_barva.gif
- id: barva
Advertisement
Add Comment
Please, Sign In to add comment