Skip to content

vNext: Split the README into a docs library with user documentation - #517

Merged
RobHofmann merged 6 commits into
4.0-pre-releasefrom
docs/split-readme
Sep 22, 2026
Merged

RobHofmann merged 6 commits into
4.0-pre-releasefrom
docs/split-readme

Conversation

@RobHofmann

@RobHofmann RobHofmann commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner

What

The README had grown to 220 lines and mixed installation, configuration, protocol details and entity descriptions. It is now a short entry point: badges, a documentation block, a "why" section, a quick start with My Home Assistant buttons, the issue policy, help and support, contributing, a development note, license and credits.

The content moved to docs/, which now holds user documentation next to the developer documentation. docs/README.md is the index for both.

File Covers
docs/installation.md Requirements, HACS, manual install, Wi-Fi setup links, moving from 4.x
docs/configuration.md Every flow step and option with its default, reconfigure, device removal, automatic IP updates, YAML rules and MAC keys
docs/connection-methods.md Local, cloud and mixed setups, the config entries, VRF units
docs/entities.md Climate, sensors, switches, selects and numbers, the mode each one needs, availability, state restore
docs/actions.md get_prop_values, get_prop_values_all, the response shape, diagnostics download
docs/automation-examples.md Seven automations and a script, with the real entity names and the current automation syntax
docs/encryption-key.md When the key is not found by itself and how to get it
docs/troubleshooting.md The time out policy, debug logging, repair issues, flow messages, common situations, how to report a bug

Issue policy

Added the "Issues" section from the master README about TimeOut and Cannot connect reports, with its link to issue 405. It is in the README and at the top of docs/troubleshooting.md.

Badges and CI

Release, license, Validate and Lint badges next to the HACS and Home Assistant badges. The workflow badges follow the default branch, so nothing needs to change when 5.0 lands on master.

The Lint badge needs a workflow, so .github/workflows/lint.yml is new. It runs ruff check and ruff format --check on Python 3.14 on every push and PR. Pylint and Mypy stay local, because they need the Home Assistant core checkout that only the devcontainer has. Ruff passes on the whole tree today. docs/development.md describes the job.

Corrections

The old text was checked against the code and against the dev instance. These were wrong and are now correct in the docs:

  • The climate attribute is current_outside_temperature, not outside_temperature.
  • Temperature Step is a device option, not an entity.
  • The YAML default for features is every feature except humidity_control. manual-configuration.yaml said "all options"; fixed there too.
  • Turbo is limited to Cool and Heat. Turbo and Quiet are both ignored while Power Save or Smart Heat is on.
  • Entity IDs depend on the UI language of the Home Assistant instance, because they are built from the translated entity name. A Dutch instance gets switch.<device>_pieptoon for the beeper. The Smart Heat 8ºC switch becomes smart_heat_8oc.

Also

  • The bug report template linked the debugging section of a fork's README. It now links docs/troubleshooting.md.
  • AGENTS.md points agents to the user docs when a change touches something a user can see.
  • Three em dashes in supported-devices.md replaced.
  • The LLM line from the credits moved into the development note.

Checks

  • Every relative link and anchor in the changed docs resolves.
  • No em dashes in the changed files.
  • Ruff check and format pass on the whole tree, so the new Lint job starts green.
  • No code or behavior change, nothing to test on a device.

Found, not fixed

config_flow.py sets the error cannot_connect_mqtt, but en.json has no such key, so an MQTT failure in the flow shows the raw key. Worth a separate PR.

The README had grown to 220 lines and mixed installation, configuration,
protocol details and entity descriptions. It is now a short entry point
with a quick start, a table of the docs and the issue policy.

The content moved to docs/, which now holds user documentation next to
the developer documentation:

- installation.md: requirements, HACS, manual, moving from 4.x
- configuration.md: every flow step and option with its default, reconfigure,
  device removal, automatic IP updates, YAML rules and MAC keys
- connection-methods.md: local, cloud and mixed setups, config entries, VRF
- entities.md: climate, sensors, switches, selects and numbers, with the
  mode each one is available in, availability and state restore
- actions.md: get_prop_values, get_prop_values_all, diagnostics download
- encryption-key.md: when the key is not found and how to get it
- troubleshooting.md: the time out policy, debug logging, repair issues,
  flow messages, common situations, how to report a bug

Added the "Issues" section from the master README about TimeOut and
Cannot connect reports, with its link to issue 405.

Corrections made while checking the old text against the code:

- The climate attribute is current_outside_temperature, not
  outside_temperature.
- Temperature Step is a device option, not an entity.
- The YAML default for features is every feature except humidity_control.
  manual-configuration.yaml said "all options".
- Turbo is limited to Cool and Heat, and both Turbo and Quiet are ignored
  while Power Save or Smart Heat is on.

Also: the bug report template linked the debugging section of a fork's
README; it now links docs/troubleshooting.md. AGENTS.md points agents to
the user docs when they change something a user can see.
README:

- Release, license, Validate and Lint badges next to the HACS and Home
  Assistant badges. The workflow badges point at the 4.0-pre-release branch.
- A documentation block with the user and developer entry points and a
  quick links line.
- A "Why this integration?" section that lists what the integration does,
  each point linked to the doc that explains it.
- A quick start with the My Home Assistant buttons for the HACS repository
  and for starting the gree_custom config flow.
- Help and support, Contributing and Development note sections. The
  development note absorbs the LLM line that was in the credits.
- A license section. The repo is GPL-3.0.
- Icons on the chapter headings.

docs/automation-examples.md is new: cooling on room temperature, off when a
window opens, night mode with Sleep and the quiet fan, display light
schedule, fault notification, frost protection with Smart Heat, and a script
that reads raw properties with get_prop_values.

.github/workflows/lint.yml is new. It runs ruff check and ruff format
--check on Python 3.14 on every push and PR. Pylint and Mypy stay local,
because they need the Home Assistant core checkout that only the
devcontainer has. Ruff passes on the whole tree today, so the badge starts
green. docs/development.md describes the new job.
The workflow badges no longer pin a branch, so nothing has to change when
5.0 lands on master.

Checked against the dev instance: Home Assistant writes the Smart Heat 8ºC
switch as smart_heat_8oc, and it builds entity IDs from the translated
entity name, so a Dutch instance gets switch.<device>_pieptoon for the
beeper. The entity and automation docs now say so.
The branch name stops making sense once the code lands on master. The
comments now say "before PR 514", which stays true.
@RobHofmann
RobHofmann merged commit ae732da into 4.0-pre-release Sep 22, 2026
4 checks passed
@RobHofmann
RobHofmann deleted the docs/split-readme branch September 22, 2026 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant