Umsetzung: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Hinweis auf Start über "strace")
(FHEM(R))
Zeile 1: Zeile 1:
Die '''Umsetzung''' (Implementierung) eines Fhem-Projekts hat zumindest die Teilaspekte der Installation der Geräte und der Entwicklung des Interfaces mit den darüber ansprechbaren Funktionen. Für den Start dieser Phase sollte die [[Planung]] fortgeschritten sein, nach Abschluss der Implementierung kann der (Regel-)[[Betrieb]] aufgenommen werden.
Die '''Umsetzung''' (Implementierung) eines FHEM-Projekts hat zumindest die Teilaspekte der Installation der Geräte und der Entwicklung des Interfaces mit den darüber ansprechbaren Funktionen. Für den Start dieser Phase sollte die [[Planung]] fortgeschritten sein, nach Abschluss der Implementierung kann der (Regel-)[[Betrieb]] aufgenommen werden.


== Installation der Hardware ==
== Installation der Hardware ==
Zeile 5: Zeile 5:
Sensoren und Aktoren müssen installiert und ggf. (bei kabelgebundenen Systemen) mit der Zentrale verbunden werden.
Sensoren und Aktoren müssen installiert und ggf. (bei kabelgebundenen Systemen) mit der Zentrale verbunden werden.


=== Fhem Server und Interfaces ===
=== FHEM Server und Interfaces ===
Die Hardware, auf der Fhem läuft, muss in Betrieb genommen und Fhem installiert werden.
Die Hardware, auf der FHEM läuft, muss in Betrieb genommen und FHEM installiert werden.


== Implementierung der Funktionalität ==
== Implementierung der Funktionalität ==
=== Definition und Beschreibung der Geräte ===
=== Definition und Beschreibung der Geräte ===
Alle Geräte müssen in Fhem definiert und ggf. mit zusätzlichen Attributen versehen werden. Die Basisdefinitionen von einigen Geräten wird schon durch die ''autocreate'' Funktion durchgeführt. Es ist sinnvoll, für die (Um-)Benennung von Geräten ein Namensschema festzulegen und zu benutzen.
Alle Geräte müssen in FHEM definiert und ggf. mit zusätzlichen Attributen versehen werden. Die Basisdefinitionen von einigen Geräten wird schon durch die ''autocreate'' Funktion durchgeführt. Es ist sinnvoll, für die (Um-)Benennung von Geräten ein Namensschema festzulegen und zu benutzen.


=== Bedienelemente ===
=== Bedienelemente ===
Zeile 25: Zeile 25:


=== Test, Probebetrieb ===
=== Test, Probebetrieb ===
Für Test und Probebetrieb sowie zur Problembestimmung/-behebung stellt Fhem die folgenden Hilfsmittel zur Verfügung (Auswahl):
Für Test und Probebetrieb sowie zur Problembestimmung/-behebung stellt FHEM die folgenden Hilfsmittel zur Verfügung (Auswahl):
* Performance-Analyse:
* Performance-Analyse:
** [[apptime]]  
** [[apptime]]  
** [[perfmon]]
** [[perfmon]]
* Fhem-Systeminformationen: [http://fhem.de/commandref.html#fheminfo fheminfo]
* FHEM-Systeminformationen: [http://fhem.de/commandref.html#fheminfo fheminfo]
* Details über [[HomeMatic]](-Geräte): [[Homematic HMInfo|HMInfo]]
* Details über [[HomeMatic]](-Geräte): [[Homematic HMInfo|HMInfo]]
* [[Event monitor]]
* [[Event monitor]]
Zeile 45: Zeile 45:


=== Dokumentation ===
=== Dokumentation ===
Um auch an die Community zurückzugeben, können jetzt auch Details der Implementierung z.B. hier im Wiki beschrieben werden. Möglicherweise ist im eigenen Projekt ein völlig neues [[Anwendungsszenarien|Anwendungsszenario]] verwirklicht worden oder es sind [[:Kategorie:Code Snippets|Codeschnipsel]] entstanden, die für die Allgmeinheit (der Fhem-Benutzer) hilfreich sein könnten.
Um auch an die Community zurückzugeben, können jetzt auch Details der Implementierung z.B. hier im Wiki beschrieben werden. Möglicherweise ist im eigenen Projekt ein völlig neues [[Anwendungsszenarien|Anwendungsszenario]] verwirklicht worden oder es sind [[:Kategorie:Code Snippets|Codeschnipsel]] entstanden, die für die Allgmeinheit (der FHEM-Benutzer) hilfreich sein könnten.


{{Todo|Diese Aufstellung sollte noch erweitert und mit sinnvollen Querverweisen an andere Stellen in diesem Wiki versehen werden}}
{{Todo|Diese Aufstellung sollte noch erweitert und mit sinnvollen Querverweisen an andere Stellen in diesem Wiki versehen werden}}


[[Kategorie:FHEM]]
[[Kategorie:FHEM]]

Version vom 24. Januar 2017, 16:07 Uhr

Die Umsetzung (Implementierung) eines FHEM-Projekts hat zumindest die Teilaspekte der Installation der Geräte und der Entwicklung des Interfaces mit den darüber ansprechbaren Funktionen. Für den Start dieser Phase sollte die Planung fortgeschritten sein, nach Abschluss der Implementierung kann der (Regel-)Betrieb aufgenommen werden.

Installation der Hardware

Sonsoren, Aktoren, Verkabelung

Sensoren und Aktoren müssen installiert und ggf. (bei kabelgebundenen Systemen) mit der Zentrale verbunden werden.

FHEM Server und Interfaces

Die Hardware, auf der FHEM läuft, muss in Betrieb genommen und FHEM installiert werden.

Implementierung der Funktionalität

Definition und Beschreibung der Geräte

Alle Geräte müssen in FHEM definiert und ggf. mit zusätzlichen Attributen versehen werden. Die Basisdefinitionen von einigen Geräten wird schon durch die autocreate Funktion durchgeführt. Es ist sinnvoll, für die (Um-)Benennung von Geräten ein Namensschema festzulegen und zu benutzen.

Bedienelemente

Bedienelemente umfasst alle Icons, Buttons, Texte etc., die auf der Bedienoberfläche angezeigt werden.

Automatikfunktionen

Automatikfunktionen müssen definiert und getestet werden:

Zeitsteuerung

Um Aktionen zeitgesteuert auszuführen, wird in der Regel das at verwendet.

Ereignissteuerung

Ereignisse werden mittels notify verarbeitet.

Test, Probebetrieb

Für Test und Probebetrieb sowie zur Problembestimmung/-behebung stellt FHEM die folgenden Hilfsmittel zur Verfügung (Auswahl):

  • Performance-Analyse:
  • FHEM-Systeminformationen: fheminfo
  • Details über HomeMatic(-Geräte): HMInfo
  • Event monitor
  • Der Umfang ausgegebener Nachrichten kann zur Problembestimmung über das Attribut verbose erhöht werden.
  • Sollte FHEM überhaupt nicht mehr starten (und demzufolge auch keine hilfreichen Meldungen mehr ausgeben), kann möglicherweise der Start mittels strace -f -o /tmp/strace.out fhem.pl fhem.cfg weiterhelfen (siehe auch diese Forendiskussion).

Sonstiges

Die Systemübersicht kann auch in dieser Phase als Orientierung dienen, bei der Realisierung der Funktionalität stellen Anwendungsszenarien, Beispiele, Code-Schnipsel und letztendlich die Befehlsreferenz (commandref) die Informationsbasis dar.

Probleme

Für Probleme, die während der Umsetzung und auch später im Betrieb auftreten, sollte

  • über die Liste der Änderungen überprüft werden, ob das Problem auf dem aktuellen Softwarestand bereits behoben ist
  • im Forum gesucht werden, ob dieses Problem schon bekannt / behoben ist
  • für neue Probleme ein neuer Diskussionsfaden aufgemacht werden. Den dafür vorgesehenen Forenbereich bitte über die Liste der Maintainer ermitteln.

Dokumentation

Um auch an die Community zurückzugeben, können jetzt auch Details der Implementierung z.B. hier im Wiki beschrieben werden. Möglicherweise ist im eigenen Projekt ein völlig neues Anwendungsszenario verwirklicht worden oder es sind Codeschnipsel entstanden, die für die Allgmeinheit (der FHEM-Benutzer) hilfreich sein könnten.


Todo: Diese Aufstellung sollte noch erweitert und mit sinnvollen Querverweisen an andere Stellen in diesem Wiki versehen werden