First steps in FHEM: Unterschied zwischen den Versionen

Aus FHEMWiki
Zur Navigation springen Zur Suche springen
K (→‎Creating device - define: Rohmaterial geladen)
Zeile 38: Zeile 38:


== Creating device - define  ==
== Creating device - define  ==
<!--
Das Grundgerüst von FHEM sind "devices". Typische Devices sind beispielsweise Funksteckdosen, Rolladenmotoren, Temperaturmessgeräte, Magnetventile usw. Aber andere Dinge, die man auf den ersten Blick nicht als physisches Gerät bezeichnen würde, sind Device: So etwa ist die Benutzeroberfläche von FHEM selbst ein device ("FHEMWEB"), ebenso gibt es Devices ohne physische Geräte, die dazu benutzt werden können, um eine Variable zu speichern. Ein sehr einfaches Device, dummy genannt, legen wir jetzt an.
Das dummy devices ist insofern ein besonderes Objekt, weil es nicht unbedingt ein korrespondierendes physisches Gerät (eine physische Lampe, ein Rolladen, ein Magnetventil) benötigt. So können Sie diese Schritte auch ohne ein Hardware-System durchführen bzw. kann hier eine allgemeine Einführung erfolgen, ohne auf die Unterschiede der einzelnen Hardwaresysteme einzugehen. Ein Dummy-Device sieht auf der FHEM-Oberfläche im Allgemeinen genau so aus, wie ein FHEM-Device zu einem physisch vorhandenen Gerät Ihres Hardwaresystems.
Zunächst legen wir einen Schalter an. Dieser soll einen Lichtschalter an der Wand simulieren. Geben Sie dazu folgenden Befehl in das Kommandofeld ein:
define mySwitch1 dummy
"define" ist der FHEM-Befehl, "mySwitch1" der zukünftige Name des devices und "dummy" bezeichnet den Typ. Die Worte define und dummy gehören zur Befehlssyntax von FHEM und können nicht verändert werden, mySwitch1 ist (mehr oder weniger) frei wählbar. Nach drücken der {{Taste|Enter}}-Taste wird die Detail-Ansicht des neuen FHEM-Device ''mySwitch1'' angezeigt.
[[Datei:ErsteSchritteInFhem03.png|border]]
{{Hinweis|Jedes Device hat genau einen "Typ".  Dieser Typ legt gleichzeitig die Perl-Befehlsdatei (man spricht präziser vom "Modul") fest, in der bestimmte Routinen und Eigenschaften festgehalten sind. Ist etwa ein Device vom Typ dummy, so weiß FHEM, dass die Routinen und Eigenschaften im Modul 98_dummy.pm liegen. (Die Zahl 98 hatte früher eine Bedeutung, heute ist das nicht mehr der Fall, aus historischen Gründen wird sie aber immer noch verwendet.)}}
Devices haben einen "Zustand", der sich im Zeitablauf ändert und den FHEM registriert. So ist beispielsweise ein Fenster offen, ein Rolladenpanzer geschlossen und eine Funksteckdose hat Spannung. Ein Zustand muss dabei nicht exakt eine Variable beinhalten (Fenster entweder "offen" oder "geschlossen"), ein Zustand kann auch durch mehrere Variablen beschrieben werden (der Zustand eines Raspberry-Systems, device-type sysmon, umfasst beispielsweise die CPU-Frequenz, die CPU-Temperatur, den load und vieles mehr).
Dieser Zustand wird in FHEM durch insgesamt drei Größen erfasst. Diese Größen heißen Internals, Attribute und Readings. Es wäre jetzt zu früh, auf die Bedeutung der drei Begriffe im Detail einzugehen, aber folgende Anmerkungen sind für die nachfolgenden Schritte wichtig:
*''Internals'' enthalten ganz grundlegende Informationen zu dem device. Sie werden vom Nutzer in den seltensten Fällen direkt bearbeitet (meist nur bei der Einrichtung des devices).
*''Attribute'' sollen das Verhalten des devices steuern. Sie können vom Anwender typischerweise verändert (oder erst angelegt) werden.
*''Readings'' besitzen im Gegensatz zu den beiden anderen Größen einen Zeitstempel. Hier werden üblicherweise Messwerte des Gerätes erfasst.
Verwirrend für einen Anfänger kann sein, dass manchmal Internals wie auch Readings mit gleichem Namen (STATE und state) existieren können. Allerdings unterscheidet Perl zwischen Groß- und Kleinschreibung!
{{Hinweis|Der Block '''''Internals''''' zeigt immer die grundlegende Ausprägung eines FHEM-device an:
*'''''NAME'''''  ist der von Ihnen vergebene Name.
*'''''TYPE'''''  ist der Typ des FHEM-device, hier dummy.
*'''''STATE''''' ist der in allen Übersichten angezeigte Status des Geräts. Da noch keine Zuordnung stattgefunden hat, ist dieser zunächst '''''???'''''.}}
-->
== Creating rooms ==
== Creating rooms ==
== Creating switching commands ==
== Creating switching commands ==

Version vom 12. Juni 2017, 11:58 Uhr


Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.




Hier entsteht die englische Fassung von Erste Schritte in FHEM...

  • Letzte Änderung der dt. Fassung: 17.05.2020
  • Letzte Änderung der engl. Fassung: 12.06.2017
  • Neuere Version ist: dt. Version


This a beginners course for those starting to work with FHEM. After you have installed FHEM on your server you may reproduce all steps without any additional smart home hardware.

This guide was primarily published by Ulrich Maass who permitted the use in FHEM wiki.

Note to editors: Everybody is called to improve orthography, grammar and style. Content changes and extentions should be discussed with the author (e. g. on associated discussion page).

First attempt

To start FHEM first time enter in your browsers address field:

http://<ip-address>:8083

e. g. http://192.168.1.1:8083.

So you get FHEM homepage:

ErsteSchritteInFhem01.png

  • At the head you can discover a white command line, where you may type in commands.
  • As a first menu entry you can see button Save config, that is intended to store configuration changes beyond a FHEM restart.
  • Beside this there are already rooms Unsorted and Everything, we will get to know later on.
  • More links are collected in a lower group, we will discuss later on too.

Advice Security Check indicates that there is no FHEM password. Ho to configure a password protection you can see at FHEM command reference commandref, where you by the way may find a description of all FHEM functions and modules. To suppress this message as a start enter in command line:

attr global motd none

and confirm this change pressing Enter-button.

ErsteSchritteInFhem02.png

Creating device - define

Creating rooms

Creating switching commands

Event monitor

Operating devices - set

Event trigger - notify

Deleting or disabling devices – delete, disable

Save Config

Modifying existing – modify

Switching a couple of devices at once

Renaming devices

Scheduler - at

Event-driven timer start - notify und at

How do we go on?