EMHASS Setup

Configuration

Unfortunately, EMHASS has a long and confusing configuration page, many of which are not actually required.

Thankfully we can completely ignore the EMHASS configuration page, so just leave it as default. We will be overriding the values we care about later when running EMHASS. If you have already configured things, don’t worry, it won’t matter.

Running EMHASS from Home Assistant

Since EMHASS is an addon, we need a communication system to run commands. One simple way is to use rest commands which we will setup below.

You’ll need access to your home assistant configuration files, I recommend the official vscode addon.

If you have not setup packages yet, create a packages directory alongside configuration.yaml, and then add this to your home assistant configuration.yaml file:

homeassistant:
  packages: !include_dir_named packages

Inside the packages directory, create a file named emhass.yaml with the following content:

rest_command:
  emhass_dayahead_optim:
    url: http://127.0.0.1:5000/action/dayahead-optim
    method: POST
    content_type: "application/json"
    timeout: 240
    payload: "{{ payload }}"
  emhass_naive_mpc_optim:
    url: http://127.0.0.1:5000/action/naive-mpc-optim
    method: POST
    content_type: "application/json"
    timeout: 240
    payload: "{{ payload }}"
  emhass_publish_data:
    url: http://127.0.0.1:5000/action/publish-data
    method: POST
    content_type: "application/json"
    timeout: 240
    payload: "{{ payload }}"

Then restart home assistant.

These are the 3 emhass actions we will now be able to execute from home assistant. In this guide we will only use the last two. They all take a payload as a parameter, which will later include all the required information such as the forecasts and solar/battery specs.

Up Next

Running EMHASS