Günstiger und unauffälliger Pflanzensensor: Xiaomi Flower Monitor

Begonnen von stoxx, 17 September 2016, 14:28:54

Vorheriges Thema - Nächstes Thema

Amenophis86

Würde auch einen nehmen.

Und hat jemand die Dinger mal draußen im Regen getestet? Meint ihr das geht, oder sie halten das nicht aus?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

JoWiemann

Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

stoxx

Zitat4 Std alles mögliche ausprobiert, immer mit den gleichen Ergebnis.

Zwei Seiten zurückblättern, da hatte jemand genau das gleiche Problem und lösen können.. Hast Du wirklich das auch schon ausprobiert?

https://forum.fhem.de/index.php/topic,57787.msg497815.html#msg497815

grüße
stoxx
Raspberry mit CUL, FS20, FHT, HMS, BLE, Z-Wave, Zigbee ..

MadMax-FHEM

So habe meinen nun endlich auch bekommen...
...bzw. eher endlich Zeit gefunden ihn mal in Betrieb zu nehmen.

Aktuell testweise mal unter UbuntuMate auf einem PI3.

Scheint zu laufen, allerdings momentan auch testweise nur mit "echo-Ausgaben" statt der "setreadings"...

Blaues Licht blinkt bei mir, wenn ich das script starte, also Verbindung aufgebaut wird und Daten abgefragt werden...
...und mal kurz nach dem Batterieeinlegen.

Mit dem Handy hatte ich zunächst keinen Erfolg und dachte auch schon (nach dem Lesen hier), dass er defekt sei.

Achja: unter UbuntuMate läuft das script auch ohne 'sudo' :-)
Also statt "sudo gattool" nur "gattool"...

Habe ihn dann probehalber mal in ein Wasserglas gestellt um zu sehen, ob er auch wirklich tut...
...und: Moisture 100 :-)
Vorher an der Luft: 0

Dann habe ich ihn einen Raum weiter gestellt, also ca. 6-8m aber durch 2 Wände, um das mit den Lux zu testen...
...da bekam ich plötzlich: connect error: Connection refused (111)

Wieder zurück auf den alten Platz, also eher so 6m und keine Wand (also Türe offen) und siehe da: funktioniert wieder :-)

Werde also wohl einen PI neben das Fenster stellen und dann per fhem2fhem o.ä. die Daten an mein Hauptsystem schicken...
...und die Feuchtigkeitsmesser dann in den Balkontrog...

Aber erst nächsten Frühling... ;-)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

So, jetzt hab ich's auch unter PI3 Jessie laufen.

Jessie-Image auf SD, gebootet, update/upgrade und raspi-config (timezone, Tastatur, ...) und "sudo apt-get install bc" und das script (immer noch: "echo" Ausgaben statt setreading) läuft auch hier...
...ebenfalls kein 'sudo' notwendig...

So, dann werde ich wohl noch ein paar besetllen und mich mal um: Daten vom "Fensterbrett-PI" zum "FHEM-PI" bringen kümmern ;-)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Und gleich noch ein paar Entfernungstests gemacht:

komme auf ca. 11m (mehr geht grad nicht), allerdings mit "Semi-Sichtverbindung", also ja Wände aber alle Türen auf...
...aber bekomme nicht immer Daten, würde mir aber bei Abfrage alle 5-10min reichen, da können auch mal 1-2 nicht kommen...

Bei Türen zu wird's schon hakelig...

Ich denke mal gefühlt geht's so 8-10m ganz passabel.

Werde aber wohl trotzdem die "PI-vor-Fenster-Variante" fahren...
...dann sind es max. 6m

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

jnewton957

Zitat von: mi.ke am 27 Oktober 2016, 09:17:04
Also es liegt devinitiv an der Bluetooth config

Ich hab Bluez neu installiert, jetzt kann ich den hcitool scan als User "pi" ausführen, den hcitool lescan nur noch mit als root.

Mit sudo gatttool -I und dann einem connect <<MAC_Adr.>> 
kommt immer und bei allen "Flower mate" Adressen das Ergebnis Connection refused (111)

4 Std alles mögliche ausprobiert, immer mit den gleichen Ergebnis.
Ich gebs auf, vielleicht sollte ich mir doch ein anderes Hobby suchen  8)

Nicht aufgeben !!

Bin auch schon netto über 10 Stunden dran. Habe zumindest über putty den Flower mate angechlossen bekommen.

Letztlich liegt es am Bluetooth Low Energy Problem

Einige Tips stehen hier ja in den vorherigen threads:
ABER bitte auch solche "Kleinigkeiten:
sudo btmgmt le on
sudo btmgmt bredr off
(vorher btmgmt verfügbar machen - steht in einigen der Folgelinks)

User pi und fhem in Gruppe ip und bluetooth aufnehmen - ganz wichtig überprüfen: cat /etc/group 



Meine Linkliste (einiges doppelt - aber jeder Hinweis hat irgendwie geholfen):
http://stackoverflow.com/questions/24853597/ble-gatttool-cannot-connect-even-though-device-is-discoverable-with-hcitool-lesc
https://forum.arduino.cc/index.php?topic=377587.0
https://urbanjack.wordpress.com/2014/06/05/how-to-set-bluez-into-ble-or-le-only-mode-ibeacon/
https://www.blogging-it.com/bluetooth-adapter-dongle-unter-raspbian-einrichten-und-verbindung-pairing-herstellen/raspberry-pi/betriebssysteme-und-software.html
https://learn.adafruit.com/install-bluez-on-the-raspberry-pi/installation

https://www.open-homeautomation.com/de/2016/08/23/reverse-engineering-the-mi-plant-sensor/

Viel Erfolg
Jörg

P.S. habe ihn auch noch nicht laufen in fhem. Precence local-bluetooth zeigt immer absent, obwohl eben gatttool... in putty sogar Werte anzeigt.
PPS: bekomme einfach keine Werte nach fhem in plant1
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

jnewton957

#67
define XIAOMI_1 PRESENCE local-bluetooth C4:7C:8D:60:xx:xx 10 60
attr XIAOMI_1 room 95_Flower


Ist immer absent. Warum ???

An den Rechten kann es nicht liegen, da analoges Vorgehen/cfg für mein Handy funktioniert (present)

Die MAC Adrese des XIAOMI habe ich über hcitool lescan. Dort wird das Teil gefunden und ich konnte es über hcitool lecc verbinden.

Danke
Jörg
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

CoolTux

Es gibt einen Unterschied zu bt und btle. Die Teile machen le.
Mach mal folgendes. Gib mal in einer Linuxshell folgendes ein, als root.

hcitool scan
Hier sollte das Teil nicht erscheinen. Und dann
hcitool lescan
Hier sollten die Teile erscheinen.
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

JoWiemann

Zitat von: jnewton957 am 30 Oktober 2016, 07:33:14
ABER bitte auch solche "Kleinigkeiten:
sudo btmgmt le on
sudo btmgmt bredr off


sudo btmgmt bredr off


funktioniert nur, solange der BlueTooth-Stick noch nicht eingeschaltet ist. Am Besten ein Startscript anlegen, oder das Fhem Script erweitern, in dem folgendes gemacht wird:


sudo hciconfig hci0 down
sudo btmgmt le on
sudo btmgmt bredr off
sudo hciconfig hci0 up


Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

jnewton957

#70
Hallo,

ich komme weiter und habe zumindet unter putty schon mal Werte.

Der risen Schritt anch vorne was das Abtippen des skriptes von stoxx weil dort im coding Zeilenumbrüche \r drin sind. Die führen zu Fehlern in der Ausführung des scriptes. (illigal character)
Ich habe also das script abgetippt und jeweils ein echo "Temp" $stringT vor jeder perl Zeile eingefügt.

Der Flower_mate steht in einem Glas Wasser und ich erhalte Werte:

Die Werte:
Temp 196 entspricht 19,6 Grad Celsius
Lux 203
Moisture 86 entspricht 86% (obwohl es 100 sein müssten, weil der Sensor im Wasser steht)
Fertility 511


Jörg

FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

JoWiemann

#71
Hallo,

ich habe das bash-Script mal etwas überarbeitet:


#!/bin/bash
bluetoothmac="C4:7C:8D:61:B2:72"
fhem_device="Plant1"

stringA=$(/usr/local/bin/gatttool -b $bluetoothmac --char-read --handle=0x35)
gaterror=$?
if [ $gaterror -ne 0 ]; then
  perl /opt/fhem/fhem.pl 7072 "setreading $fhem_device gattool Fehler: $gaterror"
  perl /opt/fhem/fhem.pl 7072 "setreading $fhem_device state error"
  sudo hciconfig hci0 down
  sudo btmgmt le on
  sudo btmgmt bredr off
  sudo hciconfig hci0 up
  if [ $? -ne 0 ]; then
    sudo hciconfig hci0 up
  fi
else
  perl /opt/fhem/fhem.pl 7072 "setreading $fhem_device gattool $stringA"

  stringT=${stringA:36:2}${stringA:33:2}
  stringT=$(echo "$stringT" | tr a-f A-F)
  stringT=$(echo "ibase=16; $stringT" | bc)
  perl /opt/fhem/fhem.pl 7072 "{fhem('setreading $fhem_device Temp ' . $stringT/10)}"

  stringL=${stringA:45:2}${stringA:42:2}
  stringL=$(echo "$stringL" | tr a-f A-F)
  stringL=$(echo "ibase=16; $stringL" | bc)
  perl /opt/fhem/fhem.pl 7072 "setreading $fhem_device Lux $stringL"

  stringM=${stringA:54:2}
  stringM=$(echo "$stringM" | tr a-f A-F)
  stringM=$(echo "ibase=16; $stringM" | bc)
  perl /opt/fhem/fhem.pl 7072 "setreading $fhem_device Moisture $stringM"

  stringF=${stringA:60:2}${stringA:57:2}
  stringF=$(echo "$stringF" | tr a-f A-F)
  stringF=$(echo "ibase=16; $stringF" | bc)
  perl /opt/fhem/fhem.pl 7072 "setreading $fhem_device Fertility $stringF"

  perl /opt/fhem/fhem.pl 7072 "setreading $fhem_device state done"
fi
exit


PS: Was die Werte bedeuten wurde schon im Thread erläutert.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

jnewton957

Zitat von: JoWiemann am 30 Oktober 2016, 12:22:33


PS: Was die Werte bedeuten wurde schon im Thread erläutert.


Nicht was die Werte "bedeuten" (temp, Helligkeit, Feuchtigkeit, Dünger) -, sondern was sie aussagen.

Ab welchem Moisture soll man giessen bzw. es ist zu trocken?
Ab welchem Fertility soll man düngen ?

Grüße
Jörg

FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

JoWiemann

Zitat von: jnewton957 am 30 Oktober 2016, 12:34:55
Nicht was die Werte "bedeuten" (temp, Helligkeit, Feuchtigkeit, Dünger) -, sondern was sie aussagen.

Ab welchem Moisture soll man giessen bzw. es ist zu trocken?
Ab welchem Fertility soll man düngen ?

Da müssen wir wohl die App befrage. Die soll eine Pflanzendatenbank haben. Habe es allerdings noch nicht ausprobiert.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

jnewton957

Ich habe mal weiter gesurft.

In einigen Foren wird Fertility durch conductivity = Leitfähigkeit ersetzt.

Interessant ist auch handle =0x38 da hier der Batteriestatus drin ist. hex 64 = 100%

Wassermangel ist demnach Moisture < 25

Jörg

FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP