You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I woke up in the middle of the night and the clock was empty (black).
It seems
Additional information
used Hardware:
ESP32 ulazi tc0001
EspHoMaTriXv2 version: 2024.5.1
I was running: 2024.4.1 longer, without issues, maybe i try to go back!?
To Reproduce
Use the config provided and activate night mode.
Sadly, this happens really rare :-(
As you can see, on_empty_queue() was called every 15 seconds, which called set_night_mode_on() which finally set an clock_screen with 1440 minutes.
Why this happens every 15 seonds!?
Expected behavior
No unexpected on_empty_queue loop.
Configuration
substitutions:
# Pin definition from https://github.com/aptonline/PixelIt_Ulanzi
battery_pin: GPIO34
ldr_pin: GPIO35
matrix_pin: GPIO32
left_button_pin: GPIO26
mid_button_pin: GPIO27
right_button_pin: GPIO14
scl_pin: GPIO22
sda_pin: GPIO21
external_components:
- source:
type: git
url: https://github.com/lubeda/EspHoMaTriXv2
ref: 2024.5.1 #lief lange mit 2024.4.1
refresh: 1min
components: [ehmtxv2]
esphome:
comment: "Ulanzi TC001"
project:
name: "Ulanzi.EHMTXv2"
version: "2.0.0"
on_boot:
then:
- ds1307.read_time:
esp32:
board: esp32dev
#include device_base yaml
packages:
device_base: !include /config/esphome/common/device_base.yaml
font:
# Font included in this folder
# - file: mateine.ttf
# size: 16
# id: default_font
# glyphs: |
# !?"%()+*=,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnÖÄÜöäüopqrstuvwxyz@<>ߧ€/
# Matrix Clock Fonts
# Grab these from https://github.com/trip5/Matrix-Fonts
# See https://github.com/lubeda/EspHoMaTriXv2#font
# Store in a "fonts" subfolder of your ESPHome config folder or change paths below
- file: fonts/MatrixLight8.bdf
id: special_font
glyphs: |
! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz°
#- file: fonts/MatrixChunky6.bdf
# id: special_font
# glyphs: |
# ! "#$%&'()*+,-./0123456789:APMTapmt
- file: fonts/Calcium.ttf
id: default_font
size: 16
glyphs: |
!?"%‰()+*=,-_.:°µ²³0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnÖÄÜöäüopqrstuvwxyz€$@<>/
globals:
# aab = auto-adjustable brightness
- id: aab_enabled
type: "bool"
restore_value: true
initial_value: "true"
- id: aab_add
type: int
initial_value: '10'
- id: aab_max
type: int
initial_value: '220'
- id: display_enabled
type: "bool"
restore_value: true
initial_value: "true"
- id: night_mode_enabled
type: "bool"
restore_value: true
initial_value: "false"
- id: is_running
type: "bool"
initial_value: "false"
- id: queue_empty_count
type: int
initial_value: '0'
ehmtxv2:
id: rgb8x32
icons2html: true
matrix_component: ehmtx_display
time_component: ehmtx_time
time_format: "%H:%M"
date_format: "%d.%m"
show_seconds: false
brightness: 0 #0-255
# Uncomment below if using the mateine font
default_font_id: default_font
special_font_id: special_font
default_font_yoffset: 8
special_font_yoffset: 8
# Comment out below if using mateine font
#default_font_id: default_font
#default_font_yoffset: 8
#special_font_id: special_font
#special_font_yoffset: 6
# until here
# black boot logo with red dot
boot_logo: "[32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]"
clock_interval: 20 # show the clock at least each x seconds
show_dow: false # draw the day indicator on the bottom of the screen, defaults to true
#show_date: true # show the date for show_screen - show_clock seconds otherwise only shows the clock for show_screen seconds, defaults to true
week_start_monday: true # default monday is first day of week, false = sunday
night_mode_screens: [2,16]
icons:
- id: ha
lameid: 7956
- id: tempc
lameid: 2422
- id: plug
lameid: 403
- id: humidity
lameid: 51764
- id: co2
lameid: 30662
- id: weather_clear_night
lameid: 53383
- id: weather_cloudy
lameid: 53384
- id: weather_fog
lameid: 12196
- id: weather_hail
lameid: 53385
- id: weather_lightning
lameid: 50231
- id: weather_lightning_rainy
lameid: 49299
- id: weather_partlycloudy
lameid: 53802
- id: weather_pouring
lameid: 49300
- id: weather_rainy
lameid: 2284
- id: weather_snowy
lameid: 2289
- id: weather_snowy_rainy
lameid: 49301
- id: weather_sunny
lameid: 1246
- id: weather_windy
lameid: 17076
- id: weather_windy_variant
lameid: 15618
- id: weather_exceptional
lameid: 5464
- id: washing_machine_ready
lameid: 26673
- id: dryer_ready
lameid: 48497
- id: dishwasher_ready
lameid: 47488
- id: door_ringing
lameid: 24800
- id: fire
lameid: 24873
- id: water
lameid: 24116
- id: speaker
lameid: 59332
- id: mute
lameid: 31722
on_empty_queue:
then:
lambda: |-
//set flag that we are running and from now on the switch changes lambda take effect
id(is_running) = true;
id(queue_empty_count) = id(queue_empty_count) + 1;
//restore display state
if (id(display_enabled)) {
ESP_LOGI("on_empty_queue", "set display on!");
//id(displaycontrol).turn_on();
id(rgb8x32)->set_display_on();
} else {
ESP_LOGI("on_empty_queue", "set display off!");
//id(displaycontrol).turn_off();
id(rgb8x32)->set_display_off();
}
//restore night mode (this adds the clock_screen)
if (id(night_mode_enabled)) {
ESP_LOGI("on_empty_queue", "set night mode on!");
id(rgb8x32)->set_night_mode_on();
} else {
ESP_LOGI("on_empty_queue", "set night mode off!");
id(rgb8x32)->set_night_mode_off();
}
//add date screen
id(rgb8x32)->date_screen(1440,5);
on_start_running:
then:
lambda: |-
//set flag that we are running and from now on the switch changes lambda take effect
id(is_running) = true;
//restore display state
if (id(display_enabled)) {
ESP_LOGI("on_empty_queue", "set display on!");
//id(displaycontrol).turn_on();
id(rgb8x32)->set_display_on();
} else {
ESP_LOGI("on_empty_queue", "set display off!");
//id(displaycontrol).turn_off();
id(rgb8x32)->set_display_off();
}
//restore night mode (this adds the clock_screen)
if (id(night_mode_enabled)) {
ESP_LOGI("on_empty_queue", "set night mode on!");
id(rgb8x32)->set_night_mode_on();
} else {
ESP_LOGI("on_empty_queue", "set night mode off!");
id(rgb8x32)->set_night_mode_off();
}
//add date screen
id(rgb8x32)->date_screen(1440,5);
on_next_screen:
- homeassistant.event:
event: esphome.new_screen
data_template:
iconname: !lambda "return icon.c_str();"
text: !lambda "return text.c_str();"
on_night_mode:
then:
lambda: |-
if (state) {
id(aab_enabled) = false;
id(rgb8x32)->clock_screen(1440,10,true,$night_mode_r,0,0);
id(rgb8x32)->set_brightness($night_mode_brightness);
} else {
id(aab_enabled) = true;
id(rgb8x32)->clock_screen(1440,10,true,255,255,255);
}
interval:
#workaround that clock doesnt disappear after lifetime
- interval: 720min
then:
lambda: |-
//restore night mode (this adds the clock_screen)
if (id(night_mode_enabled)) {
ESP_LOGI("interval", "set night mode on!");
id(rgb8x32)->set_night_mode_on();
} else {
ESP_LOGI("interval", "set night mode off!");
id(rgb8x32)->set_night_mode_off();
}
//add date screen
id(rgb8x32)->date_screen(1440,5);
#workaround that clock reboot when it loops
- interval: 1min
then:
lambda: |-
//check on empty queue count
//ESP_LOGI("interval", "empty queue counter is: %i", id(queue_empty_count));
if (id(queue_empty_count) > 10000) {
ESP_LOGI("interval", "empty queue is looping -> reboot");
id(reboot).press();
}
id(queue_empty_count) = 0;
# workaround for compiling errors on esphome 2023.07: https://github.com/lubeda/EspHoMaTriXv2/issues/62#issuecomment-1643052894
animation:
- id: animation_black
file: icons/black_1x1_EspHoMaTriX.gif
binary_sensor:
- platform: status
name: "Status"
- platform: gpio
pin:
number: $left_button_pin
inverted: true
name: "Left button"
on_press:
then:
- number.decrement: screen_brightness
- platform: gpio
pin:
inverted: true
number: $mid_button_pin
mode: INPUT_PULLUP
name: "Middle button"
on_press:
then:
- switch.toggle: displaycontrol
- platform: gpio
pin:
number: $right_button_pin
inverted: true
name: "Right button"
on_press:
then:
- number.increment: screen_brightness
# example to switch to next screen
# lambda: |-
# id(rgb8x32)->skip_screen();
# Enable Home Assistant API
api:
services:
- service: brightness_set
variables:
brightness: int
then:
lambda: |-
id(rgb8x32)->set_brightness(brightness);
- service: skip_screen
then:
lambda: |-
id(rgb8x32)->skip_screen();
#disabled, we dont need the buzzer
# - service: tuneplay
# variables:
# tune: string
# then:
# - rtttl.play:
# rtttl: !lambda 'return tune;'
number:
- platform: template
name: "Brightness"
id: screen_brightness
min_value: 0
max_value: 255
update_interval: 10s
step: 1
lambda: |-
return id(rgb8x32)->get_brightness();
set_action:
lambda: |-
id(rgb8x32)->set_brightness(x);
switch:
- platform: template
name: "Display"
id: displaycontrol
icon: "mdi:power"
restore_mode: ALWAYS_ON
lambda: |-
return id(rgb8x32)->show_display;
turn_on_action:
lambda: |-
//just execute when is_running, otherwise we would manipulate display_enabled on an not so good point in time
if(id(is_running) == true)
{
id(rgb8x32)->set_display_on();
id(display_enabled) = true;
}
turn_off_action:
lambda: |-
//just execute when is_running, otherwise we would manipulate display_enabled on an not so good point in time
if(id(is_running) == true)
{
id(rgb8x32)->set_display_off();
id(display_enabled) = false;
}
- platform: template
name: "Auto-Adjust Brightness"
id: switch_autobrightness
icon: mdi:brightness-auto
restore_mode: ALWAYS_ON
lambda: |-
return(id(aab_enabled));
turn_on_action:
lambda: |-
id(aab_enabled) = true;
turn_off_action:
lambda: |-
id(aab_enabled) = false;
- platform: template
name: "Night mode"
id: switch_night_mode
icon: mdi:sleep
restore_mode: ALWAYS_ON
lambda: |-
return id(rgb8x32)->night_mode;
turn_on_action:
lambda: |-
//just execute when is_running, otherwise we would manipulate night_mode_enabled on an not so good point in time
if(id(is_running) == true)
{
id(rgb8x32)->set_night_mode_on();
id(night_mode_enabled) = true;
}
turn_off_action:
lambda: |-
//just execute when is_running, otherwise we would manipulate night_mode_enabled on an not so good point in time
if(id(is_running) == true)
{
id(rgb8x32)->set_night_mode_off();
id(night_mode_enabled) = false;
}
sensor:
- platform: sht3xd
temperature:
name: "Temperature"
humidity:
name: "Humidity"
update_interval: 60s
- platform: adc
id: light_sensor
name: "Illuminance"
pin: $ldr_pin
device_class: illuminance
update_interval: 10s
attenuation: auto
unit_of_measurement: lx
accuracy_decimals: 0
filters:
- lambda: |-
return (x / 10000.0) * 2000000.0 - 15 ;
on_value:
then:
- lambda: |-
if ( id(aab_enabled) ) {
int n = x / 4 + id(aab_add); // new_value
if (n > id(aab_max)) n = id(aab_max);
if (n < $aab_min) n = $aab_min;
int c = id(rgb8x32)->get_brightness(); // current value
c = c>0?c:1 ;
int d = (n - c) * 100 / c; // diff in %
if ( abs(d) > 2 ) id(rgb8x32)->set_brightness(n);
}
#disabled, we dont need the buzzer
#output:
# - platform: ledc
# pin: $buzzer_pin
# id: rtttl_out
#rtttl:
# output: rtttl_out
#The hardware design of the ulanzi isn't perfect. If your ulanzi makes a crazy beeping noise after removinf the rtttl-component you may use this setting to make it silent again.
output:
- platform: gpio
pin: GPIO15
id: crazy_hardware_workaround
i2c:
sda: $sda_pin
scl: $scl_pin
scan: true
id: i2cbus
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: "Light"
restore_mode: ALWAYS_OFF
time:
- platform: homeassistant
on_time_sync:
then:
ds1307.write_time:
- platform: ds1307
update_interval: never
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();
Screenshots
If applicable, add screenshots to help explain your problem.
Logs
INFO ESPHome 2024.7.0
INFO Reading configuration /config/esphome/pixel-clock-sz.yaml...
INFO Updating https://github.com/lubeda/[email protected]
WARNING
WARNING Please check the documentation and wiki https://github.com/lubeda/EspHoMaTriXv2
WARNING This will only work with esphome >= 2023.7.0
WARNING
INFO Detected timezone 'Europe/Vienna'
INFO Detected timezone 'Europe/Vienna'
INFO Detected timezone 'Europe/Vienna'
WARNING GPIO15 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
INFO Starting log output from 192.168.0.147 using esphome API
INFO Successfully connected to pixel-clock-sz @ 192.168.0.147 in 0.028s
INFO Successful handshake with pixel-clock-sz @ 192.168.0.147 in 0.084s
[05:23:00][I][app:100]: ESPHome version 2024.6.1 compiled on Jun 23 2024, 09:43:27
[05:23:00][I][app:102]: Project Ulanzi.EHMTXv2 version 2.0.0
[05:23:00][C][wifi:599]: WiFi:
[05:23:00][C][wifi:427]: Local MAC: XXXXXXXXXXXX
[05:23:00][C][wifi:432]: SSID: 'WLANMEDIA'[redacted]
[05:23:00][C][wifi:435]: IP Address: 192.168.0.147
[05:23:00][C][wifi:439]: BSSID: XXXXXXXXXXXXX[redacted]
[05:23:00][C][wifi:440]: Hostname: 'pixel-clock-sz'
[05:23:00][C][wifi:442]: Signal strength: -22 dB ▂▄▆█
[05:23:00][C][wifi:446]: Channel: 6
[05:23:00][C][wifi:447]: Subnet: 255.255.255.0
[05:23:00][C][wifi:448]: Gateway: 192.168.0.254
[05:23:00][C][wifi:449]: DNS1: 192.168.0.254
[05:23:00][C][wifi:450]: DNS2: 0.0.0.0
[05:23:00][C][logger:185]: Logger:
[05:23:00][C][logger:186]: Level: DEBUG
[05:23:00][C][logger:188]: Log Baud Rate: 115200
[05:23:00][C][logger:189]: Hardware UART: UART0
[05:23:00][C][i2c.arduino:071]: I2C Bus:
[05:23:00][C][i2c.arduino:072]: SDA Pin: GPIO21
[05:23:00][C][i2c.arduino:073]: SCL Pin: GPIO22
[05:23:00][C][i2c.arduino:074]: Frequency: 50000 Hz
[05:23:00][C][i2c.arduino:086]: Recovery: bus successfully recovered
[05:23:00][I][i2c.arduino:096]: Results from i2c bus scan:
[05:23:00][I][i2c.arduino:102]: Found i2c device at address 0x44
[05:23:00][I][i2c.arduino:102]: Found i2c device at address 0x68
[05:23:00][C][uptime.sensor:031]: Uptime Sensor 'Uptime'
[05:23:00][C][uptime.sensor:031]: Device Class: 'duration'
[05:23:00][C][uptime.sensor:031]: State Class: 'total_increasing'
[05:23:00][C][uptime.sensor:031]: Unit of Measurement: 's'
[05:23:00][C][uptime.sensor:031]: Accuracy Decimals: 0
[05:23:00][C][uptime.sensor:031]: Icon: 'mdi:timer-outline'
[05:23:00][C][template.number:050]: Template Number 'Brightness'
[05:23:00][C][template.number:051]: Optimistic: NO
[05:23:00][C][template.number:052]: Update Interval: 10.0s
[05:23:00][C][gpio.output:010]: GPIO Binary Output:
[05:23:00][C][gpio.output:011]: Pin: GPIO15
[05:23:00][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'Left button'
[05:23:00][C][gpio.binary_sensor:016]: Pin: GPIO26
[05:23:00][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'Middle button'
[05:23:00][C][gpio.binary_sensor:016]: Pin: GPIO27
[05:23:00][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'Right button'
[05:23:00][C][gpio.binary_sensor:016]: Pin: GPIO14
[05:23:00][C][light:103]: Light 'Light'
[05:23:00][C][light:105]: Default Transition Length: 1.0s
[05:23:00][C][light:106]: Gamma Correct: 2.00
[05:23:00][D][EHMTXv2:1356]: on_empty_queue trigger
[05:23:00][I][on_empty_queue:184]: set display on!
[05:23:00][D][EHMTXv2:156]: display on
[05:23:00][I][on_empty_queue:195]: set night mode on!
[05:23:00][D][EHMTXv2:178]: night mode on
[05:23:00][D][EHMTXv2:2082]: clock_screen_color lifetime: 1440 screen_time: 10 red: 235 green: 0 blue: 0
[05:23:00][D][EHMTXv2:104]: queue: clock for: 10.0 sec
[05:23:00][I][EHMTXv2:2335]: set_brightness 20 => 7.84 %
[05:23:00][D][EHMTXv2:2096]: date_screen lifetime: 1440 screen_time: 5 red: 240 green: 240 blue: 240
[05:23:00][D][EHMTXv2:107]: queue: date for: 5.0 sec
[05:23:00][W][component:237]: Component display took a long time for an operation (62 ms).
[05:23:00][W][component:238]: Components should block for at most 30 ms.
[05:23:00][C][template.switch:068]: Template Switch 'Display'
[05:23:00][C][template.switch:070]: Icon: 'mdi:power'
[05:23:00][C][template.switch:091]: Restore Mode: always ON
[05:23:00][C][template.switch:057]: Optimistic: NO
[05:23:00][C][template.switch:068]: Template Switch 'Auto-Adjust Brightness'
[05:23:00][C][template.switch:070]: Icon: 'mdi:brightness-auto'
[05:23:00][C][template.switch:091]: Restore Mode: always ON
[05:23:00][C][template.switch:057]: Optimistic: NO
[05:23:00][C][template.switch:068]: Template Switch 'Night mode'
[05:23:00][C][template.switch:070]: Icon: 'mdi:sleep'
[05:23:00][C][template.switch:091]: Restore Mode: always ON
[05:23:00][C][template.switch:057]: Optimistic: NO
[05:23:00][C][homeassistant.time:010]: Home Assistant Time:
[05:23:00][C][homeassistant.time:011]: Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[05:23:00][C][ds1307:022]: DS1307:
[05:23:00][C][ds1307:023]: Address: 0x68
[05:23:00][C][ds1307:027]: Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[05:23:00][C][sht3xd:049]: SHT3xD:
[05:23:00][D][sht3xd:064]: Setup successful
[05:23:00][D][sht3xd:065]: Serial Number: 0x19E68417
[05:23:00][D][sht3xd:066]: Heater Enabled: false
[05:23:00][C][sht3xd:068]: Address: 0x44
[05:23:00][C][sht3xd:069]: Update Interval: 60.0s
[05:23:00][C][sht3xd:071]: Temperature 'Temperature'
[05:23:00][C][sht3xd:071]: Device Class: 'temperature'
[05:23:00][C][sht3xd:071]: State Class: 'measurement'
[05:23:00][C][sht3xd:071]: Unit of Measurement: '°C'
[05:23:00][C][sht3xd:071]: Accuracy Decimals: 1
[05:23:00][C][sht3xd:072]: Humidity 'Humidity'
[05:23:00][C][sht3xd:072]: Device Class: 'humidity'
[05:23:00][C][sht3xd:072]: State Class: 'measurement'
[05:23:00][C][sht3xd:072]: Unit of Measurement: '%'
[05:23:00][C][sht3xd:072]: Accuracy Decimals: 1
[05:23:00][C][adc:097]: ADC Sensor 'Illuminance'
[05:23:00][C][adc:097]: Device Class: 'illuminance'
[05:23:00][C][adc:097]: State Class: 'measurement'
[05:23:00][C][adc:097]: Unit of Measurement: 'lx'
[05:23:00][C][adc:097]: Accuracy Decimals: 0
[05:23:00][C][adc:107]: Pin: GPIO35
[05:23:00][C][adc:109]: Attenuation: auto
[05:23:00][C][adc:141]: Samples: 1
[05:23:00][C][adc:142]: Update Interval: 10.0s
[05:23:00][C][version.text_sensor:021]: Version Text Sensor 'Version'
[05:23:00][C][version.text_sensor:021]: Icon: 'mdi:new-box'
[05:23:00][C][restart.button:017]: Restart Button 'Reboot'
[05:23:00][C][status:034]: Status Binary Sensor 'Status'
[05:23:00][C][status:034]: Device Class: 'connectivity'
[05:23:00][C][homeassistant.time:010]: Home Assistant Time:
[05:23:00][C][homeassistant.time:011]: Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[05:23:00][C][captive_portal:088]: Captive Portal:
[05:23:00][C][web_server:173]: Web Server:
[05:23:00][C][web_server:174]: Address: pixel-clock-sz.local:80
[05:23:00][C][mdns:115]: mDNS:
[05:23:00][C][mdns:116]: Hostname: pixel-clock-sz
[05:23:00][C][esphome.ota:073]: Over-The-Air updates:
[05:23:00][C][esphome.ota:074]: Address: pixel-clock-sz.local:3232
[05:23:00][C][esphome.ota:075]: Version: 2
[05:23:00][C][esphome.ota:078]: Password configured
[05:23:00][C][safe_mode:018]: Safe Mode:
[05:23:00][C][safe_mode:020]: Boot considered successful after 60 seconds
[05:23:00][C][safe_mode:021]: Invoke after 10 boot attempts
[05:23:00][C][safe_mode:023]: Remain in safe mode for 300 seconds
[05:23:00][C][api:139]: API Server:
[05:23:00][C][api:140]: Address: pixel-clock-sz.local:6053
[05:23:00][C][api:142]: Using noise encryption: YES
[05:23:00][C][wifi_signal.sensor:009]: WiFi Signal 'Wifi Signal'
[05:23:00][C][wifi_signal.sensor:009]: Device Class: 'signal_strength'
[05:23:00][C][wifi_signal.sensor:009]: State Class: 'measurement'
[05:23:00][C][wifi_signal.sensor:009]: Unit of Measurement: 'dBm'
[05:23:00][C][wifi_signal.sensor:009]: Accuracy Decimals: 0
[05:23:00][C][wifi_info:009]: WifiInfo IPAddress 'IP Address'
[05:23:00][C][EHMTXv2:2951]: EspHoMatriXv2 version: 2024.5.0
[05:23:00][C][EHMTXv2:2952]: Icons: 28 of 90
[05:23:00][C][EHMTXv2:2953]: Clock interval: 20 s
[05:23:00][C][EHMTXv2:2954]: Date format: %d.%m
[05:23:00][C][EHMTXv2:2955]: Time format: %H:%M
[05:23:00][C][EHMTXv2:2956]: Interval (ms) scroll: 80
[05:23:00][C][EHMTXv2:2967]: Weekstart: Monday
[05:23:00][C][EHMTXv2:2968]: Weekdays: SOMODIMIDOFRSA Count: 14
[05:23:00][C][EHMTXv2:2969]: Display: On
[05:23:00][C][EHMTXv2:2970]: Night mode: On
[05:23:00][C][EHMTXv2:2971]: Weekday accent: Off
[05:23:00][C][EHMTXv2:2972]: Replace Time and Date: Off
[05:23:04][D][sensor:094]: 'Illuminance': Sending state 0.00000 lx with 0 decimals of accuracy
[05:23:05][D][number:012]: 'Brightness': Sending state 20.000000
[05:23:07][D][sensor:094]: 'Uptime': Sending state 2230661.25000 s with 0 decimals of accuracy
[05:23:14][D][sensor:094]: 'Illuminance': Sending state 0.00000 lx with 0 decimals of accuracy
[05:23:15][D][EHMTXv2:1356]: on_empty_queue trigger
[05:23:15][I][on_empty_queue:184]: set display on!
[05:23:15][D][EHMTXv2:156]: display on
[05:23:15][I][on_empty_queue:195]: set night mode on!
[05:23:15][D][EHMTXv2:178]: night mode on
[05:23:15][D][EHMTXv2:2082]: clock_screen_color lifetime: 1440 screen_time: 10 red: 235 green: 0 blue: 0
[05:23:15][D][EHMTXv2:104]: queue: clock for: 10.0 sec
[05:23:15][I][EHMTXv2:2335]: set_brightness 20 => 7.84 %
[05:23:15][D][EHMTXv2:2096]: date_screen lifetime: 1440 screen_time: 5 red: 240 green: 240 blue: 240
[05:23:15][D][EHMTXv2:107]: queue: date for: 5.0 sec
[05:23:15][W][component:237]: Component display took a long time for an operation (51 ms).
[05:23:15][W][component:238]: Components should block for at most 30 ms.
[05:23:15][D][number:012]: 'Brightness': Sending state 20.000000
[05:23:24][D][sensor:094]: 'Illuminance': Sending state 0.00000 lx with 0 decimals of accuracy
[05:23:24][D][sht3xd:097]: Got temperature=35.70°C humidity=42.13%
[05:23:24][D][sensor:094]: 'Temperature': Sending state 35.70000 °C with 1 decimals of accuracy
[05:23:24][D][sensor:094]: 'Humidity': Sending state 42.13169 % with 1 decimals of accuracy
[05:23:25][D][number:012]: 'Brightness': Sending state 20.000000
[05:23:30][D][EHMTXv2:1356]: on_empty_queue trigger
[05:23:30][I][on_empty_queue:184]: set display on!
[05:23:30][D][EHMTXv2:156]: display on
[05:23:30][I][on_empty_queue:195]: set night mode on!
[05:23:30][D][EHMTXv2:178]: night mode on
[05:23:30][D][EHMTXv2:2082]: clock_screen_color lifetime: 1440 screen_time: 10 red: 235 green: 0 blue: 0
[05:23:30][D][EHMTXv2:104]: queue: clock for: 10.0 sec
[05:23:30][I][EHMTXv2:2335]: set_brightness 20 => 7.84 %
[05:23:30][D][EHMTXv2:2096]: date_screen lifetime: 1440 screen_time: 5 red: 240 green: 240 blue: 240
[05:23:30][D][EHMTXv2:107]: queue: date for: 5.0 sec
[05:23:30][W][component:237]: Component display took a long time for an operation (53 ms).
[05:23:30][W][component:238]: Components should block for at most 30 ms.
[05:23:32][D][sensor:094]: 'Wifi Signal': Sending state -21.00000 dBm with 0 decimals of accuracy
[05:23:34][D][sensor:094]: 'Illuminance': Sending state 0.00000 lx with 0 decimals of accuracy
[05:23:35][D][number:012]: 'Brightness': Sending state 20.000000
[05:23:44][D][sensor:094]: 'Illuminance': Sending state 0.00000 lx with 0 decimals of accuracy
[05:23:45][D][EHMTXv2:1356]: on_empty_queue trigger
[05:23:45][I][on_empty_queue:184]: set display on!
[05:23:45][D][EHMTXv2:156]: display on
[05:23:45][I][on_empty_queue:195]: set night mode on!
[05:23:45][D][EHMTXv2:178]: night mode on
[05:23:45][D][EHMTXv2:2082]: clock_screen_color lifetime: 1440 screen_time: 10 red: 235 green: 0 blue: 0
[05:23:45][D][EHMTXv2:104]: queue: clock for: 10.0 sec
[05:23:45][I][EHMTXv2:2335]: set_brightness 20 => 7.84 %
[05:23:45][D][EHMTXv2:2096]: date_screen lifetime: 1440 screen_time: 5 red: 240 green: 240 blue: 240
[05:23:45][D][EHMTXv2:107]: queue: date for: 5.0 sec
[05:23:45][W][component:237]: Component display took a long time for an operation (59 ms).
[05:23:45][W][component:238]: Components should block for at most 30 ms.
[05:23:45][D][number:012]: 'Brightness': Sending state 20.000000
[05:23:54][D][sensor:094]: 'Illuminance': Sending state 0.00000 lx with 0 decimals of accuracy
[05:23:55][D][number:012]: 'Brightness': Sending state 20.000000
[05:24:00][D][EHMTXv2:1356]: on_empty_queue trigger
[05:24:00][I][on_empty_queue:184]: set display on!
[05:24:00][D][EHMTXv2:156]: display on
[05:24:00][I][on_empty_queue:195]: set night mode on!
[05:24:00][D][EHMTXv2:178]: night mode on
[05:24:00][D][EHMTXv2:2082]: clock_screen_color lifetime: 1440 screen_time: 10 red: 235 green: 0 blue: 0
[05:24:00][D][EHMTXv2:104]: queue: clock for: 10.0 sec
[05:24:00][I][EHMTXv2:2335]: set_brightness 20 => 7.84 %
[05:24:00][D][EHMTXv2:2096]: date_screen lifetime: 1440 screen_time: 5 red: 240 green: 240 blue: 240
[05:24:00][D][EHMTXv2:107]: queue: date for: 5.0 sec
[05:24:00][W][component:237]: Component display took a long time for an operation (53 ms).
[05:24:00][W][component:238]: Components should block for at most 30 ms.
[05:24:04][D][sensor:094]: 'Illuminance': Sending state 0.00000 lx with 0 decimals of accuracy
[05:24:05][D][number:012]: 'Brightness': Sending state 20.000000
[05:24:07][D][sensor:094]: 'Uptime': Sending state 2230721.25000 s with 0 decimals of accuracy
[05:24:14][D][sensor:094]: 'Illuminance': Sending state 0.00000 lx with 0 decimals of accuracy
[05:24:15][D][number:012]: 'Brightness': Sending state 20.000000
[05:24:15][D][EHMTXv2:1356]: on_empty_queue trigger
[05:24:15][I][on_empty_queue:184]: set display on!
[05:24:15][D][EHMTXv2:156]: display on
[05:24:15][I][on_empty_queue:195]: set night mode on!
[05:24:15][D][EHMTXv2:178]: night mode on
[05:24:15][D][EHMTXv2:2082]: clock_screen_color lifetime: 1440 screen_time: 10 red: 235 green: 0 blue: 0
[05:24:15][D][EHMTXv2:104]: queue: clock for: 10.0 sec
[05:24:15][I][EHMTXv2:2335]: set_brightness 20 => 7.84 %
[05:24:15][D][EHMTXv2:2096]: date_screen lifetime: 1440 screen_time: 5 red: 240 green: 240 blue: 240
[05:24:15][D][EHMTXv2:107]: queue: date for: 5.0 sec
[05:24:15][W][component:237]: Component display took a long time for an operation (56 ms).
[05:24:15][W][component:238]: Components should block for at most 30 ms.
[05:24:24][D][sensor:094]: 'Illuminance': Sending state 0.00000 lx with 0 decimals of accuracy
[05:24:24][D][sht3xd:097]: Got temperature=35.74°C humidity=42.05%
[05:24:24][D][sensor:094]: 'Temperature': Sending state 35.74273 °C with 1 decimals of accuracy
[05:24:24][D][sensor:094]: 'Humidity': Sending state 42.05386 % with 1 decimals of accuracy
[05:24:25][D][number:012]: 'Brightness': Sending state 20.000000
[05:24:30][D][EHMTXv2:1356]: on_empty_queue trigger
[05:24:30][I][on_empty_queue:184]: set display on!
[05:24:30][D][EHMTXv2:156]: display on
[05:24:30][I][on_empty_queue:195]: set night mode on!
[05:24:30][D][EHMTXv2:178]: night mode on
[05:24:30][D][EHMTXv2:2082]: clock_screen_color lifetime: 1440 screen_time: 10 red: 235 green: 0 blue: 0
[05:24:30][D][EHMTXv2:104]: queue: clock for: 10.0 sec
[05:24:30][I][EHMTXv2:2335]: set_brightness 20 => 7.84 %
[05:24:30][D][EHMTXv2:2096]: date_screen lifetime: 1440 screen_time: 5 red: 240 green: 240 blue: 240
[05:24:30][D][EHMTXv2:107]: queue: date for: 5.0 sec
[05:24:30][W][component:237]: Component display took a long time for an operation (51 ms).
[05:24:30][W][component:238]: Components should block for at most 30 ms.
[05:24:32][D][sensor:094]: 'Wifi Signal': Sending state -21.00000 dBm with 0 decimals of accuracy
[05:24:34][D][sensor:094]: 'Illuminance': Sending state 0.00000 lx with 0 decimals of accuracy
[05:24:35][D][number:012]: 'Brightness': Sending state 20.000000
[05:24:44][D][sensor:094]: 'Illuminance': Sending state 0.00000 lx with 0 decimals of accuracy
[05:24:45][D][number:012]: 'Brightness': Sending state 20.000000
[05:24:46][D][EHMTXv2:1356]: on_empty_queue trigger
[05:24:46][I][on_empty_queue:184]: set display on!
[05:24:46][D][EHMTXv2:156]: display on
[05:24:46][I][on_empty_queue:195]: set night mode on!
[05:24:46][D][EHMTXv2:178]: night mode on
[05:24:46][D][EHMTXv2:2082]: clock_screen_color lifetime: 1440 screen_time: 10 red: 235 green: 0 blue: 0
[05:24:46][D][EHMTXv2:104]: queue: clock for: 10.0 sec
[05:24:46][I][EHMTXv2:2335]: set_brightness 20 => 7.84 %
[05:24:46][D][EHMTXv2:2096]: date_screen lifetime: 1440 screen_time: 5 red: 240 green: 240 blue: 240
[05:24:46][D][EHMTXv2:107]: queue: date for: 5.0 sec
[05:24:54][D][sensor:094]: 'Illuminance': Sending state 0.00000 lx with 0 decimals of accuracy
[05:24:55][D][number:012]: 'Brightness': Sending state 20.000000
[05:25:01][D][EHMTXv2:1356]: on_empty_queue trigger
[05:25:01][I][on_empty_queue:184]: set display on!
[05:25:01][D][EHMTXv2:156]: display on
[05:25:01][I][on_empty_queue:195]: set night mode on!
[05:25:01][D][EHMTXv2:178]: night mode on
[05:25:01][D][EHMTXv2:2082]: clock_screen_color lifetime: 1440 screen_time: 10 red: 235 green: 0 blue: 0
[05:25:01][D][EHMTXv2:104]: queue: clock for: 10.0 sec
[05:25:01][I][EHMTXv2:2335]: set_brightness 20 => 7.84 %
[05:25:01][D][EHMTXv2:2096]: date_screen lifetime: 1440 screen_time: 5 red: 240 green: 240 blue: 240
[05:25:01][D][EHMTXv2:107]: queue: date for: 5.0 sec
[05:25:01][W][component:237]: Component display took a long time for an operation (57 ms).
[05:25:01][W][component:238]: Components should block for at most 30 ms.
The text was updated successfully, but these errors were encountered:
I'm just going to interject. Sorry if I can't analyze your problem more deeply (and I'm certainly on an older version of EHMTXv2 than you)...
Is it possible your Home Assistant automation triggered the blank screen instead?
I encountered hours of black screens simply because my weather service was down and the HA Yaml had no error-checking so the script never got past the step it was crashing at.
@trip5 thx for trying to help, appreciate that.
No i think not that my HA instance is ever sending clear/blank screen.
Checked my scripts for that.
Also in this case there is no issue with the weather sensor.
My clock was in "night mode" and it's configured to not show weather in night mode.
It was not home assistant which was crashing, it was maybe an bug in the clock firmware.
It should just show the clock which does my "on_empty_queue" yaml.
Bug report
Describe the bug
I woke up in the middle of the night and the clock was empty (black).
It seems
Additional information
To Reproduce
Use the config provided and activate night mode.
Sadly, this happens really rare :-(
As you can see, on_empty_queue() was called every 15 seconds, which called set_night_mode_on() which finally set an clock_screen with 1440 minutes.
Why this happens every 15 seonds!?
Expected behavior
No unexpected on_empty_queue loop.
Configuration
Screenshots
If applicable, add screenshots to help explain your problem.
Logs
The text was updated successfully, but these errors were encountered: