Jak wieczorem oglądam telewizje muszę patrzeć na telefon która jest godzina, więc szukałem zegarka żeby postawić przy telewizorze, żeby mieć czas pod kontrolą. Na noc telefony się wyciszają, więc żadnych powiadomień nie słyszę. To muszę zrobić zegarek z powiadomieniami
Potrzebujemy:
MAX7219
i płytkę np. wemos
no i jakąś obudowę,
mam drukarkę więc wziąłem pierwszy lepszy projekt:
chciałem czarny filament więc musiałem zmniejszyć grubość frontu do jednej warstwy 0.2mm - jest jak papier ale widać podświetlone cyfry
Podłączamy płytkę do wyświetlacza
Wgrywamy ESPhome
esphome:
name: matrix
platform: ESP8266
board: d1_mini
logger:
api:
ota:
password: "bhthnjtrjrtjtrhththth"
wifi:
ssid: *****
password: ******
web_server:
port: 80
captive_portal:
mqtt:
broker: 192.168.00.00
time:
- platform: homeassistant
id: homeassistant_time
globals:
- id: hapage
type: int
restore_value: no
initial_value: '1'
spi:
clk_pin: D5
mosi_pin: D7
display:
- platform: max7219digit
id: display_max
cs_pin: D8
num_chips: 8
intensity: 3
scroll_speed: 100ms
update_interval: 100ms
lambda: |-
if(id(power_on_off).state) {
it.intensity(atoi(id(habri).state.c_str()));
if (id(hapage) == 1) {
it.print(32, 0, id(digit_font), "UWAGA!");
it.invert_on_off(true);
it.scroll(false);
} else {
if (id(hapage) == 2) {
it.strftime(36, 0, id(digit_font), "%H:%M", id(homeassistant_time).now());
it.invert_on_off(false);
it.scroll(false);
} else {
if (id(hapage) == 3) {
it.printf(33, 0, id(digit_font), "%.1f°C", id(temp1).state);
it.invert_on_off(false);
it.scroll(false);
} else {
if (id(hapage) == 4) {
it.printf(32, 0, id(digit_font), "%s%%", id(humi1).state.c_str());
it.invert_on_off(false);
it.scroll(false);
} else {
if (id(hapage) == 5) {
it.printf(32, 0, id(digit_font), "%s", id(hatxt).state.c_str());
it.invert_on_off(false);
it.scroll_left();
}
} } } } };
switch:
- platform: template
name: "Display Power Switch"
icon: mdi:dots-grid
optimistic: true
restore_state: yes
turn_on_action:
- binary_sensor.template.publish:
id: power_on_off
state: ON
turn_off_action:
- binary_sensor.template.publish:
id: power_on_off
state: OFF
font:
- file: "font/pixelmix.ttf"
id: digit_font
size: 8
text_sensor:
- platform: wifi_info
ip_address:
name: "Display IP Address"
ssid:
name: "Display Connected SSID"
bssid:
name: "Display Connected BSSID"
- platform: homeassistant
name: "HA Txt"
id: hatxt
entity_id: input_text.matrix_text
- platform: homeassistant
name: "HA Brightness"
id: habri
entity_id: input_number.matrix_bri
- platform: homeassistant
name: "Podworko Humidity"
id: humi1
entity_id: sensor.czujnik_temperatury_podworko_humidity
sensor:
- platform: homeassistant
name: "Podworko Temp"
id: temp1
entity_id: sensor.czujnik_temperatury_podworko_temperature
- platform: wifi_signal
name: "Display WiFi Signal Sensor"
update_interval: 60s
- platform: uptime
name: "Display Uptime Sensor"
- platform: homeassistant
id: hapage1
entity_id: input_number.matrix_page
on_value:
then:
if:
condition:
lambda: 'return id(hapage) != int(x);'
then:
- globals.set:
id: hapage
value: !lambda 'return int(x);'
binary_sensor:
- platform: template
name: "Power State"
id: power_on_off
internal: true
Mam tak że zmieniamy 5 widoków
- uwaga
- godzina
- temperatura
- wilgotnosc
- powiadomienie
podpiąłem sobie pod powiadomienia w NR, także jak jakies przychodzi to przełącza się na 1 ekran UWAGA i włacza wyłącza, potem na 5 z treścią powiadomienia, a normalnie wyświetla przygaszoną godzinę, temp, hum.
Możecie sobie zmienić po siebie, czy zrobic automatyzacje w HA, mi było tak wygodniej.
FLOW
[{"id":"e553902b1509771e","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":false,"service_domain":"input_text","service":"set_value","entityId":"input_text.matrix_text","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":390,"y":400,"wires":[[]]},{"id":"82ac0c48b5b3bf70","type":"function","z":"a1b0527a20b603f8","name":"KOMUNIKAT","func":"msg.payload=\n{\n \"data\":\n {\n \"value\": msg.komunikat.data.message,\n }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":170,"y":340,"wires":[["e553902b1509771e","53fde1bb80062a52"]]},{"id":"b9f246a421b53ddb","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":true,"service_domain":"switch","service":"turn_off","entityId":"switch.display_power_switch_2","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1390,"y":280,"wires":[[]]},{"id":"bda32504da1ca76e","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":true,"service_domain":"switch","service":"turn_on","entityId":"switch.display_power_switch_2","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":970,"y":280,"wires":[["643214fdbe969adb"]]},{"id":"643214fdbe969adb","type":"trigger","z":"a1b0527a20b603f8","name":"","op1":"","op2":"0","op1type":"nul","op2type":"str","duration":"3","extend":true,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":1170,"y":280,"wires":[["b9f246a421b53ddb"]]},{"id":"fcb1e05567b9ffeb","type":"change","z":"a1b0527a20b603f8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":740,"y":280,"wires":[["bda32504da1ca76e"]]},{"id":"dd8d2d71623e2fd1","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":false,"service_domain":"input_number","service":"set_value","entityId":"input_number.matrix_page","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":640,"y":220,"wires":[["f37975410f0aefa8"]]},{"id":"b599eb9b07b7a753","type":"function","z":"a1b0527a20b603f8","name":"KOMUNIKAT","func":"msg.payload=\n{\n \"data\":\n {\n \"value\": 1,\n }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":410,"y":220,"wires":[["dd8d2d71623e2fd1"]]},{"id":"31ebb4562d41a818","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":true,"service_domain":"switch","service":"turn_off","entityId":"switch.display_power_switch_2","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1450,"y":220,"wires":[["51335ca1b2efc625"]]},{"id":"828536a73d443735","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":true,"service_domain":"switch","service":"turn_on","entityId":"switch.display_power_switch_2","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1070,"y":220,"wires":[["c75042741792a2a8"]]},{"id":"c75042741792a2a8","type":"trigger","z":"a1b0527a20b603f8","name":"","op1":"","op2":"0","op1type":"nul","op2type":"str","duration":"1","extend":true,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":1240,"y":220,"wires":[["31ebb4562d41a818"]]},{"id":"51335ca1b2efc625","type":"trigger","z":"a1b0527a20b603f8","name":"","op1":"","op2":"0","op1type":"nul","op2type":"str","duration":"1","extend":true,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":1620,"y":220,"wires":[["39f437561dc75a29"]]},{"id":"39f437561dc75a29","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":true,"service_domain":"switch","service":"turn_on","entityId":"switch.display_power_switch_2","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1830,"y":220,"wires":[["93ea534fa54900e5"]]},{"id":"703d86605bd590fc","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":false,"service_domain":"input_number","service":"set_value","entityId":"input_number.matrix_page","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":640,"y":180,"wires":[["f93d53380c210c38"]]},{"id":"0e7c65be4cfb6d22","type":"function","z":"a1b0527a20b603f8","name":"KOMUNIKAT","func":"msg.payload=\n{\n \"data\":\n {\n \"value\": 5,\n }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":180,"wires":[["703d86605bd590fc"]]},{"id":"f37975410f0aefa8","type":"change","z":"a1b0527a20b603f8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":880,"y":220,"wires":[["828536a73d443735"]]},{"id":"732b3fdb422d5695","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":false,"service_domain":"input_number","service":"set_value","entityId":"input_number.matrix_page","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1100,"y":600,"wires":[["6e0f12f26ad11609"]]},{"id":"7ba5abc6ba4a8ba0","type":"function","z":"a1b0527a20b603f8","name":"KOMUNIKAT","func":"msg.payload=\n{\n \"data\":\n {\n \"value\": 2,\n }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":890,"y":600,"wires":[["732b3fdb422d5695"]]},{"id":"9543ca1d5fb3ad35","type":"inject","z":"a1b0527a20b603f8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"0.2","topic":"","payloadType":"date","x":190,"y":580,"wires":[["ba781d3ef409b119"]]},{"id":"c24bafbca9ee0781","type":"afya-carousel-switch","z":"a1b0527a20b603f8","name":"","variableName":"licznik","maxValue":2,"x":400,"y":600,"wires":[["5906627fe32f66b5"]]},{"id":"73d6033b9d963679","type":"switch","z":"a1b0527a20b603f8","name":"","property":"payload.value","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"},{"t":"eq","v":"1","vt":"num"},{"t":"eq","v":"2","vt":"num"}],"checkall":"true","repair":false,"outputs":3,"x":730,"y":600,"wires":[["7ba5abc6ba4a8ba0"],["d38c7e4ffe1282e8"],["6336b38b54a1a460"]]},{"id":"c5caafc1ca8ea311","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":false,"service_domain":"input_number","service":"set_value","entityId":"input_number.matrix_page","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1100,"y":640,"wires":[["c57717d2ff0ab8ab"]]},{"id":"d38c7e4ffe1282e8","type":"function","z":"a1b0527a20b603f8","name":"KOMUNIKAT","func":"msg.payload=\n{\n \"data\":\n {\n \"value\": 3,\n }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":890,"y":640,"wires":[["c5caafc1ca8ea311"]]},{"id":"76e756d0ec28dfe9","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":false,"service_domain":"input_number","service":"set_value","entityId":"input_number.matrix_page","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1100,"y":680,"wires":[["779c39aa0c989059"]]},{"id":"6336b38b54a1a460","type":"function","z":"a1b0527a20b603f8","name":"KOMUNIKAT","func":"msg.payload=\n{\n \"data\":\n {\n \"value\": 4,\n }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":890,"y":680,"wires":[["76e756d0ec28dfe9"]]},{"id":"c57717d2ff0ab8ab","type":"delay","z":"a1b0527a20b603f8","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1300,"y":640,"wires":[["c24bafbca9ee0781"]]},{"id":"779c39aa0c989059","type":"delay","z":"a1b0527a20b603f8","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1300,"y":680,"wires":[["c24bafbca9ee0781"]]},{"id":"6e0f12f26ad11609","type":"delay","z":"a1b0527a20b603f8","name":"","pauseType":"delay","timeout":"60","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1300,"y":600,"wires":[["c24bafbca9ee0781"]]},{"id":"f93d53380c210c38","type":"delay","z":"a1b0527a20b603f8","name":"","pauseType":"delay","timeout":"60","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":860,"y":180,"wires":[["ba781d3ef409b119"]]},{"id":"53fde1bb80062a52","type":"change","z":"a1b0527a20b603f8","name":"","rules":[{"t":"set","p":"matrix","pt":"global","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":360,"wires":[["c65f0e21167d6078"]]},{"id":"5906627fe32f66b5","type":"switch","z":"a1b0527a20b603f8","name":"","property":"matrix","propertyType":"global","rules":[{"t":"false"}],"checkall":"true","repair":false,"outputs":1,"x":590,"y":600,"wires":[["73d6033b9d963679"]]},{"id":"ba781d3ef409b119","type":"change","z":"a1b0527a20b603f8","name":"","rules":[{"t":"set","p":"matrix","pt":"global","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":560,"wires":[["c24bafbca9ee0781","64fc6a35006898a1"]]},{"id":"f05f2b2cf0fbd676","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":false,"service_domain":"input_number","service":"set_value","entityId":"input_number.matrix_bri","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":860,"y":540,"wires":[[]]},{"id":"64fc6a35006898a1","type":"function","z":"a1b0527a20b603f8","name":"KOMUNIKAT","func":"msg.payload=\n{\n \"data\":\n {\n \"value\": 0,\n }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":540,"wires":[["f05f2b2cf0fbd676"]]},{"id":"c65f0e21167d6078","type":"function","z":"a1b0527a20b603f8","name":"KOMUNIKAT","func":"msg.payload=\n{\n \"data\":\n {\n \"value\": 7,\n }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":830,"y":360,"wires":[["f6cc80258e1fe0b2"]]},{"id":"f6cc80258e1fe0b2","type":"api-call-service","z":"a1b0527a20b603f8","name":"","server":"4d0e02c9.2307bc","version":3,"debugenabled":false,"service_domain":"input_number","service":"set_value","entityId":"input_number.matrix_bri","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1100,"y":360,"wires":[["b599eb9b07b7a753"]]},{"id":"4d0e02c9.2307bc","type":"server","name":"Asystent domowy","version":1,"legacy":false,"addon":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
W HA mamy tak:
Robota na 5 min, a sprawdza się elegancko POLECAM
mam podpięte pod usb telewizora