FHEM #5 – Atom-Editor

Blogbanner 5: Atom-Editor

Einleitung

Der Atom-Editor ist ein open source Text-Editor für verschiedene Programmiersprachen. Besonders hervorzuheben sind der integrierte Paketmanager zur Erweiterung mit Packages (=Plug-Ins) und Themes. Desweiteren ist die Syntaxhervorhebung ein Highlight dieses Text-Editors.

Bei kleineren Änderungen an der FHEM-Konfiguration reicht in der Regel die FHEM-Weboberfläche. Die Bearbeitung in der FHEM-Weboberfläche empfiehlt sich auch insbesondere für Anfänger. Für Fortgeschrittene und für komplexe Änderungen an großen Konfigurationen empfehle ich stets den Einsatz eines externen Text-Editors, wie z. B. den Atom-Editor.

Warum überhaupt ein Text-Editor? Die Konfiguration von FHEM wird standardmäßig in Text-Form gespeichert. Daher bietet sich der Einsatz eines Text-Editors hervorragend an.



Neben der Möglichkeit die Konfiguration als Text-Datei zu speichern, existiert noch die Möglichkeit die Konfiguration in einer Datenbank zu speichern. In FHEM nennt sich das dann configDB. Dies hat einige Vor- und Nachteile.


  • Vorteile sind Versionierung, Reihenfolge von Definitionen spielt keine Rolle, schnelleres Laden
  • Nachteile sind kein verwenden von Text-Editoren möglich, Erreichbarkeit des Datenbankserver muss gewährleistet sein

Wer noch mehr Vor- oder Nachteile kennen sollte mir dies bitte in den Kommentaren mitteilen. Ich ergänze dann den Artikel. Für meinen eigenen FHEM-Workflow nutze ich die textbasierte Speicherung der FHEM-Konfiguration in Verbindung mit dem Atom-Editor.

Atom-Editor Download und Installation

Den Atom-Editor kann man unter folgendem Link downloaden:

Atom-Editor (Downloadseite)


Den Atom-Editor gibt es auch in einer portablen Variante, welche ich normalerweise bevorzuge. Allerdings enthält sie sehr viele kleine Dateien, die sich bei Verwendung des Editors ständig ändern (Zeitstempel). Für eine automatisierte Synchronisierung ist dies von Nachteil, weshalb ich hier die normale Variante mit Installer verwende.

Die Installation ist sehr einfach. Nach dem Download einfach auf die "AtomSetup"-Datei klicken. Das war es schon.



Kurz danach erscheint die Programmverknüpfung auf dem Desktop und der Atom-Editor kann gestartet werden.



Nach dem Start erscheint dann das Begrüßungsfenster mit dem "Welcome-Guide". Um den Editor kennenzulernen, kann man sich hier schon ein wenig durch die einzelnen Punkte klicken.

Atom-Editor: Packages

Eine tolle Sache ist die Erweiterbarkeit des Atom-Editors mittels Packages. Der Atom-Editor stellt aber auch schon von Haus aus einige Packages zur Verfügung. Unter "File"->"Settings"->"Packages"->"Core Packages" können diese eingesehen werden.



Möchte man weitere Packages hinzufügen klickt man im linken Bereich auf "Install" und kann dann im Suchfenster nach verfügbaren Packages suchen.



Ist in der Trefferliste etwas dabei das ich als Erweiterung haben möchte, klicke ich auf Install.



Ich stelle jetzt hier noch einige sehr nützliche Erweiterungen vor, die ich für meine Arbeit an FHEM-Konfigurationen (FHEM-Workflow) verwende.

Package: color-picker

Mit dem color-picker kann ich direkt in meinem FHEM-Konfiguration Farben auswählen und in den Code einfügen. Der color-picker ist sehr nützlich bei einer Konfiguration von HUE-Birnen oder aber auch von Yeelight-Birnen.



Package: file-types

Mit diesem Package kann man Dateitypen zu Programmiersprachen zuordnen. FHEM-Konfigurationen werden in Dateien mit der Endung .cfg gespeichert. Man verbindet also *.cfg-Dateien mit der "language-fhem" zur Syntaxhervorhebung - siehe nächstes Package.

Das heißt jedes mal wenn man eine *.cfg-Datei im Atom-Editor öffnet, wird automatisch "language-fhem" zur Syntaxhervorhebung angewendet
Dieses Package und das nächste Package hängen zusammen, weshalb die Konfiguration im nächsten Package genauer erläutert wird.

Package: language-fhem

Dieses Package stellt die Syntaxhervorhebung speziell für FHEM-Konfigurationen bereit.
Für die Konfiguration der beiden Packages "file-types" und "language-fhem" geht man in die "Config" des Atom-Editors und kann dort die notwendigen Einstellungen vornehmen.



Der Inhalt meiner "config.cson" sieht dann so aus:

Darin sind alle meine Einstellungen des Atom-Editors enthalten, auch die der beiden Packages.

So sieht eine FHEM-Konfiguration ohne das "language-fhem" Package aus



und so dann mit

Package: minimap

Dieses Package stellt eine Vorschau des FHEM-Konfiguration dar. Das ist z. B. bei der Navigation in langen FHEM-Konfiguration von Vorteil, wenn man zwischen den einzelnen Bereichen wechseln möchte. Man zieht die Vorschau einfach mit der Maus von oben nach unten und der Code bewegt sich entsprechend mit. Ein langwieriges Scrollen und Suchen entfällt hierbei.

Package: multi-cursor

Das multi-cursor Package kann den cursor, der normalerweise immer nur eine Zeile betrifft, auf mehrere Zeilen erweitern. Extrem nützlich für Massenänderungen.



Atom-Editor: Themes

Für den Atom-Editor lässt sich auch das Aussehen über Themes einstellen. Der Atom-Editor bringt standardmäßig einige Themes mit, die zur Auswahl stehen.
Zu den Themes gelangt man über die "File"->"Config"->"Themes". Ich verwende das Theme "One Dark" mit dem Syntax Theme "An Old Hope".



Weitere Themes können über das bekannte "Install" installiert werden. Wichtig ist dann im Suchfenster auf "Themes" umzuschalten.

Atom-Editor: FHEM-Konfiguration bearbeiten

Im letzten Artikel der FHEM-Serie habe ich das Tool WinSCP genauer vorgestelltund dabei auch schon mal den Atom-Editor erwähnt. Mein FHEM-Workflow sieht jetzt so aus, das ich mich auf den FHEM-Server einlogge und dann direkt aus WinSCP die zu bearbeitende Datei im Atom-Editor öffne. Danach kann ich die gewünschten Änderungen vornehmen und direkt abspeichern. Ich bearbeite also die FHEM-Konfiguartion direkt auf dem FHEM-Server und muss keine Dateien mehr lokal ablegen bzw. wieder hochladen.

Bevor man allerdings loslegen kann, muss man den Atom-Editor in den Editoreinstellungen von WinSCP hinzufügen. Zu den Editoreinstellungen gelangt man über den Button "Werkzeuge"->"Einstellungen".



Danach wählt man im linken Bereich "Editoren" aus und klickt dann auf "Hinzufügen"



Im erscheinenden Fenster wählt man "externer Editor" und klickt auf den Button "Auswählen"



Jetzt muss man noch die "atom.exe" auswählen. Diese findet man im angegeben Pfad. Allerdings dann unter eurem eigenen Windows-User. Danach noch auf den Button "Öffnen" klicken und mit "Ok" bestätigen.



Hat man das erledigt, taucht der Editor in der Liste auf und man kann mit Klick auf den Button "Ok" die Einrichtung abschließen.



Jetzt lässt sich die FHEM-Konfiguration direkt mit dem Atom-Editor bearbeiten. Man kann dies dann über einen rechten Mausklick auf z .B. die fhem.cfg mit anschließendem Klick auf "Bearbeiten" tun. Hat man mehrere Editoren zu Auswahl, kann über das weitere Untermenü der passende Editor ausgewählt werden.

Weitere Editoren

In der FHEM-Weboberfläche ist direkt ein Editor eingebaut, der für kleinere Änderungen durchaus reichen kann. Standardmäßig sieht er so aus:



Auch dieser Editor lässt sich mit einer Syntaxhervorhebung ausstatten - siehe auch das WIKI dazu. Um die Syntaxhervorhebung zu aktivieren muss folgender Befehel in das Eingabefeld eingegeben und mit Enter bestätigt werden:

Code
  1. attr TYPE=FHEMWEB JavaScripts codemirror/fhem_codemirror.js

Damit aktiviere ich für meine "FHEMWEB" Instanz die Syntaxhervorhebung. Bei mir sieht das dann so aus (dunkler Stil):



Man erkennt sofort die Syntaxhervorhebung. Damit kann man schon einigermaßen gut Arbeiten, falls man doch keinen externen Editor verwenden möchte.

Durch Erweiterungen können auch der in Raspbianintegrierte nano-Editor und das ebenfalls für Windows verfügbare und beliebte Notepad++ mit einer Syntaxhervorhebung ausgestattet werden.

    Über den Autor

    Autor von worldoftech.de. Smart-Home-Verrückter.


    Nutzt Zuhause FHEM zusammen mit HomeMatic, JeeLink, 1-Wire, Flammtronik / Atmos HV, Buderus KM271, Philips HUE, Xiaomi Yeelight, Alexa, Sonos, FritzBox, Ubiquiti UniFi APs, APC UPS, APC PDU, IPMI. MariaDB, InfluxDB und Grafana zur Auswertung. Als Hardware-Untersatz kommen mehrere RaspberryPis und Supermicro Serverhardware zum Einsatz. Softwareseitig werden hauptsächlich Raspbian, Ubuntu, ESXi und Docker verwendet.

    Reinhard Team

    Kommentare 1

    • […] öffnet man die Datei am bestem im Atom-Editor oder einem anderen Text-Editor und kopiert sich das Token für später heraus. Das Token ist der […]