fix(switch): pin-free RPiEasy toggling + HACS release polish#43
Merged
Conversation
RPiEasy's /json does not expose a GPIO pin (unlike ESPEasy), so without a manually configured pin the only command tried was '<taskname>,<state>', which RPiEasy rejects with body 'False' — leaving RPiEasy switches dead unless the user hand-set a pin in options. Add 'taskvaluesetandrun,<taskname>,<valuename>,<state>' as a candidate. It is a RPiEasy built-in that sets the task value (driving the physical GPIO for output plugins) and runs the task, publishing the new state back over C013. Matched by exact task/value name via getTaskValueIndex and returns 'True' on success, which our existing success heuristic accepts. Tried after an explicit pin/template so ESPEasy (which learns its pin from /json) is unaffected.
Chance-Konstruktion
added a commit
that referenced
this pull request
Jun 4, 2026
…ce-dR0il fix(state): self-timing relay sync + carry over the release polish missed by #43
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.
1. RPiEasy switches work without a hand-configured GPIO pin
ESPEasy exposes the GPIO pin in
/json, so the integration sendsgpio,<pin>,<state>. RPiEasy's/jsondoes not expose the pin, so without a manually configured pin the only command tried was<taskname>,<state>, which RPiEasy rejects (body"False") — leaving RPiEasy switches dead. (Even with a pin set,gpio,...does not always reach the relay on RPiEasy depending on the plugin.)Add
taskvaluesetandrun,<taskname>,<valuename>,<state>as a command candidate — a RPiEasy built-in that sets the task value (driving the physical GPIO for output plugins), runs the task, and publishes the new state back over C013. Matched by exact task/value name viaSettings.getTaskValueIndex, returns"True"on success. Tried after an explicit pin/template, and ESPEasy rejects the unknown verb and falls through to the existing task-name path, so ESPEasy is unaffected.2. HACS release polish
version260506→260604so HACS actually offers the discovery (fix(discovery): retry RPiEasy /json metadata until a named task is learned #42) and switch fixes as an update — HACS keys updates off the version/release tag, so without a bump users never receive them.ConfigEntryNotReadyon UDP bind failure (HA retries with backoff) instead of permanently failing the entry; drop the per-load INFO dump ofentry.data(→ debug) to cut log noise.options.abort.no_switch_taskskey fromstrings.json/en.json/de.json.Testing
en.json==strings.json;de.jsonkey-complete./controlsuccess body ("True") verified against the RPiEasy reference (commands.py,webserver.py,Settings.py).https://claude.ai/code/session_01V63JogLGZjJrYacmErbfXd