[generacmobilelink| Initial Contribution (#9322)

* This is the initial contribution of the Generac MobileLink binding.  This allows the  Generac line of generators using their MobileLink cloud service to be monitored as things in openHAB.
* bump to 3.1

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
This commit is contained in:
Dan Cunningham
2020-12-27 21:49:30 -08:00
committed by GitHub
parent 03dd4d491f
commit 6cb9f3a93e
21 changed files with 1024 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<binding:binding id="generacmobilelink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:binding="https://openhab.org/schemas/binding/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/binding/v1.0.0 https://openhab.org/schemas/binding-1.0.0.xsd">
<name>GeneracMobileLink Binding</name>
<description>This binding monitors Generac manufactured generators through the MobileLink cloud service.</description>
</binding:binding>

View File

@@ -0,0 +1,30 @@
<config-description:config-descriptions
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:config-description="https://openhab.org/schemas/config-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0 https://openhab.org/schemas/config-description-1.0.0.xsd">
<config-description uri="thing-type:generacmobilelink:account">
<parameter name="username" type="text" required="true">
<label>Username</label>
<description>Account username</description>
</parameter>
<parameter name="password" type="text" required="true">
<label>Password</label>
<description>Account password</description>
<context>password</context>
</parameter>
<parameter name="refreshInterval" type="integer" min="30" required="true" unit="s">
<label>Refresh Interval</label>
<description>Specifies the refresh interval in seconds</description>
<default>60</default>
</parameter>
</config-description>
<config-description uri="thing-type:generacmobilelink:generator">
<parameter name="generatorId" type="text" required="true">
<label>Generator ID</label>
<description>Generator ID</description>
</parameter>
</config-description>
</config-description:config-descriptions>

View File

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="generacmobilelink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<bridge-type id="account">
<label>MobileLink Account</label>
<description>MobileLink Cloud Account</description>
<config-description-ref uri="thing-type:generacmobilelink:account"/>
</bridge-type>
<thing-type id="generator">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>MobileLink Generator</label>
<description>MobileLink Generator</description>
<channels>
<channel id="connected" typeId="connected"/>
<channel id="greenLight" typeId="greenLight"/>
<channel id="yellowLight" typeId="yellowLight"/>
<channel id="redLight" typeId="redLight"/>
<channel id="blueLight" typeId="blueLight"/>
<channel id="statusDate" typeId="statusDate"/>
<channel id="status" typeId="status"/>
<channel id="currentAlarmDescription" typeId="currentAlarmDescription"/>
<channel id="runHours" typeId="runHours"/>
<channel id="exerciseHours" typeId="exerciseHours"/>
<channel id="fuelType" typeId="fuelType"/>
<channel id="fuelLevel" typeId="fuelLevel"/>
<channel id="batteryVoltage" typeId="batteryVoltage"/>
<channel id="serviceStatus" typeId="serviceStatus"/>
</channels>
<representation-property>generatorId</representation-property>
<config-description-ref uri="thing-type:generacmobilelink:generator"/>
</thing-type>
<channel-type id="connected">
<item-type>Switch</item-type>
<label>Connected</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="greenLight">
<item-type>Switch</item-type>
<label>Green Light Status</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="yellowLight">
<item-type>Switch</item-type>
<label>Yellow Light Status</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="redLight">
<item-type>Switch</item-type>
<label>Red Light Status</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="blueLight">
<item-type>Switch</item-type>
<label>Blue Light Status</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="statusDate">
<item-type>DateTime</item-type>
<label>Last Status Date</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="status">
<item-type>String</item-type>
<label>Status</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="currentAlarmDescription">
<item-type>String</item-type>
<label>Current Alarm Description</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="runHours">
<item-type>Number:Time</item-type>
<label>Number of Hours Run</label>
<state readOnly="true" pattern="%d %unit%"/>
</channel-type>
<channel-type id="exerciseHours">
<item-type>Number:Time</item-type>
<label>Number of Hours Exercised</label>
<state readOnly="true" pattern="%d %unit%"/>
</channel-type>
<channel-type id="fuelType">
<item-type>Number</item-type>
<label>Fuel Type</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="fuelLevel">
<item-type>Number:Dimensionless</item-type>
<label>Fuel Level</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="batteryVoltage">
<item-type>String</item-type>
<label>Battery Voltage Status</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="serviceStatus">
<item-type>Switch</item-type>
<label>Service Status</label>
<state readOnly="true"/>
</channel-type>
</thing:thing-descriptions>