Updated external content (Jenkins build 285)
parent
865fed6077
commit
de180538ed
File diff suppressed because one or more lines are too long
|
@ -444,7 +444,7 @@ sitemap flashbriefings label="Flash Briefings"
|
|||
|
||||
## Smart Home Devices
|
||||
|
||||
Note: the cannels of smartHomeDevices and smartHomeDeviceGroup will be created dynamically based on the capabilities reported by the amazon server. This can take a little bit of time.
|
||||
Note: the channels of smartHomeDevices and smartHomeDeviceGroup will be created dynamically based on the capabilities reported by the amazon server. This can take a little bit of time.
|
||||
The polling interval configured in the Account Thing to get the state is specified in minutes and has a minimum of 10. This means it takes up to 10 minutes to see the state of a channel. The reason for this low interval is, that the polling causes a big server load for the Smart Home Skills.
|
||||
|
||||
#### Supported Things
|
||||
|
|
|
@ -0,0 +1,397 @@
|
|||
---
|
||||
id: surepetcare
|
||||
label: Sure Petcare
|
||||
title: Sure Petcare - Bindings
|
||||
type: binding
|
||||
description: "This binding offers integration to the Sure Petcare API, supporting cloud-connected cat flaps and feeders."
|
||||
since: 3x
|
||||
install: manual
|
||||
---
|
||||
|
||||
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||
|
||||
{% include base.html %}
|
||||
|
||||
# Sure Petcare Binding
|
||||
|
||||
This binding offers integration to the Sure Petcare API, supporting cloud-connected cat flaps and feeders.
|
||||
|
||||
### Features
|
||||
|
||||
1. Read access to all attributes for households, devices (hubs, flaps) and pets through individual things/channels.
|
||||
2. Manual setting of pet location.
|
||||
3. Setting of LED Mode (hub), Locking Mode (flaps) and Curfews.
|
||||
|
||||
### Restrictions / TODO
|
||||
|
||||
1. The Sure Petcare API is not publicly available and this binding has been based on observed interactions between their mobile phone app and the cloud API.
|
||||
If the Sure Petcare API changes, this binding might stop working.
|
||||
2. The current version of the binding supports only cat/pet flaps. Feeders are not yet supported as I don't own one yet.
|
||||
|
||||
### Credits
|
||||
|
||||
The binding code is based on a lot of work done by other developers:
|
||||
|
||||
- Holger Eisold (https://github.com/HerzScheisse) - Python use in openHAB and various PRs (https://github.com/HerzScheisse/SurePetcare-openHAB-JSR223-Rules)
|
||||
- Alex Toft (https://github.com/alextoft) - PHP implementation (https://github.com/alextoft/sureflap)
|
||||
- rcastberg (https://github.com/rcastberg) - Python implementation (https://github.com/rcastberg/sure_petcare)
|
||||
|
||||
## Supported Things
|
||||
|
||||
This binding supports the following thing types
|
||||
|
||||
| Thing | Thing Type | Discovery | Description |
|
||||
|-----------------|------------|-----------|--------------------------------------------------------------------------|
|
||||
| Bridge | Bridge | Manual | A single connection to the Sure Petcare API |
|
||||
| Household | Thing | Automatic | The Sure Petcare Household |
|
||||
| Hub Device | Thing | Automatic | The hub device which connects the cat flaps and feeders to the internet |
|
||||
| Flap Device | Thing | Automatic | A cat or pet flap |
|
||||
| Feeder Device | Thing | Automatic | A pet feeder |
|
||||
| Pet | Thing | Automatic | A pet (dog or cat) |
|
||||
|
||||
## Getting started / Discovery
|
||||
|
||||
The binding consists of a Bridge (the API connection), and a number of Things, which relates to the individual hardware devices and pets.
|
||||
Sure Petcare things can be configured either through the online configuration utility via discovery, or manually through a 'surepetcare.things' configuration file.
|
||||
The Bridge will not be autodiscovered and must be added manually. This can be done via bridge thing configuration file or via PaperUI. That is because the Sure Petcare API requires authentication credentials to communicate with the service.
|
||||
|
||||
After adding the Bridge, it will go ONLINE, and after a short while, the discovery process for household, devices and pets will start. When new hardware is discovered it will appear in the Inbox.
|
||||
|
||||
## Things and their channels
|
||||
|
||||
Channel names in **bold** are read/write, everything else is read-only
|
||||
|
||||
### Bridge Thing
|
||||
|
||||
| Channel | Type | Description |
|
||||
|-------------|--------|-----------------------------------------------------------------------------------|
|
||||
| refresh | Switch | Trigger switch to force a full cache update |
|
||||
|
||||
### Household Thing
|
||||
|
||||
| Channel | Type | Description |
|
||||
|------------|----------|----------------------------------------------|
|
||||
| id | Number | A unique id assigned by the Sure Petcare API |
|
||||
| name | Text | The name of the household |
|
||||
| timezoneId | Number | The id of the household's timezone |
|
||||
|
||||
### Hub Device Thing
|
||||
|
||||
| Channel | Type | Description |
|
||||
|-----------------|----------|-----------------------------------------------------------------------|
|
||||
| id | Number | A unique id assigned by the Sure Petcare API |
|
||||
| name | Text | The name of the hub |
|
||||
| product | Text | The type of product (1=hub) |
|
||||
| ledMode | Text | The mode of the hub's LED ears |
|
||||
| pairingMode | Text | The state of pairing |
|
||||
| online | Switch | Indicator if the hub is connected to the internet |
|
||||
|
||||
### Flap Device Thing (Cat or Pet Flap)
|
||||
|
||||
| Channel | Type | Description |
|
||||
|-----------------------|----------|-----------------------------------------------------------------------|
|
||||
| id | Number | A unique id assigned by the Sure Petcare API |
|
||||
| name | Text | The name of the flap |
|
||||
| product | Text | The type of product (3=pet flap, 6=cat flap) |
|
||||
| curfewEnabled1 | Switch | Indicator if curfew #1 configuration is enabled |
|
||||
| curfewLockTime1 | Text | The curfew #1 locking time (HH:MM) |
|
||||
| curfewUnlockTime1 | Text | The curfew #1 unlocking time (HH:MM) |
|
||||
| curfewEnabled2 | Switch | Indicator if curfew #2 configuration is enabled |
|
||||
| curfewLockTime2 | Text | The curfew #2 locking time (HH:MM) |
|
||||
| curfewUnlockTime2 | Text | The curfew #2 unlocking time (HH:MM) |
|
||||
| curfewEnabled3 | Switch | Indicator if curfew #3 configuration is enabled |
|
||||
| curfewLockTime3 | Text | The curfew #3 locking time (HH:MM) |
|
||||
| curfewUnlockTime3 | Text | The curfew #3 unlocking time (HH:MM) |
|
||||
| curfewEnabled4 | Switch | Indicator if curfew #4 configuration is enabled |
|
||||
| curfewLockTime4 | Text | The curfew #4 locking time (HH:MM) |
|
||||
| curfewUnlockTime4 | Text | The curfew #4 unlocking time (HH:MM) |
|
||||
| lockingMode | Text | The locking mode (e.g. in/out, in-only, out-only etc.) |
|
||||
| online | Switch | Indicator if the flap is connected to the hub |
|
||||
| lowBattery | Switch | Indicator if the battery voltage is low |
|
||||
| batteryLevel | Number | The battery voltage percentage |
|
||||
| batteryVoltage | Number | The absolute battery voltage measurement |
|
||||
| deviceRSSI | Number | The received device signal strength in dB |
|
||||
| hubRSSI | Number | The received hub signal strength in dB |
|
||||
|
||||
### Feeder Device Thing
|
||||
|
||||
| Channel | Type | Description |
|
||||
|-------------------|-------------|-------------------------------------------------------------------------------------------------|
|
||||
| id | Number | A unique id assigned by the Sure Petcare API |
|
||||
| name | Text | The name of the feeder |
|
||||
| product | Text | The type of product |
|
||||
| online | Switch | Indicator if the feeder is connected to the hub |
|
||||
| lowBattery | Switch | Indicator if the battery voltage is low |
|
||||
| batteryLevel | Number | The battery voltage percentage |
|
||||
| batteryVoltage | Number | The absolute battery voltage measurement |
|
||||
| deviceRSSI | Number | The received device signal strength in dB |
|
||||
| hubRSSI | Number | The received hub signal strength in dB |
|
||||
| bowls | Text | The feeder bowls type (1 big bowl or 2 half bowls) |
|
||||
| bowlsFood | Text | The feeder big bowl food type (wet food, dry food or both) |
|
||||
| bowlsTarget | Number:Mass | The feeder big bowl target weight in gram (even if user setting is oz, API stores this in gram) |
|
||||
| bowlsFoodLeft | Text | The feeder left half bowl food type (wet food, dry food or both) |
|
||||
| bowlsTargetLeft | Number:Mass | The feeder left half bowl target weight |
|
||||
| bowlsFoodRight | Text | The feeder right half bowl food type (wet food, dry food or both) |
|
||||
| bowlsTargetRight | Number:Mass | The feeder right half bowl target weight |
|
||||
| bowlsCloseDelay | Text | The feeder lid close delay (fast, normal, slow) |
|
||||
| bowlsTrainingMode | Text | The feeder training mode (off, full open, almost full open, half closed, almost closed) |
|
||||
|
||||
### Pet Thing
|
||||
|
||||
| Channel | Type | Description |
|
||||
|------------------------|-------------|-------------------------------------------------------------------------------------|
|
||||
| id | Number | A unique id assigned by the Sure Petcare API |
|
||||
| name | Text | The name of the pet |
|
||||
| comment | Text | A user provided comment/description |
|
||||
| gender | Text | The pet's gender |
|
||||
| breed | Text | The pet's breed |
|
||||
| species | Text | The pet's species |
|
||||
| photo | Image | The image of the pet |
|
||||
| tagIdentifier | Text | The unique identifier of the pet's micro chip or collar tag |
|
||||
| location | Text | The current location of the pet (0=unknown, 1=inside, 2=outside) |
|
||||
| locationChanged | DateTime | The time when the location was last changed |
|
||||
| locationTimeoffset | String | Time-Command to set the pet location with a time offset. (10, 30 or 60 minutes ago) |
|
||||
| locationChangedThrough | Text | The device name or username where the pet left/entered the house |
|
||||
| weight | Number:Mass | The pet's weight (in kilogram) |
|
||||
| dateOfBirth | DateTime | The pet's date of birth |
|
||||
| feederDevice | Text | The device from which the pet last ate |
|
||||
| feederLastChange | Number:Mass | The last eaten change in gram (big bowl) |
|
||||
| feederLastChangeLeft | Number:Mass | The last eaten change in gram (half bowl left) |
|
||||
| feederLastChangeRight | Number:Mass | The last eaten change in gram (half bowl right) |
|
||||
| feederLastFeeding | DateTime | The pet's last eaten date |
|
||||
|
||||
## Manual configuration
|
||||
|
||||
### Things configuration
|
||||
|
||||
If you use the label parameter (after the @ sign) you then have these things grouped in single tabs on PaperUI Control.
|
||||
|
||||
```
|
||||
Bridge surepetcare:bridge:bridge1 "Demo API Bridge" @ "SurePetcare" [ username="<USERNAME>", password="<PASSWORD>", refreshIntervalTopology=36000, refreshIntervalStatus=300 ]
|
||||
{
|
||||
Thing household 12345 "My Household" @ "SurePetcare"
|
||||
Thing hubDevice 123456 "My SurePetcare Hub" @ "SurePetcare Devices"
|
||||
Thing flapDevice 123456 "My Backdoor Cat Flap" @ "SurePetcare Devices"
|
||||
Thing feederDevice 123456 "My Pet Feeder" @ "SurePetcare Devices"
|
||||
Thing pet 12345 "My Cat" @ "SurePetcare Pets"
|
||||
}
|
||||
```
|
||||
|
||||
### Items configuration
|
||||
|
||||
```
|
||||
/* *****************************************
|
||||
* Bridge
|
||||
* *****************************************/
|
||||
Group dgPet
|
||||
Switch UR_1a_Online "Bridge Online [%s]" (dgPet) {channel="surepetcare:bridge:bridge1:online"}
|
||||
Switch UR_1a_Refresh "Bridge Data Refresh [%s]" (dgPet) {channel="surepetcare:bridge:bridge1:refresh"}
|
||||
|
||||
/* *****************************************
|
||||
* Household
|
||||
* *****************************************/
|
||||
Number UR_1b_Id "Household Id [%d]" (dgPet) {channel="surepetcare:household:bridge1:12345:id"}
|
||||
String UR_1b_Name "Household Name [%s]" (dgPet) {channel="surepetcare:household:bridge1:12345:name"}
|
||||
Number UR_1b_TimezoneId "Household Timezone Id [%d]" (dgPet) {channel="surepetcare:household:bridge1:12345:timezoneId"}
|
||||
|
||||
/* *****************************************
|
||||
* Hub
|
||||
* *****************************************/
|
||||
Number UR_1c_Id "Hub Id [%d]" (dgPet) {channel="surepetcare:hubDevice:bridge1:123456:id"}
|
||||
String UR_1c_Name "Hub Name [%s]" (dgPet) {channel="surepetcare:hubDevice:bridge1:123456:name"}
|
||||
String UR_1c_Product "Hub Product [%s]" (dgPet) {channel="surepetcare:hubDevice:bridge1:123456:product"}
|
||||
String UR_1c_LEDMode "Hub LED Mode [%s]" (dgPet) {channel="surepetcare:hubDevice:bridge1:123456:ledMode"}
|
||||
String UR_1c_PairingMode "Hub Pairing Mode [%s]" (dgPet) {channel="surepetcare:hubDevice:bridge1:123456:pairingMode"}
|
||||
Switch UR_1c_Online "Hub Online [%s]" (dgPet) {channel="surepetcare:hubDevice:bridge1:123456:online"}
|
||||
|
||||
/* *****************************************
|
||||
* Cat/Pet Flap
|
||||
* *****************************************/
|
||||
Number UR_1d_Id "Flap Id [%d]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:id"}
|
||||
String UR_1d_Name "Flap Name [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:name"}
|
||||
String UR_1d_Product "Flap Product [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:product"}
|
||||
Switch UR_1d_CurfewEnabled1 "Flap Curfew 1 Enabled [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:curfewEnabled1"}
|
||||
String UR_1d_CurfewLockTime1 "Flap Curfew 1 Lock Time [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:curfewLockTime1"}
|
||||
String UR_1d_CurfewUnlockTime1 "Flap Curfew 1 Unlock Time [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:curfewUnlockTime1"}
|
||||
Switch UR_1d_CurfewEnabled2 "Flap Curfew 2 Enabled [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:curfewEnabled2"}
|
||||
String UR_1d_CurfewLockTime2 "Flap Curfew 2 Lock Time [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:curfewLockTime2"}
|
||||
String UR_1d_CurfewUnlockTime2 "Flap Curfew 2 Unlock Time [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:curfewUnlockTime2"}
|
||||
Switch UR_1d_CurfewEnabled3 "Flap Curfew 3 Enabled [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:curfewEnabled3"}
|
||||
String UR_1d_CurfewLockTime3 "Flap Curfew 3 Lock Time [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:curfewLockTime3"}
|
||||
String UR_1d_CurfewUnlockTime3 "Flap Curfew 3 Unlock Time [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:curfewUnlockTime3"}
|
||||
Switch UR_1d_CurfewEnabled4 "Flap Curfew 4 Enabled [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:curfewEnabled4"}
|
||||
String UR_1d_CurfewLockTime4 "Flap Curfew 4 Lock Time [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:curfewLockTime4"}
|
||||
String UR_1d_CurfewUnlockTime5 "Flap Curfew 4 Unlock Time [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:curfewUnlockTime4"}
|
||||
String UR_1d_LockingMode "Flap Locking Mode [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:lockingMode"}
|
||||
Switch UR_1d_LowBattery "Flap Low Battery [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:lowBattery"}
|
||||
Number UR_1d_BatteryLevel "Flap Battery Level [%.0f %%]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:batteryLevel"}
|
||||
Number UR_1d_BatteryVoltage "Flap Battery Voltage [%.1f V]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:batteryVoltage"}
|
||||
Switch UR_1d_Online "Flap Online [%s]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:online"}
|
||||
Number UR_1d_DeviceRSSI "Flap Device RSSI [%.2f dB]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:deviceRSSI"}
|
||||
Number UR_1d_HubRSSI "Flap Hub RSSI [%.2f dB]" (dgPet) {channel="surepetcare:flapDevice:bridge1:123456:hubRSSI"}
|
||||
|
||||
/* *****************************************
|
||||
* Pet
|
||||
* *****************************************/
|
||||
Number UR_1e_Id "Pet Id [%d]" (dgPet) {channel="surepetcare:pet:bridge1:12345:id"}
|
||||
String UR_1e_Name "Pet Name [%s]" (dgPet) {channel="surepetcare:pet:bridge1:12345:name"}
|
||||
String UR_1e_Comment "Pet Comment [%s]" (dgPet) {channel="surepetcare:pet:bridge1:12345:comment"}
|
||||
String UR_1e_Gender "Pet Gender [%s]" (dgPet) {channel="surepetcare:pet:bridge1:12345:gender"}
|
||||
String UR_1e_Breed "Pet Breed [%s]" (dgPet) {channel="surepetcare:pet:bridge1:12345:breed"}
|
||||
String UR_1e_Species "Pet Species [%s]" (dgPet) {channel="surepetcare:pet:bridge1:12345:species"}
|
||||
Image UR_1e_Photo "Pet Photo" (dgPet) {channel="surepetcare:pet:bridge1:12345:photo"}
|
||||
String UR_1e_TagIdentifier "Pet Tag Identifier [%s]" (dgPet) {channel="surepetcare:pet:bridge1:12345:tagIdentifier"}
|
||||
String UR_1e_Location "Pet Location [%s]" (dgPet) {channel="surepetcare:pet:bridge1:12345:location"}
|
||||
String UR_1e_LocationTimeoffset"Pet Switch Location [%s]" (gCats) {channel="surepetcare:pet:bridge1:20584:locationTimeoffset"}
|
||||
DateTime UR_1e_LocationChanged "Pet Loc. Updated [%1$ta. %1$tH:%1$tM]" (dgPet) {channel="surepetcare:pet:bridge1:12345:locationChanged"}
|
||||
String UR_1e_LocationThrough "Pet Entered / Left through [%s]" (dgPet) {channel="surepetcare:pet:bridge1:12345:locationChangedThrough"}
|
||||
Number:Mass UR_1e_Weight "Pet Weight [%.1f %unit%]" (dgPet) {channel="surepetcare:pet:bridge1:12345:weight"}
|
||||
DateTime UR_1e_DateOfBirth "Pet Date of Birth [%1$td.%1$tm.%1$tY]" (dgPet) {channel="surepetcare:pet:bridge1:12345:dateOfBirth"}
|
||||
// Pet Feeder Data
|
||||
String UR_1e_Device "Device Name [%s]" (dgPet) {channel="surepetcare:pet:bridge1:12345:feederDevice"}
|
||||
Number:Mass UR_1e_Change "Change: [%.2f %unit%]" (dgPet) {channel="surepetcare:pet:bridge1:12345:feederLastChange"}
|
||||
Number:Mass UR_1e_ChangeLeft "Change: L [%.2f %unit%]" (dgPet) {channel="surepetcare:pet:bridge1:12345:feederLastChangeLeft"}
|
||||
Number:Mass UR_1e_ChangeRight "Change: R [%.2f %unit%]" (dgPet) {channel="surepetcare:pet:bridge1:12345:feederLastChangeRight"}
|
||||
DateTime UR_1e_FeedAt "Last Feeding [%1$ta. %1$tH:%1$tM]" (dgPet) {channel="surepetcare:pet:bridge1:12345:feederLastFeeding"}
|
||||
|
||||
/* *****************************************
|
||||
* Pet Feeder
|
||||
* *****************************************/
|
||||
Number UR_1f_Id "Feeder ID [%s]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:id"}
|
||||
String UR_1f_Name "Feeder Name [%s]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:name"}
|
||||
String UR_1f_Product "Feeder Product [%s]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:product"}
|
||||
Switch UR_1f_LowBattery "Feeder Low Battery [%s]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:lowBattery"}
|
||||
Number UR_1f_BatteryLevel "Feeder Battery Level [%.0f %%]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:batteryLevel"}
|
||||
Number UR_1f_BatteryVoltage "Feeder Battery Voltage [%.2f V]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:batteryVoltage"}
|
||||
String UR_1f_BowlsType "Feeder Bowls Type [%s]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:bowls"}
|
||||
String UR_1f_BowlsFoodtype "Feeder Food Type [%s]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:bowlsFood"}
|
||||
Number:Mass UR_1f_BowlsTarget "Feeder Target [%.0f %unit%]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:bowlsTarget"}
|
||||
String UR_1f_BowlsFoodtypeLeft "Feeder Food Type L [%s]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:bowlsFoodLeft"}
|
||||
Number:Mass UR_1f_BowlsTargetLeft "Feeder Target L [%.0f %unit%]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:bowlsTargetLeft"}
|
||||
String UR_1f_BowlsFoodtypeRight "Feeder Food Type R [%s]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:bowlsFoodRight"}
|
||||
Number:Mass UR_1f_BowlsTargetRight "Feeder Target R [%.0f %unit%]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:bowlsTargetRight"}
|
||||
String UR_1f_BowlsLidCloseDelay "Feeder Close Delay [%s]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:bowlsCloseDelay"}
|
||||
String UR_1f_BowlsTrainingMode "Feeder Training Mode [%s]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:bowlsTrainingMode"}
|
||||
Switch UR_1f_Online "Feeder Status [%s]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:online"}
|
||||
Number UR_1f_DeviceRSSI "Feeder Device Signal [%.2f dB]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:deviceRSSI"}
|
||||
Number UR_1f_HubRSSI "Feeder Hub Signal [%.2f dB]" (dgPet) {channel="surepetcare:feederDevice:bridge1:123456:hubRSSI"}
|
||||
```
|
||||
|
||||
### Sitemap Configuration
|
||||
|
||||
```
|
||||
sitemap surepetcare label="My home automation" {
|
||||
Frame label="Bridge" {
|
||||
Text item=UR_1a_Online valuecolor=[ON="green", OFF="red"]
|
||||
Switch item=UR_1a_Refresh
|
||||
}
|
||||
|
||||
Frame label="Single Pet/Cats items" {
|
||||
Text item=UR_1e_Location valuecolor=[1="green", 2="red"]
|
||||
// to see also the item state, just remove the brackets from the label
|
||||
Switch item=UR_1e_Location label="Set Pet Location []" mappings=[1="Inside", 2="Outside"]
|
||||
// Selection item=UR_1e_Location label="Set Pet Location []" mappings=[1="Im Haus", 2="Draußen"]
|
||||
Text item=UR_1e_LocationChanged
|
||||
Switch item=UR_1e_LocationTimeoffset label="Set Loc with time offset []" mappings=[10="-10min", 30="-30min", 60="-1h"]
|
||||
Text item=UR_1e_LocationThrough
|
||||
Text item=UR_1e_Id icon="text"
|
||||
Text item=UR_1e_Name
|
||||
Text item=UR_1e_Comment
|
||||
Text item=UR_1e_Gender
|
||||
Text item=UR_1e_Breed
|
||||
Text item=UR_1e_Species
|
||||
Text item=UR_1e_MicroChip
|
||||
Text item=UR_1e_Weight icon="text"
|
||||
Text item=UR_1e_DateOfBirth
|
||||
Text item=UR_1e_FeedDevice
|
||||
/*Text item=UR_1e_FeedChange icon="text"*/ // if you have one big bowl in your feeder use this line and comment the following 2 out
|
||||
Text item=UR_1e_FeedChangeLeft icon="text"
|
||||
Text item=UR_1e_FeedChangeRight icon="text"
|
||||
Text item=UR_1e_FeedAt
|
||||
Image item=UR_1e_Photo
|
||||
}
|
||||
|
||||
Frame label="Hub Device" {
|
||||
Text item=UR_1c_HubOnline valuecolor=[ON="green", OFF="red"]
|
||||
Text item=UR_1c_HubId icon="text"
|
||||
Text item=UR_1c_HubName
|
||||
Text item=UR_1c_HubProduct
|
||||
Switch item=UR_1c_HubLedMode mappings=[0="Off", 1="Bright", 4="Dimmed"]
|
||||
Text item=UR_1c_HubPairingMode
|
||||
}
|
||||
|
||||
Frame label="Flap Device" {
|
||||
Text item=UR_1d_FlapOnline valuecolor=[ON="green", OFF="red"]
|
||||
Text item=UR_1d_FlapId icon="text"
|
||||
Text item=UR_1d_FlapName
|
||||
Text item=UR_1d_FlapProduct
|
||||
Switch item=UR_1d_FlapCurfewEnabled1
|
||||
Text item=UR_1d_FlapCurfewLocktime1
|
||||
Text item=UR_1d_FlapCurfewUnlocktime1
|
||||
Switch item=UR_1d_FlapCurfewEnabled2
|
||||
Text item=UR_1d_FlapCurfewLocktime2
|
||||
Text item=UR_1d_FlapCurfewUnlocktime2
|
||||
Switch item=UR_1d_FlapCurfewEnabled3
|
||||
Text item=UR_1d_FlapCurfewLocktime3
|
||||
Text item=UR_1d_FlapCurfewUnlocktime3
|
||||
Switch item=UR_1d_FlapCurfewEnabled4
|
||||
Text item=UR_1d_FlapCurfewLocktime4
|
||||
Text item=UR_1d_FlapCurfewUnlocktime4
|
||||
Text item=UR_1d_FlapLockingMode
|
||||
Text item=UR_1d_FlapLowBattery valuecolor=[OFF="green", ON="red"]
|
||||
Text item=UR_1d_FlapBatteryLevel icon="battery"
|
||||
Text item=UR_1d_FlapBatteryVoltage icon="text"
|
||||
Text item=UR_1d_FlapDeviceRSSI icon="network"
|
||||
Text item=UR_1d_FlapHubRSSI icon="network"
|
||||
}
|
||||
|
||||
Frame label="Feeder Device" {
|
||||
Text item=UR_1f_FeederOnline valuecolor=[ON="green", OFF="red"]
|
||||
Text item=UR_1f_FeederId icon="text"
|
||||
Text item=UR_1f_FeederName
|
||||
Text item=UR_1f_FeederProduct
|
||||
Text item=UR_1f_FeederLowBattery valuecolor=[OFF="green", ON="red"]
|
||||
Text item=UR_1f_FeederBatteryLevel icon="battery"
|
||||
Text item=UR_1f_FeederBatteryVoltage icon="text"
|
||||
Text item=UR_1f_FeederBowlsType
|
||||
/*Text item=UR_1f_FeederBowlsFoodtype
|
||||
Text item=UR_1f_FeederBowlsTarget icon="text"*/
|
||||
Text item=UR_1f_FeederBowlsFoodtypeLeft
|
||||
Text item=UR_1f_FeederBowlsTargetLeft icon="text"
|
||||
Text item=UR_1f_FeederBowlsFoodtypeRight
|
||||
Text item=UR_1f_FeederBowlsTargetRight icon="text"
|
||||
Text item=UR_1f_FeederBowlsLidCloseDelay
|
||||
Text item=UR_1f_FeederBowlsTrainingMode
|
||||
Text item=UR_1f_FeederDeviceRSSI icon="network"
|
||||
Text item=UR_1f_FeederHubRSSI icon="network"
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### Using Group Items
|
||||
|
||||
You can also set pet locations with a group item. Please Note: the location for each pet gets updated only if the current location is not already the location you want to set. This can be very useful if you have alot of pets that often enter the home by any window/door.
|
||||
Your .items file should contain this:
|
||||
|
||||
```
|
||||
Group:String:OR(1,2) gLocation "Cats inside [%d]"
|
||||
String UR_1e_Location "Pet Location [%s]" (dgPet, gLocation) {channel="surepetcare:pet:bridge1:12345:location"}
|
||||
```
|
||||
|
||||
And your .sitemap file could look like this:
|
||||
|
||||
```
|
||||
Frame label="Group Pet/Cats items" {
|
||||
Selection item=gLocation label="Set ALL cats to:" mappings=[1="Inside", 2="Outside"] icon="text"
|
||||
Switch item=gLocation label="Set ALL cats to: []" mappings=[1="Inside", 2="Outside"]
|
||||
Group item=gLocation
|
||||
}
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
| Problem | Solution |
|
||||
|---------------------------------------------|-------------------------------------------------------------------------------------|
|
||||
| Bridge cannot connect to Sure Petcare API | Check if you can logon to the Sure Petcare app with the given username/password. |
|
||||
|
|
@ -0,0 +1,665 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<thing:thing-descriptions bindingId="surepetcare"
|
||||
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">
|
||||
|
||||
<bridge-type id="bridge">
|
||||
|
||||
<label>Sure Petcare API Bridge</label>
|
||||
<description>The Sure Petcare Cloud API Bridge</description>
|
||||
|
||||
<channels>
|
||||
<channel id="refresh" typeId="refreshType"/>
|
||||
</channels>
|
||||
|
||||
<config-description>
|
||||
<parameter name="username" type="text" required="true">
|
||||
<label>Username (Email)</label>
|
||||
<description>The username to access the Sure Petcare API</description>
|
||||
</parameter>
|
||||
<parameter name="password" type="text" required="true">
|
||||
<label>Password</label>
|
||||
<description>The password to access the Sure Petcare API</description>
|
||||
<context>password</context>
|
||||
</parameter>
|
||||
<parameter name="refreshIntervalTopology" type="integer" required="false" min="300" unit="s">
|
||||
<label>Refresh Interval Topology</label>
|
||||
<description>Query interval (in secs) for device topology</description>
|
||||
<default>36000</default>
|
||||
</parameter>
|
||||
<parameter name="refreshIntervalStatus" type="integer" required="false" min="60" unit="s">
|
||||
<label>Refresh Interval Pet Status</label>
|
||||
<description>Query interval (in secs) for pet status</description>
|
||||
<default>300</default>
|
||||
</parameter>
|
||||
</config-description>
|
||||
|
||||
</bridge-type>
|
||||
|
||||
<channel-type id="refreshType">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Refresh</label>
|
||||
<description>Triggers a cache refresh of everything (devices, pets etc.).</description>
|
||||
<state readOnly="false"/>
|
||||
</channel-type>
|
||||
|
||||
|
||||
<!-- Supported Sure Petcare pets and features -->
|
||||
|
||||
<thing-type id="household">
|
||||
<supported-bridge-type-refs>
|
||||
<bridge-type-ref id="bridge"/>
|
||||
</supported-bridge-type-refs>
|
||||
|
||||
<label>Sure Petcare Household</label>
|
||||
<description>A Sure Petcare household</description>
|
||||
|
||||
<channels>
|
||||
<channel id="id" typeId="idType"/>
|
||||
<channel id="name" typeId="nameType"/>
|
||||
<channel id="timezoneId" typeId="timezoneIdType"/>
|
||||
</channels>
|
||||
|
||||
<properties>
|
||||
<property name="id"/>
|
||||
<property name="version"/>
|
||||
<property name="createdAt"/>
|
||||
<property name="updatedAt"/>
|
||||
</properties>
|
||||
<representation-property>id</representation-property>
|
||||
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="hubDevice">
|
||||
<supported-bridge-type-refs>
|
||||
<bridge-type-ref id="bridge"/>
|
||||
</supported-bridge-type-refs>
|
||||
|
||||
<label>Sure Petcare Hub Device</label>
|
||||
<description>A Sure Petcare hub device (connects cat flaps, feeders etc. to a network)</description>
|
||||
|
||||
<channels>
|
||||
<channel id="id" typeId="idType"/>
|
||||
<channel id="name" typeId="nameType"/>
|
||||
<channel id="product" typeId="productType"/>
|
||||
<channel id="ledMode" typeId="ledModeType"/>
|
||||
<channel id="pairingMode" typeId="pairingModeType"/>
|
||||
<channel id="online" typeId="onlineType"/>
|
||||
</channels>
|
||||
|
||||
<properties>
|
||||
<property name="id"/>
|
||||
<property name="version"/>
|
||||
<property name="createdAt"/>
|
||||
<property name="updatedAt"/>
|
||||
<property name="householdId"/>
|
||||
<property name="productType"/>
|
||||
<property name="productName"/>
|
||||
</properties>
|
||||
<representation-property>id</representation-property>
|
||||
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="flapDevice">
|
||||
<supported-bridge-type-refs>
|
||||
<bridge-type-ref id="bridge"/>
|
||||
</supported-bridge-type-refs>
|
||||
|
||||
<label>Sure Petcare Flap Device</label>
|
||||
<description>A Sure Petcare cat or pet flap device</description>
|
||||
|
||||
<channels>
|
||||
<channel id="id" typeId="idType"/>
|
||||
<channel id="name" typeId="nameType"/>
|
||||
<channel id="product" typeId="productType"/>
|
||||
<channel id="curfewEnabled1" typeId="curfewEnabledType"/>
|
||||
<channel id="curfewLockTime1" typeId="curfewLockTimeType"/>
|
||||
<channel id="curfewUnlockTime1" typeId="curfewUnlockTimeType"/>
|
||||
<channel id="curfewEnabled2" typeId="curfewEnabledType"/>
|
||||
<channel id="curfewLockTime2" typeId="curfewLockTimeType"/>
|
||||
<channel id="curfewUnlockTime2" typeId="curfewUnlockTimeType"/>
|
||||
<channel id="curfewEnabled3" typeId="curfewEnabledType"/>
|
||||
<channel id="curfewLockTime3" typeId="curfewLockTimeType"/>
|
||||
<channel id="curfewUnlockTime3" typeId="curfewUnlockTimeType"/>
|
||||
<channel id="curfewEnabled4" typeId="curfewEnabledType"/>
|
||||
<channel id="curfewLockTime4" typeId="curfewLockTimeType"/>
|
||||
<channel id="curfewUnlockTime4" typeId="curfewUnlockTimeType"/>
|
||||
<channel id="lockingMode" typeId="lockingModeType"/>
|
||||
<channel id="lowBattery" typeId="system.low-battery"/>
|
||||
<channel id="batteryLevel" typeId="system.battery-level"/>
|
||||
<channel id="batteryVoltage" typeId="batteryVoltageType"/>
|
||||
<channel id="online" typeId="onlineType"/>
|
||||
<channel id="deviceRSSI" typeId="rssiDeviceType"/>
|
||||
<channel id="hubRSSI" typeId="rssiHubType"/>
|
||||
</channels>
|
||||
|
||||
<properties>
|
||||
<property name="id"/>
|
||||
<property name="version"/>
|
||||
<property name="createdAt"/>
|
||||
<property name="updatedAt"/>
|
||||
<property name="householdId"/>
|
||||
<property name="productType"/>
|
||||
<property name="productName"/>
|
||||
<property name="pairingAt"/>
|
||||
</properties>
|
||||
<representation-property>id</representation-property>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="feederDevice">
|
||||
<supported-bridge-type-refs>
|
||||
<bridge-type-ref id="bridge"/>
|
||||
</supported-bridge-type-refs>
|
||||
|
||||
<label>Sure Petcare Feeder Device</label>
|
||||
<description>A Sure Petcare pet feeder device</description>
|
||||
|
||||
<channels>
|
||||
<channel id="id" typeId="idType"/>
|
||||
<channel id="name" typeId="nameType"/>
|
||||
<channel id="product" typeId="productType"/>
|
||||
<channel id="lowBattery" typeId="system.low-battery"/>
|
||||
<channel id="batteryLevel" typeId="system.battery-level"/>
|
||||
<channel id="batteryVoltage" typeId="batteryVoltageType"/>
|
||||
<channel id="online" typeId="onlineType"/>
|
||||
<channel id="deviceRSSI" typeId="rssiDeviceType"/>
|
||||
<channel id="hubRSSI" typeId="rssiHubType"/>
|
||||
<channel id="bowlsFood" typeId="bowlsFoodType"/>
|
||||
<channel id="bowlsTarget" typeId="bowlsTargetType"/>
|
||||
<channel id="bowlsFoodLeft" typeId="bowlsFoodLeftType"/>
|
||||
<channel id="bowlsTargetLeft" typeId="bowlsTargetLeftType"/>
|
||||
<channel id="bowlsFoodRight" typeId="bowlsFoodRightType"/>
|
||||
<channel id="bowlsTargetRight" typeId="bowlsTargetRightType"/>
|
||||
<channel id="bowls" typeId="bowlsType"/>
|
||||
<channel id="bowlsCloseDelay" typeId="bowlsCloseDelayType"/>
|
||||
<channel id="bowlsTrainingMode" typeId="bowlsTrainingModeType"/>
|
||||
</channels>
|
||||
|
||||
<properties>
|
||||
<property name="id"/>
|
||||
<property name="version"/>
|
||||
<property name="createdAt"/>
|
||||
<property name="updatedAt"/>
|
||||
<property name="householdId"/>
|
||||
<property name="productType"/>
|
||||
<property name="productName"/>
|
||||
<property name="pairingAt"/>
|
||||
</properties>
|
||||
<representation-property>id</representation-property>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="pet">
|
||||
<supported-bridge-type-refs>
|
||||
<bridge-type-ref id="bridge"/>
|
||||
</supported-bridge-type-refs>
|
||||
|
||||
<label>Sure Petcare Pet</label>
|
||||
<description>A Sure Petcare pet</description>
|
||||
|
||||
<channels>
|
||||
<channel id="id" typeId="idType"/>
|
||||
<channel id="name" typeId="nameType"/>
|
||||
<channel id="comment" typeId="commentType"/>
|
||||
<channel id="gender" typeId="genderType"/>
|
||||
<channel id="breed" typeId="breedType"/>
|
||||
<channel id="species" typeId="speciesType"/>
|
||||
<channel id="photo" typeId="photoType"/>
|
||||
<channel id="tagIdentifier" typeId="tagIdentifierType"/>
|
||||
<channel id="location" typeId="locationType"/>
|
||||
<channel id="locationChanged" typeId="locationChangedType"/>
|
||||
<channel id="locationTimeoffset" typeId="locationTimeoffsetType"/>
|
||||
<channel id="locationChangedThrough" typeId="locationChangedThroughType"/>
|
||||
<channel id="dateOfBirth" typeId="dateOfBirthType"/>
|
||||
<channel id="weight" typeId="weightType"/>
|
||||
<channel id="feederDevice" typeId="feederDeviceType"/>
|
||||
<channel id="feederLastFeeding" typeId="feederLastFeedingType"/>
|
||||
<channel id="feederLastChange" typeId="feederLastChangeType"/>
|
||||
<channel id="feederLastChangeLeft" typeId="feederLastChangeLeftType"/>
|
||||
<channel id="feederLastChangeRight" typeId="feederLastChangeRightType"/>
|
||||
</channels>
|
||||
|
||||
<properties>
|
||||
<property name="id"/>
|
||||
<property name="version"/>
|
||||
<property name="createdAt"/>
|
||||
<property name="updatedAt"/>
|
||||
<property name="householdId"/>
|
||||
</properties>
|
||||
<representation-property>id</representation-property>
|
||||
|
||||
</thing-type>
|
||||
|
||||
<channel-type id="idType">
|
||||
<item-type>Number</item-type>
|
||||
<label>Id</label>
|
||||
<description>A unique id of the thing</description>
|
||||
<state readOnly="true" pattern="%d"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="nameType">
|
||||
<item-type>String</item-type>
|
||||
<label>Name</label>
|
||||
<description>The name of the thing</description>
|
||||
<state readOnly="true" pattern="%s"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="commentType">
|
||||
<item-type>String</item-type>
|
||||
<label>Comment</label>
|
||||
<description>Comments about the thing</description>
|
||||
<state readOnly="true" pattern="%s"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="timezoneIdType">
|
||||
<item-type>Number</item-type>
|
||||
<label>Timezone Id</label>
|
||||
<description>The identifier of the timezone</description>
|
||||
<state readOnly="true" pattern="%d"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="productType">
|
||||
<item-type>String</item-type>
|
||||
<label>Product Type</label>
|
||||
<description>The type of product this device represents</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="0">Unknown</option>
|
||||
<option value="1">Hub</option>
|
||||
<option value="3">Pet Flap</option>
|
||||
<option value="4">Pet Feeder</option>
|
||||
<option value="6">Cat Flap</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="shareCodeType" advanced="true">
|
||||
<item-type>String</item-type>
|
||||
<label>Share Code</label>
|
||||
<description>A unique code provided by Sure Petcare to access photos of pets</description>
|
||||
<state readOnly="true" pattern="%s"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="genderType">
|
||||
<item-type>String</item-type>
|
||||
<label>Gender</label>
|
||||
<description>The gender of the pet</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="0">Female</option>
|
||||
<option value="1">Male</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="breedType">
|
||||
<item-type>String</item-type>
|
||||
<label>Breed</label>
|
||||
<description>The breed of the pet</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="333">Abyssinian</option>
|
||||
<option value="334">American Bobtail</option>
|
||||
<option value="335">American Curl</option>
|
||||
<option value="336">American Shorthair</option>
|
||||
<option value="337">American Wirehair</option>
|
||||
<option value="338">Balinese</option>
|
||||
<option value="339">Bengal</option>
|
||||
<option value="340">Birman</option>
|
||||
<option value="341">Bombay</option>
|
||||
<option value="342">British Shorthair</option>
|
||||
<option value="343">Burmese</option>
|
||||
<option value="344">Burmilla</option>
|
||||
<option value="345">Chartreux</option>
|
||||
<option value="346">Chinese Li Hua</option>
|
||||
<option value="347">Colorpoint Shorthair</option>
|
||||
<option value="348">Cornish Rex</option>
|
||||
<option value="349">Cymric</option>
|
||||
<option value="350">Devon Rex</option>
|
||||
<option value="351">Egyptian Mau</option>
|
||||
<option value="352">European Burmese</option>
|
||||
<option value="353">Exotic</option>
|
||||
<option value="354">Havana Brown</option>
|
||||
<option value="355">Himalayan</option>
|
||||
<option value="356">Japanese Bobtail</option>
|
||||
<option value="357">Javanese</option>
|
||||
<option value="358">Korat</option>
|
||||
<option value="359">LaPerm</option>
|
||||
<option value="360">Maine Coon</option>
|
||||
<option value="361">Manx</option>
|
||||
<option value="362">Nebelung</option>
|
||||
<option value="363">Norwegian Forest</option>
|
||||
<option value="364">Ocicat</option>
|
||||
<option value="365">Oriental</option>
|
||||
<option value="366">Persian</option>
|
||||
<option value="367">Ragamuffin</option>
|
||||
<option value="368">Ragdoll Cats</option>
|
||||
<option value="369">Russisch Blue</option>
|
||||
<option value="370">Savannah</option>
|
||||
<option value="371">Scottish Fold</option>
|
||||
<option value="372">Selkirk Rex</option>
|
||||
<option value="373">Siamese Cat</option>
|
||||
<option value="374">Siberian</option>
|
||||
<option value="375">Singapura</option>
|
||||
<option value="376">Snowshoe</option>
|
||||
<option value="377">Somali</option>
|
||||
<option value="378">Sphynx</option>
|
||||
<option value="379">Tonkinese</option>
|
||||
<option value="380">Turkish Angora</option>
|
||||
<option value="381">Turkish Van</option>
|
||||
<option value="382">Domestic Shorthair</option>
|
||||
<option value="383">Domestic Longhair</option>
|
||||
<option value="384">Moggy</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="speciesType">
|
||||
<item-type>String</item-type>
|
||||
<label>Species</label>
|
||||
<description>The species of the pet</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="0">Undefined</option>
|
||||
<option value="1">Cat</option>
|
||||
<option value="2">Dog</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="photoType">
|
||||
<item-type>Image</item-type>
|
||||
<label>Pet Photo</label>
|
||||
<description>The image of the pet</description>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="tagIdentifierType">
|
||||
<item-type>String</item-type>
|
||||
<label>Micro Chip Tag Identifier</label>
|
||||
<description>The unique identifier of the pet micro chip tag</description>
|
||||
<state readOnly="true" pattern="%s"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="locationType">
|
||||
<item-type>String</item-type>
|
||||
<label>Location</label>
|
||||
<description>The current location of the pet</description>
|
||||
<state readOnly="false">
|
||||
<options>
|
||||
<option value="0">Unknown</option>
|
||||
<option value="1">Inside</option>
|
||||
<option value="2">Outside</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="locationChangedType">
|
||||
<item-type>DateTime</item-type>
|
||||
<label>Last Location Change Time</label>
|
||||
<description>The time when the pet location has last changed</description>
|
||||
<state readOnly="true" pattern="%1$tF %1$tR"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="locationTimeoffsetType">
|
||||
<item-type>String</item-type>
|
||||
<label>Location Update with Time Offset</label>
|
||||
<description>The location update of the pet with time offset (10, 30, 60 minutes ago.)</description>
|
||||
<state readOnly="false">
|
||||
<options>
|
||||
<option value="10">10 mins ago</option>
|
||||
<option value="30">30 mins ago</option>
|
||||
<option value="60">60 mins ago</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="locationChangedThroughType">
|
||||
<item-type>String</item-type>
|
||||
<label>Pet Location Changed Through</label>
|
||||
<description>Shows the device name or username of the last location change.</description>
|
||||
<state readOnly="true" pattern="%s"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="ledModeType" advanced="true">
|
||||
<item-type>String</item-type>
|
||||
<label>LED Mode</label>
|
||||
<description>The current LED mode of the device</description>
|
||||
<state readOnly="false">
|
||||
<options>
|
||||
<option value="0">Off</option>
|
||||
<option value="1">Bright</option>
|
||||
<option value="4">Dimmed</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="pairingModeType" advanced="true">
|
||||
<item-type>String</item-type>
|
||||
<label>Pairing Mode</label>
|
||||
<description>The current pairing mode of the device</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="0">Normal Mode</option>
|
||||
<option value="1">Pairing Mode</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="onlineType">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Online</label>
|
||||
<description>Indicator if device is online or offline</description>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="curfewEnabledType">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Curfew Enabled</label>
|
||||
<description>Indicator if the curfew is enabled</description>
|
||||
<state readOnly="false"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="curfewLockTimeType">
|
||||
<item-type>String</item-type>
|
||||
<label>Curfew Lock Time</label>
|
||||
<description>The time when the curfew starts</description>
|
||||
<state readOnly="false" pattern="%s"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="curfewUnlockTimeType">
|
||||
<item-type>String</item-type>
|
||||
<label>Curfew Unlock Time</label>
|
||||
<description>The time when the curfew finishes</description>
|
||||
<state readOnly="false" pattern="%s"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="dateOfBirthType">
|
||||
<item-type>DateTime</item-type>
|
||||
<label>Pet Date of Birth</label>
|
||||
<description>The pet's date of birth.</description>
|
||||
<category>Time</category>
|
||||
<state readOnly="true" pattern="%1$tY-%1$tm-%1$td"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="weightType">
|
||||
<item-type>Number:Mass</item-type>
|
||||
<label>Pet Weight</label>
|
||||
<description>The pet weight</description>
|
||||
<state readOnly="true" pattern="%.1f %unit%"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="feederDeviceType">
|
||||
<item-type>String</item-type>
|
||||
<label>Pet Feeding Device Name</label>
|
||||
<description>The pet feeding device name</description>
|
||||
<state readOnly="true" pattern="%s"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="feederLastFeedingType">
|
||||
<item-type>DateTime</item-type>
|
||||
<label>Pet Last Feeding</label>
|
||||
<description>The last pet feeding</description>
|
||||
<state readOnly="true" pattern="%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="feederLastChangeType">
|
||||
<item-type>Number:Mass</item-type>
|
||||
<label>Pet Feeding Last Change</label>
|
||||
<description>The pet feeding last change</description>
|
||||
<state readOnly="true" pattern="%.2f %unit%"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="feederLastChangeLeftType">
|
||||
<item-type>Number:Mass</item-type>
|
||||
<label>Pet Feeding Last Change Left</label>
|
||||
<description>The pet feeding last change left</description>
|
||||
<state readOnly="true" pattern="%.2f %unit%"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="feederLastChangeRightType">
|
||||
<item-type>Number:Mass</item-type>
|
||||
<label>Pet Feeding Last Change Right</label>
|
||||
<description>The pet feeding last change right</description>
|
||||
<state readOnly="true" pattern="%.2f %unit%"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="lockingModeType">
|
||||
<item-type>String</item-type>
|
||||
<label>Locking Mode</label>
|
||||
<description>The id of the locking mode the flap is currently set to</description>
|
||||
<state readOnly="false">
|
||||
<options>
|
||||
<option value="0">Unlocked</option>
|
||||
<option value="1">Locked In-only</option>
|
||||
<option value="2">Locked Out-only</option>
|
||||
<option value="3">Locked</option>
|
||||
<option value="4">Curfew</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="batteryVoltageType">
|
||||
<item-type>Number:ElectricPotential</item-type>
|
||||
<label>Battery Voltage</label>
|
||||
<description>The current battery voltage</description>
|
||||
<state readOnly="true" pattern="%.1f %unit%"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="rssiDeviceType" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Signal Strength Device (RSSI)</label>
|
||||
<description>The received device signal strength (RSSI).</description>
|
||||
<state readOnly="true" pattern="%.2f dB"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="rssiHubType" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Signal Strength Hub (RSSI)</label>
|
||||
<description>The received hub signal strength (RSSI).</description>
|
||||
<state readOnly="true" pattern="%.2f dB"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="bowlsFoodType">
|
||||
<item-type>String</item-type>
|
||||
<label>Bowls Food Type (Big Bowl)</label>
|
||||
<description>The food type of the bowl if the big bowl is used.</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="1">Wet Food</option>
|
||||
<option value="2">Dry Food</option>
|
||||
<option value="3">Wet + Dry Food</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="bowlsTargetType">
|
||||
<item-type>Number:Mass</item-type>
|
||||
<label>Bowls Target (Big Bowl)</label>
|
||||
<description>The weight target of the bowl if the big bowl is used.</description>
|
||||
<state readOnly="true" pattern="%.0f %unit%"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="bowlsFoodLeftType">
|
||||
<item-type>String</item-type>
|
||||
<label>Bowls Food Type Small Bowl (Left)</label>
|
||||
<description>The food type of the left bowl if the small bowls are used.</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="1">Wet Food</option>
|
||||
<option value="2">Dry Food</option>
|
||||
<option value="3">Wet + Dry Food</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="bowlsTargetLeftType">
|
||||
<item-type>Number:Mass</item-type>
|
||||
<label>Bowls Target Small Bowl (Left)</label>
|
||||
<description>The weight target of the left bowl if the small bowls are used.</description>
|
||||
<state readOnly="true" pattern="%.0f %unit%"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="bowlsFoodRightType">
|
||||
<item-type>String</item-type>
|
||||
<label>Bowls Food Type Small Bowl (Right)</label>
|
||||
<description>The food type of the right bowl if the small bowls are used.</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="1">Wet Food</option>
|
||||
<option value="2">Dry Food</option>
|
||||
<option value="3">Wet + Dry Food</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="bowlsTargetRightType">
|
||||
<item-type>Number:Mass</item-type>
|
||||
<label>Bowls Target Small Bowl (Right)</label>
|
||||
<description>The weight target of the right bowl if the small bowls are used.</description>
|
||||
<state readOnly="true" pattern="%.0f %unit%"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="bowlsType">
|
||||
<item-type>String</item-type>
|
||||
<label>Bowls Type</label>
|
||||
<description>The type of used bowls.</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="0">Undefined</option>
|
||||
<option value="1">Big Bowl</option>
|
||||
<option value="4">Half Bowls</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="bowlsCloseDelayType">
|
||||
<item-type>String</item-type>
|
||||
<label>Feeder Lid Close Delay</label>
|
||||
<description>The feeder lid close delay</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="0">Fast</option>
|
||||
<option value="4">Normal</option>
|
||||
<option value="20">Slow</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="bowlsTrainingModeType">
|
||||
<item-type>String</item-type>
|
||||
<label>Feeder Training Mode</label>
|
||||
<description>The feeder training mode.</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="0">Off</option>
|
||||
<option value="1">Full open</option>
|
||||
<option value="2">Almost Full open</option>
|
||||
<option value="3">Half closed</option>
|
||||
<option value="4">Almost closed</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
</thing:thing-descriptions>
|
Loading…
Reference in New Issue