{"id":29200313,"url":"https://github.com/zmoog/ws","last_synced_at":"2026-06-20T03:32:21.023Z","repository":{"id":263066179,"uuid":"884119102","full_name":"zmoog/ws","owner":"zmoog","description":"CLI tool and Go library for Wavin Sentio underfloor heating system","archived":false,"fork":false,"pushed_at":"2025-11-10T23:34:16.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-11T01:06:07.928Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zmoog.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-06T07:12:57.000Z","updated_at":"2025-11-10T23:33:58.000Z","dependencies_parsed_at":"2024-11-16T04:31:13.417Z","dependency_job_id":"82b9a9ac-f18a-4366-afc2-2a5df59bce20","html_url":"https://github.com/zmoog/ws","commit_stats":null,"previous_names":["zmoog/ws"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/zmoog/ws","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmoog%2Fws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmoog%2Fws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmoog%2Fws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmoog%2Fws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zmoog","download_url":"https://codeload.github.com/zmoog/ws/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmoog%2Fws/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34556494,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-02T10:35:40.882Z","updated_at":"2026-06-20T03:32:21.011Z","avatar_url":"https://github.com/zmoog.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ws\n\nCLI tool and Go library to interact with Wavin Sentio floor heating systems.\n\n## Installation\n\n### Homebrew (macOS and Linux)\n\n```sh\nbrew install zmoog/ws/ws\n```\n\n### Go Install\n\n```sh\ngo install github.com/zmoog/ws/v2@latest\n```\n\n## Usage\n\nList devices in your Wavin Sentio account:\n\n```sh\n$ ws devices list\n\nName                          | Serial Number  | Type           | Firmware | Last Heartbeat\ndevices/abcdefghijklmnopqrstu | 98765432109876 | TYPE_SENTIO_CCU| 17.2.1   | 2025-01-15T14:32:18Z\n```\n\nList rooms in a device:\n\n```sh\n$ ws rooms list --device-name devices/abcdefghijklmnopqrstu\n\nName                  | Temperature state | Temperature (desired) | Temperature (current) | Humidity (current) | Dehumidification state\nLiving Room           | TEMPERATURE_STATE_IDLE | 22.0                | 21.5                  | 45.2               | DEHUMIDIFIER_STATE_IDLE\nKitchen               | TEMPERATURE_STATE_IDLE | 20.0                | 19.8                  | 52.1               | DEHUMIDIFIER_STATE_IDLE\nBedroom               | TEMPERATURE_STATE_IDLE | 18.5                | 18.9                  | 48.7               | DEHUMIDIFIER_STATE_IDLE\nBathroom              | TEMPERATURE_STATE_IDLE | 23.0                | 22.4                  | 58.3               | DEHUMIDIFIER_STATE_IDLE\n\nOutdoor temperature: 15.2\n```\n\n## Configuration\n\n### Authentication\n\nThe tool uses a configuration file to store your credentials and tokens. The file is located in `~/.ws/config`.\n\n```sh\n$ cat ~/.ws/config\nusername: john.doe@example.com\npassword: secretpassword123\n# web_api_key: AIzaSyBlAtNI7-2jitPul9I-O4EZcT-n0sIay-g  # Optional: uses default if not specified\napi_endpoint: https://blaze.wavinsentio.com/wavin.blaze.v1.BlazeDeviceService\noutput: table\n```\n\nYou can also set the credentials using:\n\n- Command line flags: `--username`, `--password`, `--web-api-key`, `--api-endpoint`\n- Environment variables: `WS_USERNAME`, `WS_PASSWORD`, `WS_WEB_API_KEY`, `WS_API_ENDPOINT`\n\n### Firebase Web API Key\n\nThe `web_api_key` identifies the Wavin Sentio app on Firebase and is not a secret. The tool comes with a default key that should work for most users. You only need to specify a custom key if:\n\n- The default key stops working (rare)\n- You're using a custom or enterprise version of the Wavin Sentio app\n\nThe default value is: `AIzaSyBlAtNI7-2jitPul9I-O4EZcT-n0sIay-g`\n\n### Output formats\n\nThe tool supports several output formats:\n\n- `table`: (default) prints the output in a table format\n- `json`: prints the output in JSON format\n\nYou can change the output format using the `--output` flag.\n\n```sh\n$ ws devices list --output json\n[\n  {\n    \"name\": \"devices/abcdefghijklmnopqrstu\",\n    \"createTime\": \"2024-03-15T10:45:22.123456Z\",\n    \"updateTime\": \"2025-01-15T14:32:18.987654321Z\",\n    \"serialNumber\": \"98765432109876\",\n    \"registrationKey\": \"A1B2C-D3E4F-5G6H\",\n    \"firmwareAvailable\": \"17.2.1\",\n    \"firmwareInstalled\": \"17.2.1\",\n    \"type\": \"TYPE_SENTIO_CCU\",\n    \"lastHeartbeat\": \"2025-01-15T14:32:18.987654321Z\"\n  }\n]\n```\n\n## Migration from v1\n\nThis is version 2 of the tool, which uses the new Wavin Sentio backend. If you're upgrading from v1:\n\n### Breaking Changes\n\n- Command changed: `ws locations list` → `ws devices list`\n- Flag changed: `--location-id` → `--device-name` \n- Module path: `github.com/zmoog/ws/v2`\n- New optional config: `web_api_key` (has sensible default)\n\n### Migration Steps\n\n1. Uninstall the old version: `go clean -i github.com/zmoog/ws`\n2. Install the new version: `go install github.com/zmoog/ws/v2@latest`\n3. Update any scripts to use `devices` instead of `locations` and `--device-name` instead of `--location-id`\n4. The `web_api_key` is now optional and has a default value\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmoog%2Fws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzmoog%2Fws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmoog%2Fws/lists"}