Die niederländische Linux-Distribution EndeavourOS ist in der neuesten Version 22.6 erschienen und trägt zu Ehren des bemannten Raumfahrtprojektes der NASA, in dessen Rahmen erstmals seit Apollo 17 wieder Astronauten auf dem Mond landen sollen, den Codenamen Artemis. Erstmals überhaupt fusioniert die ARM- mit der Hauptversion.
KaOS ist für viele Anwender aktuell die am besten primär auf den Plasma-Desktop zugeschnittene Linux-Distribution und konkurriert in dieser Hinsicht mit dem Projekt KDE neon, das von der KDE-Community mit Unterstützung des KDE e.V. verantwortet wird. Der Fokus liegt dabei insbesondere auf dem neuesten KDE Plasma 5.25.
MassOS ist eine besonders leichtgewichtige Linux-Distribution, welche dennoch keinerlei Abstriche beim Featureset oder dem Komfort machen soll. Das freie und vollständig quelloffene Betriebssystem ist dabei unabhängig und baut nicht auf den bekannten großen Distributionen auf. Die Basis bilden Linux 5.18.1 sowie Xfce 4.16.
Das Entwickler-Notebook HP Dev One setzt auf einen Ryzen 7 Pro 5850U („Cezanne“) mit acht bis zu 4,4 GHz schnellen Zen-3-Kernen und das als besonders performant geltende Ubuntu-Derivat Pop!_OS 22.04 LTS des Linux-Distributors System76 mit Cosmic UX. Der Preis für das kompakte 14"-Notebook beträgt 1.099 US-Dollar.
Die Linux-Distribution NixOS beschreitet ihren ganz eigenen Weg und basiert in der neuesten Version 22.05 („Quokka“) auf dem aktuellen Desktop Gnome 42 sowie einem eigenen Paketmanager und atomaren Updates. Mit seiner unorthodoxen Arbeitsweise hebt sich das freie Betriebssystem stark von anderen Distributionen am Markt ab.
Valve hat die erste Beta-Version von SteamOS 3.2 für seinen Handheld-PC Steam Deck veröffentlicht, die unter anderem auch stufenlose Bildwiederholungsraten von 40 bis 60 Hz möglich macht. Hinzu kommen ein verbesserter FPS-Limiter und eine Anpassung an der Lüftersteuerung für mehr Ruhe bei leichten Lastszenarien.
Für unser Smart Home möchten wir den aktuellen Stromverbrauch aufzeichnen. Dafür bietet sich, wie auch in meinem Artikel über die Digitalisierung des Gaszählers, Home Assistant an. In dieser mächtigen Software lassen sich Automatisierungen für das Haus erstellen, aber auch Sensoren einlesen und protokollieren. Das möchten wir mit unserem digitalen Stromzähler machen. Was wir zusätzlich noch benötigen, ist ein ESP8266, sozusagen die Home Assistant Außenstelle, die die Daten an die Zentrale weitergibt. Also, legen wir los!
Hardware: ESP8266 und TCRT5000 zum Auslesen des Stromzählers
Die Hardware lässt sich sehr günstig im Internet erwerben. Zwingend erforderlich sind folgende Bauteile:
ESP8266 oder ESP32, ich verwende gerne den Wemos D1 Mini
TCRT5000, ein Infrarotdiode zum Auslesen des Gaszählers
Litzen oder Jumperkabel
Nicht zwingend erforderlich, aber für den dauerhaften Einsatz gut geeignet sind folgende Bauteile
Lochrasterplatine
Schraubbare Pins um die Kabel zum TCRT5000 mit dem Wemos zu verbinden
Female Pins zum Auflösten auf eine Lochrasterplatine und zum Stecken auf die Pins
Den TCRT5000 muss man vorher noch präparieren. Man erkennt ja, dass dort zwei Dioden verbaut sind, eine helle und eine dunkle. Die hellere sendet ein IR-Licht aus, das die zweite Diode wieder lesen soll. Das kann beispielsweise für eine Lichtschranke verwendet werden. In unserem Fall stört die helle Diode, daher müssen wir sie entfernen. Entweder löten wir die ganze Diode aus, oder wir entfernen den Vorwiderstand. Zweiteres geht deutlich schneller. Dazu einfach den Lötkolben an den SMD-Widerstand halten, dann kann man ihn etwas verschieben.
TCRT5000 Bauteile erklärt: Die Output-LED wird wichtig, wenn man die Empfindlichkeit des Sensors mit dem Potentiometer einstellt
Die Verdrahtung findet nach folgendem Schaltplan statt. Wir verwenden keinen Pullup-Widerstand, da dieser bereits auf dem TCRT5000 vorhanden ist. Es wird die Spannungsversorgung über VCC und GND hergestellt und der D0-Pin des TRCT5000 wird mit D2 (GPIO4) des Wemos D1 Minis verbunden.
Schaltplan um den ESP8266 Wemos D1 Mini mit dem TCRT5000 zu verbinden.
Installation am Stromzähler
Die digitalen Stromzähler, hier im Beispiel von EMH, haben fast immer eine Schnittstelle für den Kunden. Manchmal muss man sie von seinem Netzbetreiber freischalten lassen. In meinem Fall war sie glücklicherweise ohne Freischaltung verfügbar.
In der Regel ist dort eine blinkende LED verbaut. Das Blinklicht ist allerdings im Infrarotbereich, für das menschliche Auge also nicht sichtbar. Mit manchen Handy- oder Digitalkameras kann man es aber sichtbar machen, wenn deren Sensoren noch keinen IR-Filter verbaut haben.
Ich habe mir also aus etwas Schaumstoff und Klebeband einen kleinen Halter gebaut. Den Lesekopf des TCRT5000 habe ich dann unmittelbar vor der blinkenden Diode des Stromzählers platziert. Das Potentiometer des TCRT5000 habe ich mit einem kleinen Schraubendreher so lange verdreht, bis die Output-LED gleichmäßig geblinkt hat.
Am Stromzähler sieht man oben eine LED als Kundenschnittstelle. Darüber wird die lesende Diode des TCRT5000 positioniert. Am Poti wird dann so lange die Empfindlichkeit verstellt, bis die Output-LED des TCRT5000 regelmäßig blinkt.
ESPHome installieren und Home Assistant konfigurieren
Die ausführliche Beschreibung, wie man ESPHome auf den Microcontroller bekommt, habe ich bereits beim Gaszähler beschrieben. Die Konfigurationsdatei für den ESP8266 sieht dann im zweiten Abschnitt, also nach dem „captive_portal“ folgendermaßen aus. Beim Gaszähler habe ich den binary_sensor verwendet. Aus Gründen, die ich nicht verstehe, funktioniert das Setup hier aber nicht. Darum verwende ich nun den Pulse_meter, der wiederum am Gaszähler nicht funktioniert.
# Voher kommt der ganze Kopf der Datei, was der Wizard generiert
# [...]
sensor:
# Stromzähler als Pulse Meter
- platform: pulse_meter
name: "Stromverbrauch"
pin:
number: GPIO4
mode: INPUT_PULLUP
unit_of_measurement: "kW"
accuracy_decimals: 3
timeout: 2 min
filters:
# Filter outliers
- median:
window_size: 3
send_every: 1
send_first_at: 1
# Convert pulses/min to kW bei 10000Imp/kWh
- multiply: 0.006
total:
name: "Stromzähler"
unit_of_measurement: "kWh"
accuracy_decimals: 3
filters:
- multiply: 0.0001
Diesen Code flasht man auf den ESP8266. Gegebenenfalls müssen die Konstanten verändert werden. Das hängt vom Stromzähler ab, wie viele Impulse er ausgibt und in welcher Einheit das umgerechnet werden kann. Der Pulse-Counter hat als Rohsignal „Impulse pro Minute“, bringt bei mir also die Einheit „kWh/min“.
Nebenrechnung: Ich habe einen Verbraucher, der 1.000 Watt = 1 kW verbraucht. Wenn der Verbraucher eine Stunde läuft, verbrauche ich 1 kWh Energie. Der Stromzähler blinkt also 10.000 mal innerhalb dieser Stunde bzw. 166,6 mal pro Minute (siehe Aufdruck). Also muss ich die Pulse/min mit 60/10.000 multiplizieren, also mit 0,006 um wieder auf 1 kW zu kommen. Daher kommt die Konstante in meinem Beispiel.
Im Home Assistant braucht man ebenfalls eine neue Konfiguration. Man bearbeitet dort die configuration.yaml oder, noch besser, die sensor.yaml und ergänzt dort folgende Zeilen:
Heute wurde Do-FOSS-Geschäftsführer Christian Nähle zum Sprecher der ver.di-Vertrauensleute der Stadtverwaltung Dortmund gewählt. Durch die nun bestehende Personalunion von ver.di-Leitung und Do-FOSS-Geschäftsführung werden für die Stadt Dortmund Aspekte der Rechtsstaatlichkeit mittels Digitaler Souveränität künftig eine noch höhere Aufmerksamkeit erhalten. Für den weiteren Erfolg der Digitalen Souveränität in der Stadtverwaltung Dortmund wird die Mobilisierung von Ressourcen (Finanzmittel und Personal) sowie die personalseitige Mitbestimmung dieser Ressourcen entscheidend sein. Die politischen Entscheidungsträger*innen werden über ver.di partnerschaftlich immer wieder an ihre Verpflichtung für die entsprechende Bereitstellung der Ressourcen erinnert werden.
die Fähigkeiten und Möglichkeiten von Individuen und Institutionen, ihre Rolle(n) in der digitalen Welt selbstständig, selbstbestimmt und sicher ausüben zu können.
Die Stadtverwaltung hat die Kontrolle über ihre digitale Dateninfrastruktur outgesourct. Die digitale Souveränität über die Daten der Bürger*innen ging dabei verloren. Dadurch hängen die politisch Verantwortlichen für die Digitalisierung unserer Stadt mittlerweile an der Klippe des Rechtsstaats. Wir in ver.di reichen ihnen die Hand um sie wieder hochzuziehen und den Rechtsstaat wiederherzustellen. Unsere Pläne für eine Open-Source-basierte digitale Infrastruktur für die digitale Souveränität unserer Stadt haben wir den Entscheider*innen schon längst auf den Tisch gelegt. Trotzdem werden unsere Beschäftigten in ihrem digitalen Nutzungsverhalten alltäglich ausgespäht, die Souveränität der Daten der Bürger*innen ausverkauft. Dies muss beendet und rückgängig gemacht werden!
Weitere gewerkschaftliche Themen behandelt Christian Nähle für ver.di in einem Kampagnenvideo:
Christian Nähle, Kandidat für das Amt des Sprechers der Vertrauensleute der Stadt Dortmund. Link zu YouTube!
Soweit im gesetzlichen Rahmen möglich verzichtet der Autor auf alle Urheber- und damit verwandten Rechte an diesem Werk.
Es kann beliebig genutzt, kopiert, verändert und veröffentlicht werden.
Für weitere Informationen zur Lizenz, siehe hier.
Das Debian-Projekt hat mit einem massiven Sicherheitsupdate zahlreiche Schwachstellen im Betriebssystem-Kernel Linux 5.10 LTS von Debian 11 („Bullseye“) geschlossen. Insgesamt 19 teils schwere Sicherheitslücken, die unter anderem zu einer Rechteausweitung führen konnten, wurden behoben.
Valve hat die erste Beta-Version von SteamOS 3.2 für seinen Handheld-PC Steam Deck veröffentlicht, die unter anderem auch stufenlose Bildwiederholungsraten von 40 bis 60 Hz möglich macht. Hinzu kommen ein verbesserter FPS-Limiter und eine Anpassung an der Lüftersteuerung für mehr Ruhe bei leichten Lastszenarien.
Wenn man sich ein Smart Home aufbaut, möchte man aus verschiedenen Gründen Temperaturen messen. In meinem Fall möchte ich im Heizungsraum die Temperaturen an den Wasserrohren, sowie im Warmwasserspeicher aufzeichnen. Eine einfache und kostengünstige Lösung ist es, das mit einem ESP8266 und dem DS18B20 Temperatursensor umzusetzen. Mit der Software ESPHome ist das auch schnell eingerichtet. Im Folgenden zeige ich, wie man das macht.
ESP8266 und DS18B20 verdrahten
Für dieses Beispiel verwende ich einen ESP8266 Wemos D1 Mini mit drei DS18B20 Temperatursensoren. Sie werden nach folgendem Schema verdrahtet. Das einzige zusätzliche Bauteil ist ein 4,7 kOhm Widerstand, der zwischen den Signal-Pin und VCC gelötet wird.
ESP8266 mit DS18B20 Temperatursensoren verbinden. Dazu ist ein 4k7 Ohm Widerstand notwendig.
Die Umsetzung der Schaltung könnte zum Beispiel so aussehen. Verwendet wurde eine Lochrasterplatine. Der Kondensator zwischen VCC und GND ist optional (nicht im Schema eingezeichnet)
Der Vorteil von den DS18B20 ist, dass man sehr viele von ihnen parallel betreiben kann. Wenn die Schaltung einmal geschafft ist, kann man weitere Sensoren einfach anschließen. Das ist der Grund, warum ich schraubbare Kontaktklemmen verwendet habe: Dadurch kann ich mit wenig Aufwand neue Sensoren anschließen.
DS18B20: Adresse herausfinden
Dieser Temperatursensor arbeitet mit dem 1-Wire-Protokoll. Um jeden Sensor eindeutig ansprechen zu können, ist die Adresse des Sensors notwendig. Die kann man leider nicht am Gehäuse ablesen, sondern man muss sie via Software erfragen. Wir nutzen das gleich, um unsere Verdrahtung zu überprüfen!
Die Adresse der Sensoren findet man ebenfalls mit ESPHome heraus, indem man ein sehr minimalistisches Programm aufspielt. Wie schon beim Auslesen des Gaszählers startet man mit
esphome wizard heizungstemperatur.yaml
und beantwortet dem Wizard wahrheitsgemäß die 4 Fragen. Die entstandene heizungstemperatur.yaml öffnet man mit einem Editor und fügt unten die folgenden Zeilen hinzu:
# Example configuration entry
dallas:
- pin: GPIO2
Mittels des folgenden Befehls kompiliert man die Datei und flasht sie auf den ESP8266 (siehe Artikel über den Gaszähler).
esphome run heizungstemperatur.yaml
Der folgende Befehl öffnet die Logdatei des Controllers:
esphome logs heizungstemperatur.yaml
Dort werden die Adressen der angeschlossenen Sensoren angezeigt. Kleiner Tipp: Wenn man immer nur einen Sensor anschließt, behält man den Überblick!
In der Logdatei sieht man (in der letzten Zeile) die Adresse des Sensors. Diesen notiert man sich.
ESPHome für Temperaturmessung flashen
Wenn man nun alle Adressen der Sensoren herausgefunden und notiert hat, kann man das den ESP8266 wie folgt konfigurieren. Den Code fügt man an die bereits erzeugte Datei aus dem Wizard an.
Da mittlerweile der Chip schon die ESPHome-Software aufgespielt hat, kann man bereits jetzt kabellos den neuen Programmcode übertragen. Bei ESPHome nennt sich diese Technik „Over the air“, kurz OTA. Der PC und der ESP8266-Chip müssen sich nur im gleichen Netzwerk befinden.
esphome run heizungstemperatur.yaml
Integration der Temperatursensoren in Home Assistant
Jetzt fehlt nur noch die Integration in den Home Assistant. Glücklicherweise arbeiten die beiden Systeme sehr gut miteinander. Man navigiert im Home Assistant auf Einstellungen, Geräte& Dienste und fügt über das Plus unten rechts eine neue Integration hinzu. Dort sucht man nach „ESPHome“ und gibt im folgenden Fenster die IP-Adresse ein. Wichtig: hierfür muss die API aktiviert sein (das ist eine der Fragen des esphome-Wizards).
Das freie Betriebssystem LineageOS ist in der neuesten Version 19 erschienen und nutzt erstmals das aktuelle Android 12 und dessen Designsprache „Material You“ als Ausgangsbasis. Durch einen Wechsel zum Berkeley Packet Filter (eBPF) im Android Open Source Project (AOSP) werden weniger Mobilgeräte unterstützt.
Mit dem freien Betriebssystem Pop!_OS 22.04 veröffentlicht der amerikanische Computerhersteller und Linux-Distributor System76 ein neues Ubuntu-Derivat mit der hauseigenen Cosmic UX, einer UI auf Basis der Desktop-Umgebung Gnome 42, und dem Systemkernel Linux 5.16. Als Neuerung ziehen planbare Updates mit ein.
Der in Deutschland entwickelte Nachfolger des Ende 2020 erschienenen Volla Phone der in Nordrhein-Westfalen beheimateten Hallo Welt Systeme UG, der passend zum Jahrgang auf die Bezeichnung Volla Phone 22 hört, entsteht erneut in einer engen Zusammenarbeit mit Gigaset und bietet jetzt Linux mit Multi-Boot-Funktion.
Die schlanke und ressourcensparende freie Desktop-Umgebung LXQt ist in der neuesten Version 1.1.0 für POSIX-kompatible Plattformen wie die freien unixoiden Betriebssysteme Linux und BSD erschienen. Der leichtgewichtige Desktop auf Basis von Qt integriert und visualisiert jetzt auch Apps auf Basis von GTK besser.
CutefishOS ist eine chinesische Linux-Distribution, die mit ihrem hauseigenen Cutefish-Desktop, dem Cutefish Desktop Environment („CutefishDE“), optisch stark an macOS angelehnt ist. Das freie Betriebssystem setzt aktuell auf Debian 11, wenngleich das Entwicklerteam zuvor Ubuntu 20.04.4 LTS als Basis ausgegeben hatte.
Die schlanke und ressourcensparende freie Desktop-Umgebung LXQt ist in der neuesten Version 1.1.0 für POSIX-kompatible Plattformen wie die freien unixoiden Betriebssysteme Linux und BSD erschienen. Der leichtgewichtige Desktop auf Basis von Qt integriert und visualisiert jetzt auch Apps auf Basis von GTK besser.
Das niederländische EndeavourOS, ein Rolling Release auf Basis von Arch Linux, beansprucht die offizielle Nachfolge der seinerzeit sehr populären Linux-Distribution Antergos für sich und liefert mit der Version 22.1 („Apollo“) einmal mehr aktualisierte Systemabbilder mit neuesten Softwarepaketen, Mesa 22 und Linux 5.17 ab.
Die freie Linux-Distribution Raspberry Pi OS – ehemals Raspbian – für Mini-PCs, Maker und Einplatinencomputer wie den Raspberry Pi 4 und den Raspberry Pi 400, basiert auf Debian 11 („Bullseye“) und setzt jetzt auch erstmals auf den aktuellsten Betriebssystemkern Linux 5.15 LTS sowie ein experimentelles Wayland-Backend.
KDE Frameworks, das freie Ökosystem für den Desktop KDE Plasma, erhält in der neuesten Version 5.92 viele Verbesserungen und kann bereits mit der hauseigenen Linux-Distribution KDE neon sowie der ebenfalls zuletzt aktualisierten Sammlung an Anwendungsprogrammen, KDE Gear 21.12.2, als Live-System ausprobiert werden.
Das Open Source Media Center („OSMC“) – vormals Raspbmc –, das insbesondere für Einplatinencomputer der Serie Raspberry Pi konzipiert worden ist, kombiniert in der neuesten Version 2022.03 das freie Mediencenter Kodi 19.4 („Matrix“) sowie ein sogenanntes Just Enough Operating System („JeOS“) auf Basis von Debian.
Mit seinem Clear Linux Project und dem daraus resultierenden freien Betriebssystem Clear Linux OS hat Intel eine sehr performante Linux-Distribution realisiert, die in erster Linie für die Nutzung auf virtuellen Cloud-Maschinen wie Azure, KVM oder Hyper-V und weniger für den Desktop konzipiert wurde.
KDE Frameworks, das freie Ökosystem für den Desktop KDE Plasma, erhält in der neuesten Version 5.92 viele Verbesserungen und kann bereits mit der hauseigenen Linux-Distribution KDE neon sowie der ebenfalls zuletzt aktualisierten Sammlung an Anwendungsprogrammen, KDE Gear 21.12.2, als Live-System ausprobiert werden.
Betriebssysteme findet man mittlerweile nicht mehr nur auf festverbaute Festplatten. Mittlerweile ist es auch möglich, Windows beziehungsweise Linux fest auf einen transportablen USB-Stick zu installieren. Doch nicht jeder kann dies auf Anhieb realisieren. Wir zeigen euch im nachfolgenden Artikel, wie es konkret funktioniert und auf was dabei zu achten ist.
Zu einem Smart Home gehört es fast selbstverständlich, dass der Verbrauch von Energie aufgezeichnet wird. Der Stromzähler ist eine der wesentlichen Energiezählern im Haushalt, auch der Gaszähler ist sehr wichtig. Vor allem in Haushalten, in denen der primäre Energieträger Erdgas ist, ist der Gasverbrauch essenziell und wird im Smart Home auch optimiert. Das ist, zumindest für meine Begriffe, eine der wesentlichen Aufgaben des Smart Homes.
Das Schöne an den Gaszähler ist es, dass sie sich in der Regel sehr einfach auslesen lassen. Es ist keine komplizierten und teuren Geräte dafür notwendig. Bei den meisten Gaszählern reicht nämlich ein einfacher Reed-Kontakt aus, die es für einige Cent bei Ebay oder anderen Shops zu kaufen gibt. Als Intelligenz wird der sehr vielseitige ESP8266 verwendet. Dieser ist sehr energiesparend, hat integriertes WLAN, lässt sich verhältnismäßig einfach einrichten und kostet ebenfalls nur sehr wenig Geld.
Wenn der Gaszähler eine Aufschrift wie „1 im = 0,01m³“ trägt, lässt er sich mit wenig Aufwand digitalisieren. Ein Reed-Schalter könnte bereits genügen, um den Gaszähler ins Smart Home einzubinden.
Hardware: ESP8266 und Reed-Kontakt verlöten
Die Einkaufsliste für diesen Sensor:
ESP8266, beispielsweise den Wemos D1 Mini
Reed-Kontakt
optional: 5V Netzteil
optional: Schrumpfschlauchsortiment
Für einen geübten Maker ist diese Aufgabe im Handumdrehen erledigt. Für nicht geübte Maker ist es das perfekte Einsteigerprojekt. Es sind nur sehr wenige Lötstellen zu setzen und man kann kaum etwas falsch machen. Beim ESP8266, in meinem Fall ein Wemos D1 mini, müssen nur die beiden Pinleisten angelötet werden. Für Minimalisten würde sogar je ein Pin bei G (Ground) und D1 (GPIO5) reichen. An diese Pins gehören jeweils die Kabel, idealerweise Litzen 0,15mm², an deren Ende der Reed-Kontakt gehört. Bei diesem Schalter muss man keine Richtung beachten, man kann ich nicht falsch herum anlöten. Das fertige Produkt sieht dann so aus. Ich habe noch versucht, die Lötstellen mit Schrumpfschlauch zu verschönern. Das ist optional.
Update (02.05.2022) Weiterhin habe ich eine optionale LED zur Visualisierung des Signals eingebracht. Diese blinkt immer dann, wenn der Reed-Kontakt schaltet. Das ist vor allem dann sehr nützlich, wenn man den Reed-Schalter am Gaszähler anbringt. Die LED ist eine Hilfe, sie ist aber nicht zwingend nötig. Ihren Vorwiderstand kann man über Online-Tools berechnen, bei mir waren es 220 Ohm.
Der Schaltplan mit optionaler LEDESP8266 an der Pinleiste mit einem Reed-Schalter verlötet. Der Reed-Schalter geht auf Pin G und Pin D1
ESPHome auf ESP8266 installieren unter Windows 10
Unter Windows 10 lässt sich über den „Microsoft Store“ Ubuntu installieren. Das ist der kleine Umweg, den ich häufig gehe, um ein fast vollständiges Linux unter Windows 10 zum laufen zu bringen. Dass es leider nicht vollständig ist, sieht man den nun folgenden, etwas umständlichen Herangehensweise, wie man ESPHome auf dem ESP8266 installiert.
Wer ein vollständiges hass.io bzw. Home Assistant hat, kann das übrigens über den Addon-Store mit dem Add-on „ESPHome“ deutlich beschleunigen. Da ich aber, wie bereits beschrieben, Home Assistant als Container laufen habe, ist für mich der Umweg notwendig.
Man startet Ubuntu unter Windows und gelangt in das Terminal. Dort installiert man sich (falls noch nicht geschehen) Python 3 und das nötige Paket „esphome“ aus dem Python-Repsitory. Anschließend prüft man, ob die Installation geklappt hat, indem man sich die Versionsnummer ausgeben lässt.
Der Einfachheit halber empfehle ich, den Wizard von ESPHome zu verwenden. Er wird benutzt, um die *.yaml zu erstellen. Genau wie bei Home Assistant ist sie dafür da, den Controller zu konfigurieren. Der Wizard zeigt einem glücklicherweise gleich alle möglichen Alternativen auf, die man eingeben kann. Beantwortet also wahrheitsgemäß die 4 Fragen den Wizards und wir erhalten eine Konfigurationsdatei mit dem angegebenen Namen. Ich habe hier willkürlich gaszaehler.yaml gewählt.
Die nun folgende Datei sieht dann beispielsweise so aus:
esphome:
name: gaszaehler
esp8266:
board: d1_mini
# Enable logging
logger:
# Enable Home Assistant API
api:
password: "1234"
ota:
password: "1234"
wifi:
ssid: "hier die Wifi-SSID eintragen"
password: "hier das Wifi Passwort eintragen"
manual_ip:
static_ip: "auf Wunsch"
gateway: "IP-Adresse des Gateways"
subnet: "Subnet Maske"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Gaszaehler Fallback Hotspot"
password: "hier steht automatisch ein Passwort"
captive_portal:
Das Fallback-Wifi wird gebraucht, falls der Sensor das eigentliche WLAN nicht erreichen kann. Dann baut der ESP8266 eigenständig ein WLAN auf, über das er sich konfigurieren lässt.
Update (02.05.2022) Vor diesem Update habe ich den Pulse_counter von ESPHome verwendet. Dieser liefert leider keine zuverlässigen Werte. Gleiches gilt für den pulse_meter, der eigentlich besser sein sollte. Stattdessen bin ich nach einiger Tüftelei wieder bei dem binary_sensor herausgekommen, der wunderbar funktioniert. Zusätzlich ist eine LED auf GPIO0 angebracht, die schaltet, sobald der Reed-Schalter zieht. Damit könnt ihr live am Gerät sehen, ob ein Puls anliegt. Sie ist nur eine Hilfe und nicht zwingend erforderlich.
globals:
- id: total_pulses
type: int
restore_value: false
initial_value: '0' # hier kann der Gaszählerstand initialisiert werden
binary_sensor:
- platform: gpio
id: internal_pulse_counter
pin:
number: GPIO5
mode: INPUT_PULLUP
name: "Live-Impuls"
filters:
- delayed_on: 10ms
on_press:
then:
- lambda: id(total_pulses) += 1;
- output.turn_off: led # optional: für eine LED, die den Gaszählerpuls visualisiert
on_release:
then:
- output.turn_on: led # optional: für eine LED, die den Gaszählerpuls visualisiert
sensor:
- platform: template
name: "Gasverbrauch"
device_class: gas
unit_of_measurement: "m³"
state_class: "total_increasing"
icon: "mdi:fire"
accuracy_decimals: 2
lambda: |-
return id(total_pulses) * 0.01;
# Optional: Diese LED soll blinken, sobald ein Signal vom Gaszähler erkannt wird
output:
- platform: gpio
pin: GPIO0
id: 'led'
Fertig mit der Konfiguration. Wir speichern mit Strg + O und schließen Nano mit Strg + X
Mit dem folgenden Befehl wird der Code für den ESP8266 kompiliert. Ich habe es leider nicht geschafft, ihn direkt per USB-Kabel auf meinen Controller zu bekommen. Daher bin ich einen Umweg gegangen.
$ esphome run gaszaehler.yaml
Das endet mit einer Fehlermeldung (connection failed bad indicator errno=11), dass der Code nicht auf den Controller gebracht werden konnte. Stattdessen kopieren wir den Code auf das Laufwerk C: unter Windows und arbeiten von dort aus weiter (sorry Leute!!).
Mittels ESPHome-Flasher, den es auch für Windows gibt und der nicht installiert werden muss (!!) geht es weiter. Die eben kopierte Datei auswählen, den ESP8266 mit USB am PC anstöpseln und den entsprechenden COM-Port auswählen (bei mir wurde nur einer angezeigt). Bestätigen, und warten bis es fertig ist.
ESPHome in Home Assistant installieren
Mit der Entität „ESPHome“ kann der Sensor in den Home Assistant eingebunden werden. Das geht sehr fix, es muss nur die IP-Adresse und das festgelegte Passwort eingegeben werden. Damit er auch korrekt als Energiequelle erkannt wird, muss man noch folgende Zeilen in die configuration.yaml anfügen, besser noch, in die sensor.yaml
Update (15.04.2022): Manchmal fällt der ESP kurzzeitig aus, was den Gasverbrauch kurzfristig auf 0 m³ setzt. Sobald er wieder da ist, gibt es einen unlogischen Peak in der Statistik. Dieser wird über die kleine IF-Schleife herausgefiltert.
- platform: template
sensors:
# Gaszähler, kommend von ESPHome, aufbereiten für Energy
gasincubicmeter:
value_template: >
{% if states('sensor.gasverbrauch') | float == 0 %}
{{ states('sensor.gasincubicmeter') }}
{% else %}
{{ states('sensor.gasverbrauch') | float }}
{% endif %}
unit_of_measurement: m³
device_class: gas
attribute_templates:
state_class: total_increasing
Nach einem Neustart des Servers klickt man im Home Assistant auf „Einstellungen“, „Energie“ und klickt auf den Gaszähler. Dort taucht nun die neue Entität gasincubicmeter auf und kann ausgewählt werden.
In Home Assistant kann über Einstellungen → Energie eine neue Gasquelle hinzugefügt werdenDer Gasverbrauch wird auf dem Energie-Dashboard von Home Assistant angezeigt
Reed-Schalter am Gaszähler positionieren
Wer Zugriff auf einen 3D-Drucker hat, sollte sich bei Thingiverse mal umsehen, ob dort ein Halter für seinen Gaszähler vorhanden ist. Die Chance dort, oder woanders, einen zu finden, halte ich für sehr hoch. Andernfalls kann man mit etwas Geschick und gutem Klebeband den Schalter direkt am Gaszähler montieren. Er muss in der vorgesehenen Kerbe möglichst genau unter der letzten Ziffer positioniert werden. Wer darauf achtet, wird bemerken, dass die letzte drehende Ziffer einen kleinen Magneten hat. Genau darunter muss der Reed-Schalter geklebt werden.