diff --git a/README.md b/README.md index 16ae4c6..206bbf6 100644 --- a/README.md +++ b/README.md @@ -79,8 +79,14 @@ sensor: Once the component is running, it will add the following entities to Home Assistant ![Entities](./entities.png) +## Status Entities +Apart from the inverter-parameters, it will also add status entities to view the status of the solarman component. +![Component-status](./component_status.png) + ## Energy Dashboard The entities includes the device classes to enable it to be added to the [Energy Dashboard](https://www.home-assistant.io/blog/2021/08/04/home-energy-management/) introduced with Home Assistant Core 2021.8. To configure the energy dashboard with the infirmation provided by this component, see [configuring energy dashboard](energy.md) +## Customization +This integration was tested agains the DEYE 5kW inverter, and it is possible that the parameter-definitions for other inverters may differ. If you want to try your hand at it, refer to [customizing parameters.yaml](customization.md) diff --git a/component_status.png b/component_status.png new file mode 100644 index 0000000..84910b7 Binary files /dev/null and b/component_status.png differ diff --git a/customization.md b/customization.md new file mode 100644 index 0000000..cfc18f9 --- /dev/null +++ b/customization.md @@ -0,0 +1,73 @@ +# Customizing + +The hart of this component is the parameter-definition file *parameters.yaml*. By changing the file, the behaviour is totally changed. + +It has two sections: + +## 1. Requests +This section defines the requests that should be issued to the logger each time the component does a parameter update. The list below was created for a DEYE 5kW inverter, and could be customized for other models that are not 100% compatible with this inverter. + +~~~ YAML +requests: + - start: 0x0003 + end: 0x000E + - start: 0x003B + end: 0x0070 + - start: 0x0096 + end: 0x00C3 + - start: 0x00f4 + end: 0x00f8 + +~~~ + +This block specifies that the component should issue three requests to the logger, the first one requesting parameters 0x0003 up to 0x000E, then a second request for parmeters 0x003B up to 0x0070, and the last for parameters 0x000f4 up to 0x00f8. + +## 2. Parameters +This section defines the induvidual parameter definitions. For example: + +~~~ YAML +parameters: + - group: solar + items: + - name: "PV1 Power" + class: "power" + uom: "W" + scale: 1 + rule: 1 + registers: [0x00BA] + icon: 'mdi:solar-power' +~~~ + +### group +The group just groups parameters that belong together. The induvidual parameter-items has to be placed in a group. The *items* parameters contains the parameter definitions that belong in the group. + +### Parameter-item + +(see) https://developers.home-assistant.io/docs/core/entity/ + +|field|description| +|:----------:|----------| +|name|The *name* field of the home-assistant entity #| +|class|The *class* field of the home-assistant entity #| +|uom|The *unit_of_measurement* field of the home-assistant entity #| +|icon|The *icon* field of the home-assistant entity #| +|| **The fields below define how the value from the logger is parsed** | +|scale|Scaling factor for the value read from the logger| +|rule|Method to interpret the data from the logger ##| +|registers|Array of register fields that comprises the value. If the value is placed in a number of registers, this array will contain more than one item.| +|lookup|Defines a key-value pair for values where an integer maps to a string field| + + +\# (see) https://developers.home-assistant.io/docs/core/entity/ + +\## The rule field specifies how to interpret the binary data. + +1. unsigned 16-bit value +2. signed 16 bit value +3. unsigned 32 bit value +4. signed 32 bit value +5. ascii value +6. bit field + + +