Import von Code Snippets: Unterschied zwischen den Versionen
K (KernSani verschob die Seite DOIF/Import von Code Snippets nach Import von Code Snippets: Hatt nichts mit DOIF zu tun) |
K (Haupt-Kategorie FHEM entfernt; ist bereits über Kategoriebaum abgedeckt.) |
||
(17 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Sorgfältig vorbereitete Code Snippets, mit | Sorgfältig vorbereitete Code Snippets, mit [[List#Erweiterte_Optionen|den raw-Optionen von list]] oder mit '''Raw definition''' ausgegebene Gerätedefinitionen können im FHEMWEB-Frontend über '''Raw definition''' importiert werden. | ||
{{Hinweis|Wie das [[Konfiguration#Befehl-Eingabefeld|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.}} | |||
== | {{Randnotiz|RNTyp=r|RNText=Der 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.}} | ||
Zur '''Raw definition''' kommt man über die | ==Wie finde ich Raw definition?== | ||
Es gibt zwei Wege, Dialogfelder zur Eingabe von RAW-Code aufzurufen, wobei der erste Weg {{Link2Forum|Topic=82351|LinkText=f18}} als [[FHEMWEB]]-Style voraussetzt<ref>{{Link2Forum|Topic=96921|Message=927192|LinkText=Stand Apr 2019}}</ref>. | |||
=== 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. | |||
<gallery> | |||
datei:RAW-Button.png|Ausschnitt mit dem Button | |||
datei:RAW-Editor-via-Button.png|Geöffnetes Dialogfeld | |||
</gallery> | |||
===Ü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. | |||
[[Datei:Raw_definition.png|600px]] | [[Datei:Raw_definition.png|600px]] | ||
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== | ==Erstellen eines Importgerätes== | ||
Zur Übung kann man dieses Importgerät importieren. | Zur Übung kann man dieses Importgerät importieren. | ||
Zeile 14: | Zeile 30: | ||
==Direktzugriff über das FHEM-Menü== | ==Direktzugriff über das FHEM-Menü== | ||
Der | Der angelegte Import-Dummy kann direkt aufgerufen werden, wenn man einen Meüeintrag anlegt. | ||
Im entsprechenden FHEMWEB-Gerät das Attribut '''menuEntries''' erzeugen mit | Im entsprechenden FHEMWEB-Gerät das Attribut '''menuEntries''' erzeugen mit | ||
<pre>attr WEB menuEntries CodeImport,/fhem?detail=Import#</pre> | <pre>attr WEB menuEntries CodeImport,/fhem?detail=Import#</pre> | ||
oder ergänzen mit | oder ergänzen mit | ||
<pre>CodeImport,/fhem?detail=Import#</pre> | <pre>CodeImport,/fhem?detail=Import#</pre> | ||
==Vorgehensweise beim Import== | ==Vorgehensweise beim Import== | ||
Als erstes die Geräteansicht eines beliebigen Gerätes aufrufen, dann den Link '''Raw definition''' anklicken.<br> | Als erstes die Geräteansicht eines beliebigen Gerätes aufrufen, dann den Link '''Raw definition''' anklicken.<br> | ||
Jetzt den angezeigten Inhalt des sich öffnenden Eingabefeldes mit der oben stehenden Definition überschreiben und danach den erschienenen Button '''Execute commands''' drücken.<br> Wenn die Meldung " | Jetzt den angezeigten Inhalt des sich öffnenden Eingabefeldes mit der oben stehenden Definition überschreiben und danach den erschienenen Button '''Execute commands''' drücken.<br> 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.<br>Das Gerät müsste jetzt im Raum Entwicklung zu finden sein.<br> | ||
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.<br> | |||
Zukünftig kann dieses Gerät zum Importieren genutzt werden, damit sinkt die Wahrscheinlichkeit eine bestehende Definition zu beeinträchtigen. | Zukünftig kann dieses Gerät zum Importieren genutzt werden, damit sinkt die Wahrscheinlichkeit eine bestehende Definition zu beeinträchtigen. | ||
<br><br> | <br><br> | ||
Zum Erstellen eigener Definitionen ist der DEF-Editor das empfohlene Werkzeug. | 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|list]] die Informationen aus dem Ausgangssystem so anzeigen lassen, dass diese direkt samt derzeitiger Zustände ins Zielsystem übernommen werden können. | |||
=== attrTemplate === | |||
[[MQTT2_DEVICE#attrTemplate|attrTemplate]] ist für Geräte-Typen, die dies unterstützen, eine weitere Option, Geräte schnell mit einer typischen Konfiguration einzurichten. | |||
==Links== | ==Links== | ||
* [[Konfiguration]] | |||
* [[MQTT2_DEVICE#attrTemplate|attrTemplate]] | |||
* [[DOIF]] | * [[DOIF]] | ||
* [[DOIF/Ein- und Ausgabe in FHEMWEB und Tablet-UI am Beispiel einer Schaltuhr]] | * [[DOIF/Ein- und Ausgabe in FHEMWEB und Tablet-UI am Beispiel einer Schaltuhr]] | ||
* [[Notify|notify]] | |||
* [[List|list]] | |||
<references /> | |||
[[Kategorie:HOWTOS]] | [[Kategorie:HOWTOS]] | ||
[[Kategorie:FHEM-Verwendung]] |
Aktuelle Version vom 4. Dezember 2019, 12:23 Uhr
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.
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.
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.