diff --git a/libnymea/interfaces/awning.json b/libnymea/interfaces/awning.json
index 18140ee9..f2fd8bad 100644
--- a/libnymea/interfaces/awning.json
+++ b/libnymea/interfaces/awning.json
@@ -1,3 +1,4 @@
{
+ "description": "Simple awnings which can be opened and closed. Note that awnings operate inverted compared to other closables.",
"extends": "closable"
}
diff --git a/libnymea/interfaces/blind.json b/libnymea/interfaces/blind.json
index 18140ee9..5f05e32b 100644
--- a/libnymea/interfaces/blind.json
+++ b/libnymea/interfaces/blind.json
@@ -1,3 +1,4 @@
{
+ "description": "Simple blinds which can be opened and closed.",
"extends": "closable"
}
diff --git a/libnymea/interfaces/closable.json b/libnymea/interfaces/closable.json
index 635cc6a3..dc2269b4 100644
--- a/libnymea/interfaces/closable.json
+++ b/libnymea/interfaces/closable.json
@@ -1,4 +1,5 @@
{
+ "description": "Interface for generic devices that can be opened and closed. The process of opening or closing can be interrupted by the stop action.",
"extends": "simpleclosable",
"actions": [
{
diff --git a/libnymea/interfaces/extendedawning.json b/libnymea/interfaces/extendedawning.json
index b947c4ce..7f8c3884 100644
--- a/libnymea/interfaces/extendedawning.json
+++ b/libnymea/interfaces/extendedawning.json
@@ -1,3 +1,4 @@
{
+ "description": "Awnings that support indicating their position and the moving state. Note that awnings operate inverted compared to other closables.",
"extends": ["awning", "extendedclosable"]
}
diff --git a/libnymea/interfaces/extendedblind.json b/libnymea/interfaces/extendedblind.json
index e6313d90..403be79d 100644
--- a/libnymea/interfaces/extendedblind.json
+++ b/libnymea/interfaces/extendedblind.json
@@ -1,3 +1,4 @@
{
+ "description": "Blinds that support indicating their position and the moving state.",
"extends": ["blind", "extendedclosable"]
}
diff --git a/libnymea/interfaces/extendedclosable.json b/libnymea/interfaces/extendedclosable.json
index 1e5e40c8..c6c72663 100644
--- a/libnymea/interfaces/extendedclosable.json
+++ b/libnymea/interfaces/extendedclosable.json
@@ -1,4 +1,5 @@
{
+ "description": "A more advanced form of devices that support opening and closing in a more fine grained manner. They can report whether the opening/closing is currently in progress and provide a percentage of the opening/closing position. 0% means fully opened, while 100% indicates the device is fully closed",
"extends": "closable",
"states": [
{
diff --git a/libnymea/interfaces/extendedshutter.json b/libnymea/interfaces/extendedshutter.json
index 48ab7ada..345237f2 100644
--- a/libnymea/interfaces/extendedshutter.json
+++ b/libnymea/interfaces/extendedshutter.json
@@ -1,3 +1,4 @@
{
+ "description": "Advanced roller shutters that support indicating their position and the moving state.",
"extends": ["shutter", "extendedclosable"]
}
diff --git a/libnymea/interfaces/interfaces.qrc b/libnymea/interfaces/interfaces.qrc
index d29e1be4..3fc8c284 100644
--- a/libnymea/interfaces/interfaces.qrc
+++ b/libnymea/interfaces/interfaces.qrc
@@ -76,5 +76,6 @@
powerswitch.json
barcodescanner.json
irrigation.json
+ venetianblind.json
diff --git a/libnymea/interfaces/shutter.json b/libnymea/interfaces/shutter.json
index 79b21a7c..103a3c91 100644
--- a/libnymea/interfaces/shutter.json
+++ b/libnymea/interfaces/shutter.json
@@ -1,3 +1,4 @@
{
- "extends": "simpleclosable"
+ "description": "Simple roller shutters which can be opened and closed.",
+ "extends": "closable"
}
diff --git a/libnymea/interfaces/simpleclosable.json b/libnymea/interfaces/simpleclosable.json
index 5a932f7f..ba39b203 100644
--- a/libnymea/interfaces/simpleclosable.json
+++ b/libnymea/interfaces/simpleclosable.json
@@ -1,4 +1,5 @@
{
+ "description": "Interface for very basic devices that support opening and closing.",
"actions": [
{
"name": "open"
diff --git a/libnymea/interfaces/venetianblind.json b/libnymea/interfaces/venetianblind.json
new file mode 100644
index 00000000..2facc9c9
--- /dev/null
+++ b/libnymea/interfaces/venetianblind.json
@@ -0,0 +1,14 @@
+{
+ "description": "Venetian blinds that can be tilted. Venetian blinds must support an angle and specify the minimum and maximum supported angle. For instance, if a venetian blinds supports tilting from horizontal to vertical by 90°, the minValue should be set to 0° and the maxValue to 90°. For venetian blinds that support tilting both direction, that is, a total of 180°, the minValue should be -90° and the maxValue should be 90°. 0° is always the horizontal position. Note that the \"moving\" state should be true when either the percentage or the angle are moving.",
+ "extends": "extendedblind",
+ "states": [
+ {
+ "name": "angle",
+ "type": "int",
+ "unit": "Degree",
+ "minValue": "any",
+ "maxValue": "any",
+ "writable": true
+ }
+ ]
+}