Dzięki udało się zrobić włącznie/wyłączanie ekranu przez GPO2. Przydało by się jeszcze znaleść miejsce na przycisk. ;). Baterii nie wykorzystuję bo zasilanie ma podane z UPS. Więc może tu można by było podpiąć przycisk ?
BME280 faktycznie chyba nie ma a w tym miejscu jest MPU6050.
O jakości zdjęć faktycznie nie pomyślałem wrzucam poniżej.
Kod w Yaml poniżej. Oczywiście trochę tam bałagan więc prośba nie …
esphome:
name: wizjer-korytarz
friendly_name: Wizjer korytarz
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
captive_portal:
# Example configuration entry
esp32_camera:
name: wizjer-drzwi
external_clock:
pin: GPIO4
frequency: 20MHz
i2c_pins:
sda: GPIO18
scl: GPIO23
data_pins: [GPIO34, GPIO13, GPIO26, GPIO35, GPIO39, GPIO38, GPIO37, GPIO36]
vsync_pin: GPIO5
href_pin: GPIO27
pixel_clock_pin: GPIO25
#horizontal_mirror: false
# Image settings
resolution: 800x600
jpeg_quality: 30
vertical_flip: true
horizontal_mirror: true
#idle_framerate: 0.2fps
#max_framerate: 24fps
esp32_camera_web_server:
- port: 7029
mode: stream
font:
- file: "./fonts/PontanoSans.ttf"
id: helvetica_48
size: 48
- file: "./fonts/PontanoSans.ttf"
id: helvetica_38
size: 38
- file: "./fonts/PontanoSans.ttf"
id: helvetica_32
size: 32
- file: "./fonts/PontanoSans.ttf"
id: helvetica_28
size: 28
- file: "./fonts/PontanoSans.ttf"
id: helvetica_24
size: 24
glyphs:
['&', '@', '!', ',', '.', '"', '%', '+', '-', '_', ':', '°', '0',
'1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'Ą', 'B', 'C', 'Ć', 'D', 'E', 'Ę',
'F', 'G', 'H', 'I', 'J', 'K', 'L', 'Ł', 'M', 'N', 'Ń', 'O', 'Ó', 'P', 'Q',
'R', 'S', 'Ś', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'Ż', 'Ź', ' ', 'a', 'ą', 'b', 'c', 'ć',
'd', 'e', 'ę', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'ł', 'm', 'n', 'ń', 'o', 'ó',
'p', 'q', 'r', 's', 'ś', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'ż', 'ź', '/']
- file: "./fonts/PontanoSans.ttf"
id: helvetica_18
size: 18
- file: "./fonts/PontanoSans.ttf"
id: helvetica_12
size: 12
- file: "./fonts/materialdesignicons-webfont.ttf"
id: icons_weather
size: 48
glyphs:
- "\U000F0594" # clear-night
- "\U000F0590" # cloudy
- "\U000F0595" # partlycloudy
- "\U000F0591" # fog
- "\U000F0592" # hail
- "\U000F0593" # lightning
- "\U000F067E" # lightning-rainy
- "\U000F0596" # pouring
- "\U000F0597" # rainy
- "\U000F0F36" # snowy
- "\U000F067F" # snowy-rainy
- "\U000F0599" # sunny
- "\U000F059D" # windy
- "\U000F059E" # windy-variant
- "\U000F0F38" # exceptional
- file: './fonts/materialdesignicons-webfont.ttf'
id: display_icons_32
size: 32
glyphs:
- "\U000F0F55" # Home in
- "\U000F0F54" # Home out
- "\U000F181D" # Kitchen
- "\U000F18D7" # Outside Sensor
- file: './fonts/materialdesignicons-webfont.ttf'
id: display_icons_100
size: 100
glyphs:
- "\U000F10AF" # Door off
- "\U000F081C" # Door on
# Example minimal configuration entry
spi:
clk_pin: GPIO21
mosi_pin: GPIO19
color:
- id: my_red
red: 100%
green: 0%
blue: 0%
- id: my_green
red: 0%
green: 100%
blue: 0%
- id: my_blue
red: 0%
green: 0%
blue: 100%
- id: my_yellow
red: 100%
green: 100%
blue: 0%
time:
- platform: homeassistant
id: esptime
display:
- platform: st7789v
id: disp
model: Adafruit Funhouse 240x240
backlight_pin: GPIO2
cs_pin: GPIO12
dc_pin: GPIO15
reset_pin: GPIO23 #22 dummy entry
rotation: 0
update_interval: 60s
pages:
- id: page1
lambda: |-
// it.strftime(0, 0, id(helvetica_24), " %H:%M:%S ", id(esptime).now());
it.printf(120, 2, id(helvetica_24), TextAlign::TOP_CENTER, "%s", id(fullDATE).state.c_str());
// it.strftime(120, 2, id(helvetica_24), id(my_red), TextAlign::TOP_CENTER, "%B %d %A", id(esptime).now());
it.strftime(120, 35, id(helvetica_38), TextAlign::TOP_CENTER, "%H:%M", id(esptime).now());
// Print inside temperature (from homeassistant sensor)
it.printf(162, 93, id(display_icons_32), id(my_green), TextAlign::TOP_RIGHT, "\U000F0F55");
if (id(inside_temperature).has_state()) {
it.printf(239, 90, id(helvetica_32), id(my_green), TextAlign::TOP_RIGHT , "%.1f°", id(inside_temperature).state);
}
// Print outside temperature (from homeassistant sensor)
it.printf(5, 93, id(display_icons_32), TextAlign::TOP_LEFT, "\U000F0F54");
if (id(outside_temperature).has_state()) {
it.printf(42, 90, id(helvetica_32), TextAlign::TOP_LEFT, "%.1f°", id(outside_temperature).state);
}
// if (id(H1Time).has_state()) {
// it.printf(5, 150, id(helvetica_32), TextAlign::TOP_LEFT , "%.1f°", id(H1Time).state);
// }
// Godzina nad pogoda
it.printf(5, 145, id(helvetica_18), TextAlign::TOP_LEFT, "%s", id(H1Time).state.c_str());
it.printf(63, 145, id(helvetica_18), TextAlign::TOP_LEFT, "%s", id(H2Time).state.c_str());
it.printf(126, 145, id(helvetica_18), TextAlign::TOP_LEFT, "%s", id(H3Time).state.c_str());
it.printf(189, 145, id(helvetica_18), TextAlign::TOP_LEFT, "%s", id(H4Time).state.c_str());
// temperatura pod pogoda
if (id(h1TEMP).has_state()) {
it.printf(28, 230, id(helvetica_18), TextAlign::BOTTOM_CENTER , "%2.0f", id(h1TEMP).state);}
if (id(h2TEMP).has_state()) {
it.printf(95, 230, id(helvetica_18), TextAlign::BOTTOM_CENTER , "%2.0f", id(h2TEMP).state);}
if (id(h3TEMP).has_state()) {
it.printf(152, 230, id(helvetica_18), TextAlign::BOTTOM_CENTER, "%2.0f", id(h3TEMP).state);}
if (id(h4TEMP).has_state()) {
it.printf(209, 230, id(helvetica_18), TextAlign::BOTTOM_CENTER, "%2.0f", id(h4TEMP).state);}
// main weather hourly 1 icon
if (id(H1Condition).state == "clear-night") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0594");}
if (id(H1Condition).state == "cloudy") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0590");}
if (id(H1Condition).state == "partlycloudy") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0595");}
if (id(H1Condition).state == "fog") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0591");}
if (id(H1Condition).state == "hail") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0592");}
if (id(H1Condition).state == "lightning") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0593");}
if (id(H1Condition).state == "lightning-rainy") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F067E");}
if (id(H1Condition).state == "pouring") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0596");}
if (id(H1Condition).state == "rainy") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0597");}
if (id(H1Condition).state == "snowy") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0F36");}
if (id(H1Condition).state == "snowy-rainy") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F067F");}
if (id(H1Condition).state == "sunny") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0599");}
if (id(H1Condition).state == "windy") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F059D");}
if (id(H1Condition).state == "windy-variant") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F059E");}
if (id(H1Condition).state == "exceptional") {
it.printf(28, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0F38");}
// main weather hourly 2 icon
if (id(H2Condition).state == "clear-night") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0594");}
if (id(H2Condition).state == "cloudy") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0590");}
if (id(H2Condition).state == "partlycloudy") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0595");}
if (id(H2Condition).state == "fog") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F04291");}
if (id(H2Condition).state == "hail") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0592");}
if (id(H2Condition).state == "lightning") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0593");}
if (id(H2Condition).state == "lightning-rainy") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F067E");}
if (id(H2Condition).state == "pouring") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0596");}
if (id(H2Condition).state == "rainy") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0597");}
if (id(H2Condition).state == "snowy") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0F36");}
if (id(H2Condition).state == "snowy-rainy") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F067F");}
if (id(H2Condition).state == "sunny") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0599");}
if (id(H2Condition).state == "windy") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0429D");}
if (id(H2Condition).state == "windy-variant") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F059E");}
if (id(H2Condition).state == "exceptional") {
it.printf(95, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0F38");}
// main weather hourly 3 icon
if (id(H3Condition).state == "clear-night") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0594");}
if (id(H3Condition).state == "cloudy") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0590");}
if (id(H3Condition).state == "partlycloudy") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0595");}
if (id(H3Condition).state == "fog") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F04291");}
if (id(H3Condition).state == "hail") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0592");}
if (id(H3Condition).state == "lightning") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0593");}
if (id(H3Condition).state == "lightning-rainy") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F067E");}
if (id(H3Condition).state == "pouring") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0596");}
if (id(H3Condition).state == "rainy") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0597");}
if (id(H3Condition).state == "snowy") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0F36");}
if (id(H3Condition).state == "snowy-rainy") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F067F");}
if (id(H3Condition).state == "sunny") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0599");}
if (id(H3Condition).state == "windy") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0429D");}
if (id(H3Condition).state == "windy-variant") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F059E");}
if (id(H3Condition).state == "exceptional") {
it.printf(152, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0F38");}
// main weather hourly 4 icon
if (id(H4Condition).state == "clear-night") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0594");}
if (id(H4Condition).state == "cloudy") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0590");}
if (id(H4Condition).state == "partlycloudy") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0595");}
if (id(H4Condition).state == "fog") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F04291");}
if (id(H4Condition).state == "hail") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0592");}
if (id(H4Condition).state == "lightning") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0593");}
if (id(H4Condition).state == "lightning-rainy") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F067E");}
if (id(H4Condition).state == "pouring") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0596");}
if (id(H4Condition).state == "rainy") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0597");}
if (id(H4Condition).state == "snowy") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0F36");}
if (id(H4Condition).state == "snowy-rainy") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F067F");}
if (id(H4Condition).state == "sunny") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0599");}
if (id(H4Condition).state == "windy") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0429D");}
if (id(H4Condition).state == "windy-variant") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F059E");}
if (id(H4Condition).state == "exceptional") {
it.printf(209, 210, id(icons_weather), TextAlign::BOTTOM_CENTER, "\U000F0F38");}
- id: page2
lambda: |-
// it.strftime(0, 0, id(helvetica_24), " %H:%M:%S ", id(esptime).now());
it.printf(120, 2, id(helvetica_24), TextAlign::TOP_CENTER, "%s", id(fullDATE).state.c_str());
// it.strftime(120, 2, id(helvetica_24), id(my_red), TextAlign::TOP_CENTER, "%B %d %A", id(esptime).now());
it.strftime(120, 35, id(helvetica_38), TextAlign::TOP_CENTER, "%H:%M", id(esptime).now());
if (id(door).state == "off") {
it.printf(120, 120, id(display_icons_100), id(my_green), TextAlign::TOP_CENTER, "\U000F10AF");}
else {
it.printf(120, 120, id(display_icons_100), id(my_red), TextAlign::TOP_CENTER, "\U000F081C");}
#on_...:
# - display.page.show_next: disp
# - display.page.show_previous: disp
# For example cycle through pages on a timer
interval:
- interval: 5s
then:
- display.page.show_next: disp
- component.update: disp
i2c:
sda: GPIO18
scl: GPIO23
scan: true
id: bus_a
light:
- platform: binary
name: "Ekran"
output: ekran_output
output:
- id: ekran_output
platform: gpio
pin: GPIO02
sensor:
- platform: mpu6050
address: 0x30
accel_x:
name: "MPU6050 Accel X"
accel_y:
name: "MPU6050 Accel Y"
accel_z:
name: "MPU6050 Accel z"
gyro_x:
name: "MPU6050 Gyro X"
gyro_y:
name: "MPU6050 Gyro Y"
gyro_z:
name: "MPU6050 Gyro z"
temperature:
name: "MPU6050 Temperature"
- platform: homeassistant
id: inside_temperature
entity_id: sensor.termometr_korytarz_temperature
internal: true
- platform: homeassistant
id: outside_temperature
entity_id: sensor.termometr_zewnetrzny_temperature
internal: true
- platform: homeassistant
name: "Hourly-1 TEMP"
entity_id: sensor.hourly_1_temp
unit_of_measurement: "°C"
accuracy_decimals: 0
id: h1TEMP
internal: true
- platform: homeassistant
name: "Hourly-2 TEMP"
entity_id: sensor.hourly_2_temp
unit_of_measurement: "°C"
accuracy_decimals: 0
id: h2TEMP
internal: true
- platform: homeassistant
name: "Hourly-3 TEMP"
entity_id: sensor.hourly_3_temp
unit_of_measurement: "°C"
accuracy_decimals: 0
id: h3TEMP
internal: true
- platform: homeassistant
name: "Hourly-4 TEMP"
entity_id: sensor.hourly_4_temp
unit_of_measurement: "°C"
accuracy_decimals: 0
id: h4TEMP
internal: true
text_sensor:
- platform: homeassistant
id: door
entity_id: binary_sensor.front_door_lock_contact
internal: true
- platform: homeassistant
name: "Poland Full Date"
entity_id: sensor.fulldate
id: fullDATE
internal: true
- platform: homeassistant
name: "Hourly-1 FORECAST"
entity_id: sensor.hourly_1_condition
id: H1Condition
internal: true
- platform: homeassistant
id: H1Time
entity_id: sensor.hourly_1_time
internal: true
- platform: homeassistant
name: "Hourly-2 FORECAST"
entity_id: sensor.hourly_2_condition
id: H2Condition
internal: true
- platform: homeassistant
id: H2Time
entity_id: sensor.hourly_2_time
internal: true
- platform: homeassistant
name: "Hourly-3 FORECAST"
entity_id: sensor.hourly_3_condition
id: H3Condition
internal: true
- platform: homeassistant
id: H3Time
entity_id: sensor.hourly_3_time
internal: true
- platform: homeassistant
name: "Hourly-4 FORECAST"
entity_id: sensor.hourly_4_condition
id: H4Condition
internal: true
- platform: homeassistant
id: H4Time
entity_id: sensor.hourly_4_time
internal: true
script:
- id: all_data_received
then:
- component.update: disp
Jeszcze nie mogę ogarnąć i2c wysypuje mi błędy.
Poniżej log.
INFO ESPHome 2023.8.2
INFO Reading configuration /config/esphome/wizjer-korytarz.yaml...
WARNING GPIO4 is a Strapping PIN and should be avoided.
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 Detected timezone 'Europe/Warsaw'
WARNING GPIO2 is a Strapping PIN and should be avoided.
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
WARNING GPIO12 is a Strapping PIN and should be avoided.
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
WARNING GPIO15 is a Strapping PIN and should be avoided.
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
WARNING GPIO2 is a Strapping PIN and should be avoided.
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 Waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from wizjer-korytarz.local using esphome API
INFO Successfully connected to wizjer-korytarz.local
[14:08:25][I][app:102]: ESPHome version 2023.8.2 compiled on Sep 10 2023, 14:07:45
[14:08:25][C][logger:301]: Logger:
[14:08:25][C][logger:302]: Level: DEBUG
[14:08:25][C][logger:303]: Log Baud Rate: 115200
[14:08:25][C][logger:305]: Hardware UART: UART0
[14:08:25][C][spi:125]: SPI bus:
[14:08:25][C][spi:126]: CLK Pin: GPIO21
[14:08:25][C][spi:128]: MOSI Pin: GPIO19
[14:08:25][C][spi:130]: Using HW SPI: YES
[14:08:25][C][i2c.arduino:053]: I2C Bus:
[14:08:25][C][i2c.arduino:054]: SDA Pin: GPIO18
[14:08:25][C][i2c.arduino:055]: SCL Pin: GPIO23
[14:08:25][C][i2c.arduino:056]: Frequency: 50000 Hz
[14:08:25][C][i2c.arduino:059]: Recovery: bus successfully recovered
[14:08:25][I][i2c.arduino:069]: Results from i2c bus scan:
[14:08:25][I][i2c.arduino:075]: Found i2c device at address 0x30
[14:08:25][I][i2c.arduino:075]: Found i2c device at address 0x68
[14:08:25][I][i2c.arduino:075]: Found i2c device at address 0x75
[14:08:25][C][gpio.output:010]: GPIO Binary Output:
[14:08:25][C][gpio.output:011]: Pin: GPIO2
[14:08:25][C][light:103]: Light 'Ekran'
[14:08:25][C][esp32_camera:048]: ESP32 Camera:
[14:08:25][C][esp32_camera:049]: Name: wizjer-drzwi
[14:08:25][C][esp32_camera:050]: Internal: NO
[14:08:25][C][esp32_camera:052]: Data Pins: D0:34 D1:13 D2:26 D3:35 D4:39 D5:38 D6:37 D7:36
[14:08:25][C][esp32_camera:053]: VSYNC Pin: 5
[14:08:25][C][esp32_camera:054]: HREF Pin: 27
[14:08:25][C][esp32_camera:055]: Pixel Clock Pin: 25
[14:08:25][C][esp32_camera:056]: External Clock: Pin:4 Frequency:20000000
[14:08:25][C][esp32_camera:060]: I2C Pins: SDA:18 SCL:23
[14:08:25][C][esp32_camera:062]: Reset Pin: -1
[14:08:25][C][esp32_camera:083]: Resolution: 800x600 (SVGA)
[14:08:25][C][esp32_camera:129]: JPEG Quality: 30
[14:08:25][C][esp32_camera:131]: Contrast: 0
[14:08:25][C][esp32_camera:132]: Brightness: 0
[14:08:25][C][esp32_camera:133]: Saturation: 0
[14:08:25][C][esp32_camera:134]: Vertical Flip: ON
[14:08:25][C][esp32_camera:135]: Horizontal Mirror: ON
[14:08:25][C][esp32_camera:136]: Special Effect: 0
[14:08:25][C][esp32_camera:137]: White Balance Mode: 0
[14:08:25][C][esp32_camera:140]: Auto Exposure Control: 1
[14:08:25][C][esp32_camera:141]: Auto Exposure Control 2: 0
[14:08:25][C][esp32_camera:142]: Auto Exposure Level: 0
[14:08:25][C][esp32_camera:143]: Auto Exposure Value: 300
[14:08:25][C][esp32_camera:144]: AGC: 1
[14:08:25][C][esp32_camera:145]: AGC Gain: 0
[14:08:25][C][esp32_camera:146]: Gain Ceiling: 0
[14:08:25][C][esp32_camera:152]: Test Pattern: NO
[14:08:25][C][homeassistant.time:010]: Home Assistant Time:
[14:08:25][C][homeassistant.time:011]: Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[14:08:25][C][mpu6050:086]: MPU6050:
[14:08:25][C][mpu6050:087]: Address: 0x30
[14:08:25][E][mpu6050:089]: Communication with MPU6050 failed!
[14:08:25][C][mpu6050:091]: Update Interval: 60.0s
[14:08:25][C][mpu6050:092]: Acceleration X 'MPU6050 Accel X'
[14:08:25][C][mpu6050:092]: State Class: 'measurement'
[14:08:25][C][mpu6050:092]: Unit of Measurement: 'm/s²'
[14:08:25][C][mpu6050:092]: Accuracy Decimals: 2
[14:08:25][C][mpu6050:092]: Icon: 'mdi:briefcase-download'
[14:08:25][C][mpu6050:093]: Acceleration Y 'MPU6050 Accel Y'
[14:08:25][C][mpu6050:093]: State Class: 'measurement'
[14:08:25][C][mpu6050:093]: Unit of Measurement: 'm/s²'
[14:08:25][C][mpu6050:093]: Accuracy Decimals: 2
[14:08:25][C][mpu6050:093]: Icon: 'mdi:briefcase-download'
[14:08:25][C][mpu6050:094]: Acceleration Z 'MPU6050 Accel z'
[14:08:25][C][mpu6050:094]: State Class: 'measurement'
[14:08:25][C][mpu6050:094]: Unit of Measurement: 'm/s²'
[14:08:25][C][mpu6050:094]: Accuracy Decimals: 2
[14:08:25][C][mpu6050:094]: Icon: 'mdi:briefcase-download'
[14:08:25][C][mpu6050:095]: Gyro X 'MPU6050 Gyro X'
[14:08:25][C][mpu6050:095]: State Class: 'measurement'
[14:08:25][C][mpu6050:095]: Unit of Measurement: '°/s'
[14:08:25][C][mpu6050:095]: Accuracy Decimals: 2
[14:08:25][C][mpu6050:095]: Icon: 'mdi:screen-rotation'
[14:08:25][C][mpu6050:096]: Gyro Y 'MPU6050 Gyro Y'
[14:08:25][C][mpu6050:096]: State Class: 'measurement'
[14:08:25][C][mpu6050:096]: Unit of Measurement: '°/s'
[14:08:25][C][mpu6050:096]: Accuracy Decimals: 2
[14:08:25][C][mpu6050:096]: Icon: 'mdi:screen-rotation'
[14:08:25][C][mpu6050:097]: Gyro Z 'MPU6050 Gyro z'
[14:08:25][C][mpu6050:097]: State Class: 'measurement'
[14:08:25][C][mpu6050:097]: Unit of Measurement: '°/s'
[14:08:25][C][mpu6050:097]: Accuracy Decimals: 2
[14:08:25][C][mpu6050:097]: Icon: 'mdi:screen-rotation'
[14:08:25][C][mpu6050:098]: Temperature 'MPU6050 Temperature'
[14:08:25][C][mpu6050:098]: Device Class: 'temperature'
[14:08:25][C][mpu6050:098]: State Class: 'measurement'
[14:08:25][C][mpu6050:098]: Unit of Measurement: '°C'
[14:08:25][C][mpu6050:098]: Accuracy Decimals: 1
[14:08:25][D][esp32_camera:196]: Got Image: len=12811
[14:08:25][C][psram:020]: PSRAM:
[14:08:25][C][psram:021]: Available: YES
[14:08:25][C][psram:024]: Size: 4095 KB
[14:08:25][D][esp32_camera_web_server:198]: MJPG: 12811B 150ms (6.7fps)
[14:08:25][C][st7789v:123]: SPI ST7789V
[14:08:25][C][st7789v:123]: Rotations: 0 °
[14:08:25][C][st7789v:123]: Dimensions: 240px x 240px
[14:08:25][C][st7789v:124]: Model: Adafruit Funhouse 240x240
[14:08:25][C][st7789v:129]: 8-bit color mode: NO
[14:08:25][C][st7789v:130]: CS Pin: GPIO12
[14:08:25][C][st7789v:131]: DC Pin: GPIO15
[14:08:25][C][st7789v:132]: Reset Pin: GPIO23
[14:08:25][C][st7789v:133]: B/L Pin: GPIO2
[14:08:25][C][st7789v:134]: Update Interval: 60.0s
[14:08:26][C][captive_portal:088]: Captive Portal:
[14:08:26][C][mdns:112]: mDNS:
[14:08:26][C][mdns:113]: Hostname: wizjer-korytarz
[14:08:26][D][esp32_camera:196]: Got Image: len=12834
[14:08:26][C][ota:093]: Over-The-Air Updates:
[14:08:26][C][ota:094]: Address: wizjer-korytarz.local:3232
[14:08:26][C][ota:097]: Using Password.
[14:08:26][C][api:138]: API Server:
[14:08:26][C][api:139]: Address: wizjer-korytarz.local:6053
[14:08:26][C][api:141]: Using noise encryption: YES
[14:08:26][C][homeassistant.sensor:030]: Homeassistant Sensor 'inside_temperature'
[14:08:26][C][homeassistant.sensor:030]: State Class: ''
[14:08:26][C][homeassistant.sensor:030]: Unit of Measurement: ''
[14:08:26][C][homeassistant.sensor:030]: Accuracy Decimals: 1
[14:08:26][C][homeassistant.sensor:031]: Entity ID: 'sensor.termometr_korytarz_temperature'
[14:08:26][C][homeassistant.sensor:030]: Homeassistant Sensor 'outside_temperature'
[14:08:26][C][homeassistant.sensor:030]: State Class: ''
[14:08:26][C][homeassistant.sensor:030]: Unit of Measurement: ''
[14:08:26][C][homeassistant.sensor:030]: Accuracy Decimals: 1
[14:08:26][C][homeassistant.sensor:031]: Entity ID: 'sensor.termometr_zewnetrzny_temperature'
[14:08:26][C][homeassistant.sensor:030]: Homeassistant Sensor 'Hourly-1 TEMP'
[14:08:26][C][homeassistant.sensor:030]: State Class: ''
[14:08:26][C][homeassistant.sensor:030]: Unit of Measurement: '°C'
[14:08:26][C][homeassistant.sensor:030]: Accuracy Decimals: 0
[14:08:26][C][homeassistant.sensor:031]: Entity ID: 'sensor.hourly_1_temp'
[14:08:26][D][esp32_camera:196]: Got Image: len=12848
[14:08:26][C][homeassistant.sensor:030]: Homeassistant Sensor 'Hourly-2 TEMP'
[14:08:26][C][homeassistant.sensor:030]: State Class: ''
[14:08:26][C][homeassistant.sensor:030]: Unit of Measurement: '°C'
[14:08:26][C][homeassistant.sensor:030]: Accuracy Decimals: 0
[14:08:26][C][homeassistant.sensor:031]: Entity ID: 'sensor.hourly_2_temp'
[14:08:26][D][esp32_camera_web_server:198]: MJPG: 12848B 163ms (6.1fps)
[14:08:26][C][homeassistant.sensor:030]: Homeassistant Sensor 'Hourly-3 TEMP'
[14:08:26][C][homeassistant.sensor:030]: State Class: ''
[14:08:26][C][homeassistant.sensor:030]: Unit of Measurement: '°C'
[14:08:26][C][homeassistant.sensor:030]: Accuracy Decimals: 0
[14:08:26][C][homeassistant.sensor:031]: Entity ID: 'sensor.hourly_3_temp'
[14:08:26][C][homeassistant.sensor:030]: Homeassistant Sensor 'Hourly-4 TEMP'
[14:08:26][C][homeassistant.sensor:030]: State Class: ''
[14:08:26][C][homeassistant.sensor:030]: Unit of Measurement: '°C'
[14:08:26][C][homeassistant.sensor:030]: Accuracy Decimals: 0
[14:08:26][C][homeassistant.sensor:031]: Entity ID: 'sensor.hourly_4_temp'
[14:08:26][C][homeassistant.text_sensor:023]: Homeassistant Text Sensor 'door'
[14:08:26][C][homeassistant.text_sensor:024]: Entity ID: 'binary_sensor.front_door_lock_contact'
[14:08:26][D][esp32_camera:196]: Got Image: len=12882
[14:08:26][C][homeassistant.text_sensor:023]: Homeassistant Text Sensor 'Poland Full Date'
[14:08:26][C][homeassistant.text_sensor:024]: Entity ID: 'sensor.fulldate'
[14:08:26][C][homeassistant.text_sensor:023]: Homeassistant Text Sensor 'Hourly-1 FORECAST'
[14:08:26][C][homeassistant.text_sensor:024]: Entity ID: 'sensor.hourly_1_condition'
[14:08:26][C][homeassistant.text_sensor:023]: Homeassistant Text Sensor 'H1Time'
[14:08:26][C][homeassistant.text_sensor:024]: Entity ID: 'sensor.hourly_1_time'
[14:08:26][C][homeassistant.text_sensor:023]: Homeassistant Text Sensor 'Hourly-2 FORECAST'
[14:08:26][C][homeassistant.text_sensor:024]: Entity ID: 'sensor.hourly_2_condition'
[14:08:26][D][esp32_camera_web_server:198]: MJPG: 12882B 256ms (3.9fps)
[14:08:26][C][homeassistant.text_sensor:023]: Homeassistant Text Sensor 'H2Time'
[14:08:26][C][homeassistant.text_sensor:024]: Entity ID: 'sensor.hourly_2_time'
[14:08:26][C][homeassistant.text_sensor:023]: Homeassistant Text Sensor 'Hourly-3 FORECAST'
[14:08:26][C][homeassistant.text_sensor:024]: Entity ID: 'sensor.hourly_3_condition'
[14:08:26][C][homeassistant.text_sensor:023]: Homeassistant Text Sensor 'H3Time'
[14:08:26][C][homeassistant.text_sensor:024]: Entity ID: 'sensor.hourly_3_time'
[14:08:26][D][esp32_camera:196]: Got Image: len=12817
[14:08:26][C][homeassistant.text_sensor:023]: Homeassistant Text Sensor 'Hourly-4 FORECAST'
[14:08:26][C][homeassistant.text_sensor:024]: Entity ID: 'sensor.hourly_4_condition'
[14:08:26][D][esp32_camera_web_server:198]: MJPG: 12817B 115ms (8.7fps)
[14:08:26][C][homeassistant.text_sensor:023]: Homeassistant Text Sensor 'H4Time'
[14:08:26][C][homeassistant.text_sensor:024]: Entity ID: 'sensor.hourly_4_time'
[14:08:26][C][esp32_camera_web_server:088]: ESP32 Camera Web Server:
[14:08:26][C][esp32_camera_web_server:089]: Port: 7029
[14:08:26][C][esp32_camera_web_server:091]: Mode: stream
[14:08:26][D][esp32_camera:196]: Got Image: len=12872
[14:08:26][D][esp32_camera_web_server:198]: MJPG: 12872B 170ms (5.9fps)
Dzięki za wszystkie uwagi i podpowiedzi.