Home Assistant custom integration to fetch data from Powerpal

Overview

Powerpal custom component for Home Assistant

GitHub Release GitHub Activity

hacs

Component to integrate with powerpal.

This repository and integration is not affiliated with Powerpal.

This component will set up the following platforms and entities.

Platform Description
sensor Show info from Powerpal Readings API.
Entity Description
sensor.powerpal_live_consumption Current reading from Powerpal Readings API (updated every minute).
sensor.powerpal_total_consumption Total consumption recorded by Powerpal - entity can be used in Energy Dashboard.

sensor

energy

Automatic Installation

  1. Install HACS
  2. Within HA go to HACS > Integrations > ... (in top right corner) > Custom Repositories
  3. Add URL: https://github.com/mindmelting/hass-powerpal, Category: Integration
  4. Go to the integrations page inside your home assistant install
  5. Search for Powerpal
  6. Install, enter your Powerpal API Authorization Key and Powerpal Device ID.

Manual Installation

  1. Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
  2. If you do not have a custom_components directory (folder) there, you need to create it.
  3. In the custom_components directory (folder) create a new folder called powerpal.
  4. Download all the files from the custom_components/powerpal/ directory (folder) in this repository.
  5. Place the files you downloaded in the new directory (folder) you created.
  6. Restart Home Assistant
  7. In the HA UI go to "Configuration" -> "Integrations" click "+" and search for Powerpal

Using your HA configuration directory (folder) as a starting point you should now also have this:

custom_components/powerpal/translations/en.json
custom_components/powerpal/__init__.py
custom_components/powerpal/config_flow.py
custom_components/powerpal/const.py
custom_components/powerpal/manifest.json
custom_components/powerpal/sensor.py

Configuration is done in the UI

Contributions are welcome

If you want to contribute to this please read the Contribution guidelines


Comments
  • How to obtain authorisation key

    How to obtain authorisation key

    Is your feature request related to a problem? Please describe. It seems very difficult to obtain the authorisation key.

    Describe the solution you'd like Please provide a solution on how to obtain this authorisation key simply

    question 
    opened by cdouet 8
  • add python script to retrieve apikey over BLE

    add python script to retrieve apikey over BLE

    After reverse engineering the Powerpal BLE comms I didn't think to bother with any of the REST API because that had been covered pretty well by a couple of other github projects.

    But on coming back to it I realised that there was one step that is still a bit of a pain and mystery, retrieving the apikey! (though I believe now you can maybe apply for it, this is probably still more convenient)

    The Apikey is actually stored locally on the Powerpal, behind the 'UUID' (59DA0009-12F4-25A6-7D4F-55961DCE4205) characteristic.

    This is a super simple python script to retrieve it, and only requires the Powerpal MAC address (can easily be found by scanning for bluetooth devices), and the pairing code given to you with your Powerpal (can also be found within the Powerpal Application)

    I don't currently have access to a Powerpal to test this on, so would really appreciate if you could give it a go and let me know if it works (it's also possible the data that comes back might need to have it's bytes reversed)

    Can run by adding your mac and pairing key as arguments, or by changing them in the script: python3 utils/retrieve_api_key.py "12:34:56:78:90:AB" 123123

    opened by WeekendWarrior1 3
  • Consumption chart seems to be linked to time of sync, not time of usage

    Consumption chart seems to be linked to time of sync, not time of usage

    Version of the custom_component

    f7e8b30

    Describe the bug

    The Total Consumption chart seems to be calculated based on the time of syncing the data, not the actual time of usage. This shows it fairly clearly: image

    Compare with actual usage per hour from Powerpal app: image

    Is this a bug or a limitation of the API?

    opened by maxw3l 3
  • The link to Documentation is incorrect

    The link to Documentation is incorrect

    Version of the custom_component

    Configuration

    
    Add your logs here.
    
    

    Describe the bug

    A clear and concise description of what the bug is.

    The link has a typo in it, missing final "p" in powerpal

    https://github.com/mindmelting/hass-poweral

    Debug log

    
    Add your logs here.
    
    
    opened by tmugan 2
  • Any way to add data from powerpal server prior to the integration installation?

    Any way to add data from powerpal server prior to the integration installation?

    Hi There,

    Thanks so much for this integration.

    Is there a way to load pervious data to HA, prior to having installed the component?

    Obviously I can download the CSV file, but how do Add it to the newly recorded data in HA?

    Thanks in advance

    opened by botts7 2
  • Advice on integration - App and HA totals are out by 1kWh

    Advice on integration - App and HA totals are out by 1kWh

    Hi,

    Firstly thanks for creating this integration, I have been able to get it working within my setup which is great. I am however wanting some advice on how often it communications with 'readings' as it doesn't seem to be 'live' and the total power consumption is out by nearly 1kWh (compared with the app)

    Is there anything I am missed or need to adjust? or is this expected as it's not providing accurate real time data?

    question 
    opened by tgcowell 2
Releases(v0.2.2)
  • v0.2.2(May 28, 2022)

    What's Changed

    • Update to the GitHub URLs by @StephenGoodall in https://github.com/mindmelting/hass-powerpal/pull/11

    New Contributors

    • @StephenGoodall made their first contribution in https://github.com/mindmelting/hass-powerpal/pull/11

    Full Changelog: https://github.com/mindmelting/hass-powerpal/compare/v0.2.1...v0.2.2

    Source code(tar.gz)
    Source code(zip)
  • v0.2.1(Dec 13, 2021)

    What's Changed

    • chore: Update README to advise on usage by @mindmelting in https://github.com/mindmelting/hass-powerpal/pull/6
    • chore: Update to use extra state attributes by @mindmelting in https://github.com/mindmelting/hass-powerpal/pull/9

    Full Changelog: https://github.com/mindmelting/hass-powerpal/compare/v0.2.0-beta...v0.2.1

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0-beta(Oct 5, 2021)

    What's Changed

    • chore: Update to namespaced lib and updated README.md by @mindmelting in https://github.com/mindmelting/hass-powerpal/pull/1
    Source code(tar.gz)
    Source code(zip)
Owner
Lawrence
Lawrence
LT-OCF: Learnable-Time ODE-based Collaborative Filtering, CIKM'21

LT-OCF: Learnable-Time ODE-based Collaborative Filtering Our proposed LT-OCF Our proposed dual co-evolving ODE Setup Python environment for LT-OCF Ins

Jeongwhan Choi 15 Dec 28, 2022
Scripts for measuring and displaying thermal behavior on Voron 3D printers

Thermal Profiling Measuring gantry deflection and frame expansion This script runs a series of defined homing and probing routines designed to charact

Jon Sanders 30 Nov 27, 2022
An open source operating system designed primarily for the Raspberry Pi Pico, written entirely in MicroPython

PycOS An open source operating system designed primarily for the Raspberry Pi Pico, written entirely in MicroPython. "PycOS" is an combination of the

8 Oct 06, 2022
A python file which I wrote to allow the Dorna Robots API to draw an Image on a 3D plane

Dorna-Robotics-Internship Code In the directory "Code" is a python file which I wrote to allow the Dorna Robots API to draw an Image on a 3D plane. I

Stephen Otto 2 Dec 06, 2021
A ch341dll Wrap is for using in Python 32bits windows to access I2C SPI and MDIO (by GPIO), and Demo with display PC sreen on OLED by i2c or SPI .

ch341dll_wrap_typcal_app A ch341dll Wrap is for using in Python 32bits windows to access I2C SPI and MDIO (by GPIO). In addition, I provided 3 Demo. I

13 Jan 02, 2023
A simple Python script for toggling Philips Hue Lights by clapping

LightsClap A simple Python script for toggling Philips Hue Lights by clapping Usage pip3 install -r requirements.txt python3 main.py and press the Ent

Flux Industries 2 Nov 16, 2021
circuitpython version of PyBasic for microcontrollers

cPyBasic Circuitpython version of PyBasic for microcontrollers Current version work only for Adafruit titano & CardKB for now. The origninal PyBasic w

BeBoXoS 3 Nov 14, 2021
SALUS THERMOSTAT Custom component for Home-Assistant

Home-Assistant Custom Components Custom Components for Home-Assistant (http://www.home-assistant.io) Salus Thermostat Climate Component My device is R

21 Dec 18, 2022
The main aim of this project is to avoid the accidents in shredding ( Waste Recycling Industry )

shredder-Machine-Hand-Safety The main aim of this project is to avoid the accidents in shredding ( Waste Recycling Industry ) . The Basic function of

Shubham Chaudhari 1 Nov 15, 2021
Terkin is a flexible data logger application for MicroPython and CPython environments.

Terkin Data logging for humans, written in MicroPython. Documentation: https://terkin.org/ Source Code: https://github.com/hiveeyes/terkin-datalogger

hiveeyes 45 Dec 15, 2022
A script and GUI for controlling stepper motors from an arduino

A script and GUI for controlling stepper motors from an arduino (nema 23 in my case but should work for others in general)

Pip 2 Aug 01, 2022
Micro Displays for Raspberry Pi

micro-displays Micro Displays for Raspberry Pi Why? I'm super bored in lockdown. Add a Raspberry Pi 400 and a few tiny displays... The top half of the

ig 291 Jul 06, 2022
A circle of LEDs

This repository contains all the design files, production files and example code for a simple circular LED display.

Pim de Groot 15 Aug 21, 2022
Cow Feeder is a bot automatically execute trade on cowswap

Cow Feeder is a bot automatically execute trade on cowswap, includes functions: Monitoring Ethereum network gas price and execute trade whe

6 Apr 20, 2022
Beam designs for infinite Z 3D printers

A 3D printed beam that is as stiff as steel A while ago Naomi Wu 机械妖姬 very kindly sent us one of Creality's infinite-Z belt printers. Lots of people h

RepRap Ltd 105 Oct 22, 2022
Python application, displaying currently played track from Spotify on OLED display connected via I2C

RaspberryPi Spotify OLED Display This application will display currently played track on SSD1306 OLED display connected to RaspberryPi. Displayed stuf

Wojciech Olech 2 Dec 30, 2021
A IC scan test interface for Arduino

ICSCAN_ARDUINO Prerequisites Python 3.6 or higher arduino uno or nano what is this It is a bitstream tranceiver to test IC chip It sends bitstream to

Nifty Chips Laboratory 0 Sep 15, 2022
Software framework to enable agile robotic assembly applications.

ConnTact Software framework to enable agile robotic assembly applications. (Connect + Tactile) Overview Installation Development of framework was done

Southwest Research Institute Robotics 29 Dec 01, 2022
Event-based hardware simulation framework

An event-based multi-device simulation framework providing configuration and orchestration of complex multi-device simulations.

Diamond Light Source Controls Group 3 Feb 01, 2022
Play a song with a 3D printer.

MIDI to GCODE Play a song with a FDM 3D printer. SLA printers don't have motors, so they cannot play music. Warning: Be ready to turn off the 3D print

Patrick 6 Apr 11, 2022