Bluetooth auf Wlan Umsetzung (für Xiaomi Pflanzsensor)

Begonnen von andi11, 27 Januar 2017, 06:58:27

Vorheriges Thema - Nächstes Thema

CoolTux

Super. Das geht schon mal. Jetzt das Modul. Verbose 5 und dann mal Daten ziehen. Das Log hier posten
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

cs-online

2018-07-20_22:11:24 Gewaechshaus1 unreachable
2018-07-20_22:11:24 Gewaechshaus1 lastGattError: The BlockingCall Process terminated unexpectedly. Timedout
2018-07-20_22:11:24 Gewaechshaus1 error
2018-07-20_22:13:16 Gewaechshaus1 read sensor data
2018-07-20_22:14:46 Gewaechshaus1 unreachable
2018-07-20_22:14:46 Gewaechshaus1 lastGattError: The BlockingCall Process terminated unexpectedly. Timedout
2018-07-20_22:14:46 Gewaechshaus1 error
2018-07-20_22:16:00 Gewaechshaus1 read sensor data
2018-07-20_22:17:31 Gewaechshaus1 unreachable
2018-07-20_22:17:31 Gewaechshaus1 lastGattError: The BlockingCall Process terminated unexpectedly. Timedout
2018-07-20_22:17:31 Gewaechshaus1 error
2018-07-20_22:21:28 Gewaechshaus1 read sensor data
2018-07-20_22:22:58 Gewaechshaus1 unreachable
2018-07-20_22:22:58 Gewaechshaus1 lastGattError: The BlockingCall Process terminated unexpectedly. Timedout
2018-07-20_22:22:58 Gewaechshaus1 error


unreachable klingt als ob der Sensor nicht antwortet oder ? Muss ich den nochmal pairen oder so ? der leuchtet auch nicht...
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

CoolTux

Sieht nicht wirklich wie verbose 5 aus.

Davon mal ab, kannst du bitte den pi näher an den Sensor bringen?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

cs-online

Ha, ich glaub ich habs, ich habe die Batterien nochmal rausgenommen und die App zeigt nun andere MAC-Adressen, nachdem ich die eine in die DEF eingetragen habe: BINGO, geht auf active :-)

Log sieht nun doch ein wenig anders aus :

2018-07-20_22:29:48 Gewaechshaus1 read sensor data
2018-07-20_22:29:54 Gewaechshaus1 batteryPercent: 100
2018-07-20_22:29:54 Gewaechshaus1 firmware: 2.7.0
2018-07-20_22:29:54 Gewaechshaus1 batteryState: ok
2018-07-20_22:29:54 Gewaechshaus1 active
2018-07-20_22:29:54 Gewaechshaus1 write sensor data
2018-07-20_22:30:00 Gewaechshaus1 temperature: 22.4
2018-07-20_22:30:00 Gewaechshaus1 moisture: 0
2018-07-20_22:30:00 Gewaechshaus1 lux: 132
2018-07-20_22:30:00 Gewaechshaus1 fertility: 8
2018-07-20_22:30:00 Gewaechshaus1 active
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

cs-online

DANKE DANKE DANKE !!!! Super, dass du dir so viel Zeit genommen hast. Ich habe zwar kaum was verstanden, aber Hauptsache es läuft :-)
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

CoolTux

OK. Super.

Aber das ist nicht das Log. Das ist der Eventmonitor. Log ist was anderes. Nennt sich Logfile
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zitat von: cs-online am 20 Juli 2018, 22:38:59
DANKE DANKE DANKE !!!! Super, dass du dir so viel Zeit genommen hast. Ich habe zwar kaum was verstanden, aber Hauptsache es läuft :-)

Gerne. Aber vielleicht schaust noch mal das Du bisschen Linux Kenntnisse ein holst. Ist dann in Zukunft einfacher für Dich  ;D


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

cs-online

Ja, da muss ich noch einiges lernen ;-) Mein Logfile ist irre groß, das bekam ich kaum auf, obwohl das jeden Tag neu geschrieben wird. Aber auch da hat nicht mehr drin gestanden zu den FloreSens, als in dem Log_File, das ich auf das Device gelegt hab.

How ever, nun kommt von beiden Sensoren Daten :-) Yippie, das We ist gerettet. Danke nochmals !!!
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Tobias

Um mal beim Thema zu bleiben, ich habe versucht das openmqttgateway für einen ESP32 zu kompilieren.
Es scheint noch einige Bugs zum ESP32 zu haben, ich musste ziemlich viel probieren und Arduino-Spezifisches disablen.
Wenn ich nun alle MOdule deaktive, auch das Z-BLE, läuft der Sketch auf dem ESP32, aber erkennt nix.
Aktiviere ich das Z-BLE Modul, wird der Sketch wahnsinnig gross, bekomme ihn aber noch auf den ESP32 gespielt. Problem nun, das er direkt nach dem Booten sich in Schleife immer wieder neustartet :(
Die Doku ist leider auch nicht so eindeutig, ob nun das Z-BLE Modul für einen ESP32 nicht benötigt wird da nativ im config_BT sowiso aktiviert oder nicht ....

Preisfrage: Wie habt ihr den funktionierenden Sketch erstellt???
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

mark79

#114
Bei mir laufen zwei ESP32 seit 1-2 Monaten durchgängig 24 Std. ohne Probleme.
Auch weitere Module konnte ich zusätzlich zu dem BT hinzufügen, wie RF2 und HCSR501. Aber die habe ich wieder rausgeworfen, weil ich die noch nicht benötige.

Wie man den Fehler Fehler "Sketch too big" behebt, steht hier: https://github.com/1technophile/OpenMQTTGateway/wiki/Module-Overview-ESP32
und hier: https://github.com/nkolban/esp32-snippets/issues/441#issuecomment-375795379
Man muss zwei Dateien anpassen (default.csv) und (boards.txt) ich habe mir dafür das ESP32 Dev Module ausgesucht. Wichtig ist auch, das du das Board in der Arduino IDE auswählst, wenn du den Sketch kompilierst.

Das mit der Arduino IDE ist ein bisschen frickelig. Ich würde unbedingt eine frische Arduino installation verwenden!
Dazu diese BLE Lib: https://github.com/1technophile/OpenMQTTGateway/wiki/ESP32-BT-Module

Achja und probiere zuerst mal das release V0.7 aus: https://github.com/1technophile/OpenMQTTGateway/releases
Auf einen Rechner hatte ich Probleme, das aktuelle GIT zu kompilieren. Aber mit der V0.7 ging es.

EDIT: und du brauchst nur das ZgatewayBT in der user_config.h auskommentieren:
/*-------------DEFINE THE MODULES YOU WANT BELOW----------------*/
//Addons and module management, comment the Z line

//#define ZgatewayRF          //ESP8266, Arduino, ESP32
//#define ZgatewayIR          //ESP8266, Arduino,         Sonoff RF Bridge
#define ZgatewayBT          //ESP8266, Arduino, ESP32
...
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

m_gatz

Lasst ihr mit dem Gateway pauschal alle Sensoren abfragen?
Ich würde gern nur ausgewählte Sensorem, die außerhalb des Raspberrys liegen abfragen.

@mark79 wie verabeitest du die Daten dann weiter? Kann man die irgendwie dem normalen Modul zur Verfügung stellen, sodass man dessen Funktionalitäten witerhin nutzen kann?

Danke und Gruß!

mark79

Zitat von: m_gatz am 27 Juli 2018, 12:13:16
@mark79 wie verabeitest du die Daten dann weiter? Kann man die irgendwie dem normalen Modul zur Verfügung stellen, sodass man dessen Funktionalitäten witerhin nutzen kann?

Per MQTT, also das openmqttgateway scannt erstmal nach allen BTLE Geräten welches er findet und sendet es an den mqtt Broker.

Das sieht so aus:
root@rock64:~# mosquitto_sub -v -t \#
home/kueche/OpenMQTTGateway/BTtoMQTT/C47C8D65CD95/name Flower care
home/kueche/OpenMQTTGateway/BTtoMQTT/C47C8D65CD95/hum 36
home/kueche/OpenMQTTGateway/BTtoMQTT/C47C8D65CD95/tem 30.4


In Fhem kann man dann entscheiden, welche Sensoren man einbinden möchte. Das einbinden geschieht einzeln pro Sensor:
defmod KU_Kraeuter MQTT_DEVICE
attr KU_Kraeuter DbLogExclude .*
attr KU_Kraeuter DbLogInclude fertility,lux,moisture,temperature
attr KU_Kraeuter IODev myBroker
attr KU_Kraeuter autoSubscribeReadings home/kueche/OpenMQTTGateway/BTtoMQTT/C47C8D65CD95/+
attr KU_Kraeuter icon hue_room_garden
attr KU_Kraeuter room 2_Kueche,FlowerSens
attr KU_Kraeuter stateFormat {sprintf("Temperatur: %.1f Grad, Feuchte: %.1f %, Lux: %.1f ", ReadingsVal($name,"temperature",0), ReadingsVal($name,"moisture",0), ReadingsVal($name,"lux",0))}
attr KU_Kraeuter subscribeReading_fertility home/kueche/OpenMQTTGateway/BTtoMQTT/C47C8D65CD95/fer
attr KU_Kraeuter subscribeReading_lux home/kueche/OpenMQTTGateway/BTtoMQTT/C47C8D65CD95/lux
attr KU_Kraeuter subscribeReading_moisture home/kueche/OpenMQTTGateway/BTtoMQTT/C47C8D65CD95/hum
attr KU_Kraeuter subscribeReading_name home/kueche/OpenMQTTGateway/BTtoMQTT/C47C8D65CD95/name
attr KU_Kraeuter subscribeReading_temperature home/kueche/OpenMQTTGateway/BTtoMQTT/C47C8D65CD95/tem
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Tobias

Zitat von: mark79 am 27 Juli 2018, 12:08:18
Bei mir laufen zwei ESP32 seit 1-2 Monaten durchgängig 24 Std. ohne Probleme.
Auch weitere Module konnte ich zusätzlich zu dem BT hinzufügen, wie RF2 und HCSR501. Aber die habe ich wieder rausgeworfen, weil ich die noch nicht benötige.

Wie man den Fehler Fehler "Sketch too big" behebt, steht hier: https://github.com/1technophile/OpenMQTTGateway/wiki/Module-Overview-ESP32
und hier: https://github.com/nkolban/esp32-snippets/issues/441#issuecomment-375795379
Man muss zwei Dateien anpassen (default.csv) und (boards.txt) ich habe mir dafür das ESP32 Dev Module ausgesucht. Wichtig ist auch, das du das Board in der Arduino IDE auswählst, wenn du den Sketch kompilierst.

Das mit der Arduino IDE ist ein bisschen frickelig. Ich würde unbedingt eine frische Arduino installation verwenden!
Dazu diese BLE Lib: https://github.com/1technophile/OpenMQTTGateway/wiki/ESP32-BT-Module

Achja und probiere zuerst mal das release V0.7 aus: https://github.com/1technophile/OpenMQTTGateway/releases
Auf einen Rechner hatte ich Probleme, das aktuelle GIT zu kompilieren. Aber mit der V0.7 ging es.

EDIT: und du brauchst nur das ZgatewayBT in der user_config.h auskommentieren:
/*-------------DEFINE THE MODULES YOU WANT BELOW----------------*/
//Addons and module management, comment the Z line

//#define ZgatewayRF          //ESP8266, Arduino, ESP32
//#define ZgatewayIR          //ESP8266, Arduino,         Sonoff RF Bridge
#define ZgatewayBT          //ESP8266, Arduino, ESP32
...

Hi MArc,
alles gemacht, 0.7er Version installiert, too-big-sketch Anpassungen gemacht, BLE Library benutzt.
Bei mir werden einen Haufen Libraries nicht gefunden obwohl sie da sind, zb. Update.h, io.h, interrup.h, Probleme in der Ethernet.cpp
Kannst du mir mal ein funktionierendes "bin" file zukommen lassen?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

mark79

#118
Zitat von: Tobias am 01 August 2018, 12:52:44
Hi MArc,
alles gemacht, 0.7er Version installiert, too-big-sketch Anpassungen gemacht, BLE Library benutzt.
Bei mir werden einen Haufen Libraries nicht gefunden obwohl sie da sind, zb. Update.h, io.h, interrup.h, Probleme in der Ethernet.cpp
Kannst du mir mal ein funktionierendes "bin" file zukommen lassen?

Hallo Tobias,

hast du die Arduino IDE mit ESP32 Support so installiert?
https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/windows.md

Vielleicht hast die falschen Pakete installiert?
Installieren geht mit: Sketch > Bibliothek einbinden >  Bibliothek verwalten und dort nach den fehlenden Paketen suchen und installieren.

Ein bin File bereit stellen ist schwierig, dafür brauch ich deine WLAN Zugangsdaten und die MQTT Broker IP. :D

Aber schau mal hier, so etwas scheint es schon zu geben: https://github.com/1technophile/OpenMQTTGateway/issues/244
Ich weiß nur nicht, wie man sich dann mit seinem WLAN AP verbindet und die Broker IP setzt. Am besten mal im GIT nachfragen.
Aber vielleicht hat die Version auch ein Webinterface, wo man das konfigurieren kann...

Wenn das auch nicht geht, melde dich noch mal. Ich kann dir meine Arduino IDE bereit stellen.


Viele Grüße
Mark
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Tobias

NAch langem TEsten, irgendwie hats meine Arduino VErsion nicht hinbekommen.
Mit der letzten 1.6.13 Arduino IDE und den oben verlinkten Anleitungen hat es funktioniert.
Auch mit der aktuellen ESP32 Umgebung, allerdings mit folgenden Änderungen (https://community.openmqttgateway.com/t/compile-error-on-esp32-on-version-0-7-and-0-8/40/5)

ZitatHere is the working process with the last version of arduino ESP32:
–> download the last version of ESP32 arduino and install it following the provided instructions on hte github readme
–> remove BLE library from libraries folder of ESP32 arduino folder
–> install nkolban library from here https://github.com/nkolban/ESP32_BLE_Arduino/archive/master.zip 23 into libraries folder of ESP32 arduino folder.
–> open OpenMQTTGateway.ino
–> choose board ESP32 dev module
–> change partition scheme to minimal SPIFFS
–> compile

Zumindest kompilierts, ob es funktioniert muss ich jetzt testen
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter