!!!ABGELÖST!!! [74_XiaomiFlowerSens.pm] Xiaomi Flower Monitor

Begonnen von CoolTux, 17 November 2016, 13:25:06

Vorheriges Thema - Nächstes Thema

mumpitzstuff

Wer die China Version auf die aktuelle Firmware bringen möchte und ein Apple Gerät besitzt, kann folgendes machen:

1.) Die Flower Care App installieren (gibts nur als iPhone App!).
2.) FlyVPN installieren.
3.) FlyVPN öffnen und einen chinesischen Server auswählen.
4.) Die Flower Care App öffnen und den Zugriff auf den Standort verweigern!
5.) Jetzt kann nach neuen Geräten gesucht werden und sobald diese eingebunden sind und alle Daten synchronisiert wurden, wird das Upgrade auf die aktuellste Version 2.9.4 angeboten.
6.) Wenn die Sensoren eingebunden sind, braucht man FlyVPN nicht mehr. Man kann dann ganz normal zugreifen.

Unter Android müsste es theoretisch ähnlich gehen.

MadMax-FHEM

Weiß jemand was sich von FW zu FW geändert hat?

Gibt es irgendwo ein ChangeLog??

Danke, 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)

Uwe B.

Habe bei meinen drei chinesischen Geräten erfolgreich die Firmware via Android App updaten können.
Die Vorgehensweise von mumpitzstuff klappte völlig analog.

(In der zunächst probierten App MiHome mit der Lokalisation "China Homeland" wurde als angeblich enthaltene Firmware 1.0.0 angezeigt und behauptet, dass das auch die aktuelle sei.)

Kleine Anmerkungen:

Zitat von: mumpitzstuff am 31 Mai 2017, 23:13:07
Wer die China Version auf die aktuelle Firmware bringen möchte und ein Apple Gerät besitzt, kann folgendes machen:

Auch für Androiden

Zitat von: mumpitzstuff am 31 Mai 2017, 23:13:07
1.) Die Flower Care App installieren (gibts nur als iPhone App!).

Gibt's auch im Google Play Shop. (kostenfrei)

Zitat von: mumpitzstuff am 31 Mai 2017, 23:13:07
2.) FlyVPN installieren.

Auch FlyVPN ist im Google Shop erhältlich.  (kostenfrei)

Zitat von: mumpitzstuff am 31 Mai 2017, 23:13:07
3.) FlyVPN öffnen und einen chinesischen Server auswählen.

Achtung:
Es werden diverse (97) Server aus China angeboten.
Anfangs einige (4) mit zeitlich eingeschränkt kostenfreiem Zugang, der Rest (93) ist komplett kostenpflichtig.
Man fordert zu einer Registrierung für eine 14-Tage freie Nutzung auf, aber:
Für dreimal täglich bis zu 20 min ist es auch ohne Anmeldung/Registrierung nutzbar.
Das sollte eigentlich auch reichen.

Zitat von: mumpitzstuff am 31 Mai 2017, 23:13:07
4.) Die Flower Care App öffnen und den Zugriff auf den Standort verweigern!

Unter Android läuft die App ohne Recht der Standortermittlung nicht weiter zum Scan.
Erteilt man das Recht, stört dies aber auch nicht das spätere Verbinden (bonding) bzw. das Firmware-Update.
Nur weiß dann wahrscheinlich Xiaomi oder wer auch immer , wo mein Smartphone gerade ist...

Zitat von: mumpitzstuff am 31 Mai 2017, 23:13:07
5.) Jetzt kann nach neuen Geräten gesucht werden und sobald diese eingebunden sind und alle Daten synchronisiert wurden, wird das Upgrade auf die aktuellste Version 2.9.4 angeboten.

Das Einbinden war nicht erfolgreich, solange
a) die App MiHome noch mit den Geräten verbunden ist -> ich habe die Geräte in dieser App radikal gelöscht.
b) Auch mußte ich die darus resultierende Kopplung der Geräte mit dem Smartphone (unter "Bluetooth") beenden.

Also diese App (MiHome) besser gar nicht erst verwenden bzw. keine Geräte dort einbinden.

Zitat von: mumpitzstuff am 31 Mai 2017, 23:13:07
6.) Wenn die Sensoren eingebunden sind, braucht man FlyVPN nicht mehr. Man kann dann ganz normal zugreifen.

Auf jeden Fall sollte man mindestens in der App die Verbindung zum chinesischen VPN-Server beenden...
Falls mal noch mehr Geräte dazu kommen sollten, könnte man das ja nochmal brauchen.

Zitat von: mumpitzstuff am 31 Mai 2017, 23:13:07
Unter Android müsste es theoretisch ähnlich gehen.

[Sic!]


Wenn die Geräte erkannt werden, wird ggf. in der Flower Care App gefragt, wie sie eingebunden werden sollen ("temporarily" oder "take over").
"Take over" hilft da weiter.

Als nächstes unbedingt (irgend) eine Pflanze zuordnen.
Bei mehreren Geräten sind unterschiedliche Pflanzen - auch farblich - zur optischen Unterscheidung der Profile hilfreich.

Danach ist "oben rechts" über das Menü ein "Hardware upgrade" wählbar.
Ggf. ein wenig warten, damit die Datensynchronisation fertig wird.

Aktuell ist immer noch 2.9.4
Grüße - Uwe

Lache nie über die Dummheit der anderen. Sie ist deine Chance.

FHEM 5.9 auf Ubuntu Srv 19.04 u. RasPi Zero W Raspbian Stretch; CUNX mit Modulen HM u. slowRF433; RFXtrx433E; FB 7590; FRITZ!DECT 200; Wetter HM WDS100-C6-O OC3; Xiaomi Flower Sense; Broadlink RM Mini u. Pro; EZcontrol XS1

Uwe B.

Zitat von: MadMax-FHEM am 01 Juni 2017, 21:42:11
Weiß jemand was sich von FW zu FW geändert hat?

Gibt es irgendwo ein ChangeLog??

Danke, Joachim

Ich habe einfach mal den Xiaomi Support genau danach gefragt/angemailt.
Mal sehen, was passiert.
Grüße - Uwe

Lache nie über die Dummheit der anderen. Sie ist deine Chance.

FHEM 5.9 auf Ubuntu Srv 19.04 u. RasPi Zero W Raspbian Stretch; CUNX mit Modulen HM u. slowRF433; RFXtrx433E; FB 7590; FRITZ!DECT 200; Wetter HM WDS100-C6-O OC3; Xiaomi Flower Sense; Broadlink RM Mini u. Pro; EZcontrol XS1

MadMax-FHEM

Zitat von: Uwe B. am 02 Juni 2017, 16:16:41
Ich habe einfach mal den Xiaomi Support genau danach gefragt/angemailt.
Mal sehen, was passiert.

Hi Uwe,

das ist ja mal eine verwegen ausgefallene Idee ;)

Danke, 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)

yrwyddfa

Ich möchte das Thema Reichweite gern noch mal aufgreifen und eine Überlegung in den Ring werfen:

Nachdem es ja immer besser möglich ist, alte Smartphones zu hacken und sie via AMAD sehr elegant in Fhem als Displays und kleine Steuerzentralen zu integrieren, wäre es möglich/denkbar/realisierbar, die Sensoren über diesen Weg auslesen zu lassen?
Also Xiaomi ---> AMAD ---> FHEM ?
If every day has its number, Monday would be a zero division.

justme1968

ein einfacher raspberry zero mit bluetooth und wlan tut das gleiche. ganz ohne hack und ohne das etwas neu entwickelt werden muss.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

yrwyddfa

Stimmt, allerdings muss man dafür überall noch mal einen weiteren pi aufstellen - mit belegter Stromdose und etwas niedrigerem WAF. Ältere Handys sind da einfacher zu haben, reduzieren den Elektroschrott und lassen sich vielfältig nutzen.
If every day has its number, Monday would be a zero division.

justme1968

und wie bekommen die handys die man dafür überall aufstellen müsste strom?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

yrwyddfa

Nun, bei mir z.B. sind sie schon vorhanden. Ich nutze sie als kleine Steuerdisplays, um im jeweiligen Raum z.B. auf Musik zuzugreifen, fhem zu steuern etc. So ersetzen sie z.B. schon das Küchenradio.
Sprich: sie dienen in erster Linie als Wand-Displays, lassen sich aber für noch viel mehr einsetzen (was CoolTux ja sehr eindrucksvoll schon gezeigt hat).
Klar, man könnte nun anstatt des Handys überall einen Pi Plus Touchscreen kaufen. Das ginge natürlich auch.
If every day has its number, Monday would be a zero division.

justme1968

wenn die dinger sowieso schon an der wand hängen ist das natürlich etwas anderes :)
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

yrwyddfa

Stimmt. Wenn man sich etwas neu anschaffen müsste wäre es natürlich auch quatsch sich ein Handy für Minimum 100€ zu hohlen, da ist selbst Pi mit touch fast billiger :)

Derzeit hab ich aber beim rumtesten und debuggen anderer Dinge Logeinträge gefunden, die ich mir nicht so recht erklären kann. entweder bin ich zu doof für's DOIF (was möglich ist) oder aber die Values werden nicht ganz so übertragen wie ich es dachte.

Ich wollte über Fhem eine Warnung an mein Handy absetzen, wenn die Pflanzen Wassern / Dünger brauchen.

Hierfür habe ich derzeit noch den TelegramBot (will das ganze aber irgendwann gern via Sprachausgabe haben, aber eines nach dem anderen).

Mein Lists von dem Sensor:


Internals:
   BTMAC      C4:7C:8D:64:36:6D
   DEF        C4:7C:8D:64:36:6D
   INTERVAL   21600
   NAME       Blumenkasten
   NR         318
   STATE      active
   TYPE       XiaomiFlowerSens
   VERSION    1.0.1
   Readings:
     2017-06-05 17:42:12   battery         ok
     2017-06-05 17:42:12   batteryLevel    91
     2017-06-05 17:42:12   fertility       66
     2017-06-05 17:42:12   firmware        2.9.4
     2017-06-04 17:51:56   lastGattError   Unknown Error, look at verbose 5 output
     2017-06-05 17:42:12   lux             3443
     2017-06-05 17:42:12   moisture        20
     2017-06-05 17:42:12   state           active
     2017-06-05 17:42:12   temperature     21.6
   Helper:
Attributes:
   interval   21600
   maxFertility 2000
   maxMoisture 60
   minFertility 350
   minMoisture 15
   room       Außen,xAktoren,xSarah


und hier die DEF meines doif:



([Blumenkasten:moisture] < [Blumenkasten:minMoisture])
                                      (set SarahSends message Ich habe vom Blumenkasten eine Nachricht erhalten. Sein Wasserstand ist niedrig, bitte gieße ihn bald.)
                                 DOELSEIF ([Blumenkasten:fertility] < [Blumenkasten:minFertility])
                                      (set SarahSends message Der Blumenkasten hat mich gebeten, Bescheid zu geben, dass er wenig Nährstoffe hat. Er könnte etwas Dünger vertragen.)
                                 DOELSE


Im Log erscheint nun diesen hier (sehr häufig, da muss ich aber das DOIF noch etwas eindämmen):


2017.06.03 14:42:35 1: PERL WARNING: Argument "" isn't numeric in numeric lt (<) at (eval 456084) line 1.
2017.06.03 14:42:35 3: eval: doif_blumenkasten_warning: warning in condition c01


So wie ich es sehe, sind doch alle angegebenen Werte numerisch, oder nicht?

Jemand eine Idee was ich falsch mache?

Vielen Dank schon mal :)
If every day has its number, Monday would be a zero division.

CoolTux


Internals:
   CFGFN
   DEF        Dracaena.minMoisture.low { indoorMessage("Warnung! Die Dracaena Pflanze braucht Wasser") }
   NAME       notifyDracaenaLowWarn
   NR         522
   NTFY_ORDER 50-notifyDracaenaLowWarn
   REGEXP     Dracaena.minMoisture.low
   STATE      active
   TYPE       notify
   Readings:
     2017-06-03 16:16:23   state           active
Attributes:


Einfach auf das Event triggern. In der Commandref steht es gut beschrieben.
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

yrwyddfa

Ah ok, Danke. Das habe ich so nicht aus der Ref rausgelesen, aber es funktioniert einwandfrei.

Danke für Deine Hilfe (auch von meinen Blumen ; ) )
If every day has its number, Monday would be a zero division.

ToM_ToM

Hey, hat zufällig schon jemand eine Lösung gebastelt um den Düngergehalt korrekt zu berechnen?
Akutell ist es ja so, ich dünge und gieße meine Pflanze und bekomme dann bei Dünger den Wert 1600 angezeigt, Feuchtigkeit 80%.
Jetzt durstet meine Pflanze einige Wochen vor sich hin bis die Feuchtigkeit bei 10% liegt. Dünger ist nun bei 400 und somit zu niedrig.
Sobald ich der Pflanze jetzt wieder Wasser gebe, steigt nicht nur die Feuchtigkeit wieder auf 80%, sonern auch Dünger geht wieder hoch auf 1200.

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8