ReadingsProxy: Unterschied zwischen den Versionen
K (diverse kleinere Korrekturen und Ergänzungen) |
K ("Standard"-Abschnitte eingefügt und teilweise gefüllt) |
||
Zeile 8: | Zeile 8: | ||
|ModOwner=Andre ({{Link2FU|430|Forum}} / [[Benutzer Diskussion:justme|Wiki]])}} | |ModOwner=Andre ({{Link2FU|430|Forum}} / [[Benutzer Diskussion:justme|Wiki]])}} | ||
Das Fhem-[[:Kategorie:Hilfsmodul|Hilfsmodul]] [[readingsProxy]] bietet die Möglichkeit, ein Reading oder einen Teil eines Readings eines Devices als eigenständiges Device (im Folgenden auch als ''Proxy Device'' bezeichnet) zu verwenden. Hiermit können z.B. Mehrfachsensoren und Aktoren (1- | Das Fhem-[[:Kategorie:Hilfsmodul|Hilfsmodul]] [[readingsProxy]] bietet die Möglichkeit, ein Reading oder einen Teil eines Readings eines Devices als eigenständiges Device (im Folgenden auch als ''Proxy Device'' bezeichnet) zu verwenden. Hiermit können z.B. Mehrfachsensoren und Aktoren (1-Wire 2- oder 8-fach Schalter, EnOcean Serienschalter, ...) in einzeln bedienbare Geräte aufgeteilt werden. | ||
Sobald das Proxy Device ''on'' und ''off'' bereitstellt, stehen über die [http://fhem.de/commandref.html#setExtensions setExtentions] auch ''on-for-timer'', ''on-till'', ''blink'', usw. zur Verfügung. | Sobald das Proxy Device ''on'' und ''off'' bereitstellt, stehen über die [http://fhem.de/commandref.html#setExtensions setExtentions] auch ''on-for-timer'', ''on-till'', ''blink'', usw. zur Verfügung. | ||
== Voraussetzungen == | |||
Keine speziellen Voraussetzungen erforderlich. | |||
== | == Anwendung == | ||
=== Definition === | |||
Die Syntax für die Definition eines Proxy Device: siehe commandref. | |||
=== Attribute === | |||
Attribute mit spezieller Bedeutung für Proxy Devices: | |||
;readingFnAttributes | |||
:... | |||
;getFn | |||
:... | |||
;setFn | |||
:... | |||
;valueFn | |||
:... | |||
== Anwendungsbeispiele == | |||
Achtung: Die Beispiele enthalten keine Maskierungen oder Verdoppelungen für {{Taste|;}} und ''Zeilenende'', sondern sind so angegeben, wie sie in [[FHEMWEB]] im Befehl-Eingabefeld oder nach Klick auf ''DEF'' eingegeben werden. Bei manuellem Einfügen in eine [[Konfiguration|Konfigurationsdatei]] sind diese Maskierungen oder Verdoppelungen natürlich vorzunehmen. | Achtung: Die Beispiele enthalten keine Maskierungen oder Verdoppelungen für {{Taste|;}} und ''Zeilenende'', sondern sind so angegeben, wie sie in [[FHEMWEB]] im Befehl-Eingabefeld oder nach Klick auf ''DEF'' eingegeben werden. Bei manuellem Einfügen in eine [[Konfiguration|Konfigurationsdatei]] sind diese Maskierungen oder Verdoppelungen natürlich vorzunehmen. | ||
=== 1- | === 1-Wire dual switch (DS2406) mit OWDevice als input (erster Kanal) === | ||
<pre style="width:500px;"> | <pre style="width:500px;"> | ||
define myProxy readingsProxy myDS2406:latch.A | define myProxy readingsProxy myDS2406:latch.A | ||
Zeile 23: | Zeile 40: | ||
</pre> | </pre> | ||
=== 1- | === 1-Wire 8-fach switch (DS2408) mit OWSWITCH als Output (erster Kanal)=== | ||
<pre style="width:500px;"> | <pre style="width:500px;"> | ||
define SchalterA readingsProxy OWX:xxx | define SchalterA readingsProxy OWX:xxx | ||
Zeile 68: | Zeile 85: | ||
Beispiel aus diesem {{Link2Forum|Topic=22753|LinkText=Forenthread}} übernommen. (Anmerkung: Die im Forenthread noch verwendete Lösung über setFN mit "readingsSingleUpdate" sowie valueFn {} ist nach Einführung von $LASTCMD in readingsProxy nicht mehr notwendig. Dementsprechend wurde hier die neuere Variante mit $LASTCMD genutzt) | Beispiel aus diesem {{Link2Forum|Topic=22753|LinkText=Forenthread}} übernommen. (Anmerkung: Die im Forenthread noch verwendete Lösung über setFN mit "readingsSingleUpdate" sowie valueFn {} ist nach Einführung von $LASTCMD in readingsProxy nicht mehr notwendig. Dementsprechend wurde hier die neuere Variante mit $LASTCMD genutzt) | ||
== Links == | |||
* Forenthema zur {{Link2Forum|Topic=16827|LinkText=Vorstellung des Moduls}} | |||
* Forenthema zur Fragestellung "{{Link2Forum|Topic=16374|LinkText=DS2408 Ports aufsplitten}}" | |||
* Forenthema zur Fragestellung "{{Link2Forum|Topic=13841|LinkText=Zwei Icons für Channel A und B}}" | |||
[[Kategorie:HOWTOS]] | [[Kategorie:HOWTOS]] | ||
[[Kategorie:Code Snippets]] | [[Kategorie:Code Snippets]] |
Version vom 11. Juni 2015, 13:39 Uhr
readingsProxy | |
---|---|
Zweck / Funktion | |
Aufsplitten von Mehrfachgeräten in einzelne FHEM-Devices | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Automatisierung |
Modulname | 33_readingsProxy.pm |
Ersteller | Andre (Forum / Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Das Fhem-Hilfsmodul readingsProxy bietet die Möglichkeit, ein Reading oder einen Teil eines Readings eines Devices als eigenständiges Device (im Folgenden auch als Proxy Device bezeichnet) zu verwenden. Hiermit können z.B. Mehrfachsensoren und Aktoren (1-Wire 2- oder 8-fach Schalter, EnOcean Serienschalter, ...) in einzeln bedienbare Geräte aufgeteilt werden.
Sobald das Proxy Device on und off bereitstellt, stehen über die setExtentions auch on-for-timer, on-till, blink, usw. zur Verfügung.
Voraussetzungen
Keine speziellen Voraussetzungen erforderlich.
Anwendung
Definition
Die Syntax für die Definition eines Proxy Device: siehe commandref.
Attribute
Attribute mit spezieller Bedeutung für Proxy Devices:
- readingFnAttributes
- ...
- getFn
- ...
- setFn
- ...
- valueFn
- ...
Anwendungsbeispiele
Achtung: Die Beispiele enthalten keine Maskierungen oder Verdoppelungen für ; und Zeilenende, sondern sind so angegeben, wie sie in FHEMWEB im Befehl-Eingabefeld oder nach Klick auf DEF eingegeben werden. Bei manuellem Einfügen in eine Konfigurationsdatei sind diese Maskierungen oder Verdoppelungen natürlich vorzunehmen.
1-Wire dual switch (DS2406) mit OWDevice als input (erster Kanal)
define myProxy readingsProxy myDS2406:latch.A attr myProxy valueFn {($VALUE == 1)?"on":"off"}
1-Wire 8-fach switch (DS2408) mit OWSWITCH als Output (erster Kanal)
define SchalterA readingsProxy OWX:xxx attr SchalterA setFn {($CMD eq "on")?"output A off":"output A on"} attr SchalterA setList on off attr SchalterA valueFn {($VALUE == 0)?"off":"on"} attr SchalterA webCmd on:off
on/off vertauschen
define proxy readingsProxy meineLampe:state attr proxy setFn {($CMD eq "on")?"off":"on"} attr proxy valueFn {($VALUE eq "on")?"off":"on"}
EnOcean Serienschalter
Siehe auch EnOcean Starter Guide
#Kanal A zur Steuerung mit on und off define Schalter_channelA readingsProxy Schalter:state attr Schalter_channelA setFn {($CMD eq "on")?"AI":"A0";;} attr Schalter_channelA setList on off attr Schalter_channelA valueFn {$LASTCMD} attr Schalter_channelA webCmd on:off #Kanal B zur Steuerung mit on und off define Schalter_channelB readingsProxy Schalter:state attr Schalter_channelB setFn {($CMD eq "on")?"BI":"B0";;} attr Schalter_channelB setList on off attr Schalter_channelB valueFn {$LASTCMD} attr Schalter_channelB webCmd on:off
setExtensions für Geräte implementieren
Wenn ein (Original-)Device von sich aus die setExtentions nicht unterstützt, kann das durch Verwendung eines Proxy Device behoben/implementiert werden. Sobald ein Proxy Device on und off bereitstellt, stehen über die setExtensions auch on-for-timer, on-till, blink, usw. zur Verfügung.
define STECKD_TEST readingsProxy STECKD_BAUHS state attr STECKD_TEST setFn {($CMD eq "on")?"angle 3874":"angle 3873";} attr STECKD_TEST setList on off attr STECKD_TEST valueFn {$LASTCMD}
Beispiel aus diesem Forenthread übernommen. (Anmerkung: Die im Forenthread noch verwendete Lösung über setFN mit "readingsSingleUpdate" sowie valueFn {} ist nach Einführung von $LASTCMD in readingsProxy nicht mehr notwendig. Dementsprechend wurde hier die neuere Variante mit $LASTCMD genutzt)
Links
- Forenthema zur Vorstellung des Moduls
- Forenthema zur Fragestellung "DS2408 Ports aufsplitten"
- Forenthema zur Fragestellung "Zwei Icons für Channel A und B"