Pet Potty Doorbell
We calculate the final price from your selected file. You review and accept it before payment.
Saved on this device.
A paw-press potty bell for dogs: a ThirdReality Zigbee button in a printed holder, with a Home Assistant automation.
- Rating
- 0 / 5
- Likes
- 0
- Downloads
- 0
- Makes
- 0
- Views
- 8
- Reviews
- 0
Updated at source:
Model information
- Source
- Printables
- Category
- Pets
- License
- Standard Digital File License
A potty bell for smart-home dogs. This paddle fits over a THIRDREALITY Zigbee Smart Button so your dog can press it with a paw or nose. Our dog Coffee uses it to tell us he needs to go outside: Home Assistant picks up the press and announces it on our Nest speakers. The paw print on the paddle is based on Coffee's own paw.
Why blue and yellow? Dogs see color mostly as blues and yellows, so we printed ours in those two colors to make it stand out to them. The last photo shows the button through a dog vision filter.
Four versions (each on its own plate in the 3MF):
Flat Mount - Blank: the button sits flat against the wall or door. Mount it with Velcro or double-sided tape.
Flat Mount - Paw Print: the same, with a two-color paw print inlay.
Angled Stand - Blank: the holder sets the button at an angle. This is the version in the photos, mounted low on our door.
Angled Stand - Paw Print: the angled stand with the paw print paddle.
What you need
A THIRDREALITY Zigbee Smart Button (the single-button model that runs on 2 AAA batteries). The 3-button ZB2 remote is a different shape and won't fit.
A Zigbee hub or coordinator: Home Assistant (ZHA or Zigbee2MQTT), SmartThings, Hubitat or the Third Reality hub.
Velcro or double-sided tape to mount the flat holder. For Velcro, we use VELCRO Brand Extreme Outdoor Tape. The button comes with double-sided tape, but we use EZlifego Nano mounting tape because it holds stronger.
Assembly
Pair the button with your hub before you put it in the holder.
Set the button in the holder, face up. There's a hole in the back of the holder so you can push the remote out when it's time to change the batteries.
Clip the paddle's hinge arms onto the holder. The nub under the paddle lines up with the button, so a press anywhere on the paddle clicks it.
Mount it at your dog's nose or paw height, next to the door they use.
Programming the button in Home Assistant
The button does nothing until you program it. I set ours up in Home Assistant so every press plays an announcement through our Nest speakers. The automation below does the same thing and works with any speaker Home Assistant can play to (Nest, Google Home, Sonos, HomePod and others). It's for ZHA, the Zigbee integration built into Home Assistant. ZHA doesn't list press triggers for this button in the automation editor, so the automation listens for the button's Zigbee event instead.
Pair the button in Home Assistant: Settings › Devices & services › Zigbee Home Automation › Add device, then put the button in pairing mode.
Copy the button's IEEE address: open the button's device page and find IEEE under Zigbee info. It's eight pairs of letters and numbers separated by colons.
Find your speaker's entity ID: Settings › Devices & services › Entities, search for media_player.
Find your text-to-speech entity ID the same way by searching for tts. (for example tts.google_translate_en_com or tts.home_assistant_cloud). If nothing shows up, add the Google Translate text-to-speech integration first. It's free.
Go to Settings › Automations & scenes › Create automation › Create new automation, open the ⋮ menu, choose Edit in YAML, delete everything there and paste the code below. The whole automation is on one line on purpose: Home Assistant reads it the same as normal YAML, and there's no indentation to break when you copy it from this page.
Fill in the blanks: put the IEEE address in both xx:xx:xx:xx:xx:xx:xx:xx spots (keep the quotes around it), and replace tts.your_tts_engine, media_player.your_speaker and the message. Then click Save. Home Assistant reformats it into normal YAML when it saves.
Prefer a file? The same automation is also attached under Documentation on this page as Pet Potty Doorbell - Home Assistant automation.txt, in normal multi-line YAML. Download it, copy everything in it, and paste it into Edit in YAML instead of the line below. Fill in the same blanks.
{"alias": "Dog Potty Bell", "description": "Announces on your speakers when your dog presses the potty bell.", "triggers": [{"trigger": "event", "event_type": "zha_event", "event_data": {"device_ieee": "xx:xx:xx:xx:xx:xx:xx:xx", "command": "single"}}, {"trigger": "event", "event_type": "zha_event", "event_data": {"device_ieee": "xx:xx:xx:xx:xx:xx:xx:xx", "command": "toggle"}}], "conditions": [], "actions": [{"action": "tts.speak", "target": {"entity_id": "tts.your_tts_engine"}, "data": {"media_player_entity_id": ["media_player.your_speaker"], "message": "Your dog wants to go outside!"}}, {"delay": {"seconds": 30}}], "mode": "single", "max_exceeded": "silent"}
Notes
To announce on more than one speaker, add more inside the square brackets, separated by commas: ["media_player.living_room_speaker", "media_player.kitchen_speaker"].
The 30-second delay stops repeat presses from setting off a string of announcements. Change the number to make it longer or shorter.
If a press does nothing, go to Developer tools › Events, listen to zha_event and press the button. Check that the device_ieee matches what you pasted.
Zigbee2MQTT users: make a new automation in the visual editor, add a Device trigger, pick the button and choose its single-press action (press the button once first so the action shows up in the list), then add the same tts.speak action.
Training tip: press the bell yourself every time you take your dog out. Most dogs connect the sound with the door within a week or two.
Print settings
PLA or PLA+ (ours is eSUN PLA+), 0.2 mm layers, 4 walls, 30% 3D honeycomb infill, textured PEI plate.
Tree supports, build plate only. The angled holder has painted supports already set up.
The paw print versions need an AMS or another way to print two colors. The paw is a 0.6 mm inlay printed face down against the textured plate, so it comes out flush with the paddle.
Print profile
All Versions - Flat & Angled, Blank & Paw Print
All four versions in one file, one plate each. Plates 1-2: flat mount (blank, paw print). Plates 3-4: angled stand (blank, paw print).
Blank plates print in one color. Paw print plates need two colors (paw in filament slot 2). Tested on a Bambu Lab X1 Carbon with eSUN PLA+.
Sliced for: Bambu Lab X1 Carbon
Plates: 4
Print time: about 7 h 38 min
Filament: PLA #46A8F9 (232 g), PLA #FFF144 (8 g)
File: the 3MF labeled "print profile" in Model Files
Also on MakerWorld, with one-click print profiles for Bambu Studio: Pet Potty Doorbell