Heaty will die, Schedy be born!


I have (read the docs) and I can’t get it to work.


What does “can’t get it to work” mean?


I cannot get the generic thermostat to react to a schedule.


Then enable debug logging in order to inspect what’s actually going on.


Presumable by adding debug: true. if so no output in the AppDaemon Log - is that where I shoudl be looking? All I get is a note the file has changed.


It should reload the app automatically if the config changed, restarting AppDaemon does it for sure.


If I change a different schedule I get

2018-10-19 17:58:00.948872 INFO AppDaemon: Reading config
2018-10-19 17:58:00.993937 INFO AppDaemon: /config/appdaemon/apps/schedy-apps.yaml added or modified
2018-10-19 17:58:00.994444 INFO AppDaemon: App 'schedy' changed
2018-10-19 17:58:00.997921 INFO AppDaemon: Terminating schedy
2018-10-19 17:58:00.998499 INFO AppDaemon: Initializing app schedy using class SchedyApp from module hass_apps_loader
2018-10-19 17:58:01.000972 INFO schedy: *** Welcome to schedy 0.1.0, running on AppDaemon 3.0.1.
2018-10-19 17:58:01.003900 INFO schedy: *** 
2018-10-19 17:58:01.005456 INFO schedy: *** This is an app from the hass-apps package.
2018-10-19 17:58:01.006961 INFO schedy: ***   DOCS: https://hass-apps.readthedocs.io/en/stable/
2018-10-19 17:58:01.008443 INFO schedy: *** 
2018-10-19 17:58:01.009877 INFO schedy: *** If you like this app and want to honor the effort put into it,
2018-10-19 17:58:01.012608 INFO schedy: *** please consider a donation.
2018-10-19 17:58:01.014431 INFO schedy: ***   DONATE: https://hass-apps.readthedocs.io/en/stable/#donations
2018-10-19 17:58:01.016241 INFO schedy: *** Thank you very much and enjoy schedy!
2018-10-19 17:58:01.019704 INFO schedy: *** 
2018-10-19 17:58:01.026323 INFO schedy: --- Actor type is: 'switch'
2018-10-19 17:58:01.043427 INFO schedy: --> [R:sunroom] [A:switch.ufh_heating] Received state of 'off'.
2018-10-19 17:58:01.146629 INFO schedy: <-- [R:sunroom] Value set to on.  [scheduled]
2018-10-19 17:58:01.150152 INFO schedy: *** Initialization done.
2018-10-19 17:58:02.024401 INFO schedy: --> [R:sunroom] [A:switch.ufh_heating] Received state of 'on'.

the thermostat schedule is

  # Obligatory settings that tell appdaemon where to find the app.
  # You shouldn't need to change these two.
  module: hass_apps_loader
  class: SchedyApp
  actor_type: thermostat
  debug: true

    #A schedule for the hot water tank
      - value: 25
        start: "05:30"
        end: "19:00"
        name: Fancy Rule
      - value: 14
      # - min_temp: 14
      #   max_temp: 16
      replicate_changes: true
      reschedule_delay: 1
          min_temp: 18
          max_temp: 25
          target_temp_service: 23

I have tried all sorts of different combinations. Rule should have a value of 25 right now.


The log you posted is from something completely different… That’s from a switch actor, and even without debug enabled.

You seem to have multiple apps named schedy defined, but app names have to be unique. Please check again.


Bingo! A real Doh! moment. That is pretty stupid on my part but just couldn’t see it!

Thanks for your patience…


No problem, hope you get it working now :slight_smile:



Robert, your ability to deliver this quality of code and helpful support, despite circumstances, is truly inspiring.

Well done and thank you sir.



@xAPPO Thank you Kevin. It’s not always easy besides my studies, but I try as good as I can. And making free software better feels great.

You may of course make a small donation if you feel to do so. :slight_smile:


Hi. I’m running HASS.IO 0.80.3
I have enabled appdaemon and hass-apps.
I getting this error when starting Appdaemon:

2018-10-24 19:47:57.028974 INFO AppDaemon: Initializing app schedy_minimal using class SchedyApp from module hass_apps_loader
2018-10-24 19:47:57.030949 WARNING AppDaemon: ------------------------------------------------------------
2018-10-24 19:47:57.032682 WARNING AppDaemon: Unexpected error initializing app: schedy_minimal:
2018-10-24 19:47:57.034219 WARNING AppDaemon: ------------------------------------------------------------
2018-10-24 19:47:57.044185 WARNING AppDaemon: Traceback (most recent call last):
File “/usr/lib/python3.6/site-packages/appdaemon/appdaemon.py”, line 2040, in check_app_updates
File “/usr/lib/python3.6/site-packages/appdaemon/appdaemon.py”, line 1562, in init_object
app_class = getattr(modname, app_args[“class”])
AttributeError: module ‘hass_apps_loader’ has no attribute ‘SchedyApp’

Appdaemon config:

  "log_level": "info",
  "system_packages": [],
  "python_packages": [


secrets: /config/secrets.yaml
  logfile: STDOUT
  errorfile: STDERR
  threads: 10
  app_dir: /config/appdaemon/apps
      type: hass
      ha_url: http://hassio/homeassistant
      ha_key: !secret ha_key
  dash_dir: /config/appdaemon/dashboards


  module: hass_apps_loader
  class: SchedyApp

  actor_type: thermostat
        off_temp: 5      
      - { v: 24, start: "15:00", end: "23:00", weekdays: 1-5, weeks: "1-22, 32-52" }
      - { v: 16.0 }


You installed the stable release while Schedy is only present in the latest development version. Follow the old guide for hassio here:


And add "observable" instead of hass-apps to the python_packages config.


Right -

Its been a tad to long since I had an opportunity to focus; and a lot has changed. Last night I realized the demise of Heaty, which will be missed; and have as a result disabled its existence in my environment.

Porting block by block I have so far been without issue; however - I am not so sure that i have a stop and reverse course situation at the moment…

statistics: Is this configuration Item making an appearance in this new incarnation? as it is exposing data that is critical to my success :slight_smile:

The following block does not cause an error, but also is not creating any values in HA



      friendly_name: Main Floor Living zone


      friendly_name: Main Floor Auxillary zone


      friendly_name: Upstairs zone


@DamianFlynn The statistics feature isn’t available in Schedy yet. That’s why I recommend you continue to use Heaty for now. You can of course use Heaty for heating and Schedy for other things in parallel.

I haven’t decided yet how to integrate the statistics feature since it heavily depends on the actor type used, but plans are to make it available in the future.


I was afraid you were going to say that;
Everything else does currently appear to be working correctly for what its worth.



The move to a new app was required to enable all the other actor types and make the scheduler really general purpose.

But as I said, Heaty does still work and won’t be removed in the foreseeable future. It’s just that new development now goes into Schedy.

You can simply switch over to Schedy at a later time and stick with Heaty for this heating period. Porting the configuration is no big deal as you probably have already noticed.

Best regards


Is there a way to install Schedy in a docker container?,
I am running Appdaemon in docker and would like to add Schedy to it.


even when appdaemon is in a docker, still the configuration is (or at least should be) outside the docker.
so you also dont want to add an app (like schedy is) to the docker.