Vorraussetzung für diese Anleitung ist die Installation von Tasmota auf einem ESP8266-Modul. Wie man das macht liest du bitte in den oberen Beiträgen dieser Rubrik.
Bei dem Universal-Sensor-Layout handelt sich um einen universellen Entwurf einer Tasmota-Anwendung für Homeassistant, welcher drei sehr gängige Sensoren auf einer Platine vereint. Lux-Sensor BH1750, Umweltsensor BME280 und Temperatursensor BS18B20, welcher sehr genau misst. Der BS18B20 wird per 1-Draht-Bus angesteuert die anderen mit I2C. Dabei kannst du selbst entscheiden, ob du alle drei gemeinsam nutzen willst, oder nur Einzelne. Die Idee dahinter war es, nur eine Platine zu entwerfen, die dann z.B. das Sonnenlicht misst um ggf. die Rollläden im Sommer herunterzufahren. Oder über Außentemperatur und Luftfeuchtigkeit informiert zu werden oder Wassertemperaturen im Pool zu überwachen (der BS18B20 ist dafür sehr gut geeignet, der BME280 leider nicht). Im Beispiel werden alle drei Sensoren gleichzeitig betrieben. Die Quellen für die Sensoren findest du am Ende des Beitrags.
So sehen Gerät und Platine aus:

Der Schaltplan zeigt oben den Temperatursensor BS18B20, in der Mitte den Lux-Sensor BH1750 und unten den Umweltsensor BME280. Man beachte, dass der 1-wire-bus einen 4,7 kOhm Widerstand am Signalpin benötigt. Das ist beim I2C-Bus eigentlich auch so, allerdings werden im Wemos D1 SDA- und SCL-Pin automatisch Widerstände zugeschaltet (ich meine 10 kOhm, jedenfalls funktioniert I2C ohne externe Widerstände beim Wemos-D1-mini, auch bei dem von mir verwendeten Clone).

Das wars auch schon mit der Elektronik. Nun folgt die Programmierung des ESP bzw. dessen Einstellung.
Die Einstellungen erfolgen in Tasmota auf dem Modul. Rufe die Seite des Moduls auf (die IP hast du beim Installieren von Tasmota erhalten):

Bei dir sind noch keine Messwerte vorhanden, denn die Konfiguration muss erst noch erstellt werden, damit Tasmota wissen kann, was an welchem Pin angeschlossen ist. Drücke Configuration - Module und wähle I2c-Bus und den DS18B20-Sensor am Pin aus:

Jetzt solltest du dasselbe sehen wie oben, die Werte der Sensoren I2C und BS18B20.
Damit der Tasmota-ESP die Werte an Homeassistant übermitteln kann, muss er mit dessen MQTT-Server in Homeassistant Namens Mosquitto verbunden sein. Diese Verbindung stellts du unter Configuration - MQTT ein:

Ab jetzt sollte Homeassistant die Werte bekommen:

Was gibt's sonst noch zu sagen?
Die Frage ist, wie oft man die Werte an Homeassistant senden möchte unter der Prämisse, dass es viele andere Sensoren/Aktoren gibt, die Homeassistant bedienen möchte. Bei Temperaturen, Feuchtigkeit, Luftdrücken und Helligkeit ändert sich ja nichts Relevantes innerhalb von Sekunden. Hier findest du einen Weg die Häufigkeit der Sendungen via MQTT an Homeassistant zu verändern. Drücke hierzu auf Configuration - Logging:

im Feld Telemetry period sind 300 Sekunden eingestellt (Stadard), also 5 Minuten. Hier kannst du die Häufigkeit der Sendungen an Homeassistant nach deinen Wünschen anpassen.
Das Ergebnis kann man unter "Console" anschauen. Der Zeitstempel zeigt die rund 5 Minuten:

Die Sensoren am I2C-Bus übrigens kann man anfragen, zumindest deren Adressen, wenn sie erkannt wurden. In der Console den Befehl "i2cscan eingeben". Tasmota findet zwei Adressen = zwei Module.

Quellen
Wemos-D1-mini Clones https://amzn.eu/d/eddCsEv
Lux-Sensor BH1750 https://amzn.eu/d/5wBYHFB
Umweltsensor BME280 https://amzn.eu/d/ehLqJ6I
Temperatursensor DS18B20 https://amzn.eu/d/2Z6HJ3O
Platine: Sprint-Layout 6.0-Datei Tasmota D1 Temperatur BS18B20_250208_1.lay6
