diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dbe9c82 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode/ \ No newline at end of file diff --git a/README.md b/README.md index 536472d..aa919f5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # LuxPower Distribution Card - -[![hacs_badge](https://img.shields.io/badge/HACS-Custom-41BDF5.svg)](https://github.com/hacs/integration) +[![hacs_badge](https://img.shields.io/badge/HACS-Default-41BDF5.svg?style=flat-square)](https://github.com/hacs/integration) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/DanteWinters/lux-power-distribution-card?style=flat-square) ![Github stars](https://img.shields.io/github/stars/DanteWinters/lux-power-distribution-card?style=flat-square) ![Github issues](https://img.shields.io/github/issues/DanteWinters/lux-power-distribution-card?style=flat-square) @@ -10,32 +9,21 @@ A simple power distribution card of an inverter and battery system, for [Home As -# Installation +## Installation -## HACS +### HACS -There is a PR to add this card to the HACS defaults, but for now this card can be added by adding the URL as a custom repository source in HACS: -``` -DanteWinters/lux-power-distribution-card -``` - -## Manual install - -1. Download the four JavaScript files (`lux-power-distribution-card.js`, `config-entity-functions.js`, `html-functions.js` and `constants.js`) from the [latest release](https://github.com/DanteWinters/lux-power-distribution-card/releases/latest) and copy it into your `config/www` directory. +This card has been added to the list of default HACS frontend elements. Search for the name on HACS, and download from there to install. -2. Add the resource reference: - 1. Visit the Resources page in your Home Assistant instance [![Open your Home Assistant instance and show your dashboard resources.](https://my.home-assistant.io/badges/lovelace_resources.svg)](https://my.home-assistant.io/redirect/lovelace_resources/) - 2. Add `lux-power-distribution-card.js` as a JavaScript Module. +## Adding the card to the dashboard +### Configuration -# Adding the card to the dashboard - -## Configuration The following is a list of configs for the card: **NOTE:** Please refer to the example config below for clarification on how the entities should be added. -### Required configurations +#### Required configurations | Name | Type | Description | |---|:---:|---| @@ -45,7 +33,7 @@ The following is a list of configs for the card: | home_consumption | entities | Output power of the inverter to your home. | | grid_flow | entities | Power flowing to and from grid. Negative flow is import from grid, and positive flow is export to grid. | -### Optional configurations +#### Optional configurations | Name | Type | Description | |---|---|---| @@ -60,7 +48,7 @@ The following is a list of configs for the card: | inverter_alias | list of strings | This is used when there is more than 1 inverter. This will be the names used in the dropdown list. This or the lux dongle list is required. | | refresh_button | string | The location of the refresh button. Can be 'left', 'right' or 'both'. See below for more information. **NOTE:** the refresh button will only show if the *lux_dongle* is added. | -### Sub-configs that are not a list of entities or values +#### Sub-configs that are not a list of entities or values | Parent | Name | Type | Description | |---|---|---|---| @@ -68,18 +56,19 @@ The following is a list of configs for the card: | grid_indicator | dot | bool | If this is set to true and the grid voltage drops to 0, a red indicator will be added next to the grid voltage text. (Requires a grid voltage entity.) | | update_time | show_last_update | bool | If the update time entity has a timestamp attribute, it can be used to show how long since the last update. | | status_codes | no_grid_is_warning | bool | Some status codes (64, 136 and 192) are shown when grid is not available. If this value is true, these codes will show up as a warning on the status. If the value is false, these values will show up as normal. | +| parallel | average_voltage | bool | When using multiple inverters, there is a default created item on the list of inverters called "Parallel" that averages all the values from the different inverters. If *average_voltage* is true, the battery and grid voltages will be averaged and shown on the Parallel setting. Otherwise it will not show the voltages there. | +| parallel | parallel_first | bool | When using multiple inverters, there is a default created item on the list of inverters called "Parallel" that averages all the values from the different inverters. If *parallel_first* is true, the "Parallel" option will be shown first of the list, otherwise it will be last. | -# LuxpowerTek integration - -The LuxpowerTek integration is hosted in a private repository by [Guy Wells](https://github.com/guybw) +### Example Configuration -## Configuration - -If you have the Luxpower integration, you can use the following code directly (except for the energy_allocations, and change the dongle number): +If you have the LuxpowerTek integration, you can use the following code directly (except for the energy_allocations, and change the dongle number): ```yaml type: custom:lux-power-distribution-card inverter_count: 1 +parallel: + average_voltage: true + parallel_first: true battery_soc: entities: - sensor.lux_battery @@ -127,6 +116,10 @@ energy_allocations: - sensor.power_plug_4 ``` +## LuxpowerTek integration + +The LuxpowerTek integration is hosted in a private repository by [Guy Wells](https://github.com/guybw). + ## Refresh and the Dongle serial number This refresh only works for the LuxPowerTek integration referenced above. The service name and function call format are hard-coded. @@ -138,11 +131,11 @@ The location of the refresh button can be set with the *refresh_button_location* - both (Displayed on both sides, as described on the above two points.) - none (Removes the refresh button.) -# Energy Allocations Entities +## Energy Allocations Entities The *energy_allocations* entities can be any entity that measures power. It will sum the values together and display on the card. The idea is to use this to track how much of the home's power usage is known. -# Grid indicators +## Grid indicators Below are 2 pictures of the grid image. The first is the grid in a normal state, and the second is the grid image with both indicators active. @@ -150,13 +143,13 @@ Below are 2 pictures of the grid image. The first is the grid in a normal state, |---|---| | | | -# Gallery +## Gallery | The card with only required entities | The card with all required and optional entities | The card using all the LuxPower integration options and entities | |---|---|---| | | | | -# Interactive Card +## Interactive Card The four entity images on the card can be clicked to display the history of the connected entity. @@ -165,17 +158,39 @@ The four entity images on the card can be clicked to display the history of the - Home Image: Home consumption entity's history. - Grid Image: Grid flow entity's history. -# Parallel inverters +## Parallel inverters With v1.0.0, support for parallel inverters have arrived! In order to use parallel inverters, simply indicate the number of inverters you are using in the config, and add the additional inverter's entities under their corresponding headers. Take note of the *inverter_alias* and *lux_dongle* config values when using parallel inverters. -### Known issues - - Currently there is no option to mix the values, but that is on the roadmap. - - The refresh button only works on the first dongle value added. +The status bar for the parallel inverters works as follows: + +- If both inverters have normal status, it will display a normal status. +- If only one inverter has an non-normal status, the inverter alias will be displayed along with the non-normal status. +- If all the inverters have the same error (i.e. 'no-grid'), it will display this error on the parallel page. +- If there are multiple different error, the status will display as 'multiple errors' and you will need to go to the specific inverter to see the error. + +## Known issues + +### Card not loading issue + +With this card, there has been multiple instances of the card not loading. From my experience, the best way to fix this is to clear the cache and it should load. I can give instructions for both Android mobile devices and the browser. + +#### Android + +1. Find *Home Assistant* in the list of apps in settings. +2. This step may differ depending on the Android device. Find anything that indicates data used or storage. +3. When there, find the option to clear all the data (cache and storage). Clearing this will log you out of the app and you'll need to log in again. +4. Card should then show up. If it doesn't, please log a bug. + +#### Web browser +1. With the page open, open the developer console on the browser. Usually it's *F12*. +2. Click on the refresh button. +3. Rick-click on the refresh button to open a menu. +4. Choose the option *Empty Cache and Hard Reload*, or the option closest to this description. -# Developer's note +## Developer's note Although the card is functional and even has a few nice features, the development of it was done with a lot of inexperience. From my side, I do not have JavaScript or HTML experience other than this card. For this reason, there may be many ways I implemented things that aren't optimal or safe. If you are knowledgeable in and willing to look through the code, and advice and help will be much appreciated. -In addition, I currently only have 1 inverter. So the tests for the parallel inverters were done purely in a testing environment and may have some bugs. \ No newline at end of file +In addition, I currently only have 1 inverter. So the tests for the parallel inverters were done purely in a testing environment and may have some bugs. diff --git a/config-entity-functions.js b/config-entity-functions.js index 8b4f26c..6ffc595 100755 --- a/config-entity-functions.js +++ b/config-entity-functions.js @@ -3,6 +3,8 @@ import * as constants from "./constants.js"; export function buildConfig(config) { let new_config = constants.base_config; + new_config.header = config.header; + // Check inverter count let inverter_count = parseInt(config.inverter_count); if (isNaN(inverter_count) || inverter_count <= 0) { @@ -87,6 +89,18 @@ export function buildConfig(config) { } } + // Check parallel settings + if (config.parallel) { + if (config.parallel.average_voltage) { + new_config.parallel.average_voltage = true; + } + if (config.parallel.parallel_first) { + new_config.parallel.parallel_first = true; + } else { + new_config.parallel.parallel_first = false; + } + } + validateConfig(new_config); return new_config; @@ -140,14 +154,57 @@ function importConfigValues(config, new_config, inverter_count, object_name) { } } +export function getEntity(config, hass, config_entity, index) { + const entityConfig = config[config_entity].entities[index]; + if (typeof entityConfig === "string") { + try { + return hass.states[entityConfig]; + } catch (error) { + throw new Error(`Invalid entity: ${entityConfig}`); + } + } + + if (typeof entityConfig.consumption === "string" && typeof entityConfig.production === "string") { + const consumptionValue = parseInt(getEntitiesStateValue(hass.states[entityConfig.consumption])); + const productionValue = parseInt(getEntitiesStateValue(hass.states[entityConfig.production])); + + if (typeof consumptionValue === "number" && consumptionValue > 0) {3 + try { + return hass.states[entityConfig.consumption]; + } catch (error) { + throw new Error(`Invalid entity: ${entityConfig.consumption}`); + } + } + try { + return hass.states[entityConfig.production]; + } catch (error) { + throw new Error(`Invalid entity: ${entityConfig.production}`); + } + } +} + export function getEntitiesState(config, hass, config_entity, index) { - const entity = hass.states[config[config_entity].entities[index]]; + + const entity = getEntity(config, hass, config_entity, index); + let value = getEntitiesStateValue(entity); + + const entityConfig = config[config_entity].entities[index]; + if (typeof entityConfig !== "string" && typeof entityConfig.consumption === "string" && typeof entityConfig.production === "string") { + const consumptionValue = parseInt(getEntitiesStateValue(hass.states[entityConfig.consumption])); + const productionValue = parseInt(getEntitiesStateValue(hass.states[entityConfig.production])); + + if (typeof consumptionValue === "number" && consumptionValue > 0) { + value *= -1; + } + } + + return value; +} +function getEntitiesStateValue(entity) { if (entity.state) { if (entity.state === "unavailable" || entity.state === "unknown") { return "-"; - } else if (isNaN(entity.state)) { - return entity.state; } else { return entity.state; } @@ -155,8 +212,26 @@ export function getEntitiesState(config, hass, config_entity, index) { return "-"; } +export function getEntitiesNumState(config, hass, config_entity, index, is_int = true, is_avg = false) { + let value = 0; + if (index == -1) { + for (let i = 0; i < config.inverter_count; i++) { + value += parseFloat(getEntitiesState(config, hass, config_entity, i)); + } + if (is_avg) { + value = value / config.inverter_count; + } + } else { + value = parseFloat(getEntitiesState(config, hass, config_entity, index)); + } + if (is_int) { + return parseInt(value); + } + return Math.round(value * 100) / 100; +} + export function getEntitiesAttribute(config, hass, config_entity, attribute_name, index) { - const entity = hass.states[config[config_entity].entities[index]]; + const entity = getEntity(config, hass, config_entity, index); if (entity.attributes && entity.attributes[attribute_name]) { return entity.attributes[attribute_name]; @@ -166,13 +241,12 @@ export function getEntitiesAttribute(config, hass, config_entity, attribute_name } export function getEntitiesUnit(config, hass, config_entity, index) { - const entity = hass.states[config[config_entity].entities[index]]; + const entity = getEntity(config, hass, config_entity, index); if (entity.state) { if (isNaN(entity.state)) return "-"; else return entity.attributes.unit_of_measurement ?? ""; } - return ""; } export function getStatusMessage(status_code, show_no_grid_as_warning) { @@ -244,5 +318,5 @@ export function getStatusMessage(status_code, show_no_grid_as_warning) { break; } - return `Status: ${message} ${indicator}`; + return `${message} ${indicator}`; } diff --git a/constants.js b/constants.js index 069bc1d..c6a3b22 100755 --- a/constants.js +++ b/constants.js @@ -1,5 +1,10 @@ export const base_config = { inverter_count: null, + header: null, + parallel: { + average_voltage: false, + parallel_first: true, + }, battery_soc: { is_used: false, entities: [], @@ -65,7 +70,7 @@ export const base_config = { }; export function getBatteryImage(battery_soc) { - if (battery_soc == 100) { + if (battery_soc >= 99) { return getBase64Data("battery-5"); } else if (battery_soc >= 80) { return getBase64Data("battery-4"); @@ -103,7 +108,7 @@ export function getBase64Data(image_name) { case "inverter": return `data:image/png;base64,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`; case "parallel-inverter": - return `data:image/png;base64,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`; + return `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAAGVn0euAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDYgNzkuMTY0NzUzLCAyMDIxLzAyLzE1LTExOjUyOjEzICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjIuMyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIzLTA5LTIxVDE1OjIxOjE0KzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMy0wOS0yMVQxNToyOTo0OSswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMy0wOS0yMVQxNToyOTo0OSswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowNWZmZjFjOS0yZjJlLWNm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`; case "solar": return `data:image/png;base64,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`; default: diff --git a/html-functions.js b/html-functions.js index 9210261..56628ba 100755 --- a/html-functions.js +++ b/html-functions.js @@ -5,7 +5,6 @@ export function generateStyles(config) { /* CARD */ ha-card { width: auto; - padding: 1px; } /* GRID */ @@ -13,11 +12,52 @@ export function generateStyles(config) { display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: repeat(${config.pv_power.is_used ? 5 : 4}, 1fr); + padding-left: 5px; + padding-right: 5px; + padding-top: 1px; + } + .status-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-template-rows: repeat(1, 1fr); + padding-left: 5px; + padding-right: 5px; + padding-top: 4px; } .diagram-grid img { max-width: 100%; max-height: 100%; } + + #solar-info { + grid-column-start: span 2; + } + #solar-info p { + display: block; + } + + #battery-image { + display: flex; + } + + #battery-image img { + height: 50px; + } + + #battery-charge-info { + align-items: flex-end; + padding-bottom: 0.5em; + } + + #battery-soc-info { + padding-top: 0.5em; + } + + #home-info { + align-items: center; + padding-left: 0.5em; + grid-column-start: span 2; + } /* CELLS */ .cell { @@ -31,20 +71,19 @@ export function generateStyles(config) { /*max-height: 100%;*/ display: flex; /*text-overflow: ellipsis; - flex-wrap: wrap; - word-wrap: break-word;*/ /* Allow the text to wrap within the cell */ + flex-wrap: wrap; + word-wrap: break-word;*/ /* Allow the text to wrap within the cell */ } /* .text-cell left { - justify-content: left; - text-align: left; - } - .text-cell right { - justify-content: right; - text-align: right; - } */ + justify-content: left; + text-align: left; + } + .text-cell right { + justify-content: right; + text-align: right; + } */ .header-text { - font-size: min(4vw, 1.17em); - font-weight: bold; + font-size: min(4vw, 1em); line-height: 1; margin: 0; padding-left: 3px; @@ -54,6 +93,7 @@ export function generateStyles(config) { } .sub-text { font-size: min(2.5vw, 0.95em); + color: var(--secondary-text-color); line-height: 1; margin: 0; padding-left: 3px; @@ -69,7 +109,7 @@ export function generateStyles(config) { align-items: center; text-align: center; justify-content: center; - width: auto; + width: 70%; object-fit: contain; position: relative; } @@ -79,6 +119,9 @@ export function generateStyles(config) { } /* ARROWS */ + #grid-arrows { + grid-column-start: span 2; + } .arrow-cell { margin: auto; display: flex; @@ -89,6 +132,11 @@ export function generateStyles(config) { width: auto; object-fit: contain; position: relative; + margin: 10px; + } + .arrow-cell img { + height: 16px; + width: 11px } .arrows-left { transform: rotate(0deg); @@ -97,27 +145,27 @@ export function generateStyles(config) { transform: rotate(90deg); } .arrows-right { - transform: rotate(180deg); + transform: rotate(180deg) translateY(4px); } .arrows-down { - transform: rotate(-90deg); + transform: rotate(-90deg) translateY(4px); } .arrows-none { opacity: 0; } /* ARROW ANIMATIONS*/ - .arrow-1 img { - animation: arrow-animation-1 1.5s infinite; + .arrow-1 img, .arrow-5 img { + animation: arrow-animation-1 1.25s infinite; } - .arrow-2 img { - animation: arrow-animation-2 1.5s infinite; + .arrow-2 img, .arrow-6 img { + animation: arrow-animation-2 1.25s infinite; } - .arrow-3 img { - animation: arrow-animation-3 1.5s infinite; + .arrow-3 img, .arrow-7 img { + animation: arrow-animation-3 1.25s infinite; } - .arrow-4 img { - animation: arrow-animation-4 1.5s infinite; + .arrow-4 img, .arrow-8 img { + animation: arrow-animation-4 1.25s infinite; } @keyframes arrow-animation-1 { 0%, @@ -169,6 +217,9 @@ export function generateStyles(config) { text-align: left; margin: 0; line-height: 1; + padding-left: 5px; + padding-right: 5px; + padding-bottom: 5px; } .grid-status { text-align: right; @@ -180,16 +231,16 @@ export function generateStyles(config) { margin: 0; line-height: 1; } -`; + `; } export const card_base = ` - -
-
-
-
- +
+
+
+
+
+
`; export function generateStatus(config) { @@ -199,9 +250,15 @@ export function generateStatus(config) { if (config.inverter_alias.is_used && config.inverter_count > 1) { // let text_box_options = ``; let text_box_options = ``; + if (config.parallel.parallel_first) { + text_box_options += ``; + } for (let i = 0; i < config.inverter_count; i++) { text_box_options += ``; } + if (!config.parallel.parallel_first) { + text_box_options += ``; + } text_box_full = `