From d5d90a4157703e54db37502eb8e387c14f269f1a Mon Sep 17 00:00:00 2001 From: Konstantin Polihronov Date: Wed, 26 Jul 2023 09:11:35 +0300 Subject: [PATCH] Metadata and README requested changes Co-authored-by: Jacob Laursen Signed-off-by: Konstantin Polihronov --- bundles/org.openhab.binding.solax/README.md | 205 +++++++++--------- .../solax/internal/SolaxBindingConstants.java | 40 ++-- .../solax/internal/SolaxInverterHandler.java | 1 - .../src/main/resources/OH-INF/addon/addon.xml | 5 +- .../resources/OH-INF/thing/channel_types.xml | 10 +- .../main/resources/OH-INF/thing/inverter.xml | 58 ++--- .../OH-INF/thing/local_ip_bridge.xml | 4 +- 7 files changed, 159 insertions(+), 164 deletions(-) diff --git a/bundles/org.openhab.binding.solax/README.md b/bundles/org.openhab.binding.solax/README.md index a3ff229b615e0..1953992a6bf1a 100644 --- a/bundles/org.openhab.binding.solax/README.md +++ b/bundles/org.openhab.binding.solax/README.md @@ -1,24 +1,18 @@ # Solax Binding -This is a OpenHAB binding for a Solax Wi-fi modules that have the option to be connected directly via HTTP (firmware version 3.x+). -Please note that earlier firmware releases do not support direct connection. +This is a binding for a Solax Wi-Fi module that supports connection directly via HTTP (Wi-Fi module firmware version 3.x+ is required). +Please note that earlier firmware releases do not support direct connection, therefore the binding will not work in it's current state. -Currently the Solax cloud services provide an update on every 5 minutes (sometimes even more) and they also happen to be down sometimes, which makes it hard to automate the decision making by OpenHAB if we have more complex rules. +Currently the Solax cloud services provide an update every 5 minutes (sometimes even more rarely) and they also happen to be down sometimes, which makes it hard to automate the decision making by openHAB if we have more complex rules. -For example: I want to charge my car if the battery of my inverter is 90%+ and my overall consumption is only from the solar power. -The binding retrieves structured data from the wifi module, parses it and pushes it into the inverter thing where each channel represents a specific information (inverter output power, voltage, PV1 power, etc) +The binding retrieves a structured data from the Wi-Fi module, parses it and pushes it into the inverter Thing where each channel represents a specific information (inverter output power, voltage, PV1 power, etc) - -Hostname/IP address of the wi-fi module (can be any IP address from internal DHCP wi-fi network) [String] -The serial number of the Wi-fi module is the default password (not sure if it can be changed) [String] -Time interval to poll the data from the module [number in seconds] -Please give it a try and provide me a feedback if it works for you. I will update the releases as soon as I implement some of the backlog. ## Supported Things -| Thing | Thing Type | Description | -|-------------------|------------|-------------------------------------------------------------------------------| -| localConnect | Bridge | The bridge is used to communicate directly to the wifi module of the inverter.| -| inverter | Thing | This is model representation of inverter with all the data available as a channels (Ex. inverter output power, voltage, PV1 power, etc) | +| Thing | Thing Type | Description | +|-------------------|------------|---------------------------------------------------------------------------------------------------------------------------------------------| +| localConnect | Bridge | The bridge is used to communicate directly to the wifi module of the inverter. | +| inverter | Thing | This is model representation of inverter with all the data available as a channels (Ex. inverter output power, voltage, PV1 power, etc) | ## Discovery @@ -28,11 +22,11 @@ Discovery is available. Once the localConnect bridge is configured with the nece ### Local Connect Bridge parameters -| Parameter | Description | -|-------------------|----------------------------------------| -| refresh | Value is in seconds. Defines the refresh interval when the binding polls from the inverter's wifi module. Optional parameter. Default 10 seconds. | -| password | Password for accessing the Wifi module (the serial number of the wifi). Mandatory parameter. | -| hostname | IP address or hostname of your Wifi module. If hostname is used must be resolvable by OpenHAB. Mandatory parameter. | +| Parameter | Description | +|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------| +| refresh | Value is in seconds. Defines the refresh interval when the binding polls from the inverter's Wi-Fi module. Optional parameter. Default 10 seconds. | +| password | Password for accessing the Wi-Fi module (the serial number of the wifi). Mandatory parameter. | +| hostname | IP address or hostname of your Wi-Fi module. If hostname is used must be resolvable by OpenHAB. Mandatory parameter. | The bridge does not have any channels. It is used only to connect to the module and retrieve the data. The data is shown in the Inverter thing @@ -40,12 +34,12 @@ The bridge does not have any channels. It is used only to connect to the module ### Inverter Output Channels -| Channel | Type | Description | -|--------------------------|----------------------------|-------------------------------------------------------------------------------------------| -| inverterOutputPower | system.electric-power | The output power of the inverter [W] | -| inverterCurrent | system.electric-current | The output current of the inverter [A] | -| inverterVoltage | system.electric-voltage | The output voltage of the inverter [V] | -| inverterFrequency | Number:ElectricPotential | The frequency of the output voltage [Hz] | +| Channel | Type | Description | +|--------------------------|----------------------------|--------------------------------------------------| +| inverterOutputPower | system.electric-power | The output power of the inverter [W] | +| inverterCurrent | system.electric-current | The output current of the inverter [A] | +| inverterVoltage | system.electric-voltage | The output voltage of the inverter [V] | +| inverterFrequency | Number:ElectricPotential | The frequency of the output voltage [Hz] | ### Photovoltaic Panels Production Channels @@ -75,31 +69,31 @@ The bridge does not have any channels. It is used only to connect to the module | Channel | Type | Description | |--------------------------|----------------------------|------------------------------------------------------------------------------------------------| | feedInPower | system.electric-power | The power to / from grid (negative means power is pulled from the grid and vice-versa) [W] | -| onGridTotalYield* | system.electric-power | Total Yield from PV strings [W] | -| onGridDailyYield* | system.electric-power | The power to / from grid (negative means power is pulled from the grid and vice-versa) [W] | -| onTotalFeedinEnergy* | system.electric-power | The power to / from grid (negative means power is pulled from the grid and vice-versa) [W] | -| onTotalFeedinEnergy* | system.electric-power | The power to / from grid (negative means power is pulled from the grid and vice-versa) [W] | +| onGridTotalYield* | system.electric-power | Total Yield from PV strings [W] | +| onGridDailyYield* | system.electric-power | The power to / from grid (negative means power is pulled from the grid and vice-versa) [W] | +| onTotalFeedinEnergy* | system.electric-power | The power to / from grid (negative means power is pulled from the grid and vice-versa) [W] | +| onTotalFeedinEnergy* | system.electric-power | The power to / from grid (negative means power is pulled from the grid and vice-versa) [W] | _* experimental channels. So far the data does not seem reliable. Either it's taken from wrong part of the JSON or it's calculated wrong in the inverter itself. If someone finds better way to parse it or the meaning of the various int values, please open a new issue for solax binding and share the information._ ### General channels -| Channel | Type | Description | -|--------------------------|----------------------------|------------------------------------------------------------------------------------------| -| lastUpdateTime | DateTime | Last time when a call has been made to the inverter | +| Channel | Type | Description | +|--------------------------|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------| +| lastUpdateTime | DateTime | Last time when a call has been made to the inverter | | rawData | String | The raw data retrieved from inverter in JSON format. (Usable for channels not implemented. Can be consumed with the JSONpath transformation | ### Properties | Property | Description | |-------------------|-------------------------------------------| -| serialWifi | The wifi module's serial number | +| serialWifi | The Wi-Fi module's serial number | | inverterType | Inverter Type (for example X1_HYBRID_G4) | ## Full Example -Here are some file based examples +Here are some file based examples. ### Thing Configuration @@ -134,77 +128,78 @@ String solaxRawData "Raw data [%s]" (gsolax_inverter) { channel="solax:in ```perl Frame label="Solar power strings" { - Text item=solaxPowerEast valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] { - Text item=solaxPowerEast icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] - Text item=solaxPowerWest icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] - Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] - Chart item=solarPanels period=h refresh=600 visibility=[Chart_Period==0] - Chart item=solarPanels period=D refresh=3600 visibility=[Chart_Period==1] - Chart item=solarPanels period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] - Chart item=solarPanels period=M refresh=3600 visibility=[Chart_Period==3] - Chart item=solarPanels period=Y refresh=3600 visibility=[Chart_Period==4] - } - Text item=solaxPowerWest valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] { - Text item=solaxPowerEast icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] - Text item=solaxPowerWest icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] - Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] - Chart item=solarPanels period=h refresh=600 visibility=[Chart_Period==0] - Chart item=solarPanels period=D refresh=3600 visibility=[Chart_Period==1] - Chart item=solarPanels period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] - Chart item=solarPanels period=M refresh=3600 visibility=[Chart_Period==3] - Chart item=solarPanels period=Y refresh=3600 visibility=[Chart_Period==4] - } - Text item=solaxGenerationTotal valuecolor=[<=100="gray",<=500="red", <2000="orange", >=2000="green"] { - Text item=solaxPowerEast icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] - Text item=solaxPowerWest icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] - Text item=solaxGenerationTotal icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] - Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] - Chart item=solarPanels period=h refresh=600 visibility=[Chart_Period==0] - Chart item=solarPanels period=D refresh=3600 visibility=[Chart_Period==1] - Chart item=solarPanels period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] - Chart item=solarPanels period=M refresh=3600 visibility=[Chart_Period==3] - Chart item=solarPanels period=Y refresh=3600 visibility=[Chart_Period==4] - } - } - Frame label="Consumption" { - Text item=solaxAcPower valuecolor=[<=30="gray", <800="green", <1500="orange", >=1500="red"] { - Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] - Text item=solaxAcPower icon="energy" valuecolor=[<=30="gray", <800="green", <1500="orange", >=1500="red"] - Chart item=solaxAcPower period=h refresh=600 visibility=[Chart_Period==0] - Chart item=solaxAcPower period=D refresh=3600 visibility=[Chart_Period==1] - Chart item=solaxAcPower period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] - Chart item=solaxAcPower period=M refresh=3600 visibility=[Chart_Period==3] - Chart item=solaxAcPower period=Y refresh=3600 visibility=[Chart_Period==4] - } - Text item=solaxFeedInPower valuecolor=[<=30="gray", <800="green", <1500="orange", >=1500="red"] { - Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] - Text item=solaxFeedInPower icon="energy" valuecolor=[<=30="gray", <800="green", <1500="orange", >=1500="red"] - Chart item=solaxFeedInPower period=h refresh=600 visibility=[Chart_Period==0] - Chart item=solaxFeedInPower period=D refresh=3600 visibility=[Chart_Period==1] - Chart item=solaxFeedInPower period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] - Chart item=solaxFeedInPower period=M refresh=3600 visibility=[Chart_Period==3] - Chart item=solaxFeedInPower period=Y refresh=3600 visibility=[Chart_Period==4] - } - } - Frame label="Battery" { - Text item=solaxBatteryPower valuecolor=[<=-500="red", <0="orange", ==0="gray", >0="green"] { - Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] - Text item=solaxBatteryPower icon="energy" valuecolor=[<-800="red", <0="orange", ==0="gray", >=0="green"] - Chart item=solaxBatteryPower period=h refresh=600 visibility=[Chart_Period==0] - Chart item=solaxBatteryPower period=D refresh=3600 visibility=[Chart_Period==1] - Chart item=solaxBatteryPower period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] - Chart item=solaxBatteryPower period=M refresh=3600 visibility=[Chart_Period==3] - Chart item=solaxBatteryPower period=Y refresh=3600 visibility=[Chart_Period==4] - } - Text item=solaxBatterySoc valuecolor=[<=30="red", <50="orange", >=50="green"] { - Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] - Text item=solaxBatterySoc valuecolor=[<=30="red", <50="orange", >=50="green"] - Chart item=solaxBatterySoc period=h refresh=600 visibility=[Chart_Period==0] - Chart item=solaxBatterySoc period=D refresh=3600 visibility=[Chart_Period==1] - Chart item=solaxBatterySoc period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] - Chart item=solaxBatterySoc period=M refresh=3600 visibility=[Chart_Period==3] - Chart item=solaxBatterySoc period=Y refresh=3600 visibility=[Chart_Period==4] - } + Text item=solaxPowerEast valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] { + Text item=solaxPowerEast icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] + Text item=solaxPowerWest icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] + Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] + Chart item=solarPanels period=h refresh=600 visibility=[Chart_Period==0] + Chart item=solarPanels period=D refresh=3600 visibility=[Chart_Period==1] + Chart item=solarPanels period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] + Chart item=solarPanels period=M refresh=3600 visibility=[Chart_Period==3] + Chart item=solarPanels period=Y refresh=3600 visibility=[Chart_Period==4] + } + Text item=solaxPowerWest valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] { + Text item=solaxPowerEast icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] + Text item=solaxPowerWest icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] + Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] + Chart item=solarPanels period=h refresh=600 visibility=[Chart_Period==0] + Chart item=solarPanels period=D refresh=3600 visibility=[Chart_Period==1] + Chart item=solarPanels period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] + Chart item=solarPanels period=M refresh=3600 visibility=[Chart_Period==3] + Chart item=solarPanels period=Y refresh=3600 visibility=[Chart_Period==4] + } + Text item=solaxGenerationTotal valuecolor=[<=100="gray",<=500="red", <2000="orange", >=2000="green"] { + Text item=solaxPowerEast icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] + Text item=solaxPowerWest icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] + Text item=solaxGenerationTotal icon="energy" valuecolor=[<=30="gray",<=300="red", <1500="orange", >=1500="green"] + Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] + Chart item=solarPanels period=h refresh=600 visibility=[Chart_Period==0] + Chart item=solarPanels period=D refresh=3600 visibility=[Chart_Period==1] + Chart item=solarPanels period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] + Chart item=solarPanels period=M refresh=3600 visibility=[Chart_Period==3] + Chart item=solarPanels period=Y refresh=3600 visibility=[Chart_Period==4] + } +} +Frame label="Consumption" { + Text item=solaxAcPower valuecolor=[<=30="gray", <800="green", <1500="orange", >=1500="red"] { + Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] + Text item=solaxAcPower icon="energy" valuecolor=[<=30="gray", <800="green", <1500="orange", >=1500="red"] + Chart item=solaxAcPower period=h refresh=600 visibility=[Chart_Period==0] + Chart item=solaxAcPower period=D refresh=3600 visibility=[Chart_Period==1] + Chart item=solaxAcPower period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] + Chart item=solaxAcPower period=M refresh=3600 visibility=[Chart_Period==3] + Chart item=solaxAcPower period=Y refresh=3600 visibility=[Chart_Period==4] + } + Text item=solaxFeedInPower valuecolor=[<=30="gray", <800="green", <1500="orange", >=1500="red"] { + Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] + Text item=solaxFeedInPower icon="energy" valuecolor=[<=30="gray", <800="green", <1500="orange", >=1500="red"] + Chart item=solaxFeedInPower period=h refresh=600 visibility=[Chart_Period==0] + Chart item=solaxFeedInPower period=D refresh=3600 visibility=[Chart_Period==1] + Chart item=solaxFeedInPower period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] + Chart item=solaxFeedInPower period=M refresh=3600 visibility=[Chart_Period==3] + Chart item=solaxFeedInPower period=Y refresh=3600 visibility=[Chart_Period==4] + } +} +Frame label="Battery" { + Text item=solaxBatteryPower valuecolor=[<=-500="red", <0="orange", ==0="gray", >0="green"] { + Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] + Text item=solaxBatteryPower icon="energy" valuecolor=[<-800="red", <0="orange", ==0="gray", >=0="green"] + Chart item=solaxBatteryPower period=h refresh=600 visibility=[Chart_Period==0] + Chart item=solaxBatteryPower period=D refresh=3600 visibility=[Chart_Period==1] + Chart item=solaxBatteryPower period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] + Chart item=solaxBatteryPower period=M refresh=3600 visibility=[Chart_Period==3] + Chart item=solaxBatteryPower period=Y refresh=3600 visibility=[Chart_Period==4] + } + Text item=solaxBatterySoc valuecolor=[<=30="red", <50="orange", >=50="green"] { + Switch item=Chart_Period label="Chart Period" mappings=[0="H", 1="D", 2="W", 3="M", 4="Y"] + Text item=solaxBatterySoc valuecolor=[<=30="red", <50="orange", >=50="green"] + Chart item=solaxBatterySoc period=h refresh=600 visibility=[Chart_Period==0] + Chart item=solaxBatterySoc period=D refresh=3600 visibility=[Chart_Period==1] + Chart item=solaxBatterySoc period=W refresh=3600 visibility=[Chart_Period==2, Chart_Period==Uninitialized] + Chart item=solaxBatterySoc period=M refresh=3600 visibility=[Chart_Period==3] + Chart item=solaxBatterySoc period=Y refresh=3600 visibility=[Chart_Period==4] + } +} ``` diff --git a/bundles/org.openhab.binding.solax/src/main/java/org/openhab/binding/solax/internal/SolaxBindingConstants.java b/bundles/org.openhab.binding.solax/src/main/java/org/openhab/binding/solax/internal/SolaxBindingConstants.java index 34e11e71c76ae..399418c531dc2 100644 --- a/bundles/org.openhab.binding.solax/src/main/java/org/openhab/binding/solax/internal/SolaxBindingConstants.java +++ b/bundles/org.openhab.binding.solax/src/main/java/org/openhab/binding/solax/internal/SolaxBindingConstants.java @@ -42,30 +42,30 @@ public class SolaxBindingConstants { public static final String SERIAL_NUMBER = "serialWifi"; public static final String INVERTER_TYPE = "inverterType"; - public static final String INVERTER_OUTPUT_POWER = "inverterOutputPower"; - public static final String INVERTER_OUTPUT_CURRENT = "inverterCurrent"; - public static final String INVERTER_OUTPUT_VOLTAGE = "inverterVoltage"; - public static final String INVERTER_OUTPUT_FREQUENCY = "inverterFrequency"; + public static final String INVERTER_OUTPUT_POWER = "inverter-output-power"; + public static final String INVERTER_OUTPUT_CURRENT = "inverter-current"; + public static final String INVERTER_OUTPUT_VOLTAGE = "inverter-voltage"; + public static final String INVERTER_OUTPUT_FREQUENCY = "inverter-frequency"; - public static final String INVERTER_PV1_POWER = "pv1Power"; - public static final String INVERTER_PV1_VOLTAGE = "pv1Voltage"; - public static final String INVERTER_PV1_CURRENT = "pv1Current"; + public static final String INVERTER_PV1_POWER = "pv1-power"; + public static final String INVERTER_PV1_VOLTAGE = "pv1-voltage"; + public static final String INVERTER_PV1_CURRENT = "pv1-current"; - public static final String INVERTER_PV2_POWER = "pv2Power"; - public static final String INVERTER_PV2_VOLTAGE = "pv2Voltage"; - public static final String INVERTER_PV2_CURRENT = "pv2Current"; + public static final String INVERTER_PV2_POWER = "pv2-power"; + public static final String INVERTER_PV2_VOLTAGE = "pv2-voltage"; + public static final String INVERTER_PV2_CURRENT = "pv2-current"; - public static final String INVERTER_PV_TOTAL_POWER = "pvTotalPower"; - public static final String INVERTER_PV_TOTAL_CURRENT = "pvTotalCurrent"; + public static final String INVERTER_PV_TOTAL_POWER = "pv-total-power"; + public static final String INVERTER_PV_TOTAL_CURRENT = "pv-total-current"; - public static final String BATTERY_POWER = "batteryPower"; - public static final String BATTERY_VOLTAGE = "batteryVoltage"; - public static final String BATTERY_CURRENT = "batteryCurrent"; - public static final String BATTERY_TEMPERATURE = "batteryTemperature"; - public static final String BATTERY_STATE_OF_CHARGE = "batteryStateOfCharge"; + public static final String BATTERY_POWER = "battery-power"; + public static final String BATTERY_VOLTAGE = "battery-voltage"; + public static final String BATTERY_CURRENT = "battery-current"; + public static final String BATTERY_TEMPERATURE = "battery-temperature"; + public static final String BATTERY_STATE_OF_CHARGE = "battery-state-of-charge"; - public static final String FEED_IN_POWER = "feedInPower"; + public static final String FEED_IN_POWER = "feed-in-power"; - public static final String TIMESTAMP = "lastUpdateTime"; - public static final String RAW_DATA = "rawData"; + public static final String TIMESTAMP = "last-update-time"; + public static final String RAW_DATA = "raw-data"; } diff --git a/bundles/org.openhab.binding.solax/src/main/java/org/openhab/binding/solax/internal/SolaxInverterHandler.java b/bundles/org.openhab.binding.solax/src/main/java/org/openhab/binding/solax/internal/SolaxInverterHandler.java index 9689b6ac8a66f..6808fc5fcb475 100644 --- a/bundles/org.openhab.binding.solax/src/main/java/org/openhab/binding/solax/internal/SolaxInverterHandler.java +++ b/bundles/org.openhab.binding.solax/src/main/java/org/openhab/binding/solax/internal/SolaxInverterHandler.java @@ -60,7 +60,6 @@ public void updateListener(InverterData data) { } private void transferInverterDataToChannels(InverterData data) { - // TODO check with reviewer if type and serial number is needed as a channel or as a property updateProperty(SolaxBindingConstants.SERIAL_NUMBER, data.getWifiSerial()); updateProperty(SolaxBindingConstants.INVERTER_TYPE, data.getInverterType().name()); diff --git a/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/addon/addon.xml b/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/addon/addon.xml index 7c3f05d9cbd89..b455cf3b43f7b 100644 --- a/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/addon/addon.xml +++ b/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/addon/addon.xml @@ -4,7 +4,8 @@ xsi:schemaLocation="https://openhab.org/schemas/addon/v1.0.0 https://openhab.org/schemas/addon-1.0.0.xsd"> binding - solax Binding - This is the binding for solax. + Solax Binding + This is the binding for Solax inverters. + local diff --git a/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/thing/channel_types.xml b/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/thing/channel_types.xml index c2b496ce07f4a..c0fcbfcb3dd2b 100644 --- a/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/thing/channel_types.xml +++ b/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/thing/channel_types.xml @@ -5,9 +5,9 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - Number - - Electric Frequency + Number:Frequency + + Electric Frequency of the input/output voltage of the inverter Number:Temperature @@ -19,10 +19,10 @@ Last time with a successful retrieval of data - + String - Raw data retrieved from system as JSON + Raw data retrieved from the system as a JSON diff --git a/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/thing/inverter.xml b/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/thing/inverter.xml index 8946ef9af3f17..1ba84ae44fec6 100644 --- a/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/thing/inverter.xml +++ b/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/thing/inverter.xml @@ -14,35 +14,35 @@ The inverter representation in OpenHAB - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/thing/local_ip_bridge.xml b/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/thing/local_ip_bridge.xml index 5f19634ae5fff..ba18b8fd9be8c 100644 --- a/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/thing/local_ip_bridge.xml +++ b/bundles/org.openhab.binding.solax/src/main/resources/OH-INF/thing/local_ip_bridge.xml @@ -16,12 +16,12 @@ - Password for accessing the Wifi module (the serial number of the wifi) + Password for accessing the Wi-Fi module (the serial number of the Wi-Fi module) password - IP address or host name of the wifi + IP address or the host name of the Wi-Fi module network-address