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

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

Vorheriges Thema - Nächstes Thema

Jiggi

Ja ich habe ein firmware Reading, der Sensor hatte mal die 2.6.2 drauf, dann kam aber mein schneller "Update-Finger" und seitdem ist das reading nicht mehr aktualisiert worden, deshalb steht da immer noch 2.6.2.

ZitatInternals:
   BTMAC      X
   CHANGED
   DEF        X
   INTERVAL   900
   NAME       Reserve1
   NR         1138
   STATE      charWrite faild
   TYPE       XiaomiFlowerSens
   VERSION    0.6.8pre3
   Readings:
     2017-02-04 16:54:51   battery         ok
     2017-02-04 16:54:51   batteryLevel    100
     2017-02-04 16:54:51   fertility       34
     2017-02-04 16:54:51   firmware        2.6.2
     2017-02-13 17:38:22   lastGattError   Unknown Error, look at verbose 5 output
     2017-02-04 16:54:51   lux             45
     2017-02-04 16:54:51   moisture        31
     2017-02-13 18:38:39   state           charWrite faild
     2017-02-04 16:54:51   temperature     22.1
   Helper:
Attributes:
   group      XiaomiFlowerSens
   hciDevice  hci1
   interval   900
   room       FlowerSens,Wohnzimmer
   verbose    5
raspbian fhem RPi3 Stretch: MAX!, Conbee, RFXCOM, Harmony Hub, Alexa, TelegramBot, nuki, Maverick ET732, Intertechno, Fritz!DECT, Xiaomi Aqara, Sonoff, Roborock S50,

CoolTux

Ok da habe ich Dich falsch verstanden. Ich dachte Du hast > 2.6.2, weil ich das ja die ganze Zeit gefragt habe wer testen kann der größer 2.6.2 hat
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

Was ich nicht verstehe ist das hier

aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00


Typisches Telegramm für Firmware > 2.6.2
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

Jiggi

Ich habe auf dem Reserver1 definitiv die 2.6.8 drauf, das wird mir in der Xiaomi app angezeigt.
Seit dem Update auf 2.6.8 werden aber nur noch die readings lastGattError und state aktualisiert, alle anderen readings sind die letzten Werte vor dem Update der FW.
raspbian fhem RPi3 Stretch: MAX!, Conbee, RFXCOM, Harmony Hub, Alexa, TelegramBot, nuki, Maverick ET732, Intertechno, Fritz!DECT, Xiaomi Aqara, Sonoff, Roborock S50,

CoolTux

Ok wieso das so ist kann ich nach vollziehen. Mach mal folgendes


setreading $DEVICENAME firmware 2.6.8


Und dann statusRequest
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

Jiggi

#350
Ich habe das Device nun einfach mal gelöscht und neu angelegt und was soll ich sagen  ::)

Internals:
   BTMAC       
   CFGFN
   DEF       
   INTERVAL   300
   NAME       Reserve_Neu
   NR         4670
   STATE      active
   TYPE       XiaomiFlowerSens
   VERSION    0.6.8pre3
   Readings:
     2017-02-13 18:59:41   battery         ok
     2017-02-13 18:59:41   batteryLevel    97
     2017-02-13 18:59:41   fertility       765
     2017-02-13 18:59:41   firmware        2.8.6
     2017-02-13 18:59:41   lux             53
     2017-02-13 18:59:41   moisture        66
     2017-02-13 18:59:41   state           active
     2017-02-13 18:59:41   temperature     22.6
   Helper:
Attributes:
   room       FlowerSens


Nun funktioniert es.
Danke CoolTux

Habe das mit dem setreading $DEVICENAME firmware 2.6.8 eben aber auch noch einmal an einem anderen Sensor ausprobiert und das hat ebenfalls geholfen
raspbian fhem RPi3 Stretch: MAX!, Conbee, RFXCOM, Harmony Hub, Alexa, TelegramBot, nuki, Maverick ET732, Intertechno, Fritz!DECT, Xiaomi Aqara, Sonoff, Roborock S50,

CoolTux

Kein Problem. Ich habe zu Danken. Du hast nämlich ein grundlegendes Problem aufgetan. Ich muß mir da noch was einfallen lassen  ;D
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

Ich habe es mir einfach gemacht. Es gibt nun ein weiteren set Befehl


set DEVICE clearFirmwareReading


Damit kann man quasi nullen und alles von vorne einlesen lassen. Nun sollte es zufriedenstellend funktionieren
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

FrankieSOC

Hallo CoolTux,

wegen Xiaomi und dir habe ich mit fhem angefangen. Nutzte aktuell noch für den Rest eine Lösung von Qivicon werde aber nach und nach alles umstellen. Danke und ein großes Lob an dich ;)

Bei mir läuft es jetzt seit Wochen trotz der vielen Updates sehr stabil mit meiner Pflanzenüberwachung.
Was ich leider noch nicht hinbekommen habe, ist das mir fhem eine E-Mail senden schickt, wenn die Pflanze zu trocken ist.
Das soll die Vorbereitung auf eine Bewässerung sein.
so habe ich es probiert
define check at +*00:10:00 IF ([pflanze2:moisture] < 15) (DebianMail('meinemailadresse','Pflanze2 gießen'))
2017.02.13 23:51:19 3: DebianMail('meinemailadresse'com' : Unknown command DebianMail('meinemailadresse', try help.
2017.02.13 23:51:19 3: 'Pflanze2 gießen') : Unknown command 'Pflanze2, try help.
2017.02.13 23:51:19 3: check: Unknown command 'Pflanze2, try help.
Wenn ich eine Testemail sende klappt es mit DebianMail, also ist am Raspberry alles richtig eingestellt

Was aktuell am Raspberry nervt, dass er zum Starten einen Bildschirm benötigt, sonst klappt Bluetooth LE nicht.

Vielen Dank und weiter so.
Frank

CoolTux

Zitat von: FrankieSOC am 13 Februar 2017, 23:57:17
define check at +*00:10:00 IF ([pflanze2:moisture] < 15) (DebianMail('meinemailadresse','Pflanze2 gießen'))
2017.02.13 23:51:19 3: DebianMail('meinemailadresse'com' : Unknown command DebianMail('meinemailadresse', try help.
2017.02.13 23:51:19 3: 'Pflanze2 gießen') : Unknown command 'Pflanze2, try help.
2017.02.13 23:51:19 3: check: Unknown command 'Pflanze2, try help.

Hallo Frank,

Vielen Dank für Dein Lob. Und ein noch viel größeres Lob an Dich und Dein Mut von Qivicon weg zu FHEM. Es war auf jeden Fall der richtige Schritt.
Dein Code kann so nicht gehen. Ich gehe davon aus das Du DebianMail angelegt hast? DebianMail sollte eine Funktion in einer 99_myUtils.pm sein.

Siehe https://wiki.fhem.de/wiki/E-Mail_senden zu Raspberry Pi

In FHEM musst Du zwischen FHEM Befehlen und FHEM Funktionen unterscheiden. Funktionen werden immer innerhalb von { } aufgerufen. FHEM Befehle werden ohne die Klammern aufgerufen


define check at +*00:10:00 {  if( ReadingsVal('pflanze2', 'moisture', 12) < 15) { DebianMail('meinemailadresse','Pflanze2 gießen' } }

Hier würdest Du aber immer und immer wieder eine Mail bekomme so lange moisture < 15 ist.



Grüße
Leon
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

dieda

Eine Frage:

Funktioniert der Sensor auch, wenn Lepresenced aktiv ist oder braucht es einen weiteren Dongle?
Komponenten:
Sensoren und Aktoren: FS20, Max!, Zigbee, Zwave
IODev:  Cul1101, MaxLan, ZWAVE, Deconz
Router: KD-Fritte (6360)
Sonstiges: Raspberries,  1x LMS,1 FHEM, 1 x zum Testen,  Logitech-Clients,  Onkyo, SamsungTV, Squeezebox, TabletUIs

CoolTux

Zitat von: dieda am 14 Februar 2017, 20:56:22
Eine Frage:

Funktioniert der Sensor auch, wenn Lepresenced aktiv ist oder braucht es einen weiteren Dongle?

Der Sensor sollte gehen, aber lepresenced nicht. Lieber zweiten Dongle nehmen.
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

FrankieSOC

Hallo Leon,

mich hatte schon oft gestört, dass man nicht einfache logische Abläufe einstellen konnte und nicht alle Sensoren als Impulsgeber nutzen konnte.

In 99_myUtils.pm hatte ich DebianMail eingerichte, aber die IF Funktion anders gedeutet https://fhem.de/commandref_DE.html#IF
Den Unterschied zwischen IF und in habe ich aber noch nicht ganz raus  ;)

Mit deinem Befehl hatte leider diese Fehlermeldung erhalten
2017.02.14 23:47:25 1: ERROR evaluating {  if( ReadingsVal('pflanze2', 'moisture', 12) < 20) { DebianMail('meinemailadresse'','Pflanze2 gießen' } }: syntax error at (eval 107) line 1, at EOF
2017.02.14 23:47:25 3: check: syntax error at (eval 107) line 1, at EOF

So habe ich es jetzt hinbekommen
define check at +*00:10:00 IF ([pflanze2:moisture] < 15) ({DebianMail('meinemailadresse','Pflanze2 gießen')})

Die E-Mail Nachricht ist nur ein Test, im nächsten Schritt soll dann eine Pumpe eingeschaltet werden. (Urlaubsbewässerung)

Wie geschrieben funktioniert alles super, unsicher bin ich mir nur bei den Battery Level: Beide Module laufen seit ca. 6 Wochen, Modul 1 zeigt an 95 und Modul 2 100.
Kann das stimmen?

Nochmals vielen Dank und Grüße

Frank

mumpitzstuff

Hinter meinemailadresse hast du ein doppeltes hochkomma, davor aber nur ein einzelnes verwendet. Sollte beides gleich sein.

CoolTux

Zitat von: FrankieSOC am 15 Februar 2017, 00:11:48
Hallo Leon,

mich hatte schon oft gestört, dass man nicht einfache logische Abläufe einstellen konnte und nicht alle Sensoren als Impulsgeber nutzen konnte.

In 99_myUtils.pm hatte ich DebianMail eingerichte, aber die IF Funktion anders gedeutet https://fhem.de/commandref_DE.html#IF
Den Unterschied zwischen IF und in habe ich aber noch nicht ganz raus  ;)

Mit deinem Befehl hatte leider diese Fehlermeldung erhalten
2017.02.14 23:47:25 1: ERROR evaluating {  if( ReadingsVal('pflanze2', 'moisture', 12) < 20) { DebianMail('meinemailadresse'','Pflanze2 gießen' } }: syntax error at (eval 107) line 1, at EOF
2017.02.14 23:47:25 3: check: syntax error at (eval 107) line 1, at EOF

So habe ich es jetzt hinbekommen
define check at +*00:10:00 IF ([pflanze2:moisture] < 15) ({DebianMail('meinemailadresse','Pflanze2 gießen')})

Die E-Mail Nachricht ist nur ein Test, im nächsten Schritt soll dann eine Pumpe eingeschaltet werden. (Urlaubsbewässerung)

Wie geschrieben funktioniert alles super, unsicher bin ich mir nur bei den Battery Level: Beide Module laufen seit ca. 6 Wochen, Modul 1 zeigt an 95 und Modul 2 100.
Kann das stimmen?

Nochmals vielen Dank und Grüße

Frank

Hallo Frank,

Super das es nun läuft. Bei meinem Beispiel hatte leider am Ende vor den 2 geschweiften Klammern eine runde Klammer gefehlt. Sorry hatte ich nicht aufgepasst. Ansonsten hätte es auch geklappt.

Kurz noch mal erwähnt. Es gibt ein Modul in FHEM das nennt sich IF und kann als Fhem Befehl verwenden der werden. Daher geht das ohne in gescbweifte Klammern zu stehen. Naja und dann halt das Perl if, das muss immer in gescbweiften Klammern stehen.


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