jimmystridh / hass-peaq

Home Assistant custom component to help ev-chargers stay below peak hourly energy levels.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hacs_badge Validate with hassfest Peaq_downloads hass-peaq_downloads Buy me a coffee

Peaqev ev-charging

๐Ÿ’ Sponsorship and prioritized development ๐Ÿ’

Peaqev is developed without static funding. If you lack your locale/chargertype or have wishes for other specific features that you would like to see prioritized, please consider becoming a Github-sponsor to bump your desired changes in my backlog.

  • In order to flag a ticket, either create a new one or comment on an existing one after you've started your sponsorship. I will then flag the ticket with sponsored-change and try to prioritize this going forward
  • Becoming a sponsor is not a guarantee that a wish will be created, or a guarantee for a specified resolution-time. Peaqev is being developed in my sparetime and every feature has to be considered by me before taking it into development
  • I may need to reach out for testing, especially if your wish includes implementing new chargertypes
  • Critical bugs discovered of course always triages higher than features

๐Ÿ’Œ


Welcome to Peaqev!

This application started as an attempt to lower the household's peak energy charges, targeted at charging an ev below a set threshold. Since then, we have evolved, and now offer a broader feature-set including price aware smart charge (a very smart calculation if you ask us), looking ahead at tomorrow's prices automatically, installation without the need for a power meter etc. Peaqev covers 23 different energy companies in Sweden, Norway and Belgium and two types of ev-chargers (2021-08-26)

The integration does not communicate with any properitary API's. However, the chargers selected will use the integrations set for them, and may include cloud polling of data.

For usage-examples and more in-depth explanations, see the Wiki:

Installation

Required to install is Home Assistant version 2022.8.0 or higher.

Preferred if you have HACS installed is to search for Peaqev there.

Otherwise you may:

  • Copy custom_components/peaqev folder to <config_dir>/custom_components/peaqev/
  • Restart Home assistant
  • Go to Configuration > Devices & Services > Add integration

Config setup:

Peaqev has two types of installations: Regular and Lite. Regular is much more precise, but requires an installed powersensor while Lite does not.

Installation type:
  • Installation type - Pick regular for the full Peaqev-experience. This will charge according to your home's total energy. Pick Lite if you do not have such a sensor installed. Peaqev will then charge the allowed hourly amount set further down in "Months"
Sensor:
  • Power sensor - The already existing power sensor in your setup. This is required to get the reading to work. Examples of devices sending such data is Tibber Pulse/Watty, Shelly DIN-mounted devices or similar.
  • Power sensor includes car - Check this option if the above sensor includes your car's power draw. The calutions will be altered accordingly
Charger and Locale:
  • City, or Grid owner company - Chose your city from the list. The characteristics differ in how peak hours are stored and measured. If you don't live in a supported location but just want to test the integration, or lower your peaks for other reasons, you may check "Other, just want to test"
  • Charger type - Pick the installed ev-charger you have. Currently Chargeamps, Easee and Outdoor smart outlets are supported. Check links for required custom components per charger-type: Chargeamps, Easee
  • Charger id - Your local identifier to tell Peaqev which charger unit we mean to manipulate. If your chargertype does not provide this, leave blank
  • If you have selected Smart outlet as charger type, you will need to provide the switch to turn on/off, and the sensor to read power from the outlet instead of charger id.
Price-aware:
  • Price aware charging - Check this to calculate the cheapest hours from Nordpool (requires Nordpool). Above Non- and Caution-hours will be ignored.
  • Absolute top price - The limit (if any) where your charger should be stopped, regardless of the hour-algorithm.
  • Min price - The lower limit (if any) where charging will always be permitted (must be lower than top-price if set).
  • Caution-hour type - Choose to what extent you would like Peaqev to hold back during caution-hours. Suave > Aggressive
Hours:
  • Non hours - Click to select the hours (if any) where you do not wish to charge.
  • Caution hours - Click to select the hours (if any) where you want the charger to be extra cautious to not break the peak.
Months:
  • Monthly allowed peak - Needs to be set in order to determine a minimum allowed peak. In the beginning of each month this is necessary to be able to charge at all. Format is in kW. See examples below

These are two (quite restrained) examples of monthly start peaks, for 1-phase and 3-phase charging respectively. This option is always up to your house and it's other appliances. The below are made for a modern house with installed heat pump. These suggestions are also made for hourly calculation. Should your Locale apply other, like quarter-hourly, do consider altering the numbers accordingly.

Month 1-phase charge 3-phase charge
Jan 2.0 4.0
Feb 1.8 3.6
Mar 1.8 3.6
Apr 1.5 3.0
May 1.5 3.0
Jun 1.5 3.0
Jul 1.5 3.0
Aug 1.5 3.0
Sep 1.5 3.0
Oct 1.5 3.0
Nov 1.8 3.6
Dec 2.0 4.0

While this integration will try to not break your monthly energy peak hour, there is off course no guarantee. Various factors beyond control of this logic do occur, so for those aiming at staying below their threshold, I do suggest you think about the non-hours, caution-hours etc in the setup. These hours should be set when you commonly utilize a lot of extra energy in your home, such as cooking, doing laundry etc.


A special thanks to my sponsors! Your support is greatly appreciated.

About

Home Assistant custom component to help ev-chargers stay below peak hourly energy levels.

License:GNU General Public License v3.0


Languages

Language:Python 100.0%