2021-02-07

Esp8266 Webserver Arduino Tab

Kein Support für Arduino Core Version vor 2.4.2.

Wichtig!
Der Haupttab (Esp8266 WebServer) und der Ordner (mit allen Tabs) müssen unbedingt den selben Namen haben.
Als Haupttab bezeichne ich den Tab der "setup()" und "loop()" enthält.

Esp8266 WebServer Tab

Der Webserver ist der erste Tab, auf dem sich alles aufbauen lässt.
Inklusive Arduino OTA um Updates online zum ESP8266 zu senden.

Sketch WebServer Tab

............................................

Esp8266 Connect Tab

Ist natürlich notwendig um die Verbindung zum Router aufzubauen. Der Verbindungsaufbau wird durch die OnBoard Led des Nodemcu oder Wemos D1 angezeigt.

Sketch Connect Tab

............................................

Esp8266 Access Point Tab

Den Esp8266 autark betreiben.

Sketch Access-Point Tab

............................................

Esp8266 Connect Mixed Mode Tab

Den Esp8266 gleichzeitig als Access Point und im Heimnetz betreiben.

Sketch Connect Mixed Mode Tab

............................................

Esp8266 Login Manager mit Captive Portal Tab

Mit dem Login Manager für deine ESP8266 Projekte brauchst du die Netzwerk-Zugangsdaten (SSID und Passwort) nicht mehr fest codieren.
Eingabe der Zugangsdaten mittels Captive Portal. Es wird ein Access-Point mit dem Namen "EspConfig" erstellt. Die Zugangsdaten werden nicht menschenlesbar im Dateisystem gespeichert.

Sketch Login Manager Captive Portal Tab

Esp8266 Captive Portal Webinterface

............................................

Esp8266 EspBoardLed Tab

Dies ist die Klassiche Version, bei jedem schalten wird die komplette Webseite neu gesendet. Um die Webseite im Browsers aufzurufen gib die IP deines ESP gefolgt von "/led" ein. zB.: "http://192.168.179.44/led"

Sketch EspBoardLed Tab

Esp8266 Nodemcu Led schalten

............................................

Esp8266 OnBoardLed Tab

Dies ist die Moderne Version, beim schalten wird, mittels Javascript "Fetch.Api", nur der Text und die Farbe vom Button aktualisiert.

OnBoardLed Tab und Webseite

Die Html Datei muss im Filesystem des Esp gespeichert werden.

Esp8266 Nodemcu Led toggle

............................................

Esp8266 Html Form Tab

Eine Id mittels Html Form zum Esp8266 senden.

Html Form Tab

............................................

Esp8266 Sollwert Tab

Den Sollwert einer Steuerung im Esp8266 Sketch ändern.

Sollwert Tab

Esp8266 Sollwert eingeben

............................................

Esp8266 Individual Button Tab

Auf der Webseite werden automatisch die Bezeichnungen der Schaltflächen die du im Sketch unter "NAME[]" einträgst angezeigt. Diese Namen werden nur beim ersten Aufruf der Webseite zum Browser gesendet und anschließend aus dem Local Storage gelesen.

Individual Button Tab und Webseite

Die Html Datei muss im Filesystem des Esp gespeichert werden.

Esp8266 Nodemcu Button

............................................

Esp8266 DS18B20 Tab

Die Temperatur wird zur Anzeige auf der Webseite jede Sekunde aktuallisiert.
Der Messwert wird vom Client per Fetch.Api vom Server angefordert.

Ds18B20 Tab und Webseite

Die Html Datei muss im Filesystem des Esp gespeichert werden.

Nodemcu Webseite DS18B20

Sollte der Ds18b20 Sensor nicht gefunden werden, wird Fehler angezeigt.

Esp8266 Webseite DS18B20

............................................

Esp8266 DS18B20 Liste Tab

Beliebig Anzahl Sensoren werden angezeigt. Zuerst die Adressen und Namen deiner Sensoren im Sketch eintragen.

Adressen deiner Sensoren scannen

Die Temperatur wird zur Anzeige auf der Webseite jede zweite Sekunde aktuallisiert.

Ds18B20 Liste Tab und Webseite

Die Html Datei muss im Filesystem des Esp gespeichert werden.

Wemos D1 Mini Webinterface DS18B20

Sollte die Anzahl der Ds18b20 Sensoren nicht mit der der Adressen übereinstimmen, wird Fehler angezeigt.

Esp8266 Webseite DS18B20

............................................

Esp8266 BME280 Tab

Die Klimadaten werden zur Anzeige auf der Webseite jede Sekunde aktuallisiert.
Die Messwerte werden mittels Javascript "Fetch.Api" zum Browser übertragen.

Installiere die Library für den Bme280 Tab

Bme280 Tab und Webseite

Es ist auch Möglich zwei Esp.. mit Bme280 Sensor auf einer Webseite darstellen.

Webseite BME280

Sollte der Bme280 Sensor nicht gefunden werden, wird Fehler angezeigt.

Webseite BME280

............................................

Esp8266 mit zwei BME280 Tab

Zwei BME280 mit der selben I2C Adresse lassen sich, dank "Pin mapping", mit dem Esp8266 auslesen.
Beide Sensoren werden jede Sekunde nacheinander abgefragt. Entgegen allem was ich bis jetzt über den I2C Bus gelesen habe, hängt der Aussensensor erfolgreich an einem 5 Meter langen Anschlußkabel.

Duo Bme280 Tab und Webseite

Die Html Datei muss im Filesystem des Esp gespeichert werden.

Webinterface BME280

............................................

Esp8266 Dual Relais Tab

2-Kanal Relais schalten ohne die Webseite zu erneuern. Dazu brauchst du kein JQuery oder Ajax.
Der Tab Dual Relais ist für LOW und HIGH aktive Relais, Solid State Relais oder Mosfet geeignet. Dies muss vor dem Hochladen einmalig im Tab eingestellt werden. Der Schaltzustand der Relais wird beim öffnen der Webseite eingelesen. Der Buttontext und die Kontrolleuchten werden bei jedem Schalten aktualisiert.

Dual Relais Tab und Webseite

Die Html Datei muss im Filesystem des Esp gespeichert werden.

Nodemcu Relay Webinterface

............................................

Esp8266 LED Dimmer Tab

LED mittels PWM in ihrer Helligkeit über Webinterface steuern.

LED Dimmer Tab und Webseite

Die Webseite inklusive animierte SVG-Grafik zur Anzeige der Helligkeit.

Esp8266 Nodemcu Slider

Esp8266 Wemos D1 Slider

ESP8266 Filesystem Manager

LittleFS Upload Download Delete von Dateien von einer HTML-Seite

Füge die "LittleFS.ino", vorzugsweise als Tab, zu deinem Webserver Sketch hinzu und rufe anschliesend unter Angabe der IP deines Esp8266 die fs.html über die Adresszeile deines Browsers auf.

Filesystem Manager sortiert ab Core Version 2.6.0

Filesystem Manager sortiert ab Core Version 2.7.0

Neu! Nodemcu Filesystem Manager

............................................

ESP8266 Datei Manager

Spiffs Upload Download Delete von Dateien von einer HTML-Seite

Füge die "spiffs.ino", vorzugsweise als Tab, zu deinem Webserver Sketch hinzu und rufe anschliesend unter Angabe der IP deines Esp8266 die spiffs.html über die Adresszeile deines Browsers auf. Beispielsweise so "http://192.168.179.44/spiffs.html"

Spiffs Datei Manager sortiert ab Esp Core Version 2.4.2

Spiffs Datei Manager sortiert ab Esp Core Version 2.6.0

Spiffs Datei Manager sortiert ab Esp Core Version 2.7.0

Die Sortierung der Dateien ist mittels Klick auf den Pfeil im untersten Listeneintrag möglich.

Wenn sich im Spiffs (Speicher) des Esp8266 noch keine "spiffs.html" befindet wird ein kleiner Helfer zu deinen Browser gesendet mit dem du die "spiffs.html" und die "style.css" hochladen kannst.

Wemos D1 mini Pro Dateimanager.

Hast du die "spiffs.html" erfolgreich in den Speicher deines Esp8266 geladen siehst du die Esp8266 Datei Verwaltung.

Nodemcu Dateimanager

Jetzt kannst du loslegen. Upload Download Delete Html CSS usw. hochladen LOG Dateien einsehen/runterladen.

Die Sortierung der Dateien ist mittels Klick auf den Pfeil im untersten Listeneintrag möglich.

Grafik Sonoff Dateiverwaltung

Der Dateiname dient gleichzeitig als Link zur Seite bzw. zur Ansicht (Textdatei) im Browser.

Grafik Shelly Dateiverwaltung

Es ist nicht möglich Dateien hochzuladen, die größer sind als der noch verfügbare Speicher. Eine gute Erklärung für die notwendige Begrenzung findest du auf Ullis Roboter Seite.

Grafik Esp8266 Dateiverwaltung

Getestet von 1 MB bis 16 MB Flash. Getestet mit Nodmcu, Wemos D1 Mini Pro, Sonoff Switch, Sonoff Dual

............................................

Esp8266 Mail Tab

E-Mail versenden via smtp2go.com

Dazu brauchst du zunächst einen Smtp2Go Free Account.

Esp8266 Esp32 SMTP2GO.

Esp8266 Mail Tab


Achtung!
SMTP2GO Free hat ein Limit von 25 E-Mails pro Stunde / 1.000 E-Mails pro Monat.
Deshalb die Funktion "sendmails();" niemals unlimitiert aufrufen.

Die Serverantwort von smtp2go.com, ob die Übertragung erfolgreich war, wird nicht blockierend ausgewertet. Bei Zeitüberschreitung wird eine Fehlermeldung gesendet.

............................................

Esp8266 UDP Unicast Tab

Senden und empfangen von Nachrichten per UDP.

Unicast ist der Informationsfluss zwischen nur zwei Netzteilnehmern.

Sketch Udp Unicast

............................................

Esp8266 UDP Multicast Tab

Senden und empfangen von Nachrichten per UDP.

Multicast ist der Informationsfluss an eine Gruppe von Netzteilnehmern auf diesen Port.

Sketch Udp Multicast

............................................

Esp8266 Http Client Tab

Mit dem Http Client kannst du Daten von einen anderen Esp8266 Webserver holen.

Sketch Http Client Tab

............................................

Esp8266 Pushbullet Tab

Push Nachrichten vom Esp8266 in Echtzeit zum Smartphones und/oder PC schicken.

Dazu brauchst du zunächst einen Pushbullet Account.

Ausserdem die für dein Gerät passende Pushbullet APP.

Sketch Pushbullet Tab

Smartphone Pushbullet

............................................

Esp8266 Sonoff Dual Tab

Das Sonoff Dual mit zwei integrierten Relais benutze ich zum schalten meiner Aussenbeleuchtung.
Mit integrierten Betriebsstundenzähler seperat für jeden LED Fluter.

Sonoff flashen

Arduino IDE unter Werkzeuge einstellen.

Die erste Programmierung des Sonoff Dual erfolgt mittels eines USB to TTL Serial Adapter, der für 3.3V geeignet ist. Danach über Arduino OTA.

Sketch Sonoff Dual Tab

Sonoff Dual Connect Tab

Die Html Datei muss im Filesystem des Sonoff gespeichert werden.

index.html

Sonoff Dual Webinterface

............................................

Esp8266 Fritzbox Wlan Präsenzmelder

Registriert die Anwesenheit eines oder mehrerer Familienmitglieder anhand der IP-Adressen ihres Smartphones im Wlan.

Installiere die Library für den Zugriff auf die Fritzbox.

Wlan Präsenzmelder Tab

Der Wlan-Präsenzmelder kann bei Abwesenheit aller Personen als Anwesenheitssimulator mittels einer Lichtquelle verwendet werden. Oder spezielle Funktionen der Heizung und/oder Lüftung bei Anwesenden Personen auslösen.

............................................

Esp8266 DHT22 Tab

Temperatur Luftfeuchte Taupunkt Hitzeindex

Die Klimadaten werden zur Anzeige auf der Webseite aller zwei Sekunden aktuallisiert.

Funktioniert erst ab Arduino Core Version 2.4.0 aufwärts.

Installiere die Library für den DHT22 Tab

Dht22 Tab und Webseite

Die Html Datei muss im Filesystem des Esp gespeichert werden.

Webseite DHT22

............................................

Esp8266 FritzFon Anruferkennung Tab

Der FritzFon Tab ermöglicht eine Anrufsignalisierung mittels Zusatzklingel oder Signalleuchte.

Sketch FritzFon Anruferkennung Tab

Esp8266 Admin Webinterface

Füge die "admin.ino", vorzugsweise als Tab, zu deinem Webserver Sketch hinzu und lade anschliesend mit Hilfe der Esp8266 Dateiverwaltung die admin.html in das Filesystem.

Die Spiffs.ino ist zum ausführen der Admin.ino erforderlich.

Die "Admin.ino" funktioniert jetzt auch mit Linux. Danke an Gerhard für die freundliche Unterstüzung.

Admin Tab und Webseite bis Core Version 2.5.2

Admin IPv4 Tab und Webseite ab Core Version 2.6.1

Admin IPv6 Tab und Webseite ab Core Version 2.6.1

Grafik Webseite Admin

............................................

Esp8266 NTP Lokalzeit Tab

Inclusive automatische Umstellung Sommerzeit - Normalzeit
Aller 24 Stunden wird die Zeit mit dem NTP Server syncronisiert.

Lokalzeit Tab und Webseite ab Core Version 2.4.2

Lokalzeit Tab und Webseite ab Core Version 2.6.0

Anzeige Uhrzeit

Webseite Uhrzeit

Anzeige Uhrzeit und Datum

Webseite Datum

............................................

Esp8266 Weltzeit Tab

Zeitzone auswählen und durch einen Mausklick ausserhalb der Liste übernehmen.
Bitte beachte das die Sommerzeit für Asia/Tehran nicht angezeigt wird.
Wahrscheinlich werden die Julianischen Tagesnummern in dieser Zone nicht interpretiert.

Weltzeit Tab und Webseite

Webseite Weltzeit

............................................

Esp8266 Zeitschaltuhr Dual Tab

Zeitschaltuhr mit NTP Zeitsynchronisation

Die Lokalzeit.ino ist für die Zeitschaltuhr erforderlich

Der Sketch Zeitschaltuhrdual ist für LOW und HIGH aktive Relais, Solid State Relais oder Mosfet geeignet. Dies muss vor dem Hochladen einmalig im Sketch, im Tab Zeitschaltuhr.ino, eingestellt werden. Es lassen sich bis zu 8 Ein-/Aus-Programme pro Gerät einstellen. Die Anzahl der Schaltprogramme muss im Sketch analog der Anzahl im Html Dokument eingestellt sein! Die optische Schaltzustandsanzeige ist gleichzeitig der Button zum manuellen Ein-/Ausschalten der Ausgänge.

Zeitschaltuhr Tab und Webseite

Die Html Datei muss im Filesystem des Esp gespeichert werden.

Esp8266 Zeitschaltuhr Webinterface

Das erfolgreiche speichern der Schaltzeiten auf dem Esp8266 Webserver wird im Webinterface angezeigt.

Esp8266 Zeitschaltuhr Webseite

Ansicht Zeiteinstellung Mobil Device Android

Esp8266 Zeitschaltuhr Webinterface

............................................

Esp8266 Zeitschaltuhr Singel Tab

Die Anzahl der möglichen Schaltzeiten lässt sich zwischen 1 und 60 einstellen.

Der Lokalzeit Tab ist für die Zeitschaltuhr erforderlich.

Die Schaltzeiten werden im Spiffs des Esp8266 gespeichert. Auf der Webseite werden die aktuell eingestellten Schaltzeiten angezeigt.

Zeitschaltuhr Tab und Webseite

Die Html Datei muss im Filesystem des Esp gespeichert werden. Der aktuelle Status "ON/OFF" wird neben dem Button zum manuellen schalten angezeigt.

Esp8266 Zeitschaltuhr Webinterface

Es lassen sich alle Schaltzeiten zusammen aktivieren/deaktivieren.

Das erfolgreiche speichern der Schaltzeiten auf dem Esp8266 Webserver wird im Webinterface angezeigt.

............................................

Esp8266 Sonnen Auf/Untergang Tab

Die Zeiten für den Sonnenaufgang und Sonnenuntergang werden einmal am Tag berechnet und im "struct sun" gespeichert.

Der Lokalzeit Tab ist für die Berechnung erforderlich

Du musst die geographische Länge, Breite und die Zeitzone für den Ort, für den du die Zeiten berechnen möchtest beim Aufruf der Funktion angeben.

Sonnen Auf/Untergang Tab und Webseite

Esp8266 Sonnenaufgang und Sonnenuntergang Webinterface

............................................

Esp8266 TX23 Tab

Windgeschwindigkeit- und Richtung mit Fifo Puffer für die Anzeige der maximalen und durchschnittlichen Geschwindigkeit der Stunde, des Tages und der Woche.
Esp8266 TX23 Windsensor

Installiere die Library für den TX23 Tab

TX23 Tab und Webseite

Die Html Datei muss im Filesystem des Esp8266 gespeichert werden.

Esp8266 TX23 Webinterface

Zum umschalten der Anzeige einfach in die Windrose klicken.

Esp8266 TX23 Webinterface

Esp8266 TX23 Webinterface

............................................

Esp8266 BH1750 Tab

Beleuchtungsstärke in LUX

Installiere die Library für den BH1750 Tab

BH1750 Tab und Webseite

Der BH1750 ist ein digitaler Sensor zur Messung der Helligkeit in Lux. Er wird über den I2C-Bus angesprochen. Der Messbereich liegt bei 1...65535 Lux.

Esp8266 BH1750 Webinterface

109 Kommentare - Kommentar eintragen
Andreas ✪ ✪ ✪ 26.12.2020
Hallo Fips,

Danke für diese umfangreiche Dokumentation mit Beispielen.
Ich habe schon viele Beispiele ausprobiert.

Ich benutze das Accesspoint Connect.
Die Admin Seite passt aber nicht zu diesem Accesspoint Connect.
Viele Daten werden mit IP unset angezeigt.
Viele Daten stehen hinter einem falschen Text Knoten. z.B. Gateway IP mit HEX MAC Daten.
Hinter den letzten beiden Daten ESP CORE Version und SDK Version steht nichts. Da scheinen die Werten nach oben verschoben zu sein.

Antwort:
Auf der Webseite vom "Accesspoint Connect" steht ganz oben das der Admin Tab nicht dazu passt.
Beim Access Point werden viele Methoden vom EspCore gar nicht zur Verfügung gestellt. Es müsste also ein Admin Tab speziell für den AP geschrieben werden.
Wenn dich das fehlende nicht stört und dir nur die Reihenfolge wichtig ist kannst du diese durch den Austausch der folgenden beiden Zeilen in der "admin.html" erreichen.

span[8].innerHTML = obj['Hostname'];
span[9].innerHTML = obj['SSID'];
Ändern in
span[8].innerHTML = 'unset';
span[9].innerHTML = 'unset';

Gruß Fips
Raver ✪ ✪ ✪ 19.12.2020
Hallo,
erst mal ein super Projekt was du auf die Beinen stellst.
Ich habe beim Individual Button Tab. Mqtt eingefügt läuft alles super. Nur mein Problem ist das die Buttons sich nicht neuladen gibt es da eine möglichkeit das sie neu laden wenn der Status sich ändert?

Gruß
Raver

Antwort:
Neu laden wenn der Status sich geändert hat klappt nur mit Websocket.
Jede Sekunde den Status beim Server abfragen reicht für so eine Anwendung meist aus.

quick and dirty
setInterval( () => { send(JSON.parse(localStorage.getItem('button'))); }, 1000 );


Gruß Fips
Bauer ❘ 12.12.2020
Mahlzeit, ich hab Probleme die #include irgendwo zufinden....
Es geht besonders um die SPIFFS.h & WebServer.h.

Vielen Danke!

Antwort:
Diese sind Bestandteil des ESP8266 Arduino core.
Hast du das Esp Framework in der Arduino IDE installiert?

Gruß Fips
Harald ❘ 06.12.2020
Hallo Fips,

ohne dir nahe treten zu wollen:
Hast du einen riesigen Berg von Kommentaren abzuarbeiten, oder sind meine Kommentare einfach zu unwichtig?
Ich bitte um eine kurze Stellungnahme, gerne auch per PM über *******

Danke!
Harald

Antwort:
Eigentlich bin ich aktuell.
Einen von dir habe ich wohl übersehen.
Hohl ich nach, umgehend.

Gruß Fips
Heinz-Geert ❘ 05.12.2020
kein html scrip und es fehlen die Screenshots (darum Mail)

Mit freundlichen Grüßen HGP


Antwort:
Ok!

Gruß Fips
Heinz-Geert ✪ ✪ ✪ 05.12.2020
Wenn man beim Hochladen den gesamten Flash löscht läuft die sache (siehe EMail) schon stabiel.
Gehe ich da eigendlich den richtigen weg, im Haupmenü die Tabs aufrufen und im Tab den Button Home?

Gruß de HG

Antwort:
Jetzt habe ich erstmal gerätselt. E-Mail zum Thema bitte nur über das Kontaktformular da ich die Adresse aus dem Impressum nur in größeren Zeitabständen abrufe.
Ja, Home Button oder einfach zurück im Browser.

Gruß Fips
Heinz-Geert ✪ ✪ ✪ 02.12.2020
Moin Fips,
soweit schon mal ne super Sammlung.
Ich implementiere im moment

#include "uMQTTBroker.h"

Da können die Sensoren und Relais überall im Haus verteilt sein. Und nicht nur der Wemos, sondern auch Shelly oder sonstige MQTT sachen.
Da spare ich mir den Raspberry, zumindest in einer kleinen Umgebung.
Vielleich kannst den Faden ja mal aufnehmen,
ich binn da stellenweise etwas lost, und behelfe mich mit sonderbaren Krücken.

Gruß de HGP

Antwort:
Ich habe noch nie mit MQTT gearbeitet!
Da fehlt mir für meine Anwendungen immer noch die Notwendigkeit.
Alle im ganzen Grundstück verteilten Esp's (Shelly oder Sonoff ist ja auch nur einer) sind bei mir von einer zentralen Webseite aus erreichbar. Auch das spart den Raspberry.

Wenn der MQTTBroker auf dem ESP bei dir läuft kannst du mir das gerne mal nahebringen.

Gruß Fips
Harald ✪ ✪ ✪ 01.12.2020
Hallo Fips,

eine Anmerkung zu deinen Buttons im Zeitschaltuhr Tab:

Ich habe mehrfach vergeblich auf das zeitgesteuerte Einschalten der Lampe gewartet, dachte aber, ich hätte alles richtig parametriert.

Die Führung des Anwenders über den Dialog scheint schlüssig:
Man trägt die gewünschten Zeiten ein, speichert sie und verhindert weitere Änderungen, indem man auf "Auto inaktiv" clickt, um die Automatik zu aktivieren. Die Oberfläche sperrt weitere Änderungen durch graying der Eingabefelder, alles prima.
Aber die Schaltzeit verstreicht ohne Reaktion am Ausgang.

Nach einigen Versuchen die Erkenntnis:
Der Button "Auto..." funktioniert entgegengesetzt dem "Manuell" Button.

Der "Manuell"-Button ist mit dem Zustand beschriftet, der beim Clicken erreicht werden wird.
Der "Auto aktiv/inaktiv"-Button hingegen ist mit dem aktuellen Zustand beschriftet.

Das verwirrt (zumindest mich).

Ggf. konsistent machen.

Harald

Antwort:
Ich habe dir eine Mail geschickt. Ich warte auf deine Antwort und ergänze dann hier.

Gruß Fips
Joachim ✪ ✪ ✪ 23.11.2020
Hallo Fips,
hat ne weile gedauert musste einiges ändern arbeite mit VSC und PlatformIO.
Aber mein Esp läuft und ich kann File hoch und runterladen.
admin.html style.css und so alle funzt.
aber mir fehlt noch die index.html (Starseite)
und noch wichtiger config.json und von dieser habr ich keine Ahnung für die Strukturierung.
Wo kann ich dafür Beispiele herbekommen?

Viel Grüße
Joachim

Antwort:
Was muss den alles geändert werden für VSC und PlatformIO?
Ich hatte mit beiden noch keinen Kontakt.
Die "config.json" speichert nur den Hostname.

Gruß Fips
Michael ❘ 15.11.2020
Hi, habe eine Frage zu Lokalzeit.ino
Wo im Code wird da die Sommerzeit angepasst? ntp server stellen die Zeit nicht um meines Wissens nach.

Danke für deine Mühe!

mfg
Micha

Antwort:
Im Sketch wird keine Zeit angepasst. Mittels "configTime()" wird dem EspCore die Posix Zeitzone mitgeteilt und daraus ergibt sich der Zeitpunkt der Umstellungen.
Die Umstellung erledigt das EspArduino Framework für uns.

Gruß Fips
Kommentar eintragen

*