diff --git a/libnymea/interfaces/awning.json b/libnymea/interfaces/awning.json
new file mode 100644
index 00000000..18140ee9
--- /dev/null
+++ b/libnymea/interfaces/awning.json
@@ -0,0 +1,3 @@
+{
+ "extends": "closable"
+}
diff --git a/libnymea/interfaces/blind.json b/libnymea/interfaces/blind.json
index 635cc6a3..18140ee9 100644
--- a/libnymea/interfaces/blind.json
+++ b/libnymea/interfaces/blind.json
@@ -1,8 +1,3 @@
{
- "extends": "simpleclosable",
- "actions": [
- {
- "name": "stop"
- }
- ]
+ "extends": "closable"
}
diff --git a/libnymea/interfaces/closable.json b/libnymea/interfaces/closable.json
index 7a53ce0c..635cc6a3 100644
--- a/libnymea/interfaces/closable.json
+++ b/libnymea/interfaces/closable.json
@@ -1,10 +1,8 @@
{
"extends": "simpleclosable",
- "states": [
+ "actions": [
{
- "name": "state",
- "type": "QString",
- "allowedValues": ["open", "closed", "opening", "closing"]
+ "name": "stop"
}
]
}
diff --git a/libnymea/interfaces/extendedawning.json b/libnymea/interfaces/extendedawning.json
new file mode 100644
index 00000000..94b3894a
--- /dev/null
+++ b/libnymea/interfaces/extendedawning.json
@@ -0,0 +1,3 @@
+{
+ "extends": "extendedclosable"
+}
diff --git a/libnymea/interfaces/extendedblind.json b/libnymea/interfaces/extendedblind.json
new file mode 100644
index 00000000..22512060
--- /dev/null
+++ b/libnymea/interfaces/extendedblind.json
@@ -0,0 +1,3 @@
+{
+ "extends": "blind"
+}
diff --git a/libnymea/interfaces/extendedclosable.json b/libnymea/interfaces/extendedclosable.json
new file mode 100644
index 00000000..1e5e40c8
--- /dev/null
+++ b/libnymea/interfaces/extendedclosable.json
@@ -0,0 +1,15 @@
+{
+ "extends": "closable",
+ "states": [
+ {
+ "name": "moving",
+ "type": "bool"
+ },
+ {
+ "name": "percentage",
+ "type": "int",
+ "minimumValue": 0,
+ "maximumValue": 100
+ }
+ ]
+}
diff --git a/libnymea/interfaces/extendedshutter.json b/libnymea/interfaces/extendedshutter.json
new file mode 100644
index 00000000..94b3894a
--- /dev/null
+++ b/libnymea/interfaces/extendedshutter.json
@@ -0,0 +1,3 @@
+{
+ "extends": "extendedclosable"
+}
diff --git a/libnymea/interfaces/garagegate.json b/libnymea/interfaces/garagegate.json
index fe033847..4057719d 100644
--- a/libnymea/interfaces/garagegate.json
+++ b/libnymea/interfaces/garagegate.json
@@ -1,6 +1,11 @@
{
"extends": "closable",
"states": [
+ {
+ "name": "state",
+ "type": "QString",
+ "allowedValues": ["open", "closed", "opening", "closing"]
+ },
{
"name": "intermediatePosition",
"type": "bool"
diff --git a/libnymea/interfaces/interfaces.qrc b/libnymea/interfaces/interfaces.qrc
index ed311a60..818bd00f 100644
--- a/libnymea/interfaces/interfaces.qrc
+++ b/libnymea/interfaces/interfaces.qrc
@@ -23,16 +23,21 @@
sensor.json
temperaturesensor.json
humiditysensor.json
+ pressuresensor.json
connectable.json
inputtrigger.json
outputtrigger.json
power.json
- closable.json
- smartlock.json
- shutter.json
simpleclosable.json
+ closable.json
+ awning.json
+ shutter.json
blind.json
- pressuresensor.json
+ extendedclosable.json
+ extendedawning.json
+ extendedblind.json
+ extendedshutter.json
+ smartlock.json
diff --git a/libnymea/interfaces/shutter.json b/libnymea/interfaces/shutter.json
index 635cc6a3..79b21a7c 100644
--- a/libnymea/interfaces/shutter.json
+++ b/libnymea/interfaces/shutter.json
@@ -1,8 +1,3 @@
{
- "extends": "simpleclosable",
- "actions": [
- {
- "name": "stop"
- }
- ]
+ "extends": "simpleclosable"
}