FHEM #5 – Atom-Editor

Atom-Editor

Dieser Artikel beschäftigt sich mit Text-Editoren für FHEM. Mit einem Text-Editor kann die Konfiguration von FHEM effektiv bearbeitet werden. Dabei wird dem Atom-Editor die größte Aufmerksamkeit zugeteilt. Daneben stelle ich auch noch kurz die direkt in FHEM zu nutzenden Editoren vor.

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.

Atom-Editor

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.

 

Werbung

 

Atom-Editor Download und Installation

Den Atom-Editor kann man unter folgendem Link downloaden:

Atom-Editor (Downloadseite)

Aktualisierungsservice

Dieser Beitrag ist gültig für die Version: ATOM 1.18.0 (11.07.2017)

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. 

Atom-Editor

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

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

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.

Atom-Editor Atom-Editor

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

Atom-Editor

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

Atom-Editor

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

Atom-Editor

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.

Atom-Editor

Atom-Editor

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.

Atom-Editor

Der Inhalt meiner “config.cson” sieht dann so aus:

"*":
  core:
    automaticallyUpdate: false
    customFileTypes:
      "source.fhem": [
        "cfg"
      ]
    telemetryConsent: "no"
    themes: [
      "one-dark-ui"
      "an-old-hope-syntax"
    ]
  editor:
    fontSize: 16
    invisibles: {}
  "exception-reporting":
    userId: "ec4262d0-29ad-5a62-f66e-82a525465291"
  minimap:
    displayMinimapOnLeft: true
  "one-dark-ui": {}
  welcome:
    showOnStartup: false
".fhem.source":
  editor:
    scrollPastEnd: false
    showIndentGuide: false
    showInvisibles: false
    softWrap: false
    softWrapAtPreferredLineLength: false

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

Atom-Editor

und so dann mit

Atom-Editor

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.

Atom-Editor

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

 

Werbung

 

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”.

Atom-Editor

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

Atom-Editor

Atom-Editor: FHEM-Konfiguration bearbeiten

Im letzten Artikel der FHEM-Serie habe ich das Tool WinSCP genauer vorgestellt und 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”.

Atom-Editor

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

Atom-Editor

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

Atom-Editor

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.

Atom-Editor

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

Atom-Editor

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.

Atom-Editor

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:

FHEM-Editor

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:

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):

FHEM-Editor

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 Raspbian integrierte nano-Editor und das ebenfalls für Windows verfügbare und beliebte Notepad++ mit einer Syntaxhervorhebung ausgestattet werden.

 

Reinhard
Autor von frombeyond.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.