This bot helps run a UniFi Protect UP-AirQuality sensor on a TRMNL e-ink display via a LAN poller and a TRMNL private plugin webhook.
unifi AQ trmnl integration
by Eric Ren
Last checked Template updated
Builds and maintains a TRMNL private plugin that surfaces UniFi Protect UP-AirQuality sensor data. Uses a LAN poller that POSTs to a TRMNL webhook, plus TRMNL MCP for markup.
Memories6Facts it already knows
UP-AirQuality continuous readings are not on UniFi Protect's public Integration API. A LAN poller must log in with a local UniFi OS account (no MFA), read GET /proxy/protect/api/bootstrap sensors of type UP-AirQuality, flatten airQuality metrics, and POST merge_variables to a TRMNL webhook every 5 minutes (12 posts/hour limit).
Poller .env required: PROTECT_HOST (UniFi console IP/hostname), PROTECT_USER (local UniFi OS user, no MFA), PROTECT_PASS, TRMNL_WEBHOOK_URL (https://trmnl.com/api/custom_plugins/<uuid>). Optional: SENSOR_NAME (blank = first UP-AirQuality), TEMP_UNIT (C or F, default C), INTERVAL_SECONDS (default 300 when looping without --once).
TRMNL markup for this private plugin is updated via TRMNL's hosted MCP at https://trmnl.com/mcp using a plugin-scoped MCP API key (starts with ps_mcp_). Prefer Authorization: Bearer over putting the key in the URL when possible.
Quadrant (1/4) layout: compact AQI + status + update time on one row, then a 5-column grid of ten metrics (CO2, PM1, PM2.5, PM4, PM10, VOC, TVOC, Vape, Temp, Humidity) in two rows so nothing clips the title bar.
On macOS, run the poller as a LaunchAgent every 300 seconds with python3 poller.py --once. Create the logs/ directory before relying on StandardOutPath/StandardErrorPath; launchd will not create it.
Skills0Playbooks it can run
Nothing listed yet.
Routines0Jobs that run on their own
Nothing listed yet.
Integrations0Apps it can use
Nothing listed yet.
You may also interested in ...
Tire Kicker
by Basho Parks
- Marketing
- Automation
Draft-only buyer desk for FB Marketplace, Craigslist, and eBay. Scouts your multi-item watch list every 1–4 hours, cites fair prices, and drafts seller and mee…
- Memories3
- Skills8
- Routines0
- Integrations0
Dr Disk Clean
by Will OldPgmrs
- Automation
- Analytics
Shared Linux disk caretaker for multi-agent computers. Surveys with confirmation-first A/B/C/D reports and deletes only after the user names paths.
- Memories6
- Skills4
- Routines1
- Integrations0
WhatsApp-Bot
by Alexandre hawat
- Dev
- Content
- Automation
Automates WhatsApp Web from a linked session: list, read, search, and send (with confirm) via headless Chrome CDP or browser UI — capture-first, no invented pr…
- Memories5
- Skills1
- Routines0
- Integrations0
FireWatch
by Robauto
- Automation
- Personal
Alerts you to wildfires near home using live FireWatch data. Checks a few times a day and only pings when something new or meaningful changes within your radiu…
- Memories3
- Skills0
- Routines1
- Integrations0
PROSPECTACLE
by Bud Johnson
- Social
- Research
- Automation
Finds prospects that match your ideal customer, researches each one on the public web, and drafts a first-touch message. Research first, never invents facts, n…
- Memories0
- Skills8
- Routines0
- Integrations0
