{"id":18897831,"url":"https://github.com/aneisch/thermostat_api_server_docker","last_synced_at":"2026-03-07T00:30:46.652Z","repository":{"id":44757379,"uuid":"295638604","full_name":"aneisch/thermostat_api_server_docker","owner":"aneisch","description":"Python API server for Observer Communicating Thermostat local control","archived":false,"fork":false,"pushed_at":"2026-02-18T21:20:09.000Z","size":310,"stargazers_count":7,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-02-19T02:45:14.574Z","etag":null,"topics":["api","docker","observer","thermostat","tstat0201cw"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aneisch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-09-15T06:43:21.000Z","updated_at":"2026-02-18T21:20:14.000Z","dependencies_parsed_at":"2024-02-02T20:29:07.841Z","dependency_job_id":"dd08eb37-a35a-45fc-9e33-cbb2675281f2","html_url":"https://github.com/aneisch/thermostat_api_server_docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aneisch/thermostat_api_server_docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aneisch%2Fthermostat_api_server_docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aneisch%2Fthermostat_api_server_docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aneisch%2Fthermostat_api_server_docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aneisch%2Fthermostat_api_server_docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aneisch","download_url":"https://codeload.github.com/aneisch/thermostat_api_server_docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aneisch%2Fthermostat_api_server_docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30204154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"ssl_error","status_checked_at":"2026-03-06T18:57:34.882Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api","docker","observer","thermostat","tstat0201cw"],"created_at":"2024-11-08T08:39:44.048Z","updated_at":"2026-03-07T00:30:46.627Z","avatar_url":"https://github.com/aneisch.png","language":"Python","funding_links":["https://www.buymeacoffee.com/aneisch"],"categories":[],"sub_categories":[],"readme":"# Thermostat MQTT container\n\u003ca href=\"https://www.buymeacoffee.com/aneisch\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-black.png\" width=\"150px\" height=\"35px\" alt=\"Buy Me A Coffee\" style=\"height: 35px !important;width: 150px !important;\" \u003e\u003c/a\u003e\u003cbr\u003e\n\nActs as API server for Observer Communicating HVAC controller (TSTAT0201CW). Bridges MQTT and thermostat for control through applications such as Home Assistant. You'll need to point your thermostat at this application by modifying the observer server address on the thermostat. Depending on your thermostat's firmware version, certain functionaly may or may not be supported. \n\n## Usage\n\n\n### Example docker-compose\n\n```yaml\nversion: '3.2'\nservices:\n    thermostat_api_server:\n        container_name: thermostat_api_server\n        image: ghcr.io/aneisch/thermostat_api_server:latest # amd64, or latest-arm64 for ARM devices\n        ports:\n            - '8080:8080'\n        environment:\n            # Name for Device in HA\n            - THERMOSTAT_NAME=Upstairs\n            - THERMOSTAT_SERIAL=5687J272316\n            - MQTT_SERVER=10.0.1.22 # This can be an internal docker IP or an IP on your \"real\" network that exposes the MQTT service\n            # Optional MQTT_PORT - defaults to 1883\n            #- MQTT_PORT=1883\n            # Optional username/password\n            #- MQTT_USERNAME=username\n            #- MQTT_PASSWORD=password\n            # Used in reply to thermostat\n            - API_SERVER_ADDRESS=10.0.1.22 # This should be the IP where a wifi client can access this container port 8080, NOT an internal docker IP\n            - LOG_LEVEL=DEBUG # DEBUG INFO\n        restart: always\n```\n### Home Assistant Configuration\n\nUses [MQTT Discovery](https://www.home-assistant.io/docs/mqtt/discovery/) to add climate device and associated sensors. If MQTT discovery is enabled, no configuration should be necessary aside from setting container environment variables.  \n\n![Home Assistant Entities](entities.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faneisch%2Fthermostat_api_server_docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faneisch%2Fthermostat_api_server_docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faneisch%2Fthermostat_api_server_docker/lists"}