DevelopmentModuleAPI: Unterschied zwischen den Versionen
(Erste Version als Einstieg) |
(→Fehlt noch: ergänzt) |
||
Zeile 104: | Zeile 104: | ||
== Fehlt noch == | == Fehlt noch == | ||
* Log3 | * Log3 | ||
* IsDisabled | |||
* IsDummy | |||
* IsIgnored | |||
* IsIoDummy | |||
* InternalTimer | |||
* RemoveInternalTimer | |||
* configDBUsed | |||
* devspec2array | |||
* TimeNow | |||
* FmtDateTime | |||
* FmtTime | |||
* FmtDateTimeRFC1123 | |||
* EvalSpecials | |||
* DoTrigger | |||
* InternalVal | |||
* ReadingsVal | |||
* ReadingsNum | |||
* ReadingsTimestamp | |||
* Value | |||
* OldValue | |||
* OldTimestamp | |||
* AttrVal | |||
* readingsBeginUpdate | |||
* readingsBulkUpdate | |||
* readingsEndUpdate | |||
* readingsSingleUpdate | |||
* computeClientArray | |||
* FileRead | |||
* FileWrite | |||
* getUniqueId | |||
* getKeyValue | |||
* setKeyValue | |||
* Debug | |||
[[Kategorie:Development]] | [[Kategorie:Development]] |
Version vom 14. Februar 2016, 16:46 Uhr
Einleitung
Dieses Seite soll eine Beschreibung der für Moduleentwickler verfügbaren Funktionen enthalten, um für Modulentwickler
- Wiederverwendbare Routinen leichter identifizieren zu können
- Durch Wiederverwenund mehr Einheitlichkeit zu erzeugen
- Aufwand zu veringern
- Bei Änderungen auch betroffene Module leichter identifiziern zu können
Natürlich hat diese Seite keinen Anspruch auf Vollständigkeit und jeder ist aufgefordert mitzuarbeiten, sobald er beim Stöbern über einen Funktion stolpert, die auch andere interessieren könnte.
Command handling
AnalyzeCommand
AnalyzeCommand ermöglicht das Parsen und die Ausführung eines FHEM-Befehls, wie in FHEMWeb im Kommandoeingabefeld enthalten.
AnalyzeCommand ($cl, $cmd)
Parameter | Bedeutung |
---|---|
$cl
might be undef |
Devicehash für die Ausführung des Kommandos in einem spezifischen Kontext eines Devices (Quelle des Befehles z.B. für Berechtigungsprüfung) |
$cmd
mandatory |
Kommandos, die ausgeführt werden sollen. Beispiel:
|
AnalyzeCommandChain
AnalyzeCommandChain ermöglicht das Parsen und die Ausführung von FHEM-Befehlen, wie in FHEMWeb im Kommandoeingabefeld enthalten.
AnalyzeCommandChain ($cl, $cmds)
Parameter | Bedeutung |
---|---|
$cl
might be undef |
Devicehash für die Ausführung des Kommandos in einem spezifischen Kontext eines Devices (Quelle des Befehles z.B. für Berechtigungsprüfung) |
$cmds
mandatory |
Kommandos, das ausgeführt werden soll, durch ; getrennt. Beispiel:
|
Diverse
ReplaceSetMagic
ReplaceSetMagic
($err, @result) = ReplaceSetMagic($hash, $nsplit, @elements)
Parameter | Bedeutung |
---|---|
$hash
might be undef |
Devicehash für die Ausführung des Kommandos in einem spezifischen Kontext eines Devices (Quelle des Befehles z.B. für Berechtigungsprüfung) |
$nsplit
Zahl |
Begrenzung für den Split des Ergebnisstrings nach erfolgter Ersetzung (siehe elements) |
@elements
mandatory |
Parameterarray mit Strings Die Elemente des übergebenen Arrays werden in einem String getrennt duch Leerzeichen zusammengefasst. |
Rückgabe | Bedeutung |
---|---|
$err
|
Im Fehlerfall: Fehlermeldung sonst undef |
@result
|
Ergebnis der Ersetzung von Readings und perlaufrufen im Parameterarray. Die Elemente des übergebenen Arrays werden in einem String getrennt duch Leerzeichen zusammengefasst und im Rückgabewert wieder in ein Array (unter Berücksichtigung von nsplit als Begrenzung für den perl-Spllit-Aufruf) zerlegt. |
Readings
Die verschiedenen Funktionen zu Readings sind hier beschieben:
DevelopmentIntroduction und DevelopmentModuleIntro
Fehlt noch
- Log3
- IsDisabled
- IsDummy
- IsIgnored
- IsIoDummy
- InternalTimer
- RemoveInternalTimer
- configDBUsed
- devspec2array
- TimeNow
- FmtDateTime
- FmtTime
- FmtDateTimeRFC1123
- EvalSpecials
- DoTrigger
- InternalVal
- ReadingsVal
- ReadingsNum
- ReadingsTimestamp
- Value
- OldValue
- OldTimestamp
- AttrVal
- readingsBeginUpdate
- readingsBulkUpdate
- readingsEndUpdate
- readingsSingleUpdate
- computeClientArray
- FileRead
- FileWrite
- getUniqueId
- getKeyValue
- setKeyValue
- Debug