```java
Bridge flicbutton:flicd-bridge:local-flicd {
- Thing button flic_livingroom "Yellow Button Living Room" [address = "60:13:B3:02:18:BD"]
- Thing button flic_kitchen "Black Button Kitchen" [address = "B5:7E:59:78:86:9F"]
+ Thing button flic_livingroom "Yellow Button Living Room" [address = "60:13:B3:02:18:BD"]
+ Thing button flic_kitchen "Black Button Kitchen" [address = "B5:7E:59:78:86:9F"]
}
```
Bridge has the following configuration parameters:
-| Parameter | Description | Required
-|------------------|-------------------------------------------------------|----------
-| apikey | API Key from <https://api.foobot.io/apidoc/index.html> | Mandatory
-| username | The e-mail address used to log into the Foobot App | Mandatory
-| refreshInterval | Refresh interval in minutes, minimal 5 minutes | Optional, the default value is 8 minutes.
+| Parameter | Description | Required
+|------------------|--------------------------------------------------------|----------
+| apikey | API Key from <https://api.foobot.io/apidoc/index.html> | Mandatory
+| username | The e-mail address used to log into the Foobot App | Mandatory
+| refreshInterval | Refresh interval in minutes, minimal 5 minutes | Optional, the default value is 8 minutes.
The minimal refresh rate is 5 minutes because the device only sends data every 5 minutes.
The default is 8 minutes. This will get you through the day with the default rate limit of 200 calls per day.
```perl
sitemap demo label="Main Menu"
{
- Frame {
- Switch item=RadioPower
- Slider visibility=[RadioPower==ON] item=RadioVolume
- Switch visibility=[RadioPower==ON] item=RadioMute
- Selection visibility=[RadioPower==ON] item=RadioPreset mappings=[0="Favourit 1", 1="Favourit 2", 2="Favourit 3", 3="Favourit 4"]
- Selection visibility=[RadioPower==ON] item=RadioMode mappings=[0="Internet Radio", 1="Musik Player", 2="DAB", 3="FM", 4="AUX"]
- Text visibility=[RadioPower==ON] item=RadioInfo1
- Text visibility=[RadioPower==ON] item=RadioInfo2
- }
+ Frame {
+ Switch item=RadioPower
+ Slider visibility=[RadioPower==ON] item=RadioVolume
+ Switch visibility=[RadioPower==ON] item=RadioMute
+ Selection visibility=[RadioPower==ON] item=RadioPreset mappings=[0="Favourit 1", 1="Favourit 2", 2="Favourit 3", 3="Favourit 4"]
+ Selection visibility=[RadioPower==ON] item=RadioMode mappings=[0="Internet Radio", 1="Musik Player", 2="DAB", 3="FM", 4="AUX"]
+ Text visibility=[RadioPower==ON] item=RadioInfo1
+ Text visibility=[RadioPower==ON] item=RadioInfo2
+ }
}
```
Hayward OmniLogic Connection Parameters:
-| Property | Default | Required | Description |
-|----------------------|----------------------------------------------------------------|----------|----------------------------------------------|
+| Property | Default | Required | Description |
+|----------------------|------------------------------------------------------------------|----------|----------------------------------------------|
| Host Name | <https://app1.haywardomnilogic.com/HAAPI/HomeAutomation/API.ash> | Yes | Host name of the Hayward API server |
-| User Name | None | Yes | Your Hayward User Name (not email address) |
-| Password | None | Yes | Your Hayward User Password |
-| Telemetry Poll Delay | 12 | Yes | Telemetry Poll Delay (10-60 seconds) |
-| Alarm Poll Delay | 60 | Yes | Alarm Poll Delay (0-120 seconds, 0 disabled) |
+| User Name | None | Yes | Your Hayward User Name (not email address) |
+| Password | None | Yes | Your Hayward User Password |
+| Telemetry Poll Delay | 12 | Yes | Telemetry Poll Delay (10-60 seconds) |
+| Alarm Poll Delay | 60 | Yes | Alarm Poll Delay (0-120 seconds, 0 disabled) |
## Channels
|-----------------------------|-------------------|-----------------------|------------------|----------------|-------------------|----------------------|
| Single action<br>bottom-up | `position` | ▲ | Up | `OPEN` | 0% | ▲ |
| | | ▼ | Down | `CLOSED` | 100% | ▼ |
-| Single action<br>top-down | `position` | ▲ | Up | **`CLOSED`** | 0% | ▲ |
-| | | ▼ | Down | **`OPEN`** | 100% | ▼ |
+| Single action<br>top-down | `position` | ▲ | Up | **`CLOSED`** | 0% | ▲ |
+| | | ▼ | Down | **`OPEN`** | 100% | ▼ |
| Single action<br>right-left | `position` | ▲ | _**Left**_ | `OPEN` | 0% | ▲ |
| | | ▼ | _**Right**_ | `CLOSED` | 100% | ▼ |
| Single action<br>left-right | `position` | ▲ | _**Right**_ | `OPEN` | 0% | ▲ |
| | | ▼ | _**Left**_ | `CLOSED` | 100% | ▼ |
| Dual action<br>(lower rail) | `position` | ▲ | Up | `OPEN` | 0% | ▲ |
| | | ▼ | Down | `CLOSED` | 100% | ▼ |
-| Dual action<br>(upper rail) | _**`secondary`**_ | ▲ | Up | **`CLOSED`** | 0%<sup>1)</sup> |  |
-| | | ▼ | Down | **`OPEN`** | 100%<sup>1)</sup> |  |
+| Dual action<br>(upper rail) | _**`secondary`**_ | ▲ | Up | **`CLOSED`** | 0%<sup>1)</sup> |  |
+| | | ▼ | Down | **`OPEN`** | 100%<sup>1)</sup> |  |
| Blackout panel ('DuoLite') | _**`secondary`**_ | ▲ | Up | `OPEN` | 0% | ▲ |
| | | ▼ | Down | `CLOSED` | 100% | ▼ |
```java
Bridge heos:bridge:main "Bridge" [ipAddress="192.168.0.1", username="userName", password="123456"] {
- player Kitchen "Kitchen"[pid="434523813"]
- player LivingRoom "Living Room"[pid="918797451"]
- group 813793755 "Ground Level"[members="434523813;918797451"]
+ player Kitchen "Kitchen"[pid="434523813"]
+ player LivingRoom "Living Room"[pid="918797451"]
+ group 813793755 "Ground Level"[members="434523813;918797451"]
}
```
### demo.sitemap
```perl
- Frame label="LivingRoom" {
- Default item=LivingRoom_Control
- Default item=LivingRoom_Mute
- Default item=LivingRoom_Volume
- Default item=LivingRoom_Title
- Default item=LivingRoom_Interpret
- Default item=LivingRoom_Album
- Selection item=LivingRoom_Favorites label="Favorite" icon="music"
- Selection item=LivingRoom_Playlists label="Playlist" icon="music"
- }
+Frame label="LivingRoom" {
+ Default item=LivingRoom_Control
+ Default item=LivingRoom_Mute
+ Default item=LivingRoom_Volume
+ Default item=LivingRoom_Title
+ Default item=LivingRoom_Interpret
+ Default item=LivingRoom_Album
+ Selection item=LivingRoom_Favorites label="Favorite" icon="music"
+ Selection item=LivingRoom_Playlists label="Playlist" icon="music"
+}
```
## Detailed Explanation
```java
rule "Play AuxIn from Living Room"
- when
- Item HeosKitchen_InputSelect received command
- then
- if (receivedCommand.toString == "aux_in_1") {
- sendCommand(HeosKitchen_Input, "aux_in_1")
-
- } if (receivedCommand.toString == "LivingRoom") {
- sendCommand(HeosBridge_Play_Living, ON)
- sendCommand(HeosKitchen_Input, "aux_in_1")
- sendCommand(HeosBridge_Play_Living, OFF) //Switch player channel off again to be sure that it is OFF
- }
+when
+ Item HeosKitchen_InputSelect received command
+then
+ if (receivedCommand.toString == "aux_in_1") {
+ sendCommand(HeosKitchen_Input, "aux_in_1")
+ }
+ if (receivedCommand.toString == "LivingRoom") {
+ sendCommand(HeosBridge_Play_Living, ON)
+ sendCommand(HeosKitchen_Input, "aux_in_1")
+ sendCommand(HeosBridge_Play_Living, OFF) //Switch player channel off again to be sure that it is OFF
+ }
+end
```
Sitemap:
```perl
Frame label="Heos Group" visibility=[HeosGroup_Status==ONLINE] {
- Default item=HeosGroup1_Player
- Default item=HeosGroup1_Volume
- Default item=HeosGroup1_Mute
- Default item=HeosGroup1_Favorites
- Default item=HeosGroup1_Playlist
-
- Text item=HeosGroup1_Song {
- Default item=HeosGroup1_Song
- Default item=HeosGroup1_Artist
- Default item=HeosGroup1_Album
- Image item=HeosGroup1_Cover url=""
- }
+ Default item=HeosGroup1_Player
+ Default item=HeosGroup1_Volume
+ Default item=HeosGroup1_Mute
+ Default item=HeosGroup1_Favorites
+ Default item=HeosGroup1_Playlist
+
+ Text item=HeosGroup1_Song {
+ Default item=HeosGroup1_Song
+ Default item=HeosGroup1_Artist
+ Default item=HeosGroup1_Album
+ Image item=HeosGroup1_Cover url=""
+ }
}
```
```java
Thing http:url:foo "Foo" [
- baseURL="https://example.com/api/v1/metadata-api/web/metadata",
- headers="key1=value1", "key2=value2", "key3=value3",
- refresh=15] {
- Channels:
- Type string : text "Text" [ stateTransformation="JSONPATH:$.metadata.data" ]
+ baseURL="https://example.com/api/v1/metadata-api/web/metadata",
+ headers="key1=value1", "key2=value2", "key3=value3",
+ refresh=15] {
+ Channels:
+ Type string : text "Text" [ stateTransformation="JSONPATH:$.metadata.data" ]
}
```
```java
Bridge jellyfin:server:exampleServerId "Jellyfin Server" [
- clientActiveWithInSeconds=0,
- hostname="192.168.1.177",
- port=8096,
- refreshSeconds=30,
- ssl="false"
+ clientActiveWithInSeconds=0,
+ hostname="192.168.1.177",
+ port=8096,
+ refreshSeconds=30,
+ ssl="false"
token=XXXXX # Optional, read bellow
userId=XXXXX # Optional, read bellow
]