{"id":16652280,"url":"https://github.com/kprestel/appdaemon-climate","last_synced_at":"2025-04-09T17:45:06.730Z","repository":{"id":42504452,"uuid":"338827116","full_name":"kprestel/appdaemon-climate","owner":"kprestel","description":"appdaemon app to control your home's climate","archived":false,"fork":false,"pushed_at":"2022-07-17T13:55:31.000Z","size":20,"stargazers_count":8,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T19:51:20.516Z","etag":null,"topics":["appdaemon","hacs","home-automation","homeassistant"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kprestel.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}},"created_at":"2021-02-14T14:45:13.000Z","updated_at":"2023-09-21T06:07:45.000Z","dependencies_parsed_at":"2022-07-18T08:13:05.414Z","dependency_job_id":null,"html_url":"https://github.com/kprestel/appdaemon-climate","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":"ludeeus/ad-hacs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kprestel%2Fappdaemon-climate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kprestel%2Fappdaemon-climate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kprestel%2Fappdaemon-climate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kprestel%2Fappdaemon-climate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kprestel","download_url":"https://codeload.github.com/kprestel/appdaemon-climate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248080741,"owners_count":21044549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["appdaemon","hacs","home-automation","homeassistant"],"created_at":"2024-10-12T09:28:14.707Z","updated_at":"2025-04-09T17:45:06.709Z","avatar_url":"https://github.com/kprestel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AppDaemon-Climate\n\n_AppDaemon app for [HACS](https://github.com/custom-components/hacs)._\n\n## What is this?\n\nThis is an appdaemon app that controls your theromstat via Homeassisant. This appp has the ability to target specific areas of your house and prioritize them depending on the time of day.\n\n## Installation\n\nDownload the `hacs` directory from inside the `apps` directory here to your local `apps` directory, then add the configuration to enable the `hacs` module.\n\n## Features\n\n* Switch between A/C and Heat based on the current indoor temperature vs the current outdoor temperature.\n\n* Prioritize different areas of your house based on time of day\n\n* Allow for adjustments to \"actual\" temperature to achieve desired temperature\n\n## App configuration\n\nThe configuration is broken into 4 parts.\n\n1. AD Configuration\n1. Single required application parameters\n1. Sensor/target area configuration\n1. Temperature preferences\n\nAny \"key\" in the `inside_temperature_sensors` configuration must map to a target area in `preferences`.\n\n```yaml\nclimate:\n  module: climate\n  class: Climate\n  thermostat: climate.kitchen\n  weather_sensor: sensor.dark_sky_temperature\n  mode_switching_enabled: input_boolean.enable_climate_mode_switching\n  max_temperature: input_number.max_temperature\n  min_temperature: input_number.min_temperature\n  climate_temperature_difference: input_number.climate_temperature_difference\n  inside_temperature_sensors:\n    basement:\n      sensors:\n          - sensor.basement_bedroom_temperature\n          - sensor.game_room_temperature\n    main:\n      sensors:\n          - sensor.kitchen_temperature\n          - sensor.living_room_temperature\n    top:\n      sensors:\n          - sensor.masterbed_room_temperature\n          - sensor.kids_room_temperature\n  open_close_sensors:\n    - binary_sensor.front_door\n    - binary_sensor.living_room_window\n  climate_off_timeout: \"00:30:00\"\n  preferences:\n    morning:\n      input_time: input_datetime.morning\n      input_temperature: input_number.morning_temp\n      target_area: top\n    daytime:\n      input_time: input_datetime.daytime_time\n      input_temperature: input_number.daytime_temp\n      target_area: main\n    evening:\n      input_time: input_datetime.evening\n      input_temperature: input_number.evening_temp\n      target_area: basement\n    bedtime:\n      input_time: input_datetime.bedtime\n      input_temperature: input_number.bedtime_temp\n      target_area: top\n```\n\n| key | optional | type | default | description |\n| --- | --- | --- | --- | --- |\n| `module` | False | string | | The module name of the app. |\n| `class` | False | string | | The name of the Class. |\n| `thermostat` | False | string | | The climate entity to control. |\n| `max_temperature` | True | int | 80 | The max temperature that would ever be set. |\n| `min_temperature` | True | int | 60 | The min temperature that would ever be set. |\n| `mode_switching_enabled` | True | boolean | False | If true, then the app will switch between heat and A/C to acheive the desired temperature  |\n| `weather_sensor` | False | string | | A sensor that provides the current outdoor temperature. |\n| `inside_temperature_sensors` | False | string | | Sensors that provide temperature data about different areas. |\n| `preferences` | False | string | |  Target area configuration |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkprestel%2Fappdaemon-climate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkprestel%2Fappdaemon-climate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkprestel%2Fappdaemon-climate/lists"}