diff --git a/CODEOWNERS b/CODEOWNERS index 02ef5fa366b69..acf6a06820fe1 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -289,6 +289,7 @@ /bundles/org.openhab.binding.snmp/ @openhab/add-ons-maintainers /bundles/org.openhab.binding.solaredge/ @alexf2015 /bundles/org.openhab.binding.solarlog/ @johannrichard +/bundles/org.openhab.binding.solarmax/ @jamietownsend /bundles/org.openhab.binding.solarwatt/ @sven-carstens /bundles/org.openhab.binding.somfymylink/ @loungeflyz /bundles/org.openhab.binding.somfytahoma/ @octa22 diff --git a/bom/openhab-addons/pom.xml b/bom/openhab-addons/pom.xml index 56ebd6d9be158..9165710481608 100644 --- a/bom/openhab-addons/pom.xml +++ b/bom/openhab-addons/pom.xml @@ -1436,6 +1436,11 @@ org.openhab.binding.solarlog ${project.version} + + org.openhab.addons.bundles + org.openhab.binding.solarmax + ${project.version} + org.openhab.addons.bundles org.openhab.binding.solarwatt diff --git a/bundles/org.openhab.binding.solarmax/NOTICE b/bundles/org.openhab.binding.solarmax/NOTICE new file mode 100644 index 0000000000000..38d625e349232 --- /dev/null +++ b/bundles/org.openhab.binding.solarmax/NOTICE @@ -0,0 +1,13 @@ +This content is produced and maintained by the openHAB project. + +* Project home: https://www.openhab.org + +== Declared Project Licenses + +This program and the accompanying materials are made available under the terms +of the Eclipse Public License 2.0 which is available at +https://www.eclipse.org/legal/epl-2.0/. + +== Source Code + +https://github.com/openhab/openhab-addons diff --git a/bundles/org.openhab.binding.solarmax/README.md b/bundles/org.openhab.binding.solarmax/README.md new file mode 100644 index 0000000000000..9af6c406d01a9 --- /dev/null +++ b/bundles/org.openhab.binding.solarmax/README.md @@ -0,0 +1,132 @@ +# SolarMax Binding + +This binding supports SolarMax PV inverters. + +## Supported Things + +This binding only has a single `inverter` thing that can be added manually. +The SolarMax MT Series is supported (tested with 8MT2 devices). + +## Discovery + +Auto-discovery is currently not available. + +## Thing Configuration + +Each inverter requires the following configuration parameters: + +| parameter | required | default | description | +| --------------- | -------- | ------- | -------------------------------------------------------------------- | +| host | yes | | hostname or IP address of the inverter | +| port | no | 12345 | Port number to connect to. This should be `12345` for most inverters | +| refreshInterval | no | 15 | Interval (in seconds) to refresh the channel values. | + + +## Properties + +| property | description | +| --------------- | ------------------------------------------------------ | +| softwareVersion | Software Version installed on the SolarMax device | +| buildNumber | Firmware Build Number installed on the SolarMax device | + + +## Channels + +| channel | type | description | +| ------------------------ | ------------------------ | -------------------------------------------- | +| lastUpdated | DateTime | Time when data was last read from the device | +| startups | Number | Number of times the device has started | +| acPhase1Current | Number:ElectricCurrent | Ac Phase 1 Current in Amps | +| acPhase2Current | Number:ElectricCurrent | Ac Phase 2 Current in Amps | +| acPhase3Current | Number:ElectricCurrent | Ac Phase 3 Current in Amps | +| energyGeneratedToday | Number:Energy | Energy Generated Today in Wh | +| energyGeneratedTotal | Number:Energy | Energy Generated since recording began in Wh | +| operatingHours | Number | Operating Hours since recording began in h | +| energyGeneratedYesterday | Number:Energy | Energy Generated Yesterday in Wh | +| energyGeneratedLastMonth | Number:Energy | Energy Generated Last Month in Wh | +| energyGeneratedLastYear | Number:Energy | Energy Generated Last Year in Wh | +| energyGeneratedThisMonth | Number:Energy | Energy Generated This Month in Wh | +| energyGeneratedThisYear | Number:Energy | Energy Generated This Year in Wh | +| currentPowerGenerated | Number:Power | Power currently being generated in W | +| acFrequency | Number:Frequency | AcFrequency in Hz | +| acPhase1Voltage | Number:ElectricPotential | Ac Phase1 Voltage in V | +| acPhase2Voltage | Number:ElectricPotential | Ac Phase2 Voltage in V | +| acPhase3Voltage | Number:ElectricPotential | Ac Phase3 Voltage in V | +| heatSinkTemperature | Number:Temperature | Heat Sink Temperature in degrees celcius | + +### Full Example + +Below you can find some example textual configuration for a solarmax with some basic functionallity. This can be extended/adjusted according to your needs and depending on the required channels (see list above). + +_inverter.things:_ + +``` +Thing solarmax:inverter:solarmax "SolarMax Inverter" [ + host="192.168.1.151", + port="12345", + refresh="15" +] +``` + +_inverter.items:_ + +``` +Group gInverter "SolarMax Inverter" + +DateTime lastUpdated "Last Updated" (gInverter) {channel="solarmax:inverter:solarmax:lastUpdated"} + +Number startups "Startups" (gInverter) { channel="solarmax:inverter:solarmax:startups" } + +Number:ElectricCurrent acPhase1Current "Ac Phase 1 Current in Amps" (gInverter) { channel="solarmax:inverter:solarmax:acPhase1Current" } +Number:ElectricCurrent acPhase2Current "Ac Phase 2 Current in Amps" (gInverter) { channel="solarmax:inverter:solarmax:acPhase2Current" } +Number:ElectricCurrent acPhase3Current "Ac Phase 3 Current in Amps" (gInverter) { channel="solarmax:inverter:solarmax:acPhase3Current" } + +Number:Energy energyGeneratedToday "Energy Generated Today in Wh" (gInverter) { channel="solarmax:inverter:solarmax:energyGeneratedToday" } +Number:Energy energyGeneratedTotal "Energy Generated since recording began in Wh" (gInverter) { channel="solarmax:inverter:solarmax:energyGeneratedTotal" } + +Number operatingHours "Operating Hours since recording began in h"