From 1d769e71d9f715efe70a405479c5d661becb64b9 Mon Sep 17 00:00:00 2001 From: bmxp Date: Sat, 20 Jan 2024 09:28:56 +0100 Subject: [PATCH] raumfeld_ng: change readme into userdoc --- raumfeld_ng/README.md | 116 ------------------ raumfeld_ng/__init__.py | 2 +- raumfeld_ng/plugin.yaml | 6 +- raumfeld_ng/raumfeld_item.yaml | 63 ---------- raumfeld_ng/user_doc.rst | 218 +++++++++++++++++++++++++++++++++ 5 files changed, 222 insertions(+), 183 deletions(-) delete mode 100755 raumfeld_ng/README.md delete mode 100755 raumfeld_ng/raumfeld_item.yaml create mode 100644 raumfeld_ng/user_doc.rst diff --git a/raumfeld_ng/README.md b/raumfeld_ng/README.md deleted file mode 100755 index 9321a4135..000000000 --- a/raumfeld_ng/README.md +++ /dev/null @@ -1,116 +0,0 @@ -# raumfeld_ng Plugin - -#### Version 1.x.y - -The plugin connects the raumfeld node-raumserver to smarthome.py. It ist possible to control a raumfeld/teufel multiroom speaker setup. - -## Change history - -2019 intial and final :) - -## Requirements - -The plugin needs a running node-raumserver instance on the same or another host. - -### Needed software - -* https://github.com/ChriD/node-raumserver - -### Supported Hardware - -* Raumfeld / Teufel multiroom speaker - -## Configuration - -### plugin.yaml - -```yaml -raumfeld_ng: - plugin_name: raumfeld_ng - rf_HostIP: '127.0.0.1' - rf_HostPort: '8080' -``` - -This plugin needs an hostIP attribute and a port attribute. - -### items.yaml - -There are two groups of item attributes. One for devices (aka 'speaker'), one for zones (aka 'group of speaker'). -Zoneconfig cant be change with the plugin. - -#### device attributes - - -raumfeld: - kueche: - # read / write the powerstate of the device - rf_power_state_kueche: - type: bool - rf_renderer_name: "Kueche" - rf_attr: power_state - rf_scope: room - initial_value: False - enforce_updates: 'yes' - - # read / write the volume of the device - rf_volume_kueche: - type: num - rf_renderer_name: "Kueche" - rf_attr: set_volume - rf_scope: room - mode: absolute - initial_value: 30 - enforce_updates: 'yes' - - # write only - mute / unMute / toggleMute - rf_set_mute_kueche: - type: str - rf_renderer_name: "Kueche" - rf_attr: set_mute - rf_scope: room - enforce_updates: 'yes' - - -#### zone attributes - - zone_kueche: - # read / writei the play state of the zone - rf_play_state_kueche: - type: str - rf_renderer_name: "Kueche" - rf_attr: play_state - rf_scope: zone - enforce_updates: 'yes' - - # write only list ["playlist", tracknum], without tracknum start first track (zone) - rf_load_playlist_kueche: - type: list - rf_renderer_name: "Kueche" - rf_attr: load_playlist - rf_scope: zone - enforce_updates: 'yes' - - # write only the track to play - rf_load_track_kueche: - type: num - rf_renderer_name: "Kueche" - rf_attr: load_track - rf_scope: zone - enforce_updates: 'yes' - - # read only the zone mediainfo - rf_mediainfo_kueche: - type: list - rf_renderer_name: "Kueche" - rf_attr: get_mediainfo - rf_scope: zone - enforce_updates: 'yes' - - - - -### logic.yaml - - -## Methods - diff --git a/raumfeld_ng/__init__.py b/raumfeld_ng/__init__.py index a5f02416a..39a382569 100755 --- a/raumfeld_ng/__init__.py +++ b/raumfeld_ng/__init__.py @@ -43,7 +43,7 @@ class Raumfeld_ng(SmartPlugin): the update functions for the items """ - PLUGIN_VERSION = '1.5.1' + PLUGIN_VERSION = '1.5.2' def __init__(self, sh): """ diff --git a/raumfeld_ng/plugin.yaml b/raumfeld_ng/plugin.yaml index 5b96c6f0a..023546cb3 100755 --- a/raumfeld_ng/plugin.yaml +++ b/raumfeld_ng/plugin.yaml @@ -5,14 +5,14 @@ plugin: description: de: 'Ansteuerung von Teufel Raumfeld Geräten via Raumserver und NodeRED' en: 'Control Teufel Raumfeld devices via Raumserver and NodeRED' - maintainer: greentux + maintainer: nobody tester: nobody # Who tests this plugin? state: develop # change to ready when done with development # keywords: iot xyz # documentation: https://github.com/smarthomeNG/smarthome/wiki/CLI-Plugin # url of documentation (wiki) page -# support: https://knx-user-forum.de/forum/supportforen/smarthome-py + support: https://knx-user-forum.de/forum/supportforen/smarthome-py/1927851 - version: 1.5.1 # Plugin version + version: 1.5.2 # Plugin version sh_minversion: 1.5 # minimum shNG version to use this plugin # sh_maxversion: # maximum shNG version to use this plugin (leave empty if latest) multi_instance: False # plugin supports multi instance diff --git a/raumfeld_ng/raumfeld_item.yaml b/raumfeld_ng/raumfeld_item.yaml deleted file mode 100755 index db2fecca2..000000000 --- a/raumfeld_ng/raumfeld_item.yaml +++ /dev/null @@ -1,63 +0,0 @@ -# diese beiden Funktionen sehe ich pro speaker, Media geht ja nicht, da man das nur in der Zone spielen kann. -# es sollte tatsächlich gehen, dass die beiden Items jeweils auseinandergehalten werden. Das sollte dann einmal -# - speaker1.rfpower_state -# und einmal -# - speaker2.rfpower_state -# sein. - -speaker1: - rf_power_state: - type: bool - rf_zone_name: Bad-Kueche - rf_room_name: Bad - rf_scoop: room - rf_attr: power_state - initial_value: False - - rf_volume_level: - type: num - rf_zone_name: Bad - rf_scoop: room - rf_attr: volume_level - initial_value: 25 - - -speaker2: - rf_power_state: - type: bool - rf_zone_name: Bad-Kueche - rf_room_name: Kueche - rf_scoop: room - rf_attr: power_state - initial_value: False - - rf_volume_level: - type: num - rf_zone_name: Bad - rf_scoop: room - rf_attr: volume_level - initial_value: 25 - -zone_bad_kueche: - rf_volume_level: - type: num - rf_zone_name: Bad-Kueche - rf_scoop: zone - rf_attr: volume_level - initial_value: 25 - - rf_media_uri: - type: str - rf_zone_name: Bad-Kueche - rf_scoop: zone - rf_attr: loaduri - - rf_media_playlist: - type: str - rf_zone_name: Bad-Kueche - rf_scoop: zone - rf_attr: loadplaylist - - - - diff --git a/raumfeld_ng/user_doc.rst b/raumfeld_ng/user_doc.rst new file mode 100644 index 000000000..d882bf9b1 --- /dev/null +++ b/raumfeld_ng/user_doc.rst @@ -0,0 +1,218 @@ +.. index:: Plugins; raumfeld_ng +.. index:: raumfeld_ng + + +=========== +raumfeld_ng +=========== + + +Das Plugin verbindet den raumfeld node-raumserver mit SmartHomeNG +Es ist möglich damit eine raumfeld/teufel Multiraum System zu steuern. + +Anforderungen +============= + +... + +Notwendige Software +------------------- + +- https://github.com/ChriD/node-raumserver + +Unterstützte Geräte +------------------- + +- Raumfeld / Teufel Multiraum Lautsprecher System + +Konfiguration +============= + +Die Plugin Parameter und die Informationen zur Item-spezifischen Konfiguration des Plugins sind +unter :doc:`/plugins_doc/config/raumfeld_ng` beschrieben. + + +plugin.yaml +----------- + +Zu den Informationen, welche Parameter in der ../etc/plugin.yaml konfiguriert werden können bzw. müssen, bitte +bitte die Dokumentation :doc:`Dokumentation ` lesen, die aus +den Metadaten der plugin.yaml erzeugt wurde (siehe oben). + +.. code:: yaml + + raumfeld_ng: + plugin_name: raumfeld_ng + rf_HostIP: '127.0.0.1' + rf_HostPort: '8080' + +Ein Hostname oder eine Host IP sowie ein Port werden benötigt. + + +items.yaml +---------- + +Zu den Informationen, welche Attribute in der Item Konfiguration verwendet werden können bzw. müssen, bitte +bitte die Dokumentation :doc:`Dokumentation ` lesen, die aus +den Metadaten der plugin.yaml erzeugt wurde (siehe oben). + + +Es gibt zwei Gruppen von Item Attributen: Eine für Geräte (speaker) und eine für Zonen (group of speaker) +Die Konfiguration der Zonen kann mit dem Plugin nicht geändert werden. + +Geräte Attribute +^^^^^^^^^^^^^^^^ + +Beispiel: + +.. code:: yaml + + kueche: + # read / write the powerstate of the device + rf_power_state_kueche: + type: bool + rf_renderer_name: “Kueche” + rf_attr: power_state + rf_scope: room + initial_value: False enforce_updates: ‘yes’ + + # read / write the volume of the device + rf_volume_kueche: + type: num + rf_renderer_name: "Kueche" + rf_attr: set_volume + rf_scope: room + mode: absolute + initial_value: 30 + enforce_updates: 'yes' + + # write only - mute / unMute / toggleMute + rf_set_mute_kueche: + type: str + rf_renderer_name: "Kueche" + rf_attr: set_mute + rf_scope: room + enforce_updates: 'yes' + +Zonen Attribute +^^^^^^^^^^^^^^^ + +.. code:: yaml + + zone_kueche: + # read / writei the play state of the zone + rf_play_state_kueche: + type: str + rf_renderer_name: "Kueche" + rf_attr: play_state + rf_scope: zone + enforce_updates: 'yes' + + # write only list ["playlist", tracknum], without tracknum start first track (zone) + rf_load_playlist_kueche: + type: list + rf_renderer_name: "Kueche" + rf_attr: load_playlist + rf_scope: zone + enforce_updates: 'yes' + + # write only the track to play + rf_load_track_kueche: + type: num + rf_renderer_name: "Kueche" + rf_attr: load_track + rf_scope: zone + enforce_updates: 'yes' + + # read only the zone mediainfo + rf_mediainfo_kueche: + type: list + rf_renderer_name: "Kueche" + rf_attr: get_mediainfo + rf_scope: zone + enforce_updates: 'yes' + +logic.yaml +---------- + +Zu den Informationen, welche Konfigurationsmöglichkeiten für Logiken bestehen, bitte +bitte die Dokumentation :doc:`Dokumentation ` lesen, die aus +den Metadaten der plugin.yaml erzeugt wurde (siehe oben). + +Funktionen +---------- + +Zu den Informationen, welche Funktionen das Plugin bereitstellt (z.B. zur Nutzung in Logiken), bitte +bitte die Dokumentation :doc:`Dokumentation ` lesen, die aus +den Metadaten der plugin.yaml erzeugt wurde (siehe oben). + + +Beispiele +========= + +# diese beiden Funktionen sehe ich pro speaker, Media geht ja nicht, da man das nur in der Zone spielen kann. +# es sollte tatsächlich gehen, dass die beiden Items jeweils auseinandergehalten werden. Das sollte dann einmal +# - speaker1.rfpower_state +# und einmal +# - speaker2.rfpower_state +# sein. + +.. code:: yaml + + speaker1: + rf_power_state: + type: bool + rf_zone_name: Bad-Kueche + rf_room_name: Bad + rf_scoop: room + rf_attr: power_state + initial_value: False + + rf_volume_level: + type: num + rf_zone_name: Bad + rf_scoop: room + rf_attr: volume_level + initial_value: 25 + + + speaker2: + rf_power_state: + type: bool + rf_zone_name: Bad-Kueche + rf_room_name: Kueche + rf_scoop: room + rf_attr: power_state + initial_value: False + + rf_volume_level: + type: num + rf_zone_name: Bad + rf_scoop: room + rf_attr: volume_level + initial_value: 25 + + zone_bad_kueche: + rf_volume_level: + type: num + rf_zone_name: Bad-Kueche + rf_scoop: zone + rf_attr: volume_level + initial_value: 25 + + rf_media_uri: + type: str + rf_zone_name: Bad-Kueche + rf_scoop: zone + rf_attr: loaduri + + rf_media_playlist: + type: str + rf_zone_name: Bad-Kueche + rf_scoop: zone + rf_attr: loadplaylist + +Web Interface +============= + +Es ist aktuell kein Webinterface vorhanden. \ No newline at end of file