Import von Code Snippets

Aus FHEMWiki
Version vom 1. Mai 2019, 12:08 Uhr von Krikan (Diskussion | Beiträge) (Verweis auf nicht vorhandenen Funktion "exportdevice" durch list -r/-R ersetzt)
Zur Navigation springen Zur Suche springen

Sorgfältig vorbereitete Code Snippets, mit den raw-Optionen von list oder mit Raw definition ausgegebene Gerätedefinitionen können im FHEMWEB-Frontend über Raw definition importiert werden.

Info blue.png
Wie das Befehl-Eingabefeld unterstützt auch das Dialogfeld zur RAW-Definition Syntax highlighting und die geänderten bzw. importierten Anweisungen werden bei der Ausführung einer Syntaxprüfung unterzogen. So lassen sich eventuelle Fehler häufig schnell erkennen.


X mark.svgDer Weg über den RAW-Import macht insbesondere das direkte Editieren der fhem.cfg überflüssig. Neben dem bereits genannten Syntax-Check hat der Weg über den RAW-Import v.a. auch den Vorteil, dass die Änderungen direkt on the fly ausgeführt werden, was insbesondere auch das Testen der Änderungen vor dem Speichern in die Konfiguration im laufenden System ermöglicht.

Wie finde ich Raw definition?

Es gibt zwei Wege, Dialogfelder zur Eingabe von RAW-Code aufzurufen, wobei der erste Weg f18 als FHEMWEB-Style voraussetzt[1].

Button

Um schnell zu einem Eingabefeld für Raw definition zu gelangen, klicken Sie einfach auf das + neben dem Kommandofeld. Es öffnet sich ein leeres Dialogfeld, in den man RAW-Code direkt eingeben bzw. am Stück eingeben kann.

Über die Geräte-Detailansicht

Zur Raw definition kommt man auch über die Gerätedetailansicht eines beliebigen Gerätes. Der Link Raw definition steht in der letzten Zeile der Seite. Raw definition.png

Diesen Weg sollten Sie wählen, wenn Sie Code für andere bereit stellen wollen.

In dem erscheinenden Dialogfeld erscheint auf diesem Weg die RAW-Definition des Geräts, von dem aus Sie den RAW-Editor aufgerufen haben. Diese Anweisungen können Sie entweder ändern oder auch ganz löschen und durch eigene Anweisungen - auch zu ganz anderen Geräten - überschreiben.

Erstellen eines Importgerätes

Zur Übung kann man dieses Importgerät importieren.

define Import dummy
attr Import group Entwicklung
attr Import room Entwicklung
save

Direktzugriff über das FHEM-Menü

Der angelegte Import-Dummy kann direkt aufgerufen werden, wenn man einen Meüeintrag anlegt. Im entsprechenden FHEMWEB-Gerät das Attribut menuEntries erzeugen mit

attr WEB menuEntries CodeImport,/fhem?detail=Import#

oder ergänzen mit

CodeImport,/fhem?detail=Import#

Vorgehensweise beim Import

Als erstes die Geräteansicht eines beliebigen Gerätes aufrufen, dann den Link Raw definition anklicken.
Jetzt den angezeigten Inhalt des sich öffnenden Eingabefeldes mit der oben stehenden Definition überschreiben und danach den erschienenen Button Execute commands drücken.
Wenn die Meldung "Executed everything, no errors found." erscheint, war der Import erfolgreich, andernfalls gibt es eine Fehlermeldung und der Import wird an dieser Stelle abgebrochen.
Das Gerät müsste jetzt im Raum Entwicklung zu finden sein.
Jetzt noch auf "Save config" klicken, oder ein "save" in der Eingabezeile ausführen damit das neue importierte Device in die fhem.cfg übernommen wird.
Zukünftig kann dieses Gerät zum Importieren genutzt werden, damit sinkt die Wahrscheinlichkeit eine bestehende Definition zu beeinträchtigen.

Zum Erstellen eigener Definitionen ist der DEF-Editor das empfohlene Werkzeug.

Sonstiges

Geräte zwischen Installationen verschieben

Möchte man eigene Geräte zwischen unterschiedlichen Installationen verschieben, z.B. aus einem Test- in das Produktivsystem, kann man sich mit den erweiterten Optionen von list die Informationen aus dem Ausgangssystem so anzeigen lassen, dass diese direkt samt derzeitiger Zustände ins Zielsystem übernommen werden können.

attrTemplate

attrTemplate ist für Geräte-Typen, die dies unterstützen, eine weitere Option, Geräte schnell mit einer typischen Konfiguration einzurichten.

Links