Umsetzung: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Hinweis auf Start über "strace")
K (Schreibweise "HomeMatic")
 
(6 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
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 19: Zeile 19:


==== Zeitsteuerung ====
==== Zeitsteuerung ====
Um Aktionen zeitgesteuert auszuführen, wird in der Regel das '''[http://fhem.de/commandref.html#at at]''' verwendet.
Um Aktionen zeitgesteuert auszuführen, wird in der Regel das '''{{Link2CmdRef|Anker=at|Label=at}}''' verwendet.


==== Ereignissteuerung ====
==== Ereignissteuerung ====
Ereignisse werden mittels '''[http://fhem.de/commandref.html#notify notify]''' verarbeitet.
Ereignisse werden mittels [[Eventhandler]] verarbeitet. Der [[Event monitor]] bietet einen Wizzard an, mit dessen Hilfe die notwendigen Einstellungen für [[Eventhandler]] getroffen werden können.


=== 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: {{Link2CmdRef|Anker=fheminfo|Label=fheminfo}}
* Details über [[HomeMatic]](-Geräte): [[Homematic HMInfo|HMInfo]]
* Details über [[HomeMatic]](-Geräte): [[HMInfo]]
* [[Event monitor]]
* [[Event monitor]]
* Der Umfang ausgegebener Nachrichten kann zur Problembestimmung über das Attribut [[verbose]] erhöht werden.
* Das {{Link2CmdRef|Anker=intro|Label=FHEM-Logfile}}
* Sollte FHEM überhaupt nicht mehr starten (und demzufolge auch keine hilfreichen Meldungen mehr ausgeben), kann möglicherweise der Start mittels <code>strace -f -o /tmp/strace.out fhem.pl fhem.cfg</code> weiterhelfen (siehe auch {{Link2Forum|Topic=54620|Message=461971|LinkText=diese Forendiskussion}}).
Der Umfang ausgegebener und geloggter 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 <code>strace -f -o /tmp/strace.out fhem.pl fhem.cfg</code> weiterhelfen (siehe auch {{Link2Forum|Topic=54620|Message=461971|LinkText=diese Forendiskussion}}). Weitere Hinweise zur Fehlersuche sind in [[FHEM startet nicht - Tipps zur Fehlersuche]] zu finden.


== Sonstiges ==
== Sonstiges ==
Die [[Systemübersicht]] kann auch in dieser Phase als Orientierung dienen, bei der Realisierung der Funktionalität stellen [[Anwendungsszenarien]], [[:Kategorie:Examples|Beispiele]], [[:Kategorie:Code Snippets|Code-Schnipsel]] und letztendlich die [http://fhem.de/commandref.htm Befehlsreferenz (commandref)] die Informationsbasis dar.
Die [[Systemübersicht]] kann auch in dieser Phase als Orientierung dienen, bei der Realisierung der Funktionalität stellen [[Anwendungsszenarien]], [[:Kategorie:Examples|Beispiele]], [[:Kategorie:Code Snippets|Code-Schnipsel]] und letztendlich die Befehlsreferenz {{Link2CmdRef}} die Informationsbasis dar.


=== Probleme ===
=== Probleme ===
Zeile 45: Zeile 46:


=== 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.
==== Notfallplanung ====
Bitte denken Sie daran, dass Sie Ihre Dokumentation zweckmäßiger Weise so gestalten sollten, dass nicht nur Sie sich darin zurechtfinden. Im Ernstfall sollte gegebenenfalls auch jemand drittes in der Lage sein, Ihre Installation weiter zu betreiben<ref>Dies ist eigentlich nur ein Teilaspekt eines "digitalen Testaments", der ansatzweise z.B. hier {{Link2Forum|Topic=82839|LinkText=im Forum}} diskutiert wurde.</ref>
 
==== Community ====
Wer auch etwas an die Community zurückgeben möchte, kann jetzt auch Details der Implementierung z.B. hier im Wiki beschreiben. 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.
 
== Anmerkungen ==
<references />


{{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-Verwendung]]

Aktuelle Version vom 2. Dezember 2021, 15:18 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 Eventhandler verarbeitet. Der Event monitor bietet einen Wizzard an, mit dessen Hilfe die notwendigen Einstellungen für Eventhandler getroffen werden können.

Test, Probebetrieb

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

Der Umfang ausgegebener und geloggter 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). Weitere Hinweise zur Fehlersuche sind in FHEM startet nicht - Tipps zur Fehlersuche zu finden.

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

Notfallplanung

Bitte denken Sie daran, dass Sie Ihre Dokumentation zweckmäßiger Weise so gestalten sollten, dass nicht nur Sie sich darin zurechtfinden. Im Ernstfall sollte gegebenenfalls auch jemand drittes in der Lage sein, Ihre Installation weiter zu betreiben[1]

Community

Wer auch etwas an die Community zurückgeben möchte, kann jetzt auch Details der Implementierung z.B. hier im Wiki beschreiben. 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.

Anmerkungen

  1. Dies ist eigentlich nur ein Teilaspekt eines "digitalen Testaments", der ansatzweise z.B. hier im Forum diskutiert wurde.


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