diff --git a/libguh/interfaces/extendedvolumecontroller.json b/libguh/interfaces/extendedvolumecontroller.json
new file mode 100644
index 00000000..59294ba9
--- /dev/null
+++ b/libguh/interfaces/extendedvolumecontroller.json
@@ -0,0 +1,17 @@
+{
+ "extends": "media",
+ "states": [
+ {
+ "name": "mute",
+ "type": "bool",
+ "writable": true
+ },
+ {
+ "name": "volume",
+ "type": "int",
+ "minValue": 0,
+ "maxValue": 100,
+ "writable": true
+ }
+ ]
+}
diff --git a/libguh/interfaces/interfaces.qrc b/libguh/interfaces/interfaces.qrc
index 7bae56df..e0ac6c81 100644
--- a/libguh/interfaces/interfaces.qrc
+++ b/libguh/interfaces/interfaces.qrc
@@ -9,5 +9,9 @@
gateway.json
notifications.json
weather.json
+ volumecontroller.json
+ extendedvolumecontroller.json
+ mediametadataprovider.json
+ mediaplayer.json
diff --git a/libguh/interfaces/mediametadataprovider.json b/libguh/interfaces/mediametadataprovider.json
new file mode 100644
index 00000000..465359bf
--- /dev/null
+++ b/libguh/interfaces/mediametadataprovider.json
@@ -0,0 +1,21 @@
+{
+ "extends": "media",
+ "states": [
+ {
+ "name": "artist",
+ "type": "string"
+ },
+ {
+ "name": "album",
+ "type": "string"
+ },
+ {
+ "name": "title",
+ "type": "string"
+ },
+ {
+ "name": "artwork",
+ "type": "string"
+ }
+ ]
+}
diff --git a/libguh/interfaces/mediaplayer.json b/libguh/interfaces/mediaplayer.json
new file mode 100644
index 00000000..1764c214
--- /dev/null
+++ b/libguh/interfaces/mediaplayer.json
@@ -0,0 +1,16 @@
+{
+ "extends": "media",
+ "states": [
+ {
+ "name": "playbackStatus",
+ "type": "string",
+ "allowedValues": ["Playing", "Paused", "Stopped"],
+ "writable": true
+ },
+ {
+ "name": "playerType",
+ "type": "string",
+ "allowedValues": ["audio", "video"]
+ }
+ ]
+}
diff --git a/libguh/interfaces/volumecontroller.json b/libguh/interfaces/volumecontroller.json
new file mode 100644
index 00000000..c90fb524
--- /dev/null
+++ b/libguh/interfaces/volumecontroller.json
@@ -0,0 +1,33 @@
+{
+ "extends": "media",
+ "actions": [
+ {
+ "name": "increaseVolume",
+ "params": [
+ {
+ "name": "step",
+ "type": "int"
+ }
+ ]
+ },
+ {
+ "name": "decreaseVolume",
+ "params": [
+ {
+ "name": "step",
+ "type": "int"
+ }
+ ]
+ },
+ {
+ "name": "setMute",
+ "params": [
+ {
+ "name": "mute",
+ "type": "bool"
+ }
+
+ ]
+ }
+ ]
+}