diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f2c706e..f41be77 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,6 +21,9 @@ jobs: - file: tests/ehtmxv2-template.yaml name: EHMTX template manifest_filename: ehtmxv2-template-manifest.json + - file: tests/ehtmxv2-special.yaml + name: EHMTX template 8266 + manifest_filename: ehtmxv2-special-template-manifest.json fail-fast: false steps: - name: Checkout source code diff --git a/tests/ehtmxv2-special.yaml b/tests/ehtmxv2-special.yaml new file mode 100644 index 0000000..86f3fc9 --- /dev/null +++ b/tests/ehtmxv2-special.yaml @@ -0,0 +1,160 @@ +substitutions: + devicename: ehmtxv2 + friendly_name: LED Matrix + board: d1-mini + matrix_pin: GPIO12 + +external_components: + - source: + type: local + path: ../components + components: [ ehmtxv2 ] + +esphome: + comment: "EHMTXv2 TEXT from LuBeDa 8266" + name: $devicename + on_boot: + lambda: |- + id(rgb8x32)->show_indicator(255,100,50,2); + id(rgb8x32)->hide_indicator(); + id(rgb8x32)->show_alarm(255,0,150,3); + id(rgb8x32)->hide_alarm(); + id(rgb8x32)->icon_screen("error","Hallo Text",false,237,20,100,200,150); + id(rgb8x32)->force_screen("error"); + id(rgb8x32)->del_screen("error"); + id(rgb8x32)->del_screen("error",5); + id(rgb8x32)->rainbow_icon_screen("error","Hallo Text",true,237,20); + id(rgb8x32)->get_status(); + id(rgb8x32)->set_display_on(); + id(rgb8x32)->set_display_off(); + id(rgb8x32)->hold_screen(); + id(rgb8x32)->show_gauge(100,0,200); + id(rgb8x32)->hide_gauge(); + id(rgb8x32)->set_clock_color(200,100,50); + id(rgb8x32)->set_today_color(200,100,50); + id(rgb8x32)->set_weekday_color(200,100,50); + id(rgb8x32)->full_screen("scale"); + id(rgb8x32)->rainbow_icon_screen("error","Oh ein Text"); + id(rgb8x32)->text_screen("text",30); + id(rgb8x32)->rainbow_text_screen("text",30); + id(rgb8x32)->clock_screen(30,5); + id(rgb8x32)->rainbow_clock_screen(30,5); + id(rgb8x32)->date_screen(30,5); + id(rgb8x32)->rainbow_date_screen(30,5); + id(rgb8x32)->blank_screen(30,5); + id(rgb8x32)->set_brightness(20); + id(rgb8x32)->bitmap_screen("[31,31,31,63488,63488,63488,31,31,63488,31,31,31,31,31,63488,63488,63488,31,31,63488,63488,63488,63488,31,31,63488,31,31,31,63488,31,31,31,31,63488,31,31,31,63488,31,63488,31,31,31,31,63488,31,31,31,63488,31,63488,31,31,31,63488,31,63488,63488,31,63488,63488,31,31,31,31,63488,31,31,31,63488,31,63488,31,31,31,31,63488,31,31,31,63488,31,63488,31,31,31,63488,31,63488,31,63488,31,63488,31,31,31,31,63488,31,31,31,63488,31,63488,31,31,31,31,63488,31,31,31,63488,31,63488,31,31,31,63488,31,63488,31,31,31,63488,31,31,31,31,63488,63488,63488,63488,63488,31,63488,31,31,31,31,63488,63488,63488,63488,63488,31,63488,63488,63488,63488,31,31,63488,31,31,31,63488,31,31,31,31,63488,31,31,31,63488,31,63488,31,31,31,31,63488,31,31,31,63488,31,63488,31,63488,31,31,31,63488,31,31,31,63488,31,31,31,31,63488,31,31,31,63488,31,63488,31,31,31,31,63488,31,31,31,63488,31,63488,31,31,63488,31,31,63488,31,31,31,63488,31,31,31,31,63488,31,31,31,63488,31,63488,63488,63488,63488,31,63488,31,31,31,63488,31,63488,31,31,31,63488,31,63488,31,31,31,63488,31,31]",2,10); + +esp8266: + board: d1-mini + +font: + - file: EHMTXv2.ttf + size: 16 + id: default_font + glyphs: | + !?"%()+*=,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnÖÄÜöäüopqrstuvwxyz@<>ß§€/ + +binary_sensor: + - platform: status + name: "$devicename Status" + +logger: + level: WARN + +api: + +sensor: + +ota: + password: !secret ota_password + +wifi: + ssid: !secret wifi_ssid + password: !secret wifi_password + +light: + - platform: neopixelbus + id: ehmtx_light + type: GRB + internal: true + variant: WS2812 + pin: $matrix_pin + num_leds: 256 + color_correct: [30%, 30%, 30%] + gamma_correct: 2.0 + name: "$devicename Light" + restore_mode: ALWAYS_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 (y % 2 == 0) { + return (y * 32) + x; + } + return (y * 32) + (31 - x); + rotation: 0° + update_interval: 16ms + auto_clear_enabled: true + lambda: |- + id(rgb8x32)->tick(); + id(rgb8x32)->draw(); + +ehmtxv2: + id: rgb8x32 + icons2html: true + matrix_component: ehmtx_display + time_component: ehmtx_time + time_format: "%H:%M" + date_format: "%d.%m." + show_seconds: false + clock_interval: 90 + scroll_interval: 120 + frame_interval: 210 + rtl: true + default_font_id: default_font + special_font_id: default_font + icons: + - id: error + lameid: 40530 + - id: scale + file: scale.gif + resize: 32x8 + - id: sleep8x32 + url: https://user-images.githubusercontent.com/16407309/224850723-634c9b2d-55d9-44f2-9f93-765c0485b090.gif + on_next_screen: + - homeassistant.event: + event: esphome.new_screen + data_template: + iconname: !lambda "return icon.c_str();" + text: !lambda "return text.c_str();" + on_add_screen: + - homeassistant.event: + event: esphome.new_screen + data_template: + iconname: !lambda "return icon.c_str();" + mode: !lambda "return mode;" + on_next_clock: + - homeassistant.event: + event: esphome.new_screen + data_template: + iconname: "Hallo" + on_expired_screen: + - homeassistant.event: + event: esphome.new_screen + data_template: + iconname: !lambda "return icon.c_str();" + text: !lambda "return text.c_str();" + on_icon_error: + - homeassistant.event: + event: esphome.new_screen + data_template: + iconname: !lambda "return icon.c_str();" \ No newline at end of file