Hier stelle ich ein paar Tips & Tricks vor, die mir helfen und euch helfen könnten bei dem Umgang mit FHEM.

Weboberfläche

Highlight Editor

Unterm WEB oder eure Oberfläche einen schönen, anderen, übersichtlicheren Webeditor/anzeige für Code verknüpfen:

attr WEB JavaScripts  codemirror/fhem_codemirror.js

 

sichtbares Eingabefeld verlängern

attr WEB mainInputLength 80
Hiermit wird das obere Eingabefeld auf 80 Zeichen vergrößert

weiterlesen

Nachdem ESP mit ESPEasy und FHEM über MQTT funktioniert, hat der User “dev0” aus dem FHEM-Forum ein neues Modul entwickelt.

Die Vorraussetzung für dieses Modul ist, das auf dem ESP eine Version > 128 installiert, da in dieser als Serverauswahl “FHEM HTTP” zur Verfügung steht.

Das Modul wird wie auf dem GitHub-Wiki beschrieben installiert. Über die FHEM WEBCMD-Oberfläche:

  • update add https://raw.githubusercontent.com/ddtlabs/ESPEasy/master/controls_ESPEasy.txt
  • update

JSON für Perl (cpan install JSON) muss auf dem FHEM Server installiert sein.

Das Device wird folgendermaßen angelegt:
define devESPFHEM ESPEasy bridge 8181
--> "define <name=frei wählbar> ESPEasy bridge <port=frei wählbar>"

Sobald nun ein ESP Daten sendet, wenn autocreate angeschaltet ist, werden die Werte in FHEM angezeigt.

Alles Weitere steht im Wiki und Forum.

ESPEasy Bridge

ESPEasy Bridge

ESPEasy WiFi Data

ESPEasy WiFi Data

Hier noch ein brauchbarer Link

Tankerkönig.de bietet eine schöne API mit JSON Ausgabe an.
Um diese in FHEM einzubinden braucht mal als Erstes einen eigenen API Key. Den bekommt man kostenlos hier. Mit diesem ist dann der Zugriff auf die Daten von Tankerkönig möglich.

Um an die ID der Tankstelle zu gelangen gibt es mehrere Möglichkeiten.
Ich beschreibe hier mal einen von diesen Wegen über die Webseite:

  1. Auf Tankerkönig.de die PLZ oder den Ort eingeben
  2. Die Tankstelle aussuchen und anklicken
  3. Meldung anklicken –> öffnet eine neue Seite
  4. Die URL kopieren und in Notepad einfügen oder direkt die ID rauskopieren
    http://www.tankerkoenig.de/MTS-K-Complaints/Complaint.php?station={"id"%3A"cfe5f775-a134-4d0f-934c-2e3c03a27675"2C"isOpen":true,"prices":{"diesel_price":"0.989","e5_price":"1.239","e10_price":"1.199"},"name":"METTMANN, DÜSSELDORFERSTR.168.","brand":"Shell","street":"DÜSSELDORFERSTR. 168","houseNumber":"","postCode":"40822","place":"Mettmann","location":{"lat":51.2542,"lng":6.95995}}

    tankerkoenig_url

    Tankerkönig URL ID

    5. ID abspeichern brauchen wir ja im FHEM Script

In FHEM legen wir nun ein neues Device an, hier der vollständige Code:

weiterlesen

Mal eben schnell einen SVG Plot erstellen für Einträge die in der DB liegen:

define plot.Name weblink dbplot dblog:Device

Das erzeugte Plot dann nur die Source auf dbLog umstellen, das Device auswählen und fertig ist das Ganze.

# Created by FHEM/98_SVG.pm, 2016-04-16 13:05:26
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Feuchte/Temp  HobbyRaum <TL>'
set ytics
set y2tics
set grid
set ylabel "Temperature"
set y2label "Feuchte"

#logdb device:Temperature
#logdb device:Humidity

plot "<IN>" using 1:2 axes x1y1 title 'Temp' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Feuchte' ls l2fill lw 0.5 with lines

 

So langsam wurde meine Konfigurationsdatei für FHEM etwas unübersichtlich und habe diese nun aufgeteilt in verschiedene cfg-Dateien.

Das geschieht am einfachsten so:

  1. Unter FHEM –> Edit files die fhem.cfg aufrufen
  2. Save as WasAuchImmerAbschnitt.cfg in meinem Fall zB.  fhem_spritpreise.cfg
  3. Edit files –> fhem_spritpreise.cfg aufrufen, sollte sich nun unter “Own modules and helper files” befinden
  4. Alles rauslöschen bis auf das was die Konfigdatei beinhalten soll, also bei mir Spritpreise-konfiguration und dann wieder abspeichern
  5. Edit files wieder die fhem.cfg aufrufen, den Abschnitt rauslöschen welchen die neue Konfigurationsdatei beinhaltet und dafür:
    # Spritpreismonitor
    include ./FHEM/fhem_spritpreise.cfg
    einfügen und abspeichern.
  6. Wichtig ist nun das man den rereadcfg Befehl benutzt, damit er die CFG-Dateien neulädt, wenn man diese geändert hat! (Danke Zag für den Hinweis!)
  7. Sollte alles ohne Fehler geklappt haben ansonsten einfach die schreibweise und Speicherort der cfg-Datei mal kontrollieren.

Wichtiger Hinweis:
Die include Datei wird von der fhem.pl aufgerufen und daher wird der Pfad mit ./FHEM/cfg-datei angegeben, damit man diese Dateien auch im FHEMweb bearbeiten kann.
Falls dies nicht gewünscht wird kann man die Dateien auch an einen anderen Ort legen.

 

Ich habe ja schon berichtet das ich ESPEasy mit FHEM verbunden habe und nun gehe ich mal auf das Benutzen der GPIOs des ESP mit ESPEasy als Aktor für FHEM ein.
Beim ESPEasy wird dies direkt mit dem Aufruf der IP Adresse des ESPs und dem control cmd durchgeführt. Man ruft direkt die Webseite auf zB. mit http://espeasyip/control?cmd=GPIO,14,1 um den GPIO Port 14 auf 1 zu setzen.

Es gibt zwei Möglichkeiten diese in FHEM zu tun:

weiterlesen

Ich habe mich jetzt schon seit einiger Zeit mit dem ESP beschäftigt und wollte ihn neben den anderen Komponenten nun auch in FHEM einbinden.
Dabei habe ich nach einer Lösung gesucht die einfach anzubinden ist und das als “nicht” Softie auch nicht viel Programmieraufwand erfordert.

Dabei bin ich auf ESPEasy gestoßen und habe es nun mit FHEM verbunden.

Als Protokoll setze ich MQTT ein. Zuerst also den MQTT Broker auf den Server installieren und in FHEM einrichten:

weiterlesen

So mein erster Versuch mit FHEM und den 1-Wire DS18b20 Dingern.

Ich hab meinen RPi B ein neues Noobs Image verpasst und Raspbian in der aktuellen Version draufinstalliert. (Anleitungen gibt es ja genügend im Netz)
Die Standardinstallation vom FHEMWiki für Raspberry genommen und los gings.

Dadurch das FHEM die Sensoren automatisch erkennt (wenn eingestellt) ist das kein Hexenwerk mit der Erst-Einrichtung. Aber nun erstmal zu den Sensoren.

Dadruch das ich mehrere Sensoren bestellt habe, wird es ein Bussystem werden. Aktuell verwende ich direkt den GPIO4 als Busmaster vom RPi mit einem Pullupwiderstand von 4,7kOhm an 3,3V und 5V als Versorgungsspannung der 1-Wire Sensoren (also benutze ich 3 Adern zu den Sensoren). weiterlesen