First steps in FHEM
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: 13.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:
- 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.
Creating device - define
The main component type in FHEM is called a device.Typical devices are e.g. remote controlled outlets, roller shutter motors, temperature sensors, solenoid valves etc.
But there are other kinds of devices too, where at first view you wouldn't expect it: FHEM's user interface ("FHEMWEB") is a device, there are devices without a physical equipment used to store a variable's value.
We will now create a very simple device, called dummy.
A device of type dummy is a special object, inasmuch as it nonessential needs corresponding physical equipment (physical lamp, roller shutter, solenoid valve). So we can proceed in this guide without a real hardware system, or rather we don't need to concider differences between differrent hardware. A dummy device is generally represented on FHEM's user interface like a FHEM device with a physical equivalent.
Lets begin with a switch. It is designed to simulate a light switch on the wall. Please, enter command in command field:
define mySwitch1 dummy
"define" is the needed FHEM command, "mySwitch1" the future name of our device, "dummy" describes its type. Words "define" and "dummy" are part of FHEM'S command syntax and are unalterable, "mySwitch1" is (more or less) arbitrary. After pressing button Enter detail view of our new FHEM device mySwitch1 appears.
Devices have a "state", changing in time and recorded by FHEM. E.g., some window is open, a shutter is closed, an outlet is under voltage. A state not necessary consists of exactly one value (window: "open" or "closed"), state can be described by a bunch of values (state of a Raspberry system - device type sysmon - contains CPU frequency, CPU temperature, load and much more).
Device status in FHEM consists of overall three blocks of values, called Internals, Attributes and Readings. It's early days yet to discuss in-depth meaning of these terms, but some remarks are important for our next steps:
- Internals store very basic informationen about a device. Only in rare cases users will edit directly internals (mostly during define step).
- Attributs control device behavior. Typically they can be changed (or even defined) by users.
- Readings have in contrast to the values of the other two blocks a timestamp. Usually they are measured values of your device.
It may be confusing for beginners that there can be Internals and Readings of equal names (e.g. STATE and state). Though Perl distinguishes lower and upper case.
- NAME: device name assigned by the user
- TYPE: device type of FHEM device, here: dummy
- STATE: device state shown in all summaries. Since there was no assignment till now it is initially ???.