Updated external content (Jenkins build 103)
parent
3caadfac22
commit
8b56fbb721
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,189 @@
|
|||
---
|
||||
id: epsonprojector
|
||||
label: Epson Projector
|
||||
title: Epson Projector - Bindings
|
||||
type: binding
|
||||
description: "This binding is compatible with Epson projectors that support the ESC/VP21 protocol over a serial port or USB to serial adapter."
|
||||
since: 3x
|
||||
logo: images/addons/epsonprojector.png
|
||||
install: auto
|
||||
---
|
||||
|
||||
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||
|
||||
{% include base.html %}
|
||||
|
||||
# Epson Projector Binding
|
||||
|
||||
This binding is compatible with Epson projectors that support the ESC/VP21 protocol over a serial port or USB to serial adapter.
|
||||
Alternatively, you can connect to your projector via a TCP connection using a serial over IP device or by using`ser2net`.
|
||||
|
||||
## Supported Things
|
||||
|
||||
This binding supports two thing types based on the connection used: `projector-serial` and `projector-tcp`.
|
||||
|
||||
## Discovery
|
||||
|
||||
The projector thing cannot be auto-discovered, it has to be configured manually.
|
||||
|
||||
## Binding Configuration
|
||||
|
||||
There are no overall binding configuration settings that need to be set.
|
||||
All settings are through thing configuration parameters.
|
||||
|
||||
## Thing Configuration
|
||||
|
||||
The `projector-serial` thing has the following configuration parameters:
|
||||
|
||||
- _serialPort_: Serial port device name that is connected to the Epson projector to control, e.g. COM1 on Windows, /dev/ttyS0 on Linux or /dev/tty.PL2303-0000103D on Mac
|
||||
- _pollingInterval_: Polling interval in seconds to update channel states | 5-60 seconds; default 10 seconds
|
||||
|
||||
The `projector-tcp` thing has the following configuration parameters:
|
||||
|
||||
- _host_: IP address for the serial over IP device
|
||||
- _port_: Port for the serial over IP device
|
||||
- _pollingInterval_: Polling interval in seconds to update channel states | 5-60 seconds; default 10 seconds
|
||||
|
||||
Some notes:
|
||||
|
||||
* The binding should work on all Epson projectors that support the ESC/VP21 protocol, however not all binding channels will be useable on all projectors.
|
||||
* The _source_ channel includes a dropdown with the most common source inputs.
|
||||
* If your projector has a source input that is not in the dropdown, the two digit hex code to access that input will be displayed by the _source_ channel when that input is selected by the remote control.
|
||||
* By using the sitemap mapping or a rule to send the input's code back to the _source_ channel, any source on the projector can be accessed by the binding.
|
||||
* The following channels _aspectratio_, _colormode_, _luminance_, _gamma_ and _background_ are pre-populated with a full set of options and not every option will be useable on all projectors.
|
||||
* If your projector has an option in one of the above mentioned channels that is not recognized by the binding, the channel will display 'UNKNOWN' if that un-recognized option is selected by the remote control.
|
||||
* If the projector power is switched to off in the middle of a polling operation, some of the channel values may become undefined until the projector is switched on again.
|
||||
|
||||
* On Linux, you may get an error stating the serial port cannot be opened when the epsonprojector binding tries to load.
|
||||
* You can get around this by adding the `openhab` user to the `dialout` group like this: `usermod -a -G dialout openhab`.
|
||||
* Also on Linux you may have issues with the USB if using two serial USB devices e.g. epsonprojector and RFXcom. See the [general documentation about serial port configuration](/docs/administration/serial.html) for more on symlinking the USB ports.
|
||||
* Here is an example of ser2net.conf you can use to share your serial port /dev/ttyUSB0 on IP port 4444 using [ser2net Linux tool](https://sourceforge.net/projects/ser2net/) (take care, the baud rate is specific to the Epson projector):
|
||||
|
||||
```
|
||||
4444:raw:0:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT LOCAL
|
||||
```
|
||||
|
||||
## Channels
|
||||
|
||||
| Channel | Item Type | Purpose | Values |
|
||||
| ------------------ | --------- | --------------------------------------------------- | --------- |
|
||||
| power | Switch | Powers the projector on or off. | |
|
||||
| powerstate | String | Retrieves the textual power state of the projector. | Read only |
|
||||
| source | String | Retrieve or set the input source. | See above |
|
||||
| aspectratio | String | Retrieve or set the aspect ratio. | See above |
|
||||
| colormode | String | Retrieve or set the color mode. | See above |
|
||||
| freeze | Switch | Turn the freeze screen mode on or off. | |
|
||||
| mute | Switch | Turn the AV mute on or off. | |
|
||||
| volume | Number | Retrieve or set the volume. | 0 - +20 |
|
||||
| luminance | String | Retrieve or set the lamp mode. | See above |
|
||||
| brightness | Number | Retrieve or set the brightness. | -24 - +24 |
|
||||
| contrast | Number | Retrieve or set the contrast. | -24 - +24 |
|
||||
| density | Number | Retrieve or set the density (color saturation). | -32 - +32 |
|
||||
| tint | Number | Retrieve or set the tint. | -32 - +32 |
|
||||
| colortemperature | Number | Retrieve or set the color temperature. | 0 - +9 |
|
||||
| fleshtemperature | Number | Retrieve or set the flesh temperature. | 0 - +6 |
|
||||
| gamma | String | Retrieve or set the gamma setting. | See above |
|
||||
| autokeystone | Switch | Turn the auto keystone mode on or off. | |
|
||||
| verticalkeystone | Number | Retrieve or set the vertical keystone. | -30 - +30 |
|
||||
| horizontalkeystone | Number | Retrieve or set the horizontal keystone. | -30 - +30 |
|
||||
| verticalposition | Number | Retrieve or set the vertical position. | -8 - +10 |
|
||||
| horizontalposition | Number | Retrieve or set the horizontal position. | -23 - +26 |
|
||||
| verticalreverse | Switch | Turn the vertical reverse mode on or off. | |
|
||||
| horizontalreverse | Switch | Turn the horizontal reverse mode on or off. | |
|
||||
| background | String | Retrieve or set the background color/logo. | See above |
|
||||
| keycode | Number | Send a key operation command to the projector. | Send only |
|
||||
| lamptime | Number | Retrieves the lamp hours. | Read only |
|
||||
| errcode | Number | Retrieves the last error code. | Read only |
|
||||
| errmessage | String | Retrieves the description of the last error. | Read only |
|
||||
|
||||
## Full Example
|
||||
|
||||
things/epson.things:
|
||||
|
||||
```java
|
||||
//serial port connection
|
||||
epsonprojector:projector-serial:hometheater "Projector" [ serialPort="COM5", pollingInterval=10 ]
|
||||
|
||||
// serial over IP connection
|
||||
epsonprojector:projector-tcp:hometheater "Projector" [ host="192.168.0.10", port=4444, pollingInterval=10 ]
|
||||
|
||||
```
|
||||
|
||||
items/epson.items
|
||||
|
||||
```
|
||||
Switch epsonPower { channel="epsonprojector:projector:hometheater:power" }
|
||||
String epsonSource "Source [%s]" { channel="epsonprojector:projector:hometheater:source" }
|
||||
String epsonAspectRatio "Aspect Ratio [%s]" { channel="epsonprojector:projector:hometheater:aspectratio" }
|
||||
String epsonColorMode "Color Mode [%s]" { channel="epsonprojector:projector:hometheater:colormode" }
|
||||
Switch epsonFreeze { channel="epsonprojector:projector:hometheater:freeze" }
|
||||
Switch epsonMute { channel="epsonprojector:projector:hometheater:mute" }
|
||||
Number epsonVolume { channel="epsonprojector:projector:hometheater:volume" }
|
||||
String epsonLuminance "Lamp Mode [%s]" { channel="epsonprojector:projector:hometheater:luminance" }
|
||||
|
||||
Number epsonBrightness { channel="epsonprojector:projector:hometheater:brightness" }
|
||||
Number epsonContrast { channel="epsonprojector:projector:hometheater:contrast" }
|
||||
Number epsonDensity { channel="epsonprojector:projector:hometheater:density" }
|
||||
Number epsonTint { channel="epsonprojector:projector:hometheater:tint" }
|
||||
Number epsonColorTemperature { channel="epsonprojector:projector:hometheater:colortemperature" }
|
||||
Number epsonFleshTemperature { channel="epsonprojector:projector:hometheater:fleshtemperature" }
|
||||
String epsonGamma "Gamma [%s]" { channel="epsonprojector:projector:hometheater:gamma" }
|
||||
|
||||
Switch epsonAutokeystone { channel="epsonprojector:projector:hometheater:autokeystone" }
|
||||
Number epsonVerticalKeystone { channel="epsonprojector:projector:hometheater:verticalkeystone" }
|
||||
Number epsonHorizontalKeystone { channel="epsonprojector:projector:hometheater:horizontalkeystone" }
|
||||
Number epsonVerticalPosition { channel="epsonprojector:projector:hometheater:verticalposition" }
|
||||
Number epsonHorizontalPosition { channel="epsonprojector:projector:hometheater:horizontalposition" }
|
||||
Switch epsonVerticalReverse { channel="epsonprojector:projector:hometheater:verticalreverse" }
|
||||
Switch epsonHorizontalReverse { channel="epsonprojector:projector:hometheater:horizontalreverse" }
|
||||
|
||||
String epsonBackground "Background [%s]" { channel="epsonprojector:projector:hometheater:background" }
|
||||
String epsonPowerState "Power State [%s]" <switch> { channel="epsonprojector:projector:hometheater:powerstate" }
|
||||
Number epsonLampTime "Lamp Time [%d h]" <switch> { channel="epsonprojector:projector:hometheater:lamptime" }
|
||||
Number epsonErrCode "Error Code [%d]" <"siren-on"> { channel="epsonprojector:projector:hometheater:errcode" }
|
||||
String epsonErrMessage "Error Message [%s]" <"siren-off"> { channel="epsonprojector:projector:hometheater:errmessage" }
|
||||
```
|
||||
|
||||
sitemaps/epson.sitemap
|
||||
|
||||
```
|
||||
sitemap epson label="Epson Projector Demo"
|
||||
{
|
||||
Frame label="Controls" {
|
||||
Switch item=epsonPower label="Power"
|
||||
Selection item=epsonSource label="Source" mappings=["30"="HDMI1", "A0"="HDMI2", "14"="Component", "20"="PC DSUB", "41"="Video", "42"="S-Video"]
|
||||
Switch item=epsonFreeze label="Freeze"
|
||||
Switch item=epsonMute label="AV Mute"
|
||||
Setpoint item=epsonVolume label="Volume"
|
||||
|
||||
}
|
||||
Frame label="Adjust Image" {
|
||||
Setpoint item=epsonBrightness label="Brightness"
|
||||
Setpoint item=epsonContrast label="Contrast"
|
||||
Setpoint item=epsonDensity label="Color Saturation"
|
||||
Setpoint item=epsonTint label="Tint"
|
||||
Switch item=epsonAutokeystone label="Auto Keystone"
|
||||
Setpoint item=epsonVerticalKeystone label="Vertical Keystone"
|
||||
Setpoint item=epsonHorizontalKeystone label="Horizontal Keystone"
|
||||
Setpoint item=epsonVerticalPosition label="Vertical Position"
|
||||
Setpoint item=epsonHorizontalPosition label="Horizontal Position"
|
||||
Selection item=epsonBackground label="Background"
|
||||
}
|
||||
Frame label="Flip Projection" {
|
||||
Switch item=epsonVerticalReverse label="Vertical Reverse"
|
||||
Switch item=epsonHorizontalReverse label="Horizontal Reverse"
|
||||
}
|
||||
Frame label="Info" {
|
||||
Text item=epsonAspectRatio
|
||||
Text item=epsonColorMode
|
||||
Text item=epsonColorTemperature label="Color Temperature"
|
||||
Text item=epsonFleshTemperature label="Flesh Temperature"
|
||||
Text item=epsonGamma
|
||||
Text item=epsonLuminance
|
||||
Text item=epsonPowerState
|
||||
Text item=epsonLampTime
|
||||
Text item=epsonErrCode
|
||||
Text item=epsonErrMessage
|
||||
}
|
||||
}
|
||||
```
|
|
@ -0,0 +1,198 @@
|
|||
---
|
||||
id: irobot
|
||||
label: iRobot
|
||||
title: iRobot - Bindings
|
||||
type: binding
|
||||
description: "This binding provides integration of products by iRobot company (http://www.irobot.com/). It is currently developed to support Roomba 900"
|
||||
since: 3x
|
||||
install: auto
|
||||
---
|
||||
|
||||
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||
|
||||
{% include base.html %}
|
||||
|
||||
# iRobot Binding
|
||||
|
||||
This binding provides integration of products by iRobot company (http://www.irobot.com/). It is currently developed to support Roomba 900
|
||||
series robotic vacuum cleaner with built-in Wi-Fi module. The binding interfaces to the robot directly without any need for a dedicated MQTT server.
|
||||
|
||||
## Supported Things
|
||||
|
||||
- iRobot Roomba robotic vacuum cleaner (https://www.irobot.com/roomba). The binding has been developed and tested with Roomba 930.
|
||||
- iRobot Braava has also been reported to (partially) work. Automatic configuration and password retrieval does not work. Add the robot manually as Roomba and use external tools (like Dorita980) in order to retrieve the password.
|
||||
|
||||
## Discovery
|
||||
|
||||
Roombas on the same network will be discovered automatically, however in order to connect to them a password is needed. The
|
||||
password is a machine-generated string, which is unfortunately not exposed by the original iRobot smartphone application, but
|
||||
it can be downloaded from the robot itself. If no password is configured, the Thing enters "CONFIGURATION PENDING" state.
|
||||
Now you need to perform authorization by pressing and holding the HOME button on your robot until it plays series of tones
|
||||
(approximately 2 seconds). The Wi-Fi indicator on the robot will flash for 30 seconds, the binding should automatically
|
||||
receive the password and go ONLINE.
|
||||
|
||||
After you've done this procedure you can write the password somewhere in case if you need to reconfigure your binding. It's not
|
||||
known, however, whether the password is eternal or can change during factory reset.
|
||||
|
||||
## Thing Configuration
|
||||
|
||||
|
||||
| Parameter | Meaning |
|
||||
|-----------|----------------------------------------|
|
||||
| ipaddress | IP address (or hostname) of your robot |
|
||||
| password | Password for the robot |
|
||||
|
||||
## Channels
|
||||
|
||||
| channel | type | description | Read-only |
|
||||
|---------------|--------|----------------------------------------------------|-----------|
|
||||
| command | String | Command to execute: clean, spot, dock, pause, stop | N |
|
||||
| cycle | String | Current mission: none, clean, spot | Y |
|
||||
| phase | String | Current phase of the mission; see below. | Y |
|
||||
| battery | Number | Battery charge in percents | Y |
|
||||
| bin | String | Bin status: ok, removed, full | Y |
|
||||
| error | String | Error code; see below | Y |
|
||||
| rssi | Number | Wi-Fi Received Signal Strength indicator in db | Y |
|
||||
| snr | Number | Wi-Fi Signal to noise ratio | Y |
|
||||
| sched_mon | Switch | Scheduled clean enabled for Monday | N |
|
||||
| sched_tue | Switch | Scheduled clean enabled for Tuesday | N |
|
||||
| sched_wed | Switch | Scheduled clean enabled for Wednesday | N |
|
||||
| sched_thu | Switch | Scheduled clean enabled for Thursday | N |
|
||||
| sched_fri | Switch | Scheduled clean enabled for Friday | N |
|
||||
| sched_sat | Switch | Scheduled clean enabled for Saturday | N |
|
||||
| sched_sun | Switch | Scheduled clean enabled for Sunday | N |
|
||||
| schedule | Number | Schedule bitmask for use in scripts. 7 bits, bit #0 corresponds to Sunday | N |
|
||||
| edge_clean | Switch | Seek out and clean along walls and furniture legs | N |
|
||||
| always_finish | Switch | Whether to keep cleaning if the bin becomes full | N |
|
||||
| power_boost | String | Power boost mode: "auto", "performance", "eco" | N |
|
||||
| clean_passes | String | Number of cleaning passes: "auto", "1", "2" | N |
|
||||
|
||||
Known phase strings and their meanings:
|
||||
|
||||
| phase | Meaning |
|
||||
|-----------|-----------------------------------|
|
||||
| charge | Charging |
|
||||
| new | New Mission (*) |
|
||||
| run | Running |
|
||||
| resume | Resumed (*) |
|
||||
| hmMidMsn | Going for recharge during mission |
|
||||
| recharge | Recharging |
|
||||
| stuck | Stuck |
|
||||
| mUsrDock | Going home (on user command) |
|
||||
| dock | Docking (*) |
|
||||
| dockend | Docking - End Mission (*) |
|
||||
| cancelled | Cancelled (*) |
|
||||
| stop | Stopped |
|
||||
| pause | Paused (*) |
|
||||
| hmPostMsn | Going home after mission |
|
||||
| "" (empty string) | None (*) |
|
||||
|
||||
Phases, marked with asterisk (*), have not been seen being reported by Roomba 930. All the definitions
|
||||
are taken from Roomba980-Python.
|
||||
|
||||
Error codes. Data type is string in order to be able to utilize mapping to human-readable strings.
|
||||
|
||||
| Code | Meaning |
|
||||
|------|----------------------------|
|
||||
| 0 | None |
|
||||
| 1 | Left wheel off floor |
|
||||
| 2 | Main Brushes stuck |
|
||||
| 3 | Right wheel off floor |
|
||||
| 4 | Left wheel stuck |
|
||||
| 5 | Right wheel stuck |
|
||||
| 6 | Stuck near a cliff |
|
||||
| 7 | Left wheel error |
|
||||
| 8 | Bin error |
|
||||
| 9 | Bumper stuck |
|
||||
| 10 | Right wheel error |
|
||||
| 11 | Bin error |
|
||||
| 12 | Cliff sensor issue |
|
||||
| 13 | Both wheels off floor |
|
||||
| 14 | Bin missing |
|
||||
| 15 | Reboot required |
|
||||
| 16 | Bumped unexpectedly |
|
||||
| 17 | Path blocked |
|
||||
| 18 | Docking issue |
|
||||
| 19 | Undocking issue |
|
||||
| 20 | Docking issue |
|
||||
| 21 | Navigation problem |
|
||||
| 22 | Navigation problem |
|
||||
| 23 | Battery issue |
|
||||
| 24 | Navigation problem |
|
||||
| 25 | Reboot required |
|
||||
| 26 | Vacuum problem |
|
||||
| 27 | Vacuum problem |
|
||||
| 29 | Software update needed |
|
||||
| 30 | Vacuum problem |
|
||||
| 31 | Reboot required |
|
||||
| 32 | Smart map problem |
|
||||
| 33 | Path blocked |
|
||||
| 34 | Reboot required |
|
||||
| 35 | Unrecognized cleaning pad |
|
||||
| 36 | Bin full |
|
||||
| 37 | Tank needed refilling |
|
||||
| 38 | Vacuum problem |
|
||||
| 39 | Reboot required |
|
||||
| 40 | Navigation problem |
|
||||
| 41 | Timed out |
|
||||
| 42 | Localization problem |
|
||||
| 43 | Navigation problem |
|
||||
| 44 | Pump issue |
|
||||
| 45 | Lid open |
|
||||
| 46 | Low battery |
|
||||
| 47 | Reboot required |
|
||||
| 48 | Path blocked |
|
||||
| 52 | Pad required attention |
|
||||
| 65 | Hardware problem detected |
|
||||
| 66 | Low memory |
|
||||
| 68 | Hardware problem detected |
|
||||
| 73 | Pad type changed |
|
||||
| 74 | Max area reached |
|
||||
| 75 | Navigation problem |
|
||||
| 76 | Hardware problem detected |
|
||||
|
||||
## Known Problems / Caveats
|
||||
|
||||
1. Sending "pause" command during missions other than "clean" is equivalent to sending "stop"
|
||||
2. Switching to "spot" mission is possible only in "stop" state. Attempt to do it otherwise causes error: the command is rejected and error tones are played.
|
||||
3. Roomba's built-in MQTT server, used for communication, supports only a single local connection at a time. Bear this in mind when you want to do something that requires local connection from your phone, like reconfiguring the network. Disable openHAB Thing before doing this.
|
||||
4. Sometimes during intensive testing Roomba just stopped communicating over the local connection. If this happens, try rebooting it. On my robot it's done by holding "Clean" button for about 10 seconds until all the LEDs come on. Release the button and the reboot tone will be played. It looks like there are some bugs in the firmware.
|
||||
|
||||
|
||||
## Example
|
||||
|
||||
irobot.things:
|
||||
|
||||
```
|
||||
irobot:roomba:my_roomba [ ipaddress="192.168.0.5", password="xxxxxxxx" ]
|
||||
```
|
||||
|
||||
irobot.items:
|
||||
|
||||
```
|
||||
String Roomba_Command { channel="irobot:roomba:my_roomba:command" }
|
||||
String Roomba_Cycle { channel="irobot:roomba:my_roomba:cycle" }
|
||||
String Roomba_Phase { channel="irobot:roomba:my_roomba:phase" }
|
||||
Number Roomba_Battery { channel="irobot:roomba:my_roomba:battery" }
|
||||
String Roomba_Bin { channel="irobot:roomba:my_roomba:bin" }
|
||||
String Roomba_Error { channel="irobot:roomba:my_roomba:error" }
|
||||
```
|
||||
|
||||
irobot.sitemap:
|
||||
|
||||
```
|
||||
Selection item=Roomba_Command mappings=["clean"="Clean", "spot"="Spot", dock="Dock", pause="Pause", stop="Stop"]
|
||||
Text item=Roomba_Cycle label="Current cycle"
|
||||
Text item=Roomba_Phase label="Current phase"
|
||||
Text item=Roomba_Battery label="Battery charge [%d %%]"
|
||||
Text item=Roomba_Bin label="Bin status"
|
||||
Text item=Roomba_Error label="Error"
|
||||
```
|
||||
|
||||
## Credits
|
||||
|
||||
This code is a result of development of an abandoned draft by hkunh42 (http://github.com/hkuhn42/openhab2.roomba)
|
||||
and heavily uses the following projects as a reference:
|
||||
|
||||
- Roomba980-Python by Nick Waterton (http://github.com/NickWaterton/Roomba980-Python)
|
||||
- Dorita980 by Facu ZAK (https://github.com/koalazak/dorita980)
|
|
@ -67,7 +67,8 @@ The OpenUV Report thing that is retrieved has these channels:
|
|||
| Channel ID | Item Type | Description |
|
||||
|--------------|---------------------|-------------------------------------------------|
|
||||
| UVIndex | Number | UV Index |
|
||||
| UVColor | Color | Color associated to given UV Index. |
|
||||
| Alert | Number | Alert level associated to given UV Index |
|
||||
| UVColor | Color | Color associated to given alert level. |
|
||||
| UVMax | Number | Max UV Index for the day (at solar noon) |
|
||||
| UVMaxTime | DateTime | Max UV Index datetime (solar noon) |
|
||||
| Ozone | Number:ArealDensity | Ozone level in du (Dobson Units) from OMI data |
|
||||
|
|
|
@ -0,0 +1,346 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<thing:thing-descriptions bindingId="epsonprojector"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
|
||||
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
|
||||
|
||||
<thing-type id="projector-serial">
|
||||
<label>Epson Projector - Serial</label>
|
||||
<description>An Epson projector which supports the ESC/VP21 protocol via a serial port connection</description>
|
||||
|
||||
<channels>
|
||||
<channel id="power" typeId="power"/>
|
||||
<channel id="powerstate" typeId="powerstate"/>
|
||||
<channel id="source" typeId="source"/>
|
||||
<channel id="aspectratio" typeId="aspectratio"/>
|
||||
<channel id="colormode" typeId="colormode"/>
|
||||
<channel id="freeze" typeId="freeze"/>
|
||||
<channel id="mute" typeId="mute"/>
|
||||
<channel id="volume" typeId="volume"/>
|
||||
<channel id="luminance" typeId="luminance"/>
|
||||
<channel id="brightness" typeId="brightness"/>
|
||||
<channel id="contrast" typeId="contrast"/>
|
||||
<channel id="density" typeId="density"/>
|
||||
<channel id="tint" typeId="tint"/>
|
||||
<channel id="colortemperature" typeId="colortemperature"/>
|
||||
<channel id="fleshtemperature" typeId="fleshtemperature"/>
|
||||
<channel id="gamma" typeId="gamma"/>
|
||||
<channel id="autokeystone" typeId="autokeystone"/>
|
||||
<channel id="verticalkeystone" typeId="verticalkeystone"/>
|
||||
<channel id="horizontalkeystone" typeId="horizontalkeystone"/>
|
||||
<channel id="verticalposition" typeId="verticalposition"/>
|
||||
<channel id="horizontalposition" typeId="horizontalposition"/>
|
||||
<channel id="verticalreverse" typeId="verticalreverse"/>
|
||||
<channel id="horizontalreverse" typeId="horizontalreverse"/>
|
||||
<channel id="background" typeId="background"/>
|
||||
<channel id="keycode" typeId="keycode"/>
|
||||
<channel id="lamptime" typeId="lamptime"/>
|
||||
<channel id="errcode" typeId="errcode"/>
|
||||
<channel id="errmessage" typeId="errmessage"/>
|
||||
</channels>
|
||||
|
||||
<config-description>
|
||||
<parameter name="serialPort" type="text" required="true">
|
||||
<label>Serial Port</label>
|
||||
<context>serial-port</context>
|
||||
<description>Serial Port to Use for Connecting to the Epson Projector</description>
|
||||
</parameter>
|
||||
<parameter name="pollingInterval" type="integer" min="5" max="60" unit="s" required="false">
|
||||
<label>Polling interval</label>
|
||||
<description>Configures How Often to Poll the Projector for Updates (5-60; Default 10)</description>
|
||||
<default>10</default>
|
||||
</parameter>
|
||||
</config-description>
|
||||
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="projector-tcp">
|
||||
<label>Epson Projector - TCP/IP</label>
|
||||
<description>An Epson projector which supports the ESC/VP21 protocol via a serial over IP connection</description>
|
||||
|
||||
<channels>
|
||||
<channel id="power" typeId="power"/>
|
||||
<channel id="powerstate" typeId="powerstate"/>
|
||||
<channel id="source" typeId="source"/>
|
||||
<channel id="aspectratio" typeId="aspectratio"/>
|
||||
<channel id="colormode" typeId="colormode"/>
|
||||
<channel id="freeze" typeId="freeze"/>
|
||||
<channel id="mute" typeId="mute"/>
|
||||
<channel id="volume" typeId="volume"/>
|
||||
<channel id="luminance" typeId="luminance"/>
|
||||
<channel id="brightness" typeId="brightness"/>
|
||||
<channel id="contrast" typeId="contrast"/>
|
||||
<channel id="density" typeId="density"/>
|
||||
<channel id="tint" typeId="tint"/>
|
||||
<channel id="colortemperature" typeId="colortemperature"/>
|
||||
<channel id="fleshtemperature" typeId="fleshtemperature"/>
|
||||
<channel id="gamma" typeId="gamma"/>
|
||||
<channel id="autokeystone" typeId="autokeystone"/>
|
||||
<channel id="verticalkeystone" typeId="verticalkeystone"/>
|
||||
<channel id="horizontalkeystone" typeId="horizontalkeystone"/>
|
||||
<channel id="verticalposition" typeId="verticalposition"/>
|
||||
<channel id="horizontalposition" typeId="horizontalposition"/>
|
||||
<channel id="verticalreverse" typeId="verticalreverse"/>
|
||||
<channel id="horizontalreverse" typeId="horizontalreverse"/>
|
||||
<channel id="background" typeId="background"/>
|
||||
<channel id="keycode" typeId="keycode"/>
|
||||
<channel id="lamptime" typeId="lamptime"/>
|
||||
<channel id="errcode" typeId="errcode"/>
|
||||
<channel id="errmessage" typeId="errmessage"/>
|
||||
</channels>
|
||||
|
||||
<config-description>
|
||||
<parameter name="host" type="text" required="true">
|
||||
<label>Host</label>
|
||||
<context>network-address</context>
|
||||
<description>IP address for the serial over IP device</description>
|
||||
</parameter>
|
||||
<parameter name="port" type="integer" min="1" max="65535" required="true">
|
||||
<label>Port</label>
|
||||
<description>Port for the serial over IP device</description>
|
||||
</parameter>
|
||||
<parameter name="pollingInterval" type="integer" min="5" max="60" unit="s" required="false">
|
||||
<label>Polling interval</label>
|
||||
<description>Configures How Often to Poll the Projector for Updates (5-60; Default 10)</description>
|
||||
<default>10</default>
|
||||
</parameter>
|
||||
</config-description>
|
||||
|
||||
</thing-type>
|
||||
|
||||
<channel-type id="power">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Power</label>
|
||||
<description>Powers the Projector On or Off</description>
|
||||
</channel-type>
|
||||
<channel-type id="powerstate">
|
||||
<item-type>String</item-type>
|
||||
<label>Power State</label>
|
||||
<description>Retrieves the Textual Power State of the Projector</description>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
<channel-type id="lamptime">
|
||||
<item-type>Number</item-type>
|
||||
<label>Lamp Time</label>
|
||||
<description>Retrieves the Lamp Hours</description>
|
||||
<state readOnly="true" pattern="%d h"/>
|
||||
</channel-type>
|
||||
<channel-type id="keycode" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>KeyCode</label>
|
||||
<description>Send a KEY Operation Command to the Projector</description>
|
||||
</channel-type>
|
||||
<channel-type id="verticalkeystone" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Vertical Keystone</label>
|
||||
<description>Retrieve or Set the Vertical Keystone</description>
|
||||
<state min="-30" max="30" step="1" pattern="%d"/>
|
||||
</channel-type>
|
||||
<channel-type id="horizontalkeystone" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Horizontal Keystone</label>
|
||||
<description>Retrieve or Set the Horizontal Keystone</description>
|
||||
<state min="-30" max="30" step="1" pattern="%d"/>
|
||||
</channel-type>
|
||||
<channel-type id="autokeystone" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Auto Keystone</label>
|
||||
<description>Turn the Auto Keystone On or Off</description>
|
||||
</channel-type>
|
||||
<channel-type id="freeze">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Freeze Image</label>
|
||||
<description>Turn the Freeze Screen Mode On or Off</description>
|
||||
</channel-type>
|
||||
<channel-type id="aspectratio">
|
||||
<item-type>String</item-type>
|
||||
<label>Aspect Ratio</label>
|
||||
<description>Retrieve or Set the Aspect Ratio</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="NORMAL">NORMAL</option>
|
||||
<option value="AUTO">AUTO</option>
|
||||
<option value="FULL">FULL</option>
|
||||
<option value="ZOOM">ZOOM</option>
|
||||
<option value="WIDE">WIDE</option>
|
||||
<option value="ANAMORPHIC">ANAMORPHIC</option>
|
||||
<option value="SQUEEZE">SQUEEZE</option>
|
||||
<option value="RATIO4X3">RATIO4X3</option>
|
||||
<option value="ZOOM4X3">ZOOM4X3</option>
|
||||
<option value="RATIO16X9">RATIO16X9</option>
|
||||
<option value="UP16X9">UP16X9</option>
|
||||
<option value="DOWN16X9">DOWN16X9</option>
|
||||
<option value="REAL">REAL</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="luminance">
|
||||
<item-type>String</item-type>
|
||||
<label>Luminance</label>
|
||||
<description>Retrieve or Set the Lamp Mode</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="NORMAL">NORMAL</option>
|
||||
<option value="ECO">ECO</option>
|
||||
<option value="MEDIUM">MEDIUM</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="source">
|
||||
<item-type>String</item-type>
|
||||
<label>Source</label>
|
||||
<description>Retrieve or Set the Input Source</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="30">HDMI1</option>
|
||||
<option value="A0">HDMI2</option>
|
||||
<option value="14">Component</option>
|
||||
<option value="20">PC DSUB</option>
|
||||
<option value="41">Video</option>
|
||||
<option value="42">S-Video</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="brightness" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Brightness</label>
|
||||
<description>Retrieve or Set the Brightness</description>
|
||||
<state min="-24" max="24" step="1" pattern="%d"/>
|
||||
</channel-type>
|
||||
<channel-type id="contrast" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Contrast</label>
|
||||
<description>Retrieve or Set the Contrast</description>
|
||||
<state min="-24" max="24" step="1" pattern="%d"/>
|
||||
</channel-type>
|
||||
<channel-type id="density" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Density (Color Saturation)</label>
|
||||
<description>Retrieve or Set the Density</description>
|
||||
<state min="-32" max="32" step="1" pattern="%d"/>
|
||||
</channel-type>
|
||||
<channel-type id="tint" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Tint</label>
|
||||
<description>Retrieve or Set the Tint</description>
|
||||
<state min="-32" max="32" step="1" pattern="%d"/>
|
||||
</channel-type>
|
||||
<channel-type id="colortemperature" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Color Temperature</label>
|
||||
<description>Retrieve or Set the Color Temperature</description>
|
||||
<state min="0" max="9" step="1" pattern="%d"/>
|
||||
</channel-type>
|
||||
<channel-type id="fleshtemperature" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Flesh Temperature</label>
|
||||
<description>Retrieve or Set the Flesh Temperature</description>
|
||||
<state min="0" max="6" step="1" pattern="%d"/>
|
||||
</channel-type>
|
||||
<channel-type id="colormode">
|
||||
<item-type>String</item-type>
|
||||
<label>Color Mode</label>
|
||||
<description>Retrieve or Set the Color Mode</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="DYNAMIC">DYNAMIC</option>
|
||||
<option value="LIVINGROOM">LIVINGROOM</option>
|
||||
<option value="NATURAL">NATURAL</option>
|
||||
<option value="CINEMA">CINEMA</option>
|
||||
<option value="CINEMANIGHT">CINEMANIGHT</option>
|
||||
<option value="BWCINEMA">BWCINEMA</option>
|
||||
<option value="DIGITALCINEMA">DIGITALCINEMA</option>
|
||||
<option value="HD">HD</option>
|
||||
<option value="THX">THX</option>
|
||||
<option value="CINEMA3D">CINEMA3D</option>
|
||||
<option value="DYNAMIC3D">DYNAMIC3D</option>
|
||||
<option value="THX3D">THX3D</option>
|
||||
<option value="SRGB">SRGB</option>
|
||||
<option value="NORMAL">NORMAL</option>
|
||||
<option value="MEETING">MEETING</option>
|
||||
<option value="PRESENTATION">PRESENTATION</option>
|
||||
<option value="SPORTS">SPORTS</option>
|
||||
<option value="CUSTOM">CUSTOM</option>
|
||||
<option value="BLACKBOARD">BLACKBOARD</option>
|
||||
<option value="WHITEBOARD">WHITEBOARD</option>
|
||||
<option value="PHOTO">PHOTO</option>
|
||||
<option value="SILVER">SILVER</option>
|
||||
<option value="XVCOLOR">XVCOLOR</option>
|
||||
<option value="DICOMSIM">DICOMSIM</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="horizontalposition" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Horizontal Position</label>
|
||||
<description>Retrieve or Set the Horizontal Position</description>
|
||||
<state min="-23" max="26" step="1" pattern="%d"/>
|
||||
</channel-type>
|
||||
<channel-type id="verticalposition" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Vertical Position</label>
|
||||
<description>Retrieve or Set the Vertical Position</description>
|
||||
<state min="-8" max="10" step="1" pattern="%d"/>
|
||||
</channel-type>
|
||||
<channel-type id="gamma" advanced="true">
|
||||
<item-type>String</item-type>
|
||||
<label>Gamma</label>
|
||||
<description>Retrieve or Set the Gamma Setting</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="G2_0">G2_0</option>
|
||||
<option value="G2_1">G2_1</option>
|
||||
<option value="G2_2">G2_2</option>
|
||||
<option value="G2_3">G2_3</option>
|
||||
<option value="G2_4">G2_4</option>
|
||||
<option value="CUSTOM">CUSTOM</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="volume">
|
||||
<item-type>Number</item-type>
|
||||
<label>Volume</label>
|
||||
<description>Retrieve or Set the Volume</description>
|
||||
<state min="0" max="20" step="1" pattern="%d"/>
|
||||
</channel-type>
|
||||
<channel-type id="mute">
|
||||
<item-type>Switch</item-type>
|
||||
<label>AV Mute</label>
|
||||
<description>Turn the AV Mute On or Off</description>
|
||||
</channel-type>
|
||||
<channel-type id="horizontalreverse" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Horizontal Reverse</label>
|
||||
<description>Turn the Horizontal Reverse On or Off</description>
|
||||
</channel-type>
|
||||
<channel-type id="verticalreverse" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Vertical Reverse</label>
|
||||
<description>Turn the Vertical Reverse On or Off</description>
|
||||
</channel-type>
|
||||
<channel-type id="background" advanced="true">
|
||||
<item-type>String</item-type>
|
||||
<label>Background</label>
|
||||
<description>Select the Background Color/Logo</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="BLACK">BLACK</option>
|
||||
<option value="BLUE">BLUE</option>
|
||||
<option value="LOGO">LOGO</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="errcode" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>ErrCode</label>
|
||||
<description>Retrieves the Last Error Code</description>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
<channel-type id="errmessage" advanced="true">
|
||||
<item-type>String</item-type>
|
||||
<label>ErrMessage</label>
|
||||
<description>Retrieves the Description of the Last Error</description>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
</thing:thing-descriptions>
|
|
@ -0,0 +1,258 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<thing:thing-descriptions bindingId="irobot"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
|
||||
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
|
||||
|
||||
<thing-type id="roomba">
|
||||
<label>Roomba</label>
|
||||
<description>A Roomba vacuum robot</description>
|
||||
|
||||
<channels>
|
||||
<channel id="command" typeId="command"/>
|
||||
<channel id="cycle" typeId="cycle"/>
|
||||
<channel id="phase" typeId="phase"/>
|
||||
<channel id="battery" typeId="battery"/>
|
||||
<channel id="bin" typeId="bin"/>
|
||||
<channel id="error" typeId="error"/>
|
||||
<channel id="rssi" typeId="rssi"/>
|
||||
<channel id="snr" typeId="snr"/>
|
||||
<channel id="sched_mon" typeId="sched_switch">
|
||||
<label>Schedule Mon</label>
|
||||
<description>Monday schedule active</description>
|
||||
</channel>
|
||||
<channel id="sched_tue" typeId="sched_switch">
|
||||
<label>Schedule Tue</label>
|
||||
<description>Tuesday schedule active</description>
|
||||
</channel>
|
||||
<channel id="sched_wed" typeId="sched_switch">
|
||||
<label>Schedule Wed</label>
|
||||
<description>Wednesday schedule active</description>
|
||||
</channel>
|
||||
<channel id="sched_thu" typeId="sched_switch">
|
||||
<label>Schedule Thu</label>
|
||||
<description>Thirsday schedule active</description>
|
||||
</channel>
|
||||
<channel id="sched_fri" typeId="sched_switch">
|
||||
<label>Schedule Fri</label>
|
||||
<description>Friday schedule active</description>
|
||||
</channel>
|
||||
<channel id="sched_sat" typeId="sched_switch">
|
||||
<label>Schedule Sat</label>
|
||||
<description>Saturday schedule active</description>
|
||||
</channel>
|
||||
<channel id="sched_sun" typeId="sched_switch">
|
||||
<label>Schedule Sun</label>
|
||||
<description>Sunday schedule active</description>
|
||||
</channel>
|
||||
<channel id="schedule" typeId="schedule"/>
|
||||
<channel id="edge_clean" typeId="edge_clean"/>
|
||||
<channel id="always_finish" typeId="always_finish"/>
|
||||
<channel id="power_boost" typeId="power_boost"/>
|
||||
<channel id="clean_passes" typeId="clean_passes"/>
|
||||
</channels>
|
||||
<config-description>
|
||||
<parameter name="ipaddress" type="text">
|
||||
<label>IP Address</label>
|
||||
<description>IP Address or host name of your Roomba</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="password" type="text">
|
||||
<label>Password</label>
|
||||
</parameter>
|
||||
|
||||
</config-description>
|
||||
</thing-type>
|
||||
|
||||
<channel-type id="command">
|
||||
<item-type>String</item-type>
|
||||
<label>Command</label>
|
||||
<description>Command to execute</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="clean">Clean</option>
|
||||
<option value="spot">Spot</option>
|
||||
<option value="dock">Dock</option>
|
||||
<option value="pause">Pause</option>
|
||||
<option value="stop">Stop</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="cycle">
|
||||
<item-type>String</item-type>
|
||||
<label>Mission</label>
|
||||
<description>Current mission</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="none">None</option>
|
||||
<option value="clean">Clean</option>
|
||||
<option value="spot">Spot</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="phase">
|
||||
<item-type>String</item-type>
|
||||
<label>State</label>
|
||||
<description>Current state</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="charge">Charging</option>
|
||||
<option value="new">New Mission</option>
|
||||
<option value="run">Running</option>
|
||||
<option value="resume">Resumed</option>
|
||||
<option value="hmMidMsn">Going for recharge in mission</option>
|
||||
<option value="recharge">Recharging</option>
|
||||
<option value="stuck">Stuck</option>
|
||||
<option value="hmUsrDock">Going home</option>
|
||||
<option value="dock">Docking</option>
|
||||
<option value="dockend">Docking - End Mission</option>
|
||||
<option value="cancelled">Cancelled</option>
|
||||
<option value="stop">Stopped</option>
|
||||
<option value="pause">Paused</option>
|
||||
<option value="hmPostMsn">Going home after mission</option>
|
||||
<option value="">None</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="battery">
|
||||
<item-type>Number</item-type>
|
||||
<label>Battery</label>
|
||||
<description>Battery charge percentage</description>
|
||||
<state readOnly="true"></state>
|
||||
</channel-type>
|
||||
<channel-type id="bin">
|
||||
<item-type>String</item-type>
|
||||
<label>Bin</label>
|
||||
<description>Bin status</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="ok">OK</option>
|
||||
<option value="full">Full</option>
|
||||
<option value="removed">Removed</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="error">
|
||||
<item-type>String</item-type>
|
||||
<label>Error</label>
|
||||
<description>Error code</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<!-- Taken from Roomba980-Python, originally reverse engineered from phone app -->
|
||||
<option value="0">None</option>
|
||||
<option value="1">Left wheel off floor</option>
|
||||
<option value="2">Main Brushes stuck</option>
|
||||
<option value="3">Right wheel off floor</option>
|
||||
<option value="4">Left wheel stuck</option>
|
||||
<option value="5">Right wheel stuck</option>
|
||||
<option value="6">Stuck near a cliff</option>
|
||||
<option value="7">Left wheel error</option>
|
||||
<option value="8">Bin error</option>
|
||||
<option value="9">Bumper stuck</option>
|
||||
<option value="10">Right wheel error</option>
|
||||
<option value="11">Bin error</option>
|
||||
<option value="12">Cliff sensor issue</option>
|
||||
<option value="13">Both wheels off floor</option>
|
||||
<option value="14">Bin missing</option>
|
||||
<option value="15">Reboot required</option>
|
||||
<option value="16">Bumped unexpectedly</option>
|
||||
<option value="17">Path blocked</option>
|
||||
<option value="18">Docking issue</option>
|
||||
<option value="19">Undocking issue</option>
|
||||
<option value="20">Docking issue</option>
|
||||
<option value="21">Navigation problem</option>
|
||||
<option value="22">Navigation problem</option>
|
||||
<option value="23">Battery issue</option>
|
||||
<option value="24">Navigation problem</option>
|
||||
<option value="25">Reboot required</option>
|
||||
<option value="26">Vacuum problem</option>
|
||||
<option value="27">Vacuum problem</option>
|
||||
<option value="29">Software update needed</option>
|
||||
<option value="30">Vacuum problem</option>
|
||||
<option value="31">Reboot required</option>
|
||||
<option value="32">Smart map problem</option>
|
||||
<option value="33">Path blocked</option>
|
||||
<option value="34">Reboot required</option>
|
||||
<option value="35">Unrecognized cleaning pad</option>
|
||||
<option value="36">Bin full</option>
|
||||
<option value="37">Tank needed refilling</option>
|
||||
<option value="38">Vacuum problem</option>
|
||||
<option value="39">Reboot required</option>
|
||||
<option value="40">Navigation problem</option>
|
||||
<option value="41">Timed out</option>
|
||||
<option value="42">Localization problem</option>
|
||||
<option value="43">Navigation problem</option>
|
||||
<option value="44">Pump issue</option>
|
||||
<option value="45">Lid open</option>
|
||||
<option value="46">Low battery</option>
|
||||
<option value="47">Reboot required</option>
|
||||
<option value="48">Path blocked</option>
|
||||
<option value="52">Pad required attention</option>
|
||||
<option value="65">Hardware problem detected</option>
|
||||
<option value="66">Low memory</option>
|
||||
<option value="68">Hardware problem detected</option>
|
||||
<option value="73">Pad type changed</option>
|
||||
<option value="74">Max area reached</option>
|
||||
<option value="75">Navigation problem</option>
|
||||
<option value="76">Hardware problem detected</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="sched_switch">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Schedule</label>
|
||||
</channel-type>
|
||||
<channel-type id="schedule" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Schedule</label>
|
||||
<description>Schedule bitmask for use in scripts: Sun Mon Tue Wed Thu Fri Sat</description>
|
||||
<state min="0" max="127"/>
|
||||
</channel-type>
|
||||
<channel-type id="rssi" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>RSSI</label>
|
||||
<description>Wi-Fi signal strength</description>
|
||||
<state readOnly="true"></state>
|
||||
</channel-type>
|
||||
<channel-type id="snr" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>SNR</label>
|
||||
<description>Wi-Fi signal to noise ratio</description>
|
||||
<state readOnly="true"></state>
|
||||
</channel-type>
|
||||
<channel-type id="edge_clean" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Edge clean</label>
|
||||
<description>Seek out and clean along walls and furniture legs</description>
|
||||
</channel-type>
|
||||
<channel-type id="always_finish" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Always finish</label>
|
||||
<description>Do not pause current mission if the bin is full</description>
|
||||
</channel-type>
|
||||
<channel-type id="power_boost" advanced="true">
|
||||
<item-type>String</item-type>
|
||||
<label>Power boost</label>
|
||||
<description>Carpet boost mode</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="auto">Automatic</option>
|
||||
<option value="performance">Performance mode</option>
|
||||
<option value="eco">Eco mode</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="clean_passes" advanced="true">
|
||||
<item-type>String</item-type>
|
||||
<label>Cleaning passes</label>
|
||||
<description>Number of cleaning passes to make</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="auto">Automatic</option>
|
||||
<option value="1">One pass</option>
|
||||
<option value="2">Two passes</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
</thing:thing-descriptions>
|
|
@ -67,14 +67,14 @@
|
|||
<item-type>Number</item-type>
|
||||
<label>UV Index</label>
|
||||
<description>UV Index</description>
|
||||
<state readOnly="true" pattern="%d/16" min="0" max="16"/>
|
||||
<state readOnly="true" pattern="%.0f/16" min="0" max="16"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="UVMax" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>UV Max</label>
|
||||
<description>Max UV Index for the day (at solar noon)</description>
|
||||
<state readOnly="true" pattern="%d/16" min="0" max="16"/>
|
||||
<state readOnly="true" pattern="%.0f/16" min="0" max="16"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="Ozone">
|
||||
|
@ -102,37 +102,39 @@
|
|||
|
||||
<channel-type id="UVTime" advanced="true">
|
||||
<item-type>DateTime</item-type>
|
||||
<label>UV Time</label>
|
||||
<description>UV Index timestamp.</description>
|
||||
<label>Report Timestamp</label>
|
||||
<description>UV Report timestamp.</description>
|
||||
<category>time</category>
|
||||
<state readOnly="true" pattern="%1$tF %1$tR"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="UVColor" advanced="true">
|
||||
<item-type>Color</item-type>
|
||||
<label>UV Alert Color</label>
|
||||
<label>Alert Color</label>
|
||||
<description>Color associated to given UV Index alert level.</description>
|
||||
<category>rgb</category>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="SafeExposure" advanced="false">
|
||||
<item-type>Number:Time</item-type>
|
||||
<label>Safe Exposure</label>
|
||||
<description>Safe exposure time for Fitzpatrick Skin Types</description>
|
||||
<description>Safe exposure duration for Fitzpatrick Skin Types.</description>
|
||||
<category>time</category>
|
||||
<state readOnly="true" pattern="%d %unit%"/>
|
||||
<config-description>
|
||||
<parameter name="index" type="integer">
|
||||
<parameter name="index" type="text">
|
||||
<label>Skin Type</label>
|
||||
<description>Fitzpatrick Skin Type.</description>
|
||||
<options>
|
||||
<option value="1">I – White</option>
|
||||
<option value="2">II – White</option>
|
||||
<option value="3">III – Light brown</option>
|
||||
<option value="4">IV – Moderate brown</option>
|
||||
<option value="5">V – Dark brown</option>
|
||||
<option value="6">VI – Black</option>
|
||||
<option value="I">Pale</option>
|
||||
<option value="II">White</option>
|
||||
<option value="III">Light brown</option>
|
||||
<option value="IV">Moderate brown</option>
|
||||
<option value="V">Dark brown</option>
|
||||
<option value="VI">Black</option>
|
||||
</options>
|
||||
<default>2</default>
|
||||
<default>II</default>
|
||||
</parameter>
|
||||
</config-description>
|
||||
</channel-type>
|
||||
|
@ -140,7 +142,8 @@
|
|||
<channel-type id="elevation">
|
||||
<item-type>Number:Angle</item-type>
|
||||
<label>Elevation</label>
|
||||
<description>The elevation of the sun</description>
|
||||
<description>The elevation of the sun (should FOLLOW appropriate item).</description>
|
||||
<category>niveau</category>
|
||||
<state pattern="%.2f %unit%"/>
|
||||
</channel-type>
|
||||
|
||||
|
@ -154,6 +157,7 @@
|
|||
<channel-type id="Alert">
|
||||
<item-type>Number</item-type>
|
||||
<label>UV Alert</label>
|
||||
<category>alarm</category>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="0">Low</option>
|
||||
|
|
Loading…
Reference in New Issue