NEWS
[Anleitung] Selbstbau Wemos D1 mini und Helligkeitssensor BH1750
-
@Reese1 said in [Anleitung] Selbstbau Wemos D1 mini und Helligkeitssensor BH1750:
welche tasmota nutzt du?
Keine. Tastmota habe ich schon vor längerer Zeit aufgegeben. Bei über 50 Gerätschaften gehen da allein schon für ein Update 2 Stunden drauf (bei esphome ist es genau ein Kommando/Klick, zurücklehnen und eine Tasse Kaffee für alle esp's). Außerdem gibt es keinen Weg zurück wenn man sich einmal an reproduzierbare Ergebnisse mit esphome gewöhnt hat just works und endlich kein Gefrickel mehr
Aber früher gab es mal eine Tasmota mit -sensors im Namen die glaube ich auch den bh1750 drin hatte.
Eine Limitation mit dem BH1750 und Tastmota ist (oder war?) übrigens auch das künstliche Limit bis maximal etwa 57k Lux zu messen obwohl der Sensor auch bis etwas über 120k Lux kann. Spätestens wenn du einmal draußen messen willst oder direkte Sonneneinstrahlung hast ist das (künstliche software) Limit bei Tasmota erreicht.
-
du hattest recht, ich habe einfach eine tasmota genommen, damit ging es nicht, hab jetzt die tasmota-sensors.bin genommen und nun wird sofort der lux wert angezeigt, vielen dank für deine hilfe
-
@Reese1 said in [Anleitung] Selbstbau Wemos D1 mini und Helligkeitssensor BH1750:
du hattest recht, ich habe einfach eine tasmota genommen, damit ging es nicht
quod erat demonstrandum
-
Hallo zusammen, Danke für Eure Erfahrungen hier!
Habe heute meine ersten Gehversuche mit einer ähnlichen Config gemacht: Regensensor und DS18B20 an Wemos D1 mini mit Tasmota 8.3.1 .
Es lief dann irgendwann (DS18B20 nur an D1 und nciht an D5, Regensensor über Analog) auf dem Breadboard und mit dem Sonoff-Adapter im iobroker. Allerdings habe ich das Problem, dass die Temperatur und Analogwerte nach kurzer Zeit nicht mehr im iobroker aktualisiert werden. In der Tasmota-Gui allerdings schon.
Noch komischer ist, dass Schalteränderungen (habe mal zwei Switche konfiguriert) trotzdem in den iobroker übertragen werden, aber dies auch kein Update der Messwerte bewirkt. Seltsam.Hat jemand eine Idee?
-
@Iomega : Ich war ein wenig ungeduldig, er sendet nur alle fünf (5!!) Minuten ein Update der Sensorwerte . Konfigurierbar scheint das nicht zu sein. Bisschen langsam für einen Regensensor....
@OpenSourceNomad : ESPhome? -
Tasmota
TelePeriod 0 = disable telemetry messages
1 = reset telemetry period to firmware default (TELE_PERIOD)
10..3600 = set telemetry period in seconds (default = 300) -
@kmxak Cool! Dank Dir Funktioniert.
Damit hätte ich um diese Uhrzeit nicht so schnell gerechnet
Ist sogar "bootfest" -
Moin,
auch wenn der Thread schon ein wenig älter ist möchte ich mal Danke für die Anleitung, Hinweise und Tipps sagen. Habe heute erfolgreich einen BH1750 an einen Wemos D1 mini mittels ESPHome angebunden, so dass er mir ganz wunderbar die LUX-Werte per MQTT liefert (mit 4 Nachkommastellen ) und ich so schön damit arbeiten kann was Dämmerungsschaltungen angeht. Falls man kein MQTT möchte, geht das ganze auch wunderbar mit dem ESPHome adapter for ioBroker.Hier mal meine yaml für den Sensor:
esphome: name: d1-lux-balkon platform: ESP8266 board: esp01_1m # Enable logging logger: level: DEBUG # Enable Home Assistant API api: ota: password: "***" wifi: ssid: "***" password: "***" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "***" password: "***" captive_portal: # MQTT connection mqtt: broker: 100.100.0.1 username: *** password: *** # Enable I²C bus i2c: sda: 0 scl: 2 scan: true # LUX sensor settings sensor: - platform: bh1750 name: "Helligkeit BH1750" address: 0x23 measurement_duration: 180 update_interval: 60s accuracy_decimals: 4
Gruß
Sascha -
Ich packe den Thread nochmal aus. Hab nen Wemos D1 Mini mit einem BH1750 versehen. Leider aktualisiert sich die Lichtstärke nicht nach 60s. Nach >5 Min ist noch keine Änderung da. Folgendes Yaml ist in Verwendung :
esphome: name: esp8266-lux platform: esp8266 board: d1_mini # Enable logging logger: # Enable Home Assistant API api: password: "xxx" ota: password: "xxx" wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esp8266-Lux Fallback Hotspot" password: "xxx" captive_portal: i2c: sda: GPIO4 scl: GPIO5 scan: True sensor: - platform: bh1750 name: "Lux" address: 0x23 #measurement_duration: 120 update_interval: 60s
Nach einem Neustart des Wemos kommt 1x ein Wert, nur aktualisiert es sich nicht vernünftig. Will den Sensor für eine Beleuchtung nutzen. Hierfür brauche ich im optimalen Fall alle 2 Min. die Lichtstärke .
Hat einer eine Idee? -
@smarthome2020 said in [Anleitung] Selbstbau Wemos D1 mini und Helligkeitssensor BH1750:
Hat einer eine Idee?
Hat einer Logs?
Die neuste esphome version (2022.03) hat übrigens eine interessante Änderung bezüglich des bh1750:
BH1750 dynamically calculate options #3214
Until now for BH1750 you had to set static resolution/measurement_duration values - and so either optimize for low-light or bright scenes. Instead, dynamically calculate those options now by first doing a quick l-resolution measurement, then switch to the optimal mode/mtreg values. -
INFO Reading configuration /opt/iobroker/iobroker-data/esphome.0/esp8266-lux.yaml... INFO Starting log output from esp8266-lux.local using esphome API INFO Successfully connected to esp8266-lux.local [21:47:09][I][app:102]: ESPHome version 2022.1.3 compiled on Mar 18 2022, 21:40:35 [21:47:09][C][wifi:488]: WiFi: [21:47:09][C][wifi:350]: Local MAC: Xxxx [21:47:09][C][wifi:351]: SSID: xxxx] [21:47:09][C][wifi:352]: IP Address: 192.168.xxx.xxx [21:47:09][C][wifi:354]: BSSID: xxx] [21:47:09][C][wifi:355]: Hostname: 'esp8266-lux' [21:47:09][C][wifi:357]: Signal strength: -45 dB ▂▄▆█ [21:47:09][C][wifi:361]: Channel: 6 [21:47:09][C][wifi:362]: Subnet: 255.255.255.0 [21:47:09][C][wifi:363]: Gateway: 192.168.xxx.xxx [21:47:09][C][wifi:364]: DNS1: 192.168.xxx.xxx [21:47:09][C][wifi:365]: DNS2: 0.0.0.0 [21:47:09][C][logger:233]: Logger: [21:47:09][C][logger:234]: Level: DEBUG [21:47:09][C][logger:235]: Log Baud Rate: 115200 [21:47:09][C][logger:236]: Hardware UART: UART0 [21:47:09][C][i2c.arduino:037]: I2C Bus: [21:47:09][C][i2c.arduino:038]: SDA Pin: GPIO4 [21:47:09][C][i2c.arduino:039]: SCL Pin: GPIO5 [21:47:09][C][i2c.arduino:040]: Frequency: 50000 Hz [21:47:09][C][i2c.arduino:043]: Recovery: bus successfully recovered [21:47:09][I][i2c.arduino:053]: Results from i2c bus scan: [21:47:09][I][i2c.arduino:059]: Found i2c device at address 0x23 [21:47:09][C][bh1750.sensor:027]: BH1750 'Lux' [21:47:09][C][bh1750.sensor:027]: Device Class: 'illuminance' [21:47:09][C][bh1750.sensor:027]: State Class: 'measurement' [21:47:09][C][bh1750.sensor:027]: Unit of Measurement: 'lx' [21:47:09][C][bh1750.sensor:027]: Accuracy Decimals: 1 [21:47:09][C][bh1750.sensor:028]: Address: 0x23 [21:47:09][C][bh1750.sensor:048]: Resolution: 0.5 [21:47:09][C][bh1750.sensor:049]: Update Interval: 60.0s [21:47:09][C][captive_portal:144]: Captive Portal: [21:47:09][C][ota:082]: Over-The-Air Updates: [21:47:09][C][ota:083]: Address: esp8266-lux.local:8266 [21:47:09][C][ota:086]: Using Password. [21:47:09][C][api:134]: API Server: [21:47:09][C][api:135]: Address: esp8266-lux.local:6053 [21:47:09][C][api:139]: Using noise encryption: NO [21:47:09][C][mdns:084]: mDNS: [21:47:09][C][mdns:085]: Hostname: esp8266-lux
Hier wäre vllt was, ist aber neu seit eben, habe ich heute Nachmittag noch nicht gesehen.
esphome.0 2022-03-18 21:41:30.992 error ESPHome client 192.168.xxx.xxError: connect EISCONN 192.168.xxx.xx:6053 - Local (192.168.xxx.xx:41654)
-
@smarthome2020 bräuchte ein log was ein paar Minuten läuft um zu sehen was "schief" läuft.
Wenn er allerdings einmal (beim start) messen kann und danach nicht mehr riecht es nach einem fehlenden pull, in den logs sollte dann zumindest eine Zeile stehen das er nix bekommen hat oder i2c communication fehlgeschlagen hat etc.
-
@opensourcenomad
Bei dem Sensor passiert im log über Minuten nichts , während bei einem anderen Sensor im Log neue Einträge hinzu kommen.
Scheinbar ist der Wemos inaktiv nach dem Start?Nachtrag: nach ein paar Minuten kam noch :
[22:16:50][I][ota:102]: Boot seems successful, resetting boot loop counter.
-
@smarthome2020 said in [Anleitung] Selbstbau Wemos D1 mini und Helligkeitssensor BH1750:
Bei dem Sensor passiert im log über Minuten nichts , während bei einem anderen Sensor im Log neue Einträge hinzu kommen.
Schalt mal die logger component auf
verbose
-
Neben dem log von eben kommt dann ergänzend nur :
[22:25:23][V][mdns:086]: Services: [22:25:23][V][mdns:088]: - _esphomelib, _tcp, 6053 [22:25:23][V][mdns:090]: TXT: version = 2022.1.3 [22:25:23][V][mdns:090]: TXT: mac = bcff4d191c18 [22:25:23][V][mdns:090]: TXT: platform = ESP8266 [22:25:23][V][mdns:090]: TXT: board = d1_mini [22:26:12][D][api:098]: Accepted 192.168.xxx.xx [22:26:12][V][api.connection:763]: Hello from client: 'raspberrypi (192.168.xxx.xx)' [22:26:12][D][api.connection:779]: raspberrypi (192.168.xxx.xx): Connected successfully
Im Hauptlog des ioBroker kommt aber immer wieder:
ESPHome client 192.168.xxx.xx Error: connect EISCONN 192.168.xxx.xx:6053 - Local (192.168.xxx.xx:48714)
-
@smarthome2020 said in [Anleitung] Selbstbau Wemos D1 mini und Helligkeitssensor BH1750:
Neben dem log von eben kommt dann ergänzend nur
und minütlich kommt nix bezüglich der bh1750 component? Zur not noch
very_verbose
versuchen. -
[22:43:28][VV][scheduler:185]: Running interval '' with interval=60000 last_execution=6490 (now=66490) [22:43:33][D][api:098]: Accepted 192.168.xxx.x [22:43:33][VV][api.service:337]: on_ping_request: PingRequest {} [22:43:33][VV][api.service:043]: send_ping_response: PingResponse {} [22:43:33][VV][api.service:301]: on_hello_request: HelloRequest { client_info: 'raspberrypi' } [22:43:33][V][api.connection:763]: Hello from client: 'raspberrypi (192.168.xxx.x)' [22:43:33][VV][api.service:013]: send_hello_response: HelloResponse { api_version_major: 1 api_version_minor: 6 server_info: 'esp8266-lux (esphome v2022.1.3)' } [22:43:33][VV][api.service:310]: on_connect_request: ConnectRequest { password: 'xxx' } [22:43:33][D][api.connection:779]: raspberrypi (192.168.xxx.x): Connected successfully [22:43:33][VV][api.service:019]: send_connect_response: ConnectResponse { invalid_password: NO } [22:43:33][VV][api.service:355]: on_device_info_request: DeviceInfoRequest {} [22:43:33][VV][api.service:049]: send_device_info_response: DeviceInfoResponse { uses_password: YES name: 'esp8266-lux' mac_address: 'Xxx' esphome_version: '2022.1.3' compilation_time: 'Mar 18 2022, 22:41:21' model: 'd1_mini' has_deep_sleep: NO project_name: '' project_version: '' webserver_port: 0 } [22:43:33][VV][api.service:364]: on_list_entities_request: ListEntitiesRequest {} [22:43:33][VV][api.service:132]: send_list_entities_sensor_response: ListEntitiesSensorResponse { object_id: 'lux' key: 914478924 name: 'Lux' unique_id: 'esp8266-luxsensorlux' icon: '' unit_of_measurement: 'lx' accuracy_decimals: 1 force_update: NO device_class: 'illuminance' state_class: STATE_CLASS_MEASUREMENT legacy_last_reset_type: LAST_RESET_NONE disabled_by_default: NO entity_category: ENTITY_CATEGORY_NONE } [22:43:33][VV][api.service:373]: on_subscribe_states_request: SubscribeStatesRequest {} [22:43:33][VV][api.service:055]: send_list_entities_done_response: ListEntitiesDoneResponse {} [22:43:33][VV][api.service:140]: send_sensor_state_response: SensorStateResponse { key: 914478924 state: 12.9167 missing_state: NO } [22:43:36][VV][api.service:337]: on_ping_request: PingRequest {} [22:43:36][VV][api.service:043]: send_ping_response: PingResponse {} [22:43:48][VV][api.service:337]: on_ping_request: PingRequest {} [22:43:48][VV][api.service:043]: send_ping_response: PingResponse {}
Und :
d1_mini [22:50:04][VV][api.service:337]: on_ping_request: PingRequest {} [22:50:04][VV][api.service:043]: send_ping_response: PingResponse {} [22:50:09][VV][scheduler:185]: Running interval 'update' with interval=60000 last_execution=407236 (now=467236) [22:50:09][VV][i2c.arduino:124]: 0x23 TX 21 [22:50:09][VV][i2c.arduino:148]: TX failed: not acknowledged [22:50:13][VV][api.service:337]: on_ping_request: PingRequest {} [22:50:13][VV][api.service:043]: send_ping_response: PingResponse {} [22:50:19][VV][api.service:337]: on_ping_request: PingRequest {} [22:50:19][VV][api.service:043]: send_ping_response: PingResponse {} [22:50:28][VV][scheduler:185]: Running interval '' with interval=60000 last_execution=426490 (now=486492) [22:50:29][VV][api.service:337]: on_ping_request: PingRequest {} [22:50:29][VV][api.service:043]: send_ping_response: PingResponse {} [22:50:34][VV][api.service:337]: on_ping_request: PingRequest {} [22:50:34][VV][api.service:043]: send_ping_response: PingResponse {} [22:50:44][VV][api.service:337]: on_ping_request: PingRequest {} [22:50:44][VV][api.service:043]: send_ping_response: PingResponse {} [22:50:49][VV][api.service:337]: on_ping_request: PingRequest {} [22:50:49][VV][api.service:043]: send_ping_response: PingResponse {}
-
@opensourcenomad sagte in [Anleitung] Selbstbau Wemos D1 mini und Helligkeitssensor BH1750:
Die neuste esphome version (2022.03) hat übrigens eine interessante Änderung bezüglich des bh1750:
Wie sehe ich, welche Version aufgespielt ist? Habe eben alle esphome Geräte aktualisiert… finde nur nirgends was von 2022.03..
-
@smarthome2020 said in [Anleitung] Selbstbau Wemos D1 mini und Helligkeitssensor BH1750:
[22:50:09][VV][i2c.arduino:124]: 0x23 TX 21 [22:50:09][VV][i2c.arduino:148]: TX failed: not acknowledged
Wie vermutet hackt es an der Kommunikation. Eventuell mal pull up am gpio aktivieren?
Wie sehe ich, welche Version aufgespielt ist?
Z.b. im Dashboard footer
-
Bei mir hat sich der BH1750 nach einigen Messungen/Ergebnissen immer wieder verabschiedet (Der I2C Teilnehmer wurde nicht mehr gefunden). Die Lösung war eine Pufferung der 5V Versorgungsspannung direkt am BH1750 mit einem kleinen Elko (100uF).