Merge PR #320: Rework garage door interfaces

pull/331/head
Jenkins nymea 2020-08-14 13:09:34 +02:00
commit 7ba9bc2add
8 changed files with 40 additions and 2 deletions

View File

@ -10,7 +10,8 @@
"name": "percentage",
"type": "int",
"minimumValue": 0,
"maximumValue": 100
"maximumValue": 100,
"writable": true
}
]
}

View File

@ -0,0 +1,4 @@
{
"description": "A garage door which can be controlled like an extended closable, that is, by reporting and taking a percentage of the position",
"extends": ["statefulgaragedoor", "extendedclosable"]
}

View File

@ -0,0 +1,3 @@
{
"description": "The base for all garage door interfaces. Can be used by the client to filter for garage doors in the system."
}

View File

@ -1,5 +1,6 @@
{
"extends": "closable",
"deprecated": "Use statefulgaragedoor instead",
"extends": ["garagedoor", "closable"],
"states": [
{
"name": "state",

View File

@ -0,0 +1,9 @@
{
"extends": "garagedoor",
"description": "This interface is for the simplest form of garage doors which can be controlled only via an impulse. Triggering the impulse will start moving the door, triggering it again will stop the movement. Triggering it yet another time will start movement in the reverse direction. Note that there is no feedback channel on such devices. The system has no chance of knowing the current state this device is actually in.",
"actions": [
{
"name": "triggerImpulse"
}
]
}

View File

@ -8,6 +8,11 @@
<file>colortemperaturelight.json</file>
<file>doorbell.json</file>
<file>colorlight.json</file>
<file>garagedoor.json</file>
<file>impulsegaragedoor.json</file>
<file>simplegaragedoor.json</file>
<file>statefulgaragedoor.json</file>
<file>extendedstatefulgaragedoor.json</file>
<file>garagegate.json</file>
<file>gateway.json</file>
<file>notifications.json</file>

View File

@ -0,0 +1,4 @@
{
"description": "A Garage door that can take up and down as commands but cannot provide state information",
"extends": ["garagedoor", "closable"]
}

View File

@ -0,0 +1,11 @@
{
"description": "A garagedoor which can be controller like a closable, with open and close actions. It can report whether it's opened or closed or standing still something in between (intermediate position) as well as reporting that it's moving (opening/closing).",
"extends": ["garagedoor", "closable"],
"states": [
{
"name": "state",
"type": "QString",
"allowedValues": ["open", "closed", "opening", "closing", "intermediate"]
}
]
}