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.

Dies ist der bevorzugte Sensor bei der Verwendung von Tasmota, da die Alternative, der TSL2561 nicht mit anderen I2C-Sensoren unter Tasmota zusammen läuft..

Kosten im Onlinehandel etwa 3 bis 10 €.

Die Pinbelegung auf der Rückseite der Platine.

 

Verbindungen

Wemos D1 Mini BH1750
GND GND
3,3V Vcc
D3 (GPIO0) SDA
D4 (GPIO2) SCL

 

Der Aufbau auf dem Steckbrett.

 

Tasmota-Konfiguration

Für den Wemos D1 Mini wird wieder der Gerätetyp 'Generic' gewählt und gespeichert.

Als Gerätetyp wird "Generic" gewählt und dann gespeichert/gebooted. Anschließen SDA und SCL konfigurieren wie gezeigt.
Beim Zeitplan wird nichts eingestellt, da wir keinen Ausgang haben.
Im WLAN-Menü wird der Hostname des Moduls vergeben.
In diesem Menü wird der MQTT-Hostname, sowie Topic und Subtopic konfiguriert.
Für Tests wird die Telemetrieperiode auf 30..60 Sekunden eingestellt, für den Betrieb auf 900 Sekunden.
Sensorwerte können von Amazon Alexa nicht ausgegeben werden. Deshalb wird keine Emulation gewählt. Der "Friendly Name" wird vergeben, da er auf den Webseiten des Moduls angezeigt wird.
In der Konsole prüft man die Funktion und das ordnungsgemäße Speichern der Messdaten in MQTT.
Auf der Hauptseite des Moduls wird die Beleuchtungsintensität angezeigt.

OpenHAB Items

Folgende Items werden definiert:


//=======================================================================================//
// File: items/BH1750.items  Rev. Rev. 09.10.2018 / 17:05                                //
// (C) 2018 IoT-Systems, D-83043 Bad Aibling                                             //
// Author: Andreas Kriwanek                                                              //
//=======================================================================================//
// Project: Wemos D1 Mini with BH1750                                                    //
//=======================================================================================//

// Chart time range BH1750:
Number chartPeriodBH1750  "Auswahl"

// Items for BH1750:
Number dataLum "Helligkeit [%.1f Lux]" 
    { mqtt="<[mosquitto:Test/BH1750/tele/SENSOR:state:JSONPATH($.BH1750.Illuminance)]" }

// BH1750 (Tasmota) Administration data:
String bootModuleBH1750 "Modul [%s]" 
    { mqtt="<[mosquitto:Test/BH1750/tele/INFO1:state:JSONPATH($.Module)]" }
String bootVersionBH1750 "Version [%s]" 
    { mqtt="<[mosquitto:Test/BH1750/tele/INFO1:state:JSONPATH($.Version)]" }
String bootFallbackBH1750 "Fallback Topic [%s]" 
    { mqtt="<[mosquitto:Test/BH1750/tele/INFO1:state:JSONPATH($.FallbackTopic)]" }
String bootGroupBH1750 "Group Topic [%s]" 
    { mqtt="<[mosquitto:Test/BH1750/tele/INFO1:state:JSONPATH($.GroupTopic)]" }
String bootWSModeBH1750 "Webserver Mode [%s]" 
    { mqtt="<[mosquitto:Test/BH1750/tele/INFO2:state:JSONPATH($.WebServerMode)]" }
String bootHostnameBH1750 "Hostname [%s]" 
    { mqtt="<[mosquitto:Test/BH1750/tele/INFO2:state:JSONPATH($.Hostname)]" }
String bootIPAddressBH1750 "IP-Adresse [%s]" 
    { mqtt="<[mosquitto:Test/BH1750/tele/INFO2:state:JSONPATH($.IPAddress)]" }
String bootRestartReasonBH1750 "Restart Grund [%s]" 
    { mqtt="<[mosquitto:Test/BH1750/tele/INFO3:state:JSONPATH($.RestartReason)]" }
String parUpdateBH1750 "Letzter Update [%s]" 

 

OpenHAB Sitemap

Die minimale Sitemap für den Aufbau:


//=======================================================================================//
// File: sitemaps/bh1750.sitemap  Rev. 09.10.2018 / 17:05                                //
// (C) 2018 IoT-Systems, D-83043 Bad Aibling                                             //
// Author: Andreas Kriwanek                                                              //
//=======================================================================================//
// Project: Wemos D1 Mini with BH1750 sensor          		                             //
//=======================================================================================//
sitemap bh1750 label="BH1750"
{
	Frame {
		Text item=actDate icon="time"
	}
	Frame label="BH1750" {
        Text item=dataLum
	}
	Frame label="Status Wemos D1 Mini" {
		Text label="Wemos D1 Mini" icon="ak_info" {
			Frame label="Wemos D1 Mini" {
				Text item=bootModuleBH1750
				Text item=bootVersionBH1750
				Text item=bootFallbackBH1750
				Text item=bootGroupBH1750
				Text item=bootWSModeBH1750
				Text item=bootHostnameBH1750
				Text item=bootIPAddressBH1750
				Text item=bootRestartReasonBH1750
				Text item=parUpdateBH1750
				Text item=parUptimeBH1750
				Text item=parVccBH1750
				Text item=parWiFiAPBH1750
				Text item=parWiFiSSIDBH1750
				Text item=parWiFiRSSIBH1750
				Text item=parWiFiMacBH1750
			}
		}
	}
}

// vim: syntax=Xtend

In der BASIC-UI sieht die Anzeige so aus:

Die Helligkeit des BH1750 wird in der Sitemap in Lux angezeigt.
Klickt man auf das Status-Untermenü, werden die Details des Wemos D1 Mini angezeigt. Dies ist speziell für die Fehlersuche wichtig.

Links

Tasmota Wiki: https://github.com/arendst/Sonoff-Tasmota/wiki/Wemos-D1-Mini-and-BH1750-Luminosity-Sensor