Updated external content (Jenkins build 2328)
parent
ec51884dd9
commit
e757d41b06
|
@ -43,6 +43,7 @@ Each `calendar` thing requires the following configuration parameters:
|
||||||
| `password` | The password for pulling the calendar. If set, the binding pulls the calendar using basic auth. Only valid in combination with `username`. | optional |
|
| `password` | The password for pulling the calendar. If set, the binding pulls the calendar using basic auth. Only valid in combination with `username`. | optional |
|
||||||
| `maxSize` | The maximum size of the iCal-file in Mebibytes. | mandatory (default available) |
|
| `maxSize` | The maximum size of the iCal-file in Mebibytes. | mandatory (default available) |
|
||||||
| `authorizationCode` | The authorization code to permit the execution of embedded command tags. If set, the binding checks that the authorization code in the command tag matches before executing any commands. | optional |
|
| `authorizationCode` | The authorization code to permit the execution of embedded command tags. If set, the binding checks that the authorization code in the command tag matches before executing any commands. | optional |
|
||||||
|
| `userAgent` | Some providers require a specific user agent header. If left empty, the default Jetty header is used. | optional |
|
||||||
|
|
||||||
### Configuration for `eventfilter`
|
### Configuration for `eventfilter`
|
||||||
|
|
||||||
|
|
|
@ -237,6 +237,7 @@ The channels are kept consistent as much as possible from brand to brand to make
|
||||||
| `animalAlarm` | Switch | RW | Toggles when an animal is in view. |
|
| `animalAlarm` | Switch | RW | Toggles when an animal is in view. |
|
||||||
| `audioAlarm` | Switch | R | When the camera detects noise above a threshold this switch will move to ON. |
|
| `audioAlarm` | Switch | R | When the camera detects noise above a threshold this switch will move to ON. |
|
||||||
| `autoLED` | Switch | RW |When ON this sets a cameras IR LED to automatically turn on or off. |
|
| `autoLED` | Switch | RW |When ON this sets a cameras IR LED to automatically turn on or off. |
|
||||||
|
| `autoTracking` | Switch | RW |Turn the automatic mode for tracking ON or OFF. |
|
||||||
| `autoWhiteLED` | Switch | RW |When ON this sets a cameras visible white LED to automatically turn on or off. |
|
| `autoWhiteLED` | Switch | RW |When ON this sets a cameras visible white LED to automatically turn on or off. |
|
||||||
| `carAlarm` | Switch | RW | When a car is detected the switch will turn ON. |
|
| `carAlarm` | Switch | RW | When a car is detected the switch will turn ON. |
|
||||||
| `cellMotionAlarm` | Switch | R | ONVIF cameras only will reflect the status of the ONVIF event of the same name. |
|
| `cellMotionAlarm` | Switch | R | ONVIF cameras only will reflect the status of the ONVIF event of the same name. |
|
||||||
|
|
|
@ -39,7 +39,7 @@ The binding supports either a TCP/IP connection or direct serial port connection
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
Auto-discovery is supported for Alto and Strato components if the device can be located on the local network using UPnP.
|
Auto-discovery is supported for Alto and Strato components if the device can be located on the local network using SDDP.
|
||||||
Manually initiated discovery will locate all legacy Premiere line components if they are on the same IP subnet of the openHAB server.
|
Manually initiated discovery will locate all legacy Premiere line components if they are on the same IP subnet of the openHAB server.
|
||||||
In the Inbox, select Search For Things and then choose the Kaleidescape Binding to initiate a discovery scan.
|
In the Inbox, select Search For Things and then choose the Kaleidescape Binding to initiate a discovery scan.
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ id: pushbullet
|
||||||
label: Pushbullet
|
label: Pushbullet
|
||||||
title: Pushbullet - Bindings
|
title: Pushbullet - Bindings
|
||||||
type: binding
|
type: binding
|
||||||
description: "The Pushbullet binding allows you to notify iOS, Android & Windows 10 Phone & Desktop devices of a message using the Pushbullet API web service."
|
description: "The Pushbullet binding allows you to notify supported devices of a message using the [Pushbullet API](https://docs.pushbullet.com)."
|
||||||
since: 3x
|
since: 3x
|
||||||
logo: images/addons/pushbullet.png
|
logo: images/addons/pushbullet.png
|
||||||
install: auto
|
install: auto
|
||||||
|
@ -17,46 +17,26 @@ install: auto
|
||||||
|
|
||||||
<AddonLogo />
|
<AddonLogo />
|
||||||
|
|
||||||
The Pushbullet binding allows you to notify iOS, Android & Windows 10 Phone & Desktop devices of a message using the Pushbullet API web service.
|
The Pushbullet binding allows you to notify supported devices of a message using the [Pushbullet API](https://docs.pushbullet.com).
|
||||||
|
To get started you need to [create an account](#creating-an-account) and [obtain an access token](#obtaining-an-access-token).
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
This binding supports a generic "bot" which is a representation of the client.
|
| Thing | Type | Description |
|
||||||
|
| ----- | ----- | ------------------------- |
|
||||||
## Discovery
|
| bot | Thing | Bot to send messages with |
|
||||||
|
|
||||||
This binding provides no discovery.
|
|
||||||
The desired bots must be configured manually or via a things file.
|
|
||||||
|
|
||||||
## Binding Configuration
|
|
||||||
|
|
||||||
The binding has no configuration options itself, all configuration is done at 'Things' level.
|
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
### Bot (`bot`)
|
### `bot`
|
||||||
|
|
||||||
The bot thing is used to send messages to other recipients.
|
| Parameter | Required | Description |
|
||||||
It has the following parameters:
|
| --------- | :------: | ---------------------------------------------------- |
|
||||||
|
| token | Yes | Access token obtained from the account settings page |
|
||||||
| Config | Description | Required | Advanced |
|
|
||||||
|------------|------------------------------------------------------------------|----------|----------|
|
|
||||||
| token | Pushbullet [API token](#obtaining-an-api-key) to send to devices | Yes | False |
|
|
||||||
| name | Explicit Name, for later use when the bot can receive messages | No | True |
|
|
||||||
| apiUrlBase | Address of own Pushbullet server, for testing purposes | No | True |
|
|
||||||
|
|
||||||
```java
|
|
||||||
Thing pushbullet:bot:r2d2 "R2D2" @ "Somewhere" [ token = "verysecretwonttellyou" ]
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
| Channel ID | Channel Description | Supported item type | Advanced |
|
Currently the binding does not support any channels.
|
||||||
|------------|-------------------------------------------------|----------------------|----------|
|
|
||||||
| recipient | for later use when the bot can receive messages | String | False |
|
|
||||||
| title | for later use when the bot can receive messages | String | False |
|
|
||||||
| message | for later use when the bot can receive messages | String | False |
|
|
||||||
|
|
||||||
## Rule Action
|
## Rule Action
|
||||||
|
|
||||||
|
@ -88,110 +68,47 @@ For the `sendPushbulletNote` action, parameter `message` is required.
|
||||||
Likewise, for `sendPushbulletLink`, `url` and for `sendPushbulletFile`, `content` parameters are required.
|
Likewise, for `sendPushbulletLink`, `url` and for `sendPushbulletFile`, `content` parameters are required.
|
||||||
Any other parameters for these actions are optional and can be set to `null`.
|
Any other parameters for these actions are optional and can be set to `null`.
|
||||||
|
|
||||||
Examples:
|
## Full Example
|
||||||
|
|
||||||
|
demo.things:
|
||||||
|
|
||||||
|
```java
|
||||||
|
Thing pushbullet:bot:r2d2 [ token="<ACCESS_TOKEN>" ]
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
demo.rules
|
||||||
|
|
||||||
```java
|
```java
|
||||||
val actions = getActions("pushbullet", "pushbullet:bot:r2d2")
|
val actions = getActions("pushbullet", "pushbullet:bot:r2d2")
|
||||||
|
// push a note
|
||||||
actions.sendPushbulletNote("someone@example.com", "Note Example", "This is the pushed note.")
|
actions.sendPushbulletNote("someone@example.com", "Note Example", "This is the pushed note.")
|
||||||
|
// push a link
|
||||||
actions.sendPushbulletLink("someone@example.com", "Link Example", "This is the pushed link", "https://example.com")
|
actions.sendPushbulletLink("someone@example.com", "Link Example", "This is the pushed link", "https://example.com")
|
||||||
|
// push a file
|
||||||
actions.sendPushbulletFile("someone@example.com", "File Example", "This is the pushed file", "https://example.com/image.png")
|
actions.sendPushbulletFile("someone@example.com", "File Example", "This is the pushed file", "https://example.com/image.png")
|
||||||
actions.sendPushbulletFile("someone@example.com", null, null, "/path/to/somefile.pdf", "document.pdf")
|
actions.sendPushbulletFile("someone@example.com", null, null, "/path/to/somefile.pdf", "document.pdf")
|
||||||
|
// use toFullString method to push the content of an Image item
|
||||||
actions.sendPushbulletFile("someone@example.com", ImageItem.state.toFullString)
|
actions.sendPushbulletFile("someone@example.com", ImageItem.state.toFullString)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Full Example
|
## Creating an account
|
||||||
|
|
||||||
_Provide a full usage example based on textual configuration files (*.things, *.items, *.sitemap)._
|
A Pushbullet account is linked to either a Google or Facebook account.
|
||||||
|
|
||||||
pushbullet.things:
|
- Go to the [Pushbullet](https://www.pushbullet.com) website.
|
||||||
|
- Select either "Sign up with Google" or "Sign up with Facebook".
|
||||||
```java
|
|
||||||
Thing pushbullet:bot:r2d2 "R2D2" @ "Somewhere" [ token = "verysecretwonttellyou" ]
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
pushbullet.items
|
|
||||||
|
|
||||||
```java
|
|
||||||
Switch Pushbullet_R2D2_Button "Pushbullet Action bot R2D2"
|
|
||||||
```
|
|
||||||
|
|
||||||
pushbullet.sitemap
|
|
||||||
|
|
||||||
```java
|
|
||||||
sitemap pushbullet label="Pushbullet"
|
|
||||||
{
|
|
||||||
Switch item=Pushbullet_R2D2_Button
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
pushbullet.rules
|
|
||||||
|
|
||||||
```java
|
|
||||||
rule "Pushbullet R2D2 changed"
|
|
||||||
when
|
|
||||||
Item Pushbullet_R2D2_Button changed
|
|
||||||
then
|
|
||||||
logInfo(filename, "Button R2D2 changed - OH2...")
|
|
||||||
|
|
||||||
if (Pushbullet_R2D2_Button.state == ON)
|
|
||||||
{
|
|
||||||
sendCommand(Pushbullet_R2D2_Button, OFF)
|
|
||||||
|
|
||||||
val actions = getActions("pushbullet", "pushbullet:bot:r2d2")
|
|
||||||
logInfo(filename, "Actions for 'R2D2' are: " + actions)
|
|
||||||
|
|
||||||
if (actions != null)
|
|
||||||
{
|
|
||||||
val result = actions.sendPushbulletNote("someone@example.com", "Title R2D2 OH2", "This has been sent by the new R2D2 bot")
|
|
||||||
logInfo(filename, "Result of send action is: " + result)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
end
|
|
||||||
```
|
|
||||||
|
|
||||||
## Creating an account for your bot(s)
|
|
||||||
|
|
||||||
The pushbullet accounts are bound to either Google or Facebook accounts.
|
|
||||||
|
|
||||||
- Create a bot account with either Facebook or Google
|
|
||||||
- Go to "<https://www.pushbullet.com/>"
|
|
||||||
- Chose to either "Sign up with Google" or "Sign up with Facebook".
|
|
||||||
- Complete the signup process as guided by the pushbullet web site.
|
- Complete the signup process as guided by the pushbullet web site.
|
||||||
- Continue with "Obtaining an API key".
|
|
||||||
|
|
||||||
## Obtaining an API key
|
## Obtaining an access token
|
||||||
|
|
||||||
The API keys are bound to the pushbullet account.
|
An access token is linked to a Pushbullet account.
|
||||||
|
|
||||||
- Go to the pushbullet site.
|
- Go to your [Pushbullet account settings](https://www.pushbullet.com/#settings/account) page.
|
||||||
- Log in with either your personal account or the one you created for your bot.
|
|
||||||
- Go to "<https://www.pushbullet.com/#settings/account>"
|
|
||||||
- Click on "Create Access Token".
|
- Click on "Create Access Token".
|
||||||
- Copy the token created on the site.
|
- Copy the created access token.
|
||||||
|
|
||||||
You must at least provide an API token (Private or Alias Key from Pushbullet.com) and a message in some manner before a message can be pushed.
|
|
||||||
All other parameters are optional.
|
|
||||||
If you use an alias key, the parameters (device, icon, sound, vibration) are overwritten by the alias setting on pushbullet.
|
|
||||||
|
|
||||||
## Rate limits
|
## Rate limits
|
||||||
|
|
||||||
As of 2019, free accounts have a limit of 100 pushes per month.
|
As of 2024, free accounts are [limited](https://docs.pushbullet.com/#limits) to 500 pushes per month.
|
||||||
This action does not evaluate the rate limiting headers though.
|
Going over will result in a warning message being logged indicating when your account rate limit will reset.
|
||||||
|
|
||||||
## Translation
|
|
||||||
|
|
||||||
This project is being translated on transifex.
|
|
||||||
If you want to help, please join the project at the URL:
|
|
||||||
|
|
||||||
- <https://www.transifex.com/hakan42/openhab-binding-pushbullet/dashboard/>
|
|
||||||
|
|
||||||
## Libraries
|
|
||||||
|
|
||||||
This action has been written without using libraries as jpushbullet or jpushbullet2.
|
|
||||||
Both of those libraries use various libraries themselves which makes integrating them into openHAB a challenge.
|
|
||||||
|
|
||||||
## pushbullet API
|
|
||||||
|
|
||||||
- <https://docs.pushbullet.com/>
|
|
||||||
- <https://docs.pushbullet.com/#push-limit>
|
|
||||||
|
|
|
@ -21,6 +21,8 @@ In addition you can switch off devices if the power consumption is getting highe
|
||||||
|
|
||||||
Examples: Lights, pool filters, wash machines, ...
|
Examples: Lights, pool filters, wash machines, ...
|
||||||
|
|
||||||
|
Also allows for turning the battery into safe charging mode or storage mode.
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
| Thing type id | Name |
|
| Thing type id | Name |
|
||||||
|
@ -33,6 +35,7 @@ Examples: Lights, pool filters, wash machines, ...
|
||||||
- not equipped battery packs will return 0 for all ...Pack channels
|
- not equipped battery packs will return 0 for all ...Pack channels
|
||||||
- currently channels for the first wallbox are implemented (senec could handle 4 wallboxes)
|
- currently channels for the first wallbox are implemented (senec could handle 4 wallboxes)
|
||||||
- Senec disables http access at ~30.08.2023
|
- Senec disables http access at ~30.08.2023
|
||||||
|
- The chargeMode `STORAGE` also known as Lithium Storage Mode is intended (according to the manual) for disassembly and transport. It is untested if it has any side effects.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
|
@ -71,6 +74,8 @@ The property `limitationTresholdValue` is used as threshold for channel `powerLi
|
||||||
| batteryFuelCharge | percent | Fuel charge of your battery (0 - 100%) |
|
| batteryFuelCharge | percent | Fuel charge of your battery (0 - 100%) |
|
||||||
| systemState | | Text describing current action of the senec home system (e.g. CHARGE) |
|
| systemState | | Text describing current action of the senec home system (e.g. CHARGE) |
|
||||||
| systemStateValue | | Value describing current action of the senec home system (e.g. 14) |
|
| systemStateValue | | Value describing current action of the senec home system (e.g. 14) |
|
||||||
|
| chargeMode | OFF/CHARGE/ | In `CHARGE` mode, the battery will try to fill as quickly as possible |
|
||||||
|
| | STORAGE | in `STORAGE` mode, the battery will try to reach 25% SOC |
|
||||||
| gridPower | watt | Grid power level, negative for supply, positive values for drawing power |
|
| gridPower | watt | Grid power level, negative for supply, positive values for drawing power |
|
||||||
| gridPowerDraw | watt | Absolute power level of power draw, zero while supplying |
|
| gridPowerDraw | watt | Absolute power level of power draw, zero while supplying |
|
||||||
| gridPowerSupply | watt | Absolute power level of power supply, zero while drawing |
|
| gridPowerSupply | watt | Absolute power level of power supply, zero while drawing |
|
||||||
|
@ -149,6 +154,7 @@ Number SenecGridVoltagePh2 "Voltage Level on Phase 2 [%d V]" <e
|
||||||
Number SenecGridVoltagePh3 "Voltage Level on Phase 3 [%d V]" <energy> { channel="senechome:senechome:pvbattery:gridVoltagePhase3" }
|
Number SenecGridVoltagePh3 "Voltage Level on Phase 3 [%d V]" <energy> { channel="senechome:senechome:pvbattery:gridVoltagePhase3" }
|
||||||
Number SenecGridFrequency "Grid Frequency [%.2f Hz]" <energy> { channel="senechome:senechome:pvbattery:gridFrequency" }
|
Number SenecGridFrequency "Grid Frequency [%.2f Hz]" <energy> { channel="senechome:senechome:pvbattery:gridFrequency" }
|
||||||
Number SenecBatteryVoltage "Battery Voltage [%.1f V]" <energy> { channel="senechome:senechome:pvbattery:batteryVoltage" }
|
Number SenecBatteryVoltage "Battery Voltage [%.1f V]" <energy> { channel="senechome:senechome:pvbattery:batteryVoltage" }
|
||||||
|
String SenecBatteryChargeMode "Battery Charge Mode [%s]" { channel="senechome:senechome:pvbattery:chargeMode" }
|
||||||
```
|
```
|
||||||
|
|
||||||
## Sitemap
|
## Sitemap
|
||||||
|
@ -180,6 +186,7 @@ Text label="Power Grid"{
|
||||||
Default item=SenecGridVoltagePh3
|
Default item=SenecGridVoltagePh3
|
||||||
Default item=SenecGridFrequency
|
Default item=SenecGridFrequency
|
||||||
Default item=SenecBatteryVoltage
|
Default item=SenecBatteryVoltage
|
||||||
|
Default item=SenecBatteryChargeMode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
|
@ -54,6 +54,11 @@
|
||||||
<label>Command Authorization Code</label>
|
<label>Command Authorization Code</label>
|
||||||
<description>Authorization Code to allow the execution of Command Tags (may be empty)</description>
|
<description>Authorization Code to allow the execution of Command Tags (may be empty)</description>
|
||||||
</parameter>
|
</parameter>
|
||||||
|
<parameter name="userAgent" type="text" required="false">
|
||||||
|
<label>User Agent</label>
|
||||||
|
<description>Some providers require a specific user agent header. If left empty, the default Jetty header is used.</description>
|
||||||
|
<advanced>true</advanced>
|
||||||
|
</parameter>
|
||||||
</config-description>
|
</config-description>
|
||||||
|
|
||||||
</bridge-type>
|
</bridge-type>
|
||||||
|
|
|
@ -2321,10 +2321,11 @@
|
||||||
<channel id="enableFTP" typeId="enableFTP"/>
|
<channel id="enableFTP" typeId="enableFTP"/>
|
||||||
<channel id="enableEmail" typeId="enableEmail"/>
|
<channel id="enableEmail" typeId="enableEmail"/>
|
||||||
<channel id="enablePush" typeId="enablePush"/>
|
<channel id="enablePush" typeId="enablePush"/>
|
||||||
|
<channel id="autoTracking" typeId="autoTracking"/>
|
||||||
</channels>
|
</channels>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<property name="thingTypeVersion">1</property>
|
<property name="thingTypeVersion">2</property>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<config-description>
|
<config-description>
|
||||||
|
@ -3074,4 +3075,10 @@
|
||||||
</options>
|
</options>
|
||||||
</state>
|
</state>
|
||||||
</channel-type>
|
</channel-type>
|
||||||
|
|
||||||
|
<channel-type id="autoTracking" advanced="true">
|
||||||
|
<item-type>Switch</item-type>
|
||||||
|
<label>Auto Tracking</label>
|
||||||
|
<description>Turn the automatic mode for tracking ON or OFF.</description>
|
||||||
|
</channel-type>
|
||||||
</thing:thing-descriptions>
|
</thing:thing-descriptions>
|
||||||
|
|
|
@ -8,51 +8,18 @@
|
||||||
<label>Pushbullet Bot</label>
|
<label>Pushbullet Bot</label>
|
||||||
<description>Bot to send messages with.</description>
|
<description>Bot to send messages with.</description>
|
||||||
|
|
||||||
<channels>
|
<properties>
|
||||||
<channel id="recipient" typeId="recipient-channel"/>
|
<property name="thingTypeVersion">1</property>
|
||||||
<channel id="title" typeId="title-channel"/>
|
</properties>
|
||||||
<channel id="message" typeId="message-channel"/>
|
|
||||||
</channels>
|
|
||||||
|
|
||||||
<config-description>
|
<config-description>
|
||||||
<parameter name="name" type="text" required="false">
|
|
||||||
<label>Name</label>
|
|
||||||
<description>Explicit Name of Bot, if wanted</description>
|
|
||||||
<advanced>true</advanced>
|
|
||||||
</parameter>
|
|
||||||
|
|
||||||
<parameter name="token" type="text" required="true">
|
<parameter name="token" type="text" required="true">
|
||||||
<label>Access Token</label>
|
<label>Access Token</label>
|
||||||
<description>Access token obtained from the account settings page</description>
|
<description>Access token obtained from the account settings page.</description>
|
||||||
</parameter>
|
|
||||||
|
|
||||||
<parameter name="apiUrlBase" type="text" required="true">
|
|
||||||
<label>API Server</label>
|
|
||||||
<description>The Pushbullet API Server to use, for local testing</description>
|
|
||||||
<default>https://api.pushbullet.com/v2</default>
|
|
||||||
<advanced>true</advanced>
|
|
||||||
</parameter>
|
</parameter>
|
||||||
|
|
||||||
</config-description>
|
</config-description>
|
||||||
|
|
||||||
</thing-type>
|
</thing-type>
|
||||||
|
|
||||||
<channel-type id="recipient-channel">
|
|
||||||
<item-type>String</item-type>
|
|
||||||
<label>Recipient</label>
|
|
||||||
<description>Mail address or Channel Name</description>
|
|
||||||
</channel-type>
|
|
||||||
|
|
||||||
<channel-type id="title-channel">
|
|
||||||
<item-type>String</item-type>
|
|
||||||
<label>Title</label>
|
|
||||||
<description>Title of the message</description>
|
|
||||||
</channel-type>
|
|
||||||
|
|
||||||
<channel-type id="message-channel">
|
|
||||||
<item-type>String</item-type>
|
|
||||||
<label>Message</label>
|
|
||||||
<description>The text that is to be sent</description>
|
|
||||||
</channel-type>
|
|
||||||
|
|
||||||
</thing:thing-descriptions>
|
</thing:thing-descriptions>
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
<channel id="batteryFuelCharge" typeId="batteryFuelCharge"/>
|
<channel id="batteryFuelCharge" typeId="batteryFuelCharge"/>
|
||||||
<channel id="systemState" typeId="systemState"/>
|
<channel id="systemState" typeId="systemState"/>
|
||||||
<channel id="systemStateValue" typeId="systemStateValue"/>
|
<channel id="systemStateValue" typeId="systemStateValue"/>
|
||||||
|
<channel id="chargeMode" typeId="chargeMode"/>
|
||||||
|
|
||||||
<!-- SenecHomeGrid -->
|
<!-- SenecHomeGrid -->
|
||||||
<channel id="gridPower" typeId="gridPower"/>
|
<channel id="gridPower" typeId="gridPower"/>
|
||||||
|
@ -242,6 +243,18 @@
|
||||||
<category>Number</category>
|
<category>Number</category>
|
||||||
<state readOnly="true" pattern="%d"/>
|
<state readOnly="true" pattern="%d"/>
|
||||||
</channel-type>
|
</channel-type>
|
||||||
|
<channel-type id="chargeMode">
|
||||||
|
<item-type>String</item-type>
|
||||||
|
<label>Safe Charge Mode</label>
|
||||||
|
<category>Text</category>
|
||||||
|
<state readOnly="false" pattern="%s">
|
||||||
|
<options>
|
||||||
|
<option value="OFF">Off</option>
|
||||||
|
<option value="CHARGE">Safe Charge</option>
|
||||||
|
<option value="STORAGE">Lithium Storage</option>
|
||||||
|
</options>
|
||||||
|
</state>
|
||||||
|
</channel-type>
|
||||||
|
|
||||||
|
|
||||||
<channel-type id="gridPower">
|
<channel-type id="gridPower">
|
||||||
|
|
Loading…
Reference in New Issue