vNext: Split the README into a docs library with user documentation - #517
Merged
Merged
Conversation
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.
RobHofmann
force-pushed
the
docs/split-readme
branch
from
September 22, 2026 21:45
57cd88f to
11f98b3
Compare
The branch name stops making sense once the code lands on master. The comments now say "before PR 514", which stays true.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.mdis the index for both.docs/installation.mddocs/configuration.mddocs/connection-methods.mddocs/entities.mddocs/actions.mdget_prop_values,get_prop_values_all, the response shape, diagnostics downloaddocs/automation-examples.mddocs/encryption-key.mddocs/troubleshooting.mdIssue 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.ymlis new. It runsruff checkandruff format --checkon 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.mddescribes 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:
current_outside_temperature, notoutside_temperature.featuresis every feature excepthumidity_control.manual-configuration.yamlsaid "all options"; fixed there too.switch.<device>_pieptoonfor the beeper. The Smart Heat 8ºC switch becomessmart_heat_8oc.Also
docs/troubleshooting.md.AGENTS.mdpoints agents to the user docs when a change touches something a user can see.supported-devices.mdreplaced.Checks
Found, not fixed
config_flow.pysets the errorcannot_connect_mqtt, buten.jsonhas no such key, so an MQTT failure in the flow shows the raw key. Worth a separate PR.