yunkong2
Version:
automate your life - platfom
338 lines (300 loc) • 14.4 kB
Markdown
# State roles
## Common
* state - very common purpose. If you don't know which role the state has, use this one.
* text (common.type = string)
* text.url (common.type = string) state val contains a url for usage in an anchor, iframe or img
* html (common.type = string)
* json (common.type = string)
* list (common.type = array)
* date (common.type = string - parsable by "new Date(ddd)" string
* date (common.type = number - epoch seconds * 1000
## Sensor (booleans, read-only)
*common.type=boolean, common.write=false*
* sensor.window - window opened (true) or closed (false)
* sensor.door - door opened (true) or closed (false)
* sensor.alarm - some common alarm
* sensor.alarm.flood - water leakage
* sensor.alarm.fire - fire sensor
* sensor.alarm.secure - door opened, window opened or motion detected during alarm is ON.
* sensor.alarm.power - No power (voltage = 0)
* sensor.light - feedback from lamp, that it is ON
* sensor.lock - actual position of lock
* sensor.motion - motion sensor
* sensor.rain - rain detected
* sensor.noise - noise detected
## Buttons (booleans, write-only)
*common.type=boolean, common.write=true, common.read=false*
* button
* button.long
* button.stop - e.g. rollo stop,
* button.start
* button.open.door
* button.open.window
## Values (numbers, read-only)
*common.type=number, common.write=false*
* value
* value.window (common.states={"0": "CLOSED", "1": "TILTED", "2": "OPEN"}) It is important to have (CLOSED/TILTED/OPEN). Values can differ.
* value.temperature (common.unit='°C' or '°F' or 'K')
* value.humidity
* value.brightness - luminance level (unit: lux, )
* value.min
* value.max
* value.default
* value.battery - battery level
* value.valve - valve level
* value.time - getTime() of Date() object
* value.interval (common.unit='sec') - Interval in seconds (can be 0.1 or less)
* ~~value.date (common.type=string) - Date in form 2015.01.01 (without time)~~
* ~~value.datetime (common.type=string) - Date and time in system format~~
* value.gps.longitude - gps longitude coordinates
* value.gps.latitude - gps latitude
* value.gps.elevation - gps elevation
* value.gps - longitude and latitude together like '5.56;43.45'
* value.power.consumption (unit=Wh or KWh)
* value.direction - (common.type=number ~~or string~~, indicates up/down, left/right, 4-way switches, wind-direction, ... )
* value.curtain - actual position of curtain
* value.blind - actual position of blind
* value.tilt - actual tilt position
* value.lock - actual position of lock
* value.speed - wind speed
* value.pressure - (unit: mbar)
* value.distance
* value.distance.visibility
* value.severity - some severity (states can be provided), Higher is more important
* value.warning - some warning (states can be provided), Higher is more important
## Indicators (boolean, read-only)
*common.type=boolean, common.write=false*
The difference of *Indicators* from *Sensors* is that indicators will be shown as small icon. Sensors as a real value.
So the indicator may not be alone in the channel. It must be some other main state inside channel.
* indicator
* indicator.working - indicates that the target systems is executing something, like blinds or lock opening.
* indicator.reachable - If device is online
* indicator.connected - used only for instances. Use indicator.reachable for devices
* indicator.maintenance - indicates system warnings/errors, alarms, service messages, battery empty or stuff like that
* indicator.maintenance.lowbat
* indicator.maintenance.unreach
* indicator.maintenance.alarm
* indicator.lowbat - true if low battery
* indicator.alarm - same as indicator.maintenance.alarm
* indicator.alarm.fire - fire detected
* indicator.alarm.flood - flood detected
* indicator.alarm.secure - door or window is opened
## Levels (numbers, read-write)
With **levels** you can control or set some number value.
*common.type=number, common.write=true*
* level
* level.co2 - 0-100% ait quality
* level.dimmer - brightness is dimmer too
* level.blind - set blind position
* level.temperature - set desired temperature
* level.valve - set point for valve position
* level.color.red
* level.color.green
* level.color.blue
* level.color.white - rgbW
* level.color.hue - color in ° 0-360; 0=red, 120=green, 240=blue, 360=red(cyclic)
* level.color.saturation
* level.color.rgb - hex color like '#rrggbb'
* level.color.luminance
* level.color.temperature - color temperature in K° 2200 warm-white, 6500° cold white
* level.timer
* level.timer.sleep - sleep timer. 0 - off, or in minutes
* ...
* level.volume - (min=0, max=100) - sound volume, but min, max can differ. min < max
* level.volume.group - (min=0, max=100) - sound volume, for the group of devices
* level.curtain - set the curtain position
* level.tilt - set the tilt position of blinds
## Switches (booleans, read-write)
Switch controls boolean device (true = ON, false = OFF)
*common.type=boolean, common.write=true*
* switch
* switch.lock - lock (true - open lock, false - close lock)
* switch.lock.door - door lock
* switch.lock.window - window lock
* switch.boost - start/stop boost mode of thermostat
* switch.light
* switch.comfort - comfort mode
* switch.enable
* switch.power - power on/off
## Media
Special roles for media players
* button.stop
* button.play
* button.next
* button.prev
* button.pause
* switch.pause
* button.forward
* button.reverse
* button.fastforward
* button.fastreverse
* button.volume.up
* button.volume.down
* media.seek - (common.type=number) %
* media.mode.shuffle - (common.type=number) 0 - none, 1 - all, 2 - one
* media.mode.repeat - (common.type=boolean)
* media.state - ['play','stop','pause'] or [0 - pause, 1 - play, 2 - stop] or [true - playing/false - pause]
* media.artist
* media.album
* media.title
* media.title.next
* media.cover - cover url
* media.cover.big - big cover url
* media.cover.small - tiny cover url
* media.duration.text - e.g "2:35"
* media.duration - (common.type=number) seconds
* media.elapsed.text - e.g "1:30"
* media.elapsed - (common.type=number) seconds
* media.broadcastDate - (common.type=string) Broadcast date
* media.mute - (common.type=boolean) true is muted
* media.season - (common.type=string) season number (important the type is really "string" to be able to indicate absence of season with "")
* media.episode - (common.type=string) episode number (important the type is really "string" to be able to indicate absence of episode with "")
* media.mute.group - (common.type=boolean) mute of group of devices
* media.tts - text to speech
* media.bitrate - kbps
* media.genre - genre song
* media.date - year song
* media.track - (common.type=string) current play track id [0 - ~] (important the type is really "string" to be able to indicate absence of track with "")
* media.playid - media player track id
* media.add - add current playlist
* media.clear - clear current playlist (write-only)
* media.playlist - json array like
* media.url - url to play or current url
* media.url.announcement - URL to play announcement
* media.jump - Number of items to jump in the playlist (it can be negative)
* media.content - Type of media being played such as audio/mp3
* media.link - State with the current file
* media.input - number or string of input (AUX, AV, TV, SAT, ...)
* level.bass - Bass level
* level.treble - Treble level
* switch.power.zone - power zone
```
[
{
"artist": "",
"album": "",
"bitrate":0,
"title": "",
"file": "",
"genre": "",
"year": 0,
"len": "00:00",
"rating": "",
"cover": ""
}
]
```
* media.browser - json array like "files"
```
[
{
"fanart": "",
"file": "",//smb://192.168.1.10/music/AtlantidaProject/
"filetype": "", //directory
"label": "",
"lastmodified": "",
"mimetype": "",
"size": 0,
"thumbnail": "",
"title": "",
"type": "",
"lastmodified": "2016-02-27 16:05:46",
"time": "88",
"track": "01",
"date": "2005",
"artist": "yonderboy (H)",
"album": "splendid isolation",
"genre": "Trip-Hop"
}
]
```
## Weather
* value.temperature - Actual temperature
* value.temperature.windchill - Actual wind chill
* value.temperature.dewpoint - Actual dewpoint
* value.temperature.feelslike - Actual temperature "feels like"
* value.temperature.min - Minimal temperature in last 24h
* value.temperature.max - Maximal temperature in last 24h
* value.humidity - actual or average humidity
* value.humidity.min - actual humidity
* value.humidity.max - actual humidity
* value.speed.wind - actual or average wind speed
* value.speed.max.wind - maximal wind speed in last 24h
* value.speed.min.wind - minimal wind speed in last 24h
* value.speed.wind.gust - actual wind gust speed
* value.direction.wind - actual or average wind direction in degrees
* value.direction.max.wind - actual wind direction in degrees
* value.direction.min.wind - actual wind direction in degrees
* weather.direction.wind - actual or average wind direction as text, e.g. NNW
* date - actual date or date of last read information
* date.sunrise - Sunrise for today
* date.sunset - Sunset for today
* dayofweek - day of week as text
* location - Text description of location (e.g. address)
* weather.icon - Actual state icon URL for now
* weather.icon.wind - Actual wind icon URL for now
* weather.icon.name - Actual state icon name for now
* weather.state - Actual weather description
* value.precipitation - (type: number, unit: mm) precipitation for last 24 hours rain/snow (Niederschlag heute für Schnee oder Regen / осадки сегодня снега или дождя)
* value.precipitation.hour - Actual precipitation level in last hour
* value.precipitation.today - Actual precipitation level for today (till 0:00)
* value.radiation - Actual sun radiation level
* value.uv - Actual UV level
* value.clouds - Clouds on the sky. 0% - no clouds, 100% - many clouds.
* value.rain - Actual rain level in last 24 hours
* value.rain.hour - Actual rain level in last hour
* value.rain.today - Actual rain level for today (till 0:00)
* value.snow - Actual snow level in last 24 hours
* value.snow.hour - Actual snow level in last hour
* value.snow.today - Actual snow level for today (till 0:00)
* value.snowline - Actual snow line in meters
* weather.chart.url - URL to chart for weather history
* weather.chart.url.forecast - URL to chart for weather forecast
* weather.html - HTML object with weather description
* weather.title - Very short description
* weather.title.short - Very very short description (One word)
* weather.type - Type of weather information
* weather.json - JSON object with specific data
* value.speed.wind.forecast.0 - wind speed forecast for today
* weather.state.forecast.0 - Weather description for today
* value.direction.wind.forecast.0 - wind direction forecast for today in degrees
* weather.direction.wind.forecast.0 - wind direction forecast for today as text
* value.pressure.forecast.0 - forecast for pressure for today
* value.temperature.min.forecast.0 - Min temperature forecast for today
* value.temperature.max.forecast.0 - Max temperature forecast for today
* value.precipitation.forecast.0 - (type: number, unit: %) Forecast of precipitation chance for today
* value.precipitation.forecast.0 - (type: number, unit: mm) Forecast of precipitation level for today
* weather.title.forecast.0 - Very short description for tomorrow
* value.precipitation.day.forecast.0 - Forecast for precipitation for day time
* value.precipitation.night.forecast.0 - Forecast for precipitation for night time
* date.forecast.1 - tomorrow date
* weather.icon.forecast.1 - tomorrow icon
* weather.state.forecast.1 - tomorrow weather state
* value.temperature.min.forecast.1
* value.temperature.max.forecast.1
* value.precipitation.forecast.1 - (type: number, unit: %) Forecast of precipitation chance for tomorrow
* value.precipitation.forecast.1 - (type: number, unit: mm) Forecast of precipitation level for tomorrow
* value.direction.wind.forecast.1
* value.speed.wind.forecast.1
* value.pressure.forecast.1
## Info
* info.ip - ip of device
* info.mac - mac of device
* info.name - name of device
* info.address - some other address (e.g. KNX)
* info.port - tcp port
* info.standby - true if device in standby mode
* info.status - status of device
* info.display - information shown on device display
* date.start - string or number
* date.end - string or number
## Others
* url
* url.icon - icon (additionally every object can have common.icon)
* url.cam - web camera url
* url.blank - open URL in new window
* url.same - open URL in this window
* url.audio - URL for audio file
* text.phone - phone number
* adapter.messagebox (common.type=object, common.write=true) used to send messages to email, pushover and other adapters
* adapter.wakeup (common.type=boolean, common.write=true) wake up adapter from suspended mode