home-assistant power flow card for GivTCP users.
You need to have GivTCP intergrated into your home-assistant (either as an addon or a standalone docker container). You must have both the HA_AUTO_D (Home Assistant Auto Discovery) and MQTT_OUTPUT options enabled.
This card is designed for GivTCP entity naming and discovery. In practice that means the card expects GivTCP serial number sensors such as sensor.*_invertor_serial_number and sensor.*_battery_serial_number.
If you are using another inverter integration such as FoxESS, the card will not auto-configure unless that integration exposes equivalent GivTCP-style entities.
- Open the card editor and go to
General. - Pick your
Invertor/AIOorInvertorsfrom the discoveredsensor.*_invertor_serial_numberentities. - Pick your
BatteryorBatteriesfrom the discoveredsensor.*_battery_serial_numberentities. - The card derives the rest of the flow sensors from those serial numbers.
If you want to represent extra loads or generation sources that are not part of GivTCP, use Custom 1 and Custom 2 in the House tab and point them at any power sensor.
If the editor picker is empty or your inverter does not appear:
- Confirm you have GivTCP entities in Home Assistant, especially
sensor.*_invertor_serial_numberandsensor.*_battery_serial_number. - In GivTCP, make sure
HA_AUTO_D(Home Assistant auto discovery) andMQTT_OUTPUTare enabled. - Check Developer Tools -> States in Home Assistant and verify those serial-number sensors actually exist.
- Reopen the card editor after the entities appear.
This card does not currently support arbitrary inverter integrations by manually mapping every flow sensor. Integrations such as FoxESS only work if they expose equivalent GivTCP-style serial-number entities.
This repo now includes a reusable Home Assistant Docker setup so you can get back to card development quickly.
- Install dependencies with
npm install. - Start Home Assistant with
npm run ha:start. - In a second terminal, start the card watcher with
npm run dev:watch. - Open
http://localhost:8123and finish the normal Home Assistant onboarding. - The demo dashboard is already configured and loads the local build from
/local/givtcp-power-flow-card/givtcp-power-flow-card.js?v=dev.
- Run
npm run ha:start. - Run
npm run dev:watch. - Edit files in
src/. - Refresh Home Assistant in the browser to pick up the rebuilt card bundle.
npm run ha:start- start the local Home Assistant containernpm run ha:stop- stop the local Home Assistant containernpm run ha:logs- follow Home Assistant logsnpm run dev:watch- rebuild the card on every file savenpm run build- produce a release build indist/
docker-compose.dev.ymlstarts an isolated Home Assistant container on port8123home-assistant/config/configuration.yamlregisters the card as a Lovelace resource and seeds demo entitieshome-assistant/config/ui-lovelace.yamlprovides a ready-made dashboard for the carddist/is bind-mounted into Home Assistant'swwwfolder so each rebuild is immediately available after a browser refresh
When you want to test against your live setup instead of the seeded demo sensors, point the card at your real sensor.*_invertor_serial_number entity and related GivTCP sensors, or copy the same resource path into your normal Home Assistant instance.
- install HACS you need to install this first.
- inside home-assistant go to HACS -> Frontend then click the 3 dots in the upper right hand corner.
- select Custom repositories from the menu and enter https://github.com/VeniVidiVici/givtcp-power-flow-card in the Repository box and select Lovelace for the Category.
- install the givtcp-power-flow-card using the UI
Currently multiple invertors and batteries support is limited, total power is calculated by adding all the invertors together and the same for the batteries. State of Charge is calculated by averaging all the batteries together. Clicking on an entity will show the details for the first battery or invertor in the list, this is a limitation of the way home-assistant handles these popups.
Future versions will allow you to list invertors and batteries separately on the card.
You can optionally show individual solar input wattage on the solar node by setting Solar Input 1 Sensors and Solar Input 2 Sensors in the Solar tab. Each field accepts one or more power sensors, so you can sum matching PV input sensors across multiple inverters.





