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 |
|
||||
| `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 |
|
||||
| `userAgent` | Some providers require a specific user agent header. If left empty, the default Jetty header is used. | optional |
|
||||
|
||||
### 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. |
|
||||
| `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. |
|
||||
| `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. |
|
||||
| `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. |
|
||||
|
|
|
@ -39,7 +39,7 @@ The binding supports either a TCP/IP connection or direct serial port connection
|
|||
|
||||
## 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.
|
||||
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
|
||||
title: Pushbullet - Bindings
|
||||
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
|
||||
logo: images/addons/pushbullet.png
|
||||
install: auto
|
||||
|
@ -17,46 +17,26 @@ install: auto
|
|||
|
||||
<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
|
||||
|
||||
This binding supports a generic "bot" which is a representation of the client.
|
||||
|
||||
## Discovery
|
||||
|
||||
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 | Type | Description |
|
||||
| ----- | ----- | ------------------------- |
|
||||
| bot | Thing | Bot to send messages with |
|
||||
|
||||
## Thing Configuration
|
||||
|
||||
### Bot (`bot`)
|
||||
### `bot`
|
||||
|
||||
The bot thing is used to send messages to other recipients.
|
||||
It has the following parameters:
|
||||
|
||||
| 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" ]
|
||||
|
||||
```
|
||||
| Parameter | Required | Description |
|
||||
| --------- | :------: | ---------------------------------------------------- |
|
||||
| token | Yes | Access token obtained from the account settings page |
|
||||
|
||||
## Channels
|
||||
|
||||
| Channel ID | Channel Description | Supported item type | Advanced |
|
||||
|------------|-------------------------------------------------|----------------------|----------|
|
||||
| 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 |
|
||||
Currently the binding does not support any channels.
|
||||
|
||||
## 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.
|
||||
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
|
||||
val actions = getActions("pushbullet", "pushbullet:bot:r2d2")
|
||||
// push a 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")
|
||||
// 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", 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)
|
||||
```
|
||||
|
||||
## 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:
|
||||
|
||||
```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".
|
||||
- Go to the [Pushbullet](https://www.pushbullet.com) website.
|
||||
- Select either "Sign up with Google" or "Sign up with Facebook".
|
||||
- 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.
|
||||
- Log in with either your personal account or the one you created for your bot.
|
||||
- Go to "<https://www.pushbullet.com/#settings/account>"
|
||||
- Go to your [Pushbullet account settings](https://www.pushbullet.com/#settings/account) page.
|
||||
- Click on "Create Access Token".
|
||||
- Copy the token created on the site.
|
||||
|
||||
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.
|
||||
- Copy the created access token.
|
||||
|
||||
## Rate limits
|
||||
|
||||
As of 2019, free accounts have a limit of 100 pushes per month.
|
||||
This action does not evaluate the rate limiting headers though.
|
||||
|
||||
## 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>
|
||||
As of 2024, free accounts are [limited](https://docs.pushbullet.com/#limits) to 500 pushes per month.
|
||||
Going over will result in a warning message being logged indicating when your account rate limit will reset.
|
||||
|
|
|
@ -21,6 +21,8 @@ In addition you can switch off devices if the power consumption is getting highe
|
|||
|
||||
Examples: Lights, pool filters, wash machines, ...
|
||||
|
||||
Also allows for turning the battery into safe charging mode or storage mode.
|
||||
|
||||
## Supported Things
|
||||
|
||||
| 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
|
||||
- currently channels for the first wallbox are implemented (senec could handle 4 wallboxes)
|
||||
- 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
|
||||
|
||||
|
@ -71,6 +74,8 @@ The property `limitationTresholdValue` is used as threshold for channel `powerLi
|
|||
| batteryFuelCharge | percent | Fuel charge of your battery (0 - 100%) |
|
||||
| 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) |
|
||||
| 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 |
|
||||
| gridPowerDraw | watt | Absolute power level of power draw, zero while supplying |
|
||||
| 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 SenecGridFrequency "Grid Frequency [%.2f Hz]" <energy> { channel="senechome:senechome:pvbattery:gridFrequency" }
|
||||
Number SenecBatteryVoltage "Battery Voltage [%.1f V]" <energy> { channel="senechome:senechome:pvbattery:batteryVoltage" }
|
||||
String SenecBatteryChargeMode "Battery Charge Mode [%s]" { channel="senechome:senechome:pvbattery:chargeMode" }
|
||||
```
|
||||
|
||||
## Sitemap
|
||||
|
@ -180,6 +186,7 @@ Text label="Power Grid"{
|
|||
Default item=SenecGridVoltagePh3
|
||||
Default item=SenecGridFrequency
|
||||
Default item=SenecBatteryVoltage
|
||||
Default item=SenecBatteryChargeMode
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
|
@ -54,6 +54,11 @@
|
|||
<label>Command Authorization Code</label>
|
||||
<description>Authorization Code to allow the execution of Command Tags (may be empty)</description>
|
||||
</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>
|
||||
|
||||
</bridge-type>
|
||||
|
|
|
@ -2321,10 +2321,11 @@
|
|||
<channel id="enableFTP" typeId="enableFTP"/>
|
||||
<channel id="enableEmail" typeId="enableEmail"/>
|
||||
<channel id="enablePush" typeId="enablePush"/>
|
||||
<channel id="autoTracking" typeId="autoTracking"/>
|
||||
</channels>
|
||||
|
||||
<properties>
|
||||
<property name="thingTypeVersion">1</property>
|
||||
<property name="thingTypeVersion">2</property>
|
||||
</properties>
|
||||
|
||||
<config-description>
|
||||
|
@ -3074,4 +3075,10 @@
|
|||
</options>
|
||||
</state>
|
||||
</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>
|
||||
|
|
|
@ -8,51 +8,18 @@
|
|||
<label>Pushbullet Bot</label>
|
||||
<description>Bot to send messages with.</description>
|
||||
|
||||
<channels>
|
||||
<channel id="recipient" typeId="recipient-channel"/>
|
||||
<channel id="title" typeId="title-channel"/>
|
||||
<channel id="message" typeId="message-channel"/>
|
||||
</channels>
|
||||
<properties>
|
||||
<property name="thingTypeVersion">1</property>
|
||||
</properties>
|
||||
|
||||
<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">
|
||||
<label>Access Token</label>
|
||||
<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>
|
||||
<description>Access token obtained from the account settings page.</description>
|
||||
</parameter>
|
||||
|
||||
</config-description>
|
||||
|
||||
</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>
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
<channel id="batteryFuelCharge" typeId="batteryFuelCharge"/>
|
||||
<channel id="systemState" typeId="systemState"/>
|
||||
<channel id="systemStateValue" typeId="systemStateValue"/>
|
||||
<channel id="chargeMode" typeId="chargeMode"/>
|
||||
|
||||
<!-- SenecHomeGrid -->
|
||||
<channel id="gridPower" typeId="gridPower"/>
|
||||
|
@ -242,6 +243,18 @@
|
|||
<category>Number</category>
|
||||
<state readOnly="true" pattern="%d"/>
|
||||
</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">
|
||||
|
|
Loading…
Reference in New Issue