parent
6437c7d047
commit
f6dbad695e
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
id: pushbullet
|
||||
label: Pushbullet
|
||||
title: Pushbullet - Actions
|
||||
type: action
|
||||
description: "The Pushbullet action allows you to notify iOS, Android & Windows 10 Phone & Desktop devices of a message using the Pushbullet API web service."
|
||||
source: https://github.com/openhab/openhab1-addons/blob/master/bundles/action/org.openhab.action.pushbullet/README.md
|
||||
since: 1x
|
||||
logo: images/addons/pushbullet.png
|
||||
install: auto
|
||||
---
|
||||
|
||||
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||
|
||||
{% include base.html %}
|
||||
|
||||
# Pushbullet Actions
|
||||
|
||||
The Pushbullet action allows you to notify iOS, Android & Windows 10 Phone & Desktop devices of a message using the Pushbullet API web service.
|
||||
|
||||
## Actions
|
||||
|
||||
The following is a valid action call that can be made when the plugin is loaded.
|
||||
For specific information on each item, see the [Pushbullet API](https://docs.pushbullet.com/).
|
||||
|
||||
* `sendPushbulletNote(String receiver, String title, String message)`
|
||||
* `sendPushbulletNote(String botname, String receiver, String title, String message)`
|
||||
|
||||
## Examples
|
||||
|
||||
```
|
||||
sendPushbulletNote("mybot", "someone@somewhere.com", "this is the title", "And this is the body of the message")
|
||||
```
|
||||
|
||||
|
||||
## Creating an account for your bot(s)
|
||||
|
||||
The pushbullet accounts are bound to either Google or Facebook accounts.
|
||||
* 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.
|
||||
* Continue with "Obtaining an API key".
|
||||
|
||||
## Obtaining an API key
|
||||
|
||||
The API keys are bound to the 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"
|
||||
* 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.
|
||||
|
||||
|
||||
## Rate limits
|
||||
|
||||
As of June 2017, free accounts have a limit of 500 pushes per month.
|
||||
This action does not evaluate the rate limiting headers though.
|
||||
|
||||
## 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
|
|
@ -25,6 +25,9 @@ The Dash Button will try to contact the Amazon servers every time the button is
|
|||
This might not be in line with your privacy preferences but can be prevented.
|
||||
Please refer to the ["Preventing Communication with Amazon Servers"](#no-phonehome) section for details.
|
||||
|
||||
**Response Time:**
|
||||
Please be aware, that due to the operation method of this binding, the response time for a button press can be rather high (up to five seconds). You might want to keep that in mind during product selection or task assignment.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
The Binding uses [Pcap4J](https://www.pcap4j.org/) in order to capture `ARP` and `BOOTP` requests send by the Amazon Dash Button.
|
||||
|
@ -124,21 +127,33 @@ You can ignore these devices in your Inbox.
|
|||
|
||||
### Amazon Dash Button
|
||||
|
||||
* **MAC address:** The MAC address of the Amazon Dash Button
|
||||
* **Network interface:** The network interface which receives the packets of the Amazon Dash Button
|
||||
* **Packet processing interval:** Often a single button press is recognized multiple times. You can specify how long any further detected button pressed should be ignored after one click is handled (in ms).
|
||||
* `macAddress` - The MAC address of the Amazon Dash Button.
|
||||
* `pcapNetworkInterfaceName` - The network interface which receives the packets of the Amazon Dash Button.
|
||||
* `packetInterval` - Often a single button press is recognized multiple times. You can specify how long any further detected button pressed should be ignored after one click was processed. The parameter is optional and 5000ms by default.
|
||||
|
||||
For manual defintion of a `dashbutton` Thing the MAC address can either be taken from the discovery output or can e.g. be captured through your router/DHCP frontend or with Wireshark.
|
||||
|
||||
## Channels
|
||||
|
||||
* **Press:** Trigger channel for recognizing presses on the Amazon Dash Button. You do not have to link this channel to an item. Just reference the channel in your .rules-file like documented in the "Example Usage" section.
|
||||
* **Press:** Trigger channel for recognizing presses on the Amazon Dash Button. A trigger channel can directly be used in a rule, check the "Full Example" section for one example.
|
||||
|
||||
## Example Usage
|
||||
## Full Example
|
||||
|
||||
Things:
|
||||
|
||||
```java
|
||||
Thing amazondashbutton:dashbutton:fc-a6-67-0c-aa-c7 "My Dash Button" @ "Living" [ macAddress="fc:a6:67:0c:aa:c7", pcapNetworkInterfaceName="eth0", packetInterval=5000 ]
|
||||
```
|
||||
rule "Dash button pressed"
|
||||
when
|
||||
Channel "amazondashbutton:dashbutton:ac63bexxxxxx:press" triggered
|
||||
then
|
||||
println("The Dash button has been pressed")
|
||||
|
||||
(Pay attention: The mac address has to be given in two different formats)
|
||||
|
||||
Rules:
|
||||
|
||||
```java
|
||||
rule "My Dash Button pressed"
|
||||
when
|
||||
Channel "amazondashbutton:dashbutton:fc-a6-67-0c-aa-c7:press" triggered
|
||||
then
|
||||
logInfo("amazondashbutton", "My Dash Button has been pressed")
|
||||
end
|
||||
```
|
||||
|
|
|
@ -145,6 +145,9 @@ anel="<identifier>:<item>"
|
|||
| `IO6` | Switch | state of I/O 6 | only if `IO6ISINPUT = ON`
|
||||
| `IO7` | Switch | state of I/O 7 | only if `IO7ISINPUT = ON`
|
||||
| `IO8` | Switch | state of I/O 8 | only if `IO8ISINPUT = ON`
|
||||
| `SENSOR_TEMPERATURE` | Number | sensor temperature (device firmware >= 6.1) | no
|
||||
| `SENSOR_HUMIDITY` | Number | sensor humidity (device firmware >= 6.1) | no
|
||||
| `SENSOR_BRIGHTNESS` | Number | sensor brightness (device firmware >= 6.1) | no
|
||||
|
||||
|
||||
## Example Rules
|
||||
|
|
|
@ -38,7 +38,11 @@ This [powerline adapter](http://avm.de/produkte/fritzpowerline/fritzpowerline-54
|
|||
|
||||
### FRITZ!DECT 301 / FRITZ!DECT 300 / Comet DECT
|
||||
|
||||
These devices [FRITZ!DECT 301](https://avm.de/produkte/fritzdect/fritzdect-301/), [FRITZ!DECT 300](https://avm.de/produkte/fritzdect/fritzdect-300/) and [Comet DECT](https://www.eurotronic.org/produkte/comet-dect.html) ( [EUROtronic Technology GmbH](https://www.eurotronic.org) ) are used to regulate radiators via DECT protocol. The FRITZ!Box can handle up to twelve heating thermostats. The binding provides channels for reading and setting the temperature. Additionally you can check the eco temperature, the comfort temperature and the battery level of the device. The FRITZ!Box has to run at least on firmware FRITZ!OS 6.35.
|
||||
These devices [FRITZ!DECT 301](https://avm.de/produkte/fritzdect/fritzdect-301/), FRITZ!DECT 300 and [Comet DECT](https://www.eurotronic.org/produkte/comet-dect.html) ( [EUROtronic Technology GmbH](https://www.eurotronic.org) ) are used to regulate radiators via DECT protocol.
|
||||
The FRITZ!Box can handle up to twelve heating thermostats.
|
||||
The binding provides channels for reading and setting the temperature.
|
||||
Additionally you can check the eco temperature, the comfort temperature and the battery level of the device.
|
||||
The FRITZ!Box has to run at least on firmware FRITZ!OS 6.35.
|
||||
|
||||
## Discovery
|
||||
|
||||
|
@ -77,23 +81,23 @@ If correct credentials are set in the bridge configuration, connected AHA device
|
|||
|
||||
## Supported Channels
|
||||
|
||||
| Channel Type ID | Item Type | Description | Available on thing |
|
||||
|-----------------|-----------|--------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|
|
||||
| mode | String | States the mode of the device (MANUAL/AUTOMATIC) | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!Powerline 546E, FRITZ!DECT 300, Comet DECT |
|
||||
| locked | Contact | Device is locked for switching over external sources (OPEN/CLOSE) | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!Powerline 546E, FRITZ!DECT 300, Comet DECT |
|
||||
| device_locked | Contact | Device is locked for switching manually (OPEN/CLOSE) - FRITZ!OS 6.90 | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!Powerline 546E, FRITZ!DECT 300, Comet DECT |
|
||||
| temperature | Number | Actual measured temperature (in °C) | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!DECT Repeater 100, FRITZ!DECT 300, Comet DECT |
|
||||
| energy | Number | Accumulated energy consumption (in kWh) | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!Powerline 546E |
|
||||
| power | Number | Current power consumption (in W) | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!Powerline 546E |
|
||||
| outlet | Switch | Switchable outlet (ON/OFF) | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!Powerline 546E |
|
||||
| actual_temp | Number | Actual Temperature of heating thermostat (in °C) | FRITZ!DECT 300, Comet DECT |
|
||||
| set_temp | Number | Set Temperature of heating thermostat (in °C) | FRITZ!DECT 300, Comet DECT |
|
||||
| eco_temp | Number | Eco Temperature of heating thermostat (in °C) | FRITZ!DECT 300, Comet DECT |
|
||||
| comfort_temp | Number | Comfort Temperature of heating thermostat (in °C) | FRITZ!DECT 300, Comet DECT |
|
||||
| radiator_mode | String | Mode of heating thermostat (ON/OFF/COMFORT/ECO/BOOST) | FRITZ!DECT 300, Comet DECT |
|
||||
| next_change | DateTime | Next change of the Set Temperature if scheduler is activated in the FRITZ!Box settings - FRITZ!OS 6.80 | FRITZ!DECT 300, Comet DECT |
|
||||
| next_temp | Number | Next Set Temperature if scheduler is activated in the FRITZ!Box settings (in °C) - FRITZ!OS 6.80 | FRITZ!DECT 300, Comet DECT |
|
||||
| battery_low | Switch | Battery Level Low (ON/OFF) - FRITZ!OS 6.80 | FRITZ!DECT 300, Comet DECT |
|
||||
| Channel Type ID | Item Type | Description | Available on thing |
|
||||
|-----------------|-----------|--------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
|
||||
| mode | String | States the mode of the device (MANUAL/AUTOMATIC) | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!Powerline 546E, FRITZ!DECT 301, FRITZ!DECT 300, Comet DECT |
|
||||
| locked | Contact | Device is locked for switching over external sources (OPEN/CLOSE) | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!Powerline 546E, FRITZ!DECT 301, FRITZ!DECT 300, Comet DECT |
|
||||
| device_locked | Contact | Device is locked for switching manually (OPEN/CLOSE) - FRITZ!OS 6.90 | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!Powerline 546E, FRITZ!DECT 301, FRITZ!DECT 300, Comet DECT |
|
||||
| temperature | Number | Actual measured temperature (in °C) | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!DECT Repeater 100, FRITZ!DECT 301, FRITZ!DECT 300, Comet DECT |
|
||||
| energy | Number | Accumulated energy consumption (in kWh) | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!Powerline 546E |
|
||||
| power | Number | Current power consumption (in W) | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!Powerline 546E |
|
||||
| outlet | Switch | Switchable outlet (ON/OFF) | FRITZ!DECT 210, FRITZ!DECT 200, FRITZ!Powerline 546E |
|
||||
| actual_temp | Number | Actual Temperature of heating thermostat (in °C) | FRITZ!DECT 301, FRITZ!DECT 300, Comet DECT |
|
||||
| set_temp | Number | Set Temperature of heating thermostat (in °C) | FRITZ!DECT 301, FRITZ!DECT 300, Comet DECT |
|
||||
| eco_temp | Number | Eco Temperature of heating thermostat (in °C) | FRITZ!DECT 301, FRITZ!DECT 300, Comet DECT |
|
||||
| comfort_temp | Number | Comfort Temperature of heating thermostat (in °C) | FRITZ!DECT 301, FRITZ!DECT 300, Comet DECT |
|
||||
| radiator_mode | String | Mode of heating thermostat (ON/OFF/COMFORT/ECO/BOOST) | FRITZ!DECT 301, FRITZ!DECT 300, Comet DECT |
|
||||
| next_change | DateTime | Next change of the Set Temperature if scheduler is activated in the FRITZ!Box settings - FRITZ!OS 6.80 | FRITZ!DECT 301, FRITZ!DECT 300, Comet DECT |
|
||||
| next_temp | Number | Next Set Temperature if scheduler is activated in the FRITZ!Box settings (in °C) - FRITZ!OS 6.80 | FRITZ!DECT 301, FRITZ!DECT 300, Comet DECT |
|
||||
| battery_low | Switch | Battery Level Low (ON/OFF) - FRITZ!OS 6.80 | FRITZ!DECT 301, FRITZ!DECT 300, Comet DECT |
|
||||
|
||||
|
||||
## Full Example
|
||||
|
|
|
@ -32,6 +32,7 @@ This binding can be configured in the file `services/bticino.cfg`.
|
|||
|----------|---------|:--------:|-------------|
|
||||
| webserver.host | | Yes | OpenWebNet gateway IP address / Hostname |
|
||||
| webserver.port | 20000 | No | OpenWebNet gateway port |
|
||||
| webserver.passwd | 12345 | No | OpenWebNet gateway password |
|
||||
| webserver.rescan_secs | 120 | No | OpenWebNet bus status rescan interval |
|
||||
|
||||
A sample configuration could look like:
|
||||
|
|
|
@ -15,15 +15,15 @@ install: auto
|
|||
|
||||
# Chromecast Binding
|
||||
|
||||
The binding integrates Google Chromecast streaming devices.
|
||||
The binding integrates Google Chromecast streaming devices.
|
||||
|
||||
It not only acts as a typical binding, but also registers each Chromecast device as an audio sink that can be used for playback.
|
||||
|
||||
In order play audio streams that are served from the runtime, the binding needs to know the url to access. This can be configured on the binding level:
|
||||
|
||||
| Configuration Parameter | Type | Description |
|
||||
| Configuration Parameter | Type | Description |
|
||||
|-------------|--------|-----------------------------|
|
||||
| callbackUrl | text | optional Callback URL - url to use for playing notification sounds, e.g. http://192.168.0.2:8080 |
|
||||
| callbackUrl | text | optional Callback URL - url to use for playing notification sounds, e.g. http://192.168.0.2:8080 |
|
||||
|
||||
|
||||
## Supported Things
|
||||
|
@ -41,7 +41,7 @@ Chromecast devices can also be manually added. The only configuration parameter
|
|||
|
||||
## Channels
|
||||
|
||||
| Channel Type ID | Item Type | Description |
|
||||
| Channel Type ID | Item Type | Description |
|
||||
|-------------|--------|-----------------------------|
|
||||
| control | Player | Player control; currently only supports play/pause and does not correctly update, if the state changes on the device itself |
|
||||
| volume | Dimmer | Control the volume, this is also updated if the volume is changed by another app |
|
||||
|
@ -68,6 +68,28 @@ Dimmer Volume { channel="chromecast:audio:myCC:volume" }
|
|||
Player Music { channel="chromecast:audio:myCC:control" }
|
||||
```
|
||||
|
||||
demo.rules:
|
||||
|
||||
```
|
||||
rule "Turn on kitchen speakers when Chromecast starts playing music"
|
||||
when
|
||||
Item chromecast_chromecast_38e621581281c7675a777e7b474811ed_appId changed
|
||||
then
|
||||
{
|
||||
logInfo("RULE.AUDIO", "Chromecast id changed!")
|
||||
|
||||
// 36061251 Pandora
|
||||
// 2872939A Google Play Music
|
||||
|
||||
if (chromecast_chromecast_38e621581281c7675a777e7b474811ed_appId.state == "36061251"
|
||||
|| chromecast_chromecast_38e621581281c7675a777e7b474811ed_appId.state == "2872939A") {
|
||||
kitchen_audio_power.sendCommand(ON)
|
||||
kitchen_audio_source.sendCommand(1)
|
||||
}
|
||||
}
|
||||
end
|
||||
```
|
||||
|
||||
demo.sitemap:
|
||||
|
||||
```
|
||||
|
@ -79,3 +101,14 @@ sitemap demo label="Main Menu"
|
|||
}
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
sitemap chromecast label="Chromecasts" {
|
||||
Frame label="Family Room: What's Playing" {
|
||||
Image item=chromecast_chromecast_38e621581281c7675a777e7b474811ed_image
|
||||
Text item=chromecast_chromecast_38e621581281c7675a777e7b474811ed_artist label="Artist [%s]"
|
||||
Text item=chromecast_chromecast_38e621581281c7675a777e7b474811ed_title label="Title [%s]"
|
||||
Text item=chromecast_chromecast_38e621581281c7675a777e7b474811ed_albumName label="Album [%s]"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
|
@ -25,6 +25,7 @@ Successfully tested are internet radios
|
|||
* [MEDION MD86988](http://internetradio.medion.com/)
|
||||
* [Roberts Stream 93i](https://www.robertsradio.com/uk/products/radio/smart-radio/stream-93i)
|
||||
* [auna Connect 150](http://www.auna.de/HiFi-Geraete/Radios/Internetradios/auna-Connect-150-BK-2-1-Internetradio-Mediaplayer-schwarz.html)
|
||||
* [TechniSat DIGITRADIO 350 IR](https://www.technisat.com/de_DE/DIGITRADIO-350-IR/352-10996-10329/)
|
||||
|
||||
But in principle, all internet radios based on the [Frontier Silicon chipset](http://www.frontier-silicon.com/) should be supported because they share the same API.
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@ Hubs can report and change the current activity:
|
|||
items:
|
||||
|
||||
```
|
||||
String HarmonyGreatRoomActivity "Current Activity [%s]" (gMain) { channel="harmonyhub:hub:GreatRoom:activity" }
|
||||
String HarmonyGreatRoomActivity "Current Activity [%s]" (gMain) { channel="harmonyhub:hub:GreatRoom:currentActivity" }
|
||||
```
|
||||
|
||||
Devices can send button presses
|
||||
|
|
|
@ -23,6 +23,7 @@ This binding allows you to integrate, view, control and configure all Homematic
|
|||
All gateways which provides the Homematic BIN- or XML-RPC API:
|
||||
* CCU 1+2
|
||||
* [Homegear](https://www.homegear.eu)
|
||||
* [piVCCU](https://github.com/alexreinert/piVCCU)
|
||||
* [YAHM](https://github.com/leonsio/YAHM)
|
||||
* [Windows BidCos service](http://www.eq-3.de/downloads.html?kat=download&id=125)
|
||||
* [OCCU](https://github.com/eq-3/occu)
|
||||
|
@ -360,6 +361,22 @@ then
|
|||
end
|
||||
```
|
||||
|
||||
#### PRESS
|
||||
|
||||
A virtual datapoint (String) to simulate a key press, available on all channels that contains PRESS_ datapoints.
|
||||
Available values: SHORT, LONG, LONG_RELEASE
|
||||
|
||||
Example: to capture a key press on the 19 button remote control in a rule
|
||||
|
||||
```
|
||||
rule "example trigger rule"
|
||||
when
|
||||
Channel 'homematic:HM-RC-19-B:ccu:KEQ0012345:1#PRESS' triggered SHORT
|
||||
then
|
||||
...
|
||||
end
|
||||
```
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
**SHORT & LONG_PRESS events of push buttons do not occur on the event bus**
|
||||
|
|
|
@ -62,13 +62,14 @@ The following configuration options are available for the Kodi binding:
|
|||
|
||||
### Thing Configuration
|
||||
|
||||
The Kodi thing requires the IP address of the device hosting your Kodi media center instance and the TCP port to access it on (default: `9090`).
|
||||
These parameters will be found by the auto-discovery feature.
|
||||
The Kodi thing requires the IP address of the device hosting your Kodi media center instance, the TCP port to access it (default: `9090`) and the HTTP port to build URLs to the Kodi webinterface for downloading thumbnail and fanart images (default: `8080`).
|
||||
You optionally can define a `httpUser` and a `httpPassword` parameter if the access to your Kodi webinterface is protected.
|
||||
The IP address will be found by the auto-discovery feature.
|
||||
|
||||
A manual setup through a `things/kodi.things` file could look like this:
|
||||
|
||||
```
|
||||
Thing kodi:kodi:myKodi "Kodi" @ "Living Room" [ipAddress="192.168.1.100", port="9090"]
|
||||
Thing kodi:kodi:myKodi "Kodi" @ "Living Room" [ipAddress="192.168.1.100", port="9090", httpPort="8080"]
|
||||
```
|
||||
|
||||
## Channels
|
||||
|
@ -94,6 +95,9 @@ The Kodi thing supports the following channels:
|
|||
| inputtext | String | This channel emulates a keyboard input |
|
||||
| systemcommand | String | This channel allows to send commands to `shutdown`, `suspend`, `hibernate`, `reboot` kodi |
|
||||
| mediatype | String | The media type of the current file. Valid return values are: `unknown`, `channel`, `episode`, `movie`, `musicvideo`, `picture`, `radio`, `song`, `video` |
|
||||
| thumbnail | Image | The URL to the thumbnail of the current file |
|
||||
| fanart | Image | The URL to the fanart of the current file |
|
||||
|
||||
|
||||
### Channel Configuration
|
||||
|
||||
|
@ -132,6 +136,8 @@ String myKodi_input "Input" { channel="kodi:kodi:myKodi:
|
|||
String myKodi_inputtext "Inputtext" { channel="kodi:kodi:myKodi:inputtext" }
|
||||
String myKodi_systemcommand "Systemcommand" { channel="kodi:kodi:myKodi:systemcommand" }
|
||||
String myKodi_mediatype "Mediatype [%s]" { channel="kodi:kodi:myKodi:mediatype" }
|
||||
Image myKodi_thumbnail { channel="kodi:kodi:myKodi:thumbnail" }
|
||||
Image myKodi_fanart { channel="kodi:kodi:myKodi:fanart" }
|
||||
```
|
||||
|
||||
## Sitemap Configuration
|
||||
|
@ -157,6 +163,8 @@ sitemap demo label="myKodi"
|
|||
Selection item=myKodi_input mappings=[Up='Up', Down='Down', Left='Left', Right='Right', Select='Select', Back='Back', Home='Home', ContextMenu='ContextMenu', Info='Info']
|
||||
Selection item=myKodi_systemcommand mappings=[Shutdown='Herunterfahren', Suspend='Bereitschaft', Reboot='Neustart']
|
||||
Text item=myKodi_mediatype
|
||||
Image item=myKodi_thumbnail
|
||||
Image item=myKodi_fanart
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
|
@ -0,0 +1,152 @@
|
|||
---
|
||||
id: lgwebos
|
||||
label: LG webOS
|
||||
title: LG webOS - Bindings
|
||||
type: binding
|
||||
description: "The binding integrates LG WebOS based smart TVs. This binding uses a [forked version](https://github.com/sprehn/Connect-SDK-Java-Core) of LG's [Connect SDK](https://github.com/ConnectSDK/Connect-SDK-Android-Core) library."
|
||||
since: 2x
|
||||
install: auto
|
||||
---
|
||||
|
||||
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||
|
||||
{% include base.html %}
|
||||
|
||||
# LG webOS Binding
|
||||
|
||||
The binding integrates LG WebOS based smart TVs. This binding uses a [forked version](https://github.com/sprehn/Connect-SDK-Java-Core) of LG's [Connect SDK](https://github.com/ConnectSDK/Connect-SDK-Android-Core) library.
|
||||
|
||||
|
||||
## Supported Things
|
||||
|
||||
### LG webOS smart TVs
|
||||
|
||||
LG webOS based smart TVs are supported.
|
||||
|
||||
#### TV Settings
|
||||
|
||||
The TV must be connected to the same network as openHAB.
|
||||
Under network settings allow "LG CONNECT APPS" to connect.
|
||||
|
||||
Note: Under general settings allow mobile applications to turn on the TV, if this option is available. In combination with the wake on LAN binding this will allow you to start the TV via openHAB.
|
||||
|
||||
## Discovery
|
||||
|
||||
TVs are auto discovered through SSDP in the local network. The binding broadcasts a search message via UDP on the network.
|
||||
|
||||
## Thing Configuration
|
||||
|
||||
WebOS TV has no configuration parameters. Please note that at least one channel must be bound to an item before the binding will make an attempt to connect and pair with the TV once that one is turned on.
|
||||
|
||||
## Channels
|
||||
|
||||
| Channel Type ID | Item Type | Description | Read/Write |
|
||||
|-----------------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------|
|
||||
| power | Switch | Current power setting. TV can only be powered off, not on. | RW |
|
||||
| mute | Switch | Current mute setting. | RW |
|
||||
| volume | Dimmer | Current volume setting. Setting and reporting absolute percent values only works when using internal speakers. When connected to an external amp, the volume should be controlled using increase and decrease commands. | RW |
|
||||
| channel | Number | Current channel number. Supports increase and decrease commands as well for relative channel up and down. | RW |
|
||||
| channelName | String | Current channel name | R |
|
||||
| toast | String | Displays a short message on the TV screen. See also rules section. | W |
|
||||
| mediaPlayer | Player | Media control player | W |
|
||||
| mediaStop | Switch | Media control stop | W |
|
||||
| appLauncher | String | Application ID of currently running application. This also allows to start applications on the TV by sending a specific Application ID to this channel. | RW |
|
||||
|
||||
## Full Example
|
||||
|
||||
This example assumes the IP of your smart TV is 192.168.2.119.
|
||||
|
||||
demo.items:
|
||||
|
||||
```
|
||||
Switch LG_TV0_Power "TV Power" <television> { autoupdate="false", channel="lgwebos:WebOSTV:192_168_2_119:power" }
|
||||
Switch LG_TV0_Mute "TV Mute" { channel="lgwebos:WebOSTV:192_168_2_119:mute"}
|
||||
Dimmer LG_TV0_Volume "Volume [%S]" { channel="lgwebos:WebOSTV:192_168_2_119:volume" }
|
||||
Number LG_TV0_VolDummy "VolumeUpDown"
|
||||
Number LG_TV0_ChannelNo "Channel [%d]" { channel="lgwebos:WebOSTV:192_168_2_119:channel" }
|
||||
Number LG_TV0_ChannelDummy "ChannelUpDown"
|
||||
String LG_TV0_Channel "Channel [%S]" { channel="lgwebos:WebOSTV:192_168_2_119:channelName"}
|
||||
String LG_TV0_Toast { channel="lgwebos:WebOSTV:192_168_2_119:toast"}
|
||||
Switch LG_TV0_Stop "Stop" { autoupdate="false", channel="lgwebos:WebOSTV:192_168_2_119:mediaStop" }
|
||||
String LG_TV0_Application "Application [%s]" { channel="lgwebos:WebOSTV:192_168_2_119:appLauncher"}
|
||||
Player LG_TV0_Player { channel="lgwebos:WebOSTV:192_168_2_119:mediaPlayer"}
|
||||
|
||||
// this assumes you also have the wake on lan binding configured & You need to update your broadcast and mac address
|
||||
Switch LG_TV0_WOL { wol="192.168.2.255#3c:cd:93:c2:20:e0" }
|
||||
```
|
||||
|
||||
demo.sitemap:
|
||||
|
||||
```
|
||||
sitemap demo label="Main Menu"
|
||||
{
|
||||
Frame label="TV" {
|
||||
Switch item=LG_TV0_Power
|
||||
Switch item=LG_TV0_Mute
|
||||
Text item=LG_TV0_Volume
|
||||
Switch item=LG_TV0_VolDummy icon="soundvolume" label="Volume" mappings=[1="▲", 0="▼"]
|
||||
Text item=LG_TV0_ChannelNo
|
||||
Switch item=LG_TV0_ChannelDummy icon="television" label="Kanal" mappings=[1="▲", 0="▼"]
|
||||
Text item=LG_TV0_Channel
|
||||
Switch item=LG_TV0_ChannelDown
|
||||
Switch item=LG_TV0_ChannelUp
|
||||
Default item=LG_TV0_Player
|
||||
Text item=LG_TV0_Application
|
||||
Selection item=LG_TV0_Application mappings=[
|
||||
"com.webos.app.livetv"="TV",
|
||||
"com.webos.app.tvguide"="TV Guide",
|
||||
"netflix" = "Netflix",
|
||||
"youtube.leanback.v4" = "Youtube",
|
||||
"spotify-beehive" = "Spotify",
|
||||
"com.webos.app.hdmi1" = "HDMI 1",
|
||||
"com.webos.app.hdmi2" = "HDMI 2",
|
||||
"com.webos.app.hdmi3" = "HDMI 3",
|
||||
"com.webos.app.hdmi4" = "HDMI 4",
|
||||
"com.webos.app.externalinput.av1" = "AV1",
|
||||
"com.webos.app.externalinput.av2" = "AV2",
|
||||
"com.webos.app.externalinput.component" = "Component",
|
||||
"com.webos.app.externalinput.scart" = "Scart"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
demo.rules:
|
||||
|
||||
```
|
||||
// this assumes you also have the wake on lan binding configured.
|
||||
rule "Power on TV via Wake on LAN"
|
||||
when
|
||||
Item LG_TV0_Power received command ON
|
||||
then
|
||||
sendCommand( LG_TV0_WOL, ON)
|
||||
end
|
||||
|
||||
// for relative volume changes
|
||||
rule "VolumeUpDown"
|
||||
when Item LG_TV0_VolDummy received command
|
||||
then
|
||||
switch receivedCommand{
|
||||
case 0: LG_TV0_Volume.sendCommand(DECREASE)
|
||||
case 1: LG_TV0_Volume.sendCommand(INCREASE)
|
||||
}
|
||||
end
|
||||
|
||||
// for relative channel changes
|
||||
rule "ChannelUpDown"
|
||||
when Item LG_TV0_ChannelDummy received command
|
||||
then
|
||||
switch receivedCommand{
|
||||
case 0: LG_TV0_ChannelNo.sendCommand(DECREASE)
|
||||
case 1: LG_TV0_ChannelNo.sendCommand(INCREASE)
|
||||
}
|
||||
end
|
||||
```
|
||||
|
||||
|
||||
Example of a toast message.
|
||||
|
||||
```
|
||||
LG_TV0_Toast.sendCommand("Hello World")
|
||||
```
|
||||
|
|
@ -150,7 +150,6 @@ Timeout values control various parts of Websocket connection management. They ca
|
|||
## Limitations
|
||||
|
||||
* As there is no push button item type in openHAB, Loxone's push button is an openHAB's switch, which always generates a short pulse on changing its state to on. If you use simple UI mode and framework generates items for you, switches for push buttons will still be toggle switches. To change it to the push button style, you have to create item manually with `autoupdate=false` parameter. An example of such item definition is given in the _Items_ section above.
|
||||
* Lighting controllers and radio buttons do not have automatically populated scene and button selection labels to the channel options. If these names are important, user has to define them manually in the sitemap, as in the example provided at the end of this instruction.
|
||||
|
||||
## Automatic Configuration Example
|
||||
|
||||
|
|
|
@ -35,13 +35,13 @@ allowSystemPings=false
|
|||
## Supported Things
|
||||
|
||||
- **pingdevice:** Detects device presence by using icmp pings, arp pings and dhcp packet sniffing.
|
||||
- **servicedevice:** Detects device presence by scanning for a specific open tcp port.
|
||||
- **servicedevice:** Detects device presence by scanning for a specific open tcp port.
|
||||
|
||||
## Discovery
|
||||
|
||||
Auto discovery can be used to scan the local network for **pingdevice** things by sending a ping to every IP on the network. Some network tools will identify this as a network intruder alarm, therefore automatic background discovery is disabled and a manual scan needs to be issued.
|
||||
|
||||
Please note: things discovered by the network binding will be provided with a time to live (TTL) and will automatically disappear from the Inbox after 10 minutes.
|
||||
Please note: things discovered by the network binding will be provided with a time to live (TTL) and will automatically disappear from the Inbox after 10 minutes.
|
||||
|
||||
## Thing Configuration
|
||||
|
||||
|
@ -78,7 +78,7 @@ Because mobile devices put themselves in a deep sleep mode after some inactivity
|
|||
|
||||
### iPhones, iPads
|
||||
|
||||
Apple iOS devices are usually in a deep sleep mode and do not respond to ARP pings under all conditions, but to Bonjour service discovery messages (UDP port 5353). Therefore first a Bonjour message is send, before the ARP presence detection is performed. The binding automatically figures out if the target device is an iOS device. You can check if the binding has correctly recognised your device by having a look at the *uses_ios_wakeup* property of your thing. An almost immediate presence detection for phones and tables, if they (re)join the home Wifi network, is to use DHCP listen.
|
||||
Apple iOS devices are usually in a deep sleep mode and do not respond to ARP pings under all conditions, but to Bonjour service discovery messages (UDP port 5353). Therefore first a Bonjour message is send, before the ARP presence detection is performed. The binding automatically figures out if the target device is an iOS device. You can check if the binding has correctly recognised your device by having a look at the *uses_ios_wakeup* property of your thing. An almost immediate presence detection for phones and tables, if they (re)join the home Wifi network, is to use DHCP listen.
|
||||
|
||||
### Use open TCP ports
|
||||
|
||||
|
@ -103,7 +103,7 @@ Nmap done: 1 IP address (1 host up) scanned in 106.17 seconds
|
|||
|
||||
In this example, there are four suitable ports to use.
|
||||
The port 554 (Windows network file sharing service) is open on most Windows PCs and Windows compatible Linux systems.
|
||||
Port 1025 (MS RPC) is open on XBox systems. Port 548 (Apple Filing Protocol (AFP)) is open on Mac OS X systems.
|
||||
Port 1025 (MS RPC) is open on XBox systems. Port 548 (Apple Filing Protocol (AFP)) is open on Mac OS X systems.
|
||||
|
||||
Please don't forget to open the required ports in your firewall setup.
|
||||
|
||||
|
@ -112,7 +112,7 @@ Please don't forget to open the required ports in your firewall setup.
|
|||
|
||||
Because we use external tools for some of the presence detection mechanism or need elevated permissions for others, your OpenHAB installation needs to be altered.
|
||||
|
||||
### Arping
|
||||
### Arping
|
||||
|
||||
For arp pings to work, you need a separate tool, called "arping".
|
||||
On Linux there exists three different tools:
|
||||
|
@ -161,10 +161,10 @@ Things support the following channels:
|
|||
|
||||
## Full Example
|
||||
|
||||
demo.Things:
|
||||
demo.things:
|
||||
|
||||
```xtend
|
||||
network:pingdevice:devicename [ hostname="192.168.0.42" ]
|
||||
Thing network:pingdevice:devicename [ hostname="192.168.0.42" ]
|
||||
```
|
||||
|
||||
demo.items:
|
||||
|
|
|
@ -116,7 +116,7 @@ In order to configure items in openHAB, you will first need to know the module a
|
|||
This binding's root logger is `org.openhab.binding.nikobus`. Enable `DEBUG` logging to discover module addresses and channels that will be logged. In openHAB 2, this can be performed from the console at the `openhab>` prompt:
|
||||
|
||||
```
|
||||
log:set DEBUG otg.openhab.binding.nikobus
|
||||
log:set DEBUG org.openhab.binding.nikobus
|
||||
log:tail
|
||||
```
|
||||
|
||||
|
|
|
@ -91,3 +91,31 @@ Number oceanicConsComplete "volume all time is [%d]"(oceanic) {channel="oceanic:
|
|||
Number oceanicConsUntreated "volume untreated is [%d]"(oceanic) {channel="oceanic:softener:s1:consumptionuntreated"}
|
||||
Number oceanicConsLastWk "volume last week is [%d]"(oceanic) {channel="oceanic:softener:s1:consumptionlastweek"}
|
||||
```
|
||||
|
||||
## Known issues
|
||||
|
||||
The Oceanic binding makes use of the nrjavaserial library. There is a known issue (https://github.com/NeuronRobotics/nrjavaserial/issues/96) that requires a workaround on some types of systems
|
||||
|
||||
On Ubuntu 17.10 nrjavaserial seems to return only HEX 00 characters through the InputStream of the SerialPort. The solution is to implement a workaround with socat and pipe the data from the Serial Port to a pseudo tty, which has to be manipulated in a CommPortIdentifier.PORT_RAW manner.
|
||||
|
||||
/usr/bin/socat -v /dev/ttyUSB0,raw,echo=0 pty,link=/dev/ttyS1,raw,echo=0
|
||||
The workaround can be implemented using a systemd system manager script, for example:
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
[Service]
|
||||
#Type=forking
|
||||
ExecStart=/usr/bin/socat -v /dev/ttyUSB0,raw,echo=0 pty,link=/dev/ttyS1,raw,echo=0
|
||||
#PIDFile=/var/run/socat.pid
|
||||
User=root
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
However, in order to fix permissions at the OS level, one has to issue following commands
|
||||
|
||||
sudo useradd -G dialout openhab
|
||||
sudo chgrp dialout /dev/ttyS1
|
||||
sudo chmod 777 /dev/ttyS1
|
||||
|
||||
in order to make /dev/ttyS1 accessible by the 'openhab' system user (that is used to start up the openHAB runtime), and to make the tty both readable and writable. Alternatively, these commands can be executed through a script that is attached to the systemd system manager script
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
---
|
||||
id: rotelra1x
|
||||
label: Rotel Amplifier
|
||||
title: Rotel Amplifier - Bindings
|
||||
type: binding
|
||||
description: "Connects to a Rotel RA11 or RA12 integrated amplifier via a serial (RS232) interface. The Rotel amplifiers supported by this binding also include an integrated DAC unit. To use the binding, connect a serial cable between the amplifier and the computer running openHAB."
|
||||
since: 2x
|
||||
install: auto
|
||||
---
|
||||
|
||||
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||
|
||||
{% include base.html %}
|
||||
|
||||
# Rotel Amplifier Binding
|
||||
|
||||
Connects to a Rotel RA11 or RA12 integrated amplifier via a serial (RS232) interface. The Rotel amplifiers supported by this binding also include an integrated DAC unit. To use the binding, connect a serial cable between the amplifier and the computer running openHAB.
|
||||
|
||||
## Overview
|
||||
|
||||
This binding implements the serial protocol specified by Rotel in their documentation. The protocol allows one to control the amplifier, to query its state, and to receive live updates of changed values. For example, when turning the volume knob, the unit sends updates as different volumes are set.
|
||||
|
||||
|
||||
## Supported things
|
||||
|
||||
* Rotel Amplifier. Each thing represent an amplifier unit, connected
|
||||
over a RS232 connection.
|
||||
|
||||
## Discovery
|
||||
|
||||
Auto-discovery is not supported -- things can be added manually.
|
||||
|
||||
## Thing configuration
|
||||
|
||||
The thing has the following configuration parameter:
|
||||
|
||||
| Parameter | Parameter name | Description |
|
||||
|----------------|-------------------------------------------------------------------------------------------------------------------|
|
||||
| Serial port | port | Specifies the name of the serial port used to communicate with the device. (String) |
|
||||
| Maximum volume | maximum-volume | This is the value to send to the amplifier when the volume channel is set to 100 % (1). (Integer)|
|
||||
|
||||
(1) The RA11's max. volume is 96, but it is still supported to use 100 as the maximum volume, only the volume will not increase when going beyond 96 %.
|
||||
|
||||
|
||||
## Channel summary
|
||||
|
||||
| Channel ID | Item Type | Description |
|
||||
|------------|-----------|--------------------------------------------------------------------------------------------------|
|
||||
| power | Switch | Controls and reports the power state (soft on/off) |
|
||||
| volume | Dimmer | Volume control. |
|
||||
| mute | Switch | Enable / disable mute. |
|
||||
| source | String | Selects from a list of input sources (see options). |
|
||||
| frequency | Number | Reports the current sampling frequency if playing from a digital input. |
|
||||
| brightness | Dimmer | Sets the backlight level of the display. Maps from percentage to 6 levels (can't be turned off). |
|
||||
|
||||
All channels are updated in real time if modified by other means, e.g. by the remote control.
|
||||
|
||||
|
||||
## Configuration example
|
||||
|
||||
The following lines
|
||||
can be added to the configuration files in order to set up an amplifier at serial port `/dev/ttyS0`.
|
||||
|
||||
*demo.things
|
||||
|
||||
```
|
||||
Thing rotelra1x:amp:living_room_amp [ port="/dev/ttyS0" ]
|
||||
```
|
||||
|
||||
*demo.items
|
||||
|
||||
```
|
||||
Switch Amp_Power "On/off" { channel="rotelra1x:amp:living_room_amp:power" }
|
||||
Dimmer Amp_Volume "Volume" <sound> { channel="rotelra1x:amp:living_room_amp:volume" }
|
||||
Switch Amp_Mute "Mute" <mute> { channel="rotelra1x:amp:living_room_amp:mute" }
|
||||
String Amp_Source "Input" { channel="rotelra1x:amp:living_room_amp:source" }
|
||||
Number Amp_Frequency "Frequency" { channel="rotelra1x:amp:living_room_amp:frequency"}
|
||||
Dimmer Amp_Brightness "Display brightness" <light> { channel="rotelra1x:amp:living_room_amp:brightness" }
|
||||
```
|
||||
|
||||
|
||||
*demo.sitemap:
|
||||
|
||||
```
|
||||
sitemap demo label="Main Menu"
|
||||
{
|
||||
Frame label="LG TV" {
|
||||
Switch item=Amp_Power
|
||||
Switch item=Amp_Mute
|
||||
Slider item=Amp_Volume
|
||||
Switch item=Amp_Source mappings=["cd"="CD", "coax1"="Coax 1", "coax2"="Coax 2", "opt1"="Opt 1", "opt2"="Opt 2", "tuner"="Tuner", "phono"="Phono", "usb"="USB", "aux1"="Aux 1", "aux2"="Aux 2"]
|
||||
Text item=Amp_Frequency
|
||||
Slider item=Amp_Brightness
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## References
|
||||
|
||||
Rotel serial protocol is available here: http://www.rotel.com/sites/default/files/product/rs232/RA12%20Protocol.pdf .
|
||||
|
||||
|
|
@ -23,10 +23,11 @@ Samsung TV C (2010), D (2011), E (2012) and F (2013) models should be supported.
|
|||
|
||||
Tested TV models:
|
||||
|
||||
| Model | State | Notes |
|
||||
|-----------|-------|--------------------------------------------------------------------|
|
||||
| UE46E5505 | OK | Initial contribution is done by this model |
|
||||
| UE40F6500 | OK | All channels except `colorTemperature`, `programTitle` and `channelName` are working |
|
||||
| Model | State | Notes |
|
||||
|-----------|---------|--------------------------------------------------------------------------------------|
|
||||
| UE46E5505 | OK | Initial contribution is done by this model |
|
||||
| UE46D5700 | PARTIAL | Supports at my home only commands via the fake remote, no discovery |
|
||||
| UE40F6500 | OK | All channels except `colorTemperature`, `programTitle` and `channelName` are working |
|
||||
|
||||
|
||||
## Discovery
|
||||
|
@ -51,24 +52,23 @@ Thing samsungtv:tv:livingroom [ hostName="192.168.1.10", port=55000, refreshInte
|
|||
|
||||
TV's support the following channels:
|
||||
|
||||
| Channel Type ID | Item Type | Description |
|
||||
|-----------------|------------------------|--------------|
|
||||
| volume | Dimmer | Volume level of the TV. |
|
||||
| mute | Switch | Mute state of the TV. |
|
||||
| brightness | Dimmer | Brightness of the TV picture. |
|
||||
| contrast | Dimmer | Contrast of the TV picture. |
|
||||
| sharpness | Dimmer | Sharpness of the TV picture. |
|
||||
| colorTemperature | Number | Color temperature of the TV picture. Minimum value is 0 and maximum 4. |
|
||||
| sourceName | String | Name of the current source. |
|
||||
| sourceId | Number | Id of the current source. |
|
||||
| channel | Number | Selected TV channel number. |
|
||||
| programTitle | String | Program title of the current channel. |
|
||||
| channelName | String | Name of the current TV channel. |
|
||||
| url | String | Start TV web browser and go the given web page. |
|
||||
| stopBrowser | Switch | Stop TV's web browser and go back to TV mode. |
|
||||
| power | Switch | TV power. Some of the Samsung TV models doesn't allow to set Power ON remotely. |
|
||||
| keyCode | String | The key code channel emulates the infrared remote controller and allows to send virtual button presses. |
|
||||
|
||||
| Channel Type ID | Item Type | Description |
|
||||
|------------------|-----------|---------------------------------------------------------------------------------------------------------|
|
||||
| volume | Dimmer | Volume level of the TV. |
|
||||
| mute | Switch | Mute state of the TV. |
|
||||
| brightness | Dimmer | Brightness of the TV picture. |
|
||||
| contrast | Dimmer | Contrast of the TV picture. |
|
||||
| sharpness | Dimmer | Sharpness of the TV picture. |
|
||||
| colorTemperature | Number | Color temperature of the TV picture. Minimum value is 0 and maximum 4. |
|
||||
| sourceName | String | Name of the current source. |
|
||||
| sourceId | Number | Id of the current source. |
|
||||
| channel | Number | Selected TV channel number. |
|
||||
| programTitle | String | Program title of the current channel. |
|
||||
| channelName | String | Name of the current TV channel. |
|
||||
| url | String | Start TV web browser and go the given web page. |
|
||||
| stopBrowser | Switch | Stop TV's web browser and go back to TV mode. |
|
||||
| power | Switch | TV power. Some of the Samsung TV models doesn't allow to set Power ON remotely. |
|
||||
| keyCode | String | The key code channel emulates the infrared remote controller and allows to send virtual button presses. |
|
||||
|
||||
E.g.
|
||||
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
---
|
||||
id: serialbutton
|
||||
label: Serial Button
|
||||
title: Serial Button - Bindings
|
||||
type: binding
|
||||
description: "This is a binding for probably one of the simplest devices possible: A simple push button which short-cuts two pins on a serial port."
|
||||
since: 2x
|
||||
install: auto
|
||||
---
|
||||
|
||||
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||
|
||||
{% include base.html %}
|
||||
|
||||
# Serial Button Binding
|
||||
|
||||
This is a binding for probably one of the simplest devices possible: A simple push button which short-cuts two pins on a serial port.
|
||||
|
||||
## Supported Things
|
||||
|
||||
The binding defines a single thing type called `button`.
|
||||
|
||||
A button requires the single configuration parameter `port`, which specifies the serial port that should be used.
|
||||
|
||||
The only available channel is a `SYSTEM_RAWBUTTON` channel called `button`, which emits `PRESSED` events (no `RELEASED` events though) whenever data is available on the serial port (which will be read and discarded).
|
||||
|
||||
The use case is simple: Connect any push button to pins 2 and 7 of an RS-232 interface as short-cutting those will signal that data is available.
|
||||
Using the default toggle profile, this means that you can use this channel to toggle any Switch item through the button.
|
||||
|
||||
## Full Example
|
||||
|
||||
demo.things:
|
||||
|
||||
```
|
||||
serialbutton:button:mybutton "My Button" [ port="/dev/ttyS0" ]
|
||||
```
|
||||
|
||||
demo.items:
|
||||
|
||||
```
|
||||
Switch MyLight { channel="serialbutton:button:mybutton:button" }
|
||||
```
|
||||
_Note:_ This is a trigger channel, so you will most likely bind a second (state) channel to your item, which will control your physical light, so you might end up with the following, if you want to use your button with a Hue bulb:
|
||||
|
||||
```
|
||||
Switch MyLight { channel="hue:0210:1:bulb1:color,serialbutton:button:mybutton:button" }
|
||||
```
|
||||
|
||||
demo.sitemap:
|
||||
|
||||
```
|
||||
sitemap demo label="Main Menu"
|
||||
{
|
||||
Frame {
|
||||
Switch item=MyLight label="My Light"
|
||||
}
|
||||
}
|
||||
```
|
|
@ -96,7 +96,6 @@ The devices support the following channels:
|
|||
| stop | Switch | W | Stop the Zone Player | all |
|
||||
| tuneinstationid | String | RW | Provide the current TuneIn station id or play the TuneIn radio given by its station id | all |
|
||||
| volume | Dimmer | RW | Set or get the master volume of the Zone Player | all |
|
||||
| zonegroup | String | R | XML formatted string with the current zonegroup configuration | all |
|
||||
| zonegroupid | String | R | Id of the Zone Group the Zone Player belongs to | all |
|
||||
| zonename | String | R | Name of the Zone associated to the Zone Player | all |
|
||||
|
||||
|
|
|
@ -44,8 +44,10 @@ The weather information that is retrieved is available as these channels:
|
|||
| wind-speed-beaufort | Number | Wind speed according to Beaufort scale |
|
||||
| overcast | String | Appreciation of the cloud cover |
|
||||
| octa | Number | Part of the sky covered by clouds (in 8th) |
|
||||
| attenuation-factor* | Number | Cloud layer attenuation factor |
|
||||
| time-utc | DateTime | Observation time of the Synop message |
|
||||
|
||||
* ”cloud attenuation factor” (Kc) as defined by Kasten and Czeplak (1980)
|
||||
|
||||
## Example
|
||||
|
||||
|
|
|
@ -19,27 +19,43 @@ This binding integrates the IKEA TRÅDFRI gateway and devices connected to it (s
|
|||
|
||||
## Supported Things
|
||||
|
||||
Besides the gateway (thing type "gateway"), the binding currently supports dimmable warm white bulbs as well as white spectrum bulbs.
|
||||
Beside the gateway (thing type "gateway"), the binding currently supports colored bulbs, dimmable warm white bulbs as well as white spectrum bulbs.
|
||||
The binding also supports read-only data from remote controls and motion sensors (e.g. the battery status).
|
||||
The TRÅDFRI controller and sensor devices currently cannot be observed right away.
|
||||
We assume that they are communicating directly with the bulbs or lamps without routing their commands through the gateway.
|
||||
This makes it nearly impossible to trigger events for pressed buttons.
|
||||
We only can access some static data like the present status or battery level.
|
||||
|
||||
The thing type ids are defined according to the lighting devices defined for ZigBee LightLink ([see page 24, table 2](https://www.nxp.com/documents/user_manual/JN-UG-3091.pdf). These are:
|
||||
The thing type ids are defined according to the lighting devices defined for ZigBee LightLink ([see page 24, table 2](https://www.nxp.com/documents/user_manual/JN-UG-3091.pdf).
|
||||
These are:
|
||||
|
||||
| Device type | ZigBee Device ID | Thing type |
|
||||
|--------------------------|------------------|------------|
|
||||
| Dimmable Light | 0x0100 | 0100 |
|
||||
| Colour Temperature Light | 0x0220 | 0220 |
|
||||
| Extended Colour Light | 0x0210 | 0210 |
|
||||
| Device type | ZigBee Device ID | Thing type |
|
||||
|---------------------------------|------------------|------------|
|
||||
| Dimmable Light | 0x0100 | 0100 |
|
||||
| Colour Temperature Light | 0x0220 | 0220 |
|
||||
| Extended Colour Light | 0x0210 | 0210 |
|
||||
| Occupancy Sensor | 0x0107 | 0107 |
|
||||
| Non-Colour Controller | 0x0820 | 0820 |
|
||||
| Non-Colour Scene Controller | 0x0830 | 0830 |
|
||||
|
||||
The following matrix lists the capabilities (channels) for each of the supported lighting device types:
|
||||
|
||||
| Thing type | Brightness | Color | Color Temperature |
|
||||
|-------------|:----------:|:-----:|:-----------------:|
|
||||
| 0100 | X | | |
|
||||
| 0220 | X | | X |
|
||||
| 0210 | | X | X |
|
||||
| Thing type | Brightness | Color | Color Temperature | Battery Level | Battery Low |
|
||||
|-------------|:----------:|:-----:|:-----------------:|:-------------:|:-----------:|
|
||||
| 0100 | X | | | | |
|
||||
| 0220 | X | | X | | |
|
||||
| 0210 | | X | X | | |
|
||||
| 0107 | | | | X | X |
|
||||
| 0820 | | | | X | X |
|
||||
| 0830 | | | | X | X |
|
||||
|
||||
## Thing Configuration
|
||||
|
||||
The gateway requires a `host` parameter for the hostname or IP address and a `code`, which is the security code that is printed on the bottom of the gateway. Optionally, a `port` can be configured, but any standard gateway uses the default port 5684.
|
||||
For first pairing - the gateway requires a `host` parameter for the hostname or IP address and a `code`, which is the security code that is printed on the bottom of the gateway.
|
||||
Optionally, a `port` can be configured, but any standard gateway uses the default port 5684.
|
||||
|
||||
The `code` is used during the initialization for retrieving unique identity and pre-shared key from the gateway (fw version 1.2.0042 onwards) and then it's discarded from the configuration. The newly created authentication data is stored in advanced parameters `identity` and `preSharedKey`.
|
||||
On each initialization if the code is present in the thing configuration - the `identity` and `preSharedKey` are recreated and the `code` is again discarded.
|
||||
|
||||
The devices require only a single (integer) parameter, which is their instance id. Unfortunately, this is not displayed anywhere in the IKEA app, but it seems that they are sequentially numbered starting with 65537 for the first device. If in doubt, use the auto-discovered things to find out the correct instance ids.
|
||||
|
||||
|
@ -51,13 +67,17 @@ The white spectrum bulbs additionally also support the `color_temperature` chann
|
|||
Full color bulbs support the `color_temperature` and `color` channels.
|
||||
Brightness can be changed with the `color` channel.
|
||||
|
||||
The remote control and the motion sensor supports the `battery_level` and `battery_low` channels for reading the battery status.
|
||||
|
||||
Refer to the matrix above.
|
||||
|
||||
| Channel Type ID | Item Type | Description |
|
||||
|-------------------|-----------|---------------------------------------------|
|
||||
| brightness | Dimmer | The brightness of the bulb in percent |
|
||||
| color_temperature | Dimmer | color temperature from 0%=cold to 100%=warm |
|
||||
| color | Color | full color |
|
||||
| Channel Type ID | Item Type | Description |
|
||||
|-------------------|-----------|--------------------------------------------------|
|
||||
| brightness | Dimmer | The brightness of the bulb in percent |
|
||||
| color_temperature | Dimmer | color temperature from 0% = cold to 100% = warm |
|
||||
| color | Color | full color |
|
||||
| battery_level | Number | battery level (in %) |
|
||||
| battery_low | Switch | battery low warning (<=10% = ON, >10% = OFF) |
|
||||
|
||||
## Full Example
|
||||
|
||||
|
@ -68,6 +88,7 @@ Bridge tradfri:gateway:mygateway [ host="192.168.0.177", code="EHPW5rIJKyXFgjH3"
|
|||
0100 myDimmableBulb [ id=65537 ]
|
||||
0220 myColorTempBulb [ id=65538 ]
|
||||
0210 myColorBulb [ id=65539 ]
|
||||
0830 myRemoteControl [ id=65545 ]
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -77,7 +98,9 @@ demo.items:
|
|||
Dimmer Light1 { channel="tradfri:0100:mygateway:myDimmableBulb:brightness" }
|
||||
Dimmer Light2_Brightness { channel="tradfri:0220:mygateway:myColorTempBulb:brightness" }
|
||||
Dimmer Light2_ColorTemperature { channel="tradfri:0220:mygateway:myColorTempBulb:color_temperature" }
|
||||
Color ColorLight { channel="tradfri:0210:mygateway:myColorBulb:color" }
|
||||
Color ColorLight { channel="tradfri:0210:mygateway:myColorBulb:color" }
|
||||
Number RemoteControlBatteryLevel { channel="tradfri:0830:mygateway:myRemoteControl:battery_level" }
|
||||
Switch RemoteControlBatteryLow { channel="tradfri:0830:mygateway:myRemoteControl:battery_low" }
|
||||
```
|
||||
|
||||
demo.sitemap:
|
||||
|
@ -90,6 +113,8 @@ sitemap demo label="Main Menu"
|
|||
Slider item=Light2_Brightness label="Light2 Brightness [%.1f %%]"
|
||||
Slider item=Light2_ColorTemperature label="Light2 Color Temperature [%.1f %%]"
|
||||
Colorpicker item=ColorLight label="Color"
|
||||
Number item=RemoteControlBatteryLevel label="Battery level [%d %%]"
|
||||
Switch item=RemoteControlBatteryLow label="Battery low warning"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
|
@ -61,5 +61,4 @@ Number ReigerKwh "kwh [%1.0f]" <wind> (gRe
|
|||
Number ReigerKwhForecast "Productie forecast [%1.0f]" <wind> (gReiger) {channel="windcentrale:mill:reiger:kwhForecast")
|
||||
Number ReigerRunPercentage "Run percentage [%1.0f %%]" <wind> (gReiger) {channel="windcentrale:mill:reiger:runPercentage")
|
||||
Number ReigerTimestamp "Update timestamp [%1$ta %1$tR]" <wind> (gReiger) {channel="windcentrale:mill:reiger:timestamp")
|
||||
|
||||
```
|
||||
|
|
|
@ -21,9 +21,11 @@ The ZigBee binding supports an interface to a wireless ZigBee home automation ne
|
|||
|
||||
### Coordinators
|
||||
|
||||
Coordinators need to be installed manually and the serial port must be set.
|
||||
|
||||
#### TI2531 Coordinator
|
||||
|
||||
This needs to be done manually and the serial port must be set.
|
||||
This is the Texas Instruments ZNP stack. The thing type is ```coordinator_ti2351```.
|
||||
|
||||
##### TI2531 - Firmware
|
||||
|
||||
|
@ -43,7 +45,11 @@ The firmware can be flashed with `./cc-tool -e -w CC2531ZNP-Pro-Secure_Standard.
|
|||
|
||||
#### Ember EZSP NCP Coordinator
|
||||
|
||||
The Ember EZSP NCP (Network Co-Processor) supports the Silabs EM358 or MightyGecko dongles with the standard NCP firmware.
|
||||
The Ember EZSP NCP (Network Co-Processor) supports the Silabs EM358 or MightyGecko dongles with the standard NCP firmware. The thing type is ```coordinator_ember```.
|
||||
|
||||
#### Telegesis ETRX3
|
||||
|
||||
The thing type is ```coordinator_telegesis```.
|
||||
|
||||
### Devices
|
||||
|
||||
|
@ -53,16 +59,39 @@ The following devices have been tested with the binding
|
|||
|------------------|----------------|
|
||||
| Hue Bulbs | Color LED Bulb |
|
||||
| SmartThings Plug | Metered Plug |
|
||||
| Tradfri Bulbs | |
|
||||
| Osram Bulbs | |
|
||||
|
||||
|
||||
## Discovery
|
||||
|
||||
Once the binding is authorized, and an adapter is added, it automatically reads all devices that are set up on the ZigBee controller and puts them in the Inbox.
|
||||
Once the binding is authorized, and an adapter is added, it automatically reads all devices that are set up on the ZigBee controller and puts them in the Inbox. When the binding is put into discovery mode, the network will have join enabled for 60 seconds.
|
||||
|
||||
|
||||
## Thing Configuration
|
||||
|
||||
The binding will attempt to automatically detect new devices, and will read their supported clusters upon startup. A set of channels will then be created depending on what clusters and endpoints a device supports.
|
||||
The binding will attempt to automatically detect new devices, giving them a type based on their information they report, and will read their supported clusters to define the supported channels.
|
||||
|
||||
### Thing Types
|
||||
|
||||
Currently all ZigBee things have the same thing type of ```zigbee_device```.
|
||||
|
||||
### Channel Types
|
||||
|
||||
A set of channels will be created depending on what clusters and endpoints a device supports. Channels are loosely linked to clusters in that for the majority of channels, a single cluster is used. However, some channels may utilise more than one cluster to provide the required functionality.
|
||||
|
||||
The following channels are supported -:
|
||||
|
||||
| Channel UID | ZigBee Cluster | Type |Description |
|
||||
|-------------|----------------|----------|-----------------------------|
|
||||
| switch_dimmer | ```LEVEL_CONTROL``` (0x0008) | Dimmer | |
|
||||
| switch_onoff | ```ON_OFF``` (0x0006) | Switch |
|
||||
| color_color | ```COLOR_CONTROL``` (0x0300) | Color | |
|
||||
| color_temperature | ```COLOR_CONTROL``` (0x0300) | Dimmer | |
|
||||
| sensor_occupancy | ```OCCUPANCY_SENSING``` (0x0406) | Switch |
|
||||
| sensor_temperature | ```TEMPERATURE_MEASUREMENT``` (0x0402) | Number | |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -28,14 +28,14 @@ Currently supported are the English (U.S.), English (U.K.), and German language.
|
|||
|
||||
### Requirements
|
||||
|
||||
* [openHAB Cloud Connector](http://docs.openhab.org/addons/io/openhabcloud/readme.html) configured using myopenHAB.org
|
||||
* [openHAB Cloud Connector](http://docs.openhab.org/addons/ios/openhabcloud/readme.html) configured using myopenHAB.org
|
||||
* Amazon account
|
||||
* Amazon Echo, Amazon Echo Dot or compatible Alexa speaker or solution (e.g. [Reverb](https://reverb.ai/))
|
||||
|
||||
### 1. Item Configuration
|
||||
|
||||
Items are exposed to Alexa through the use of tags which follow the [HomeKit](http://docs.openhab.org/addons/io/homekit/readme.html) binding tagging syntax.
|
||||
See the [Hue Emulation](http://docs.openhab.org/addons/io/hueemulation/readme.html) and [HomeKit Add-on](http://docs.openhab.org/addons/io/homekit/readme.html) documentation for details about tagging and available tags.
|
||||
Items are exposed to Alexa through the use of tags which follow the [HomeKit](http://docs.openhab.org/addons/ios/homekit/readme.html) binding tagging syntax.
|
||||
See the [Hue Emulation](http://docs.openhab.org/addons/ios/hueemulation/readme.html) and [HomeKit Add-on](http://docs.openhab.org/addons/ios/homekit/readme.html) documentation for details about tagging and available tags.
|
||||
|
||||
* **Items via .items - File**
|
||||
|
||||
|
@ -103,7 +103,7 @@ Here are some example voice commands:
|
|||
### Additional Comments
|
||||
|
||||
* Thermostats are created by adding the items of a thermostat to a group which has the tag "Thermostat" which follows the HomeKit binding configuration.
|
||||
See [HomeKit Add-on](http://docs.openhab.org/addons/io/homekit/readme.html) for more information on how to configure thermostats.
|
||||
See [HomeKit Add-on](http://docs.openhab.org/addons/ios/homekit/readme.html) for more information on how to configure thermostats.
|
||||
* Channels which are tagged "CurrentTemperature" but NOT part of a thermostat group will be exposed as a Temperature item in Alexa and can be asked what their current value is ("Alex what is the upstairs temperature? ")
|
||||
* By default all temperatures are in Celsius, for Fahrenheit add the tag `Fahrenheit` to the thermostat group item (which should also be tagged with `Thermostat`).
|
||||
For standalone temperature channels, add it directly to the item.
|
||||
|
|
|
@ -468,13 +468,24 @@ Number WindDirection "Wind direction [%d deg]" ["iss:type:DevGenericSensor",
|
|||
|
||||
The _DevThermostat_ combines a setpoint, current temperature and mode in one ImperiHome device. To accomplish this using openHAB items, it uses a _curtemp_ and _curmode_ link and a few additional tags.
|
||||
|
||||
```
|
||||
Number Thermos_Setpoint "Thermostat" ["iss:room:Test", "iss:type:DevThermostat", "iss:step:0.5", "iss:minVal:15", "iss:maxVal:24", "iss:modes:Home,Away,Comfort,Sleeping", "iss:link:curmode:Thermos_Mode", "iss:link:curtemp:Thermos_Temp"] { channel="..." }
|
||||
Number Thermos_Temp "Thermos temp" ["iss:room:Test", "iss:type:DevTemperature", "iss:unit:K"] { channel="..." }
|
||||
String Thermos_Mode "Thermos mode" ["iss:room:Test", "iss:type:DevGenericSensor"] { channel="..." }
|
||||
```
|
||||
```
|
||||
Number Thermos_Setpoint "Thermostat" ["iss:room:Test", "iss:type:DevThermostat", "iss:step:0.5", "iss:minVal:15", "iss:maxVal:24", "iss:modes:Home,Away,Comfort,Sleeping", "iss:link:curmode:Thermos_Mode", "iss:link:curtemp:Thermos_Temp"] { channel="..." }
|
||||
Number Thermos_Temp "Thermos temp" ["iss:room:Test", "iss:type:DevTemperature", "iss:unit:K"] { channel="..." }
|
||||
String Thermos_Mode "Thermos mode" ["iss:room:Test", "iss:type:DevGenericSensor"] { channel="..." }
|
||||
```
|
||||
|
||||
The main _DevThermostat_ device must be the Item holding the setpoint. Using tags, this device specifies the minimum and maximum setpoint value, the setpoint step and the available modes. The two links specify what Items contain the current temperature and current mode. If you want to use a custom unit, set the _unit_ tag on the current temperature device.
|
||||
The main _DevThermostat_ device must be the Item holding the setpoint. Using tags, this device specifies the minimum and maximum setpoint value, the setpoint step and the available modes. The two links specify what Items contain the current temperature and current mode. If you want to use a custom unit, set the _unit_ tag on the current temperature device.
|
||||
|
||||
### Shutter stopper
|
||||
|
||||
The _DevShutter_ device of ImperiHome support a 'stop' action. To use this, link a Switch item to your shutter item, like so:
|
||||
|
||||
```
|
||||
Dimmer MyShutter "Shutter" ["iss:room:Test", "iss:type:DevShutter", "iss:link:stopper:MyShutterStop"] { channel="..." }
|
||||
Switch MyShutterStop "Stop shutter" ["iss:room:Test", "iss:type:DevSwitch"] { channel="..." }
|
||||
```
|
||||
|
||||
Implement a Rule listening for the ON command on the switch to handle the stop action yourself.
|
||||
|
||||
## Items example
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ then trigger installation of needed dependencies:
|
|||
|
||||
```shell
|
||||
cd ~/.mycroft/skills
|
||||
git clone https://github.com/mortommy/mycroft-skill-openhab skill-openhab
|
||||
git clone https://github.com/openhab/openhab-mycroft.git skill-openhab
|
||||
workon mycroft
|
||||
cd skill-openhab
|
||||
pip install -r requirements.txt
|
||||
|
|
|
@ -66,3 +66,4 @@ Alternatively, you can configure the settings in the file `conf/services/openhab
|
|||
#expose=
|
||||
```
|
||||
|
||||
Note: The exposed items will show up after they receive an update to their state.
|
||||
|
|
|
@ -3,7 +3,7 @@ id: scale
|
|||
label: Scale
|
||||
title: Scale - Transformation Services
|
||||
type: transform
|
||||
description: "Transform the input by matching it between limits of ranges in a scale file. The input string must be in numerical format."
|
||||
description: "The Scale Transformation Service is a an easy to handle tool that can help you with the discretization of number inputs."
|
||||
since: 2x
|
||||
install: auto
|
||||
---
|
||||
|
@ -12,19 +12,55 @@ install: auto
|
|||
|
||||
{% include base.html %}
|
||||
|
||||
# Scale Transformation Service
|
||||
|
||||
Transform the input by matching it between limits of ranges in a scale file. The input string must be in numerical format.
|
||||
|
||||
The file is expected to exist in the `transform` directory, and should follow the format given in the example below.
|
||||
|
||||
## Example
|
||||
|
||||
transform/temps.scale:
|
||||
|
||||
```properties
|
||||
[12..23]=Temp between 12 or higher and 23 or lower
|
||||
]12..23[=Temp over 12 and below 23
|
||||
..23]=Any temp up to and including 23
|
||||
]12..=Any temp above 12
|
||||
```
|
||||
# Scale Transformation Service
|
||||
|
||||
The Scale Transformation Service is a an easy to handle tool that can help you with the discretization of number inputs.
|
||||
It transforms a given input by matching it to specified ranges.
|
||||
The input string must be in numerical format.
|
||||
|
||||
The file is expected to exist in the `transform` configuration directory and its ending has to be `.scale`.
|
||||
It should follow the format given in the table below.
|
||||
|
||||
Range expressions always contain two parts.
|
||||
The range to scale on, which is located left from the equality sign and the corresponding output string on the right of it.
|
||||
A range consists of two bounds. Both are optional, the range is then open. Both bounds can be inclusive or exclusive.
|
||||
|
||||
| Scale Expression | Returns XYZ when the given value is |
|
||||
|------------------|------------------------------------------------------------|
|
||||
| `[12..23]=XYZ` | `between (or equal to) 12 and 23` |
|
||||
| `]12..23[=XYZ` | `between 12 and 23 (12 and 23 are excluded in this case.)` |
|
||||
| `[..23]=XYZ` | `lower than or equal to 23` |
|
||||
| `]12..]=XYZ` | `greater than 12` |
|
||||
|
||||
These expressions are evaluated from top to bottom.
|
||||
The first range that includes the value is selected.
|
||||
|
||||
## Example
|
||||
|
||||
The following example shows how to break down numeric UV values into fixed UV index categories.
|
||||
We have an example UV sensor that sends numeric values from `0` to `100`, which we then want to scale into the [UV Index](https://en.wikipedia.org/wiki/Ultraviolet_index) range.
|
||||
|
||||
Example item:
|
||||
|
||||
```java
|
||||
Number Uv_Sensor_Level "UV Level [SCALE(uvindex.scale):%s]"
|
||||
```
|
||||
|
||||
Referenced scale file `uvindex.scale` in the `transform` folder:
|
||||
|
||||
```python
|
||||
[..3]=1
|
||||
]3..6]=2
|
||||
]6..8]=3
|
||||
]8..10]=4
|
||||
[10..100]=5
|
||||
```
|
||||
|
||||
Each value the item receives, will be categorized to one of the five given ranges.
|
||||
Values **lower than or equal to 3** are matched with `[..3]=1`.
|
||||
Greater values are catched in ranges with 2 values as criteria.
|
||||
The only condition here is that the received value has to be lower or equal than `100` in our example, since we haven't defined other cases yet.
|
||||
If **none** of the configured conditions matches the given value, the response will be empty.
|
||||
|
||||
Please note that all ranges for values above **3** are opened with a `]`.
|
||||
So the border values (3, 6, 8 and 10) are always transformed to the lower range, since the `]` excludes the given critera.
|
|
@ -46,16 +46,16 @@ otherwise, the local browser's storage will be used only until you save a new pa
|
|||
|
||||
## Screenshots
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
|
|
@ -26,13 +26,22 @@ Note that this list also serves as a checklist for code reviews on pull requests
|
|||
1. Packages that contain classes that are not meant to be used by other bundles should have "internal" in their package name.
|
||||
1. We are using [null annotations](https://wiki.eclipse.org/JDT_Core/Null_Analysis) from the Eclipse JDT project. Therefore every bundle should have an **optional** `Import-Package` dependency to `org.eclipse.jdt.annotation`.
|
||||
Classes should be annotated by `@NonNullByDefault` and return types, parameter types, generic types etc. are annotated with `@Nullable` only.
|
||||
Fields that get a static and mandatory reference injected through OSGi Declarative Services can be annotated with
|
||||
|
||||
```java
|
||||
@NonNullByDefault({})
|
||||
private MyService injectedService;
|
||||
```
|
||||
|
||||
to skip the nullevaluation for these fields.
|
||||
Fields within `ThingHandler` classes that are initialized within the `initialize()` method may also be annotated like this, because the framework ensures that `initialize()` will be called before any other method. However please watch the scenario where the initialization of the handler fails, because then fields might not have been initialized and using them should be prepended by a `null` check.
|
||||
There is **no need** for a `@NonNull` annotation because it is set as default.
|
||||
The transition of existing classes could be a longer process but if you want to use nullness annotation in a class / interface you need to set the default for the whole class and annotate all types that differ from the default.
|
||||
Test classes do not have to be annotated.
|
||||
|
||||
## B. OSGi Bundles
|
||||
|
||||
7. Every bundle must contain a Maven pom.xml with a version and artifact name that is in sync with the manifest entry. The pom.xml must reference the correct parent pom (which is usually in the parent folder).
|
||||
1. Every bundle must contain a Maven pom.xml with a version and artifact name that is in sync with the manifest entry. The pom.xml must reference the correct parent pom (which is usually in the parent folder).
|
||||
1. Every bundle must contain an [about.html](https://eclipse.org/legal/epl/about.php) file, providing license information.
|
||||
1. Every bundle must contain a build.properties file, which lists all resources that should end up in the binary under ```bin.includes```.
|
||||
1. The manifest must not contain any "Require-Bundle" entries (except for test fragment bundles, see below). Instead, "Import-Package" must be used.
|
||||
|
|
|
@ -26,40 +26,43 @@ To that end, the project provides two things:
|
|||
|
||||
{::options toc_levels="2..3"/}
|
||||
|
||||
* TOC
|
||||
- TOC
|
||||
{:toc}
|
||||
|
||||
## Features
|
||||
|
||||
The following features are provided by the openHABian images out of the box:
|
||||
|
||||
* Hassle-free setup without a display or keyboard, connected via [Ethernet or Wi-Fi](#wifi-setup)
|
||||
* openHAB 2 in the latest recommended version (2.0.0 stable)
|
||||
* Zulu Embedded OpenJDK Java 8 ([*version 8.20.0.42* or newer](http://zulu.org/zulu-community/zulurelnotes))
|
||||
* [openHABian Configuration Tool](#first-steps) including updater functionality
|
||||
* openHAB Log Viewer (based on [frontail](https://github.com/mthenw/frontail))
|
||||
* Samba file sharing with [pre-configured to use shares](http://docs.openhab.org/installation/linux.html#mounting-locally)
|
||||
* Useful Linux packages pre-installed, including `vim, mc, screen, htop, ...`
|
||||
* Login information screen, powered by [FireMotD](https://github.com/willemdh/FireMotD)
|
||||
* Customized Bash shell experience
|
||||
* Customized vim settings, including [openHAB syntax highlighting](https://github.com/cyberkov/openhab-vim)
|
||||
* Customized nano settings, including [openHAB syntax highlighting](https://github.com/airix1/openhabnano)
|
||||
* Version control for `/etc` by the help of [etckeeper](http://etckeeper.branchable.com) (git)
|
||||
* [Raspberry Pi specific](rasppi.html): Extend to the whole SD card, 16MB GPU memory split
|
||||
- Hassle-free setup without a display or keyboard, connected via [Ethernet or Wi-Fi](#wifi-setup)
|
||||
- openHAB 2 in the latest stable version
|
||||
- Zulu Embedded OpenJDK Java 8 ([newest revision](http://zulu.org/zulu-community/zulurelnotes))
|
||||
- [openHABian Configuration Tool](#openhabian-config) including updater functionality
|
||||
- openHAB Log Viewer (based on [frontail](https://github.com/mthenw/frontail))
|
||||
- Samba file sharing with [pre-configured to use shares](http://docs.openhab.org/installation/linux.html#mounting-locally)
|
||||
- Useful Linux packages pre-installed, including `vim, mc, screen, htop, ...`
|
||||
- Login information screen, powered by [FireMotD](https://github.com/willemdh/FireMotD)
|
||||
- Customized Bash shell experience
|
||||
- Customized vim settings, including [openHAB syntax highlighting](https://github.com/cyberkov/openhab-vim)
|
||||
- Customized nano settings, including [openHAB syntax highlighting](https://github.com/airix1/openhabnano)
|
||||
- Version control for `/etc` by the help of [etckeeper](http://etckeeper.branchable.com) (git)
|
||||
- [Raspberry Pi specific](rasppi.html): Extend to the whole SD card, 16MB GPU memory split
|
||||
|
||||
Additionally the **openHABian Configuration Tool** [`openhabian-config`](#first-steps) is included and provides the following optional settings and components:
|
||||
Additionally the **openHABian Configuration Tool** [`openhabian-config`](#openhabian-config) is included and provides the following optional settings and components:
|
||||
|
||||

|
||||
|
||||
* Switch over to the *unstable* openHAB 2.1 [build branch](http://docs.openhab.org/installation/linux.html#changing-versions)
|
||||
* Install and Setup a [reverse proxy](security.html#nginx-reverse-proxy) with password authentication and/or HTTPS access (incl. [Let's Encrypt](https://letsencrypt.org) certificate) for self-controlled remote access
|
||||
* Set up a Wi-Fi connection
|
||||
* Bind the [Karaf remote console]({{base}}/administration/console.html) to all interfaces
|
||||
* Easily install and preconfigure [Optional components](#optional-components) of your choice
|
||||
* ... and many more
|
||||
* Raspberry Pi specific:
|
||||
* Prepare the serial port for the use with extension boards like Razberry, SCC, Enocean Pi, ...
|
||||
* Move the system partition to an external USB stick or drive
|
||||
- Switch over to the latest openHAB 2 [*unstable/SNAPSHOT* build](http://docs.openhab.org/installation/linux.html#changing-versions)
|
||||
- Install and Setup a [reverse proxy](security.html#nginx-reverse-proxy) with password authentication and/or HTTPS access (incl. [Let's Encrypt](https://letsencrypt.org) certificate) for self-controlled remote access
|
||||
- Set up a Wi-Fi connection
|
||||
- Bind the [openHAB remote console]({{base}}/administration/console.html) to all interfaces
|
||||
- Easily install and preconfigure [Optional Components](#optional-components) of your choice
|
||||
- ... and many more
|
||||
- Raspberry Pi specific:
|
||||
- Prepare the serial port for the use with extension boards like Razberry, SCC, Enocean Pi, ...
|
||||
- Move the system partition to an external USB stick or drive
|
||||
- Pine A64 specific:
|
||||
- Longsleep's [platform scripts](https://github.com/longsleep/build-pine64-image/tree/master/simpleimage/platform-scripts)
|
||||
- Assign [fixed MAC address to eth0](https://github.com/openhab/openhabian/issues/158#issuecomment-309067739)
|
||||
|
||||
## Quick Start
|
||||
|
||||
|
@ -78,18 +81,18 @@ Learn more about the Raspberry Pi as your platform for openHAB and about the req
|
|||
|
||||
**Setup:**
|
||||
|
||||
* [Download the latest "openHABianPi" SD card image file](https://github.com/openhab/openhabian/releases) (Note: the file is *xz* compressed)
|
||||
* Write the image to your SD card (e.g. with [Etcher](https://etcher.io), able to directly work with *xz* files)
|
||||
* Insert the SD card into the Raspberry Pi, connect Ethernet ([Wi-Fi supported](#wifi-setup)) and power
|
||||
* Wait approximately **15-45 minutes** for openHABian to do its magic
|
||||
* Enjoy! 🎉
|
||||
- [Download the latest "openHABianPi" SD card image file](https://github.com/openhab/openhabian/releases) (Note: the file is *xz* compressed)
|
||||
- Write the image to your SD card (e.g. with [Etcher](https://etcher.io), able to directly work with *xz* files)
|
||||
- Insert the SD card into the Raspberry Pi, connect Ethernet ([Wi-Fi supported](#wifi-setup)) and power
|
||||
- Wait approximately **15-45 minutes** for openHABian to do its magic
|
||||
- Enjoy! 🎉
|
||||
|
||||
|
||||
* The device will be available under its IP or via the local DNS name `openhabianpi`
|
||||
* [Connect to the openHAB 2 dashboard](http://docs.openhab.org/configuration/packages.html): [http://openhabianpi:8080](http://openhabianpi:8080)
|
||||
* [Connect to the Samba network shares](http://docs.openhab.org/installation/linux.html#mounting-locally) with username `openhabian` and password `openhabian`
|
||||
* Connect to the openHAB Log Viewer (frontail): [http://openhabianpi:9001](http://openhabianpi:9001)
|
||||
* If you encounter any setup problem, [please continue here](#successful)
|
||||
- The device will be available under its IP or via the local DNS name `openhabianpi`
|
||||
- [Connect to the openHAB 2 dashboard](http://docs.openhab.org/configuration/packages.html): [http://openhabianpi:8080](http://openhabianpi:8080)
|
||||
- [Connect to the Samba network shares](http://docs.openhab.org/installation/linux.html#mounting-locally) with username `openhabian` and password `openhabian`
|
||||
- Connect to the openHAB Log Viewer (frontail): [http://openhabianpi:9001](http://openhabianpi:9001)
|
||||
- If you encounter any setup problem, [please continue here](#successful)
|
||||
|
||||
You can stop reading now.
|
||||
openHABian has installed and configured your openHAB system and you can start to use it right away.
|
||||
|
@ -101,7 +104,7 @@ You will see the following welcome screen:
|
|||
|
||||

|
||||
|
||||
➜ Continue at the ["First Steps"](#first-steps) chapter below!
|
||||
➜ Continue at the ["openHABian Configuration Tool"](#openhabian-config) chapter below!
|
||||
|
||||
### Pine A64
|
||||
|
||||
|
@ -120,18 +123,18 @@ As a workaround, please be sure to not have am HDMI display connected during the
|
|||
|
||||
**Setup:**
|
||||
|
||||
* [Download the latest "openHABianPine64" SD card image file](https://github.com/openhab/openhabian/releases) (Note: the file is *xz* compressed)
|
||||
* Write the image file to your SD card (e.g. with [Etcher](https://etcher.io), able to directly work with *xz* files)
|
||||
* Insert the SD card into the Pine A64, connect Ethernet ([Wi-Fi supported](#wifi-setup)) and power ([See here for more details](http://wiki.pine64.org/index.php/Main_Page#Step_by_Step_Instructions))
|
||||
* Wait approximately **15-45 minutes** for openHABian to do its magic
|
||||
* Enjoy! 🎉
|
||||
- [Download the latest "openHABianPine64" SD card image file](https://github.com/openhab/openhabian/releases) (Note: the file is *xz* compressed)
|
||||
- Write the image file to your SD card (e.g. with [Etcher](https://etcher.io), able to directly work with *xz* files)
|
||||
- Insert the SD card into the Pine A64, connect Ethernet ([Wi-Fi supported](#wifi-setup)) and power ([See here for more details](http://wiki.pine64.org/index.php/Main_Page#Step_by_Step_Instructions))
|
||||
- Wait approximately **15-45 minutes** for openHABian to do its magic
|
||||
- Enjoy! 🎉
|
||||
|
||||
|
||||
* The device will be available under its IP or via the local DNS name `openhabianpine64`
|
||||
* [Connect to the openHAB 2 dashboard](http://docs.openhab.org/configuration/packages.html): [http://openhabianpine64:8080](http://openhabianpine64:8080)
|
||||
* [Connect to the Samba network shares](http://docs.openhab.org/installation/linux.html#mounting-locally) with username `openhabian` and password `openhabian`
|
||||
* Connect to the openHAB Log Viewer (frontail): [http://openhabianpine64:9001](http://openhabianpine64:9001)
|
||||
* If you encounter any setup problem, [please continue here](#successful)
|
||||
- The device will be available under its IP or via the local DNS name `openhabianpine64`
|
||||
- [Connect to the openHAB 2 dashboard](http://docs.openhab.org/configuration/packages.html): [http://openhabianpine64:8080](http://openhabianpine64:8080)
|
||||
- [Connect to the Samba network shares](http://docs.openhab.org/installation/linux.html#mounting-locally) with username `openhabian` and password `openhabian`
|
||||
- Connect to the openHAB Log Viewer (frontail): [http://openhabianpine64:9001](http://openhabianpine64:9001)
|
||||
- If you encounter any setup problem, [please continue here](#successful)
|
||||
|
||||
You can stop reading now.
|
||||
openHABian has installed and configured your openHAB system and you can start to use it right away.
|
||||
|
@ -143,7 +146,7 @@ You will see the following welcome screen:
|
|||
|
||||

|
||||
|
||||
➜ Continue at the ["First Steps"](#first-steps) section below!
|
||||
➜ Continue at the ["openHABian Configuration Tool"](#openhabian-config) section below!
|
||||
|
||||
### Manual Setup
|
||||
|
||||
|
@ -181,14 +184,15 @@ If you own a RPi3, a RPi0W, a Pine A64, or a compatible Wi-Fi dongle you can set
|
|||
For the setup on Wi-Fi, you'll need to make your SSID and password known to the system before the first boot.
|
||||
Additionally to the setup instructions given above, the following steps are needed:
|
||||
|
||||
* Flash the system image to your micro SD card as described, do not remove the SD card yet
|
||||
* Access the first SD card partition from the file explorer of your choice (e.g. Windows file explorer)
|
||||
* Open the file `openhabian.conf` in a text editor
|
||||
* Uncomment and fill in `wifi_ssid="My Wi-Fi SSID"` and `wifi_psk="password123"`
|
||||
* Save, Unmount, Insert, Boot
|
||||
* Continue with the instructions for the Raspberry Pi or Pine A64
|
||||
- Flash the system image to your micro SD card as described, do not remove the SD card yet
|
||||
- Access the first SD card partition from the file explorer of your choice (e.g. Windows file explorer)
|
||||
- Open the file `openhabian.conf` in a text editor
|
||||
- Uncomment and fill in `wifi_ssid="My Wi-Fi SSID"` and `wifi_psk="password123"`
|
||||
- Save, Unmount, Insert, Boot
|
||||
- Continue with the instructions for the Raspberry Pi or Pine A64
|
||||
|
||||
## First Steps
|
||||
{: #openhabian-config}
|
||||
## openHABian Configuration Tool
|
||||
|
||||
The following instructions are oriented at the Raspberry Pi openHABian setup but are transferable to all openHABian environments.
|
||||
|
||||
|
@ -215,9 +219,9 @@ Use the cursor keys to navigate, <Enter> to execute, <Space> to sele
|
|||
If you are unfamiliar with Linux, SSH and the Linux console or if you want to improve your skills, read up on these important topics.
|
||||
A lot of helpful articles can be found on the internet, for example:
|
||||
|
||||
* "Learn the ways of Linux-fu, for free" interactively with exercises at [linuxjourney.com](https://linuxjourney.com).
|
||||
* The official Raspberry Pi help articles over at [raspberrypi.org](https://www.raspberrypi.org/help)
|
||||
* "Now what?", Tutorial on the Command line console at [LinuxCommand.org](http://linuxcommand.org/index.php)
|
||||
- "Learn the ways of Linux-fu, for free" interactively with exercises at [linuxjourney.com](https://linuxjourney.com).
|
||||
- The official Raspberry Pi help articles over at [raspberrypi.org](https://www.raspberrypi.org/help)
|
||||
- "Now what?", Tutorial on the Command line console at [LinuxCommand.org](http://linuxcommand.org/index.php)
|
||||
|
||||
*The good news:* openHABian helps you to stay away from Linux - *The bad news:* Not for long...
|
||||
|
||||
|
@ -230,44 +234,44 @@ It's not complicated and something that doesn't hurt on ones résumé.
|
|||
|
||||
openHABian is supposed to provide a ready-to-use openHAB base system. There are however a few things we can not decide for you.
|
||||
|
||||
* **Time Zone:** The default time zone openHABian is shipped with is "Europe/Berlin". You should change it to your location.
|
||||
* **Language:** The `locale` setting of the openHABian base system is set to "en_US.UTF-8". While this setting will not do any harm, you might prefer e.g. console errors in German or Spanish. Change the locale settings accordingly. Be aware, that error solving might be easier when using the English error messages as search phrases.
|
||||
* **Passwords:** Relying on default passwords is a security concern you should care about!
|
||||
- **Time Zone:** The time zone of your openHABian system will be determined based on your internet connection. In some cases you might have to adjust that setting.
|
||||
- **Language:** The `locale` setting of the openHABian base system is set to "en_US.UTF-8". While this setting will not do any harm, you might prefer e.g. console errors in German or Spanish. Change the locale settings accordingly. Be aware, that error solving might be easier when using the English error messages as search phrases.
|
||||
- **Passwords:** Relying on default passwords is a security concern you should care about! The openHABian system is preconfigured with a few passwords you should change to ensure the security of your system. This is especially important of your system is accessible from outside your private subnet.
|
||||
|
||||
All of these settings can be changed via the openHABian Configuration Tool.
|
||||
All of these settings **can easily be changed** via the openHABian Configuration Tool.
|
||||
|
||||
The openHABian system is preconfigured with a few passwords you should change to ensure the security of your system.
|
||||
This is especially important of your system is accessible from outside your private subnet.
|
||||
|
||||
Here are the passwords in question, their default value and the way to change them:
|
||||
Here are the passwords in question, their default "username:password" value and the way to change them:
|
||||
|
||||
{: #passwords}
|
||||
* User password needed for SSH or sudo (e.g. "openhabian:openhabian") : `passwd`
|
||||
* Samba share password (e.g. "openhabian:openhabian"): `sudo smbpasswd openhabian`
|
||||
* Karaf remote console (e.g. "openhab:habopen"): Change via the openHABian menu
|
||||
* Nginx reverse proxy login (no default): Change via the openHABian menu, please see [here](http://docs.openhab.org/installation/security.html#adding-or-removing-users) for more
|
||||
- User password needed for SSH or sudo (e.g. "openhabian:openhabian") : `passwd`
|
||||
- Samba share password (e.g. "openhabian:openhabian"): `sudo smbpasswd openhabian`
|
||||
- openHAB remote console (e.g. "openhab:habopen"): Change via the openHABian menu
|
||||
- Nginx reverse proxy login (no default): Change via the openHABian menu, please see [here](http://docs.openhab.org/installation/security.html#adding-or-removing-users) for more
|
||||
|
||||
## Optional Components
|
||||
|
||||
openHABian comes with a number of additional configs that allow you to quickly install home automation related software.
|
||||
openHABian comes with a number of additional routines to quickly install and set up home automation related software.
|
||||
You'll find all of these in the [openHABian Configuration Tool](#openhabian-config)
|
||||
|
||||
* [frontail](https://github.com/mthenw/frontail) - openHAB Log Viewer accessible from [http://openHABianPi:9001](http://openHABianPi:9001)
|
||||
* [Node-RED](https://nodered.org) - "Flow-based programming for the Internet of Things", with preinstalled [openHAB2](https://flows.nodered.org/node/node-red-contrib-openhab2) and [BigTimer](https://flows.nodered.org/node/node-red-contrib-bigtimer) add-ons. Accessible from [http://openHABianPi:1880](http://openHABianPi:1880)
|
||||
* [KNXd](http://michlstechblog.info/blog/raspberry-pi-eibknx-ip-gateway-and-router-with-knxd) - KNX daemon running at `224.0.23.12:3671/UDP`
|
||||
* [Homegear](https://www.homegear.eu/index.php/Main_Page) - Homematic control unit emulation
|
||||
* [Eclipse Mosquitto](http://mosquitto.org) - Open Source MQTT v3.1/v3.1.1 Broker
|
||||
* [OWServer](http://owfs.org/index.php?page=owserver_protocol) - 1wire control system
|
||||
* [Grafana](https://community.openhab.org/t/influxdb-grafana-persistence-and-graphing/13761/1) - persistence and graphing available from [http://openHABianPi:3000](http://openHABianPi:3000)
|
||||
- [Amanda Network Backup](http://www.amanda.org/) - A built-in backup solution for your valuables. Please continue reading [here](https://github.com/openhab/openhabian/blob/master/docs/openhabian-amanda.md)
|
||||
- [frontail](https://github.com/mthenw/frontail) - openHAB Log Viewer accessible from [http://openHABianPi:9001](http://openHABianPi:9001)
|
||||
- [openHAB Generator](https://github.com/kubawolanin/generator-openhab) - Allows you to create [Items](http://docs.openhab.org/configuration/items.html), [Sitemap](http://docs.openhab.org/configuration/sitemaps.html) and [HABPanel](http://docs.openhab.org/addons/uis/habpanel/readme.html) dashboard for your home in no time
|
||||
- [Node-RED](https://nodered.org) - "Flow-based programming for the Internet of Things", with preinstalled [openHAB2](https://flows.nodered.org/node/node-red-contrib-openhab2) and [BigTimer](https://flows.nodered.org/node/node-red-contrib-bigtimer) add-ons. Accessible from [http://openHABianPi:1880](http://openHABianPi:1880)
|
||||
- [KNXd](http://michlstechblog.info/blog/raspberry-pi-eibknx-ip-gateway-and-router-with-knxd) - KNX daemon running at `224.0.23.12:3671/UDP`
|
||||
- [Homegear](https://www.homegear.eu/index.php/Main_Page) - Homematic control unit emulation
|
||||
- [Eclipse Mosquitto](http://mosquitto.org) - Open Source MQTT v3.1/v3.1.1 Broker
|
||||
- [OWServer](http://owfs.org/index.php?page=owserver_protocol) - 1wire control system
|
||||
- [Grafana](https://community.openhab.org/t/influxdb-grafana-persistence-and-graphing/13761/1) - persistence and graphing available from [http://openHABianPi:3000](http://openHABianPi:3000)
|
||||
|
||||
## FAQ and Troubleshooting
|
||||
|
||||
For openHABian related questions and further details, please have a look at the main discussion thread in the Community Forum:
|
||||
|
||||
* [https://community.openhab.org/t/13379](https://community.openhab.org/t/13379)
|
||||
- [https://community.openhab.org/t/13379](https://community.openhab.org/t/13379)
|
||||
|
||||
If you want to get involved, you found a bug, or just want to see what's planned for the future, come visit our Issue Tracker:
|
||||
|
||||
* [https://github.com/openhab/openhabian/issues](https://github.com/openhab/openhabian/issues)
|
||||
- [https://github.com/openhab/openhabian/issues](https://github.com/openhab/openhabian/issues)
|
||||
|
||||
{: #changelog}
|
||||
#### Where can I find a changelog for openHABian?
|
||||
|
@ -302,13 +306,13 @@ We will re-add the functionality as soon as the underlying issue is resolved.
|
|||
|
||||
After the installation of openHABian was successful, you should be able to access the openHAB dashboard:
|
||||
|
||||
* Raspberry Pi image setup: [http://openhabianpi:8080](http://openhabianpi:8080)
|
||||
* Pine A64 image setup: [http://openhabianpine64:8080](http://openhabianpine64:8080)
|
||||
* In any case: [http://your-device-hostname:8080](http://your-device-hostname:8080) or [http://192.168.0.2:8080](http://192.168.0.2:8080) (replace name/IP)
|
||||
- Raspberry Pi image setup: [http://openhabianpi:8080](http://openhabianpi:8080)
|
||||
- Pine A64 image setup: [http://openhabianpine64:8080](http://openhabianpine64:8080)
|
||||
- In any case: [http://your-device-hostname:8080](http://your-device-hostname:8080) or [http://192.168.0.2:8080](http://192.168.0.2:8080) (replace name/IP)
|
||||
|
||||
##### SSH Progress Report
|
||||
|
||||
You should always be able to [connect to the SSH console](https://www.raspberrypi.org/documentation/remote-access/ssh/windows.md) of your device (after a few minutes of boot up time).
|
||||
It is always possible to [connect to the SSH console](https://www.raspberrypi.org/documentation/remote-access/ssh/windows.md) of your device (after a few minutes of boot up time).
|
||||
During the setup process you'll be redirected to the live progress report of the setup.
|
||||
The report can also be checked for errors after the installation finished by executing: `cat /boot/first-boot.log`
|
||||
|
||||
|
@ -316,16 +320,23 @@ The progress of a successful installation will look similar to the following:
|
|||
|
||||

|
||||
|
||||
If the installation was **successful**, you will see the normal login screen afterwards.
|
||||
If the installation was **not successful** you will see a warning and further instructions:
|
||||
Wait till the log tells you that the setup was "successful", then reconnect to the device.
|
||||
|
||||
##### SSH Login Screen
|
||||
|
||||
If the installation was **successful** you will see the normal login screen as shown in the first screenshot.
|
||||
If the installation was **not successful** you will see a warning and further instructions as shown in the second screenshot.
|
||||
|
||||
<div class="row">
|
||||
<div class="col s12 m5"><img src="images/openHABian-SSH-MotD.png" alt="openHABian installation successful" title="openHABian installation successful"></div>
|
||||
<div class="col s12 m5"><img src="images/openHABian-install-failed.png" alt="openHABian installation failed warning and instructions" title="openHABian installation failed warning and instructions"></div>
|
||||
<div class="col s12 m5 offset-s2"><img src="images/openHABian-install-failed.png" alt="openHABian installation failed warning and instructions" title="openHABian installation failed warning and instructions"></div>
|
||||
</div>
|
||||
|
||||
##### What Next?
|
||||
|
||||
After your first setup is done, you might want to generate [Items](http://docs.openhab.org/configuration/items.html), [Sitemap](http://docs.openhab.org/configuration/sitemaps.html) and [HABPanel](http://docs.openhab.org/addons/uis/habpanel/readme.html) dashboard for your home.
|
||||
Simply log in to your Raspberry PI with SSH and type `openhab-generator`. It will run a Yeoman-based [openHAB Generator](https://github.com/kubawolanin/generator-openhab) tool asking for your house structure (e.g. number of floors, rooms and devices).
|
||||
|
||||
If you are not able to access your system via the openHAB dashboard or SSH after more than one hour, chances are high that your hardware setup is the problem.
|
||||
Try using a steady power source and a reliable SD card, double check the network connection.
|
||||
Restart the Setup process to rule out most other possible causes.
|
||||
|
|
Loading…
Reference in New Issue