├── .gitignore
├── README.md
├── Images
├── images
│ ├── MWT Logo.png
│ └── post_box_node_red.png
└── thumbnails
│ ├── HABB.png
│ ├── GROVE3.png
│ ├── kiosk.png
│ ├── AlexaPt2.png
│ ├── BrizeBox.png
│ ├── 3tvnotifications.png
│ └── Smart Desk Controller 5.png
├── Home Assistant Button Box
├── Diagrams
│ ├── habb diagram.png
│ └── ESP32-Pinout.webp
├── Enclosure Files
│ ├── MWT H.A.B.B.3mf
│ └── MWT Taller Button Box.stl
├── README.md
└── MWT HABB.yaml
├── HOW TO - DIY Smart Desk Controller
├── MWT Desk Mount.STL
├── Diagrams
│ ├── ESP32-Pinout.webp
│ ├── Desk Controller Diagram.png
│ └── Nextion to FT232 Pinout.jpg
├── Nextion Files
│ ├── MWTController.HMI
│ ├── MWTController.tft
│ └── Images
│ │ ├── Layer 1.png
│ │ ├── Layer 2.png
│ │ ├── Layer 3.png
│ │ ├── Layer 4.png
│ │ ├── Layer 5.png
│ │ ├── Layer 6.png
│ │ ├── desk one.png
│ │ ├── desk two.png
│ │ ├── desk up.png
│ │ ├── desk down.png
│ │ ├── desk four.png
│ │ ├── desk stop.png
│ │ ├── desk three.png
│ │ ├── Bulb Black on.png
│ │ ├── Home Black On.png
│ │ ├── desk up black.png
│ │ ├── Bulb Black Off.png
│ │ ├── desk down black.png
│ │ └── Large Light Black On.png
├── README.md
└── DeskController.yaml
├── Smart Post Box Notifications (Part 1)
└── README.md
├── ALEXA in HOME ASSISTANT (Part 2)
└── README.md
├── 3 TV Automations YOU NEED!
└── README.md
├── Creating a Smart Post Box (Part 1 - Notifications)
└── README.md
├── A DIY Home Assistant Kiosk
└── README.md
└── VPE Grove Port Sensors
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | *.bak
2 | Patreon Uploads
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # MarkWattTech-Tutorials
2 | A Collection of Code from Various MarkWattTech Videos
3 |
--------------------------------------------------------------------------------
/Images/images/MWT Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Images/images/MWT Logo.png
--------------------------------------------------------------------------------
/Images/thumbnails/HABB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Images/thumbnails/HABB.png
--------------------------------------------------------------------------------
/Images/thumbnails/GROVE3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Images/thumbnails/GROVE3.png
--------------------------------------------------------------------------------
/Images/thumbnails/kiosk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Images/thumbnails/kiosk.png
--------------------------------------------------------------------------------
/Images/thumbnails/AlexaPt2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Images/thumbnails/AlexaPt2.png
--------------------------------------------------------------------------------
/Images/thumbnails/BrizeBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Images/thumbnails/BrizeBox.png
--------------------------------------------------------------------------------
/Images/images/post_box_node_red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Images/images/post_box_node_red.png
--------------------------------------------------------------------------------
/Images/thumbnails/3tvnotifications.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Images/thumbnails/3tvnotifications.png
--------------------------------------------------------------------------------
/Images/thumbnails/Smart Desk Controller 5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Images/thumbnails/Smart Desk Controller 5.png
--------------------------------------------------------------------------------
/Home Assistant Button Box/Diagrams/habb diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Home Assistant Button Box/Diagrams/habb diagram.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/MWT Desk Mount.STL:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/MWT Desk Mount.STL
--------------------------------------------------------------------------------
/Home Assistant Button Box/Diagrams/ESP32-Pinout.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Home Assistant Button Box/Diagrams/ESP32-Pinout.webp
--------------------------------------------------------------------------------
/Home Assistant Button Box/Enclosure Files/MWT H.A.B.B.3mf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Home Assistant Button Box/Enclosure Files/MWT H.A.B.B.3mf
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Diagrams/ESP32-Pinout.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Diagrams/ESP32-Pinout.webp
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/MWTController.HMI:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/MWTController.HMI
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/MWTController.tft:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/MWTController.tft
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Layer 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Layer 1.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Layer 2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Layer 2.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Layer 3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Layer 3.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Layer 4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Layer 4.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Layer 5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Layer 5.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Layer 6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Layer 6.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk one.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk one.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk two.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk two.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk up.png
--------------------------------------------------------------------------------
/Home Assistant Button Box/Enclosure Files/MWT Taller Button Box.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/Home Assistant Button Box/Enclosure Files/MWT Taller Button Box.stl
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Diagrams/Desk Controller Diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Diagrams/Desk Controller Diagram.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Diagrams/Nextion to FT232 Pinout.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Diagrams/Nextion to FT232 Pinout.jpg
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk down.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk four.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk four.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk stop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk stop.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk three.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk three.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Bulb Black on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Bulb Black on.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Home Black On.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Home Black On.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk up black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk up black.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Bulb Black Off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Bulb Black Off.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk down black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/desk down black.png
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Large Light Black On.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MarkWattTech/MarkWattTech-Tutorials/HEAD/HOW TO - DIY Smart Desk Controller/Nextion Files/Images/Large Light Black On.png
--------------------------------------------------------------------------------
/Smart Post Box Notifications (Part 1)/README.md:
--------------------------------------------------------------------------------
1 |
2 |
Creating a Smart Post Box (Part 1 - Notifications)
3 |
4 |
5 |
6 |
7 |
8 |
This is the first video in my Smart Post Box Mini series. In this video I am adding some sensors to the Brizebox Post Box to allow it to notify me when I have post.Here
9 |
10 |
11 |
12 | `TTS Notification` - A small example that will play the message on a targeted device
13 | ``` yaml
14 | # TTS Notification
15 | service: notify.alexa_media_office_desk_sonos
16 | data:
17 | data:
18 | type: tts
19 | message: Hey
20 | ```
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/ALEXA in HOME ASSISTANT (Part 2)/README.md:
--------------------------------------------------------------------------------
1 |
2 |
ALEXA in HOME ASSISTANT (Part 2)
3 |
4 |
5 |
6 |
7 |
8 |
In this one we are focusing on all the "SOUND" things that I utilise. Check the video out Here
9 |
10 |
11 |
12 | `TTS Notification` - A small example that will play the message on a targeted device
13 | ``` yaml
14 | # TTS Notification
15 | service: notify.alexa_media_office_desk_sonos
16 | data:
17 | data:
18 | type: tts
19 | message: Hey
20 | ```
21 |
22 |
23 |
24 | `Sequence` - A small example that will play a preset sequence on a targeted device
25 | ``` yaml
26 | # SEQUENCE
27 | service: media_player.play_media
28 | data:
29 | media_content_type: sequence
30 | media_content_id: Alexa.Joke.Play
31 | target:
32 | entity_id: media_player.office_desk_sonos
33 | ```
34 |
35 |
36 | `Sound` - A small example that will play a sound effect on a targeted device
37 | ``` yaml
38 | # SOUND
39 | service: media_player.play_media
40 | data:
41 | media_content_type: sound
42 | media_content_id: amzn_sfx_doorbell_chime_01
43 | target:
44 | entity_id: media_player.office_desk_sonos
45 | ```
46 |
47 |
48 |
49 | `Sound (Dev Sounds)` - A small example that will play one of the dev sound effects on a targeted device
50 | ``` yaml
51 | # DEV SOUND
52 | service: notify.alexa_media_office_desk_sonos
53 | data:
54 | message:
55 | data:
56 | type: tts
57 | ```
58 |
59 |
60 | `Custom MP3` - A small example that allow you to play a custom Alexa Converted Mp3 on a Nabu Casa Hosted HA
61 | ``` yaml
62 | # CUSTOM Mp3
63 | service: notify.alexa_media_office_desk_sonos
64 | data:
65 | message: >-
66 |
68 | data:
69 | type: tts
70 | ```
71 |
72 |
73 |
74 | `Announcement` - A small example will give you an idea of how to use Announcements
75 | ``` yaml
76 | # ANNOUNCEMENT
77 | service: notify.alexa_media
78 | data:
79 | message: hello
80 | target: media_player.all_echos
81 | data:
82 | type: announce
83 | ```
84 |
--------------------------------------------------------------------------------
/3 TV Automations YOU NEED!/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 TV Automations YOU NEED!
3 |
4 |
5 |
6 |
7 |
8 |
In this one I show you 3 TV based automations that I utilise in my personal setup. Check the video out Here
9 |
10 |
11 |
ADB Command for Netflix
12 |
13 | `ADB Command Play Video On Netflix` - This script will play a targeted program on Netflix
14 | ``` yaml
15 | # Play Peppa Pig on Netflix
16 | alias: Shield TV Play Peppa
17 | sequence:
18 | - service: androidtv.adb_command
19 | data:
20 | command: >-
21 | input keyevent MENU && am start -n com.netflix.ninja/.MainActivity -a
22 | android.intent.action.VIEW -d https://www.netflix.com/watch/{PROGRAM-ID} -f
23 | 0x10808000 -e source 30 && input keyevent 23 && input keyevent 23 &&
24 | input keyevent 23
25 | target:
26 | entity_id: media_player.android_tv_192_168_0_104
27 | mode: single
28 |
29 | # E.g. ID - 80025592 = Peppa Pig. Change {PROGRAM-ID} to your chosen ID
30 |
31 | ```
32 |
33 | `Copy Just The Command`
34 | ``` yaml
35 | input keyevent MENU && am start -n com.netflix.ninja/.MainActivity -a
36 | android.intent.action.VIEW -d https://www.netflix.com/watch/{PROGRAM-ID} -f
37 | 0x10808000 -e source 30 && input keyevent 23 && input keyevent 23 &&
38 | input keyevent 23
39 | ```
40 |
41 |
42 |
ADB Command for Disney Plus
43 |
44 | `ADB Command Play Bluey on Disney Plus` - A small script to play Bluey on Disney Plus
45 | ``` yaml
46 | # Play Bluey on Disney Plus
47 | alias: Shield TV Play Bluey
48 | sequence:
49 | - service: androidtv.adb_command
50 | data:
51 | command: >-
52 | input keyevent MENU && am start -a
53 | "android.search.action.GLOBAL_SEARCH" --es query "play bluey on disney
54 | plus" -e source 30 && input keyevent 23 && input keyevent 23 && input
55 | keyevent 23
56 | target:
57 | entity_id: media_player.android_tv_192_168_0_104
58 | - delay:
59 | hours: 0
60 | minutes: 0
61 | seconds: 2
62 | milliseconds: 0
63 | - service: androidtv.adb_command
64 | data:
65 | command: input keyevent 23
66 | target:
67 | entity_id: media_player.android_tv_192_168_0_104
68 | mode: single
69 | # You can replace "Play Bluey on Disney Plus" with anything you want to launch. E.g "Show me Eufy Cameras", "Open MarkWattTech on YouTube"
70 | ```
71 |
72 | `Copy Just The Command`
73 | ``` yaml
74 | input keyevent MENU && am start -a
75 | "android.search.action.GLOBAL_SEARCH" --es query "play bluey on disney
76 | plus" -e source 30 && input keyevent 23 && input keyevent 23 && input
77 | keyevent 23
78 | ```
79 |
80 |
Find TV Remote Command
81 |
82 |
83 | `Copy Just The Command`
84 | ``` yaml
85 | am start -a android.intent.action.VIEW -d -n com.nvidia.remotelocator/.ShieldRemoteLocatorActivity
86 | ```
87 |
--------------------------------------------------------------------------------
/Creating a Smart Post Box (Part 1 - Notifications)/README.md:
--------------------------------------------------------------------------------
1 |
2 |
Building a Smart Post Box (Notifications)
3 |
4 |
5 |
6 |
7 |
8 |
This is the first video in my Smart Post Box Mini series. In this video I am adding some sensors to the Brizebox Post Box to allow it to notify me when I have post. Watch the full video Here
9 |
10 |
11 |
My post box has two methods for receiving post :
12 |
13 |
Letterbox
14 |
Mail draw
15 |
16 |
The only way to get the post out of the box is via the locked backdoor (Brizebox doors are reversible so it can be on the front if you wish).
17 |
The simplest soloution I had was to attatch contact sensors to each three openings (letterbox, mail draw, backdoor). This allows me to then detect which input is open. I created a toggle helper entity called "Post to Collect". This acts as a switch to tell me if there is any post to collect.
18 |
19 |
Opening the letterbox or mail draw runs an automation that turns the Post to collect boolean on. This signals there is post to be collected.
20 |
21 |
22 | `Turn on Post to Collect` - An automation to turn on the post to collect boolean if the letterbox or mail draw is opened
23 | ``` yaml
24 | # Post Box Mail Draw Opened
25 | mode: single
26 | trigger:
27 | - platform: state
28 | entity_id:
29 | - binary_sensor.post_box_maildraw_contact
30 | to: "on"
31 | condition: []
32 | action:
33 | - service: input_boolean.turn_on
34 | data: {}
35 | target:
36 | entity_id: input_boolean.post_to_collect
37 |
38 | # Post Box Letterbox Opened
39 | mode: single
40 | trigger:
41 | - platform: state
42 | entity_id:
43 | - binary_sensor.post_box_letter_contact
44 | to: "on"
45 | condition: []
46 | action:
47 | - service: input_boolean.turn_on
48 | data: {}
49 | target:
50 | entity_id: input_boolean.post_to_collect
51 | ```
52 |
53 |
54 |
Since creating the video I have opted to move post box notifications into a node red flow to make them visually easier to see.
55 |
56 |
57 |
58 |
59 |
60 | `Announcements for Mail` - An automation to send a series of announcements/notifications in parallel on mail delivery
61 |
62 | ``` yaml
63 | # Announcements for mail
64 | alias: You have mail announcement
65 | description: ""
66 | trigger:
67 | - platform: state
68 | entity_id:
69 | - input_boolean.post_to_collect
70 | to: "on"
71 | condition: []
72 | action:
73 | - service: notify.mobile_app_marks_iphone
74 | data:
75 | message: There's some post waiting for you.
76 | title: You have mail!
77 | - service: tts.cloud_say
78 | data:
79 | entity_id: media_player.kitchen_sonos
80 | message: "Congratulations, you have mail! "
81 | - service: notify.mobile_app_rachels_iphone_11pro_2
82 | data:
83 | message: >-
84 | You have some post to collect from the outside postbox. Maybe you could
85 | collect it?
86 | title: You have Post!
87 | - service: notify.marks_lametric
88 | data:
89 | message: There's Post in the Postbox!
90 | data:
91 | icon: "2659"
92 | sound: positive2
93 | cycles: 0
94 | mode: parallel
95 | max: 10
96 | ```
97 |
98 |
Post Box Wall Panel Icon
99 |
The wall panel icon is created using the custom button card (you will need to install this via HACS).
100 |
101 | `Wall Panel Icon` - A visual representation to show if theres any post and what time post arrived.
102 |
103 | ``` yaml
104 | - type: custom:button-card
105 | entity: input_boolean.post_to_collect
106 | color: white
107 | show_state: false
108 | tap_action:
109 | action: more-info
110 | state:
111 | - value: 'off'
112 | icon: mdi:email-off-outline
113 | name: No Post
114 | color: rgba(0,0,0,0.3)
115 | - value: 'on'
116 | icon: mdi:email-alert
117 | name: |
118 | [[[
119 | var time_delivered = states["input_datetime.post_time"].state;
120 | return 'Post arrived at ' + time_delivered
121 | ]]]
122 | ```
123 |
To display the time on the button card I am capturing the time from a date time helper called input_datetime.post_time
Kiosk guide. I modified the commands and config to suit the 7inch screen for the TS7 Pro
123 | and to remove some other things like hiding scroll bars.
124 |
125 |
126 |
127 | `SHELL COMMAND` - shell_commands.yaml
128 | ```
129 | shutdown_pitouch: "ssh -i /config/ssh_keys/id_rsa_homeassistant -o 'StrictHostKeyChecking=no' homeassistant@pitouch.local sudo shutdown -h now"
130 | ```
131 |
For the above command you will also need to include `shell_commands.yaml` in your HA includes in your config.yaml file. SSH between HA and your remote Pi must also be configured.
132 |
133 | If all of the above sounds like gibberish then there is a great written guide available here
134 |
135 |
136 |
Don't forget to drop me a like if you would like to see more content like this!
This project combines an ESP32, a small OLED screen, and some buttons into a compact button box for Home Assistant. Designed originally by Akelyte
4 | (full credit to them), I’ve put my own spin on it with added features, a new enclosure, and extra ESPHome tweaks. Watch the full video here.
5 |
6 |
7 |
8 |
9 | ## 📦 Features
10 |
11 | - Trigger **Home Assistant automations/scenes** with physical buttons
12 | - **OLED feedback display** for status, page number, and wake/sleep state
13 | - **Multi-page support** → up to **16 actions** from just 4 buttons
14 | - **Customisable screen timeout** (prevents OLED burn-in)
15 | - **Screen power toggle** (manual on/off)
16 | - **Guard press** – requires first press to wake screen before triggering
17 | - **Unique device binding** so multiple boxes don’t conflict
18 | - **Blueprint included** for simple setup & automation linking
19 | - Expandable → add a bigger screen, extra buttons, NFC, sensors, or even use it as a base for a DIY alarm keypad
20 |
21 |
22 | ## 🧰 Hardware Required
23 |
24 | | Item | Notes | Affiliate Link |
25 | |---------------------|-----------------------------------------|----------------|
26 | | ESP32 Dev Board | ESP-WROOM-32 or similar | [Buy on Amazon](https://amzn.to/4mvzI6H) |
27 | | SH1106 OLED Display | 1.3" I²C display | [Buy on Amazon](https://amzn.to/45TSo9l) |
28 | | Membrane Keypad | 1x4 keypad | [Buy on Amazon](https://amzn.to/4fPqJuC) |
29 | | Dupont Wires | Jumper cables for connections | [Buy on Amazon](https://amzn.to/41jYiz3) |
30 | | 3D Printed Enclosure| Original design by Akelyte, modded by me | [MakerWorld Link](https://makerworld.com/en/models/1478816-habb-home-assistant-button-box-esphome#profileId-1543829) |
31 |
32 | 💡 Don’t have a 3D printer? Services like **PCBWay** offer on-demand printing — just upload the STL, pick your material/finish, and get it shipped.
33 |
34 |
35 | ## 💻 Software Requirements
36 |
37 | | Software | Purpose |
38 | |-------------------|---------|
39 | | [Home Assistant](https://www.home-assistant.io/) | Smart home hub & automations |
40 | | [ESPHome](https://esphome.io/) | Firmware & HA integration |
41 | | [My ESPHome YAML](./HABB.yaml) | Modified config with extra features |
42 |
43 | A ready-to-use **Home Assistant blueprint** is included to simplify automation setup.
44 |
45 |
46 | ## ⚙️ ESPHome Setup
47 |
48 | 1. Flash the provided YAML (`HABB.yaml`) to your ESP32 via ESPHome
49 | 2. Connect OLED & keypad using I²C + GPIOs (see wiring diagram)
50 | 3. Add the device to Home Assistant
51 | 4. Use the **HABB Blueprint** to quickly configure scenes/automations
52 | 5. (Optional) Adjust substitutions to tweak sleep timer, pages, etc.
53 |
54 |
55 | ## 🔌 Wiring Diagram
56 |
57 | Here’s how to wire the ESP32, OLED display, and keypad together:
58 |
59 |
60 |
61 |
62 | ## 🧠 Custom Logic Highlights
63 |
64 | - **Multi-page actions** → Hold button to cycle pages (displayed in corner)
65 | - **Guard press** → Screen-off mode prevents accidental triggers
66 | - **Exposed HA sensors** → Page, screen state, last action, etc.
67 | - **Device-unique actions** → Multiple button boxes won’t conflict
68 |
69 |
70 | ## 🖼 Enclosure
71 |
72 | - Original slimline case: Akelyte’s MakerWorld project
73 | - My mod: Taller body to fit Wago clips → no soldering, no header cutting (In my final version I actually only used the dupont wires)
74 | - Optional **magnet or bracket mount** for walls/racks
75 |
76 | 🔗 [Download Enclosure STL Files](https://github.com/MarkWattTech/MarkWattTech-Tutorials/tree/main/Home%20Assistant%20Button%20Box/Enclosure%20Files)
77 |
78 |
79 | ## 💻 Code
80 |
81 | - 🔗 [ESPHome YAML (MWT HABB.yaml)](https://github.com/MarkWattTech/MarkWattTech-Tutorials/blob/main/Home%20Assistant%20Button%20Box/MWT%20HABB.yaml)
82 |
83 | - 🧩 Home Assistant Blueprint
84 | [](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgist.githubusercontent.com%2FMarkWattTech%2Fd9bf68718d88fa20dbc0921470079b23%2Fraw)
85 | Direct link (fallback): https://gist.github.com/MarkWattTech/d9bf68718d88fa20dbc0921470079b23
86 |
87 |
88 | ## 📢 Credits
89 |
90 | - Original project & enclosure: [Akelyte](https://makerworld.com/en/models/1478816-habb-home-assistant-button-box-esphome#profileId-1543829)
91 | - Modified code, features, and box: [Mark Watt Tech](https://youtube.com/@MarkWattTech)
92 | - Community spotlight video: [Watch here](https://youtu.be/0jHDhyW68ow)
93 |
94 |
95 |
96 | ## ☕ Support My Work
97 |
98 | If you enjoyed this project and want to support me:
99 |
100 | - 🔗 [YouTube](https://youtube.com/@MarkWattTech)
101 | - ☕ [Buy Me a Coffee](https://www.buymeacoffee.com/markwatttech)
102 | - 💸 [PayPal.me](https://paypal.me/markwatttech)
103 | - ❤️ [Patreon](https://www.patreon.com/markwatttech)
104 |
105 | Thanks for helping me keep making these open-source smart home builds! 🚀
106 |
--------------------------------------------------------------------------------
/HOW TO - DIY Smart Desk Controller/README.md:
--------------------------------------------------------------------------------
1 | # 🛠 HOW TO - Create a Smart Touchscreen Desk Controller
2 |
3 |
This ESPHome project turns your ESP32 and Nextion display into a full-fledged control center for your standing desk, smart lights, fan, and more. Perfect for creators, makers, and smart home enthusiasts who want to add additional functionality to there desks. Watch the full video Here