Skip to content

Commit 8082b71

Browse files
author
Tom Lasswell
committed
docs(seo): search-intent README headings, brand asset scaffold, discoverability research
- README: 'Install' -> 'How to install Govee in Home Assistant', 'Supported devices' -> 'Supported Govee devices' (match search queries) - Add custom_components/govee/brand/ scaffold (HACS default-store prep; HA 2026.3 local brand-proxy) - Add discoverability/competitive research doc
1 parent 6093372 commit 8082b71

3 files changed

Lines changed: 169 additions & 2 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ It is **capability‑based**: entities are created from the capabilities Govee r
4848
4949
---
5050

51-
## Supported devices
51+
## Supported Govee devices
5252

5353
| Category | Examples | Entities you get |
5454
|---|---|---|
@@ -68,7 +68,7 @@ Don't see your device, or a capability is missing? [Open an issue](https://githu
6868

6969
---
7070

71-
## Install
71+
## How to install Govee in Home Assistant
7272

7373
### HACS (recommended)
7474

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Brand assets
2+
3+
Local brand images for HACS / Home Assistant (HA 2026.3+ brand-proxy; no `home-assistant/brands` PR needed for custom integrations).
4+
5+
Drop the following files here. Local images take priority over the brands CDN automatically.
6+
7+
| File | Spec | Required |
8+
|---|---|---|
9+
| `icon.png` | square, 256×256 or 512×512, transparent background | **yes** (HACS default-store blocker) |
10+
| `icon@2x.png` | hi-dpi square, 512×512 | optional |
11+
| `logo.png` | horizontal wordmark, transparent | optional |
12+
| `dark_icon.png` / `dark_logo.png` | dark-theme variants | optional |
13+
14+
Source: https://developers.home-assistant.io/blog/2026/02/24/brands-proxy-api/
15+
16+
> Use the Govee icon for nominative identification only. Keep the "unofficial / not affiliated with Govee" disclaimer in the root README.
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
<!-- no-registry: discoverability/marketing strategy research; action items are repo/ops tasks, not code-scope items -->
2+
# Research: SEO, Discoverability & Becoming the Best Govee × Home Assistant Integration
3+
4+
_Date: 2026-06-04 · Repo: `lasswellt/govee-homeassistant` · 57★ · HACS custom · domain `govee` · quality_scale silver_
5+
6+
## Summary
7+
8+
The single biggest lever is **HACS default-store inclusion** — most users never leave the HACS in-app search, and the repo is currently invisible there. The one hard blocker is a missing `custom_components/govee/brand/icon.png`; CI (HACS Action + Hassfest), releases, `hacs.json`, and `manifest.json` already satisfy every other default-store requirement. Discoverability (Google + community) is a secondary, parallel track: add ~9 more GitHub topics, submit to `frenck/awesome-home-assistant`, and post in the 228K-view legacy `LaggAt` forum thread as the maintained successor. Being "the best option" technically is largely already true for cloud multi-device control (AWS IoT MQTT push, 2FA, capability-based, broadest device-type coverage) — but the field leader `wez/govee2mqtt` (1,400★) wins on **LAN/offline control**, which this repo lacks. Closing the LAN gap + winning discoverability is the path to #1.
9+
10+
## Research Questions
11+
12+
1. **What makes this rank on Google for "govee home assistant"?** Repo name (already optimal), About description (already leads with "Govee Integration for Home Assistant"), topics (underfilled — 6 of 20), README first-160-chars + question-format headings, star count (CTR signal). GitHub's domain authority (~DA 95) does the heavy lifting; the repo page README is the indexed body copy.
13+
2. **How do users actually discover HA integrations?** HACS in-app search (largest, default-store only) > Google (github.com + `community.home-assistant.io` threads) > Reddit r/homeassistant > YouTube > `awesome-ha.com`. The repo is absent from the #1 channel (not in default store).
14+
3. **What backlinks matter?** Ranked: HACS default store (hacs.xyz) → `awesome-home-assistant` (DR~60, `awesome-ha.com`) → HA Community forum thread (DA~75) → Reddit/YouTube (nofollow but traffic+stars).
15+
4. **Does a docs site / custom domain help?** Not near-term. README-on-github already inherits GitHub's DA. GitHub Pages subdomain is weaker unless attached to a custom domain (3-6 mo to mature). Defer until after default-store + backlinks.
16+
5. **Who are the competitors and where does this lose?** `wez/govee2mqtt` (1,400★, LAN-first, community #1), `disforw/goveelife` (185★, cloud v2, direct competitor, 3× the stars), `LaggAt/hacs-govee` (353★, abandoned, still the HACS search result for "govee"), core `govee_light_local` / `govee_ble` (built-in, LAN/BLE, lights/sensors only). This repo loses on LAN control, star count, and community visibility — not on technical merit for cloud.
17+
18+
## Findings
19+
20+
### F1 — HACS default store is the highest-leverage action (and nearly unblocked)
21+
Requirements per https://www.hacs.xyz/docs/publish/include/ and `/integration/`:
22+
- [x] Public repo w/ description + topics + README
23+
- [x] `hacs.json` with `name` (`render_readme: true` present)
24+
- [x] `manifest.json` with `domain`, `documentation`, `issue_tracker`, `codeowners`, `name`, `version` — all present
25+
- [x] ≥1 GitHub Release — `v2026.6.3` latest
26+
- [x] HACS Action CI — present in `.github/workflows/hacs-hass.yaml`
27+
- [x] Hassfest CI — present in same workflow
28+
- [ ] **`brand/icon.png` in `custom_components/govee/` — MISSING (the one blocker)**
29+
- Submission: PR to https://github.com/hacs/default adding repo URL alphabetically to `./integration`, from a personal fork branch, by repo owner.
30+
- Timeline: **months** (volunteer backlog: https://github.com/hacs/default/pulls).
31+
- Status today: neither `LaggAt/hacs-govee` nor this repo is in the default store.
32+
33+
### F2 — Brand image: ship locally, no brands-repo PR needed (CONTRADICTION resolved)
34+
Two agents disagreed. Resolution: as of **HA 2026.3**, custom integrations ship brand images **locally** — no PR to `home-assistant/brands` required (source: https://developers.home-assistant.io/blog/2026/02/24/brands-proxy-api/). Place `icon.png` (+ optional `logo.png`, `dark_*`, `@2x` variants) in `custom_components/govee/brand/`. Local images take priority over the brands CDN. The older "submit to home-assistant/brands first" guidance applies only to HA **core** inclusion (`core_integrations/govee/`).
35+
36+
### F3 — On-page SEO: already strong, three cheap wins remain
37+
- Repo name `govee-homeassistant` — optimal, slug-matches query.
38+
- About description (97 chars) already leads with "Govee Integration for Home Assistant" — **already optimal**, no change needed (web-seo agent's flagged gap is a false positive).
39+
- Topics: only 6 set (`govee, hacs, home-assistant, home-automation, led-lights, smart-home`). Add up to ~14 more: `govee-api, home-assistant-component, hacs-integration, custom-component, smart-lights, iot, cloud-api, mqtt, python, rgbic, led-control`. Topic pages (https://github.com/topics/govee) rank on Google and sort by stars.
40+
- README: question-format H2s match search intent better than flat nouns — `## How to install Govee in Home Assistant`, `## HACS installation`, `## Supported Govee devices`. First 160 chars feed the Google snippet + AI Overview.
41+
42+
### F4 — Backlinks: 2 quick PRs + 1 forum post
43+
- `frenck/awesome-home-assistant` — repo qualifies NOW (≥6 mo old, OSI license, README mentions Home Assistant, 57★ > 10 soft threshold). PR to Custom Integrations section. Contributing: https://github.com/frenck/awesome-home-assistant/blob/main/.github/CONTRIBUTING.md
44+
- Legacy forum thread https://community.home-assistant.io/t/govee-integration/228516 (228K views) — post as the maintained successor to the abandoned `LaggAt` integration. No queue, highest short-term ROI for human discovery.
45+
- Optionally start a dedicated thread in https://community.home-assistant.io/c/custom-integrations and link it from the README.
46+
47+
### F5 — Competitive position: best cloud option, loses on LAN
48+
- **Wins vs. field:** AWS IoT MQTT push (real-time, not polling — beats `goveelife` and `LaggAt`), 2FA flow, capability-based (no SKU hardcoding), broadest device-type coverage (lights/plugs/fans/humidifiers/heaters/thermometers/leak sensors), RGBIC segments, no extra infra (unlike `govee2mqtt`'s MQTT broker), clean architecture, active maintenance.
49+
- **Loses on:** LAN/offline control (the #1 community-valued trait — `govee2mqtt` and core `govee_light_local` have it), star count (57 vs 1,400), zero community-recommendation presence, not built into core (core integrations need no HACS install).
50+
- **Nuance:** Many Govee SKUs (humidifiers, fans, heaters, sensors) have **no LAN API** at all → cloud-only is the only option for them, narrowing the LAN gap for multi-device-type users. LAN matters mainly for the lights subset (~200 models, UDP 4001-4003).
51+
52+
### F6 — Dissent / contradictory evidence
53+
- Brand-image requirement (F2): web-seo agent said brands-repo PR required; hacs-ecosystem agent said local `brand/` dir since HA 2026.3. Resolved in favor of the latter (dated, cited source).
54+
- `goveelife` default-store status: web-seo implied it's "~HACS default"; hacs-ecosystem confirmed neither `LaggAt` nor this repo is in default and did not verify `goveelife`. Treat `goveelife`'s default-store status as **unconfirmed**.
55+
- `govee2mqtt` star count: web-seo cited ~224★ (likely confused with `govee-lan-hass`); competitors agent cited ~1,400★ for `govee2mqtt`. Use **1,400** (the dedicated competitor agent is authoritative here).
56+
57+
## Compatibility Analysis
58+
59+
All recommendations are repo-config / ops actions — no code-architecture impact except the optional LAN feature.
60+
- **HACS default + brand:** Adding `custom_components/govee/brand/icon.png` is additive; HACS spec + HA 2026.3 brand-proxy both support it. No manifest change needed (already has all 6 required keys).
61+
- **Topics / description / README:** Pure metadata + docs; zero code risk.
62+
- **LAN support (strategic, larger):** Would integrate at the API-layer (new `api/lan.py` UDP client alongside `api/client.py`/`api/mqtt.py`), surfaced through the existing coordinator transport-selection logic. Govee LAN API: UDP multicast `239.255.255.250:4001`, device listens `4003`, status `4002`. Fits the existing multi-transport pattern (cloud + MQTT already coexist). Scoped to ~200 light models; cloud remains fallback for non-LAN SKUs. This is a roadmap-sized epic, not a quick win.
63+
64+
## Recommendation
65+
66+
Run two parallel tracks.
67+
68+
**Track A — Discoverability (do this week, hours of effort):**
69+
| # | Action | Effort | Impact |
70+
|---|---|---|---|
71+
| A1 | Add `custom_components/govee/brand/icon.png` (+ `logo.png`) | 30 min | Unblocks A2 |
72+
| A2 | Submit PR to `hacs/default` `./integration` | 30 min | **Highest** — in-app discovery for ~1M+ HACS users |
73+
| A3 | Expand topics 6 → ~15 | 5 min | GitHub search + topics-page Google ranking |
74+
| A4 | PR to `frenck/awesome-home-assistant` | 20 min | High-DR backlink + curated traffic |
75+
| A5 | Post in `LaggAt` forum thread (228K views) as maintained successor | 30 min | Human discovery, no queue |
76+
| A6 | README: question-format H2s + tighten first 160 chars | 30 min | Google snippet / AI Overview |
77+
78+
**Track B — Be the best option (roadmap):**
79+
| # | Action | Effort | Impact |
80+
|---|---|---|---|
81+
| B1 | Optional LAN API transport (lights) | Epic | Neutralizes `govee2mqtt`'s main edge |
82+
| B2 | Pursue HA core inclusion (push quality_scale → gold) | Large | Built-in = zero HACS friction, ranks above all |
83+
| B3 | Market device-breadth (fans/heaters/humidifiers/leak) — competitors don't surface this | Low | Differentiates from `goveelife`/`govee_light_local` |
84+
| B4 | One YouTube setup guide + DEV.to article | Hours | Long-tail backlinks, non-dev reach |
85+
86+
Do not build a docs site / custom domain yet (defer until A1-A6 land).
87+
88+
## Implementation Sketch
89+
90+
### A1 — brand image
91+
```
92+
custom_components/govee/brand/
93+
icon.png # 256x256 or 512x512, square, transparent
94+
icon@2x.png # optional hi-dpi
95+
logo.png # optional, horizontal
96+
```
97+
Source the Govee logo/icon (respect trademark — use for identification). Local images auto-prioritized over brands CDN per HA 2026.3.
98+
99+
### A2 — HACS default PR
100+
```bash
101+
# fork hacs/default, then on a new branch:
102+
# edit ./integration — add alphabetically:
103+
# lasswellt/govee-homeassistant
104+
gh pr create --repo hacs/default --title "Add lasswellt/govee-homeassistant" \
105+
--body "Govee Cloud integration; HACS Action + Hassfest passing; release v2026.6.3"
106+
```
107+
Pre-flight: confirm latest `hacs-hass.yaml` run is green on `master`.
108+
109+
### A3 — topics
110+
```bash
111+
gh repo edit lasswellt/govee-homeassistant \
112+
--add-topic govee-api --add-topic hacs-integration \
113+
--add-topic home-assistant-component --add-topic custom-component \
114+
--add-topic smart-lights --add-topic iot --add-topic cloud-api \
115+
--add-topic mqtt --add-topic python --add-topic rgbic --add-topic led-control
116+
```
117+
118+
### A6 — README headings (`README.md`)
119+
Rename for search intent: `## How to install Govee in Home Assistant`, `## HACS installation`, `## Supported Govee devices`. Keep the existing rich content beneath.
120+
121+
## Risks
122+
123+
- **HACS default review is slow (months) and can reject "override of a core integration."** Today there is no `govee` (cloud) domain in HA core, so this is safe. Risk materializes only if HA later merges a cloud `govee` to core — at which point this repo would be barred from the default store and could remain only as a manual custom repo. Mitigation: pursue HA-core inclusion (B2) proactively so this repo *becomes* that core integration rather than being displaced by it.
124+
- **Domain shadowing with legacy `LaggAt`.** Both use domain `govee`; if a user installs this after `LaggAt`, last-installed wins and `custom_components` shadows core. Mitigation: README must instruct users to fully remove `LaggAt/hacs-govee` before/while migrating. Install-count analytics aggregate correctly by domain.
125+
- **AWS IoT MQTT is undocumented/unsupported by Govee** (same risk `govee2mqtt` discloses) — Govee can break push silently. The existing polling fallback contains the blast radius; LAN support (B1) would add a second non-cloud resilience path.
126+
- **Trademark.** Using the Govee name/logo for an unofficial integration is identification/nominative use; keep "unofficial / not affiliated with Govee" language in the README to avoid takedown risk.
127+
- **Star count is a slow-moving signal.** Discoverability actions raise traffic, but topic-page position and GitHub-search rank are stars-weighted, so ranking improves with a lag after installs grow. Set expectations: weeks-to-months, not immediate.
128+
129+
## Open Questions
130+
131+
- Is `disforw/goveelife` in the HACS default store? Unconfirmed — affects how contested the "default-store Govee cloud integration" slot is. Verify before/after submitting A2.
132+
- Which exact Govee SKUs in this repo's supported set expose the LAN API? Determines B1's real device coverage and whether LAN is worth the epic.
133+
- Would the HA core team accept a cloud `govee` domain given `govee_ble` + `govee_light_local` already exist? Worth an early, low-cost architecture-discussion issue on the HA forum before investing in B2.
134+
135+
## References
136+
137+
- HACS publish/include: https://www.hacs.xyz/docs/publish/include/
138+
- HACS publish/integration: https://www.hacs.xyz/docs/publish/integration/
139+
- HACS default repo: https://github.com/hacs/default
140+
- HA brands-proxy API (local brand images, 2026.3): https://developers.home-assistant.io/blog/2026/02/24/brands-proxy-api/
141+
- HA integration quality scale: https://developers.home-assistant.io/docs/core/integration-quality-scale/
142+
- awesome-home-assistant: https://github.com/frenck/awesome-home-assistant
143+
- Legacy Govee forum thread (228K views): https://community.home-assistant.io/t/govee-integration/228516
144+
- HA custom-integrations forum category: https://community.home-assistant.io/c/custom-integrations
145+
- Competitor — wez/govee2mqtt (1,400★, LAN-first): https://github.com/wez/govee2mqtt
146+
- Competitor — disforw/goveelife (185★, cloud v2): https://github.com/disforw/goveelife
147+
- Competitor — LaggAt/hacs-govee (353★, abandoned): https://github.com/LaggAt/hacs-govee
148+
- Core — govee_light_local: https://www.home-assistant.io/integrations/govee_light_local/
149+
- Core — govee_ble: https://www.home-assistant.io/integrations/govee_ble/
150+
- GitHub topics (govee): https://github.com/topics/govee
151+
- GitHub SEO: https://www.markepear.dev/blog/github-search-engine-optimization

0 commit comments

Comments
 (0)