Ein paar Korrekturen...
Ich kann euch gar nicht sagen, wie oft alleine ich das Manuskript durchgegangen bin – wieder und wieder und wieder, und dann kamen die Korrektoren, die Lektoren, sie alle... und doch hat sich der ein oder andere Fehlerteufel eingeschlichen.
Das sei unvermeidbar, habe ich mir sagen lassen; genervt bin ich trotzdem
Im Code werde ich die Korrekturen natürlich ebenfalls vornehmen; die Seitenzahlen beziehen sich jeweils auf die gedruckte Ausgabe des Buches.
Kapitel 2
2.7 Sprache und Systemzeit (S. 55)
Beachtet bitte, dass Änderungen an der Datei /etc/default/openhab2
unbedingt root
-Rechte erfordern, denn nur root
darf diese Datei beschreiben – eine Information, die ihr jederzeit mit ls -l
verifizieren könnt.
# ls -la /etc/default/openhab2
-rw-r--r-- 1 root root 2140 Feb 16 2018 /etc/default/openhab2
2.7 Sprache und Systemzeit (S. 55)
- Erweitern Sie hierzu die Datei /etc/defaults/openhab2 um eine Zeile.
+ Erweitern Sie hierzu die Datei /etc/default/openhab2 um eine Zeile.
(Dank an Alejo A.)
- systemctl restart openhab2.service
+ sudo systemctl restart openhab2.service
(Dank an Michael P.)
Kapitel 4
Links auf S. 83
Hier macht sich der Fehlerteufel in Form von Zeilentrennung bemerkbar – was natürlich zuschlägt, sobald man aus dem Ebook heraus einen Link einfach aufrufen möchte.
- https://git-hub.com/kubawolanin
+ https://github.com/kubawolanin
- https://code.visualstudio.com/down-load
+ https://code.visualstudio.com/download
- https://marketplace.visualstudio.com/items?item-Name=openhab.openhab
+ https://marketplace.visualstudio.com/items?itemName=openhab.openhab
Kapitel 6
6.1.1 Die Items (S. 96)
- [...] und fügen Sie ihn in eine Datei namens Demohaus.items ein, die Sie in /etc/openhab/items ablegen:
+ [...] und fügen Sie ihn in eine Datei namens Demohaus.items ein, die Sie in /etc/openhab2/items ablegen:
(Dank an Daniel)
Listing 6.19 (S. 129)
rule "Status Summary Aktuell"
when
Item Aussentemperatur changed or
Item Wetterlage changed
then
var Number temp = ((Aussentemperatur.state as DecimalType).floatValue)
- var lage = transform("MAP", "Wetterlage.map", Vorhersage_Wetterlage.state.toString)
+ var lage = transform("MAP", "Wetterlage.map", Wetterlage.state.toString)
var String Ausgabe = String::format("%s bei %.1f°C", lage, temp)
SummaryStateAktuell.postUpdate(Ausgabe)
end
(Dank an Frank S.)
Kapitel 8
Listing 8.9 (S. 156)
Text item=fbDslStatus label="FRITZ!Box [%s]" {
// FRAME Anwesenheit
// FRAME Anrufbeantworter
Frame label="Leitungswerte" {
- Text item=fbExterneIp
+ Text item=fbExternalIp
label="Externe IP-Adresse [%s]"
icon="line"
visibility=[fbDslStatus == "Up"]
- Text item=fbDslExterneIp
+ Text item=fbExternalIp
label="Keine DSL-Verbindung [⛔️]"
icon="error"
visibility=[fbDslStatus != "Up"]
Text item=fbDslUpstream
label="Upstream [%s mbit/s]
icon="line"
visibility=[fbDslStatus == "Up"]
Text item=fbDslUpstream
label="Upstream N/A []"
icon="error"
visibility=[fbDslStatus != "Up"]
Text item=fbDslDownstream
label="Downstream [%s mbit/s]"
icon="line"
visibility=[fbDslStatus == "Up"]
Text item=fbDslDownstream
label="Downstream N/A []"
icon="error"
visibility=[fbDslStatus != "Up"]
} // END Frame Leitungswerte
} // END FRITZ!Box
(Dank an Michael G.)
Kapitel 22: Regelwerke oder Rules
Listing 22.21
Dieses Item hat im laufenden Betrieb den Wert OFF
, wird aber über ein Regelwerk beim Neustart des Systems für eine bestimmte Zeit auf ON
gesetzt.
Leider wird es im Regelwerk dann genau anders herum dargestellt, deshalb hier nun die korrigierte Version:
rule "Startverzoegerung"
when
System started
then
- Startverzoegerung.sendCommand(OFF)
+ Startverzoegerung.sendCommand(ON)
createTimer(now.plusSeconds(60)) [|
- Startverzoegerung.sendCommand(ON)
+ Startverzoegerung.sendCommand(OFF)
]
end
(Dank an Felix M.)
Kapitel 25: Das System auf einer externen Platte betreiben (ab S. 453)
(Dank an Thomas D.)
In diesem Kapitel fehlt ganz klar der Hinweis: die Befehle, die hier zur Ausführung kommen, benötigen alle root
-Rechte – es muss also jeweils ein sudo
vorangestellt werden, das im Buch jedoch unterschlagen wurde.
- dmesg
+ sudo dmesg
25.1 Partitionierung (S. 454)
- fdisk /dev/sda
+ sudo fdisk /dev/sda
25.2 Dateisystem (S. 454)
- mkfs.ext4 /dev/sda1
+ sudo mkfs.ext4 /dev/sda1
25.3 Ins System einbinden (S. 454 & 455)
- mkdir /mnt/neueplatte
+ sudo mkdir /mnt/neueplatte
- mount -t ext4 /dev/sda1 /mnt/neueplatte
+ sudo mount -t ext4 /dev/sda1 /mnt/neueplatte
25.4 Kopieren der Daten (S. 455)
- rsync -avzxS / /mnt/neueplatte
+ sudo rsync -avzxS / /mnt/neueplatte
Sie übertragen mit diesem Befehl das laufende System auf eine andere Partition; üblicherweise hat der folgende Hinweis keine negativen Auswirkungen auf den Vorgang – es kommt aber darauf an, welche Dateien nicht übertragen werden konnten.
rsync warning: some files vanished before they could be transferred (code 24) at main.c(1196) [sender=3.1.2]
cmdline.txt
(S. 455)
25.5 Anpassen der - Öffnen Sie also jetzt die Datei mit dem Editor Ihrer Wahl und ändern Sie...
+ Öffnen Sie also jetzt die Datei mit dem Editor Ihrer Wahl, stellen Sie dem Aufruf ein sudo voran und ändern Sie...
25.6 Neustart
- Durch die Eingabe des Befehls reboot veranlassen Sie Ihr System final zum Neustart.
+ Durch die Eingabe des Befehls sudo reboot veranlassen Sie Ihr System final zum Neustart.
- mount -o remount,ro /boot
+ sudo mount -o remount,ro /boot
- touch /boot/test
+ sudo touch /boot/test
- Öffnen Sie /etc/fstab mit dem Editor Ihrer Wahl.
+ Öffnen Sie /etc/fstab mit dem Editor Ihrer Wahl und stellen Sie dem Aufruf ein sudo voran, um die Datei mit root-Rechten bearbeiten zu können.
- mount -o remount,rw /boot
+ sudo mount -o remount,rw /boot