Das Modul wurde gegen ein universelles abgelöst.
https://forum.fhem.de/index.php/topic,82572.0.htmlDa das Modul nun mittlerweile so fortgeschritten ist, wollte ich dafür gerne einen eignen Threead auf machen.
Hier ein Auszug aus dem alten Thread, worum es eigentlich geht.
Ein großer Dank geht an fh168 und ZnarfMe für die Spende eines Xiaomi Flower Monitors zum testen!Zitat
wollte hier nur mal kurz einen weiteren Bluetooth 4.1 BLE Pflanzensensor (ca. 12 Euro) vorstellen, den ich ans fhem (Raspberry) angebunden habe. Bisher läuft alles einwandfrei. Mir gefällt besonders, dass man sich nirgends anmelden oder registrieren muss, um die Werte auslesen zu können.
http://xiaomi-mi.com/mi-smart-home/xiaomi-huahuacacao-flower-care-smart-monitor/
Der Sensor liefert folgende Werte:
- Temperatur
- Feuchtigkeit
- Licht
- Dünger
Das Modul gibt es nun offiziell über FHEM update. Hier (https://wiki.fhem.de/wiki/XiaomiFlowerSens) geht es zum WikiartikelVoraussetzung zum betrieb des Modules ist JSON sowie gatttool aus dem bluez Packet.
Grüße
Leon
Dann mache ich mal den Anfang ;)
Leider lädt mein Modul nicht.
Modul Version "$version = "0.1.59";"
Fehler:
2016.11.17 14:27:22 1: reload: Error:Modul 74_XiaomiFlowerSens deactivated:
syntax error at /opt/fhem/FHEM/74_XiaomiFlowerSens.pm line 324, near "; ="
2016.11.17 14:27:22 0: syntax error at /opt/fhem/FHEM/74_XiaomiFlowerSens.pm line 324, near "; ="
Kann nur raten. Hast Du JSON installiert?
Alles installiert. Habe die Dateien aus Git gerade neu geladen.
Nun funktioniert es...
Interessant. Supi. Na dann viel Spaß mit dem Modul und den Sensoren.
Grüße
Danke. Wird ja mit deinem Modulen immer einfacher ;)
Zitat von: mi.ke am 17 November 2016, 11:01:52
Hallo Leon.
Die Version 0.1.59 läuft im Test seit heute morgen mit fünf Sensoren und einem intervall von 600 stabil mit nur zwei Aussetzern.
Muss jetzt auf Arbeit...von dem her stelle ich den Interval jetzt wieder hoch sonst sind morgen früh die Batterien leer 8)
Loge aber weiter mit und berichte dann.
Cheers
Moin.
Alle Logs durchgeschaut.
Keine Vorkommnisse.
Soll ich weiterlaufen lassen, wenn nicht, würde ich die Loggröße wieder verringern?
Cheers
mi.ke
Neuer Tag, neue Erkenntnis ;)
Wie es scheint, läuft leprecenced und 74_XiaomiFlowerSens.pm nicht parallel.
Für meine Tests und das ermitteln der MAC hatte ich lepresenced gestoppt.
Nach einem Neustart meines NUC aktualisiert nun der Xiaomi nicht mehr:
2016.11.18 09:21:16 5: Sub XiaomiFlowerSens (Avocado) - Request Timer wird aufgerufen
2016.11.18 09:21:16 4: Sub XiaomiFlowerSens (Avocado) - Starte Blocking Call
2016.11.18 09:21:16 4: Sub XiaomiFlowerSens_Run (Avocado) - Running nonBlocking
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
(Sub XiaomiFlowerSens_Run) - gatttool noch aktiv, wait 0.5s for new check
2016.11.18 09:21:31 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 15785
2016.11.18 09:21:31 3: (Avocado) - The BlockingCall Process terminated unexpectedly. Timedout
Hallo Olli,
Ja das ist korrekt. Zum jetzigen Zeitpunkt ist ein Zusammenspiel von hcitool (lepresence) und dem gatttool nicht möglich. Dies wird aber in baldiger Zeit möglich sein. Hierfür wird aktuell an einem Bluetooth Framework gearbeitet. Alle Module die Bluetooth ansprechen sollten dann mit dem Framework laufen.
Grüße
Schade. Dann wird die Pflanze erstmal manuell überwacht ;)
Nabend,
ich habe es jetzt mal einige Zeit mit verbose 5 auf meinen Testsystem laufen lassen, dabei erhalte ich ab und zu folgenden Eintrag im Log:
2016.11.18 16:01:52 5: Sub XiaomiFlowerSens (Blume1) - Request Timer wird aufgerufen
2016.11.18 16:01:52 4: Sub XiaomiFlowerSens (Blume1) - Starte Blocking Call
2016.11.18 16:01:52 4: Sub XiaomiFlowerSens_Run (Blume1) - Running nonBlocking
connect error: Function not implemented (38)
2016.11.18 16:01:55 4: Sub XiaomiFlowerSens_Run (Blume1) - Rückgabe an Auswertungsprogramm beginnt
Internals:
BTMAC C4:7C:8D:61:5F:89
DEF C4:7C:8D:61:5F:89
INTERVAL 3600
NAME Blume1
NR 48
STATE active
TYPE XiaomiFlowerSens
VERSION 0.1.56
Helper:
Dblog:
Battery:
Mydblog:
TIME 1479494608.66143
VALUE 100
Fertility:
Mydblog:
TIME 1479494608.66143
VALUE 0
Firmware:
Mydblog:
TIME 1479494608.66143
VALUE 2.6.2
Lux:
Mydblog:
TIME 1479494608.66143
VALUE 6
Moisture:
Mydblog:
TIME 1479494608.66143
VALUE 0
State:
Mydblog:
TIME 1479494608.66143
VALUE active
Temperature:
Mydblog:
TIME 1479494608.66143
VALUE 25
Readings:
2016-11-18 19:43:28 battery 100
2016-11-18 19:43:28 fertility 0
2016-11-18 19:43:28 firmware 2.6.2
2016-11-18 19:43:28 lux 6
2016-11-18 19:43:28 moisture 0
2016-11-18 19:43:28 state active
2016-11-18 19:43:28 temperature 25
Helper:
Attributes:
room FlowerSens
verbose 5
Dabei irritiert mich die vierte Zeile vom Log etwas.
Auch das ist ok. Manchmal bekommt das gatttool keine korrekte Antwort und meldet dann diesen Fehler. Es kann sein das der Sensor zu der Zeit nicht erreichbar war.
Wie wird das dann funktionieren mit den Bluetooth Framework plane dieses modul zu nutzen aber
verwende auch leresenced.
Ziel wird es sein das sämtliche Bluetooth Module das Framework verwenden. Das erkennen eines BTLE Devices als presence wird das Framework komplett machen, in Verbindung mit dem presence Modul. lepresence wird dann nicht mehr benötigt.
Hierbei geht es ja nicht nur rein um presence oder das Flowermodul. Das Framework gibt uns viele viele weitere Möglichkeiten gerade auch im Bereich Autoerkennung von Standardservices. Zum Beispiel BT Personenwaagen als auch Rückkanal Fähigkeiten über BTLE Notification.
Kannst Du mir mal vielleicht noch einen Tip geben, wie ich die Flower Mates nun in FHEM integrieren kann.
Gerade weiß ich keinen Rat mehr. Die Verbindung über die Console mit dem gatttool funktioniert. Bei FHEM bekomme ich immer
einen TimeOut mit Error 112. Fehlt es vielleicht an Rechten über FHEM? JSON ist ebenfalls installiert.
Hab jetzt aktuell die Version 1.59 geladen.
Rufe bitte einmal mit. Gatttool in der Shell auf und danach gibst du mir ein list vom fhem Device und ein Log Auszug nach einem statusRequest.
Du bekommst aber definitiv Werte wenn du ein gatttool Aufruf in der Shell machst?
Hi,
super, was sich so alles in den letzten Wochen in Sachen Xiaomi Pflanzen Sensor getan hat (habe das während meines 3 wöchigen Auslandsaufenthalts bei WLAN Verfügbarkeit interessiert verfolgt).
Das Modul ist ja wirklich schon sehr ausgereift (sogar mit Batterie - Level :-)) - ich wollte auch fast schon mein Skript durch das neue Modul ersetzen, bis ich gelesen habe, dass das Modul und lepresence nicht parallel funktionieren.. Wieso geht das denn via Skript (ich habe aktuell lepresence und Pflanzen-Skript auf einem Raspberry laufen) aber mit Modul nicht?
Viele Grüße
stoxx
Auch mit Skript wird es Probleme geben. Es kommt immer drauf an wann die beiden zusammentreffen. hcitool ,was lepresenced verwendet, und gatttool blockieren sich im einfachen Aufruf gegenseitig. Das Framework. Wird dafür sorgen das hcitool nach einem gatttool Aufruf wieder gestartet wird.
Oder man lässt lepresenced und gatttool über zwei verschiedene Bluetooth Dongles laufen, so wie ich .. Darum klappts bei mir wohl so zuverlässig :)
Richtig. So geht es auch. Ich mache es auf einem zweiten Pi mit FHEM2FHEM.
ZitatRichtig. So geht es auch.
Kann ich im Modul festlegen, ob ich hci0 oder hci1 ansteuern möchte?
Nein im Moment nicht. In Hinblick auf die Zukunft ist es auch nicht nötig. Aber ich denke bis dahin werde ich es wohl doch die Tage einbauen. Danke für den Hinweis.
Ich habe soeben eine neue Version hochgeladen. Man kann nun ein entsprechendes HCI Device über Attribut hciDevice auswählen.
Achtung der Downloadlink hat sich geändert da ich nun eine stabile Version 0.2.0 daraus gemacht habe.
Näheres im ersten Post.
Wow, super - werde das gleich mal bei einem meiner Sensoren ausprobieren - gibt es auch ein disabledForIntervals Attribut? Ich lasse die Abfragen per Skript nämlich nur dann laufen, wenn es sinnvoll ist (wegen Batterie..) , also tagsüber.
Weiter so!
Viele Grüße
stoxx
Bis jetzt noch nicht. Kann ich mir aber gerne mal anschauen. Habe schon in einigen Modulen davon gelesen.
Zitat von: CoolTux am 20 November 2016, 18:38:51
Rufe bitte einmal mit. Gatttool in der Shell auf und danach gibst du mir ein list vom fhem Device und ein Log Auszug nach einem statusRequest.
Du bekommst aber definitiv Werte wenn du ein gatttool Aufruf in der Shell machst?
So hat jetzt leider ein bisschen gedauert:
Hier die Ausgaben über die Shell:
$ sudo hcitool lescan
LE Scan ...
C4:7C:8D:61:9C:C8 (unknown)
C4:7C:8D:61:9C:C8 Flower mate
C4:7C:8D:61:93:60 (unknown)
C4:7C:8D:61:93:60 Flower mate
C4:7C:8D:61:9C:C8 (unknown)
C4:7C:8D:61:9C:C8 Flower mate
c4:7c:8d:61:9c:c8][LE]> connect
Attempting to connect to c4:7c:8d:61:9c:c8
Connection successful
[c4:7c:8d:61:9c:c8][LE]> char-read-hnd 0x038
Characteristic value/descriptor: 64 10 32 2e 36 2e 32
Notification handle = 0x0021 value: 00
Notification handle = 0x0021 value: 00
[c4:7c:8d:61:9c:c8][LE]> char-read-hnd 0x035
Characteristic value/descriptor: c4 00 00 09 00 00 00 00 05 00 00 00 00 00 00 00
Notification handle = 0x0021 value: 00
Und hier der List nach einen statusRequest:
Internals:
BTMAC C4:7C:8D:61:9C:C8
DEF C4:7C:8D:61:9C:C8
INTERVAL 3600
NAME FM_Zitronenbaum
NR 429
STATE unreachable
TYPE XiaomiFlowerSens
VERSION 0.1.59
Readings:
2016-11-23 20:11:10 state unreachable
Helper:
Attributes:
room FlowerSens
verbose 5
Und hier der Log-Auszug:
2016.11.23 20:11:00 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.23 20:11:00 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
Host is down (112)
Host is down (112)
2016.11.23 20:11:10 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
Danach kommst nichts mehr.
Da sieht man nicht viel. Aber in der Konsole bist du dann wieder abgemeldet? Es läuft kein scan oder gatttool?
Vielleicht lief das gatttool noch, habs aber eben nochmals ein statusRequest und ein list gemacht. Sieht alles genaus so aus
wie oben auch.
Mach mal ein ps ax | grep gatttool
Und ein ps ax | grep hci
@all
Ich habe eine neue Version eingecheckt. Bekommt Ihr über den Link im ersten Post.
Neu hinzugekommen: disabledForTimer
Viel Spaß
Zitat von: CoolTux am 24 November 2016, 22:40:42Ich habe eine neue Version eingecheckt. Bekommt Ihr über den Link im ersten Post.
Danke fürs fleißige Entwickeln :)
Ich wollte mich erkundigen ob du dir die FHEM Update Funktion schon anschauen konntest (ich hatte im vorigen Thread gefragt)?
Sagen wir mal so ich kenne die Rahmenbedingungen und kann sicherlich auch Recht fix schauen wie man es ein baut. Im Moment habe ich aber nicht wirklich die Zeit.
Ich habe es notiert und wie Rudi immer so schön zu sagen pflegt, "Es liegt auf meinem ToDo Stapel" ;D
Konnte die neue Version schon mal getestet werden. Interessant für mich ist das disabledForTimer und natürlich die Auswahl des hxi Devices
ZitatKonnte die neue Version schon mal getestet werden. Interessant für mich ist das disabledForTimer und natürlich die Auswahl des hxi Devices
Ich werde das Modul am Sonntag testen - mit dem Attribut disabledForTimer ist das Modul perfekt.
vg stoxx
Danke für die Antwort bezüglich des Updatemechanismus.
Die aktuelle Version(0.2.1) bringt bei mir leider folgenden Fehler:
2016.11.25 21:07:43 1: reload: Error:Modul 74_XiaomiFlowerSens deactivated:
syntax error at ./FHEM/74_XiaomiFlowerSens.pm line 206, near ");"
2016.11.25 21:07:43 0: syntax error at ./FHEM/74_XiaomiFlowerSens.pm line 206, near ");"
Habe ich gefixt. Danke. Bitte noch mal testen Version 0.2.2
FHEM hängt sobald das Modul geladen wird, der letzte Logeintrag (mit verbose 5 für das Modul) ist:
2016.11.25 22:37:28 3: XiaomiFlowerSens (Blume1) - defined with BTMAC C4:7C:8D:61:5F:89
Das ist seltsam. Bei mir funktioniert es auf meinem Testsystem.
FHEM und Raspbian sind am aktuellen Patchstand.
hcitool lescan
Zeigt den Flower Sensor an
Ich habe gerade wieder die Version 0.2.0 eingespielt, diese funktioniert ohne Probleme.
Wie könnte ich bei der Fehlersuche behilflich sein?
Wäre schön wenn noch jemand testen könnte. Wenn da auch das Problem besteht muss ich mir was einfallen lassen.
Bei mir war es schlimmer. Ich konnte auf den Pi nicht mehr zugreifen. Ich habe Pi3 mit deaktiviertem WLAN. Nur Blue ist aktiv und LAN.
Ich habe die Karte am PC mounten müssen, um Xiaomi zu löschen. Nun gehts wieder.
Liest sich schnell, ging aber alles sehr langsam. :-)
Ok. Sorry Jungs. Dann mal Dinger weg von der Version.
Schaue ich mir im Laufe des Tages an.
Auf Github findet sich nun wieder Version 0.2.0
@Pyromane
Würdest Du Dich als Testkandidat bereit stellen? Mein Problem ist das ich mir nicht erklären kann was da passiert ist. Daher würde ich Dich bitten die angehängte Version ein zu spielen. Im Grunde ist es genau die selbe Version die nicht geklappt hat bei Dir nur mit unendlich vielen Debugausgaben.
Grüße
Zitat von: CoolTux am 24 November 2016, 21:02:17
Mach mal ein ps ax | grep gatttool
Und ein ps ax | grep hci
Hab ich gemacht:
pi@raspberrypi ~ $ ps ax | grep gatttool
3487 pts/0 S+ 0:00 grep --color=auto gatttool
pi@raspberrypi ~ $ ps ax | grep hci
3385 ? S< 0:00 [hci0]
3386 ? S< 0:00 [hci0]
3489 pts/0 S+ 0:00 grep --color=auto hci
pi@raspberrypi ~ $
So und gestern hab ich meine Arduino geflashed und eingebunden. Das das mit dem programmieren erst nicht so geklappt hat, hab
ich fhem runtergefahren und später aber über die console mit sudo/etc/init.d/fhem start wieder gestartet. Heute morgen mal zufällig
auf die Sensoren geschaut und hab tatsächlich aktuelle Werte bekommen.
Dann dachte ich, ok teste ich mal, ob es ein Rechte-Problem ist, hab ein restart von raspi gemacht. Danach keine Werte mehr bekommen.
Dann shutdown von fhem und über die console wieder gestartet. Leider keine neuen Werte mehr.
Und wenn Du jetzt ein statusRequest machst bekommst auch keine neuen Werte? Wie sah die Meldung im Log aus bei Deinen Versuchen?
Hier mal das log von heute Nacht:
2016.11.26 01:00:47 5: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Request Timer wird aufgerufen
2016.11.26 01:00:47 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.26 01:00:47 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
2016.11.26 01:01:02 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 3363
2016.11.26 01:01:02 3: (FM_Zitronenbaum) - The BlockingCall Process terminated unexpectedly. Timedout
Characteristic value/descriptor read failed: A timeout occured
2016.11.26 02:01:49 5: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Request Timer wird aufgerufen
2016.11.26 02:01:49 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.26 02:01:49 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
2016.11.26 02:01:50 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
2016.11.26 02:01:50 4: Sub XiaomiFlowerSens_Done (FM_Zitronenbaum) - Abschluss!
2016.11.26 03:05:35 5: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Request Timer wird aufgerufen
2016.11.26 03:05:35 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.26 03:05:35 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
2016.11.26 03:05:41 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
2016.11.26 03:05:41 4: Sub XiaomiFlowerSens_Done (FM_Zitronenbaum) - Abschluss!
2016.11.26 04:05:53 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 4864
2016.11.26 04:05:53 3: (FM_Olivenbaum) - The BlockingCall Process terminated unexpectedly. Timedout
Characteristic value/descriptor read failed: A timeout occured
2016.11.26 04:09:11 5: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Request Timer wird aufgerufen
2016.11.26 04:09:11 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.26 04:09:11 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
2016.11.26 04:09:14 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
2016.11.26 04:09:14 4: Sub XiaomiFlowerSens_Done (FM_Zitronenbaum) - Abschluss!
2016.11.26 05:10:30 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 5393
2016.11.26 05:10:30 3: (FM_Olivenbaum) - The BlockingCall Process terminated unexpectedly. Timedout
Characteristic value/descriptor read failed: A timeout occured
2016.11.26 05:13:44 5: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Request Timer wird aufgerufen
2016.11.26 05:13:44 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.26 05:13:44 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
2016.11.26 05:13:45 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
2016.11.26 05:13:45 4: Sub XiaomiFlowerSens_Done (FM_Zitronenbaum) - Abschluss!
Dann um 8:00 Uhr:
Zitat
2016.11.26 08:01:27 5: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Request Timer wird aufgerufen
2016.11.26 08:01:27 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.26 08:01:27 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
2016.11.26 08:01:28 3: CUL_HM set Jal_WohnzEck1_Up statusRequest
2016.11.26 08:01:28 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
2016.11.26 08:01:28 4: Sub XiaomiFlowerSens_Done (FM_Zitronenbaum) - Abschluss!
Und dann nach dem shutdown. Hab jetzt mal alles kopiert, damit ich nichts versehentlich wichtiges weg lasse. Hoffe es ist
nicht zu unübersichtlich:
2016.11.26 08:06:17 0: Server shutdown
2016.11.26 08:06:35 1: Including fhem.cfg
2016.11.26 08:06:35 1: HMLAN_Parse: HMLAN1 new condition disconnected
2016.11.26 08:06:35 3: Opening HMLAN1 device JEQ0706369:1000
2016.11.26 08:06:35 1: HMLAN_Parse: HMLAN1 new condition init
2016.11.26 08:06:35 3: HMLAN1 device opened
2016.11.26 08:06:35 3: telnetPort: port 7072 opened
2016.11.26 08:06:36 3: WEB: port 8083 opened
2016.11.26 08:06:36 3: WEBphone: port 8084 opened
2016.11.26 08:06:36 3: WEBtablet: port 8085 opened
2016.11.26 08:06:36 2: eventTypes: loaded 1464 events from ./log/eventTypes.txt
2016.11.26 08:06:37 1: PERL WARNING: main::OBIS_decodeTL() called too early to check prototype at ./FHEM/47_OBIS.pm line 750, <$fh> line 78.
2016.11.26 08:06:37 3: Opening Hausstrom device /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00F2FBBC-if00-port0
2016.11.26 08:06:37 3: Setting Hausstrom serial parameters to 9600,8,E,1
2016.11.26 08:06:37 3: Init done
2016.11.26 08:06:37 3: Hausstrom device opened
2016.11.26 08:06:37 3: Opening Waermestrom device /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00F30318-if00-port0
2016.11.26 08:06:37 3: Setting Waermestrom serial parameters to 9600,8,E,1
2016.11.26 08:06:37 3: Init done
2016.11.26 08:06:37 3: Waermestrom device opened
2016.11.26 08:06:37 3: Opening myJeelink device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AL01MZVP-if00-port0
2016.11.26 08:06:37 3: Setting myJeelink serial parameters to 57600,8,N,1
2016.11.26 08:06:38 3: myJeelink device opened
2016.11.26 08:06:42 3: Esso_Weingarten: Defined with URL http://www.clever-tanken.de/tankstelle_details/6735 and interval 600
2016.11.26 08:06:42 3: Aral_Weingarten: Defined with URL http://www.clever-tanken.de/tankstelle_details/8110 and interval 600
2016.11.26 08:06:42 3: Avia_Schwetzingen: Defined with URL http://www.clever-tanken.de/tankstelle_details/20907 and interval 600
2016.11.26 08:06:42 3: Total_Mannheim: Defined with URL http://www.clever-tanken.de/tankstelle_details/15932 and interval 600
2016.11.26 08:06:43 3: Opening fbaha device 192.168.2.1:2002
2016.11.26 08:06:43 1: FBAHA fbaha registered with handle: 000000a5
2016.11.26 08:06:43 3: fbaha device opened
2016.11.26 08:06:43 3: Solar: unknown attribute delay. Type 'attr Solar ?' for a detailed list.
2016.11.26 08:06:43 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798, <$fh> line 252.
2016.11.26 08:06:43 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798, <$fh> line 256.
2016.11.26 08:06:43 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798, <$fh> line 260.
2016.11.26 08:06:43 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798, <$fh> line 264.
2016.11.26 08:07:07 2: ONKYO_AVR Onkyo: Registering ONKYO_AVR for webhook URI ?/ONKYO_AVR ...
2016.11.26 08:07:07 3: Opening Onkyo device 192.168.2.32:60128
2016.11.26 08:07:08 3: XiaomiFlowerSens (FM_Olivenbaum) - defined with BTMAC C4:7C:8D:61:93:60
2016.11.26 08:07:08 3: XiaomiFlowerSens (FM_Zitronenbaum) - defined with BTMAC C4:7C:8D:61:9C:C8
2016.11.26 08:07:08 3: Opening VR400Mod device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI03628R-if00-port0
2016.11.26 08:07:08 3: Setting VR400Mod serial parameters to 9600,8,E,1
2016.11.26 08:07:08 3: VR400Mod device opened
2016.11.26 08:07:08 3: Lueftungsregler: define with destination , protocol RTU
2016.11.26 08:07:08 3: Lueftungsregler: defined with id 1, interval 60, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Temp_ZuluftInnen: define with destination , protocol RTU
2016.11.26 08:07:08 3: Temp_ZuluftInnen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Temp_AbluftInnen: define with destination , protocol RTU
2016.11.26 08:07:08 3: Temp_AbluftInnen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Temp_AbluftAussen: define with destination , protocol RTU
2016.11.26 08:07:08 3: Temp_AbluftAussen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Temp_ZuluftAussen: define with destination , protocol RTU
2016.11.26 08:07:08 3: Temp_ZuluftAussen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Zuluft_Niedrig: define with destination , protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Zuluft_Niedrig: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Abluft_Niedrig: define with destination , protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Abluft_Niedrig: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Zuluft_Mittel: define with destination , protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Zuluft_Mittel: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Abluft_Mittel: define with destination , protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Abluft_Mittel: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Zuluft_Hoch: define with destination , protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Zuluft_Hoch: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Abluft_Hoch: define with destination , protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Abluft_Hoch: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Einheit: define with destination , protocol RTU
2016.11.26 08:07:08 3: Luftstrom_Einheit: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Vent_Zuluft: define with destination , protocol RTU
2016.11.26 08:07:08 3: Vent_Zuluft: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Vent_Abluft: define with destination , protocol RTU
2016.11.26 08:07:08 3: Vent_Abluft: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Filterwechsel: define with destination , protocol RTU
2016.11.26 08:07:08 3: Filterwechsel: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:07:08 3: Filter_Repl: define with destination , protocol RTU
2016.11.26 08:07:08 3: Filter_Repl: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:07:09 3: Rotor: define with destination , protocol RTU
2016.11.26 08:07:09 3: Rotor: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:07:09 3: Alarms: define with destination , protocol RTU
2016.11.26 08:07:09 3: Alarms: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:07:09 3: Alarm_Filter: define with destination , protocol RTU
2016.11.26 08:07:09 3: Alarm_Filter: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:07:09 3: Alarm_Ventilator: define with destination , protocol RTU
2016.11.26 08:07:09 3: Alarm_Ventilator: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:07:09 3: Alarm_Rotor: define with destination , protocol RTU
2016.11.26 08:07:09 3: Alarm_Rotor: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:07:09 3: Temp_Level: define with destination , protocol RTU
2016.11.26 08:07:09 3: Temp_Level: defined with id 1, interval 60, destination VR400Mod, protocol RTU
2016.11.26 08:07:09 3: Heizart: define with destination , protocol RTU
2016.11.26 08:07:09 3: Heizart: defined with id 1, interval 60, destination VR400Mod, protocol RTU
2016.11.26 08:07:11 3: Temp_Buero: I/O device is myJeelink
2016.11.26 08:07:11 3: Temp_Olivenbaum: I/O device is myJeelink
2016.11.26 08:07:11 3: Temp_Garage: I/O device is myJeelink
2016.11.26 08:07:11 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet:
2016.11.26 08:07:11 3: Registering HTTPSRV TABLETUI for URL /ftui and assigned link ftui/ ...
2016.11.26 08:07:11 3: Opening cul1 device /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
2016.11.26 08:07:11 3: Setting cul1 serial parameters to 38400,8,N,1
2016.11.26 08:07:14 3: cul1: Possible commands: ABCEeFfGhiKklMmRTtUVWXxYZz
2016.11.26 08:07:17 1: Cannot init /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0, ignoring it (cul1)
2016.11.26 08:07:17 1: Including ./log/fhem.save
2016.11.26 08:07:18 1: configfile: Solar: unknown attribute delay. Type 'attr Solar ?' for a detailed list.
2016.11.26 08:07:18 3: Device Bew_Kueche added to ActionDetector with 000:03 time
2016.11.26 08:07:18 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/33_readingsProxy.pm line 178.
2016.11.26 08:07:18 3: Device Fen_Schlafz added to ActionDetector with 028:00 time
2016.11.26 08:07:19 3: Device Ter_Wohnz added to ActionDetector with 028:00 time
2016.11.26 08:07:19 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798.
2016.11.26 08:07:19 1: usb create starting
2016.11.26 08:07:19 3: Probing CUL device /dev/ttyAMA0
2016.11.26 08:07:20 3: Probing TCM_ESP3 device /dev/ttyAMA0
2016.11.26 08:07:20 3: Probing FRM device /dev/ttyAMA0
2016.11.26 08:07:25 1: usb create end
2016.11.26 08:07:25 2: Messages collected while initializing FHEM: configfile: Solar: unknown attribute delay. Type 'attr Solar ?' for a detailed list.
2016.11.26 08:07:25 0: Featurelevel: 5.7
2016.11.26 08:07:25 0: Server started with 283 defined entities (fhem.pl:12596/2016-11-17 perl:5.014002 os:linux user:fhem pid:2184)
2016.11.26 08:07:26 3: CUL_HM set Jal_Bad statusRequest
2016.11.26 08:07:26 5: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Request Timer wird aufgerufen
2016.11.26 08:07:26 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.26 08:07:26 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
2016.11.26 08:07:26 1: HMLAN_Parse: HMLAN1 new condition ok
2016.11.26 08:07:26 3: Onkyo device opened
2016.11.26 08:07:26 1: PERL WARNING: substr outside of string at ./FHEM/47_OBIS.pm line 759.
2016.11.26 08:07:27 3: CUL_HM set Jal_Buero statusRequest
2016.11.26 08:07:28 3: CUL_HM set Jal_Florian1 statusRequest
2016.11.26 08:07:29 3: CUL_HM set Jal_Florian2 statusRequest
2016.11.26 08:07:30 3: CUL_HM set Jal_Hobby statusRequest
2016.11.26 08:07:31 3: CUL_HM set Jal_Julia statusRequest
Host is down (112)
2016.11.26 08:07:32 3: CUL_HM set Jal_Schlafz statusRequest
2016.11.26 08:07:33 3: CUL_HM set Ter_Licht statusRequest
2016.11.26 08:07:34 3: CUL_HM set Ter_Brunnen statusRequest
2016.11.26 08:07:35 3: CUL_HM set Jal_WohnzTV_Up statusRequest
2016.11.26 08:07:36 3: CUL_HM set Jal_WohnzTV_Down statusRequest
Host is down (112)
2016.11.26 08:07:36 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
2016.11.26 08:07:37 3: CUL_HM set Jal_Kueche_Up statusRequest
2016.11.26 08:07:38 3: CUL_HM set Jal_Kueche_Down statusRequest
2016.11.26 08:07:39 3: CUL_HM set Lueftung_Niedrig statusRequest
2016.11.26 08:07:40 3: CUL_HM set Lueftung_Mittel statusRequest
2016.11.26 08:07:41 3: CUL_HM set Lueftung_Hoch statusRequest
2016.11.26 08:07:42 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:07:42 3: CUL_HM set Lueftung_Urlaub statusRequest
2016.11.26 08:07:43 3: CUL_HM set Jal_WohnzEck1_Up statusRequest
2016.11.26 08:07:44 3: CUL_HM set Jal_WohnzEck1_Down statusRequest
2016.11.26 08:07:45 3: CUL_HM set Jal_WohnzEck2_Up statusRequest
2016.11.26 08:07:46 3: CUL_HM set Jal_WohnzEck2_Down statusRequest
2016.11.26 08:07:47 3: CUL_HM set Jal_WohnzTer_Up statusRequest
2016.11.26 08:07:48 3: CUL_HM set Jal_WohnzTer_Down statusRequest
2016.11.26 08:07:49 3: CUL_HM set Jal_WohnzTisch_Up statusRequest
2016.11.26 08:07:50 3: CUL_HM set Jal_WohnzTisch_Down statusRequest
2016.11.26 08:07:51 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 3205
2016.11.26 08:07:51 3: (FM_Olivenbaum) - The BlockingCall Process terminated unexpectedly. Timedout
2016.11.26 08:07:57 3: FBDECT set Spiegellampe_Bad on
Connection refused (111)
2016.11.26 08:08:31 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:08:46 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:09:01 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:09:16 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:09:31 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:09:46 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:09:55 1: Including fhem.cfg
2016.11.26 08:09:56 1: HMLAN_Parse: HMLAN1 new condition disconnected
2016.11.26 08:09:56 3: Opening HMLAN1 device JEQ0706369:1000
2016.11.26 08:09:56 3: Can't connect to JEQ0706369:1000: Verbindungsaufbau abgelehnt
2016.11.26 08:09:56 1: telnetPort: Can't open server port at 7072: Die Adresse wird bereits verwendet. Exiting.
2016.11.26 08:10:01 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:10:16 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:10:38 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:10:53 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:11:08 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:11:15 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 3272
2016.11.26 08:11:15 3: (FM_Olivenbaum) - The BlockingCall Process terminated unexpectedly. Timedout
2016.11.26 08:11:23 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:11:38 3: FBDECT set Spiegellampe_Bad on
Connection refused (111)
2016.11.26 08:11:43 3: SMAUtils (Solar): delayCounter not defined.
2016.11.26 08:11:53 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:12:08 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:12:23 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:12:27 1: PERL WARNING: Use of uninitialized value $value in concatenation (.) or string at fhem.pl line 4246.
2016.11.26 08:12:27 1: PERL WARNING: Use of uninitialized value in string ne at fhem.pl line 4177.
2016.11.26 08:12:27 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4190.
2016.11.26 08:12:29 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:12:38 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:12:53 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:13:08 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:14:06 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 3307
2016.11.26 08:14:06 3: (FM_Olivenbaum) - The BlockingCall Process terminated unexpectedly. Timedout
2016.11.26 08:14:29 0: Server shutdown
Connection refused (111)
2016.11.26 08:15:00 1: Including fhem.cfg
2016.11.26 08:15:00 1: HMLAN_Parse: HMLAN1 new condition disconnected
2016.11.26 08:15:00 3: Opening HMLAN1 device JEQ0706369:1000
2016.11.26 08:15:00 1: HMLAN_Parse: HMLAN1 new condition init
2016.11.26 08:15:00 3: HMLAN1 device opened
2016.11.26 08:15:00 3: telnetPort: port 7072 opened
2016.11.26 08:15:01 3: WEB: port 8083 opened
2016.11.26 08:15:01 3: WEBphone: port 8084 opened
2016.11.26 08:15:01 3: WEBtablet: port 8085 opened
2016.11.26 08:15:01 2: eventTypes: loaded 1465 events from ./log/eventTypes.txt
2016.11.26 08:15:01 1: PERL WARNING: main::OBIS_decodeTL() called too early to check prototype at ./FHEM/47_OBIS.pm line 750, <$fh> line 78.
2016.11.26 08:15:01 3: Opening Hausstrom device /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00F2FBBC-if00-port0
2016.11.26 08:15:01 3: Setting Hausstrom serial parameters to 9600,8,E,1
2016.11.26 08:15:01 3: Init done
2016.11.26 08:15:01 3: Hausstrom device opened
2016.11.26 08:15:01 3: Opening Waermestrom device /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00F30318-if00-port0
2016.11.26 08:15:01 3: Setting Waermestrom serial parameters to 9600,8,E,1
2016.11.26 08:15:01 3: Init done
2016.11.26 08:15:01 3: Waermestrom device opened
2016.11.26 08:15:01 3: Opening myJeelink device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AL01MZVP-if00-port0
2016.11.26 08:15:01 3: Setting myJeelink serial parameters to 57600,8,N,1
2016.11.26 08:15:02 3: myJeelink device opened
2016.11.26 08:15:03 3: Esso_Weingarten: Defined with URL http://www.clever-tanken.de/tankstelle_details/6735 and interval 600
2016.11.26 08:15:03 3: Aral_Weingarten: Defined with URL http://www.clever-tanken.de/tankstelle_details/8110 and interval 600
2016.11.26 08:15:04 3: Avia_Schwetzingen: Defined with URL http://www.clever-tanken.de/tankstelle_details/20907 and interval 600
2016.11.26 08:15:04 3: Total_Mannheim: Defined with URL http://www.clever-tanken.de/tankstelle_details/15932 and interval 600
2016.11.26 08:15:04 3: Opening fbaha device 192.168.2.1:2002
2016.11.26 08:15:04 1: FBAHA fbaha registered with handle: 000000a6
2016.11.26 08:15:04 3: fbaha device opened
2016.11.26 08:15:04 3: Solar: unknown attribute delay. Type 'attr Solar ?' for a detailed list.
2016.11.26 08:15:04 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798, <$fh> line 252.
2016.11.26 08:15:04 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798, <$fh> line 256.
2016.11.26 08:15:04 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798, <$fh> line 260.
2016.11.26 08:15:04 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798, <$fh> line 264.
2016.11.26 08:15:05 2: ONKYO_AVR Onkyo: Registering ONKYO_AVR for webhook URI ?/ONKYO_AVR ...
2016.11.26 08:15:05 3: Opening Onkyo device 192.168.2.32:60128
2016.11.26 08:15:05 3: XiaomiFlowerSens (FM_Olivenbaum) - defined with BTMAC C4:7C:8D:61:93:60
2016.11.26 08:15:05 3: XiaomiFlowerSens (FM_Zitronenbaum) - defined with BTMAC C4:7C:8D:61:9C:C8
2016.11.26 08:15:05 3: Opening VR400Mod device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI03628R-if00-port0
2016.11.26 08:15:05 3: Setting VR400Mod serial parameters to 9600,8,E,1
2016.11.26 08:15:05 3: VR400Mod device opened
2016.11.26 08:15:05 3: Lueftungsregler: define with destination , protocol RTU
2016.11.26 08:15:05 3: Lueftungsregler: defined with id 1, interval 60, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Temp_ZuluftInnen: define with destination , protocol RTU
2016.11.26 08:15:05 3: Temp_ZuluftInnen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Temp_AbluftInnen: define with destination , protocol RTU
2016.11.26 08:15:05 3: Temp_AbluftInnen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Temp_AbluftAussen: define with destination , protocol RTU
2016.11.26 08:15:05 3: Temp_AbluftAussen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Temp_ZuluftAussen: define with destination , protocol RTU
2016.11.26 08:15:05 3: Temp_ZuluftAussen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Zuluft_Niedrig: define with destination , protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Zuluft_Niedrig: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Abluft_Niedrig: define with destination , protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Abluft_Niedrig: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Zuluft_Mittel: define with destination , protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Zuluft_Mittel: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Abluft_Mittel: define with destination , protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Abluft_Mittel: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Zuluft_Hoch: define with destination , protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Zuluft_Hoch: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Abluft_Hoch: define with destination , protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Abluft_Hoch: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Einheit: define with destination , protocol RTU
2016.11.26 08:15:05 3: Luftstrom_Einheit: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Vent_Zuluft: define with destination , protocol RTU
2016.11.26 08:15:05 3: Vent_Zuluft: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Vent_Abluft: define with destination , protocol RTU
2016.11.26 08:15:05 3: Vent_Abluft: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Filterwechsel: define with destination , protocol RTU
2016.11.26 08:15:05 3: Filterwechsel: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Filter_Repl: define with destination , protocol RTU
2016.11.26 08:15:05 3: Filter_Repl: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Rotor: define with destination , protocol RTU
2016.11.26 08:15:05 3: Rotor: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Alarms: define with destination , protocol RTU
2016.11.26 08:15:05 3: Alarms: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Alarm_Filter: define with destination , protocol RTU
2016.11.26 08:15:05 3: Alarm_Filter: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Alarm_Ventilator: define with destination , protocol RTU
2016.11.26 08:15:05 3: Alarm_Ventilator: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Alarm_Rotor: define with destination , protocol RTU
2016.11.26 08:15:05 3: Alarm_Rotor: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Temp_Level: define with destination , protocol RTU
2016.11.26 08:15:05 3: Temp_Level: defined with id 1, interval 60, destination VR400Mod, protocol RTU
2016.11.26 08:15:05 3: Heizart: define with destination , protocol RTU
2016.11.26 08:15:05 3: Heizart: defined with id 1, interval 60, destination VR400Mod, protocol RTU
2016.11.26 08:15:07 3: Temp_Buero: I/O device is myJeelink
2016.11.26 08:15:07 3: Temp_Olivenbaum: I/O device is myJeelink
2016.11.26 08:15:07 3: Temp_Garage: I/O device is myJeelink
2016.11.26 08:15:07 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet:
2016.11.26 08:15:07 3: Registering HTTPSRV TABLETUI for URL /ftui and assigned link ftui/ ...
2016.11.26 08:15:07 3: Opening cul1 device /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
2016.11.26 08:15:07 3: Can't open /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0: Eingabe-/Ausgabefehler
2016.11.26 08:15:07 1: Including ./log/fhem.save
2016.11.26 08:15:08 1: configfile: Solar: unknown attribute delay. Type 'attr Solar ?' for a detailed list.
2016.11.26 08:15:08 3: Device Bew_Kueche added to ActionDetector with 000:03 time
2016.11.26 08:15:08 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/33_readingsProxy.pm line 178.
2016.11.26 08:15:08 3: Device Fen_Schlafz added to ActionDetector with 028:00 time
2016.11.26 08:15:08 3: Device Ter_Wohnz added to ActionDetector with 028:00 time
2016.11.26 08:15:08 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798.
2016.11.26 08:15:08 1: usb create starting
2016.11.26 08:15:09 3: Probing CUL device /dev/ttyAMA0
2016.11.26 08:15:09 3: Probing TCM_ESP3 device /dev/ttyAMA0
2016.11.26 08:15:09 3: Probing FRM device /dev/ttyAMA0
2016.11.26 08:15:15 1: usb create end
2016.11.26 08:15:15 2: Messages collected while initializing FHEM: configfile: Solar: unknown attribute delay. Type 'attr Solar ?' for a detailed list.
2016.11.26 08:15:15 0: Featurelevel: 5.7
2016.11.26 08:15:15 0: Server started with 283 defined entities (fhem.pl:12596/2016-11-17 perl:5.014002 os:linux user:fhem pid:3327)
2016.11.26 08:15:15 3: CUL_HM set Jal_Bad statusRequest
2016.11.26 08:15:15 3: CUL_HM set Ter_Brunnen off
2016.11.26 08:15:16 3: CUL_HM set Ter_Licht off
2016.11.26 08:15:16 1: HMLAN_Parse: HMLAN1 new condition ok
2016.11.26 08:15:16 3: Onkyo device opened
2016.11.26 08:15:16 3: CUL_HM set Jal_Buero statusRequest
2016.11.26 08:15:16 1: PERL WARNING: substr outside of string at ./FHEM/47_OBIS.pm line 759.
2016.11.26 08:15:16 3: Setting cul1 serial parameters to 38400,8,N,1
2016.11.26 08:15:20 3: cul1: Possible commands: ABCEeFfGhiKklMmRTtUVWXxYZz
2016.11.26 08:15:20 1: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 reappeared (cul1)
2016.11.26 08:15:20 3: CUL_HM set Jal_Florian1 statusRequest
2016.11.26 08:15:21 3: CUL_HM set Jal_Florian2 statusRequest
2016.11.26 08:15:22 3: CUL_HM set Jal_Hobby statusRequest
2016.11.26 08:15:23 3: CUL_HM set Jal_Julia statusRequest
2016.11.26 08:15:24 3: CUL_HM set Jal_Schlafz statusRequest
2016.11.26 08:15:25 3: CUL_HM set Jal_WohnzTV_Up statusRequest
2016.11.26 08:15:25 5: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Request Timer wird aufgerufen
2016.11.26 08:15:25 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.26 08:15:25 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
2016.11.26 08:15:26 3: CUL_HM set Jal_WohnzTV_Down statusRequest
2016.11.26 08:15:27 3: CUL_HM set Jal_Kueche_Up statusRequest
2016.11.26 08:15:28 3: CUL_HM set Jal_Kueche_Down statusRequest
2016.11.26 08:15:29 3: CUL_HM set Lueftung_Niedrig statusRequest
2016.11.26 08:15:30 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
2016.11.26 08:15:30 4: Sub XiaomiFlowerSens_Done (FM_Zitronenbaum) - Abschluss!
2016.11.26 08:15:30 3: CUL_HM set Lueftung_Mittel statusRequest
2016.11.26 08:15:31 3: CUL_HM set Lueftung_Hoch statusRequest
2016.11.26 08:15:32 3: CUL_HM set Lueftung_Urlaub statusRequest
2016.11.26 08:15:33 3: CUL_HM set Jal_WohnzEck1_Up statusRequest
2016.11.26 08:15:34 3: CUL_HM set Jal_WohnzEck1_Down statusRequest
2016.11.26 08:15:35 3: CUL_HM set Jal_WohnzEck2_Up statusRequest
2016.11.26 08:15:36 3: CUL_HM set Jal_WohnzEck2_Down statusRequest
2016.11.26 08:15:37 3: CUL_HM set Jal_WohnzTer_Up statusRequest
2016.11.26 08:15:38 3: CUL_HM set Jal_WohnzTer_Down statusRequest
2016.11.26 08:15:39 3: CUL_HM set Jal_WohnzTisch_Up statusRequest
2016.11.26 08:15:40 3: CUL_HM set Jal_WohnzTisch_Down statusRequest
2016.11.26 08:15:57 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 3363
2016.11.26 08:15:57 3: (FM_Olivenbaum) - The BlockingCall Process terminated unexpectedly. Timedout
Characteristic value/descriptor read failed: A timeout occured
connect: Connection refused (111)
connect: Connection refused (111)
2016.11.26 08:17:08 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.26 08:17:08 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
connect: Connection refused (111)
connect: Connection refused (111)
2016.11.26 08:17:08 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
2016.11.26 08:19:20 3: cul1 IT: IT_0100111110001000010100001000000 off->on
2016.11.26 08:19:20 3: cul1 IT: IT_0100111110001000010100001000000 on->off
2016.11.26 08:19:20 3: cul1 IT: IT_0100111110001000010100001000001 off->on
2016.11.26 08:19:21 3: cul1 IT: IT_0100111110001000010100001000001 on->off
2016.11.26 08:19:22 3: cul1 IT: IT_0100111110001000010100001000010 off->on
2016.11.26 08:19:23 3: cul1 IT: IT_0100111110001000010100001000010 on->off
2016.11.26 08:19:23 3: cul1 IT: IT_0100111110001000010100001000010 off->on
2016.11.26 08:20:04 3: SMAUtils (Solar): delayCounter not defined.
2016.11.26 08:20:17 1: PERL WARNING: Use of uninitialized value $value in concatenation (.) or string at fhem.pl line 4246.
2016.11.26 08:20:17 1: PERL WARNING: Use of uninitialized value in string ne at fhem.pl line 4177.
2016.11.26 08:20:17 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4190.
2016.11.26 08:20:34 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:20:49 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:21:04 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:21:19 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:21:34 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:21:49 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:22:04 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:22:19 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:22:34 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:24:34 3: FBDECT set Spiegellampe_Bad off
connect: Connection refused (111)
connect: Connection refused (111)
2016.11.26 08:30:00 3: CUL_HM set Jal_Hobby 100
2016.11.26 08:30:00 3: CUL_HM set Jal_Buero 100
2016.11.26 08:30:00 3: CUL_HM Jal_Hobby repeat, level 96 instead of C8
2016.11.26 08:30:00 3: CUL_HM Jal_Buero repeat, level 96 instead of C8
2016.11.26 08:30:05 0: Server shutdown
2016.11.26 08:30:08 1: Including fhem.cfg
2016.11.26 08:30:08 1: HMLAN_Parse: HMLAN1 new condition disconnected
2016.11.26 08:30:08 3: Opening HMLAN1 device JEQ0706369:1000
2016.11.26 08:30:08 1: HMLAN_Parse: HMLAN1 new condition init
2016.11.26 08:30:08 3: HMLAN1 device opened
2016.11.26 08:30:08 3: telnetPort: port 7072 opened
2016.11.26 08:30:08 3: WEB: port 8083 opened
2016.11.26 08:30:08 3: WEBphone: port 8084 opened
2016.11.26 08:30:08 3: WEBtablet: port 8085 opened
2016.11.26 08:30:09 2: eventTypes: loaded 1474 events from ./log/eventTypes.txt
2016.11.26 08:30:09 1: PERL WARNING: main::OBIS_decodeTL() called too early to check prototype at ./FHEM/47_OBIS.pm line 750, <$fh> line 78.
2016.11.26 08:30:09 3: Opening Hausstrom device /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00F2FBBC-if00-port0
2016.11.26 08:30:09 3: Setting Hausstrom serial parameters to 9600,8,E,1
2016.11.26 08:30:09 3: Init done
2016.11.26 08:30:09 3: Hausstrom device opened
2016.11.26 08:30:09 3: Opening Waermestrom device /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00F30318-if00-port0
2016.11.26 08:30:09 3: Setting Waermestrom serial parameters to 9600,8,E,1
2016.11.26 08:30:09 3: Init done
2016.11.26 08:30:09 3: Waermestrom device opened
2016.11.26 08:30:09 3: Opening myJeelink device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AL01MZVP-if00-port0
2016.11.26 08:30:09 3: Setting myJeelink serial parameters to 57600,8,N,1
2016.11.26 08:30:10 3: myJeelink device opened
2016.11.26 08:30:11 3: Esso_Weingarten: Defined with URL http://www.clever-tanken.de/tankstelle_details/6735 and interval 600
2016.11.26 08:30:12 3: Aral_Weingarten: Defined with URL http://www.clever-tanken.de/tankstelle_details/8110 and interval 600
2016.11.26 08:30:12 3: Avia_Schwetzingen: Defined with URL http://www.clever-tanken.de/tankstelle_details/20907 and interval 600
2016.11.26 08:30:12 3: Total_Mannheim: Defined with URL http://www.clever-tanken.de/tankstelle_details/15932 and interval 600
2016.11.26 08:30:12 3: Opening fbaha device 192.168.2.1:2002
2016.11.26 08:30:12 1: FBAHA fbaha registered with handle: 000000a7
2016.11.26 08:30:12 3: fbaha device opened
2016.11.26 08:30:12 3: Solar: unknown attribute delay. Type 'attr Solar ?' for a detailed list.
2016.11.26 08:30:12 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798, <$fh> line 252.
2016.11.26 08:30:12 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798, <$fh> line 256.
2016.11.26 08:30:12 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798, <$fh> line 260.
2016.11.26 08:30:12 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798, <$fh> line 264.
2016.11.26 08:30:13 2: ONKYO_AVR Onkyo: Registering ONKYO_AVR for webhook URI ?/ONKYO_AVR ...
2016.11.26 08:30:13 3: Opening Onkyo device 192.168.2.32:60128
2016.11.26 08:30:13 3: XiaomiFlowerSens (FM_Olivenbaum) - defined with BTMAC C4:7C:8D:61:93:60
2016.11.26 08:30:13 3: XiaomiFlowerSens (FM_Zitronenbaum) - defined with BTMAC C4:7C:8D:61:9C:C8
2016.11.26 08:30:14 3: Opening VR400Mod device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI03628R-if00-port0
2016.11.26 08:30:14 3: Setting VR400Mod serial parameters to 9600,8,E,1
2016.11.26 08:30:14 3: VR400Mod device opened
2016.11.26 08:30:14 3: Lueftungsregler: define with destination , protocol RTU
2016.11.26 08:30:14 3: Lueftungsregler: defined with id 1, interval 60, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Temp_ZuluftInnen: define with destination , protocol RTU
2016.11.26 08:30:14 3: Temp_ZuluftInnen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Temp_AbluftInnen: define with destination , protocol RTU
2016.11.26 08:30:14 3: Temp_AbluftInnen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Temp_AbluftAussen: define with destination , protocol RTU
2016.11.26 08:30:14 3: Temp_AbluftAussen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Temp_ZuluftAussen: define with destination , protocol RTU
2016.11.26 08:30:14 3: Temp_ZuluftAussen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Zuluft_Niedrig: define with destination , protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Zuluft_Niedrig: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Abluft_Niedrig: define with destination , protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Abluft_Niedrig: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Zuluft_Mittel: define with destination , protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Zuluft_Mittel: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Abluft_Mittel: define with destination , protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Abluft_Mittel: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Zuluft_Hoch: define with destination , protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Zuluft_Hoch: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Abluft_Hoch: define with destination , protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Abluft_Hoch: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Einheit: define with destination , protocol RTU
2016.11.26 08:30:14 3: Luftstrom_Einheit: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Vent_Zuluft: define with destination , protocol RTU
2016.11.26 08:30:14 3: Vent_Zuluft: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Vent_Abluft: define with destination , protocol RTU
2016.11.26 08:30:14 3: Vent_Abluft: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Filterwechsel: define with destination , protocol RTU
2016.11.26 08:30:14 3: Filterwechsel: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Filter_Repl: define with destination , protocol RTU
2016.11.26 08:30:14 3: Filter_Repl: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Rotor: define with destination , protocol RTU
2016.11.26 08:30:14 3: Rotor: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Alarms: define with destination , protocol RTU
2016.11.26 08:30:14 3: Alarms: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Alarm_Filter: define with destination , protocol RTU
2016.11.26 08:30:14 3: Alarm_Filter: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Alarm_Ventilator: define with destination , protocol RTU
2016.11.26 08:30:14 3: Alarm_Ventilator: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Alarm_Rotor: define with destination , protocol RTU
2016.11.26 08:30:14 3: Alarm_Rotor: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Temp_Level: define with destination , protocol RTU
2016.11.26 08:30:14 3: Temp_Level: defined with id 1, interval 60, destination VR400Mod, protocol RTU
2016.11.26 08:30:14 3: Heizart: define with destination , protocol RTU
2016.11.26 08:30:14 3: Heizart: defined with id 1, interval 60, destination VR400Mod, protocol RTU
2016.11.26 08:30:16 3: Temp_Buero: I/O device is myJeelink
2016.11.26 08:30:16 3: Temp_Olivenbaum: I/O device is myJeelink
2016.11.26 08:30:16 3: Temp_Garage: I/O device is myJeelink
2016.11.26 08:30:16 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet:
2016.11.26 08:30:16 3: Registering HTTPSRV TABLETUI for URL /ftui and assigned link ftui/ ...
2016.11.26 08:30:16 3: Opening cul1 device /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
2016.11.26 08:30:16 3: Setting cul1 serial parameters to 38400,8,N,1
2016.11.26 08:30:19 3: cul1: Possible commands: ABCEeFfGhiKklMmRTtUVWXxYZz
2016.11.26 08:30:19 3: cul1 device opened
2016.11.26 08:30:20 1: Including ./log/fhem.save
2016.11.26 08:30:21 1: configfile: Solar: unknown attribute delay. Type 'attr Solar ?' for a detailed list.
2016.11.26 08:30:21 3: Device Bew_Kueche added to ActionDetector with 000:03 time
2016.11.26 08:30:21 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/33_readingsProxy.pm line 178.
2016.11.26 08:30:21 3: Device Fen_Schlafz added to ActionDetector with 028:00 time
2016.11.26 08:30:21 3: Device Ter_Wohnz added to ActionDetector with 028:00 time
2016.11.26 08:30:21 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3798.
2016.11.26 08:30:21 1: usb create starting
2016.11.26 08:30:22 3: Probing CUL device /dev/ttyAMA0
2016.11.26 08:30:22 3: Probing TCM_ESP3 device /dev/ttyAMA0
2016.11.26 08:30:22 3: Probing FRM device /dev/ttyAMA0
2016.11.26 08:30:28 1: usb create end
2016.11.26 08:30:28 2: Messages collected while initializing FHEM: configfile: Solar: unknown attribute delay. Type 'attr Solar ?' for a detailed list.
2016.11.26 08:30:28 0: Featurelevel: 5.7
2016.11.26 08:30:28 0: Server started with 283 defined entities (fhem.pl:12596/2016-11-17 perl:5.014002 os:linux user:fhem pid:3569)
2016.11.26 08:30:28 3: CUL_HM set Jal_Bad statusRequest
2016.11.26 08:30:29 1: HMLAN_Parse: HMLAN1 new condition ok
2016.11.26 08:30:29 3: Onkyo device opened
2016.11.26 08:30:29 1: PERL WARNING: substr outside of string at ./FHEM/47_OBIS.pm line 759.
2016.11.26 08:30:29 3: CUL_HM set Jal_Florian1 statusRequest
2016.11.26 08:30:30 3: CUL_HM set Jal_Florian2 statusRequest
2016.11.26 08:30:31 3: CUL_HM set Jal_Julia statusRequest
2016.11.26 08:30:32 3: CUL_HM set Jal_Schlafz statusRequest
2016.11.26 08:30:33 3: CUL_HM set Ter_Licht statusRequest
2016.11.26 08:30:34 3: CUL_HM set Ter_Brunnen statusRequest
2016.11.26 08:30:35 3: CUL_HM set Jal_WohnzTV_Up statusRequest
2016.11.26 08:30:35 5: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Request Timer wird aufgerufen
2016.11.26 08:30:35 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.26 08:30:36 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
connect: Connection refused (111)
connect: Connection refused (111)
2016.11.26 08:30:36 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
2016.11.26 08:30:36 3: CUL_HM set Jal_WohnzTV_Down statusRequest
2016.11.26 08:30:38 3: CUL_HM set Jal_Kueche_Up statusRequest
2016.11.26 08:30:39 3: CUL_HM set Jal_Kueche_Down statusRequest
2016.11.26 08:30:40 3: CUL_HM set Lueftung_Niedrig statusRequest
2016.11.26 08:30:41 3: CUL_HM set Lueftung_Mittel statusRequest
2016.11.26 08:30:42 3: CUL_HM set Lueftung_Hoch statusRequest
2016.11.26 08:30:43 3: CUL_HM set Lueftung_Urlaub statusRequest
connect: Connection refused (111)
2016.11.26 08:30:44 3: CUL_HM set Jal_WohnzEck1_Up statusRequest
connect: Connection refused (111)
2016.11.26 08:30:45 3: CUL_HM set Jal_WohnzEck1_Down statusRequest
2016.11.26 08:30:46 3: CUL_HM set Jal_WohnzEck2_Up statusRequest
2016.11.26 08:30:47 3: CUL_HM set Jal_WohnzEck2_Down statusRequest
2016.11.26 08:30:48 3: CUL_HM set Jal_WohnzTer_Up statusRequest
2016.11.26 08:30:49 3: CUL_HM set Jal_WohnzTer_Down statusRequest
2016.11.26 08:30:50 3: CUL_HM set Jal_WohnzTisch_Up statusRequest
2016.11.26 08:30:51 3: CUL_HM set Jal_WohnzTisch_Down statusRequest
2016.11.26 08:31:02 2: autocreate: renamed FileLog_IT_0100111110001000010100001000010 to FileLog_IT_Steckdose03_WZ_Lampe
2016.11.26 08:31:37 2: autocreate: renamed FileLog_IT_0100111110001000010100001000001 to FileLog_IT_Steckdose02
2016.11.26 08:32:32 2: autocreate: renamed FileLog_IT_0100111110001000010100001000000 to FileLog_IT_Steckdose_01_Hobby_Stehlampe
2016.11.26 08:32:56 2: autocreate: renamed FileLog_IT_Steckdose_01_Hobby_Stehlampe to FileLog_IT_Steckdose01_Hobby_Stehlampe
2016.11.26 08:35:12 3: SMAUtils (Solar): delayCounter not defined.
2016.11.26 08:35:30 1: PERL WARNING: Use of uninitialized value $value in concatenation (.) or string at fhem.pl line 4246.
2016.11.26 08:35:30 1: PERL WARNING: Use of uninitialized value in string ne at fhem.pl line 4177.
2016.11.26 08:35:30 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4190.
2016.11.26 08:36:19 3: Unregistering HTTPSRV TABLETUI for URL /ftui...
2016.11.26 08:36:19 3: removing IO device for VR400Mod
2016.11.26 08:36:19 3: XiaomiFlowerSens (FM_Zitronenbaum) - undefined
2016.11.26 08:36:19 3: XiaomiFlowerSens (FM_Olivenbaum) - undefined
2016.11.26 08:36:19 2: ONKYO_AVR Onkyo: Unregistering ONKYO_AVR for webhook URL ?/ONKYO_AVR...
2016.11.26 08:36:19 1: Including fhem.cfg
2016.11.26 08:36:19 1: HMLAN_Parse: HMLAN1 new condition disconnected
2016.11.26 08:36:19 3: Opening HMLAN1 device JEQ0706369:1000
2016.11.26 08:36:19 1: HMLAN_Parse: HMLAN1 new condition init
2016.11.26 08:36:19 3: HMLAN1 device opened
2016.11.26 08:36:19 3: telnetPort: port 7072 opened
2016.11.26 08:36:19 3: WEB: port 8083 opened
2016.11.26 08:36:19 3: WEBphone: port 8084 opened
2016.11.26 08:36:19 3: WEBtablet: port 8085 opened
2016.11.26 08:36:19 2: eventTypes: loaded 1474 events from ./log/eventTypes.txt
2016.11.26 08:36:19 3: Opening Hausstrom device /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00F2FBBC-if00-port0
2016.11.26 08:36:19 3: Setting Hausstrom serial parameters to 9600,8,E,1
2016.11.26 08:36:19 3: Init done
2016.11.26 08:36:19 3: Hausstrom device opened
2016.11.26 08:36:19 3: Opening Waermestrom device /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00F30318-if00-port0
2016.11.26 08:36:19 3: Setting Waermestrom serial parameters to 9600,8,E,1
2016.11.26 08:36:19 3: Init done
2016.11.26 08:36:19 3: Waermestrom device opened
2016.11.26 08:36:19 3: Opening myJeelink device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AL01MZVP-if00-port0
2016.11.26 08:36:19 3: Setting myJeelink serial parameters to 57600,8,N,1
2016.11.26 08:36:20 3: myJeelink device opened
2016.11.26 08:36:20 3: Esso_Weingarten: Defined with URL http://www.clever-tanken.de/tankstelle_details/6735 and interval 600
2016.11.26 08:36:20 3: Aral_Weingarten: Defined with URL http://www.clever-tanken.de/tankstelle_details/8110 and interval 600
2016.11.26 08:36:20 3: Avia_Schwetzingen: Defined with URL http://www.clever-tanken.de/tankstelle_details/20907 and interval 600
2016.11.26 08:36:21 3: Total_Mannheim: Defined with URL http://www.clever-tanken.de/tankstelle_details/15932 and interval 600
2016.11.26 08:36:21 3: Opening fbaha device 192.168.2.1:2002
2016.11.26 08:36:21 1: FBAHA fbaha registered with handle: 000000a8
2016.11.26 08:36:21 3: fbaha device opened
2016.11.26 08:36:21 2: ONKYO_AVR Onkyo: Registering ONKYO_AVR for webhook URI ?/ONKYO_AVR ...
2016.11.26 08:36:21 3: Opening Onkyo device 192.168.2.32:60128
2016.11.26 08:36:21 3: XiaomiFlowerSens (FM_Olivenbaum) - defined with BTMAC C4:7C:8D:61:93:60
2016.11.26 08:36:21 3: XiaomiFlowerSens (FM_Zitronenbaum) - defined with BTMAC C4:7C:8D:61:9C:C8
2016.11.26 08:36:21 3: Opening VR400Mod device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI03628R-if00-port0
2016.11.26 08:36:21 3: Setting VR400Mod serial parameters to 9600,8,E,1
2016.11.26 08:36:21 3: VR400Mod device opened
2016.11.26 08:36:21 3: Lueftungsregler: define with destination , protocol RTU
2016.11.26 08:36:21 3: Lueftungsregler: defined with id 1, interval 60, destination VR400Mod, protocol RTU
2016.11.26 08:36:21 3: Temp_ZuluftInnen: define with destination , protocol RTU
2016.11.26 08:36:21 3: Temp_ZuluftInnen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:36:21 3: Temp_AbluftInnen: define with destination , protocol RTU
2016.11.26 08:36:21 3: Temp_AbluftInnen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:36:21 3: Temp_AbluftAussen: define with destination , protocol RTU
2016.11.26 08:36:21 3: Temp_AbluftAussen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:36:21 3: Temp_ZuluftAussen: define with destination , protocol RTU
2016.11.26 08:36:21 3: Temp_ZuluftAussen: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:36:21 3: Luftstrom_Zuluft_Niedrig: define with destination , protocol RTU
2016.11.26 08:36:21 3: Luftstrom_Zuluft_Niedrig: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:36:21 3: Luftstrom_Abluft_Niedrig: define with destination , protocol RTU
2016.11.26 08:36:21 3: Luftstrom_Abluft_Niedrig: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:36:21 3: Luftstrom_Zuluft_Mittel: define with destination , protocol RTU
2016.11.26 08:36:21 3: Luftstrom_Zuluft_Mittel: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Luftstrom_Abluft_Mittel: define with destination , protocol RTU
2016.11.26 08:36:22 3: Luftstrom_Abluft_Mittel: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Luftstrom_Zuluft_Hoch: define with destination , protocol RTU
2016.11.26 08:36:22 3: Luftstrom_Zuluft_Hoch: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Luftstrom_Abluft_Hoch: define with destination , protocol RTU
2016.11.26 08:36:22 3: Luftstrom_Abluft_Hoch: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Luftstrom_Einheit: define with destination , protocol RTU
2016.11.26 08:36:22 3: Luftstrom_Einheit: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Vent_Zuluft: define with destination , protocol RTU
2016.11.26 08:36:22 3: Vent_Zuluft: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Vent_Abluft: define with destination , protocol RTU
2016.11.26 08:36:22 3: Vent_Abluft: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Filterwechsel: define with destination , protocol RTU
2016.11.26 08:36:22 3: Filterwechsel: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Filter_Repl: define with destination , protocol RTU
2016.11.26 08:36:22 3: Filter_Repl: defined with id 1, interval 43200, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Rotor: define with destination , protocol RTU
2016.11.26 08:36:22 3: Rotor: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Alarms: define with destination , protocol RTU
2016.11.26 08:36:22 3: Alarms: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Alarm_Filter: define with destination , protocol RTU
2016.11.26 08:36:22 3: Alarm_Filter: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Alarm_Ventilator: define with destination , protocol RTU
2016.11.26 08:36:22 3: Alarm_Ventilator: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Alarm_Rotor: define with destination , protocol RTU
2016.11.26 08:36:22 3: Alarm_Rotor: defined with id 1, interval 600, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Temp_Level: define with destination , protocol RTU
2016.11.26 08:36:22 3: Temp_Level: defined with id 1, interval 60, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Heizart: define with destination , protocol RTU
2016.11.26 08:36:22 3: Heizart: defined with id 1, interval 60, destination VR400Mod, protocol RTU
2016.11.26 08:36:22 3: Temp_Buero: I/O device is myJeelink
2016.11.26 08:36:22 3: Temp_Olivenbaum: I/O device is myJeelink
2016.11.26 08:36:23 3: Temp_Garage: I/O device is myJeelink
2016.11.26 08:36:23 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet:
2016.11.26 08:36:23 3: Registering HTTPSRV TABLETUI for URL /ftui and assigned link ftui/ ...
2016.11.26 08:36:23 3: Opening cul1 device /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
2016.11.26 08:36:23 3: Setting cul1 serial parameters to 38400,8,N,1
2016.11.26 08:36:26 3: cul1: Possible commands: ABCEeFfGhiKklMmRTtUVWXxYZz
2016.11.26 08:36:26 3: cul1 device opened
2016.11.26 08:36:26 1: Including ./log/fhem.save
2016.11.26 08:36:27 3: Onkyo device opened
2016.11.26 08:36:28 1: HMLAN_Parse: HMLAN1 new condition ok
2016.11.26 08:36:28 3: CUL_HM set Ter_Brunnen off
2016.11.26 08:36:28 3: CUL_HM set Ter_Licht off
2016.11.26 08:36:28 3: Device Bew_Kueche added to ActionDetector with 000:03 time
2016.11.26 08:36:28 3: Device Fen_Schlafz added to ActionDetector with 028:00 time
2016.11.26 08:36:29 3: Device Ter_Wohnz added to ActionDetector with 028:00 time
2016.11.26 08:36:30 3: CUL_HM set Jal_Bad statusRequest
2016.11.26 08:36:31 3: CUL_HM set Jal_Buero statusRequest
2016.11.26 08:36:32 3: CUL_HM set Jal_Florian1 statusRequest
2016.11.26 08:36:33 3: CUL_HM set Jal_Florian2 statusRequest
2016.11.26 08:36:34 3: CUL_HM set Jal_Hobby statusRequest
2016.11.26 08:36:35 3: CUL_HM set Jal_Julia statusRequest
2016.11.26 08:36:36 3: CUL_HM set Jal_Schlafz statusRequest
2016.11.26 08:36:37 3: CUL_HM set Jal_WohnzTV_Up statusRequest
2016.11.26 08:36:38 3: CUL_HM set Jal_WohnzTV_Down statusRequest
2016.11.26 08:36:39 3: CUL_HM set Jal_Kueche_Up statusRequest
2016.11.26 08:36:40 3: CUL_HM set Jal_Kueche_Down statusRequest
connect: Connection refused (111)
connect: Connection refused (111)
2016.11.26 08:36:41 3: CUL_HM set Lueftung_Niedrig statusRequest
2016.11.26 08:36:42 3: CUL_HM set Lueftung_Mittel statusRequest
2016.11.26 08:36:43 3: CUL_HM set Lueftung_Hoch statusRequest
2016.11.26 08:36:44 3: CUL_HM set Lueftung_Urlaub statusRequest
2016.11.26 08:36:45 3: CUL_HM set Jal_WohnzEck1_Up statusRequest
2016.11.26 08:36:46 3: CUL_HM set Jal_WohnzEck1_Down statusRequest
2016.11.26 08:36:47 3: CUL_HM set Jal_WohnzEck2_Up statusRequest
2016.11.26 08:36:48 3: CUL_HM set Jal_WohnzEck2_Down statusRequest
2016.11.26 08:36:49 3: CUL_HM set Jal_WohnzTer_Up statusRequest
2016.11.26 08:36:50 3: CUL_HM set Jal_WohnzTer_Down statusRequest
2016.11.26 08:36:51 3: CUL_HM set Jal_WohnzTisch_Up statusRequest
2016.11.26 08:36:52 3: CUL_HM set Jal_WohnzTisch_Down statusRequest
2016.11.26 08:37:00 5: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Request Timer wird aufgerufen
2016.11.26 08:37:00 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.26 08:37:00 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
connect: Connection refused (111)
connect: Connection refused (111)
2016.11.26 08:37:01 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
2016.11.26 08:41:21 3: SMAUtils (Solar): delayCounter not defined.
2016.11.26 08:44:26 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:44:42 3: FBDECT set Spiegellampe_Bad on
2016.11.26 08:46:42 3: FBDECT set Spiegellampe_Bad off
connect: Connection refused (111)
connect: Connection refused (111)
Mal klappt es mal nicht und dann immer mit unterschiedlichen Fehlermeldungen vom gatttool. mal die 112 mal die 111
Hier hat es mal super geklappt. Keine Fehlermeldung und ist durch bis zum Schluss.
2016.11.26 08:15:25 5: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Request Timer wird aufgerufen
2016.11.26 08:15:25 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.11.26 08:15:25 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
2016.11.26 08:15:26 3: CUL_HM set Jal_WohnzTV_Down statusRequest
2016.11.26 08:15:27 3: CUL_HM set Jal_Kueche_Up statusRequest
2016.11.26 08:15:28 3: CUL_HM set Jal_Kueche_Down statusRequest
2016.11.26 08:15:29 3: CUL_HM set Lueftung_Niedrig statusRequest
2016.11.26 08:15:30 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
2016.11.26 08:15:30 4: Sub XiaomiFlowerSens_Done (FM_Zitronenbaum) - Abschluss!
Zitat von: CoolTux am 26 November 2016, 08:21:41
@Pyromane
Würdest Du Dich als Testkandidat bereit stellen? Mein Problem ist das ich mir nicht erklären kann was da passiert ist. Daher würde ich Dich bitten die angehängte Version ein zu spielen. Im Grunde ist es genau die selbe Version die nicht geklappt hat bei Dir nur mit unendlich vielen Debugausgaben.
Selbstverständlich.
Die leeren Zeilen befinden sich wirklich im Log:
Define Routine timer
2016.11.26 14:41:54 3: XiaomiFlowerSens (Blume1) - defined with BTMAC C4:7C:8D:61:5F:89
Define Routine ENDE
stateRequestTimer gleich nach Einsprung
stateRequestTimer vor removeInternalTimer
stateRequestTimer vor readingsSingleUpdate
stateRequestTimer vor Aufruf von XiaomiFlowerSens
stateRequestTimer vor Aufruf des neuen Timers
Kannst Du Dir da ein Reim drauf machen? Hab gerade folgendes in der Console eingegeben, seitdem sind die Sensoren in Fhem aktiv.
Zitat
pi@raspberrypi ~ $ sudo hcitool lescan
LE Scan ...
C4:7C:8D:61:9C:C8 (unknown)
C4:7C:8D:61:9C:C8 Flower mate
C4:7C:8D:61:93:60 (unknown)
C4:7C:8D:61:93:60 Flower mate
C4:7C:8D:61:9C:C8 (unknown)
C4:7C:8D:61:9C:C8 Flower mate
C4:7C:8D:61:9C:C8 (unknown)
C4:7C:8D:61:9C:C8 Flower mate
C4:7C:8D:61:93:60 (unknown)
^Cpi@raspberrypi ~ $ btmgmt le on
Set Low Energy for hci0 failed with status 0x14 (Permission Denied)
pi@raspberrypi ~ $ sudo btmgmt le on
hci0 Set Low Energy complete, settings: powered ssp br/edr le
pi@raspberrypi ~ $ sudo gatttool -b c4:7c:8d:61:9c:c8
Usage:
gatttool [OPTION...]
Help Options:
-h, --help Show help options
--help-all Show all help options
--help-gatt Show all GATT commands
--help-params Show all Primary Services/Characteristics arguments
--help-char-read-write Show all Characteristics Value/Descriptor Read/Write arguments
Application Options:
-i, --adapter=hciX Specify local adapter interface
-b, --device=MAC Specify remote Bluetooth address
-t, --addr-type=[public | random] Set LE address type. Default: public
-m, --mtu=MTU Specify the MTU size
-p, --psm=PSM Specify the PSM for GATT/ATT over BR/EDR
-l, --sec-level=[low | medium | high] Set security level. Default: low
-I, --interactive Use interactive mode
pi@raspberrypi ~ $ sudo gatttool -b c4:7c:8d:61:9c:c8 -I
[c4:7c:8d:61:9c:c8][LE]> connect
Attempting to connect to c4:7c:8d:61:9c:c8
Connection successful
Notification handle = 0x0021 value: 00
Notification handle = 0x0021 value: 00
Notification handle = 0x0021 value: 00
[c4:7c:8d:61:9c:c8][LE]> help
help Show this help
exit Exit interactive mode
quit Exit interactive mode
connect [address [address type]] Connect to a remote device
disconnect Disconnect from a remote device
primary [UUID] Primary Service Discovery
included [start hnd [end hnd]] Find Included Services
characteristics [start hnd [end hnd [UUID]]] Characteristics Discovery
char-desc [start hnd] [end hnd] Characteristics Descriptor Discovery
char-read-hnd <handle> Characteristics Value/Descriptor Read by handle
char-read-uuid <UUID> [start hnd] [end hnd] Characteristics Value/Descriptor Read by UUID
char-write-req <handle> <new value> Characteristic Value Write (Write Request)
char-write-cmd <handle> <new value> Characteristic Value Write (No response)
sec-level [low | medium | high] Set security level. Default: low
mtu <value> Exchange MTU for GATT/ATT
[c4:7c:8d:61:9c:c8][LE]> char-ead_hnd 0x038
Error: char-ead_hnd: command not found
[c4:7c:8d:61:9c:c8][LE]> char-read_hnd 0x038
Error: char-read_hnd: command not found
[c4:7c:8d:61:9c:c8][LE]> char-read-hnd 0x038
Command Failed: Disconnected
[c4:7c:8d:61:9c:c8][LE]> connect
Attempting to connect to c4:7c:8d:61:9c:c8
Connection successful
[c4:7c:8d:61:9c:c8][LE]> char-read-hnd 0x038
Characteristic value/descriptor: 64 10 32 2e 36 2e 32
Notification handle = 0x0021 value: 00
Notification handle = 0x0021 value: 00
[c4:7c:8d:61:9c:c8][LE]> char-read-hnd 0x035
Characteristic value/descriptor: c7 00 00 32 00 00 00 00 05 00 00 00 00 00 00 00
Notification handle = 0x0021 value: 00
[c4:7c:8d:61:9c:c8][LE]>
Nicht wirklich. Es hatte ja auch so schonmal geklappt
Zitat
sudo btmgmt le on
hci0 Set Low Energy complete, settings: powered ssp br/edr le
Wenn überhaupt dann kann das was geholfen haben, aber wie gesagt. Es ging ja schon mal.
Zitat von: Pyromane am 26 November 2016, 15:05:44
Selbstverständlich.
Die leeren Zeilen befinden sich wirklich im Log:
Define Routine timer
2016.11.26 14:41:54 3: XiaomiFlowerSens (Blume1) - defined with BTMAC C4:7C:8D:61:5F:89
Define Routine ENDE
stateRequestTimer gleich nach Einsprung
stateRequestTimer vor removeInternalTimer
stateRequestTimer vor readingsSingleUpdate
stateRequestTimer vor Aufruf von XiaomiFlowerSens
stateRequestTimer vor Aufruf des neuen Timers
Danke Dir. Kannst Du bitte mal schauen ob Du noch das hier drin stehen hast "stateRequestTimer nach Aufruf des Timers"
Zitat von: CoolTux am 26 November 2016, 18:50:07
Danke Dir. Kannst Du bitte mal schauen ob Du noch das hier drin stehen hast "stateRequestTimer nach Aufruf des Timers"
Ich finde keinen entsprechenden Eintrag im Log, wobei ich FHEM ca 20 Min in dem Zustand lassen habe.
Zitat von: CoolTux am 26 November 2016, 17:58:06
Nicht wirklich. Es hatte ja auch so schonmal geklappt
Wenn überhaupt dann kann das was geholfen haben, aber wie gesagt. Es ging ja schon mal.
zumindest kurz :-[
Hab jetzt das ganze bluez mal komplett runtergeworfen und neu installiert (Version 5.43).
pi@raspberrypi ~/bluez-5.43 $ hciconfig
hci0: Type: Primary Bus: USB
BD Address: 00:1A:7D:DA:71:14 ACL MTU: 310:10 SCO MTU: 64:8
DOWN
RX bytes:1452 acl:3 sco:0 events:82 errors:0
TX bytes:1151 acl:3 sco:0 commands:68 errors:1
pi@raspberrypi ~/bluez-5.43 $ sudo hciconfig hci0 up
pi@raspberrypi ~/bluez-5.43 $ sudo hcitool lescan
LE Scan ...
C4:7C:8D:61:93:60 (unknown)
C4:7C:8D:61:93:60 Flower mate
C4:7C:8D:61:93:60 (unknown)
C4:7C:8D:61:93:60 Flower mate
C4:7C:8D:61:9C:C8 (unknown)
C4:7C:8D:61:9C:C8 Flower mate
C4:7C:8D:61:93:60 (unknown)
C4:7C:8D:61:93:60 Flower mate
C4:7C:8D:61:93:60 (unknown)
C4:7C:8D:61:93:60 Flower mate
^Cpi@raspberrypi ~/bluez-5.43 $ sudo hcitool lecc c4:7c:8d:61:93:60
Connection handle 72
pi@raspberrypi ~/bluez-5.43 $ sudo hcitool lecc c4:7c:8d:61:9c:c8
Connection handle 72
Jetzt sind die Dinger erst mal wieder "Online". Mal sehen wie lange das hält oder ob es das jetzt war.
Zitat von: Pyromane am 26 November 2016, 19:56:25
Ich finde keinen entsprechenden Eintrag im Log, wobei ich FHEM ca 20 Min in dem Zustand lassen habe.
Ok ich danke Dir. Ich baue nachher noch bisschen was zum testen.
Grüße
Bitte diese Version mal testen.
Wie gewünscht:
Define Routine timer
2016.11.26 22:47:28 3: XiaomiFlowerSens (Blume1) - defined with BTMAC C4:7C:8D:61:5F:89
Define Routine ENDE
stateRequestTimer gleich nach Einsprung
stateRequestTimer vor removeInternalTimer
stateRequestTimer vor readingsSingleUpdate
stateRequestTimer vor Aufruf von XiaomiFlowerSens
XiaomiFlowersSens Sub Einsprung
XiaomiFlowersSens Sub Kurz nach holen der XiaomiFlowerSens_forRun_encodeJSON
stateRequestTimer vor Aufruf des neuen Timers
PS: Darf ich die Leerzeilen entfernen?
Tante EDIT sagt:
Vielleicht hilft es, perl_version v5.20.2
Mal eine Frage. Habt Ihr ein eigenes Interval gesetzt?
Hängt das FHEM immer noch?
Zitat von: CoolTux am 26 November 2016, 23:31:13
Mal eine Frage. Habt Ihr ein eigenes Interval gesetzt?
Hängt das FHEM immer noch?
Japp, hatte 1800 eingetragen und es hängte.
Interval entfernt und siehe da:
Internals:
BTMAC C4:7C:8D:61:5F:89
DEF C4:7C:8D:61:5F:89
INTERVAL 3600
NAME Blume1
NR 48
STATE active
TYPE XiaomiFlowerSens
VERSION 0.2.3hotfix2
Helper:
Dblog:
Battery:
Mydblog:
TIME 1480199762.26589
VALUE 100
Fertility:
Mydblog:
TIME 1480199762.26589
VALUE 532
Firmware:
Mydblog:
TIME 1480199762.26589
VALUE 2.6.2
Lux:
Mydblog:
TIME 1480199762.26589
VALUE 9
Moisture:
Mydblog:
TIME 1480199762.26589
VALUE 19
State:
Mydblog:
TIME 1480199762.26589
VALUE active
Temperature:
Mydblog:
TIME 1480199762.26589
VALUE 20.6
Readings:
2016-11-26 23:36:02 battery 100
2016-11-26 23:36:02 fertility 532
2016-11-26 23:36:02 firmware 2.6.2
2016-11-26 23:36:02 lux 9
2016-11-26 23:36:02 moisture 19
2016-11-26 23:36:02 state active
2016-11-26 23:36:02 temperature 20.6
Helper:
Attributes:
room FlowerSens
verbose 5
Define Routine timer
2016.11.26 23:35:17 3: XiaomiFlowerSens (Blume1) - defined with BTMAC C4:7C:8D:61:5F:89
Define Routine ENDE
stateRequestTimer gleich nach Einsprung
stateRequestTimer vor removeInternalTimer
stateRequestTimer vor readingsSingleUpdate
2016.11.26 23:35:59 5: Sub XiaomiFlowerSens (Blume1) - Request Timer wird aufgerufen
stateRequestTimer vor Aufruf von XiaomiFlowerSens
XiaomiFlowersSens Sub Einsprung
XiaomiFlowersSens Sub Kurz nach holen der XiaomiFlowerSens_forRun_encodeJSON
2016.11.26 23:35:59 3: telnetForBlockingFn_1480199759: port 56685 opened
2016.11.26 23:35:59 4: Sub XiaomiFlowerSens (Blume1) - Starte Blocking Call
2016.11.26 23:35:59 4: Sub XiaomiFlowerSens_Run (Blume1) - Running nonBlocking
stateRequestTimer vor Aufruf des neuen Timers
stateRequestTimer nach Aufruf des Timers
2016.11.26 23:36:02 4: Sub XiaomiFlowerSens_Run (Blume1) - Rückgabe an Auswertungsprogramm beginnt
2016.11.26 23:36:02 4: Sub XiaomiFlowerSens_Done (Blume1) - Abschluss!
es funktioniert :)
Habe ich auch gerade rausgefunden. hihi. Jetzt muß ich nur noch schauen wieso. Aber das klappt auch noch
Ich bekomme mit der Version 0.2.0 folgende Fehlermeldungen:
Too many arguments for main::XiaomiFlowerSens_gattCharRead at ./FHEM/74_XiaomiFlowerSens.pm line 251, near "$wfr)"
Too many arguments for main::XiaomiFlowerSens_readBatFW at ./FHEM/74_XiaomiFlowerSens.pm line 254, near "$mac)"
Da stimmt die Anzahl der Argumente nicht.
So fix ist nun fertig. Version 0.2.3 sollte es nun wie erwartet tun auch wenn man einen eigenen Interval angegeben hat.
Auch ist das Problem mit
Too many arguments for main::XiaomiFlowerSens_gattCharRead at ./FHEM/74_XiaomiFlowerSens.pm line 251, near "$wfr)"
Too many arguments for main::XiaomiFlowerSens_readBatFW at ./FHEM/74_XiaomiFlowerSens.pm line 254, near "$mac)"
gefixt worden.
Grüße
Japp, scheint zu funktionieren. Ob das Interval eingehalten wird berichte ich morgen.
Danke für den schnellen Fix!
Ich bekomme die gleiche Fehlermeldung, aber jetzt mit anderen Zeilennummern:
Too many arguments for main::XiaomiFlowerSens_gattCharRead at ./FHEM/74_XiaomiFlowerSens.pm line 239, near "$wfr)"
Too many arguments for main::XiaomiFlowerSens_readBatFW at ./FHEM/74_XiaomiFlowerSens.pm line 242, near "$mac)"
Du musst ein shutdown restart machen. Nicht einfach nur ein reload Modulname
Yep, nach "shutdown restart" gehts! Danke!!!
Hi,
habe gerade das Modul bei mir eingebaut. Hat auch alles bisher super geklappt - der manuelle statusRequest klappt einwandfrei.
Komischerweise zieht aber meine interval- Einstellung nicht (habe sie auf 7 Minuten gestellt).
Hier mal ein List eines Device:
Zitat
Internals:
BTMAC C4:7C:8D:61:3C:B5
CFGFN
DEF C4:7C:8D:61:3C:B5
INTERVAL 420
NAME Plant1
NR 50
STATE active
TYPE XiaomiFlowerSens
VERSION 0.2.3
Readings:
2016-11-27 09:52:43 battery 93
2016-11-27 09:52:43 fertility 94
2016-11-27 09:52:43 firmware 2.6.2
2016-11-27 09:52:43 lux 1554
2016-11-27 09:52:43 moisture 43
2016-11-27 09:52:43 state active
2016-11-27 09:52:43 temperature 20.3
Helper:
Attributes:
disabledForIntervals 23:00-24:00 0:00-6:45
hciDevice hci1
interval 420
room Pflanzen
verbose 5
Im Log erscheint auch nichts..
Zitat von: stoxx am 27 November 2016, 10:20:21Komischerweise zieht aber meine interval- Einstellung nicht (habe sie auf 7 Minuten gestellt).
Es gibt eine Min Intervall Zeit, nur finde ich dazu gerade nichts.
Du musst dem Modul INTERVAL plus max 300 Zeit geben. Die max 300 ist ein Zufallswert. Also einfach bisschen abwarten.
@All
In der nächsten Version wird sich der Default Interval ändern. Er wird dann das min betragen. Also 300.
Grüße
Zitat von: Pyromane am 27 November 2016, 10:32:12
Es gibt eine Min Intervall Zeit, nur finde ich dazu gerade nichts.
Die min Interval sind 300. Aber würde man die unterschreiten würde es eine Fehlermeldung geben.
ZitatDu musst dem Modul INTERVAL plus max 300 Zeit geben. Die max 300 ist ein Zufallswert. Also einfach bisschen abwarten.
okay
Jetzt ist der Status auf disabled gesprungen, obwohl wir zeitlich garnicht in den Intervallen sind..
Zitat
Internals:
BTMAC C4:7C:8D:61:3C:B5
CFGFN
DEF C4:7C:8D:61:3C:B5
INTERVAL 420
NAME Plant1
NR 50
STATE disabled
TYPE XiaomiFlowerSens
VERSION 0.2.3
Readings:
2016-11-27 09:52:43 battery 93
2016-11-27 09:52:43 fertility 94
2016-11-27 09:52:43 firmware 2.6.2
2016-11-27 09:52:43 lux 1554
2016-11-27 09:52:43 moisture 43
2016-11-27 10:30:20 state disabled
2016-11-27 09:52:43 temperature 20.3
Helper:
Attributes:
disabledForIntervals 23:00-24:00 0:00-6:45
hciDevice hci1
interval 420
room Pflanzen
verbose 5
Hallo zusammen!
Ich verfolge das hier schon eine ganze Weile und mir stellt sich irgendwie die Frage, welchen Sinn es macht, die Pflanzen quasi in Echtzeit zu überwachen.
Sollte es nicht reichen, jede Pflanze ein bis zwei mal am Tag abzufragen? Das könnte man dann seriell tun, sodass sich zwei Sensoren auch nicht behaken können. Oder bin ich auf dem Holzweg?
Deswegen hatte ich ja das INTERVAL schon auf eine Stunde. Bin auch der Meinung 3-4 mal am Tag reicht. Wegen Fehlertoleranz und so.
@Stoxx
Schaue ich mir an.
Zitat von: stoxx am 27 November 2016, 10:38:23
okay
Jetzt ist der Status auf disabled gesprungen, obwohl wir zeitlich garnicht in den Intervallen sind..
Kannst du bitte mal nur mit einer Zeitangabe versuchen. Nur zum testen.
Zitatmir stellt sich irgendwie die Frage, welchen Sinn es macht, die Pflanzen quasi in Echtzeit zu überwachen.
Ich verwende die Sensoren hauptsächlich für Gießanweisungen. Wenn die Pflanze gegossen wird, soll der Status "Pflanze gegossen" möglichst zeitnah erfolgen, um zu verhindern, dass die Pflanze nochmal durch andere Wohnungs-Mitbewohner gegossen wird :-) .
ZitatKannst du bitte mal nur mit einer Zeitangabe versuchen. Nur zum testen.
Ich habe mal das Attribut komplett gelöscht. Der Status ist auf "disabled" geblieben, die Werte wurden trotzdem aktualisiert.
Jetzt habe ich mal nur ein Intervall angegeben.
Zitat
Internals:
BTMAC C4:7C:8D:61:3C:B5
CFGFN
DEF C4:7C:8D:61:3C:B5
INTERVAL 420
NAME Plant1
NR 50
STATE disabled
TYPE XiaomiFlowerSens
VERSION 0.2.3
Readings:
2016-11-27 11:07:18 battery 93
2016-11-27 11:07:18 fertility 93
2016-11-27 11:07:18 firmware 2.6.2
2016-11-27 11:07:18 lux 1127
2016-11-27 11:07:18 moisture 42
2016-11-27 10:57:55 state disabled
2016-11-27 11:07:18 temperature 20
Helper:
Attributes:
disabledForIntervals 04:00-05:00
hciDevice hci1
interval 420
room Pflanzen
verbose 5
Und hier nochmal was aus dem Log:
Zitat
2016.11.27 11:07:16 5: Sub XiaomiFlowerSens (Plant1) - Request Timer wird aufgerufen
2016.11.27 11:07:16 4: Sub XiaomiFlowerSens (Plant1) - Starte Blocking Call
2016.11.27 11:07:16 4: Sub XiaomiFlowerSens_Run (Plant1) - Running nonBlocking
2016.11.27 11:07:18 4: Sub XiaomiFlowerSens_Run (Plant1) - Rückgabe an Auswertungsprogramm beginnt
2016.11.27 11:07:20 4: Sub XiaomiFlowerSens_Done (Plant1) - Abschluss!
2016.11.27 11:16:02 5: Sub XiaomiFlowerSens (Plant1) - Request Timer wird aufgerufen
2016.11.27 11:16:02 4: Sub XiaomiFlowerSens (Plant1) - Starte Blocking Call
2016.11.27 11:16:02 4: Sub XiaomiFlowerSens_Run (Plant1) - Running nonBlocking
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
2016.11.27 11:16:13 4: Sub XiaomiFlowerSens_Run (Plant1) - Rückgabe an Auswertungsprogramm beginnt
connect error: Function not implemented (38)
connect error: Function not implemented (38)
Ich habe so eben eine neue Version 0.2.4 ins Git geladen. Hier ist ein besseres Händling von disabledForIntervals. Ausserdem ist das default Interval jetzt 300.
Kurz zum disabledForIntervals. Jedesmal wenn Ihr den setzt wird automatisch der Status Unknown gesetzt und ändert sich erst nach einem statusRequest oder nach INTERVAL.
ZitatIch habe so eben eine neue Version 0.2.4 ins Git geladen.
Eingebunden - gebe morgen Rückmeldung!
Habe gerade mal nachgesehen - disabledForIntervals klappt jetzt tadellos!
Danke und Grüße
stoxx
Danke CoolTux. Ist ein wirklich tolles Plugin.
Habe heute meinen zweiten Sensor bekommen. Weitere sind unterwegs. Der neue hat leider schon wieder eine neue Firmware. 2.7.0
NR 458
STATE active
TYPE XiaomiFlowerSens
VERSION 0.2.4
Readings:
2016-11-30 19:46:02 battery 100
2016-11-30 19:46:02 fertility 26231
2016-11-30 19:46:02 firmware 2.7.0
2016-11-30 19:46:02 lux 61149
2016-11-30 19:46:02 moisture 136
2016-11-30 19:46:02 state active
2016-11-30 19:46:02 temperature 4804.2
Wäre super wenn du das anpassen könntest. Was genau würdest du dazu brauchen?
Danke schon mal
ZnarfMe
Bitte mal mal ein
gatttool -i hci0 -b MAC --char-read -a 0x35
Sollte dabei nur nullen raus kommen dann bitte vorher ein
gatttool -i hci0 -b MAC --char-write-req -a 0x33 -n A01F
Grüße
Leon
Hi Leon,
anbei der Output.
root@raspberrypi:~# gatttool -i hci0 -b "C4:7C:8D:61:8C:**" --char-read -a 0x35
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
root@raspberrypi:~# gatttool -b "C4:7C:8D:61:8C:**" --char-write-req -a 0x33 -n A01F
Characteristic value was written successfully
root@raspberrypi:~# gatttool -i hci0 -b "C4:7C:8D:61:8C:**" --char-read -a 0x35
Characteristic value/descriptor: cc 00 00 08 00 00 00 2d be 05 02 3c 00 fb 34 9b
Grüße
Franz
Bitte einmal installieren und testen. Danke
Genjal. Hab als Laie noch einen kleinen Fehler im Code geändert.
Fehler: Global symbol "$temp" requires explicit package name at ./FHEM/74_XiaomiFlowerSens.pm line 302.
Zeile 269 Variable deklariert
my $temp = "";
Danke das du die Community so unterstützt.
Sensor 1
2016-11-30 22:08:36 battery 89
2016-11-30 22:08:36 fertility 432
2016-11-30 22:08:36 firmware 2.6.6
2016-11-30 22:08:36 lux 135
2016-11-30 22:08:36 moisture 34
2016-11-30 22:08:36 state active
2016-11-30 22:08:36 temperature 0
Sensor 2 (Daten mit der APP geprüft)
2016-11-30 22:05:27 battery 100
2016-11-30 22:05:27 fertility 1488
2016-11-30 22:05:27 firmware 2.7.0
2016-11-30 22:05:27 lux 100
2016-11-30 22:05:27 moisture 45
2016-11-30 22:05:27 state active
2016-11-30 22:05:27 temperature 0
Er hat die Temperatur nicht korrekt ausgeben können. Das hatte mit dem my $temp nichts zu tun. Irgendwas hat ihm da nicht gefallen.
Ich schaue noch mal
Bitte noch einmal testen
Hallo,
ist das Modul eigentlich schon innerhalb von fhem veröffentlicht? Also wird es bei einem Update auch aktualisiert?
Viele Grüße vom gent
Nein
Hab ja noch nicht aufgegeben. Wird das gatttool in einem besonderen Verzeichnis erwartet?
hab es nach /usr/local/bin kopiert.
2016.12.01 21:05:37 1: PERL WARNING: Can't exec "gatttool": No such file or directory at ./FHEM/74_XiaomiFlowerSens.pm line 282.
2016.12.01 21:05:37 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/74_XiaomiFlowerSens.pm line 282.
2016.12.01 21:05:37 1: PERL WARNING: Can't exec "gatttool": No such file or directory at ./FHEM/74_XiaomiFlowerSens.pm line 309.
2016.12.01 21:05:37 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/74_XiaomiFlowerSens.pm line 309.
Hi,
meines ist hier:
pi@fhem-pi3:~ $ which gatttool
/usr/bin/gatttool
Damit funktioniert das Modul
Viele Grüße vom gent
Zitat von: baukater am 01 Dezember 2016, 21:11:47
Hab ja noch nicht aufgegeben. Wird das gatttool in einem besonderen Verzeichnis erwartet?
hab es nach /usr/local/bin kopiert.
2016.12.01 21:05:37 1: PERL WARNING: Can't exec "gatttool": No such file or directory at ./FHEM/74_XiaomiFlowerSens.pm line 282.
2016.12.01 21:05:37 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/74_XiaomiFlowerSens.pm line 282.
2016.12.01 21:05:37 1: PERL WARNING: Can't exec "gatttool": No such file or directory at ./FHEM/74_XiaomiFlowerSens.pm line 309.
2016.12.01 21:05:37 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/74_XiaomiFlowerSens.pm line 309.
Nein. Es muss aber als path angegeben sein in den environments
Und wie macht man das?
Hab es jetzt auch nach /usr/bin kopiert.
Ein which gatttol gibt dann aber trotzdem /usr/local/bin/gatttool aus.
Die Fehlermeldung ist weg, aber jetzt bin ich wieder an derselben Stelle wie vor einer Woche:
2016.12.01 21:33:42 5: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Request Timer wird aufgerufen
2016.12.01 21:33:42 4: Sub XiaomiFlowerSens (FM_Zitronenbaum) - Starte Blocking Call
2016.12.01 21:33:42 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Running nonBlocking
connect: No route to host (113)
connect: No route to host (113)
2016.12.01 21:33:43 4: Sub XiaomiFlowerSens_Run (FM_Zitronenbaum) - Rückgabe an Auswertungsprogramm beginnt
Und mit der App geht alles? Ich werde echt nicht schlau aus der Meldung?
Hi baukater,
ich vermute mal, dass Du zwischenzeitlich mal ein reboot vom pi gemacht hast?
Was gibt denn im aktuellen Zustand (also Das Modul liefert "connect: No route to host (113)" zurück) ein
hciconfig
aus?
Eventuell ist es so wie bei mir, dass hciconfig kein device hci0 findet. Daher habe ich in meiner Datei /etc/rc.local eine Zeile vor
exit 0
folgendes eingefügt
sudo hciconfig hci0 up
Und was sagt
hcitool
insbesondere in der ersten Zeile sollte stehen:
hcitool - HCI Tool ver 5.43
Wenn nicht, dann hast Du bluez wahrscheinlich wieder "downgegradet" z.B. in dem Du Pakete installiert hast, die von bluez in der offiziellen 5.23 version abhängig sind.
Ich hoffe, Du kommst mit dem oben stehenden weiter, sonst frag' bitte einfach kurz nach.
Viele Grüße vom gent
Zitat
ich vermute mal, dass Du zwischenzeitlich mal ein reboot vom pi gemacht hast?
Genau dieses verhalten hatte ich schon. Lief die ganze Nacht durch und morgens nach einem reboot
zu testzwecken ging nichts mehr.
Zitat
Eventuell ist es so wie bei mir, dass hciconfig kein device hci0 findet. Daher habe ich in meiner Datei /etc/rc.local eine Zeile vor
exit 0
folgendes eingefügt
sudo hciconfig hci0 up
Super Tip! Habe ich jetzt gemacht.
Zitat
Wenn nicht, dann hast Du bluez wahrscheinlich wieder "downgegradet" z.B. in dem Du Pakete installiert hast, die von bluez in der offiziellen 5.23 version abhängig sind.
[\quote]
Vorgestern hatte ich einen downgrade auf 5.11 gemacht, weil ich sonst keine Idee mehr hatte und dieser Tip aus dem Internet kam. Hab jetzt alles nochmals deinstalliert und die Version 5.43 installiert.
Sieht momentan ganz gut aus. Allerdings lief das ca. 3 Stunden und dann war wieder alles weg. Kein Reboot oder sonstiges. Hab mich nur aus der Console ausgeloggt. Nach einem kurzen Check hab ich gemerkt, dass dass device hci0 wieder DOWN war. Wieder gestartet ... läuft!
Zitat
Ich hoffe, Du kommst mit dem oben stehenden weiter, sonst frag' bitte einfach kurz nach.
Hat mir jetzt super geholfen! Vielen Dank. Ich hoffe, dass der Status jetzt auch bleibt.
Vor lauter Begeisterung hab ich gleich nochmal 2 Stück bestellt. ;D
Gruß
Markus
Ich habe gerade Version 0.2.6 ins Git geladen.
Support für Firmware 2.7.0
Support für Minus Temperaturen
Grüße
Zitat von: gent am 01 Dezember 2016, 22:30:47
Eventuell ist es so wie bei mir, dass hciconfig kein device hci0 findet. Daher habe ich in meiner Datei /etc/rc.local eine Zeile vor
exit 0
folgendes eingefügt
sudo hciconfig hci0 up
Und was sagt
hcitool
Hallo Gent,
nachdem das ja jetzt über einen größeren Zeitraum funktioniert, habe ich inzwischen festgestellt, dass irgendwann das
hci0 auf status DOWN geht. Ich habe weder den Pi noch FHEM gestartet. Allerdings ein paar defines in die config aufgenommen.
Ich muss mich dann an der Konsole anmelden und ein "hciconfig hci0 up" und ein "btmgmt le on" absetzen, dann läufts wieder. Also irgendwie scheint das Ding ab und an abzustürzen.
Hast Du einen Tip wonach ich suchen muss?
Hi, kann bestätigen. Die 2.7.0 funktioniert. Danke nochmals. Schönen Abend
Zitat von: CoolTux am 03 Dezember 2016, 20:06:09
Support für Minus Temperaturen
Habs gerade eingespielt, leider ist es bei uns gerade nicht so kalt :P
Hallo baukater,
Zitat von: baukater am 03 Dezember 2016, 20:13:38
Hallo Gent,
nachdem das ja jetzt über einen größeren Zeitraum funktioniert, habe ich inzwischen festgestellt, dass irgendwann das
hci0 auf status DOWN geht. Ich habe weder den Pi noch FHEM gestartet. Allerdings ein paar defines in die config aufgenommen.
Ich muss mich dann an der Konsole anmelden und ein "hciconfig hci0 up" und ein "btmgmt le on" absetzen, dann läufts wieder. Also irgendwie scheint das Ding ab und an abzustürzen.
Hast Du einen Tip wonach ich suchen muss?
benutzt Du ein BT-Dongle oder einen Raspberry 3? Wenn ein Dongle im Spiel ist: Hast Du den direkt angeschlossen oder an einem USB-Hub?
Wenn das device nicht mehr geht, was sagt denn dann lsusb auf der Konsole, sofern es ein USB Dongle ist?
Grüße vom gent
Zitat von: gent am 04 Dezember 2016, 10:15:13
Hallo baukater,
benutzt Du ein BT-Dongle oder einen Raspberry 3? Wenn ein Dongle im Spiel ist: Hast Du den direkt angeschlossen oder an einem USB-Hub?
Wenn das device nicht mehr geht, was sagt denn dann lsusb auf der Konsole, sofern es ein USB Dongle ist?
Grüße vom gent
Zur Zeit nutze ich ein Bt-Dongle an einem Hub am Rasbi 2. Ein Raspi 3 ist bestellt, weil die Reichweite zu gering ist und ich deshalb einen weiteren in der Nähe der Terrasse aufstellen werde.
Was lsusb sagt, wenn es weg ist, kann ich Dir erst sagen, wenn's wieder soweit ist.
Update 05.12.2016 18:00 :
Die Flowermates sind laut Protokoll seit ca. 11:30 Uhr nicht mehr erreicht worden.
lsusb liefert mit den Dongle:
Bus 001 Device 015: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
ein hciconfig sagt mir Status UP RUNNING:
hci0: Type: BR/EDR Bus: USB
BD Address: 00:1A:7D:DA:71:14 ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING
RX bytes:1979557 acl:238 sco:0 events:17511 errors:0
TX bytes:104008 acl:228 sco:0 commands:7797 errors:28
btmgmt sagt immer noch le on
[mgmt]# info
Index list with 1 item
hci0: Primary controller
addr 00:1A:7D:DA:71:14 version 6 manufacturer 10 class 0x000000
supported settings: powered connectable fast-connectable discoverable bondable link-security ssp br/edr hs le advertising secure-conn debug-keys privacy static-addr
current settings:
powered br/edr le name CSR8510 A10
short name
Update:
Hab gerade ein hciconfig hic0 down und dann wieder ein hciconfig hci0 up abgesetzt. Nach einem anschließendem Statusreqeust steht der Status der Sensoren wieder auf aktiv. Sehr seltam....
Zitat von: CoolTux am 03 Dezember 2016, 20:06:09
Ich habe gerade Version 0.2.6 ins Git geladen.
Support für Firmware 2.7.0
Support für Minus Temperaturen
Version 0.2.6 installiert
- funktioniert incl. Minus Temperaturen
Danke und Grüße
mi.ke
@baukater: Sorry, dass ich mich erst jetzt wieder melde. War ein paar Tage außer Gefecht gesetzt. Alles das, was Du beschrieben hast, sieht meiner Meinung nach gut aus. Du schreibst: "laut Protokoll seit 11:30 nicht mehr erreicht worden". Das bedeutet, Du hast ein log-device, in dem Du den output der Sensoren mit protokollierst? Wenn nicht, dann richte das doch einmal ein.
Ich finde diese Art von "Workaround" natürlich grundsätzlich nicht toll, aber Du könntest ja auch einen cron-job anlegen, der in einem gewissen Zeitraum immer "hciconfig hic0 down und dann wieder ein hciconfig hci0 up " durchführt.
Sorry, aber mir fällt leider dazu auch nicht mehr ein.
Viele Grüße vom gent
Hallo CoolTux,
gäbe es eine Möglichkeit, dass im Falle das der FlowerSens nicht erreichbar ist, keine Readings-Änderungen passieren? Bei mir kommt es eigentlich immer mal wieder am Tag vor, dass die Sensoren nicht erreicht werden können. Im Logfile steht dann meist so etwas wie:
connect error: Transport endpoint is not connected (107)
2016.12.08 16:56:12 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 16470
2016.12.08 16:56:12 3: (Mango) - The BlockingCall Process terminated unexpectedly. Timedout
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
2016.12.08 17:17:19 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 17592
2016.12.08 17:17:19 3: (Mango) - The BlockingCall Process terminated unexpectedly. Timedout
connect error: Transport endpoint is not connected (107)
Das führt dann dazu, dass sich die Werte der Readings auf 0 ändern und das wiederum führt dazu, dass die SVG-plots dann blöd aussehen.
Wäre es daher grundsätzlich machbar, dass die alten Readings erhalten bleiben, wenn keine neuen Daten abgerufen werden können?
Könnte man das auch mit FHEM-Bordmitteln machen, wenn es sich nicht im Modul abfangen lässt?
Viele Grüße vom gent
Eine Frage: nutzt ihr die Dinger auch draussen? Halten die Regen etc aus?
Zitat von: gent am 08 Dezember 2016, 18:47:19
Hallo CoolTux,
gäbe es eine Möglichkeit, dass im Falle das der FlowerSens nicht erreichbar ist, keine Readings-Änderungen passieren? Bei mir kommt es eigentlich immer mal wieder am Tag vor, dass die Sensoren nicht erreicht werden können. Im Logfile steht dann meist so etwas wie:
connect error: Transport endpoint is not connected (107)
2016.12.08 16:56:12 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 16470
2016.12.08 16:56:12 3: (Mango) - The BlockingCall Process terminated unexpectedly. Timedout
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
2016.12.08 17:17:19 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 17592
2016.12.08 17:17:19 3: (Mango) - The BlockingCall Process terminated unexpectedly. Timedout
connect error: Transport endpoint is not connected (107)
Das führt dann dazu, dass sich die Werte der Readings auf 0 ändern und das wiederum führt dazu, dass die SVG-plots dann blöd aussehen.
Wäre es daher grundsätzlich machbar, dass die alten Readings erhalten bleiben, wenn keine neuen Daten abgerufen werden können?
Könnte man das auch mit FHEM-Bordmitteln machen, wenn es sich nicht im Modul abfangen lässt?
Viele Grüße vom gent
Schaue ich mir an. Sollte eigentlich so nicht passieren.
Zitat von: gent am 08 Dezember 2016, 18:47:19
Hallo CoolTux,
gäbe es eine Möglichkeit, dass im Falle das der FlowerSens nicht erreichbar ist, keine Readings-Änderungen passieren? Bei mir kommt es eigentlich immer mal wieder am Tag vor, dass die Sensoren nicht erreicht werden können. Im Logfile steht dann meist so etwas wie:
connect error: Transport endpoint is not connected (107)
2016.12.08 16:56:12 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 16470
2016.12.08 16:56:12 3: (Mango) - The BlockingCall Process terminated unexpectedly. Timedout
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
2016.12.08 17:17:19 1: Timeout for XiaomiFlowerSens_Run reached, terminated process 17592
2016.12.08 17:17:19 3: (Mango) - The BlockingCall Process terminated unexpectedly. Timedout
connect error: Transport endpoint is not connected (107)
Das führt dann dazu, dass sich die Werte der Readings auf 0 ändern und das wiederum führt dazu, dass die SVG-plots dann blöd aussehen.
Wäre es daher grundsätzlich machbar, dass die alten Readings erhalten bleiben, wenn keine neuen Daten abgerufen werden können?
Könnte man das auch mit FHEM-Bordmitteln machen, wenn es sich nicht im Modul abfangen lässt?
Viele Grüße vom gent
Bitte einmal diese Version testen. Ich gehe wirklich davon aus das dann alle Deine Werte 0 sind. Also auch Batterie und Firmware und so. Wenn nicht gib bescheid dann mache ich da noch was anders.
Mal ein Scherz am Rande: nachdem meine Frau den ersten Sensor entdeckt hat, musste ich 5 nachbestellen... Der WAF meiner FHEM Installation ist massiv gestiegen
Gesendet von meinem SM-G930F mit Tapatalk
Nur weil die Teile da sind und in FHEM was anzeigen, oder wertest Du auch aus. Also wann muß gegossen werden und wann gedünkt oder so.
Aber sag mal Deine Frau danke für die Blumen an den Modulauthor ;D
Im Moment ist ja nur ein Sensor in Betrieb - die anderen sind ja noch auf dem Weg - dieser eine zeigt nen Plot auf dem Webfrontend an, das sie sich auf dem Handy anschaut. Irgendwelche Auswertungen kommen da sicherlich noch, nur muß das jetzt mal die etwas längere Beobachtung zeigen, was hier sinnvolle Werte sind...
Hallo CoolTux,
ich habe die Version gerade heruntergeladen und installiert. Bin mir nicht so sicher, ob die Firmware auch "0" ist, wenn der Sensor gerade keine Werte liefert, aber ich werde es dann ja spätestens morgen oder übermorgen sehen.
Vielen Dank erstmal und Viele Grüße vom Gent
Wäre interessant zu wissen ob wirklich alle Readings 0 sind. Wenn nicht lass mal ein Device Log laufen bitte.
Hi Cooltux,
habe nur kurz in die Zwischenablage kopiert:
battery
100
2016-12-12 19:51:17
fertility
0
2016-12-12 19:51:17
firmware
2.6.6
2016-12-12 19:51:17
lux
0
2016-12-12 19:51:17
moisture
0
2016-12-12 19:51:17
state
active
2016-12-12 19:51:17
temperature
0
2016-12-12 19:51:17
Scheint so, dass die battery auf 100 und die Firmware auf dem Wert bleibt, den sie hatte.
Kannst Du das irgendwie nachvollziehen? Insbesondere mit der Firmware?
Viele Grüße
Nicht wirklich. Passt denn Batterie 100 bei Dir?
Batterie und Firmware werden in einem anderen Subaufruf abgerufen. Möglich das da wieder die Verbindung passt. Werde das auf jedenfall passend einbauen das Firmware und Batterie nicht auf 0 geprüft werden.
Komischerweise ist die Batterie bei dem Sensor schon "seit immer" auf 100. Bei meinem anderen Sensor war die zunächst auch bei 100, dann mal bei 87 und jetzt ist sie wieder bei 93. Das fand ich schon immer komisch.
Es könnte natürlich sein, dass bei dem anderen Subaufruf die Verbindung wieder OK ist/war.
Soll ich mal "hart" testen, in dem ich den Sensor mal "out of range" stelle und dann mal schauen, was tatsächlich passiert mit den Werten?
Außerdem werde ich mein devicelog noch um firmware erweitern und dann mal den Output im "nicht erreichbar" Status hier posten.
Viele Grüße vom Gent
Hi CoolTux,
vielleicht wäre in Zeile 264 auch folgendes ausreichend:
if( $temp == 0 and $lux == 0 and $moisture == 0 and $fertility == 0);
Wirst Du ja sicher auch wissen, ich könnte das natürlich auch für Dich ausprobieren.
Viele Grüße vom Gent
So war der Plan. Aber da fehlteh noch was in der Done Sub. Habe da eine Abfrage vergessen.
So hier nun eine neue verbesserte Version
Hallo CoolTux,
ich habe die neue Version jetzt mal im Betrieb. Es scheint so zu sein, dass die Werte tatsächlich erhalten bleiben, wenn das Modul in die "corrupted data" Bedingung geht. Allerdings bleibt dieser state erhalten, auch wenn das Modul wieder Werte liefert.
In beigefügten Screenshot sieht man dass der state seit 16:59 "corrupted data" ist. Ich frage die Module alle 10 Minuten ab. Hier nur die letzten Einträge im device-log. Da sieht man, dass die Temperatur z.B. auch wieder Werte geliefert hat:
2016-12-13_19:45:25 Zitrone battery: 93
2016-12-13_19:45:25 Zitrone temperature: 19.1
2016-12-13_19:45:25 Zitrone lux: 17
2016-12-13_19:45:25 Zitrone moisture: 23
2016-12-13_19:45:25 Zitrone fertility: 649
2016-12-13_19:45:25 Zitrone firmware: 2.6.6
2016-12-13_19:56:15 Zitrone battery: 93
2016-12-13_19:56:15 Zitrone temperature: 19.3
2016-12-13_19:56:15 Zitrone lux: 92
2016-12-13_19:56:15 Zitrone moisture: 23
2016-12-13_19:56:15 Zitrone fertility: 647
2016-12-13_19:56:15 Zitrone firmware: 2.6.6
2016-12-13_20:09:36 Zitrone battery: 93
2016-12-13_20:09:36 Zitrone temperature: 19.3
2016-12-13_20:09:36 Zitrone lux: 17
2016-12-13_20:09:36 Zitrone moisture: 23
2016-12-13_20:09:36 Zitrone fertility: 647
2016-12-13_20:09:36 Zitrone firmware: 2.6.6
2016-12-13_20:20:31 Zitrone battery: 92
2016-12-13_20:20:31 Zitrone temperature: 19.6
2016-12-13_20:20:31 Zitrone lux: 56
2016-12-13_20:20:31 Zitrone moisture: 23
2016-12-13_20:20:31 Zitrone fertility: 639
2016-12-13_20:20:31 Zitrone firmware: 2.6.6
Also sollte der state doch wieder in Ordnung sein...
Viele Grüße vom gent
Habe wohl vergessen die Bedingung zu erweitern für das setzen des states. Schaue ich mir gleich mal an. Vielen Dank fürs testen und Deine Aufmerksamkeit.
Hier eine aktuelle Version. Nun sollte sich der state auch entsprechend ändern.
Hallo CoolTux,
vielen Dank. Was ich schon mal sagen kann, ist, dass der Status sich nun auch wieder bei einem manuellen StateRequest geändert hat.
Vielleicht habe ich heute Abend noch die Gelegenheit mehr zu testen, aber ich denke, das wird nun funktionieren.
Vielen Dank und viele Grüße vom Gent
Das hört sich gut an. Denke mal dann würde ich die Version ins GitHub schupsen.
Kann mir eigentlich jemand sagen, was genau der Düngerwert darstellt und in welcher Einheit das gemessen wird?
Wird da der Salzgehalt gemessen?
Zitat von: baukater am 16 Dezember 2016, 18:38:39
Kann mir eigentlich jemand sagen, was genau der Düngerwert darstellt und in welcher Einheit das gemessen wird?
Wird da der Salzgehalt gemessen?
So hab selbst mal etwas recherchiert und fündig geworden:
Es wird der Nährstoffgehalt als elektrische Leitfähigkeit in µS/cm gemessen. EC (electrical conductivity) hat die Einheit µS/cm
und TDS in g/l (Gramm pro Liter) oder ppm (part per million). Um dann von EC umzurechnen nach TDS wird der Faktor 640 benutzt.
Dann ist 1,00 µS/cm = 640 ppm = 0,64 g/l
Dann müsste das ganze noch durch 1000 geteilt werden. Bei mir zeigt das ja auch immer einen Wert von 200 - 600 an, je nachdem ob ich Dünge oder nicht. Der Wert ist ja auch abhängig von der Feuchtigkeit. Müsste man also auch noch irgendwie berücksichtigen.
Die Salzkonzentration sollte während der Wachtumsphase nicht unter 0,35 µS/cm sinken. Über 1 µS/cm wäre wohl schädlich.
Damit werde ich dann wohl mal ein ungefähres Ampelsystem für die Düngung aufbauen.
Vielleicht kennt sich ja jemand besser aus, bin da selbst nur Laie und hab da etwas recherchiert. Klang jetzt aber für mich mal plausibel
Ich verstehe leider auch gar nichts davon.
Bei mir werden folgende Werte angezeigt:
Temperatur 20.1
Lux 29
Bodenqualität 1561
Bodenfeuchte 73
Komisch, denn Bodenfeuchte bewegt sich nicht wesentlich. Bodenqualität oder Fruchtbarkeit, ganz wie man will, steigt ständig an. Die Werte scheinen mir also nicht sehr plausibel.
Momentan ist der Sensor eher wertlos, da man ja mit den Ergebnissen rein gar nichts anfangen kann.
Selbst das Giessen kann ich damit nicht überwachen, weil ich nicht weiss, wie die Werte sich bewegen müssten. Bei mir steigt der Wert für die Bodenfeuchte laufend an. Heute hat meine Frau gegossen, nun ist der Wert von 66 auf 73 gestiegen.
Ich hatte den Sensor mal aus dem Topf genommen. Dann müsste er ja eigentlich Raumtemperatur und Feuchte fast 0 anzeigen. Ist aber nicht so. Es wurde gar nichts mehr angezeigt. Es kam keine Verbindung mehr zustande. Ging erst wieder, nachdem ich den Sensor in den Topf wieder eingesetzt hatte.
Ich werde gelegentlich mal den Sensor in ein Glas Wasser stellen. Mal sehen, welche Feuchte dann angezeigt wird.
ZitatBodenqualität 1561
Habe auch gemerkt, dass bei Überdüngung das Gerät die Feuchtigkeitswerte nicht mehr stabil ausgibt. Bei solchen Werten einfach mal die Düngestäbchen aus der Erde ziehen, oder mal den Düngezusatz beim Gießwasser weglassen .. Bei mir hat es geholfen.
grüße
stoxx
Ich gehe davon aus, das das Teil über Widerstandswerte misst. Luft hat einen nahezu unendlich hohen Widerstand. Daher kann das Gerät nichts anzeigen und schaltet evtl. Den Bluetooth Stack ab, weil es denkt, es liegt im Schrank.
Meine Teile sind noch im Zulauf.
Gesendet von iPhone mit Tapatalk
Hallo,
mein Testsensor ist auch angekommen, mit dem Modul hat auch direkt alles funktioniert (abgesehen davon, dass ich generell mit bluez Probleme hatte).
Was mir jedoch aufgefallen ist:
Das Reading battery enthält den Prozentwert, bei den meisten Modul steht in dem reading jedoch "ok" oder "low" drin. Mit einem notify auf das reading battery überwache ich alle Batterien und lasse mir eine Meldung ausgeben, wenn der Inhalt ungleich ok ist. Bei diesem Modul kommt das also immer.
Darum wäre mein Vorschlag:
Den Prozentwert in das Reading "batteryLevel" schreiben und in dem Reading "battery" low oder ok schreiben.
Jetzt fehlt es natürlich an Erfahrungswerten ab welchem Prozentwert die Battery nicht mehr ok ist, also low.
Würd ich testweise einfach mal mutig auf 20% setzen? :-)
Finde ich gut und wird umgesetzt. Nur etwas Geduld bitte.
Einfach mal das Schätzeisen in destilliertes Wasser stellen. Dann müsste ja bei Feuchtigkeit 100 % rauskommen.
Wenn man aber mal schaut, wieviel vernünftige Messgeräte kosten, kann man sich ja ausrechnen, was die Dinger taugen. Da muss auch die Sonde hinterher gereinigt werden. Und der Pflanzensensor steckt permanent in der Erde
Meiner zeigt noch nicht mal die Temperatur korrekt an. Hab trotzdem noch 4 Stück bestellt. :P
Mehr wie ne Spielerei ist das wohl nicht, aber vielleicht besser als mein grüner Daumen ;D
Zitat von: CoolTux am 17 Dezember 2016, 12:48:03
Finde ich gut und wird umgesetzt. Nur etwas Geduld bitte.
Ich bekomm das gerade mit dem Patch nicht auf die Reihe, hält sich aber auch so in Grenzen:
readingsBulkUpdate($hash, "batteryLevel", $response_json->{blevel});
readingsBulkUpdate($hash, "battery", ($response_json->{blevel}>20?"ok":"low"), 1 );
Schönen 4. Advent
Hi,
bezüglich battery und batteryLevel hätte ich noch eine Frage an die Allgemeinheit: Ich habe die Sensoren seit dem 15.11.2016 in Betrieb und lese meine Sensoren alle 10 Minuten aus und habe bei einem Modul noch 100% und bei einem anderen noch 92%. Das hätte ich so nicht erwartet. Geht euch das auch so, dass die bei euch so lange laufen?
Viele Grüße vom Gent
ZitatGeht euch das auch so, dass die bei euch so lange laufen?
Ich habe meinen ersten Sensor seit Mitte August laufen und selbst der hat noch 83%.
Die 7 minütliche Abfrage habe ich seit ca. Ende August in Betrieb - wenn man jetzt mal vorsichtig rechnet und einen Verbrauch von 17% in 3,5 Monaten veranschlagt, komme ich bei mir auf ca. 5% im Monat und einer Batterie-Lebensdauer von grob 1,5 Jahren ! (oder habe ich mich irgendwo verrechnet?)
Hätte ich auch nie gedacht..
vg stoxx
Guten Morgen,
Dank fh168 habe ich nun auch diesen Pflanzensensor und kann damit testen. Im Moment steckt er im Weihnachtsbaum drin.
fh168 hat in seinem Blog mal einen Artikel zum Sensor (https://blog.moneybag.de/fhem-xiaomi-pflanzensensor-feuchtigkeit-helligkeit-temperatur-per-bluetooth-messen/) verfasst.
Vielen Dank dafür
Grüße
Hallo,
ich habe seit einigen Tagen Probleme mit den Werten, die ausgelesen werden. Hier mal ein Beispiel aus dem Devicelog von heute Nachmittag:
2016-12-30_14:15:53 Mango battery: 100
2016-12-30_14:15:53 Mango temperature: 17.9
2016-12-30_14:15:53 Mango lux: 439
2016-12-30_14:15:53 Mango moisture: 21
2016-12-30_14:15:53 Mango fertility: 205
2016-12-30_14:15:53 Mango firmware: 2.7.0
2016-12-30_14:28:14 Mango battery: 100
2016-12-30_14:28:14 Mango temperature: 4804.2
2016-12-30_14:28:14 Mango lux: 61149
2016-12-30_14:28:14 Mango moisture: 136
2016-12-30_14:28:14 Mango fertility: 26231
2016-12-30_14:28:14 Mango firmware: 2.7.0
2016-12-30_14:42:39 Mango battery: 100
2016-12-30_14:42:39 Mango temperature: 18.4
2016-12-30_14:42:39 Mango lux: 262
2016-12-30_14:42:39 Mango moisture: 21
2016-12-30_14:42:39 Mango fertility: 198
2016-12-30_14:42:39 Mango firmware: 2.7.0
Sehr merkwürdig sind die extremen Werte um 14:28:14.
Ich habe dieses Verhalten an meinen beiden (neuen) Sensoren, die firmware 2.7.0 haben.
Kann jemand ähnliches berichten?
Viele Grüße vom gent
Yepp. Ein Sensor hat bei mir ebenfalls die 2.7.0 Firmware und wirft gelegentlich Müll raus. Ich hatte den schon als Defekt in Verdacht
Gesendet von meinem SM-G930F mit Tapatalk
Hi @bloodybeginner,
das beruhigt mich ein wenig. Vielleicht kann @CoolTux hier noch etwas machen, das z.B. keine neuen Readings geschrieben werden (Stichwort corrupted data), wenn die Temperatur > 100 ist (oder so ähnlich)?
Viele Grüße vom Gent
Bekommt man die Firmware 2.7.0 auch auf Geräte welche 2.2.0 haben? Ich habe ein Testgerät hier und könnte damit arbeiten. Aber leider ist hier die 2.2.0 drauf.
Für mich wäre interessant wie die Rohdatenaten aussehen wenn es zu solch falschen Daten kommt. Ich werde da mal versuchen was zu basteln.
Hi @CoolTux,
zu dem Update von 2.2.0 auf 2.7.0 kann ich nix sagen. Ich hatte nur in der iOS App bei meinen alten Sensoren die Möglichkeit ein Firmware-Update auf die 2.7.0 zu machen.
Wie kann ich mit Rohdaten helfen? Vielleicht kann ich das ja im Terminal / gatttool mal provozieren?
Viele Grüße vom Gent
Du kannst versuchen den Abruf mit gatttool direkt zu machen. Musst halt sehen was da an kommt.
Aber am besten wäre es wohl wenn ich ein Reading für die Rohdaten mache was man zu schalten kann.
Ich hab mal das Modul erweitert um die Rohdaten mit zu loggen. Beachtenswert ist die 10sek Pause vom Start bis zur Rückgabe der Werte. Ob diese Pase reproduzierbar ist kann ich noch nicht sagen
2017-01-03_13:51:20 Blume04 call data
2017-01-03_13:51:30 Blume04 battery: 95
2017-01-03_13:51:30 Blume04 temperature: 4804.2
2017-01-03_13:51:30 Blume04 lux: 61149
2017-01-03_13:51:30 Blume04 moisture: 136
2017-01-03_13:51:30 Blume04 fertility: 26231
2017-01-03_13:51:30 Blume04 firmware: 2.7.0
2017-01-03_13:51:30 Blume04 active
2017-01-03_13:51:33 Blume04 call data
2017-01-03_13:51:38 Blume04 battery: 94
2017-01-03_13:51:38 Blume04 temperature: 17.9
2017-01-03_13:51:38 Blume04 lux: 292
2017-01-03_13:51:38 Blume04 moisture: 33
2017-01-03_13:51:38 Blume04 fertility: 372
2017-01-03_13:51:38 Blume04 firmware: 2.7.0
2017-01-03_13:51:38 Blume04 active
2017.01.03 13:51:20.370 4: Sub XiaomiFlowerSens (Blume04) - Starte Blocking Call
2017.01.03 13:51:20.389 4: Sub XiaomiFlowerSens_Run (Blume04) - Running nonBlocking
2017.01.03 13:51:30.387 4: XiaomiFlowerSens - ReadData Characteristic value/descriptor aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.01.03 13:51:30.667 4: Sub XiaomiFlowerSens_Run (Blume04) - Rückgabe an Auswertungsprogramm beginnt
2017.01.03 13:51:30.729 4: Sub XiaomiFlowerSens_Done (Blume04) - Abschluss!
2017.01.03 13:51:33.379 5: Sub XiaomiFlowerSens (Blume04) - Request Timer wird aufgerufen
2017.01.03 13:51:33.396 4: Sub XiaomiFlowerSens (Blume04) - Starte Blocking Call
2017.01.03 13:51:33.421 4: Sub XiaomiFlowerSens_Run (Blume04) - Running nonBlocking
2017.01.03 13:51:38.164 4: XiaomiFlowerSens - ReadData Characteristic value/descriptor b3 00 00 24 01 00 00 21 74 01 02 3c 00 fb 34 9b
2017.01.03 13:51:38.507 4: Sub XiaomiFlowerSens_Run (Blume04) - Rückgabe an Auswertungsprogramm beginnt
2017.01.03 13:51:38.573 4: Sub XiaomiFlowerSens_Done (Blume04) - Abschluss!
Sehr schön. Das sieht super aus.
Ich habe da vielleicht einen Verdacht.Kannst Du mal bitte ein gatttool read Aufruf machen ohne vorher ein write zu machen. Ich denke das es wohl Probleme hin und wieder beim write vor dem read gibt. Wäre das einzige was mir dazu ein fällt.
gatttool -i hci0 -b "C4:7C:8D:62:5A:51" --char-read -a 0x35
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Perfekt. Das ist dann das Problem.
Habe bereits im Code Anpassungen gemacht. Bitte einmal die angehängte Version testen
Es sollte corrupted data im state stehen.
Eingespielt - ich berichte spätestens morgen Vormittag. Hier mal ein Graph von den Werten
Mal OT: zwei meiner Sensoren sind grenzwertig weit entfernt von meinem PI. Irgendwelche Ideen um mit einem Arduino/ESP einen Extender zu basteln? Ich möchte ungern einen weiteren Pi für diese beiden Sensoren aufstellen.
die 0.2.9pre1 spielt wunderbar mit der V2.7.0 Flowersens zusammen
Besten Dank!
Hi kann ich ebenfalls bestätigen. Keine Aussetzer mehr. Danke dir.
Sent from my iPhone using Tapatalk
Super. Vielen Dank. Mach ich dann mal in den Master Brunch.
Hi, wollte nur kurz mitteilen, dass ich auch keine Aussetzer mehr habe
Viele Grüße vom Gent
Ich habe die angepasste Version gerade als Version 0.2.9 im GitHub Master Brunch freigegeben.
Viel Spaß
Grüße
Hi,
für alle, die sich auch einen solchen Sensor beschaffen wollen oder die schon einen haben. Es gibt einen neue Firmware 2.8.6. Ich habe mal hier aufgeschrieben, was die Neues bringt:
1. Fixed a bug of history data loss
2. Fixed an abnormal issue when synchronize history data
3. Fixed a bug that abnormal history data came out when temperature was below zero degree
4. Fixed an issue that device restart unexpectedly due to the interval of connections
5. Fixed a bug that users cannot connect with devices paired with the phone in the bluetooth
6. Cancelled Bluetooth pairing
Steht so im Change log der iOS FlowerCare app
5. und 6. ist für mich nicht so ganz verständlich, so dass ich erstmal kein Update gemacht habe.
Viele Grüße vom gent
Kann es sein, dass mit der neuen Firmware 2.8.6 das Modul im Moment nicht mehr funktioniert? Hatte gerade mit 2.6.2 getestet, da lief alles, mit 2.8.6 nun nicht mehr.
pi@raspberrypi ~ $ gatttool -b C4:7C:8D:60:D6:6B --char-write-req -a 0x33 -n A01F --char-read --handle=0x35
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
pi@raspberrypi ~ $ gatttool -b C4:7C:8D:60:D6:6B --char-read --handle=0x35
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Sieht erstmal so aus. Muss mal im Netz schauen ob ich Informationen dazu finde.
Hi CoolTux,
hast Du meine Info weiter oben schon gesehen?
Viele Grüße vom gent
Zitat von: gent am 06 Januar 2017, 20:47:15
Hi,
für alle, die sich auch einen solchen Sensor beschaffen wollen oder die schon einen haben. Es gibt einen neue Firmware 2.8.6. Ich habe mal hier aufgeschrieben, was die Neues bringt:
1. Fixed a bug of history data loss
2. Fixed an abnormal issue when synchronize history data
3. Fixed a bug that abnormal history data came out when temperature was below zero degree
4. Fixed an issue that device restart unexpectedly due to the interval of connections
5. Fixed a bug that users cannot connect with devices paired with the phone in the bluetooth
6. Cancelled Bluetooth pairing
Steht so im Change log der iOS FlowerCare app
5. und 6. ist für mich nicht so ganz verständlich, so dass ich erstmal kein Update gemacht habe.
Viele Grüße vom gent
Meinst Du das?
Ja,
ich hoffe, dass Punkt 6 nicht das Ende des Moduls bedeutet...
Viele Grüße
Ich denke eher nicht. Immer hin muss die App ja auch eine Verbindung herstellen können. Und dann wäre die Fehlermeldung ja auch eine andere. Man kann ja nachweißlich Daten schreiben und lesen.
Hab nun die Batterie rausgenommen, wieder eingesetzt, mit dem gleichen schon definierten Device in FHEM getestet:
weiterhin unreachable
Device in FHEM gelöscht und komplett neu angelegt:
funktioniert
Also nach dem FW Update ging das Device nicht mehr in FHEM. Ich musste das FHEM Device neu anlegen (glaub der Batterietausch tat nichts zur Sache) nun geht wieder alles.
Fazit: 2.8.6 funktioniert.
Ich würde das Modul auch gerne einmal mit meinen Sensoren testen. Ich habe die aktuelle Version 0.29 heruntergeladen und in das FHEM-Verzeichnis kopiert.
Wie lege ich jetzt die Sensoren in FHEM an?
Zitat von: SFAB am 11 Januar 2017, 12:38:47
Ich würde das Modul auch gerne einmal mit meinen Sensoren testen. Ich habe die aktuelle Version 0.29 heruntergeladen und in das FHEM-Verzeichnis kopiert.
Wie lege ich jetzt die Sensoren in FHEM an?
Moin,
wenn du wie CoolTux in seinem ersten Post die Vorrausetzung erfüllt hast:
Voraussetzung zum betrieb des Modules ist JSON sowie gatttool aus dem bluez Packetsolltest du über die Console: sudo hcitool lescan
ausführen um die BT-Adresse zu bekommen.
Dann ein freundliches:
define <NameDerPflanze> XiaomiFlowerSens <BT-Adresse>
Gruß,
Swen
Zitat von: SFAB am 11 Januar 2017, 12:38:47
Ich würde das Modul auch gerne einmal mit meinen Sensoren testen. Ich habe die aktuelle Version 0.29 heruntergeladen und in das FHEM-Verzeichnis kopiert.
Wie lege ich jetzt die Sensoren in FHEM an?
Und hoffentlich auch die Rechte entsprechend der anderen Module gesetzt.
Ansonsten ist dem was Swen gesagt hat nichts mehr hinzu zu fügen.
Grüße
Hat geklappt, vielen Dank für die schnelle Hilfe!
Evtl. könnte man diese Kurzanleitung im ersten Post integrieren?
Das kommt noch. Jedes Modul sollte offiziell eine Commandref haben. Da dieses Modul aber noch nicht offiziell ist ist dies noch nicht geschehen. Werde mich aber die Tage mal dran machen da was zu schreiben. Versprochen.
Grüße
Super!
Alle meine drei Sensoren mit Firmware 2.8.6 laufen quasi problemlos; einer scheint nur am Rande der Reichweite des Raspberry Pi zu stehen und wird daher wohl nicht immer empfangen. Kann man die Sende-/Empfangsstärke irgendwo auslesen?
Ja kann man. Am einfachsten mit den hcitool. Dazu muss man sich aber damit peeren. Musst mal in der manpage von hcitool schauen.
Ich sehe im FHEM-Log ein paar Fehlermeldungen, die anscheinend im Zusammenhang mit dem Modul bzw. der Bluetooth-Kommunikation stehen:
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
connect error: Device or resource busy (16)
connect error: Too many levels of symbolic links (40)
connect: Device or resource busy (16)
Was hat das zu bedeuten?
Das die Kommunikation mit dem BT Endgerät nicht geklappt hat. Das sind Fehlermeldungen vom gatttool.
Hi CoolTux, vielen Dank für das Modul. Ich habe die Sensoren auch seit heute in Betrieb. Ich bekomme auch Werte geliefert. Diese o.g. Fehlermeldungen habe ich auch im Log. Jedoch habe ich nie das gattool installiert. Oder ist das standardmäßig aktiviert, wenn am am Raspi3, das Bluetoothmodul nutzt? Sollte man da noch etwas nachinstallieren? Gruß Carsten
Gesendet von iPad mit Tapatalk
gatttool ist Bestandteil des bluez Packetes. Wenn Du also bluez bereits installiert hattest dann ist das gatttool auch dabei.
Ok, Danke. Dann hatte ich das doch richtig verstanden.
Gesendet von iPad mit Tapatalk
Zitat von: SFAB am 11 Januar 2017, 14:48:13
Super!
Alle meine drei Sensoren mit Firmware 2.8.6 laufen quasi problemlos; einer scheint nur am Rande der Reichweite des Raspberry Pi zu stehen und wird daher wohl nicht immer empfangen. Kann man die Sende-/Empfangsstärke irgendwo auslesen?
Hi, habe heute auch meine ersten Sensoren erhalten aber leider auch das Problem mit der Reichweite (Raspi3 im 1. Stock -> Pflanze im EG auf der anderen Seite).
Ist aber natürlich nicht Modul abhängig.
Würde es etwas bringen einen extra BT Stick zu kaufen mit einer besseren Reichweite?
Also ein paralleler Betrieb möglich am Raspberry?
Grüße
Hi zusammen,
Verfolge seit einigen Wochen das Thema und habe mir ebenfalls zwei Sensoren bestellt bei GearBest. PS: Da gibt es momentan eine Aktion, dass man für 11$ die Sensoren kaufen kann.
Nun zu meiner Frage: Wenn die Werte im FHEM ankommen und ich mir die Graphen entsprechend eingerichtet habe... Gibt es denn eine Art Datenbank in der ich feststellen kann welche Feuchtigkeit meine Pflanzen brauchen? Oder eine Erfahrung hier unter den Nutzern ab welcher Feuchtigkeit man giessen sollte?
Mein Ziel ist es, dass ich dann entsprechend des Standortes der Pflanze meine Philips Hue Lichter aktivere und diese dann grün blinken beispielsweise, solange bis gegossen wurde. Das erkennt der Sensor ja dann. Erfahrungswerte mit dem Eert Feuchtugkeit wären aber super zur Orientierung.
Danke euch schon mal und Danke dir CoolTux für die viele Arbeit, die du da täglich reinsteckst.
VG
Pazekal
Die zugehörige App von Xiaomi bietet genau so eine Datenbank. Ob man an die Daten außerhalb der App zugreifen kann, weiß ich leider nicht.
Ich will mir die App die Tage mal anschauen und schauen ob ich an die DB Daten ran komme.
Grüße
Leon
Oder evl. eine externe Datenbank verwenden? War gerade selbst verblüfft was es da so gibt.
Z.b. http://www.pfaf.org/user/Plant.aspx?LatinName=casuarina+equisetifolia (http://www.pfaf.org/user/Plant.aspx?LatinName=casuarina+equisetifolia)
Die Icons wären evl. auch geeignet um automatisiert auszulesen, sofern man nicht nur manuell nachschlagen will.
Oder anhand dessen bei den Pflanzen Readings als Warnung manuell hinterlegen.
Sinnigerweise mit Werten für die Überwinterung bei uns in Deutschland. Datenbanken wie die von Parrot Flower, oder die von oben haben die leider nicht.
Ich habe versucht mich mit der App an zu melden. Habe abgebrochen sobald die meine Google Daten wollten. Also da mache ich nicht mit.
Dafür habe ich eine andere gute Nachricht.
Ich habe soeben das Modul offiziell ins FHEM SVN eingecheckt. Samt englischer Commandref. Ab Morgen per FHEM update.
Grüße
Hat jemand eine günstige Bezugsquelle? :)
Schau, was ich auf AliExpress gefunden
http://s.aliexpress.com/emIVZ7ry
Gesendet von iPhone mit Tapatalk
@CoolTux,
gibt es eine Möglichkeit, die Pflanzen nach unterschiedlichen Intervallen abzufragen?
z.B.;
Pflanze 1 alle 300 Sekunden
Pflanze 2 alle 3600 Sekunden
Besten Gruß,
Swen
Zitat von: Swen am 12 Januar 2017, 15:42:42gibt es eine Möglichkeit, die Pflanzen nach unterschiedlichen Intervallen abzufragen?
Attribut "interval" ist deine gesuchte Möglichkeit.
Ja selbstverständlich. Pro Device ist ein Attribut Intervall möglich.
Hi CoolTux,
mir ist aufgefallen, dass du in der Initialize-Funktion den folgenden Abschnitt enthalten hast:
foreach my $d(sort keys %{$modules{XiaomiFlowerSens}{defptr}}) {
my $hash = $modules{XiaomiFlowerSens}{defptr}{$d};
$hash->{VERSION} = $version;
}
}
Da die Initialize-Funktion immer als allererstes beim Laden des Moduls aufgerufen wird, existieren zu diesem Zeitpunkt noch keinerlei Definitionen, daher ist dieser Block zumindest beim normalen Start von FHEM nutzlos. Erst wenn ein User ein reload deines Moduls durchführt, würde dieser Block zum tragen kommen.
Da du die Version bereits im Rahmen der Define-Funktion setzt, ist der Block ja quasi nicht notwendig.
Viele Grüße
Markus
Hallo Markus,
Vielen Dank für Dein aufmerksamen Review. In der Tat dienen die drei Zeilen lediglich dazu um ein neu schreiben des Internals version bei einem reload durch zu führen.
Es betrifft in erster Linie mich und eine Hand voll Testuser.
LG
Leon
ich danke euch!!!
Zitat von: SFAB am 12 Januar 2017, 09:46:23
Die zugehörige App von Xiaomi bietet genau so eine Datenbank. Ob man an die Daten außerhalb der App zugreifen kann, weiß ich leider nicht.
Ich habe es einfach so gemacht, dass ich mir die Flower Care iOS app besorgt habe. Dort dann ein Fake-Konto registriert (muss man sich nicht mit 'nem google Account anmelden). Dann kann man jedem Sensor eine Pflanze aus der recht umfangreichen Datenbank zuordnen. Wenn man das dann getan hat, sieht man in der app die "optimalen" Bereiche je nach Sensorwert (licht feuchte temp dünger) und Pflanze. Diese kann man dann als Grenzwerte in FHEM auswerten.
Die Datenbank der app scheint auch nicht in der app selber zu stecken sondern eine CloudDB zu sein.
Viele Grüße vom gent
Hallo CoolTux,
stimmt, unter der Maßgabe macht es natürlich Sinn. Soweit habe ich gerade nicht gedacht.
Dann passt ja alles :)
Gruß und gute Nacht
Markus
Hallo zusammen,
Wenn ich einen raspi 3 mit integriertem bluetooth modul habe, welche Vorrausetzungen muss ich noch erfüllen um das Modul nutzen zu können?
Das json hab ich schon installiert aber mit bluez komm ich nicht weiter.
Sudo apt-get install ... ?
Danke euch
Gib mal in deiner Shell einfach gatttool ein und enter drücken.
Dann erscheinen help options and application options
Also keine Fehlermeldung sondern das Programm existiert. Also alles gut. Nun sollte das Modul funktionieren.
Danke dir
Null Probleme. Sollte noch was sein, schau mal weiter vorn im Thread. Mit Raspie 3 kann es wohl Probleme geben. Bekommt man aber hin.
Und ich glaube Jessie ist Voraussetzung das gatttool vernünftig geht.
Aber schau erstmal.
Hallo CoolTux,
habe gestern das Modul über fhem aktualisiert.
Leider funktioniert seit dem disabledForIntervals nicht mehr richtig: Nach einem state disabled springt das Modul nicht mehr in den state active, sondern bleibt disabled, bis man einen statusrequest macht.
Internals:
BTMAC C4:7C:8D:60:8F:22
CHANGED
DEF C4:7C:8D:60:8F:22
INTERVAL 420
NAME Plant4
NR 39
STATE disabled
TYPE XiaomiFlowerSens
VERSION 0.2.10
Readings:
2017-01-13 22:55:24 battery ok
2017-01-13 22:55:24 batteryLevel 100
2017-01-13 22:55:24 fertility 340
2017-01-13 22:55:24 firmware 2.6.2
2017-01-13 22:55:24 lux 69
2017-01-13 22:55:24 moisture 35
2017-01-13 23:06:08 state disabled
2017-01-13 22:55:24 temperature 20
Helper:
Attributes:
disabledForIntervals 23:00-24:00 00:00-07:45
event-on-change-reading moisture,fertility
hciDevice hci1
interval 420
room Pflanzen
verbose 0
Mit einer älteren Version des Moduls hat es schon mal einwandfrei funktioniert (weiss aber leider nicht mehr, welche das war).
viele Grüße
stoxx
Vielen Dank für die Info. Das schaue ich mir an. Kann mich erinnern da was gemacht zu haben.
Danke für die Rückmeldung
Ok habe das Problem bei einem Code Review gefunden. Bringe ich im Laufe des Tages in Ordnung. Sorry für die Unannehmlichkeiten.
Grüße
Super, vielen Dank schonmal!
Ist gefixt und bereits im FHEM svn. Kommt morgen per Update
Guten Abend die Runde,
mein Sensor misst alle 30 Min die aktuellen Werte, daraus würde ich gerne auf die bisherige Lichtmenge des Tages kommen um dann ggf. die Pflanzenbeleuchtung einzuschalten. Hätte hier jemand einen Ansatz für mich?
Eine zweite Frage hätte ich da auch noch, ich wäre auf der Suche nach einem Bluetooth Adapter/Gateway welches ich direkt ins Netzwerk einbinden kann, da ich FHEM in einer virt. Umgebung betreibe und keine USB Geräte vom Host durchreichen möchte(ich verschiebe die VMs gelegentlich und somit würde das USB Gerät nicht mehr zur Verfügung stehen. Hat hier jemand Erfahrungen oder sogar eine Empfehlung?
Besten Dank!
Zitat von: Pyromane am 17 Januar 2017, 20:22:24
mein Sensor misst alle 30 Min die aktuellen Werte, daraus würde ich gerne auf die bisherige Lichtmenge des Tages kommen um dann ggf. die Pflanzenbeleuchtung einzuschalten. Hätte hier jemand einen Ansatz für mich?
Ich habe zwar meine Sensoren leider noch nicht, aber mit meiner bisherigen Lösung (misst aktuelle Lux) habe ich Userreadings:
lightintegral integral { ReadingsVal($name,"light",0) },
lightintegralday { ReadingsVal($name,"lightintegral",0)/86400 },
lightintegraldaystate {sprintf("%.2f",ReadingsVal($name,"lightintegralday",0)) }
Es wird über den ganzen Tag integriert. Nachts wirds lightintegral dann auf 0 gesetzt, am nächsten Tag läufts vom neuen los. 86400Sekunden sind die Sekunden/Tag
lightintegraldaystate dient der formatierten Ausgabe mit stateformat.
Zitat von: Pyromane am 17 Januar 2017, 20:22:24
Guten Abend die Runde,
mein Sensor misst alle 30 Min die aktuellen Werte, daraus würde ich gerne auf die bisherige Lichtmenge des Tages kommen um dann ggf. die Pflanzenbeleuchtung einzuschalten. Hätte hier jemand einen Ansatz für mich?
Eine zweite Frage hätte ich da auch noch, ich wäre auf der Suche nach einem Bluetooth Adapter/Gateway welches ich direkt ins Netzwerk einbinden kann, da ich FHEM in einer virt. Umgebung betreibe und keine USB Geräte vom Host durchreichen möchte(ich verschiebe die VMs gelegentlich und somit würde das USB Gerät nicht mehr zur Verfügung stehen. Hat hier jemand Erfahrungen oder sogar eine Empfehlung?
Besten Dank!
Ein ESP8266 der Bluetooth auf WLAN umsetzt wäre genial
Gesendet von iPhone mit Tapatalk
Zitat von: andi11 am 17 Januar 2017, 20:36:16Es wird über den ganzen Tag integriert. Nachts wirds lightintegral dann auf 0 gesetzt, am nächsten Tag läufts vom neuen los. 86400Sekunden sind die Sekunden/Tag
lightintegraldaystate dient der formatierten Ausgabe mit stateformat.
Danke für deinen Vorschlag bzw den Code!
Das Problem sehe ich hier wenn einige Messwerte fehlen(kommt leider doch das eine oder andere Mal vor) und dadurch ein zu niedriger Wert zustande kommt.
Zitat von: Waldmensch am 17 Januar 2017, 21:10:42
Ein ESP8266 der Bluetooth auf WLAN umsetzt wäre genial
Ich stecke große Hoffnungen in den ESP32, aber dafür ist meinst Wissens noch nicht die vollständige Programmierumgebung verfügbar.
Es ist wohl auch noch nicht vorgesehen BT und Wifi gleichzeitig zu betreiben. Zumindest ist das immer zu lesen. Aber das Teil ist ja noch nicht so lange auf dem Markt.
Gesendet von iPhone mit Tapatalk
Zitat von: Pyromane am 17 Januar 2017, 21:16:49
Danke für deinen Vorschlag bzw den Code!
Das Problem sehe ich hier wenn einige Messwerte fehlen(kommt leider doch das eine oder andere Mal vor) und dadurch ein zu niedriger Wert zustande kommt.
Es ist nicht schön, aber was ist das Problem dabei? Die Zeit wird ja mit eingerechnet.
Ich habe auch Verbindungsprobleme wegen der geringen Reichweite von den Bluetooth Sensoren.
Daher finde ich die Idee eines "BLE - WIFI Gateways" sehr interessant.
ZitatEin ESP8266 der Bluetooth auf WLAN umsetzt wäre genial
Spricht denn etwas dagegen z.B. ein solches BLE-Modul
http://www.ebay.de/itm/like/272371073132?lpid=106&chn=ps&ul_noapp=true (http://www.ebay.de/itm/like/272371073132?lpid=106&chn=ps&ul_noapp=true)
über einen ESP mit ESPLink FW zu betreiben?
Bin ich da etwas naiv? Hat das schonmal jemand probiert?
Gruß
Thomas
funktioniert. Anfangs ging es nicht, hatte immer die Meldung "host down" habe dann ein bisschen Google gefragt. Bluez war bei mir recht alt => habe von Wheezy auf Jessy upgegradet beim Raspberrypi und jetzt gehts astrein. Vielen Dank für die Arbeit.
Ich habe mir beim Ali mal 2 solche Module bestellt. Die auf eine NodeMCU aufzupflanzen und mit AT befehlen zu beackern sollte keine Rocket Science sein. Das wäre dann aber eher ein Fall fürs ESPEASY Modul, bzw die Bastelecke.
Es gibt ein kommerzielles Projekt in dem genau diese Hardware Kombi genutzt wird um iBeacons für eine Präsenzerkennung zu lesen. Also Pro Raum ein Esp8266 mit seriell angeschlossenem BLE Modul
Gesendet von iPhone mit Tapatalk
Habe mir auch ein BLE-HM10 Modul bestellt.
Sollen wir einen eigen Thread dafür aufmachen?
Vielleicht finden sich noch "Mitstreiter".
Gruß
Thomas
Wenn ich es hab und anfange zu experimentieren mache ich einen Thread in der ESP8266 Bastelecke auf. Vorher lohnt das kaum.
Gesendet von iPhone mit Tapatalk
Ich habe mal 2 Sensoren eingerichtet, es kommt aber nur "unreachable"
Lescan sagt:
root@lemaker /media/usbdisk/fhem/FHEM > hcitool lescan
LE Scan ...
C4:7C:8D:62:4C:66 (unknown)
C4:7C:8D:62:4C:66 Flower care
C4:7C:8D:62:4C:42 (unknown)
C4:7C:8D:62:4C:42 Flower care
50:65:83:7E:42:69 (unknown)
50:65:83:7E:42:69 WATCH-NC
C4:7C:8D:62:4C:42 (unknown)
C4:7C:8D:62:4C:42 Flower care
C4:7C:8D:62:4C:66 (unknown)
50:65:83:7E:42:69 (unknown)
50:65:83:7E:42:69 WATCH-NC
C4:7C:8D:62:4C:42 (unknown)
C4:7C:8D:62:4C:42 Flower care
C4:7C:8D:62:4C:66 (unknown)
C4:7C:8D:62:4C:66 Flower care
C4:7C:8D:62:4C:42 (unknown)
C4:7C:8D:62:4C:42 Flower care
50:65:83:7E:42:69 (unknown)
50:65:83:7E:42:69 WATCH-NC
C4:7C:8D:62:4C:66 (unknown)
C4:7C:8D:62:4C:42 (unknown)
C4:7C:8D:62:4C:42 Flower care
50:65:83:7E:42:69 (unknown)
50:65:83:7E:42:69 WATCH-NC
C4:7C:8D:62:4C:42 (unknown)
C4:7C:8D:62:4C:42 Flower care
50:65:83:7E:42:69 (unknown)
50:65:83:7E:42:69 WATCH-NC
C4:7C:8D:62:4C:42 (unknown)
C4:7C:8D:62:4C:42 Flower care
50:65:83:7E:42:69 (unknown)
50:65:83:7E:42:69 WATCH-NC
50:65:83:7E:42:69 (unknown)
50:65:83:7E:42:69 WATCH-NC
list pflanze1
Internals:
BTMAC C4:7C:8D:62:4C:42
CFGFN
DEF C4:7C:8D:62:4C:42
INTERVAL 300
NAME pflanze1
NR 353
STATE unreachable
TYPE XiaomiFlowerSens
VERSION 0.2.11
Helper:
Dblog:
State:
Logdb:
TIME 1484915424.31897
VALUE unreachable
Readings:
2017-01-20 13:30:24 state unreachable
Helper:
Attributes:
interval 300
room FlowerSens
verbose 5
verbose = 5 bringt keine weiterführenden Ausgaben
In der iPhone App arbeiten beide Sensoren einwandfrei. Wo steckt der Fehler?
Hast Du ein Whoody oder Jessie System?
Ich habe ein bananian (sollte Jessie sein) und bluez 5.41 installiert. FHEM läuft auf einem Banana Pi und der Stick ist ein 4.0er aus der Bucht.
Gesendet von iPhone mit Tapatalk
Gib mal bitte ein verbose 5 nach einem statusRequest
Ich habe grad nochmal in die Releasenotes von bluez geschaut. Gatttool war in der 5.41 noch experimental geflaggt und ich habe experimentals beim kompilieren nicht explizit eingeschaltet. Ich kompiliere grad nochmal die 5.43 und teste damit. Melde mich gleich.
Gesendet von iPhone mit Tapatalk
Also, wenn ich gatttool aufrufe, wie es im Modul gemacht wird (nur mit der MAC) kriege ich die "help" Ausgabe. Füge ich ein --primary an, bekomme ich einen Output
root@lemaker ~/bluez-5.43 > /usr/bin/gatttool -b C4:7C:8D:62:4C:42
Usage:
gatttool [OPTION...]
Help Options:
-h, --help Show help options
--help-all Show all help options
--help-gatt Show all GATT commands
--help-params Show all Primary Services/Characteristics arguments
--help-char-read-write Show all Characteristics Value/Descriptor Read/Write arguments
Application Options:
-i, --adapter=hciX Specify local adapter interface
-b, --device=MAC Specify remote Bluetooth address
-m, --mtu=MTU Specify the MTU size
-p, --psm=PSM Specify the PSM for GATT/ATT over BR/EDR
-l, --sec-level=[low | medium | high] Set security level. Default: low
-I, --interactive Use interactive mode
root@lemaker ~/bluez-5.43 > /usr/bin/gatttool -b C4:7C:8D:62:4C:42 --primary
attr handle = 0x0001, end grp handle = 0x0009 uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle = 0x000c, end grp handle = 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle = 0x0010, end grp handle = 0x0022 uuid: 0000fe95-0000-1000-8000-00805f9b34fb
attr handle = 0x0023, end grp handle = 0x0030 uuid: 0000fef5-0000-1000-8000-00805f9b34fb
attr handle = 0x0031, end grp handle = 0x0039 uuid: 00001204-0000-1000-8000-00805f9b34fb
attr handle = 0x003a, end grp handle = 0x0042 uuid: 00001206-0000-1000-8000-00805f9b34fb
root@lemaker ~/bluez-5.43 >
auf verbose5 kommt bei mir nicht mehr als sonst
2017-01-20 20:12:46 ESPEasy ESPEasy_sonoff_8_S_Schalter R: on
2017-01-20 20:12:53 XiaomiFlowerSens pflanze2 active
2017-01-20 20:12:53 XiaomiFlowerSens pflanze2 call data
2017-01-20 20:12:53 XiaomiFlowerSens pflanze2 unreachable
2017-01-20 20:12:53 ESPEasy ESPEasy_lichtsensor_DHT22 Humidity: 29.50
2017-01-20 20:12:53 ESPEasy ESPEasy_lichtsensor_DHT22 Temperature: 21.20
2017-01-20 20:12:53 ESPEasy ESPEasy_lichtsensor_DHT22 Hum: 29.50 Tem: 21.20
2017-01-20 20:12:56 FHT OG.fl.HZ.Thermostat actuator: 0%
2017-01-20 20:12:56 FHT OG.fl.HZ.Thermostat actuator_: 0
2017-01-20 20:12:59 XiaomiFlowerSens pflanze1 active
2017.01.20 20:12:59 4 : Sub XiaomiFlowerSens (pflanze1) - Starte Blocking Call2017-01-20 20:12:59 XiaomiFlowerSens pflanze1 call data
2017.01.20 20:12:59 5 : Sub XiaomiFlowerSens (pflanze1) - Request Timer wird aufgerufen2017-01-20 20:12:59 XiaomiFlowerSens pflanze1 unreachable
2017-01-20 20:13:00 ESPEasy ESPEasy_sonoff_5_Schalter Relay: off
2017-01-20 20:13:00 ESPEasy ESPEasy_sonoff_5_Schalter R: off
Zitat von: Waldmensch am 20 Januar 2017, 20:07:06
Also, wenn ich gatttool aufrufe, wie es im Modul gemacht wird (nur mit der MAC) kriege ich die "help" Ausgabe. Füge ich ein --primary an, bekomme ich einen Output
root@lemaker ~/bluez-5.43 > /usr/bin/gatttool -b C4:7C:8D:62:4C:42
Usage:
gatttool [OPTION...]
Help Options:
-h, --help Show help options
--help-all Show all help options
--help-gatt Show all GATT commands
--help-params Show all Primary Services/Characteristics arguments
--help-char-read-write Show all Characteristics Value/Descriptor Read/Write arguments
Application Options:
-i, --adapter=hciX Specify local adapter interface
-b, --device=MAC Specify remote Bluetooth address
-m, --mtu=MTU Specify the MTU size
-p, --psm=PSM Specify the PSM for GATT/ATT over BR/EDR
-l, --sec-level=[low | medium | high] Set security level. Default: low
-I, --interactive Use interactive mode
root@lemaker ~/bluez-5.43 > /usr/bin/gatttool -b C4:7C:8D:62:4C:42 --primary
attr handle = 0x0001, end grp handle = 0x0009 uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle = 0x000c, end grp handle = 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle = 0x0010, end grp handle = 0x0022 uuid: 0000fe95-0000-1000-8000-00805f9b34fb
attr handle = 0x0023, end grp handle = 0x0030 uuid: 0000fef5-0000-1000-8000-00805f9b34fb
attr handle = 0x0031, end grp handle = 0x0039 uuid: 00001204-0000-1000-8000-00805f9b34fb
attr handle = 0x003a, end grp handle = 0x0042 uuid: 00001206-0000-1000-8000-00805f9b34fb
root@lemaker ~/bluez-5.43 >
auf verbose5 kommt bei mir nicht mehr als sonst
2017-01-20 20:12:46 ESPEasy ESPEasy_sonoff_8_S_Schalter R: on
2017-01-20 20:12:53 XiaomiFlowerSens pflanze2 active
2017-01-20 20:12:53 XiaomiFlowerSens pflanze2 call data
2017-01-20 20:12:53 XiaomiFlowerSens pflanze2 unreachable
2017-01-20 20:12:53 ESPEasy ESPEasy_lichtsensor_DHT22 Humidity: 29.50
2017-01-20 20:12:53 ESPEasy ESPEasy_lichtsensor_DHT22 Temperature: 21.20
2017-01-20 20:12:53 ESPEasy ESPEasy_lichtsensor_DHT22 Hum: 29.50 Tem: 21.20
2017-01-20 20:12:56 FHT OG.fl.HZ.Thermostat actuator: 0%
2017-01-20 20:12:56 FHT OG.fl.HZ.Thermostat actuator_: 0
2017-01-20 20:12:59 XiaomiFlowerSens pflanze1 active
2017.01.20 20:12:59 4 : Sub XiaomiFlowerSens (pflanze1) - Starte Blocking Call2017-01-20 20:12:59 XiaomiFlowerSens pflanze1 call data
2017.01.20 20:12:59 5 : Sub XiaomiFlowerSens (pflanze1) - Request Timer wird aufgerufen2017-01-20 20:12:59 XiaomiFlowerSens pflanze1 unreachable
2017-01-20 20:13:00 ESPEasy ESPEasy_sonoff_5_Schalter Relay: off
2017-01-20 20:13:00 ESPEasy ESPEasy_sonoff_5_Schalter R: off
Es wird ja auch nicht einfach gatttool aufgerufen.
gatttool -b $mac --char-read -a 0x35
Bitte einmal diesen Befehl ausführen. $mac ist durch die MAC zu ersetzen.
Scheinbar legt sich der Bluetooth Stick schlafen. Beim ersten mal kommt nichts. Kurz lescan gestartet und danach nochmal Deinen Befehl. Die Ausgabe ist aber glaube nicht was wir brauchen?
root@lemaker ~/bluez-5.43 > gatttool -b C4:7C:8D:62:4C:42 --char-read -a 0x35
connect: No route to host (113)
root@lemaker ~/bluez-5.43 > hcitool lescan
LE Scan ...
C4:7C:8D:62:4C:66 (unknown)
C4:7C:8D:62:4C:66 Flower care
C4:7C:8D:62:4C:42 (unknown)
C4:7C:8D:62:4C:42 Flower care
C4:7C:8D:62:4C:66 (unknown)
C4:7C:8D:62:4C:66 Flower care
C4:7C:8D:62:4C:42 (unknown)
C4:7C:8D:62:4C:42 Flower care
^Croot@lemaker ~/bluez-5.43 > gatttool -b C4:7C:8D:62:4C:42 --char-read -a 0x35
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
root@lemaker ~/bluez-5.43 >
Nach einer Minute muss man wieder einen lescan machen. Man muss bei einem lescan sogar warten, bis die MAC gefunden wurde. Ich habe dann mal die Adressen aus dem augabeblock mit Deinem Befehl ausgelesen.
root@lemaker ~/bluez-5.43 > gatttool -b C4:7C:8D:62:4C:42 --char-read -a 0x01
Characteristic value/descriptor: 00 18
root@lemaker ~/bluez-5.43 > gatttool -b C4:7C:8D:62:4C:42 --char-read -a 0x0c
Characteristic value/descriptor: 01 18
root@lemaker ~/bluez-5.43 > gatttool -b C4:7C:8D:62:4C:42 --char-read -a 0x10
Characteristic value/descriptor: 95 fe
root@lemaker ~/bluez-5.43 > gatttool -b C4:7C:8D:62:4C:42 --char-read -a 0x23
Characteristic value/descriptor: f5 fe
root@lemaker ~/bluez-5.43 > gatttool -b C4:7C:8D:62:4C:42 --char-read -a 0x31
Characteristic value/descriptor: fb 34 9b 5f 80 00 00 80 00 10 00 00 04 12 00 00
root@lemaker ~/bluez-5.43 > gatttool -b C4:7C:8D:62:4C:42 --char-read -a 0x3a
Characteristic value/descriptor: fb 34 9b 5f 80 00 00 80 00 10 00 00 06 12 00 00
root@lemaker ~/bluez-5.43 >
Der zweite Sensor (andere MAC) bringt übrigens exakt dieselben Ausgaben, aufs Bit genau
Das mit der Ausgabe ist ok. Wollte nur schauen ob es geht. Kannst ja einfach ein lescan machen und dann ein statusRequest beim fhem Device und schauen was kommt.
Wenn ich einen lescan auf der Konsole laufen lasse und dann einen Statusrequest anfordere, kommt das gleiche Ergebnis "unreachable" und der lescan auf der Konsole stoppt. Das ganze ist reproduzierbar mit beiden Sensoren. Der lescan stoppt ebenfalls, wenn der Sensor im eingestellten Intervall abgefragt wird
Gesendet von iPhone mit Tapatalk
Nein. Du möchtest es bitte genau so machen wie du es gemacht hast als es mit gatttool funktioniert hat. Da hast du lescan ja auch nicht laufen lassen.
Wenn ich dich richtig verstanden habe hast du
lescan
Ausgeführt dann lescan beendet und dann
gatttool
Aufgerufen.
Jetzt also lescan
Dann stoppt lescan
Dann
statusRequest fhem Device
okay, nun lescan laufen lassen, mit ctrl+c beendet nachdem beide sensoren durchgelaufen waren, sofort statusrequest geklickt
2017-01-21 07:57:10 XiaomiFlowerSens pflanze2 active
2017.01.21 07:57:10 4 : Sub XiaomiFlowerSens (pflanze2) - Starte Blocking Call2017-01-21 07:57:10 XiaomiFlowerSens pflanze2 call data
2017-01-21 07:57:11 ESPEasy ESPEasy_sonoff_9_S_Schalter Relay: off
2017-01-21 07:57:11 ESPEasy ESPEasy_sonoff_9_S_Schalter R: -66.00 R: off
2017-01-21 07:57:12 FHT OG.ku.HZ.Thermostat measured-temp: 22.3
2017-01-21 07:57:17 XiaomiFlowerSens pflanze2 unreachable
2017-01-21 07:57:19 CUL_WS OG.te.WE.Temperatur T: -1.0 H: 73.9
2017-01-21 07:57:19 CUL_WS OG.te.WE.Temperatur temperature: -1.0
Internals:
BTMAC C4:7C:8D:62:4C:66
DEF C4:7C:8D:62:4C:66
INTERVAL 300
NAME pflanze2
NR 287
STATE unreachable
TYPE XiaomiFlowerSens
VERSION 0.2.11
Helper:
Dblog:
State:
Logdb:
TIME 1484981982.18738
VALUE unreachable
Readings:
2017-01-21 07:59:42 state unreachable
Helper:
Attributes:
interval 300
room FlowerSens
verbose 5
wenn ich das Ganze mit 2 Konsolen nachstelle kann ich auf der einen Konsole lescan laufen lassen und auf der anderen Konsole gatttool abfeuern. Auf der ersten Konsole stoppt lescan sobald gatttool das ergebnis auf Konsole 2 liefert
root@lemaker ~ > gatttool -b C4:7C:8D:62:4C:66 --char-read -a 0x35
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
root@lemaker ~ >
Ich habe ein wenig am Code geschraubt. Es wird auch die anderen interessieren. Ich lasse gatttool nun insgesamt 10 mal aufrufen so lange kein Ergebnis kommt. Nach dem 10 mal bricht er dann ab und liefert dann erst eine Fehlermeldung. Ich denke mal so werden die Ergebnisse besser. Gerade für die Leute welche hier mit Graphen und so arbeiten.
Ich werde die Version heute im laufe des Tages ins FHEM SVN einchecken.
Bis dahin liegt es in meinem Git (https://github.com/LeonGaultier/fhem-XiaomiFlowerMonitor/archive/master.zip) bereit.
@Waldmensch
Gib mir mal bitte ein paar Stunden zum überlegen. Da muß ich erstmal drüber meditieren und dann starten wir beide eine vernünftige Versuchsreihe um den Fehler zu finden.
Du kannst ja Spaßenshalber die neue Version mal testen.
Kein Problem und kein PanicMode - die Blumen sind frisch gegossen. Für Tests stehe ich immer zur Verfügung.
Ich weiß ja nicht ob das normal ist, dass nach einem lescan die MACs nur ca 1 Minute lang mit gatttool abgefragt werden können. Das hieße ja, das immer erst ein lescan ausgeführt werden muss
Gesendet von iPhone mit Tapatalk
Nee normal ist das nicht. Es darf auch gar kein lescan laufen oder besser es ist nicht zu empfehlen.
Machst Du noch was anderes damit. Eventuell presence mit lepresenced????
Hi CoolTux,
bei mir geht dein Modul irgendwann immer in den unreachable Zustand. Sobald das der Fall ist, bekomme ich es nicht mehr active.
Was für ein Timeout hast du für den BlockingCall hinterlegt? Auf der Console kann ich nämlich den Sensor auslesen:
pi@raspberrypi ~ $ gatttool -b C4:7C:8D:60:D6:6B --char-write-req -a 0x33 -n A01F
Characteristic value was written successfully
pi@raspberrypi ~ $ gatttool -b C4:7C:8D:60:D6:6B --char-read -a 0x35
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Die Befehle dauern so 2-5s bis die ausgeführt sind.
Mach ich im Modul den statusRequest, bekomme ich innerhalb von weniger als 1s die Rückmeldung das es unreachable ist. Im Log erhalte ich die
connect: Connection refused (111)
Fehlermeldung. Btw, du kannst diese auch im Modul sauber verarbeiten wenn du am Ende das gatttool Aufruf noch " 2>&1" dranhängst (stderr=>stdout).
Mich wundert echt, dass ich so schnell die unreachable bekomme obwohl es in der Konsole funktioniert. Eine Idee?
//Edit: Letzte Version (11:50 Update gemacht) aus github ist installiert.
Hallo Dominik,
Wenn Du die GitHub Version hast, dann sind es 30 Sekunden. Ich lasse aktuell eine for while Schleife laufen wenn der Abruf nicht klappt. Das macht er 10 Mal. Das mit dem err schaue ich mir an. Danke für den Tip.
Grüße
Zitat von: CoolTux am 21 Januar 2017, 11:34:45
Nee normal ist das nicht. Es darf auch gar kein lescan laufen oder besser es ist nicht zu empfehlen.
Machst Du noch was anderes damit. Eventuell presence mit lepresenced????
Nö, ich habe mir den BLE Stick nur für die Blumensensoren zugelegt. Für die Präsenz Geschichte will ich mir was aus HM-10 + ESP pro Raum basteln.
Gesendet von iPhone mit Tapatalk
Habe eben Version 0.4.1 ins Git geschoben. Habe da so eines umgebaut. Wer will kann gerne testen.
Hi zusammen,
seit heute sind meine beiden Sensoren da und ich bin fleißig am einrichten. Funktioniert bisher sehr gut. Ich habe festgestellt, dass man den Sensoren und dem Modul eine Weile Zeit geben muss bis die Synchronisation ohne TimeOut funktioniert. Am Anfang war jede dritte Abfrage auf unreachable hinausgelaufen.
Wenn die Teile eingerichtet sind, werde ich mich mal um das Thema DB Anbindung machen. Sodass wir eventuell eine PflanzenDB bekommen bei der die Moisture, Lux etc. Werte pro Pflanze bekommen und entsprechend ein Reading schreiben könnten, dass die Pflanze etwas braucht. Ohne, dass man das immer manuell einstellen muss.
@CoolTux: Danke für deine Arbeit. Frage: Wie lang dauert es bis deine Github Versionen ins FHEM SVN eingecheckt werden?
VG
Pazekal
Hallo Pazekal,
Normalerweise sage ich immer Bescheid wenn ich ins fhem svn einchecken. Dann ist es am Folgetag ab 7:30 verfügbar.
Grüße
Alles klar danke.
Ich habe allerdings mein Userreading gerade noch etwas angepasst:
lightintegral integral { (ReadingsVal($name,"lux",0) <50) ? 0 : (ReadingsVal($name,"lux",0)) }
Obwohl es nachts dunkel ist, zeigt der Sensor immer wieder mal bis zu 100Lux an.
Abend schön
Ich habe den Nachmittag damit verbracht wesentliche Teile des Modules komplett neu zu schreiben. Ziel war eine stabilere Abfrage und im Fehlerfall bessere Fehleraussagen.
Dies denke ich habe ich mit Version 0.6.0 geschafft.
Ich werde die Version in den nächsten Stunden ins fhem svn einchecken. Wer jetzt schon gerne testen möchte kann sich die Version über den Master Branch meines Githubs holen.
Grüße
Ich warte aufs Release, bin gespannt.
Kurze Frage: warum nutzt Du nicht die libraries nativ in Perl? Dann würdest Du die gatttool Geschichte doch komplett umgehen. Ich stelle mir das stabiler vor.
Gesendet von iPhone mit Tapatalk
Wenn Du mir verrätst welche ich nehmen kann mache ich es gerne. Ich nehme gatttool weil ich nichts anderes kenne was mir sonst einen gatt Service zur Verfügung stellt.
Grüße
Es gibt eine libnet-bluetooth-perl Codebeispiele finde ich auf die Schnelle am Handy nicht https://packages.debian.org/sid/perl/libnet-bluetooth-perl
Gesendet von iPhone mit Tapatalk
Bietet aber kein gatt Service. Rfcomm und vielleicht noch Audioprofil. Mehr aber nicht.
Ah, okay, das wusste ich nicht.
Gesendet von iPhone mit Tapatalk
Weiter führende Diskussion zu diesem Thema (https://forum.fhem.de/index.php/topic,57787.msg566726.html#msg566726)
Hallo mumpitzstuff
Vielen Dank für Deinen Code und Deine Anregungen. Leider gab es noch eine aktuellere Version welche einen enormen Umbau hinter sich hatte. Daher passt vieles nicht mehr.
Aber ich denke ich weiß was Du meinst und wo Du hin willst. (Jetzt mal ab von den FHEM Interna. Der Code ist nicht FHEM konform, ist nur ne Info falls Du vor hast mehr in die Richtung zu entwickeln)
Wenn man es mit pre und post Commands macht, so sollte man das nur als Flag aktivieren. Die wenigsten Anwender kennen sich genau damit aus welche Optionen lepresenced bietet und wie man sie anwendet. Die tippen nur stur das ein was im Wiki oder der Commandref steht.
Im Moment fehlt mir die Zeit mich damit weiter zu beschäftigen, macht auch wenig Sinn da ja eine Lösung in Entwicklung ist und es nach meinen Einschätzungen nicht ausufert (die User wissen sich zu helfen)
Und noch eine bitte, auch für die anderen fleißigen Mitdenker.
Tips und Anregungen sind immer gerne willkommen bei mir, noch lieber natürlich Code denn das spart Zeit. ABER - Wenn Ihr Code liefert dann bitte als Patch, nicht die gesamte Moduldatei kopieren und da rein schreiben. In kleinen Modulen mit paar hundert Zeilen Code wie dem hier geht das ja noch. Ab 1000 Zeilen oder bei 2 stufigen Modulen 10000 Zeilen Code wird es mehr wie unübersichtlich.
Grüße
Leon
Hi,
schon klar dass das keine Version ist die man so lassen kann. Ich hatte nicht viel Zeit und hab deshalb nur kurz aufzeigen wollen was mir vorschwebt. Ich denke das problem kann man auch automatisiert lösen und der User schaltet dann nur ein Attribut ein oder aus. Ich machs mal sauber und stelle es dann lauffähig und getestet zur Verfügung.
Frage: Mit Patch meinst du ein pull request in deinem git?
Hi,
teste gerade die neue Version. Komischerweise hängt bei mir schon seit einigen Stunden eine Pflanze im Status "call data":
Zitat
Internals:
BTMAC C4:7C:8D:60:8F:22
DEF C4:7C:8D:60:8F:22
INTERVAL 420
NAME Plant4
NR 39
STATE call data
TYPE XiaomiFlowerSens
VERSION 0.6.0
Readings:
2017-01-23 11:54:59 battery ok
2017-01-23 11:54:59 batteryLevel 100
2017-01-23 11:54:59 fertility 210
2017-01-23 11:54:59 firmware 2.6.2
2017-01-23 11:54:59 lux 2727
2017-01-23 11:54:59 moisture 28
2017-01-23 12:05:49 state call data
2017-01-23 11:54:59 temperature 22
Helper:
Running_pid:
abortFn XiaomiFlowerSens_BlockingAborted
arg Plant4|{"mac":"C4:7C:8D:60:8F:22","wfr":0}
bc_pid 106
finishFn XiaomiFlowerSens_BlockingDone
fn XiaomiFlowerSens_BlockingRun
pid DEAD:12287
terminated 1
timeout 30
Abortarg:
Attributes:
disabledForIntervals 23:00-24:00 00:00-07:45
event-on-change-reading moisture,fertility
hciDevice hci1
interval 420
room Pflanzen
verbose 0
Ein StatusRequest hat auch nichts gebracht.. Bleibt auf "call data"..
vg stoxx
Zitat von: mumpitzstuff am 23 Januar 2017, 13:10:19
Hi,
schon klar dass das keine Version ist die man so lassen kann. Ich hatte nicht viel Zeit und hab deshalb nur kurz aufzeigen wollen was mir vorschwebt. Ich denke das problem kann man auch automatisiert lösen und der User schaltet dann nur ein Attribut ein oder aus. Ich machs mal sauber und stelle es dann lauffähig und getestet zur Verfügung.
Frage: Mit Patch meinst du ein pull request in deinem git?
Entweder das oder einfach als Datei hier ran hängen im Forum. Wie Du magst.
Zitat von: stoxx am 23 Januar 2017, 14:08:42
Hi,
teste gerade die neue Version. Komischerweise hängt bei mir schon seit einigen Stunden eine Pflanze im Status "call data":
Ein StatusRequest hat auch nichts gebracht.. Bleibt auf "call data"..
vg stoxx
Oh je, das ist Kacke. Da hilft nur ein reboot von FHEM. Hoffe das ist kein Dauerzustand. Bei mir läuft das Teil sehr sauber.
Sollte sich das wiederholen, hätte ich glaube eine Erklärung. Grund könnte ein gatttool Fehler sein, den zurück geben will Blockierend.pm sich aber muckiert weil irgend ein Newline Zeichen mit reingerutscht ist.
Musst Mal bitte verbose 5 an machen und dann ein statusRequest machen.
ZitatMusst Mal bitte verbose 5 an machen und dann ein statusRequest machen.
Mist, jetzt habe ich fhem schon rebootet und alle Sensoren sind active. Ich lasse mal bei der besagten Pflanze nen verbose 5 laufen..
Habe gerade gemerkt, dass heute zwei Pflanzen im Status "call data" hängen.
Status Request mit verbose 5:
Zitat2017.01.24 09:32:44 4: Sub XiaomiFlowerSens_Run (Plant2) - start blocking call
2017.01.24 09:32:44 5: Sub XiaomiFlowerSens_stateRequestTimer (Plant2) - Request Timer wird aufgerufen
Danach tut sich irgendwie nichts mehr..
vg stoxx
Ok dann wird es das sein was ich oben geschrieben habe. Schaue ich mir an.
So an alle deren Device im call Data hängen bleibt. Bitte einmal die neue Version aus meinem master Github branch laden und testen. Danke Euch
Okay, ist gemacht. Jetzt habe ich eine Planze, die permanent im Status "charWrite faild" ist.
Hier der verbose 5 Log:
Zitat2017.01.24 11:44:47 4: Sub XiaomiFlowerSens_callGatttool (Plant1) - processing gatttool response. sensData: aa 00 00 5b 02 00 00 30 4d 00 00 00 00 00 00 00
2017.01.24 11:44:47 4: Sub XiaomiFlowerSens (Plant1) - call gatttool readBatFw loop 5
2017.01.24 11:44:47 4: Sub XiaomiFlowerSens_callGatttool (Plant1) - processing gatttool response. batFwData: 5c 10 32 2e 36 2e 32
2017.01.24 11:44:47 4: Sub XiaomiFlowerSens_BlockingRun (Plant1) - Processing response data: aa 00 00 5b 02 00 00 30 4d 00 00 00 00 00 00 00
Edit: Jetzt ist der Status auf active gegangen. Komisch..
vg stoxx
Zitat von: stoxx am 24 Januar 2017, 11:49:12
Okay, ist gemacht. Jetzt habe ich eine Planze, die permanent im Status "charWrite faild" ist.
Hier der verbose 5 Log:
Edit: Jetzt ist der Status auf active gegangen. Komisch..
vg stoxx
Nicht komisch sondern richtig. Das char write faild war die Fehlermeldung von gatttool. Da hatten wir das Problem das er im call data hängen blieb. Jetzt haben wir eine korrekte Fehlermeldung.
Wieso das fehlgeschlagen ist lässt sich wohl nur raten.
Hi,
das Problem scheint noch nicht gelöst zu sein. Plant2 wieder seit ca. 16 Uhr im Status "call data". Ausschnitt aus dem Log:
Zitat2017.01.24 22:06:14 5: Sub XiaomiFlowerSens_stateRequestTimer (Plant2) - Request Timer wird aufgerufen
2017.01.24 22:17:16 4: Sub XiaomiFlowerSens_Run (Plant2) - start blocking call
2017.01.24 22:17:16 5: Sub XiaomiFlowerSens_stateRequestTimer (Plant2) - Request Timer wird aufgerufen
2017.01.24 22:28:29 4: Sub XiaomiFlowerSens_Run (Plant2) - start blocking call
2017.01.24 22:28:29 5: Sub XiaomiFlowerSens_stateRequestTimer (Plant2) - Request Timer wird aufgerufen
2017.01.24 22:39:22 4: Sub XiaomiFlowerSens_Run (Plant2) - start blocking call
2017.01.24 22:39:22 5: Sub XiaomiFlowerSens_stateRequestTimer (Plant2) - Request Timer wird aufgerufen
2017.01.24 22:43:09 4: Sub XiaomiFlowerSens_Run (Plant2) - start blocking call
vg stoxx
Wenn er hängt dann bitte ein list machen
Danach musst du leider neu starten. Sorry.
Ich schaue mal nachher was das noch sein kann. Bzw wäre dann auch ein verbose 5 gut. Ich kann auch noch mehr Logausgaben einbauen.
Ach ich sehe gerade. Wenn Log dann um die Uhrzeit wo er hängen blieb. Also bei dir 16 Uhr
Bei mir hängen beide Sensoren ebenfalls im Call Data mit der letzten Release. Aber ich glaube sowieso, dass mein Problem VOR FHEM und nicht im Modul zu suchen ist.
Gesendet von iPhone mit Tapatalk
Denke nicht. Hängendes Call Data ist ein Problem vom Modul.
Verbose 5 einstellen
FHEM neustarten. Und im Log später um die Zeit schauen welcher timestamp beim state Call Data steht.
Werden die Anfragen eigentlich irgendwie serialisiert, oder anderweitig abgearbeitet, so dass nicht 2 Devices aus FHEM das Gattool gleichzeitig aufrufen?
Es kann nicht passieren das gatttool zweimal aufgerufen wird. Die Anfrage landet in einer Warteschleife und wird dann ausgeführt wenn eine etwaige vorhige beendet ist.
@Waldmensch:
Ich bin ebenfalls an einer Art Bluetooth<>(W)Lan Wandler interessiert. Ich habe mir die HM10 Module angesehen. Soweit ich verstanden habe, können die UART Daten über Bluetooth übertragen und IBeacon sein.
Wie könnte man da mit AT Kommandos auf die Xiaomi Pflanzsensoren zugreifen?
Vielleicht sollte da wirklich jemand nen Thread aufmachen....
Ich habe gerade versucht das Problem mit dem call Data Hänger nach zu stellen. Es klappt nicht.
Ich bin also auf ein verbose 5 von Euch angewiesen.
Bist du eigentlich sicher, dass der Befehl BlockingKill() in der Funktion Run() wirklich sinnvoll ist? Kann es sein, dass dir das dort irgendwas zerschiesst? Ich glaub das wird normalerweise nur im Undef() eingesetzt. Ich hab auch die Erfahrung gemacht, dass wenn ich Prozesse die auf den BT Dongle zugreifen abschiesse, dass dann der BT Dongle teilweise nicht mehr richtig funktioniert und ich das Ding erst neu starten musste bzw. abziehen und anstecken musste.
Ansonsten würde ich mal die Zeit für BlockingAborted erhöhen. 30s sind extrem wenig wenn ich mir so anschaue wie lange es bei mir auf der Kommandozeile dauert, bis dort irgendwas ausgelesen ist.
Ach und bei den Gatttool Aufrufen werwendest du > /dev/null. Kann damit deine Fehlerauswertung wirklich funktionieren?
Deine Hinweise schaue ich mir heute Abend in Ruhe an.
Grüße
Hallo,
hier der Ausschnitt aus dem Log mit verbose 5:
Zitat2017.01.26 09:13:29 4: Sub XiaomiFlowerSens_Run (Plant1) - start blocking call
2017.01.26 09:13:29 5: Sub XiaomiFlowerSens_stateRequestTimer (Plant1) - Request Timer wird aufgerufen
2017.01.26 09:13:29 4: Sub XiaomiFlowerSens_BlockingRun (Plant1) - Running nonBlocking
2017.01.26 09:13:29 4: Sub XiaomiFlowerSens_callGatttool (Plant1) - run gatttool
2017.01.26 09:13:30 4: Sub XiaomiFlowerSens_callGatttool (Plant1) - call gatttool charRead loop 0
2017.01.26 09:13:30 4: Sub XiaomiFlowerSens_callGatttool (Plant1) - call gatttool charRead loop 1
2017.01.26 09:13:30 4: Sub XiaomiFlowerSens_callGatttool (Plant1) - processing gatttool response. sensData: Cannot allocate memory (12)
2017.01.26 09:13:30 4: Sub XiaomiFlowerSens_BlockingRun (Plant1) - Processing response data: Cannot allocate memory (12)
vg stoxx
Super. Ich denke ich habe das Problem erkannt. Danke Dir
@stoxx
Welche Firmwareversion hast Du?
Anbei eine Testversion für Dich. Bitte verbose 5 aktiv lassen.
Zitat@stoxx
Welche Firmwareversion hast Du?
Anbei eine Testversion für Dich. Bitte verbose 5 aktiv lassen.
Firmware 2.6.2 auf allen Sensoren
Verbose 5 mit Version 0.6.3pre1 läuft
vg stoxx
Sag mal bitte bis morgen Abend bescheid ob Du Fehler hattest oder nicht. Danke
Hi,
habe jetzt schon einen hängenden call data - Status. Erster Aufruf:
Zitat2017.01.26 21:47:30 4: Sub XiaomiFlowerSens_Run (Plant3) - start blocking call
2017.01.26 21:47:30 5: Sub XiaomiFlowerSens_stateRequestTimer (Plant3) - Request Timer wird aufgerufen
2017.01.26 21:47:30 4: Sub XiaomiFlowerSens_BlockingRun (Plant3) - Running nonBlocking
2017.01.26 21:47:30 4: Sub XiaomiFlowerSens_callGatttool (Plant3) - run gatttool
2017.01.26 21:47:32 4: Sub XiaomiFlowerSens_callGatttool (Plant3) - call gatttool charRead loop 1
2017.01.26 21:47:37 4: Sub XiaomiFlowerSens_callGatttool (Plant3) - call gatttool charRead loop 2
2017.01.26 21:47:37 4: Sub XiaomiFlowerSens_callGatttool (Plant3) - processing gatttool response. sensData: e1 00 00 87 00 00 00 23 01 01 00 00 00 00 00 00
2017.01.26 21:47:37 4: Sub XiaomiFlowerSens (Plant3) - call gatttool readBatFw loop 2
2017.01.26 21:47:37 4: Sub XiaomiFlowerSens_callGatttool (Plant3) - processing gatttool response. batFwData: 57 10 32 2e 36 2e 32
2017.01.26 21:47:37 4: Sub XiaomiFlowerSens_BlockingRun (Plant3) - Processing response data: e1 00 00 87 00 00 00 23 01 01 00 00 00 00 00 00
2017.01.26 21:47:37 4: Sub XiaomiFlowerSens_BlockingRun (Plant3) - no dataerror, create encode json: {"fertility":257,"firmware":"2.6.2","blevel":87,"moisture":35,"temp":225,"lux":135}
2017.01.26 21:47:37 4: Sub XiaomiFlowerSens_BlockingDone (Plant3) - Abschluss!
und später nochmal der folgende Aufruf:
Zitat2017.01.26 21:57:59 4: Sub XiaomiFlowerSens_Run (Plant3) - start blocking call
2017.01.26 21:57:59 5: Sub XiaomiFlowerSens_stateRequestTimer (Plant3) - Request Timer wird aufgerufen
2017.01.26 21:57:59 4: Sub XiaomiFlowerSens_BlockingRun (Plant3) - Running nonBlocking
2017.01.26 21:57:59 4: Sub XiaomiFlowerSens_callGatttool (Plant3) - run gatttool
2017.01.26 21:58:02 4: Sub XiaomiFlowerSens_callGatttool (Plant3) - call gatttool charRead loop 1
2017.01.26 21:58:02 4: Sub XiaomiFlowerSens_callGatttool (Plant3) - call gatttool charRead loop 2
2017.01.26 21:58:02 4: Sub XiaomiFlowerSens_callGatttool (Plant3) - processing gatttool response. sensData: Cannot allocate memory (12)
2017.01.26 21:58:02 4: Sub XiaomiFlowerSens_BlockingRun (Plant3) - Processing response data: Cannot allocate memory (12)
Seit dem klemmt der Sensor wieder ..
vg stoxx
Mach mal bitte ein list vom Device
ZitatInternals:
BTMAC C4:7C:8D:60:BC:5F
CHANGED
DEF C4:7C:8D:60:BC:5F
INTERVAL 420
NAME Plant3
NR 38
STATE call data
TYPE XiaomiFlowerSens
VERSION 0.6.3pre1
Readings:
2017-01-26 21:47:37 battery ok
2017-01-26 21:47:37 batteryLevel 87
2017-01-26 21:47:37 fertility 257
2017-01-26 21:47:37 firmware 2.6.2
2017-01-26 21:47:37 lux 135
2017-01-26 21:47:37 moisture 35
2017-01-26 21:57:59 state call data
2017-01-26 21:47:37 temperature 22.5
Helper:
Running_pid:
abortFn XiaomiFlowerSens_BlockingAborted
arg Plant3|{"mac":"C4:7C:8D:60:BC:5F","wfr":0}
bc_pid 138
finishFn XiaomiFlowerSens_BlockingDone
fn XiaomiFlowerSens_BlockingRun
pid DEAD:5412
terminated 1
timeout 30
Abortarg:
Attributes:
disabledForIntervals 23:00-24:00 00:00-07:45
event-on-change-reading moisture,fertility
hciDevice hci1
interval 420
room Pflanzen
Danke
Ich würde darauf tippen, das dir der RAM auf deinem System ausgeht. Fehler 12: Cannot allocate memory ist ein Systemfehler, der auftaucht, wenn dir der RAM ausgeht. Such mal bei Google nach diesem Fehler.
http://superuser.com/questions/447130/cannot-allocate-memory-while-no-process-seems-to-be-using-up-memory (http://superuser.com/questions/447130/cannot-allocate-memory-while-no-process-seems-to-be-using-up-memory)
Hallo Stoxx,
Anbei eine Version mit mehr Debuggingausgaben. Das Problem an sich was Du hast wird es nicht lösen können, aber es ist auch wichtig das das Modul sauber beendet und eine saubere Fehlermeldung liefert. Daher die Tests
Danke Dir
Grüße
Leon
Ich habe jetzt diesen Thread https://forum.fhem.de/index.php/topic,65818.0.html (https://forum.fhem.de/index.php/topic,65818.0.html)eröffnet zur Ideenfindung, wie man Bluetooth aufs Wlan bringen kann, um hier nicht immer Offtopic zu posten ::)
Hallo zusammen,
erst einmal vielen Dank an die Entwickler und Mitarbeiter dieses Moduls. Toll Sache.
Ich habe mittlerweile auch alle Blumen damit ausgestattet.
Jetzt bin ich auf der Suche, wie bzw. was ich mit den Werten wie am Besten anfangen kann?
Wie habt Ihr das gelöst. Könnt Ihr Eure Ideen (Darstellung in einer Übersicht oder Tabelle) oder per notify mal posten?
Vielen Dank.
Gibt es eigentlich schon Ideen einer Datenbankanbindung?
Ideen gibt es. Aber noch nichts konkretes.
Was ich brauche ist eine Datenbankanbindung oder eine Webseite wo die Daten zu finden sind.
Name der Pflanze an die Seite senden und unsere benötigte Daten zurück bekommen.
Leider bin ich Momentan ausgelastet.
Grüße
Ich würde vorschlagen für die Auswertung auch einen extra Thread aufzumachen?
ich hab momentan ein userreading integral für das Licht. Was ich schwierig an den Datenbanken finde, sie haben keine Überwinterungsangaben. Die würde ich gerne auch hinterlegen.
ah ok.
Gibt es denn Möglichkeiten die Werte trotzdem schon irgendwie sinnvoll zu nutzen?
Kannst du mir sagen wie?
Schön wäre zB. eine Übersicht oder Tabelle in der alle Sensoren aufgeführt sind und sowohl die aktuellen Werte als auch die optimalen Werte drin wären. So könnte man sofort sehen was fehlt.
Kann jemand sowas bauen?
Zitat von: mpl8580 am 27 Januar 2017, 07:18:49
Jetzt bin ich auf der Suche, wie bzw. was ich mit den Werten wie am Besten anfangen kann?
Tach.
Hier findet man eingentlich releativ gut Hinweise.
www.zimmerpflanzenlexikon.info/suche/
Suche könnte man auch abgreifen, aber wer nur 10-15 Pflanzen hat, kann auch schnell mit "userattr" sich was bauen und die Werte dort eintragen.
Cheers
mi.ke
PS.
Ich hatte noch einen Sensor über, den hab ich an die Hauswand genagelt.
Billiger Helligkeitssensor für die Beschattung :-)
PPS.
Drei Sensoren laufen seit längerem Outdoor. Keine Ausfälle, nur die Batterie geht durch die Kälte schneller leer.
Hi mi.ke,
ich verstehe noch nicht ganz wie du das meinst. Ich bekomme aus dem FlowerSense z.B folgende Werte
fertility 32
lux 58
moisture 9
temperature 16.8
Diese Werte muss ich doch nun in ein Verhältnis zur Pflanze setzen. Auf www.zimmerpflanzenlexikon.info/suche/ gibt es die Werte doch nicht die quasi optimal sind.
Und wie würde das mit den userattr funktionieren. Kannst du mir daa mal ein Code Beispiel für geben.
Schau mal hier: https://myflowerpower.parrot.com/#plantdb (https://myflowerpower.parrot.com/#plantdb)
Entspricht das eher deinen Vorstellungen?
Ja die Seite ist schon besser aber wie setzt man das nun so um das man es auch einen Blick hat das zb Wasser fehlt
Ich habe hier mal einen neuen Thread eröffnet zum Thema Datenbank + Auswertung https://forum.fhem.de/index.php/topic,65836.0.html (https://forum.fhem.de/index.php/topic,65836.0.html)
Zitat
Anbei eine Version mit mehr Debuggingausgaben. Das Problem an sich was Du hast wird es nicht lösen können, aber es ist auch wichtig das das Modul sauber beendet und eine saubere Fehlermeldung liefert. Daher die Tests
Ok, Version 0.6.3pre2 läuft mit verbose 5
vg stoxx
Hallo,
ich verzweifle noch an den XIAOMIS. Ist ja nicht das erste mal, dass ich Stunden damit verbringe, die Dinger zum Laufen zu bekommen.
sudo hcitool lescan bringt C4:7C:8D:60:xx:xx Flower mate
==> der BT Dongle ist korrekt installiert !????
sudo hcitool lecc C4:7C:8D:60:xx:xx
==> Connection handle 70
sudo gatttool -b C4:7C:8D:60:xx:xx -I
[C4:7C:8D:60:xx:xx][LE]> connect
Attempting to connect to C4:7C:8D:60:DA:7B
Connection successful
Aber jetzt kommt es:
Notification handle = 0x0021 value: 00
Notification handle = 0x0021 value: 00
Notification handle = 0x0021 value: 00
(gatttool:4143): GLib-WARNING **: Invalid file descriptor
gatttool --device=C4:7C:8D:60:xx:xx --char-write-req -a 0x33 --value=A01F liefert
Characteristic value was written successfully
gatttool -b C4:7C:8D:60:xx:xx --char-read --handle=0x35 liefert
Characteristic value/descriptor: dd 00 00 0b 00 00 00 01 00 00 00 00 00 00 00 00
Version 0.6.3pre2 läuft mit verbose 5
Leider habe ich:
stat call data 2017-02-05 18:33:22
Sub XiaomiFlowerSens_Run (pflanze1) - start blocking call
2017.02.05 18:50:52 4: Sub XiaomiFlowerSens_BlockingRun (pflanze1) - Running nonBlocking
2017.02.05 18:50:57 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - call gatttool charWrite loop 1
2017.02.05 18:50:57 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - charWrite wresp: Host is down (112)
2017.02.05 18:50:57 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - run gatttool
2017.02.05 18:51:02 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - call gatttool charRead loop 2
2017.02.05 18:51:02 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - processing gatttool response. sensData[0]: Host is down (112)
2017.02.05 18:51:02 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 381.
2017.02.05 18:51:02 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - processing gatttool response. sensData:
2017.02.05 18:51:02 1: PERL WARNING: Use of uninitialized value $sensData in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 288.
2017.02.05 18:51:02 4: Sub XiaomiFlowerSens_BlockingRun (pflanze1) - Processing response data:
2017.02.05 18:51:02 1: ERROR evaluating {XiaomiFlowerSens_BlockingDone('pflanze1|hier haste Mist gebaut')}: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "hier haste Mist geba...") at ./FHEM/74_XiaomiFlowerSens.pm line 470
XXXXXXXXXXX
Host is down (112) bekomme ich eben nicht weg
Und wo habe ich "Mist gebaut" ?
Grüße
Jörg
Welches OS System und in welcher Version. Wenn Debian dann Jessie oder wheezy?
Die Fehlerbehandlung ist an der Stelle nicht korrekt. Es wird genau auf einen Fehler geschaut und ansonsten wird die Schleife verlassen. In dem Fall ist dann nur Index 0 vom Array überhaupt definiert. Ich würde die while Abfrage so umbauen:
while( $loop < 10 and (not $readSensData[0] =~ /Characteristic value/) );
Dann würde jeder Fehler dazu führen das die Schleife wiederholt wird. Außerdem müsste man prüfen, ob die maximale Anzahl der Schleifendurchläufe erreicht wurde.
Den Loop Counter musst du bei jeder Schleife wieder auf 0 setzen, sonst verbrauchst du oben deine 10 Versuche und weiter unten geht er gar nicht mehr in die Schleifen rein.
Kann es sein, dass hcitool noch connected war als der Versuch gestartet wurde? Versuch doch mal den USB Stick abzuziehen und wieder dran zu stecken und schau danach ob das Ding wieder aktiv ist oder du ihn manuell wieder aktivieren musst.
Zitat von: mumpitzstuff am 05 Februar 2017, 22:08:57
Den Loop Counter musst du bei jeder Schleife wieder auf 0 setzen, sonst verbrauchst du oben deine 10 Versuche und weiter unten geht er gar nicht mehr in die Schleifen rein.
Gültigkeitsbereich von Variablen (https://de.wikibooks.org/wiki/Perl-Programmierung:_G%C3%BCltigkeitsbereich_von_Variablen)
Ja und? Deine Variable $loop gilt für die gesamte Funktion. Du zählst die Variable in mehreren while Schleifen hoch, ohne sie vor der nächsten do while Schleife auf 0 zurück zu setzen. Das ist definitiv nicht richtig! Dein Hinweis würde zutreffen, wenn du loop innerhalb jeder do while Schleife anlegen würdest, dann wäre die Gültigkeit auf diesen Block beschränkt.
Schreib dir doch mal den Wert von loop in ein Logfile, dann wirst du das sehr schnell sehen. Selbst wenn du keine Fehler hast, ist der Wert von loop bereits 1 wenn du bei der zweiten do while Schleife bist. Läufst du oben schon bis 10, dann laufen die folgenden Schleifen nur noch 1 mal durch.
Ich Rede nicht davon, dass loop seinen Wert behält wenn die Funktion verlassen wird. Ich denke da hast du mich missverstanden. Ich rede von den 3 do while Schleifen in der Funktion, bei denen du jeweils loop mind. 1 mal inkrementierst.
Zitat von: mumpitzstuff am 05 Februar 2017, 23:30:28
Ich Rede nicht davon, dass loop seinen Wert behält wenn die Funktion verlassen wird. Ich denke da hast du mich missverstanden. Ich rede von den 3 do while Schleifen in der Funktion, bei denen du jeweils loop mind. 1 mal inkrementierst.
Jetzt verstehe ich was Du meinst. Schaue ich mir bei Gelegenheit an.
Hallo,
da meine 2 Sensoren nun auch angekommen sind, will ich sie natürlich auch einbinden.
Allerdings nutze ich auf meinem RPi3 das interne BT-Modul schon für Presence.
Wenn ich das richtig verstanden habe, funktioniert leider nicht beides gleichzeitig.
Würde es funktionieren, wenn ich mit einem zusätzlichen BT-Dongle arbeiten würde?
Kommt der RPi3 überhaupt mit 2 BT-Modulen klar?
Und wenn ja, wie kann ich dann definieren, welches Modul wofür benutzt wird?
Gruß
Stefan
Zitat von: StefanW am 06 Februar 2017, 18:24:05
Hallo,
da meine 2 Sensoren nun auch angekommen sind, will ich sie natürlich auch einbinden.
Allerdings nutze ich auf meinem RPi3 das interne BT-Modul schon für Presence.
Wenn ich das richtig verstanden habe, funktioniert leider nicht beides gleichzeitig.
Würde es funktionieren, wenn ich mit einem zusätzlichen BT-Dongle arbeiten würde?
Kommt der RPi3 überhaupt mit 2 BT-Modulen klar?
Und wenn ja, wie kann ich dann definieren, welches Modul wofür benutzt wird?
Gruß
Stefan
Habe keinen RPI3, also kann ich Dir dazu nichts sagen. Es gibt das Attribut hciDevice, da kannst Du dann den korrekten Dongle auswählen.
ZitatKommt der RPi3 überhaupt mit 2 BT-Modulen klar?
Verwende für die Pflanzen-Sensoren und für LE Presence einen RPi3 mit zwei Bluetooth Dongles (da der interne bzgl. Reichweite zu schlecht war).
Für lepresenced nehme ich hci0 und beim Pflanzen Sensor-Modul nehme ich über das Attribut hciDevice hci1. Klappt hervorragend.
vg stoxx
Danke für die Infos!
Dann werde ich mal rumprobieren. :D
So, das mit dem zusätzlichen BT-Dongle scheint zumindest bei einem Sensor zu funktionieren.
Bei dem anderen bekomme ich nur "charWrite faild".
Verbose 5 Ausgabe im log sieht so aus:
2017.02.07 19:00:41 4: Sub XiaomiFlowerSens_Run (Einblatt) - start blocking call
2017.02.07 19:00:41 4: Sub XiaomiFlowerSens_BlockingRun (Einblatt) - Running nonBlocking
2017.02.07 19:00:41 5: Sub XiaomiFlowerSens_stateRequestTimer (Einblatt) - Request Timer wird aufgerufen
2017.02.07 19:00:41 4: Sub XiaomiFlowerSens_callGatttool (Einblatt) - run gatttool
2017.02.07 19:00:43 4: Sub XiaomiFlowerSens_callGatttool (Einblatt) - call gatttool charRead loop 1
2017.02.07 19:00:43 4: Sub XiaomiFlowerSens_callGatttool (Einblatt) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.02.07 19:00:43 4: Sub XiaomiFlowerSens_callGatttool (Einblatt) - processing gatttool response. sensData: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.02.07 19:00:43 4: Sub XiaomiFlowerSens (Einblatt) - call gatttool readBatFw loop 1
2017.02.07 19:00:43 4: Sub XiaomiFlowerSens_callGatttool (Einblatt) - processing gatttool response. batFwData: 64 1d 32 2e 38 2e 36
2017.02.07 19:00:43 4: Sub XiaomiFlowerSens_BlockingRun (Einblatt) - Processing response data: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Wo könnte da mein Fehler liegen?
Hat er schon die Firmware auslesen können? Welche Version hat er gefunden?
Welche Version vom Modul hast Du?
Modulversion ist die 0.6.3
Der funktionierende Sensor hat 2.8.6,
der Problemsensor hat noch die 2.6.2
Werde mal ein FW-Update versuchen.
Per App sind nämlich beide erreichbar.
Kann es sein das er die Firmware noch nicht als Reading hat?
Ach und mach mal bitte ein fhem update. Aktuell ist 0.6.4
Check, mache gleich mal ein Update.
Ist aber irgendwie komisch...
FW war als reading 2.6.2 da.
Laut App hat er aber 2.8.6
Habe ihn noch mal komplett aus FHEM gelöscht und neu angelegt.
Jetzt ist er sofort active und liefert korrekte readings incl. aktueller FW.
Werde es mal weiter beobachten.
ich habe vorhin upgedatet auf Version 0.6.4 und jetzt steht das im Log:
017.02.08 16:00:43 1: PERL WARNING: Use of uninitialized value $dataSensor[3] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 301.
2017.02.08 16:00:43 1: PERL WARNING: Use of uninitialized value $dataSensor[4] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 301.
2017.02.08 16:00:43 1: PERL WARNING: Use of uninitialized value $dataSensor[5] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 301.
2017.02.08 16:00:43 1: PERL WARNING: Illegal hexadecimal digit 'p' ignored at ./FHEM/74_XiaomiFlowerSens.pm line 308.
2017.02.08 16:00:43 1: PERL WARNING: Use of uninitialized value $dataSensor[4] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 310.
2017.02.08 16:00:43 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 310.
2017.02.08 16:00:43 1: PERL WARNING: Use of uninitialized value $dataSensor[7] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 311.
2017.02.08 16:00:43 1: PERL WARNING: Use of uninitialized value $dataSensor[9] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 312.
2017.02.08 16:00:43 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 312.
2017.02.08 16:00:43 1: PERL WARNING: Illegal hexadecimal digit 'I' ignored at ./FHEM/74_XiaomiFlowerSens.pm line 321.
2017.02.08 16:00:43 1: PERL WARNING: Argument "error" isn't numeric in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.08 16:00:43 1: PERL WARNING: Use of uninitialized value $dataBatFw[4] in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.08 16:00:43 1: PERL WARNING: Use of uninitialized value $dataBatFw[6] in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.08 16:13:02 1: PERL WARNING: Illegal hexadecimal digit 'I' ignored at ./FHEM/74_XiaomiFlowerSens.pm line 321.
2017.02.08 16:13:02 1: PERL WARNING: Argument "error" isn't numeric in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.08 16:13:02 1: PERL WARNING: Use of uninitialized value $dataBatFw[4] in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.08 16:13:02 1: PERL WARNING: Use of uninitialized value $dataBatFw[6] in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.08 17:04:55 1: PERL WARNING: Illegal hexadecimal digit 'I' ignored at ./FHEM/74_XiaomiFlowerSens.pm line 321.
2017.02.08 17:04:55 1: PERL WARNING: Argument "error" isn't numeric in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.08 17:04:55 1: PERL WARNING: Use of uninitialized value $dataBatFw[4] in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.08 17:04:55 1: PERL WARNING: Use of uninitialized value $dataBatFw[6] in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.08 17:31:01 1: PERL WARNING: Use of uninitialized value $dataSensor[3] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 301.
2017.02.08 17:31:01 1: PERL WARNING: Use of uninitialized value $dataSensor[4] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 301.
2017.02.08 17:31:01 1: PERL WARNING: Use of uninitialized value $dataSensor[5] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 301.
2017.02.08 17:31:01 1: PERL WARNING: Illegal hexadecimal digit 'p' ignored at ./FHEM/74_XiaomiFlowerSens.pm line 308.
2017.02.08 17:31:01 1: PERL WARNING: Use of uninitialized value $dataSensor[4] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 310.
2017.02.08 17:31:01 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 310.
2017.02.08 17:31:01 1: PERL WARNING: Use of uninitialized value $dataSensor[7] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 311.
2017.02.08 17:31:01 1: PERL WARNING: Use of uninitialized value $dataSensor[9] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 312.
2017.02.08 17:31:01 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 312.
2017.02.08 17:31:01 1: PERL WARNING: Illegal hexadecimal digit 'I' ignored at ./FHEM/74_XiaomiFlowerSens.pm line 321.
2017.02.08 17:31:01 1: PERL WARNING: Argument "error" isn't numeric in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.08 17:31:01 1: PERL WARNING: Use of uninitialized value $dataBatFw[4] in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.08 17:31:01 1: PERL WARNING: Use of uninitialized value $dataBatFw[6] in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
Soweit nicht so schlimm, das einzige was unpraktisch ist, es gab Readings mit Wert 0 und damit einen hässlichen Sprung in den Charts.
Schaue ich mir an. Hast du denn jetzt Werte in den Readings?
Ja es scheint ein sporadisches Problem zu sein. Bisher bei dem einem Sensor z.b. 3x in ca. 2h.
Zitat von: andi11 am 08 Februar 2017, 19:29:13
Ja es scheint ein sporadisches Problem zu sein. Bisher bei dem einem Sensor z.b. 3x in ca. 2h.
Stell den Mal bitte auf verbose 5. War eigentlich der Meinung das ich sowas abgefangen habe. Kann aber sein das ich durch die Änderung mein Fehlerhandling was übersehen habe. Dummerweise macht mein einer nie Probleme. Das ist ungünstig wenn man Fehlerbehandlung programmieren will.
Grüße
ist drin. Derweil ein ganz aktuelles List (der Sensor hatte gerade einen Ausfall)
Internals:
BTMAC C4:7C:8D:62:48:6A
DEF C4:7C:8D:62:48:6A
INTERVAL 300
NAME Pflanze3
NR 284
STATE 1°C 0% 0 µS/cm 0 Lux 643.95 Lux/Tag
TYPE XiaomiFlowerSens
VERSION 0.6.4
Helper:
Dblog:
Battery:
Logdb:
TIME 1486578699.91356
VALUE low
Batterylevel:
Logdb:
TIME 1486578699.91356
VALUE 0
Fertility:
Logdb:
TIME 1486578699.91356
VALUE 0
Fertility_70:
Logdb:
TIME 1486577053.56845
VALUE 2238
Firmware:
Logdb:
TIME 1486578699.91356
VALUE -30.-30.-30
Lightintegral:
Logdb:
TIME 1486578699.91356
VALUE 55637563.6712395
Lightintegralday:
Logdb:
TIME 1486578699.91356
VALUE 643.953283231938
Lightintegraldaystate:
Logdb:
TIME 1486578699.91356
VALUE 643.95
Lux:
Logdb:
TIME 1486578699.91356
VALUE 0
Moisture:
Logdb:
TIME 1486578699.91356
VALUE 0
Statmoisturetendency:
Logdb:
TIME 1486576795.42973
VALUE 1h: -2 2h: -4 3h: -4 6h: -6
Statmoisturetendency1h:
Logdb:
TIME 1486573195.30509
VALUE -2
Statmoisturetendency2h:
Logdb:
TIME 1486576795.42973
VALUE -4
Statmoisturetendency3h:
Logdb:
TIME 1486576795.42973
VALUE -4
Statmoisturetendency6h:
Logdb:
TIME 1486576795.42973
VALUE -6
Stattemperaturedayavg:
Logdb:
TIME 1486576336.06172
VALUE 19.4
Stattemperaturedaymax:
Logdb:
TIME 1486567724.38597
VALUE 23.1
Stattemperaturedaymin:
Logdb:
TIME 1486566043.52286
VALUE 1.0
Stattemperaturehourlast:
Logdb:
TIME 1486576795.42973
VALUE Min: 20.4 Avg: 20.8 Max: 21.3
State:
Logdb:
TIME 1486578699.91356
VALUE active
Temperature:
Logdb:
TIME 1486578699.91356
VALUE 1
Readings:
2017-02-08 19:31:39 battery low
2017-02-08 19:31:39 batteryLevel 0
2017-02-08 19:31:39 fertility 0
2017-02-08 19:31:39 fertility_10 0
2017-02-08 19:31:39 fertility_20 0
2017-02-08 19:31:39 fertility_30 0
2017-02-08 19:31:39 fertility_40 1097
2017-02-08 19:31:39 fertility_50 1660
2017-02-08 19:31:39 fertility_60 2009
2017-02-08 19:31:39 fertility_70 2238
2017-02-08 19:31:39 fertility_filtered 1634
2017-02-08 19:31:39 firmware -30.-30.-30
2017-02-07 16:59:55 gotWater 1
2017-01-25 17:36:25 humidity 0
2017-02-08 19:31:39 lightintegral 55637563.6712395
2017-02-08 19:31:39 lightintegralday 643.953283231938
2017-02-08 19:31:39 lightintegraldaystate 643.95
2017-02-08 19:31:39 lux 0
2017-02-08 19:31:39 moisture 0
2017-02-08 18:59:55 statMoistureTendency 1h: -2 2h: -4 3h: -4 6h: -6
2017-02-08 18:59:55 statMoistureTendency1h -2
2017-02-08 18:59:55 statMoistureTendency2h -4
2017-02-08 18:59:55 statMoistureTendency3h -4
2017-02-08 18:59:55 statMoistureTendency6h -6
2017-02-08 19:31:39 statTemperatureDay Min: 1.0 Avg: 19.4 Max: 23.1
2017-02-08 19:31:39 statTemperatureDayAvg 19.4
2017-02-07 23:59:55 statTemperatureDayAvgLast 20.2
2017-02-07 23:59:55 statTemperatureDayLast Min: 16.5 Avg: 20.2 Max: 23.2
2017-02-08 19:31:39 statTemperatureDayMax 23.1
2017-02-07 23:59:55 statTemperatureDayMaxLast 23.2
2017-02-08 19:31:39 statTemperatureDayMin 1.0
2017-02-07 23:59:55 statTemperatureDayMinLast 16.5
2017-02-08 19:31:39 statTemperatureHour Min: 1.0 Avg: 20.7 Max: 20.7
2017-02-08 18:59:55 statTemperatureHourLast Min: 20.4 Avg: 20.8 Max: 21.3
2017-02-08 19:31:39 statTemperatureMonth Min: 1.0 Avg: 20.3 Max: 25.1
2017-01-31 23:59:55 statTemperatureMonthLast Min: 20.4 Avg: 22.4 Max: 23.3 (since: 2017-01-31_18:26:44 )
2017-02-08 19:31:39 statTemperatureYear Min: 1.0 Avg: 20.3 Max: 25.1 (since: 2017-01-31_18:26:44 )
2017-02-08 19:31:39 state active
2017-02-08 19:31:39 temperature 1
Helper:
_98_statistics statictics.Pflanzen
Attributes:
alias Amberbaum
event-min-interval moisture:3600
event-on-change-reading .*
room Pflanzen
stateFormat temperature°C moisture% fertility µS/cm lux Lux lightintegraldaystate Lux/Tag
userReadings lightintegral integral { (ReadingsVal($name,"lux",0) <100) ? 0 : (ReadingsVal($name,"lux",0)) },
lightintegralday { ReadingsVal($name,"lightintegral",0)/86400 },
lightintegraldaystate {sprintf("%.2f",ReadingsVal($name,"lightintegralday",0)) },
fertility_filtered { if ((ReadingsVal($name,"moisture",0)>=46) and (ReadingsVal($name,"moisture",0)<=48)) {
ReadingsVal($name,"fertility",0);
}else{
ReadingsVal($name,"fertility_filtered",0);
}
},
fertility_10 { if ((ReadingsVal($name,"moisture",0)>=8) and (ReadingsVal($name,"moisture",0)<=12)) {
ReadingsVal($name,"fertility",0);
}else{
ReadingsVal($name,"fertility_10",0);
}
},
fertility_20 { if ((ReadingsVal($name,"moisture",0)>=18) and (ReadingsVal($name,"moisture",0)<=22)) {
ReadingsVal($name,"fertility",0);
}else{
ReadingsVal($name,"fertility_20",0);
}
},
fertility_30 { if ((ReadingsVal($name,"moisture",0)>=28) and (ReadingsVal($name,"moisture",0)<=32)) {
ReadingsVal($name,"fertility",0);
}else{
ReadingsVal($name,"fertility_30",0);
}
}
,
fertility_40 { if ((ReadingsVal($name,"moisture",0)>=38) and (ReadingsVal($name,"moisture",0)<=42)) {
ReadingsVal($name,"fertility",0);
}else{
ReadingsVal($name,"fertility_40",0);
}
},
fertility_50 { if ((ReadingsVal($name,"moisture",0)>=48) and (ReadingsVal($name,"moisture",0)<=52)) {
ReadingsVal($name,"fertility",0);
}else{
ReadingsVal($name,"fertility_50",0);
}
}
,
fertility_60 { if ((ReadingsVal($name,"moisture",0)>=58) and (ReadingsVal($name,"moisture",0)<=62)) {
ReadingsVal($name,"fertility",0);
}else{
ReadingsVal($name,"fertility_60",0);
}
},
fertility_70 { if ((ReadingsVal($name,"moisture",0)>=68) and (ReadingsVal($name,"moisture",0)<=72)) {
ReadingsVal($name,"fertility",0);
}else{
ReadingsVal($name,"fertility_70",0);
}
}
Nicht wundern, die Userreadings sind ein paar Versuche die Daten die es gibt sinnvoller zu bewerten.
Ich weiß schon wo ich den Fehler habe oder besser nicht weiter geschaut habe beim Programmieren. Das ganze entstand wie ich Mumpitz seine "Vorschläge" umgesetzt habe. Wie gesagt, dadurch das ich keine Fehler bekomme sind solche Hinweise schon gut, aber besser wäre bis zu Ende gedacht. Also entweder Rückbau oder ich versuche das mal komplett zu analysieren.
Zitat von: CoolTux am 08 Februar 2017, 19:56:23
Ich weiß schon wo ich den Fehler habe oder besser nicht weiter geschaut habe beim Programmieren. Das ganze entstand wie ich Mumpitz seine "Vorschläge" umgesetzt habe. Wie gesagt, dadurch das ich keine Fehler bekomme sind solche Hinweise schon gut, aber besser wäre bis zu Ende gedacht. Also entweder Rückbau oder ich versuche das mal komplett zu analysieren.
Du bekommst alle Infos die du haben willst, kein Problem. Allerdings stelle ich mal nur einen von den 4 Sensoren um, da es sonst etwas unübersichtlich wird. Aber wenns so weitergeht wie bisher, dürfte es nicht soooo lange dauern.
Habe gerade mal im Code geschaut und denke den Fehler gefunden zu haben. Ich besser das heute noch aus und dann testen wir mal.
Ich habe eine aktuelle Version 0.6.5 in mein master Branch von Github geladen. Magst mal testen?
Zitat von: CoolTux am 08 Februar 2017, 20:42:44
Ich habe eine aktuelle Version 0.6.5 in mein master Branch von Github geladen. Magst mal testen?
Version aktualisiert. Auf 3 Sensoren normal, bei einem verbose 5. Ich geb bescheid, wie es sich schlägt.
Vielen Dank für deine schnelle Anpassung.
Freu Dich nicht zu früh. Habe die letzte halbe Stunde noch mal in Ruhe geschaut. Meine Anpassungen waren doch korrekt und eigentlich hätte der Fehler den Du hast nicht passieren dürfen.
Ich brauche also doch ein verbose 5. Hilft alles nichts
Der Fehler steckt in Zeile 400. Copy/Paste Fehler. Du verwendest dort readSensData anstatt readBatFwData.
In der Tat. Vielen lieben Dank, da hätte ich mich glaube dumm und dämlich gesucht.
Grüße
Aktuelle Version liegt im Git und ich mache zu morgen früh ein fhem Update fertig
ob gute Nachrichten oder nicht muss du selbst entscheiden, aber hier ein Fehlerauszug
2017.02.09 14:30:28 4: Sub XiaomiFlowerSens_Run (Pflanze3) - start blocking call
2017.02.09 14:30:28 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze3) - Running nonBlocking
2017.02.09 14:30:28 5: Sub XiaomiFlowerSens_stateRequestTimer (Pflanze3) - Request Timer wird aufgerufen
2017.02.09 14:30:30 4: Sub XiaomiFlowerSens_callGatttool (Pflanze3) - call gatttool charWrite loop 1
2017.02.09 14:30:30 4: Sub XiaomiFlowerSens_callGatttool (Pflanze3) - charWrite wresp: Characteristic Write Request failed: Internal application error: I/O
2017.02.09 14:30:30 4: Sub XiaomiFlowerSens_callGatttool (Pflanze3) - run gatttool
2017.02.09 14:30:40 4: Sub XiaomiFlowerSens_callGatttool (Pflanze3) - call gatttool charRead loop 1
2017.02.09 14:30:40 4: Sub XiaomiFlowerSens_callGatttool (Pflanze3) - processing gatttool response. sensData[0]: Characteristic value/descriptor read failed
2017.02.09 14:30:40 4: Sub XiaomiFlowerSens_callGatttool (Pflanze3) - processing gatttool response. sensData: Internal application error
2017.02.09 14:30:43 4: Sub XiaomiFlowerSens (Pflanze3) - call gatttool readBatFw loop 1
2017.02.09 14:30:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze3) - processing gatttool response. batFwData: Internal application error
2017.02.09 14:30:43 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze3) - Processing response data: Internal application error
2017.02.09 14:30:43 1: PERL WARNING: Use of uninitialized value $dataSensor[3] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 301.
2017.02.09 14:30:43 1: PERL WARNING: Use of uninitialized value $dataSensor[4] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 301.
2017.02.09 14:30:43 1: PERL WARNING: Use of uninitialized value $dataSensor[5] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 301.
2017.02.09 14:30:43 1: PERL WARNING: Illegal hexadecimal digit 'p' ignored at ./FHEM/74_XiaomiFlowerSens.pm line 308.
2017.02.09 14:30:43 1: PERL WARNING: Use of uninitialized value $dataSensor[4] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 310.
2017.02.09 14:30:43 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 310.
2017.02.09 14:30:43 1: PERL WARNING: Use of uninitialized value $dataSensor[7] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 311.
2017.02.09 14:30:43 1: PERL WARNING: Use of uninitialized value $dataSensor[9] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 312.
2017.02.09 14:30:43 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 312.
2017.02.09 14:30:43 1: PERL WARNING: Illegal hexadecimal digit 'I' ignored at ./FHEM/74_XiaomiFlowerSens.pm line 321.
2017.02.09 14:30:43 1: PERL WARNING: Argument "error" isn't numeric in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.09 14:30:43 1: PERL WARNING: Use of uninitialized value $dataBatFw[4] in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.09 14:30:43 1: PERL WARNING: Use of uninitialized value $dataBatFw[6] in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.09 14:30:43 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze3) - no dataerror, create encode json: {"blevel":0,"temp":10,"moisture":0,"lux":0,"fertility":0,"firmware":"-30.-30.-30"}
2017.02.09 14:30:44 4: Sub XiaomiFlowerSens_BlockingDone (Pflanze3) - Abschluss!
2017.02.09 14:39:51 4: Sub XiaomiFlowerSens_Run (Pflanze3) - start blocking call
2017.02.09 14:39:51 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze3) - Running nonBlocking
2017.02.09 14:39:51 5: Sub XiaomiFlowerSens_stateRequestTimer (Pflanze3) - Request Timer wird aufgerufen
2017.02.09 14:39:54 4: Sub XiaomiFlowerSens_callGatttool (Pflanze3) - call gatttool charWrite loop 1
2017.02.09 14:39:54 4: Sub XiaomiFlowerSens_callGatttool (Pflanze3) - charWrite wresp: Characteristic value was written successfully
Version hab ich nach deinem letzten Post gestern Abend noch getauscht und neu gestartet
Also das sieht erstmal Kacke aus ;D
Genauer schaue ich heute Abend mal. Aber irgendwie macht er immer noch kein Brack wenn die Daten nicht passen.
Kannst du mal ein FHEM Update machen? Sollte eigentlich eine neue Version dabei sein.
Zitat von: CoolTux am 09 Februar 2017, 16:31:06
Kannst du mal ein FHEM Update machen? Sollte eigentlich eine neue Version dabei sein.
Hab ich vorhin erledigt (Modul wurde aktualisiert). Mal abwarten...
Es ist wieder passiert :)
2017.02.09 17:30:09 4: Sub XiaomiFlowerSens_Run (Pflanze1) - start blocking call
2017.02.09 17:30:09 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze1) - Running nonBlocking
2017.02.09 17:30:10 5: Sub XiaomiFlowerSens_stateRequestTimer (Pflanze1) - Request Timer wird aufgerufen
2017.02.09 17:30:11 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charWrite loop 1
2017.02.09 17:30:11 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - charWrite wresp: Characteristic Write Request failed: Internal application error: I/O
2017.02.09 17:30:11 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - run gatttool
2017.02.09 17:30:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charRead loop 1
2017.02.09 17:30:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - processing gatttool response. sensData[0]: Characteristic value/descriptor read failed
2017.02.09 17:30:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - processing gatttool response. sensData: Internal application error
2017.02.09 17:30:23 4: Sub XiaomiFlowerSens (Pflanze1) - call gatttool readBatFw loop 1
2017.02.09 17:30:23 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - processing gatttool response. batFwData: Internal application error
2017.02.09 17:30:23 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze1) - Processing response data: Internal application error
2017.02.09 17:30:23 1: PERL WARNING: Use of uninitialized value $dataSensor[3] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 301.
2017.02.09 17:30:23 1: PERL WARNING: Use of uninitialized value $dataSensor[4] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 301.
2017.02.09 17:30:23 1: PERL WARNING: Use of uninitialized value $dataSensor[5] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 301.
2017.02.09 17:30:23 1: PERL WARNING: Illegal hexadecimal digit 'p' ignored at ./FHEM/74_XiaomiFlowerSens.pm line 308.
2017.02.09 17:30:23 1: PERL WARNING: Use of uninitialized value $dataSensor[4] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 310.
2017.02.09 17:30:23 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 310.
2017.02.09 17:30:23 1: PERL WARNING: Use of uninitialized value $dataSensor[7] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 311.
2017.02.09 17:30:23 1: PERL WARNING: Use of uninitialized value $dataSensor[9] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 312.
2017.02.09 17:30:23 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 312.
2017.02.09 17:30:23 1: PERL WARNING: Illegal hexadecimal digit 'I' ignored at ./FHEM/74_XiaomiFlowerSens.pm line 321.
2017.02.09 17:30:23 1: PERL WARNING: Argument "error" isn't numeric in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.09 17:30:23 1: PERL WARNING: Use of uninitialized value $dataBatFw[4] in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.09 17:30:23 1: PERL WARNING: Use of uninitialized value $dataBatFw[6] in subtraction (-) at ./FHEM/74_XiaomiFlowerSens.pm line 322.
2017.02.09 17:30:23 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze1) - no dataerror, create encode json: {"temp":10,"lux":0,"blevel":0,"firmware":"-30.-30.-30","fertility":0,"moisture":0}
2017.02.09 17:30:23 4: Sub XiaomiFlowerSens_BlockingDone (Pflanze1) - Abschluss!
Und ich glaube auch wieso. Ich werde da wohl noch was zusätzlich einbauen müssen. Kannst erstmal wieder verbose abstellen. Ich sehe jetzt wo es hängt
Version 0.6.6 kommt heute per Update rein. Damit ist nun das Problem mit den uninitialized values behoben.
Du hast aber immer noch ein Problem mit Deinem Sensor.
Characteristic Write Request failed: Internal application error: I/O
Kann Dir aber nicht sagen was das heißt. Zu mindest sollte es, sofern die Meldung nur sporadisch auf tritt, nun rund laufen.
Ich habe bei mir ein Problem entdeckt, das leider auch bei dir enthalten ist/war, da ich die selbe Codebasis benutze.
Das Attribut hciDevice kann man zwar schön auf irgendwas setzen, aber leider wird dann im Code versucht mit der Funktion ReadingsVal() das Attribut auszulesen. Das klappt leider nicht, da hciDevice ein Attribut und kein Reading ist. Deshalb geht dein Code immer nur mit hci0 (default Wert), egal was man im Attribut einstellt.
Bei mir habe ich deshalb den Wert ins hash geschrieben, entsprechend Attribute Set implementiert und dann genauso wie die mac durchgereicht. Die Änderungen waren leider etwas umfangreich...
PS: Ich habe nicht nachgesehen, ob du da inzwischen selbst was veränderst hast...
Oh, das wäre ja böse. Ich schaue da mal nach. Ist wenn bestimmt ein Schreibfehler von mir. Muss dann natürlich AttrVal heißen.
Danke für die Info.
ZitatDeshalb geht dein Code immer nur mit hci0 (default Wert), egal was man im Attribut einstellt.
Dann wäre ja bei mir lepresenced und die Pflanzen-Sensoren bisher immer über den selben BT Dongle gelaufen, und das ohne Probleme??! Kann ich mir kaum vorstellen..
Habe gerade im Code geschaut. Mumpitz hat Recht. Das könnte auch Deine Probleme hin und wieder erklären.
Ich besser das heute Abend aus.
ZitatHabe gerade im Code geschaut. Mumpitz hat Recht. Das könnte auch Deine Probleme hin und wieder erklären.
Nein, kann das definitiv nicht bestätigen. Die Pflanzen-Sensoren werden bei mir vom richtigen Dongle (hci1) abgefragt. Das sehe ich über die LED am Dongle, die leuchtet , wenn Daten abgefragt werden. Der Code-Fehler, den Du entdeckt hast, könnte aber tatsächliche Ursache der (seltenen) Fehlermeldungen sein, die ich mal früher beschrieben habe und immer noch ab und zu bekomme..
Ich muss gestehen, dass mir das nicht wegen dem hci device aufgefallen ist, da ich hci0 verwende und lepresenced auf hci1. Ich habe ein andres Attribut verwendet und genauso versucht zu benutzen und bekam immer nur den default Wert geliefert. Deshalb würde es mich wundern wenn das tatsächlich trotzdem funktioniert hat. Ich hab jetzt leider schon den Code bei mir stark angepasst und kann das nicht mehr validieren. Schau am besten noch mal genau nach.
Habe es gerade umgeschrieben. Waren ja nur 5 Buchstaben zu ändern. Jetzt läuft es auch, habe gerade getestet.
Werde es nachher noch frei geben.
Mir ist noch was aufgefallen, nachdem ich dann endlich die beiden Sensoren erhalten und in Betrieb genommen habe. Du schreibst bei einer neuen Firmware einen Wert. Laut Logfile passiert dann sowas, wenn das beim ersten Mal schief läuft:
2017.02.11 00:19:28 4: Sub XiaomiFlowerSens_callGatttool (MyPlant2) - call gatttool charWrite loop 1
2017.02.11 00:19:28 4: Sub XiaomiFlowerSens_callGatttool (MyPlant2) - charWrite wresp: connect error: Transport endpoint is not connected (107)
2017.02.11 00:19:28 4: Sub XiaomiFlowerSens_callGatttool (MyPlant2) - run gatttool
Du schaust leider nur ob irgendwas zurück kommt, prüfst aber nicht, ob es ein Fehler oder die erwartete Antwort ist und machst dann einfach weiter. Der Rest geht dann schief, weil das Schreiben zuvor nicht geklappt hat. Ich würde hier genau das selbe machen wie bei den beiden anderen Reads vom Sensor und mittels Regexp nach der erwarteten Antwort suchen und erst dann weiter laufen.
Da meine Sensoren ziemlich am Rande des Empfangsbereiches sind, braucht es meist mehrere Versuche bis es klappt und deshalb habe ich den Fehler wirklich ziemlich oft.
Kann bitte mal jemand mit einer anderen Firmware wie 2.6.2 diese Modulversion testen?
Hier würde auch das hci Problem gelöst.
Hi,
Zitat von: CoolTux am 11 Februar 2017, 12:44:22
Kann bitte mal jemand mit einer anderen Firmware wie 2.6.2 diese Modulversion testen?
Hier würde auch das hci Problem gelöst.
ich habe das gerade bei mir installiert und habe die Firmware 2.8.6. Werte werden gelesen. Scheint also OK zu sein.
Viele Grüße vom gent
Hallo,
habe ein Problem mit den Sensoren und benötige daher Unterstützung. Habe 3 Stück, leider empfängt nur einer Daten.
Die nicht korrekt funktionierenden haben den Status unreachable und charWrite faild. Mit der Xiaomi App funktionieren die einwandfrei.
Wenn ich die mit gatttool -I anspreche funktionieren die kurzzeitig verlieren aber nach kurzer Zeit die Verbindung.
Gruß
Christoph
Welche Firmware hast Du? Und ich brauche bitte ein verbose 5 Log von Dir.
Zitat von: CoolTux am 11 Februar 2017, 12:44:22
Kann bitte mal jemand mit einer anderen Firmware wie 2.6.2 diese Modulversion testen?
Hier würde auch das hci Problem gelöst.
Hi, ich hatte heute auch mal ein CharWrite failed von einem meiner Sensoren. Mir persönlich macht das nichts aus, aber wenn ich mit irgendwelchen Logfiles dienen kann, dann einfach melden (Firmware 2.8.6, Modul 0.6.8)
Viele Grüße
Hi,
firmware
2.8.6
Anbei das LOgfile
ist ja gemein. Seit dem letzten FHEM Update sagt meine Australische Kiefer (Firmware 2.8.6) nur noch lastGattError "
Unknown Error, look at verbose 5 output"
und das ergibt:
2017.02.12 21:55:50 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 31320
2017.02.12 21:55:50 3: (Pflanze4) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
2017.02.12 21:58:07 4: Sub XiaomiFlowerSens_Run (Pflanze2) - start blocking call
2017.02.12 21:58:07 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze2) - Running nonBlocking
2017.02.12 21:58:07 5: Sub XiaomiFlowerSens_stateRequestTimer (Pflanze2) - Request Timer wird aufgerufen
2017.02.12 21:58:11 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charWrite loop 1
2017.02.12 21:58:11 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - charWrite wresp: connect error: Function not implemented (38)
2017.02.12 21:58:11 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - run gatttool
2017.02.12 21:58:14 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 1
2017.02.12 21:58:18 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 2
2017.02.12 21:58:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 3
2017.02.12 21:58:22 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 4
2017.02.12 21:58:24 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 5
2017.02.12 21:58:29 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 6
2017.02.12 21:58:31 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 7
2017.02.12 21:58:35 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 8
2017.02.12 21:58:37 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 9
2017.02.12 21:58:37 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 31423
2017.02.12 21:58:37 3: (Pflanze2) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
Ein hcitool lescan findet die Kiefer auch weiterhin. Die anderen 3 schlagne sich wacker
Wie bereits schon gepostet, dürfte ein Teil der Probleme auf einen Bug in Schleife zum Schreiben eines Wertes in den Sensor liegen. Basierend auf den letzten Git Stand im Master Tree ist das hier der entsprechende Patch, der diesen Bug beseitigt:
74_XiaomiFlowerSens.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/74_XiaomiFlowerSens.pm b/74_XiaomiFlowerSens.pm
index edaff7c..b8ce000 100644
--- a/74_XiaomiFlowerSens.pm
+++ b/74_XiaomiFlowerSens.pm
@@ -368,7 +368,7 @@ sub XiaomiFlowerSens_callGatttool($@) {
Log3 $name, 4, "Sub XiaomiFlowerSens_callGatttool ($name) - call gatttool charWrite loop $loop";
Log3 $name, 4, "Sub XiaomiFlowerSens_callGatttool ($name) - charWrite wresp: $wresp" if(defined($wresp));
- } while( ($loop < 10) and (not defined($wresp)) );
+ } while( ($loop < 10) and (not $wresp =~ /^Characteristic value was written successfully$/) );
}
Log3 $name, 4, "Sub XiaomiFlowerSens_callGatttool ($name) - run gatttool";
Vielen Dank. Das ist definitiv besser wie meine aktuelle Lösung. Baue ich gleich ein und gebe es hier zum testen frei.
Version 0.6.8 hängt an zum testen. Bitte mal alle Leute mit Firmware höher 2.6.2 testen
Test läuft bei Firmware 2.8.6
Mal schauen ob damit meine Australische Kiefer wieder erreichbar ist. Obwohl ich eigentlich nichts bewegt habe erreicht die das Modul nicht mehr. Alle anderen laufen
Hallo zusammen.
Ich habe leider die Version 2.8.6 auf 3 von 4 Sensoren installiert und dort erhalte ich immer ein "charWrite failed" im state und kann keine Werte abrufen.
Ich habe auch nun auch die 0.6.8 installiert und das Auslesen ebenfalls versucht, leider erhalte ich immer noch ein "charWrite failed".
Ein verbose 5 ergibt folgendes:
2017.02.13 17:34:11 4: Sub XiaomiFlowerSens_Run (Reserve1) - start blocking call
2017.02.13 17:34:11 4: Sub XiaomiFlowerSens_BlockingRun (Reserve1) - Running nonBlocking
2017.02.13 17:34:11 4: Sub XiaomiFlowerSens_callGatttool (Reserve1) - run gatttool
2017.02.13 17:34:12 4: Sub XiaomiFlowerSens_callGatttool (Reserve1) - call gatttool charRead loop 1
2017.02.13 17:34:12 4: Sub XiaomiFlowerSens_callGatttool (Reserve1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.02.13 17:34:12 4: Sub XiaomiFlowerSens_callGatttool (Reserve1) - processing gatttool response. sensData: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.02.13 17:34:13 4: Sub XiaomiFlowerSens (Reserve1) - call gatttool readBatFw loop 1
2017.02.13 17:34:13 4: Sub XiaomiFlowerSens_callGatttool (Reserve1) - processing gatttool response. batFwData: 61 1d 32 2e 38 2e 36
2017.02.13 17:34:13 4: Sub XiaomiFlowerSens_BlockingRun (Reserve1) - Processing response data: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Der Sensor der noch mit der 2.6.2 läuft macht keine Probleme.
Zitat von: mumpitzstuff am 12 Februar 2017, 22:42:10
Wie bereits schon gepostet, dürfte ein Teil der Probleme auf einen Bug in Schleife zum Schreiben eines Wertes in den Sensor liegen. Basierend auf den letzten Git Stand im Master Tree ist das hier der entsprechende Patch, der diesen Bug beseitigt:
74_XiaomiFlowerSens.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/74_XiaomiFlowerSens.pm b/74_XiaomiFlowerSens.pm
index edaff7c..b8ce000 100644
--- a/74_XiaomiFlowerSens.pm
+++ b/74_XiaomiFlowerSens.pm
@@ -368,7 +368,7 @@ sub XiaomiFlowerSens_callGatttool($@) {
Log3 $name, 4, "Sub XiaomiFlowerSens_callGatttool ($name) - call gatttool charWrite loop $loop";
Log3 $name, 4, "Sub XiaomiFlowerSens_callGatttool ($name) - charWrite wresp: $wresp" if(defined($wresp));
- } while( ($loop < 10) and (not defined($wresp)) );
+ } while( ($loop < 10) and (not $wresp =~ /^Characteristic value was written successfully$/) );
}
Log3 $name, 4, "Sub XiaomiFlowerSens_callGatttool ($name) - run gatttool";
Dann scheint das hier nicht zu funktionieren weil gatttool bei erfolgreichen schreiben doch kein response gibt.
Kann bitte jemand mit Firmware > 2.6.2 in der Konsole mal gatttool starten
gatttool -b $mac --char-write-req -a 0x33 -n A01F und mir die Ausgabe Posten?
Bei mir ergibt das folgendes:
Zitatgatttool -b X:X:X:X:X:X --char-write-req -a 0x33 -n A01F
Characteristic value was written successfully
Zitat von: Jiggi am 13 Februar 2017, 18:04:47
Bei mir ergibt das folgendes:
gatttool -b X:X:X:X:X:X --char-write-req -a 0x33 -n A01F 2>&1 /dev/null
Und wenn du das machst?
gatttool -b X:X:X:X:X:X --char-write-req -a 0x33 -n A01F 2>&1 /dev/null
Characteristic value was written successfully
Ok danke. Ich schaue mal. Denke das ich da was habe.
Kann bitte jemand mit Firmware > 2.6.2 Version 0.6.8pre3 installieren und mit verbose 5 laufen lassen?
Danke
2017.02.13 18:38:25 4: Sub XiaomiFlowerSens_Run (Reserve1) - start blocking call
2017.02.13 18:38:25 4: Sub XiaomiFlowerSens_BlockingRun (Reserve1) - Running nonBlocking
2017.02.13 18:38:26 5: Sub XiaomiFlowerSens_callGatttool (Reserve1) - WFR: 0
2017.02.13 18:38:26 4: Sub XiaomiFlowerSens_callGatttool (Reserve1) - run gatttool
2017.02.13 18:38:27 4: Sub XiaomiFlowerSens_callGatttool (Reserve1) - call gatttool charRead loop 1
2017.02.13 18:38:27 4: Sub XiaomiFlowerSens_callGatttool (Reserve1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.02.13 18:38:27 4: Sub XiaomiFlowerSens_callGatttool (Reserve1) - processing gatttool response. sensData: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.02.13 18:38:27 4: Sub XiaomiFlowerSens (Reserve1) - call gatttool readBatFw loop 1
2017.02.13 18:38:27 4: Sub XiaomiFlowerSens_callGatttool (Reserve1) - processing gatttool response. batFwData: 61 1d 32 2e 38 2e 36
2017.02.13 18:38:27 4: Sub XiaomiFlowerSens_BlockingRun (Reserve1) - Processing response data: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Hast Du ein Reading namens Firmware? Kannst mal bitte ein list von dem Sensordevice machen?
list DEVICENAME
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
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
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
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.
Ok wieso das so ist kann ich nach vollziehen. Mach mal folgendes
setreading $DEVICENAME firmware 2.6.8
Und dann statusRequest
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
Kein Problem. Ich habe zu Danken. Du hast nämlich ein grundlegendes Problem aufgetan. Ich muß mir da noch was einfallen lassen ;D
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
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
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
Eine Frage:
Funktioniert der Sensor auch, wenn Lepresenced aktiv ist oder braucht es einen weiteren Dongle?
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.
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
Hinter meinemailadresse hast du ein doppeltes hochkomma, davor aber nur ein einzelnes verwendet. Sollte beides gleich sein.
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
Zitat von: CoolTux am 14 Februar 2017, 21:03:33
Der Sensor sollte gehen, aber lepresenced nicht. Lieber zweiten Dongle nehmen.
Ich habe es befürchtet. Gibt es eine aktuelle USB-Hub-Empfehlung für die Raspi?
Wenn dann ein aktives. Und da sollte dann eigentlich alle gehen.
Vielen Dank für den Hinweis, habe mich gestern noch mehr in das Thema eingelesen.
Leider bekomme ich ein Thema nicht ist, hat leider nichts direkt mit dem Flower Monitor zu tun. Sondern nur mit Bluetooth.
Nach jedem Neustart (ohne Monitor) funktioniert Bluetooth nicht mehr. Muss erst umständlich einen Monitor anschließen, neu starten und dann kann der Monitor wieder ab.
Folgende Meldung erhalte ich.
sudo hcitool lescan
Set scan parameters failed: Connection timed out
sudo service bluetooth status
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled)
Active: active (running) since Mi 2017-02-15 19:17:08 CET; 31min ago
Docs: man:bluetoothd(8)
Main PID: 745 (bluetoothd)
Status: "Running"
CGroup: /system.slice/bluetooth.service
└─745 /usr/lib/bluetooth/bluetoothd
Feb 15 19:17:08 raspberrypi bluetoothd[745]: Bluetooth daemon 5.23
Feb 15 19:17:08 raspberrypi systemd[1]: Started Bluetooth service.
Feb 15 19:17:08 raspberrypi bluetoothd[745]: Starting SDP server
Feb 15 19:17:08 raspberrypi bluetoothd[745]: Bluetooth management interface ...d
Feb 15 19:17:08 raspberrypi bluetoothd[745]: Sap driver initialization failed.
Feb 15 19:17:08 raspberrypi bluetoothd[745]: sap-server: Operation not permi...)
systemctl status bluetooth
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled)
Active: active (running) since Mi 2017-02-15 19:17:08 CET; 37min ago
Docs: man:bluetoothd(8)
Main PID: 745 (bluetoothd)
Status: "Running"
CGroup: /system.slice/bluetooth.service
└─745 /usr/lib/bluetooth/bluetoothd
Wenn es offtopic ist, bitte verschieben.
Viele Grüße
Frank
Ich weiss nicht, ob das hier der "offizielle" Thread zu 74_XiaomiFlowerSens.pm ist ... aber falls ja, hätte ich eine Idee zur Erweiterung.
Da die BT-Reichweite ja beschränkt ist, setze ich bei mir kleine "Satelliten" ein ... ein einfacher Pi mit Minimal-Linux und BT-Dongle. Vom FHEM-Host wird statt lokal gaatool <parameter> einfach ssh user@satellit gaatool <parameter> ausgeführt. ssh-keys sind natürlich vorher verteilt wurden, sodass der ssh ohne weitere PW-Abfrage funktioniert.
Läuft bei mir momentan alle sin einen Linux-Script und füllt in FHEM entsprechende Dummy-Objekte mit den Werten.
Aber vielleicht ist das ja generell von Interesse und man könnte user@satellit als optionalen Parameter ins Modul integrieren. Wenn dieser gesetzt ist, müssen die lokalen OS-Commands dann eben über ssh auf dem Satelliten ausgeführt werden ... die Ausgabe der Commands ist ja die gleiche. Der Aufwand dies umzusetzen dürfte somit "überschaubar" sein.
Finde ich gut. Da ich auf diese Art zum Beispiel meine Firewall steuere, kenne ich das Prinzip bereits.
Allerdings bin ich faul, ich gebe Euch lediglich die Möglichkeit ein 'ssh host' zu machen und Ihr legt Euch dafür eine saubere .ssh/config an wo die entsprechenden Daten drin stehen. ;D
Die Umsetzung wird aber dennoch dauern, da ich Momentan anderwaltig ausgelastet bin.
Grüße
Zitat von: roedert am 16 Februar 2017, 02:01:20
Ich weiss nicht, ob das hier der "offizielle" Thread zu 74_XiaomiFlowerSens.pm ist ... aber falls ja, hätte ich eine Idee zur Erweiterung.
Da die BT-Reichweite ja beschränkt ist, setze ich bei mir kleine "Satelliten" ein ... ein einfacher Pi mit Minimal-Linux und BT-Dongle. Vom FHEM-Host wird statt lokal gaatool <parameter> einfach ssh user@satellit gaatool <parameter> ausgeführt. ssh-keys sind natürlich vorher verteilt wurden, sodass der ssh ohne weitere PW-Abfrage funktioniert.
Läuft bei mir momentan alle sin einen Linux-Script und füllt in FHEM entsprechende Dummy-Objekte mit den Werten.
Aber vielleicht ist das ja generell von Interesse und man könnte user@satellit als optionalen Parameter ins Modul integrieren. Wenn dieser gesetzt ist, müssen die lokalen OS-Commands dann eben über ssh auf dem Satelliten ausgeführt werden ... die Ausgabe der Commands ist ja die gleiche. Der Aufwand dies umzusetzen dürfte somit "überschaubar" sein.
Ja, wäre super.
Wegen Reichweite wollte ich es ähnlich versuchen zu lösen...
...hätte halt zunächst mal den lokalen Aufruf durch einen ssh-Aufruf ersetzt...
Aber wenn das so richtig ins Modul käme, dann wäre das natürlich super!!
So inetwa wie attr ssh=user@host ist vorhanden/gesetzt, dann Aufruf per ssh ansonsten lokal?
Voraussetzungen, dass der ssh-Aufruf funktioniert (also Zertifikate etc.) selbst zu schaffen ist klar (also für mich)...
Danke schon mal, Joachim
Über sowas hab ich auch schon nachgedacht gehabt, da die Reichweite von Bluetooth bei mir sehr gering war. Geholfen hat bei mir ein sehr einfacher Trick und hat damit die Verwendung solcher Gateways hinfällig gemacht. Ich habe die Bluetooth Dongles am Raspberry einfach an eine 15cm USB Verlängerung dran gehangen und schlagartig war der Empfang sehr viel besser.
Zitat von: mumpitzstuff am 16 Februar 2017, 09:37:36
Über sowas hab ich auch schon nachgedacht gehabt, da die Reichweite von Bluetooth bei mir sehr gering war. Geholfen hat bei mir ein sehr einfacher Trick und hat damit die Verwendung solcher Gateways hinfällig gemacht. Ich habe die Bluetooth Dongles am Raspberry einfach an eine 15cm USB Verlängerung dran gehangen und schlagartig war der Empfang sehr viel besser.
Wollte eigentlich den BT des PI3 direkt nehmen...
...funktioniert soweit auch sehr gut.
Nur
1. mein Hauptsystem läuft (noch) auf einem PI2 und
2. wäre der eh zu weit weg (hab ich schon probiert).
Aber ich habe einen PI3 im Wohnzimmer stehen, welcher eine HUE-Bridge "simuliert" (Dresden Elektronik) und einen USB-CO2-Messer dran hat (den ich auch per ssh auslese, daher wäre da schon alles vorbereitet :) ).
Der PI sollte eigentlich nah genug sein...
EDIT: alternativ hatte ich auch mal überlegt einen ESP32 oder ESP8266 mit BT-Modul als "Satelit" zu nehmen aber dazu habe ich zu wenig Zeit und außerdem wollen meine ESP32 einfach nicht kommen. Es gibt auch einen Thread hier wo sowas überlegt wird, aber da sieht es auch nicht gut aus...
Gruß, Joachim
Das hier ist der Thread https://forum.fhem.de/index.php/topic,65818.0.html
Kurze Frage:
Weiß jemand, ob es eventuell Probleme gibt, wenn neben dem Modul von Xiaomi auch andere laufen (wie z.B. das PRESENCE Modul). Ich probiere schon lange mit dem Modul, allerdings findet FHEM nicht ich immer wieder die Fehlermeldung.
2017-02-18 14:08:42 XiaomiFlowerSens Pflanze unreachable
Verbose 5 gibt auch keinen Hinweis. Ansonsten (in der Konsole) erkennt er alle BT Geräte, wie meine beiden Xiaomi Fühler oder mein Smartphone .....
Das hat nicht direkt etwas mit presence zu tun. Aber wenn Du lepresenced verwendest, dann kann es zu Problemen kommen wenn beide den selben Dongle verwenden. Daher besser zweiter Dongle.
danke für deine schnelle Antwort.
OK - das kann ich dann damit auch ausschließen. Mir ein Rätsel, warum ich keine Verbindung über Bluetooth hinkriege, ich habe mir extra einen einen neuen Dongel und einen zweiten Xioami gekauft.
Hast Du ein Pi3, kann mich entsinnen das es da immer Probleme gab.
Zitat von: tom44 am 18 Februar 2017, 15:21:16
ich habe mir extra einen einen neuen Dongel und einen zweiten Xioami gekauft.
Welchen genau ... nicht alle können Bluetooth LE.
Was sagt denn
hcitool dev und
hcitool lescan in Linuxs elbst?
Hallo zusammen.
Habe mir für den Xiaomi Sensor den BT0037 von Logilink geholt. Habe jedoch das Problem das der Sensor nicht gefunden wurde. Dieser lag ca. 1 Meter entfernt vom PI mit dem BT Modul.
Habe auch den "lescan" durchgeführt, jedoch ohne ergebnisse.
Jemand einen Ansatz warum der Sensor nicht gefunden wird ?
MIt dem Handy under der FlowerCareApp läuft es,
Gruß
Sascha
Ist zwar BT 4.0 - aber Low Energy ist nicht explizit ausgewiesen ... evtl. kann der das nicht.
Habe zB diesen: https://www.amazon.de/dp/B01CFTXRYY
Zitat von: roedert am 18 Februar 2017, 17:39:12
Ist zwar BT 4.0 - aber Low Energy ist nicht explizit ausgewiesen ... evtl. kann der das nicht.
Habe zB diesen: https://www.amazon.de/dp/B01CFTXRYY
Soll der Nachfolger vom BT0015 sein.
Explizit ist das dieser Stick.
https://www.amazon.de/gp/product/B015C3JM62/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 (https://www.amazon.de/gp/product/B015C3JM62/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1)
http://www.idealo.de/preisvergleich/OffersOfProduct/4900019_-bt0037-logilink.html (http://www.idealo.de/preisvergleich/OffersOfProduct/4900019_-bt0037-logilink.html)
Ließ mal unten den Kommentar.
Kann denn jemand eine funktionierende Empfehlung in Sachen BT Stick mit dem Xiaomi Pflanzen Sensor aussprechend bzw. niederschreiben? ;D
Gruß
Sascha
Zitat von: CoolTux am 18 Februar 2017, 15:26:03
Hast Du ein Pi3, kann mich entsinnen das es da immer Probleme gab.
Nein, einen PI2 und den LogiLink BT0015 USB bluetooth V4.0 EDR Class1 Micro Dongle.
Zitat von: roedert am 18 Februar 2017, 15:46:22
Welchen genau ... nicht alle können Bluetooth LE.
Was sagt denn hcitool dev und hcitool lescan in Linuxs elbst?
mit dem hcitool finde ich den USB Bluetooth stick, über Linux habe ich die MAC Adressen der beiden Xioami ja gefunden, allerdings auch mit Problemen. Es wäre wirklich gut, wenn BT Sticks zusammengetragen werden könnten, die funktionieren. Ich würde allerdings dann den dritten kaufen :-\ :-\
Also ich bin hin zu Media Markt und habe da einen Mini Dongle mit BT 4 und Le Aufschrift für 14 Euro gekauft. Klappt perfekt
CSL - USB nano Bluetooth-Adapter V4.0
Bei mir geht der hier, allerdings reicht mir die Reichweite nicht, deshalb wäre ein Class 1 Device schön, sonst müsste ich doch irgendwelche Sateliten betreiben. Ich hab bei mir inzwischen leider oft ebenfalls die Meldung Unreachable. Da liegt es aber an der Entfernung. Sind die Töpfe näher am Dongle, gehts auch wieder.
Zum Thema Bluetooth Adapter: Ich habe einige getestet. Der mit der besten Reichweite war der hier:
mumbi Nano USB Bluetooth Dongle 4.0
Kostet derzeit 12 Euro bei Amazon.
vg stoxx
Bei Amazon schreibt jemand in den Kommentaren, dass der Baugleich zu dem CSL Dongle ist. Letzteren habe ich, deshalb bringt der wahrscheinlich auch nichts. Die 20-50m kann ich ebenfalls nicht bestätigen. Bei mir sind es 10m, allerdings mit 1 Ecke dazwischen. Werde vermutlich die Position vom Raspi in die Wohnungsmitte verlegen müssen...
Zitat...Baugleich zu dem CSL Dongle ist
Ich habe auch den CSL ("CSL - USB micro Bluetooth-Adapter V4.0") getestet und der war definitiv schlechter.
Schaut auch nicht baugleich aus , ehrlich gesagt..
CSL:
https://www.amazon.de/gp/product/B00D757YZ4/ref=oh_aui_search_detailpage?ie=UTF8&psc=1 (https://www.amazon.de/gp/product/B00D757YZ4/ref=oh_aui_search_detailpage?ie=UTF8&psc=1)
Mumbi:
https://www.amazon.de/Bluetooth-Dongle-4-0-Windows-Reichweite/dp/B011LOJ9QE/ref=sr_1_1?s=computers&ie=UTF8&qid=1487532133&sr=1-1&keywords=mumbi+Nano+USB+Bluetooth+Dongle+4.0 (https://www.amazon.de/Bluetooth-Dongle-4-0-Windows-Reichweite/dp/B011LOJ9QE/ref=sr_1_1?s=computers&ie=UTF8&qid=1487532133&sr=1-1&keywords=mumbi+Nano+USB+Bluetooth+Dongle+4.0)
Kann das aber halt auch nur aus meiner Erfahrung heraus sagen..
vg stoxx
Ne hab den hier (Nano nicht Micro):
https://www.amazon.de/CSL-Bluetooth-verbesserte-Energieeffizienz-Technologie/dp/B01N0368AY/ref=sr_1_2?s=computers&ie=UTF8&qid=1487542155&sr=1-2&keywords=csl+bluetooth (https://www.amazon.de/CSL-Bluetooth-verbesserte-Energieeffizienz-Technologie/dp/B01N0368AY/ref=sr_1_2?s=computers&ie=UTF8&qid=1487542155&sr=1-2&keywords=csl+bluetooth)
Und der sieht sehr ähnlich aus. Aber es gibt noch 100 andere die gleich oder ähnlich aussehen... Letztendlich ist es relativ schwierig eine Reichweite auszumachen, das hängt letztendlich von zu vielen Faktoren ab. Ich würde mich lediglich auf die Class Angaben verlassen, wobei Class 1 wohl am besten wäre.
Die letzte Version funktioniert bei mir jetzt sehr zuverlässig, nachdem ich meinen Raspi in die Wohnungsmitte umgezogen habe. Sobald man den Sensor am Rande des Empfangsbereiches betreibt, schlagen deine 30s Timeout sehr schnell zu und bereits nach 1-3 Versuchen einen Wert zu schreiben wird BlockingKill ausgelöst, weil dann bereits die 30s um sind. Ich habe das Problem jetzt nicht mehr, aber prinzipiell könntest du das Timeout vielleicht etwas erhöhen.
Außerdem bin ich vor kurzem über einen Beitrag über diverse Shell Skripte zum Auslesen des Batteriestatus von BLE Tags gestolpert. Diese basieren darauf, dass lepresenced und die Verwendung von Gatttool auf einem Dongle laufen. Der Aufruf von Gatttool scheint den Dongle quasi zu übernehmen und erst 1s danach versucht lepresenced ihn wieder zurück zu übernehmen. Wenn gatttool also schnell genug ist (z.b. bei gutem Empfang), dann klappt das theoretisch alles mit einem Dongle. Erhöht man dann in lepresenced noch das Timeout von 1s auf 2s oder 3s (RETRY_SLEEP im lepresenced source code), müsste es sogar ziemlich stabil mit einem Dongle laufen.
Wenn ich mal wieder etwas Zeit habe, spiele ich damit mal etwas rum, dann könnte man das in der Hilfe als Workaround aufnehmen, wenn man nur 1 Dongle hat.
für meine Pflanzen gibt es ein Update. Hat schon jemand die 2.9.2 drauf?
Jepp.
Firmware für den Sensor.
Die Flower Care App hat auch ein Update bekommen
Gesendet von meinem E6653 mit Tapatalk
Hi, CoolTux!
Ich habe ein kleines Problem:
mit der Modulversion
74_XiaomiFlowerSens.pm 13375 2017-02-10 04:42:42Z CoolTux
kann ich alles auslesen, aber mit den Versionen danach nicht mehr (Unknown Error, look at verbose 5 output)
Verbose 5 habe ich leider nicht gemacht.
Ich habe mehrfach gegen getestet.
Meine Firmware ist 2.6.2.
Bisher habe ich das Problem vermieden, indem ich das Modul nicht update.
Da ich nur ein Xiaomi habe, kann ich damit erst einmal gut leben.
Aber vielleicht hast du ja trotzdem eine Idee.
Schaue mal bitte. Meine Module ha en eigene Versionsbezeichnungen. Welche Version steht bei Dir im INTERNAL VERSION
Hallo, ich habe ein ähnliches Problem. Archlinux hat die BT Implementierung auf systemd umgestellt. D.h. die gewöhnlichen Tools hcitool und gatttool werden nicht mehr unterstützt. Das neue Tool heißt bluetoothctl und ist nicht mehr kompatibel :-( Ich bin jetzt auf plantgateway und den MQTT Server umgestiegen, um meine Pflanzensensoren abzufragen und in FHEM abzubilden.
Cheers
Chelaz
Gesendet von meinem EVA-L09 mit Tapatalk
Zitat von: Chelaz am 08 März 2017, 08:16:00
Hallo, ich habe ein ähnliches Problem. Archlinux hat die BT Implementierung auf systemd umgestellt. D.h. die gewöhnlichen Tools hcitool und gatttool werden nicht mehr unterstützt. Das neue Tool heißt bluetoothctl und ist nicht mehr kompatibel :-( Ich bin jetzt auf plantgateway und den MQTT Server umgestiegen, um meine Pflanzensensoren abzufragen und in FHEM abzubilden.
Cheers
Chelaz
Gesendet von meinem EVA-L09 mit Tapatalk
Meines Wissens hat das eine nichts mit dem anderen zu tun. Zu mindest was gatttool an geht. Kannst Du den gatttool Aufruf mal in der Konsole probiert?
Das hier habe ich auf die schnelle gefunden
http://stackoverflow.com/questions/34271217/solved-connecting-to-a-bluetooth-smart-le-weight-scale-with-bluez-bluetoothctl-g
Sorry, habe ich nicht gesehen, weil ich nur meine Readingsgroup beobachtet hatte.
Die letzte funktionierende Version bei mir ist 0.6.6.
Ich weiss allerdings nicht, ob ich danach irgendein Update verpasst hatte, nach dem es auch noch gelaufen wäre.
Also es wäre super wenn Du mal die 0.6.8 testen könntest und mir dann eine verbose 5 Ausgabe hier einstellen kannst.
Es gab eine große Veränderung beim Fehlerauswerten.
Hi Leon,
ich habe derzeit zwei FlowerMates mit deinem Modul über FHEM im Einsatz. Bislang mit der FW 2.6.2 alles tip top gelaufen. Vielen Dank für deine super Arbeit diesbezüglich!
Nun habe ich mich mal getraut einen FlowerMate auf die neue FW 2.9.2 zu aktualisieren. Jedoch werden danach keinen weiteren Daten mehr im FHEM von diesm Sensor empfangen :-( Der zweite FlowerMate läuft mit der alten FW immer noch einwandfrei.
Ich komme leider erst heute Abend zum logfile checken bezüglich der neuen FW von dem FlowerMate. Ich würde die dann mal die Ausgabe mit dem verbose 5 hier reinsetzen.
Oder gibt es schon Ansätze, warum die neue FW anders läuft? Mit der MI App läuft natürlich die neue FW ohne Probleme. Und ein downgrade wird wahrscheinlich etwas schwierig für die FlowerMates :-(
PS: 74_XiaomiFlowerSens.pm => v0.6.8 im Einsatz
Bis dahin erstmal.
Grüße,
Ingo
Verbose 5 erzeugt folgende Ausgabe:
2017.03.08 09:07:29 4: Sub XiaomiFlowerSens_Run (Blume1) - start blocking call
2017.03.08 09:07:29 4: Sub XiaomiFlowerSens_BlockingRun (Blume1) - Running nonBlocking
2017.03.08 09:07:29 5: Sub XiaomiFlowerSens_callGatttool (Blume1) - WFR: 0
2017.03.08 09:07:29 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - run gatttool
2017.03.08 09:07:29 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 1
2017.03.08 09:07:29 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 2
2017.03.08 09:07:29 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 3
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 4
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 5
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 6
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 7
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 8
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 9
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 10
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - processing gatttool response. sensData[0]: connect
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - processing gatttool response. sensData: No route to host (113)
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_BlockingRun (Blume1) - Processing response data: No route to host (113)
Zitat von: ih-sqeezer am 08 März 2017, 09:05:21
Hi Leon,
ich habe derzeit zwei FlowerMates mit deinem Modul über FHEM im Einsatz. Bislang mit der FW 2.6.2 alles tip top gelaufen. Vielen Dank für deine super Arbeit diesbezüglich!
Nun habe ich mich mal getraut einen FlowerMate auf die neue FW 2.9.2 zu aktualisieren. Jedoch werden danach keinen weiteren Daten mehr im FHEM von diesm Sensor empfangen :-( Der zweite FlowerMate läuft mit der alten FW immer noch einwandfrei.
Ich komme leider erst heute Abend zum logfile checken bezüglich der neuen FW von dem FlowerMate. Ich würde die dann mal die Ausgabe mit dem verbose 5 hier reinsetzen.
Oder gibt es schon Ansätze, warum die neue FW anders läuft? Mit der MI App läuft natürlich die neue FW ohne Probleme. Und ein downgrade wird wahrscheinlich etwas schwierig für die FlowerMates :-(
PS: 74_XiaomiFlowerSens.pm => v0.6.8 im Einsatz
Bis dahin erstmal.
Grüße,
Ingo
Guten Morgen,
set clearFirmwareReading
und danach
set statusRequest
Dann sollte es wieder gehen.
@ Leon:
Cool, probiere ich aus. Danke dir! Feedback heute Abend dann.
Zitat von: Invers am 08 März 2017, 09:09:22
Verbose 5 erzeugt folgende Ausgabe:
2017.03.08 09:07:29 4: Sub XiaomiFlowerSens_Run (Blume1) - start blocking call
2017.03.08 09:07:29 4: Sub XiaomiFlowerSens_BlockingRun (Blume1) - Running nonBlocking
2017.03.08 09:07:29 5: Sub XiaomiFlowerSens_callGatttool (Blume1) - WFR: 0
2017.03.08 09:07:29 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - run gatttool
2017.03.08 09:07:29 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 1
2017.03.08 09:07:29 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 2
2017.03.08 09:07:29 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 3
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 4
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 5
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 6
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 7
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 8
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 9
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 10
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - processing gatttool response. sensData[0]: connect
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - processing gatttool response. sensData: No route to host (113)
2017.03.08 09:07:30 4: Sub XiaomiFlowerSens_BlockingRun (Blume1) - Processing response data: No route to host (113)
Hast Du noch die 2.6.2er Firmware drauf? Ich kann nicht ganz verstehen wieso Du mit neueren Versionen auf einmal ein "No route to host" bekommst.
Hallo zusammen.
Ich habe in moment 1 Sensor von xiaomi an laufen. Habe auch das Update der Firmware durchgeführt.
Dein Modul lief ohne Probleme, egal welche Firmware.
Was ich wohl festgestellt habe, fhem hat keinen Zugriff auf den Sensor, wenn sich das Handy mit der Flower Care App verbunden hat. Die App, oder egal welches Programm, muss geschlossen, damit fhem wieder Daten bekommt.
Vielleicht hilft da ja weiter.
Gruß Sascha
Gesendet von meinem E6653 mit Tapatalk
Das ist richtig, ich habe die 2.6.2.
Ich kann kein Update machen, weil ich nicht weiss, wie das per Android geht. Mein Gerät wird mit der Software nicht gefunden. Ein Pairing mit dem Handy ist leider auch nicht mehr möglich.
Kennst du einen weg, das Update der Firmware durchzuführen? Falls ja, würde ich das machen. Falls nicht, müsste ich halt die alte Modulversion weiterhin nutzen.
Schaue mal im AppStore nach Flower Care. Diese App lässt sich ohne Probleme mit dem Sensor verbinden. Firmware Update erfolgt automatisch, ich meine wenn du dann eine Pflanze gewählt hast.
Xiaomi ist auch nicht der Hersteller. Auch nur zugekauft
Gesendet von meinem E6653 mit Tapatalk
Vielen Dank, das hat schon etwas geholfen.
Das Programm erkennt ein Device und versucht auch zu connecten, schreibt dann aber connected fail.
Schade. Hab mehrfach versucht, auch mit Batterie raus und rein.
Zitat von: sash.sc am 08 März 2017, 12:51:26
Schaue mal im AppStore nach Flower Care. Diese App lässt sich ohne Probleme mit dem Sensor verbinden. Firmware Update erfolgt automatisch, ich meine wenn du dann eine Pflanze gewählt hast.
Xiaomi ist auch nicht der Hersteller. Auch nur zugekauft
Gesendet von meinem E6653 mit Tapatalk
Das habe ich gesucht. Leider musste ich mich auch hier anmelden. Aber ich habe das jetzt mal gemacht und upgedated. Alles schick. Die Daten sind ziehmlich gut. Ich werde mal versuchen die angaben bisschen mit Einheiten zu versehen. Habe ja nie verstanden was das alles für Einheiten sein sollen.
Update:
Ich habe nun Kontakt. Ich musste das Pairing mit meinem Handy vorher auflösen.
Mal sehen, wie es weitergeht. Pflanze habe ich ausgewählt.
Gerade ist das Update erfolgt.
Mit neuester Firmware und dem neuesten Modul habe ich aber trotzdem noch Fehler:
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_Run (Blume1) - start blocking call
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_BlockingRun (Blume1) - Running nonBlocking
2017.03.08 14:03:11 5: Sub XiaomiFlowerSens_callGatttool (Blume1) - WFR: 1
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charWrite loop 1
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - charWrite wresp: connect: No route to host (113)
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charWrite loop 2
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - charWrite wresp: connect: No route to host (113)
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charWrite loop 3
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - charWrite wresp: connect: No route to host (113)
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charWrite loop 4
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - charWrite wresp: connect: No route to host (113)
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charWrite loop 5
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - charWrite wresp: connect: No route to host (113)
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charWrite loop 6
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - charWrite wresp: connect: No route to host (113)
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charWrite loop 7
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - charWrite wresp: connect: No route to host (113)
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charWrite loop 8
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - charWrite wresp: connect: No route to host (113)
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charWrite loop 9
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - charWrite wresp: connect: No route to host (113)
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charWrite loop 10
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - charWrite wresp: connect: No route to host (113)
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - run gatttool
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 1
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 2
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 3
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 4
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 5
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 6
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 7
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 8
2017.03.08 14:03:11 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 9
2017.03.08 14:03:12 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 10
2017.03.08 14:03:12 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - processing gatttool response. sensData[0]: connect
2017.03.08 14:03:12 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - processing gatttool response. sensData: No route to host (113)
2017.03.08 14:03:12 4: Sub XiaomiFlowerSens_BlockingRun (Blume1) - Processing response data: No route to host (113)
Zitat von: CoolTux am 08 März 2017, 13:55:58
Das habe ich gesucht. Leider musste ich mich auch hier anmelden. Aber ich habe das jetzt mal gemacht und upgedated. Alles schick. Die Daten sind ziehmlich gut. Ich werde mal versuchen die angaben bisschen mit Einheiten zu versehen. Habe ja nie verstanden was das alles für Einheiten sein sollen.
Wenn du in der neuen bzw aktuellen App schaust, kannst du dir auch die Grenzwerte der einstellen Pflanze anschauen inkl. Einheiten.
Gesendet von meinem E6653 mit Tapatalk
Pairing musst du nicht lösen. Habe ich auch nicht machen müssen.
Gruß Sascha
Gesendet von meinem E6653 mit Tapatalk
Zitat von: sash.sc am 08 März 2017, 14:05:41
Wenn du in der neuen bzw aktuellen App schaust, kannst du dir auch die Grenzwerte der einstellen Pflanze anschauen inkl. Einheiten.
Gesendet von meinem E6653 mit Tapatalk
Ich weiß, habe ich mir schon angeschaut. Ich denke ich werde mir mal Gedanken wegen einer Internen Pflanzensammlung machen. Oder wenigstens die Möglichkeit bieten Grenzwerte als Attribut fest zu legen.
Grenzwerte hören sich gut an. [emoji41]
Wollte das schon über DOIF machen
Gesendet von meinem E6653 mit Tapatalk
Hallo zusammen,
ich bekomme den FlowerSensor einfach nicht ans Laufen am Raspi.
Hab Wheezy und mehrere BT4 Dongles. Inkl. einem neuen Logilink.
In Log steht dies hier:
2017.03.08 17:11:31 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 15967
2017.03.08 17:11:31 3: (pflanze1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
Ich kann den Sensor per hcitool lescan sehen und auch die MAC Adresse auslesen.
Aber das war es dann auch. Ein direktes Pairing ist auch nicht möglich. Da bekomme ich u.a. Fehlermeldungen "host is down".
Ansonsten hab ich FHEM 5.8 drauf mit den aktuellsten Updates.
Am Sensor lief eine FW Update auf die neueste Version 2.9.2
Zitat
Readings
firmware
2017-03-08 17:17:38
lastGattError
Unknown Error, look at verbose 5 output
2017-03-08 14:10:56
state
unreachable
2017-03-08 17:20:48
Was mache ich falsch?
LG
Tom
Zitat von: thomas1977mg am 08 März 2017, 17:22:40
Hallo zusammen,
ich bekomme den FlowerSensor einfach nicht ans Laufen am Raspi.
Hab Wheezy und mehrere BT4 Dongles. Inkl. einem neuen Logilink.
In Log steht dies hier:
2017.03.08 17:11:31 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 15967
2017.03.08 17:11:31 3: (pflanze1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
Ich kann den Sensor per hcitool lescan sehen und auch die MAC Adresse auslesen.
Aber das war es dann auch. Ein direktes Pairing ist auch nicht möglich. Da bekomme ich u.a. Fehlermeldungen "host is down".
Ansonsten hab ich FHEM 5.8 drauf mit den aktuellsten Updates.
Am Sensor lief eine FW Update auf die neueste Version 2.9.2
Was mache ich falsch?
LG
Tom
gatttool läuft wohl erst vernünftig mit Jessie. Wirst wohl ein Update machen müssen.
Gab es bei der Registrierung für die Flower-Care APP nicht einen Trick?
Ich bekomme einfach keine Bestätigungs-Email?
So, ich habe das Problem gefunden.
Das Attribut hciDevice musste umgestellt werden. Das wusste ich nicht. War mir nicht bekannt. Gab es das schon im Modul, welches ich vorher genutzt hatte so?
Naja, egal. Zum Glück geht es nun und ich habe gleich noch eine Software auf dem Handy, die auch funktioniert.
Ich danke allen für die Tipps und Hilfe.
Zitat von: Papaloewe am 08 März 2017, 19:24:13
Gab es bei der Registrierung für die Flower-Care APP nicht einen Trick?
Ich bekomme einfach keine Bestätigungs-Email?
Ich musste mich auch mit der Handynummer anmelden, das geht. Mail hat bei mir bis jetzt immer versagt.
Zitat von: Invers am 08 März 2017, 19:31:25
So, ich habe das Problem gefunden.
Das Attribut hciDevice musste umgestellt werden. Das wusste ich nicht. War mir nicht bekannt. Gab es das schon im Modul, welches ich vorher genutzt hatte so?
Naja, egal. Zum Glück geht es nun und ich habe gleich noch eine Software auf dem Handy, die auch funktioniert.
Ich danke allen für die Tipps und Hilfe.
Hast Du zwei BT sticks oder ein internen BT?
Ich habe einen, nämlich den eingebauten vom Raspberry 3. Sonst nichts. WLAN am Raspberry ist deaktiviert.
EDIT:
Ich habe hci 0 eingestellt. Vorher war ja das Attribut gar nicht von mir vergeben.
Also war "eingestellt" der falsche Ausdruck.
hciDevice hci0 habe ich somit erstmalig vergeben. Ohne das Attribut lief es nicht.
Ich muss mir unbedingt eine präzisere Ausdrucksweise angewöhnen. Sorry.
Zitat von: Invers am 08 März 2017, 19:39:46
Ich habe einen, nämlich den eingebauten vom Raspberry 3. Sonst nichts. WLAN am Raspberry ist deaktiviert.
EDIT:
Ich habe hci 0 eingestellt. Vorher war ja das Attribut gar nicht von mir vergeben.
Also war "eingestellt" der falsche Ausdruck.
hciDevice hci0 habe ich somit erstmalig vergeben. Ohne das Attribut lief es nicht.
Ich muss mir unbedingt eine präzisere Ausdrucksweise angewöhnen. Sorry.
Interessant, eigentlich sollte er hci0 als default nehmen wenn das Attribut nicht gesetzt ist. Ich muss mir das noch mal anschauen.
Hallo Leon,
der Hinweis mit dem "ClearFirmwareReading" war super.
Jetzt funktionieren beide FlowerMates auch mit der neuen FW 2.9.2 und XiaomiFlowerSens v0.6.8 ohne Probleme.
Danke noch mal!
Grüße und einen schönen Abend noch,
Ingo
HI -
so, ich habe jetzt ein komplettes Upgrade gemacht und bin auf Jessy. Doch leider funzt es immer noch nicht.
2017.03.08 21:42:01 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 3259
2017.03.08 21:42:01 3: (pflanze1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
:-[
Zitat von: thomas1977mg am 08 März 2017, 21:45:33
HI -
so, ich habe jetzt ein komplettes Upgrade gemacht und bin auf Jessy. Doch leider funzt es immer noch nicht.
2017.03.08 21:42:01 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 3259
2017.03.08 21:42:01 3: (pflanze1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
:-[
Bitte setze mal verbose 5 und schaue dann im Log. Was ist das für ein Raspi?
Bestimmt nicht. Du erwartest hoffentlich nicht das ich Deine letzten 10 Tage hier durch gehe. Bitte nur den relevanten Teil vom Modul und dann in Code Tages bitte.
upps...sorry
2017.03.08 21:56:01 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - call gatttool charWrite loop 5
2017.03.08 21:56:01 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - charWrite wresp: Host is down (112)
2017.03.08 21:56:05 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 3848
2017.03.08 21:56:05 3: (pflanze1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
2017.03.08 21:56:12 4: Sub XiaomiFlowerSens_Run (pflanze1) - start blocking call
2017.03.08 21:56:12 4: Sub XiaomiFlowerSens_BlockingRun (pflanze1) - Running nonBlocking
2017.03.08 21:56:12 5: Sub XiaomiFlowerSens_stateRequestTimer (pflanze1) - Request Timer wird aufgerufen
2017.03.08 21:56:13 5: Sub XiaomiFlowerSens_callGatttool (pflanze1) - WFR: 1
2017.03.08 21:56:18 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - call gatttool charWrite loop 1
2017.03.08 21:56:18 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - charWrite wresp: Host is down (112)
2017.03.08 21:56:23 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - call gatttool charWrite loop 2
2017.03.08 21:56:23 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - charWrite wresp: Host is down (112)
2017.03.08 21:56:28 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - call gatttool charWrite loop 3
2017.03.08 21:56:28 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - charWrite wresp: Host is down (112)
2017.03.08 21:56:31 1: PERL WARNING: Bareword found where operator expected at (eval 2232) line 1, near ""low" ReadingValDoIf"
2017.03.08 21:56:33 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - call gatttool charWrite loop 4
2017.03.08 21:56:33 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - charWrite wresp: Host is down (112)
2017.03.08 21:56:38 3: set SW_Leselampe off : Please define SW_Leselampe first
2017.03.08 21:56:38 3: notify_XBMC_status return value: Please define SW_Leselampe first
2017.03.08 21:56:38 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - call gatttool charWrite loop 5
2017.03.08 21:56:38 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - charWrite wresp: Host is down (112)
2017.03.08 21:56:42 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 3894
2017.03.08 21:56:42 3: (pflanze1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
Trotz fehlender Code Tages konnte ich erkennen das er den Sensor wohl nicht findet. Kannst Du bitte auch mal das hciDevice Attribut setzen?
Vielen Dank für Deine Mühe.
2017.03.08 22:12:10 4: Sub XiaomiFlowerSens_Run (pflanze1) - start blocking call
2017.03.08 22:12:10 4: Sub XiaomiFlowerSens_BlockingRun (pflanze1) - Running nonBlocking
2017.03.08 22:12:10 5: Sub XiaomiFlowerSens_callGatttool (pflanze1) - WFR: 1
2017.03.08 22:12:15 4: Sub XiaomiFlowerSens_Run (pflanze1) - start blocking call
2017.03.08 22:12:15 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - call gatttool charWrite loop 1
2017.03.08 22:12:15 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - charWrite wresp: Host is down (112)
2017.03.08 22:12:26 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - call gatttool charWrite loop 2
2017.03.08 22:12:26 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - charWrite wresp: Host is down (112)
2017.03.08 22:12:31 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - call gatttool charWrite loop 3
2017.03.08 22:12:31 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - charWrite wresp: Host is down (112)
2017.03.08 22:12:36 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - call gatttool charWrite loop 4
2017.03.08 22:12:36 4: Sub XiaomiFlowerSens_callGatttool (pflanze1) - charWrite wresp: Host is down (112)
2017.03.08 22:12:38 3: set SW_Leselampe off : Please define SW_Leselampe first
2017.03.08 22:12:38 3: notify_XBMC_status return value: Please define SW_Leselampe first
2017.03.08 22:12:40 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 4453
2017.03.08 22:12:40 3: (pflanze1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
Das HCIDevice ist gesetzt. Hab aktuell 2 BT Adapter dran. Hatte es erst auf 0 und jetzt auf 1.
Die MAC ist aber schon korrekt?
Mach mal bitte ein list vom Device.
Hier die Macs der BTs.
Devices:
hci1 00:1A:7D:DA:71:11
hci0 00:1A:7D:DA:71:05
sudo hcitool lescan
LE Scan ...
C4:7C:8D:62:7F:C3 (unknown)
C4:7C:8D:62:7F:C3 Flower care
Das ist in Codetags geschrieben. Die Route oben bei den symbolen
Und das kann bei Ellen langen Text mit Code oder Logauszug kein Schwanz mehr lesen.
Mach mal bitte
list Blume1
Oder wie Dein Sensor auch immer heißt
Internals:
BTMAC C4:7C:8D:62:7F:C3
DEF C4:7C:8D:62:7F:C3
INTERVAL 300
NAME pflanze1
NR 1076
STATE unreachable
TYPE XiaomiFlowerSens
VERSION 0.6.8
Readings:
2017-03-08 21:54:39 firmware
2017-03-08 21:47:36 lastGattError Unknown Error, look at verbose 5 output
2017-03-08 22:20:34 state unreachable
Helper:
Attributes:
hciDevice hci1
room FlowerSens
verbose 5
Sorry, kurze Frage dazwischen: Bei einem Firmware Update ändert sich doch die MAC-Adresse nicht, oder etwa doch?
Nein. Die ist in Hardware gegossen.
Hi -
so, gestern hab ich bluez noch einmal neu installiert und dann auf der konsole ein pairing gemacht.
FHEM hat nun den Sensor und liefert auch Daten. Interessant ist nur, dass der LUX Wert nicht erkannt oder geliefert wird.
Gibt es eigentlich schon eine Übersicht oder Download der Bluemendaten von Xiaomi um den erhaltenen Wert auch bewerten zu können?
In der App selbst bekommt man ja eine graphische Anzeige dafür.
Vielen Dank!
VG
Tom
Du kannst in der aktuellen Version, wenn eine Pflanze gewählt, dir die Grenzwerte anzeigen lassen im Diagramm.
Gesendet von meinem E6653 mit Tapatalk
(https://uploads.tapatalk-cdn.com/20170309/a21a7b96955bd7d35ee20eccdb4d93d1.jpg)
Zitat von: thomas1977mg am 09 März 2017, 12:52:06
Hi -
so, gestern hab ich bluez noch einmal neu installiert und dann auf der konsole ein pairing gemacht.
FHEM hat nun den Sensor und liefert auch Daten. Interessant ist nur, dass der LUX Wert nicht erkannt oder geliefert wird.
Gibt es eigentlich schon eine Übersicht oder Download der Bluemendaten von Xiaomi um den erhaltenen Wert auch bewerten zu können?
In der App selbst bekommt man ja eine graphische Anzeige dafür.
Vielen Dank!
VG
Tom
Pairen soll man nicht. Interessant das Du dennoch Daten bekommst vom Modul.
hatte noch 2 Sensoren hier liegen. Wollte die heute in Betrieb nehmen, aber bei beiden sagt die App in diesem Land nicht erlaubt.
Hatte das schon jemand? App ist die aktuellste aus dem Ios store.
Von welcher App redest du? Diese hier?
https://itunes.apple.com/us/app/flower-care-measure-the-health-parameters-of-you/id1095274672?mt=8 (https://itunes.apple.com/us/app/flower-care-measure-the-health-parameters-of-you/id1095274672?mt=8)
Zitat von: mumpitzstuff am 10 März 2017, 08:54:55
Von welcher App redest du? Diese hier?
https://itunes.apple.com/us/app/flower-care-measure-the-health-parameters-of-you/id1095274672?mt=8 (https://itunes.apple.com/us/app/flower-care-measure-the-health-parameters-of-you/id1095274672?mt=8)
Ja genau die. Ich weis aber nicht ob es an den beiden Sensoren liegt, oder weil es für die App ein Update gegeben hat. Hatte die beiden Sensoren bisher nicht verwendet.
Seltsam ich habe meine Sensoren noch vorgestern mit derselben Flower-Care App, jedoch mit android, erfolgreich aktualisieren können.
ich hab 2 Sensoren seit einigen Wochen rumliegen. Gestern wollte ich sie eben erstmalig in Betrieb nehmen => es könnte an den Sensoren oder der neuen Appversion liegen. In FHEM gehen Sie beide tadellos.
Zitat von: andi11 am 10 März 2017, 08:56:10
Ja genau die. Ich weis aber nicht ob es an den beiden Sensoren liegt, oder weil es für die App ein Update gegeben hat. Hatte die beiden Sensoren bisher nicht verwendet.
Bei mir genauso, "Device in country not available". Wenn ich das dann mit nem Android versuche, gibt es nach dem Pairing ein Netzwerkfehler bei 91% und es läßt sich keine Pflanze auswählen.
du schreibst "91%" das steht bei der ios version nicht. Hast du Android?
Ich musste sehr nahe ran an die Sensoren, ca. 10cm!
Steht auch in der App, wenn du den Sensor koppeln willst, das man ganz nah ran soll. [emoji41] [emoji6]
Gesendet von meinem E6653 mit Tapatalk
Zitat von: Papaloewe am 10 März 2017, 19:42:15
Ich musste sehr nahe ran an die Sensoren, ca. 10cm!
Jo, nur dass die Meldung unabhängig davon kommt...
Ich habs grad noch mal auf dem iPad probiert, da aber das Problem, dass ich schon einen Account mit Android habe und die Sensoren schon drin waren. Auf diese konnte ich dann aber problemlos zugreifen. Hilft jetzt glaub nicht wirklich weiter... Man muss auf jeden Fall sehr nah ran und mehrfach scannen. Bei dem einen hats auch etwas gedauert bei mir bis er gefunden wurde. Abgestürzt ist einer der Sensoren auch mal, da hat nur Batterie entfernen geholfen. Blöde Frage aber das Plastikteil der Batterien hattest du raus gezogen, um das Ding zu aktivieren?
Zitat von: mumpitzstuff am 11 März 2017, 01:35:56
Ich habs grad noch mal auf dem iPad probiert, da aber das Problem, dass ich schon einen Account mit Android habe und die Sensoren schon drin waren. Auf diese konnte ich dann aber problemlos zugreifen. Hilft jetzt glaub nicht wirklich weiter... Man muss auf jeden Fall sehr nah ran und mehrfach scannen. Bei dem einen hats auch etwas gedauert bei mir bis er gefunden wurde. Abgestürzt ist einer der Sensoren auch mal, da hat nur Batterie entfernen geholfen. Blöde Frage aber das Plastikteil der Batterien hattest du raus gezogen, um das Ding zu aktivieren?
Ich habe jetzt insgesamt 6stück. Bei 4 war der Ablauf hinzufügen (Sensor liegt nah neben dran) er findet das Gerät => alles ok.
Bei den beiden letzten sagt die App das der Sensor gefunden wurde (Sensor liegt sehr nahe dran), wird hinzugefügt, und ganz am Ende meckert er wegen dem Land.
Batteriedeckel war natürlich runter um das Plastikteil rauszuziehen.
Komisch. Kannst du mal die anderen in eine blechdose weiter weg stellen und nur einen problemsensor an dein iPhone halten? Eventuell auch mal eine Minute die Batterie entfernen und neu versuchen.
Zitat von: mumpitzstuff am 11 März 2017, 08:40:15
Komisch. Kannst du mal die anderen in eine blechdose weiter weg stellen und nur einen problemsensor an dein iPhone halten? Eventuell auch mal eine Minute die Batterie entfernen und neu versuchen.
Das hatte ich schon gemacht. Nicht nur Batterie für ne Minute raus, sondern die Kontakte im Sensor noch kurz geschlossen. Ich vermute eben den Fehler nicht im Sensor, da er tadellos mit dem FHEM Modul geht.
PatrikG hat ja die gleiche Fehlermeldung.
Zitat von: andi11 am 10 März 2017, 18:52:20
du schreibst "91%" das steht bei der ios version nicht. Hast du Android?
Sowohl als auch
Zitat von: patrikg am 11 März 2017, 15:08:59
Sowohl als auch
kannst du unter Android eine ältere Version der App installieren? Von wann sind deine Sensoren? Bei mir stand irgendwo auf der Verpackung selbst 2016/07. Laufen die Sensoren bei dir unter FHEM? Falls ja, welche Firmware hast du drauf? Wo hast du die Sensoren gekauft?
Hey, heute kam mein Flower Monitor den ich natürlich auch direkt ausprobieren wollte.
Nur leider scheitere ich schon am Bluetooth-Scan.
Nachdem Aufruf von
hcitool lescan
bekomme ich die Meldung:
Set scan parameters failed: Input/output error
Nachdem ich ein wenig gegooglet habe, schein wohl nicht nur ich das Problem zu haben. Einige User berichten von einer veralteten "bluez" version.
Aktuell läuft bei mir bluez 5.23. Leider gibt mein Package keine neuere Version her.
Habe dann manuell bluez 5.9 heruntergeladen.
wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.9.tar.xz
tar xvf bluez-5.9.tar.xz
cd bluez-5.9
./configure
Doch leider schlägt configure mit folgendem Fehler fehl:
checking systemd system unit dir... Package systemd was not found in the pkg-config search path.
Perhaps you should add the directory containing `systemd.pc'
to the PKG_CONFIG_PATH environment variable
No package 'systemd' found
configure: error: systemd system unit directory is required
Google hilft mir leider auch nicht wirklich weiter.
Hattet ihr ähnliche Probleme oder hat jemand eine Idee?
Habe jetzt herausgefunden dass der Befehl
hcitool scan
funktioniert.
Da steht dann "Scanning ..." aber findet nichts.
Die Flower Care App funktioniert leider auch nicht. Dort muss man sich registrieren, bekommt aber keine Email zugesandt, in der der Bestätigungslink ist. Auch im Spam und Junk E-Mail keine Spur von der Bestätigungsmail.
Brauche ich die App überhaupt?
Zitat von: ToM_ToM am 11 März 2017, 21:06:06
Habe jetzt herausgefunden dass der Befehl
hcitool scan
funktioniert.
Da steht dann "Scanning ..." aber findet nichts.
Die Flower Care App funktioniert leider auch nicht. Dort muss man sich registrieren, bekommt aber keine Email zugesandt, in der der Bestätigungslink ist. Auch im Spam und Junk E-Mail keine Spur von der Bestätigungsmail.
Brauche ich die App überhaupt?
hcitool lescan
Sollte es glaube sei .
Hi CoolTux,
ja, aber der funktioniert ja leider nicht. Siehe oben meinen Post.
Hatte mir jetzt eine Android App zum Bluetooth Mac Adressen auslesen installiert, aber die findet auch nichts. Mit dem Handy kann ich das Teil aber normal koppeln.
Also findet das Handy anscheinend den Sensor. Scheint also Batterie und so ok zu sein.
Und die anderen Sensoren werden aber gefunden bei einem lescan?
Nein, lescan funktioniert ja bei mir nicht (siehe meinen Post oben)
Es funktioniert nur scan und damit konnte die Mac meines Handys angezeigt werden.
VG, Thomas
Hast Du noch Wheezy oder schon Jessie? Mit Wheezy soll es ja wohl generell Probleme geben.
Ich verwende Jessie.
Kann man den FlowerMonitor eig. irgendwie in den Werkszustand zurücksetzen?
Zitat
Nachdem Aufruf von
Code: [Auswählen]
hcitool lescan
bekomme ich die Meldung:
Code: [Auswählen]
Set scan parameters failed: Input/output error
Bin ja nicht sicher wo wie du gesucht hast aber ich habe einiges gefunden... ;)
...z.B.:
http://stackoverflow.com/questions/22062037/hcitool-lescan-shows-i-o-error (http://stackoverflow.com/questions/22062037/hcitool-lescan-shows-i-o-error)
Die Fehlermeldung ist vielleicht nicht ganz "zielführend"...
Evtl. mal:
sudo hcitool lescan
Gruß, Joachim
Zitat von: andi11 am 11 März 2017, 15:13:03
kannst du unter Android eine ältere Version der App installieren? Von wann sind deine Sensoren? Bei mir stand irgendwo auf der Verpackung selbst 2016/07. Laufen die Sensoren bei dir unter FHEM? Falls ja, welche Firmware hast du drauf? Wo hast du die Sensoren gekauft?
Viele viele Informationen:
Zur älteren Android Version, habe aus dem Google Play Store die 3.0.1 installiert und versucht mit der das Flower Mate zu finden, ohne Erfolg.
Dann in der App das Update durchgeführt auf Version 4.1, danach konnte ich den Sensor mit den bekannten Fehler bei 91% hinzufügen.
In FHEM konnte ich den Sensor hinzufügen und dieser hat die Firmware Version 0.68 und wurde laut Aufkleber 2016/07 produziert.
Hallo MadMax-FHEM,
ja klar, gefunden habe ich auch einiges, aber nichts was hilft. ;)
Das wie auf der Website habe ich alles schon hoch und runter probiert.
Vielleicht muss ich einfach mal einen anderen Bluetooth-Stick kaufen und damit nochmal neu versuchen.
Zitat von: ToM_ToM am 11 März 2017, 23:01:13
Nein, lescan funktioniert ja bei mir nicht (siehe meinen Post oben)
Es funktioniert nur scan und damit konnte die Mac meines Handys angezeigt werden.
VG, Thomas
Poste doch mal bitte die Ausgabe von: hciconfig hci0 features
Falls dein Bluetoothadapter nicht hci0 ist, dann natürlich anpassen.
//Patrik
ZitatPoste doch mal bitte die Ausgabe von: hciconfig hci0 features
hci0: Type: BR/EDR Bus: USB
BD Address: 00:1B:DC:05:6A:52 ACL MTU: 310:10 SCO MTU: 64:8
Features page 0: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x59 0x83
<3-slot packets> <5-slot packets> <encryption> <slot offset>
<timing accuracy> <role switch> <hold mode> <sniff mode>
<park state> <RSSI> <channel quality> <SCO link> <HV2 packets>
<HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme>
<power control> <transparent SCO> <broadcast encrypt>
<EDR ACL 2 Mbps> <EDR ACL 3 Mbps> <enhanced iscan>
<interlaced iscan> <interlaced pscan> <inquiry with RSSI>
<extended SCO> <EV4 packets> <EV5 packets> <AFH cap. slave>
<AFH class. slave> <3-slot EDR ACL> <5-slot EDR ACL>
<sniff subrating> <pause encryption> <AFH cap. master>
<AFH class. master> <EDR eSCO 2 Mbps> <EDR eSCO 3 Mbps>
<3-slot EDR eSCO> <extended inquiry> <simple pairing>
<encapsulated PDU> <non-flush flag> <LSTO> <inquiry TX power>
<extended features>
Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Ok, das ist relativ einfach zu erklären. Der Bluetooth Adapter kann keine Low Energy, ansonsten stände da: <LE support> und zwar genau zwischen <AFH class. slave> <3-slot EDR ACL>
Zumindest ist das bei meinem Pi und dem ASUS Bluetooth Stick so den ich habe.
//Patrik
Hey Patrik, das heißt, ich brauche einen neuen Bluetooth-Adapter?
Ja, ich habe den Asus USB-BT400
Liegt bei Amazon und der Bay bei ca. 15,-
Zitat von: ToM_ToM am 11 März 2017, 21:06:06
Die Flower Care App funktioniert leider auch nicht. Dort muss man sich registrieren, bekommt aber keine Email zugesandt, in der der Bestätigungslink ist. Auch im Spam und Junk E-Mail keine Spur von der Bestätigungsmail.
Brauche ich die App überhaupt?
Du darfst für deinen Mi-Account keine .de Email angeben, versuche mal eine .com Email Adresse, sollte funktionieren!
Bei mir funktioniert leider keines der beiden Apps (Flower Care, MiHome), der Sensor wird zwar erkannt und ich kann diesen auch umbenennen jedoch bekomme ich beim verbinden immer die Meldung
"device is not available in your country"Auf GooglePlay beim Flower Care App habe ich dann gleiche Kommentare gefunden welche von den Entwicklern der App mit
ZitatBeijing HHCC Plant Technology Co., Ltd 9 mars 2017
Dear user, Thank you for choosing our smart monitor. We have two versions, one is for domestic market and the other is for international market. It seems that you got the domestic version. Please contact the seller and ask for international version of smart monitor. Should you have any further question, please feel free to contact us:kefu@hhcc.io
beantwortet wurden.
Bin aber leider noch nicht dazu gekommen den Sensor mit meinem RaspberryPi3-FhemServer zu testen und zu prüfen ob dieser funktioniert und ich ihn ohne App nutzen kann.
Zitat von: Stoanze01 am 12 März 2017, 21:29:45
"device is not available in your country"
Moin. Bei Ali-Express auf der Produktseite gibt es folgende Anleitung hierzu:
- Android auf englisch stellen (Einstellungen -> Sprache und Eingabe -> Sprache).
- Die MiHome App installieren und als Standort "China" auswählen
Ist halt ein Workaround... läuft aber.
Andere Frage:
Hat schon jemand gute Erfahrungen mit dem Sensor gemacht? Ich habe mal ein paar Beobachtungen gemacht:
- Die Feuchtigkeit geht seit 3 Tagen nicht runter und steht bei ca. 55% +/-. Sie geht eher sogar etwas hoch, wenn die Temperatur hoch geht.
- Die "Fertility" hat sich schlagartig geändert, als ich den Sensor 2-3 Zentimeter versetzt in die Erde gesteckt habe. Von knapp 1200 mS auf 230 mS,
was sich jetzt wieder auf 670 hochgearbeitet hat. Und ich habe weder Wasser noch Dünger hinzugefügt in den letzten Tagen. Nur das Licht hat sich geändert (Sonne, Lampe,...)
- Die Abfrage funktioniert nur alle halbe Stunde, wenn überhaupt. Ansonsten immer "unreachable".
Wird per Raspi Zero W abgefragt. 2-3 Meter auseinander.
Kann man sich auf die Sensoren verlassen? Wie und wo genau und wie tief sollte man diese einstecken, sodass auch die interessanten Werte gemessen werden?
Meiner Erfahrung nach sind die Dinger eher Schätzeisen, was z.B. daran liegt, dass dein Boden nicht homogen ist. Hier ist mal ein Stein, dort ein Hohlraum und hier ein Stück Holz oder eine Wurzel. Das soll bedeuten, dass du meistens andere Werte bekommst, wenn du den Sensor versetzt. In meinen Augen kann man deshalb die ganzen Datenbanken mit festen Werten vergessen. Man müsste den halben Topf mit Sensoren zupflastern und dann den Mittelwert der Sensoren verwenden...
Ich bin dazu übergegangen den Sensor an einer Stelle zu belassen die gefühlt plausible Werte liefert und mir dann die Werte als Graph darzustellen und über 2-3 Wochen zu beobachten. Anhand dieser Werte habe ich mir dann separat für jeden Topf ein minimum Level für die Feuchtigkeit gesetzt. Die Dünger Werte fand ich persönlich etwas zu sehr black magic mäßig und hatte für mich wenig mit der Realität zu tun. Deshalb habe ich mir hier nichts definiert, könnte man aber genauso machen.
Ich habe eben für die Sensoren ein readingsGroup für die Gießanzeige eingerichtet. Vielleicht kanns ja noch jemand gebrauchen:
- zuerst ein Userreading für jede Pflanze einrichten (45 ist in diesem Beispiel das unterste Level): attr <device> userReadings stateSoilMoisture {ReadingsVal("PFLANZE_BODEN","moisture",100)<45?"low":"ok"}
- dann eine readingsGroup einrichten: define <name der gruppe> readingsGroup .*:stateSoilMoisture
- in dieser neu angelegten readingsGroup dieses valueFormat einrichten: attr <name der gruppe> valueFormat {return "0" if( $VALUE eq "low" );;;; return "100" if( $VALUE eq "ok" );;;; return "0"}
- nun noch ein icon definieren mit: attr <name der gruppe> valueIcon {'stateSoilMoisture.0' => 'sani_irrigation@red','stateSoilMoisture.100' => 'sani_irrigation@green'}
Bei der Anzahl der Semikolons in den letzten beiden Befehlen bin ich mir unsicher. Ich habe diese über die Oberfläche in den Dialogen eingerichtet, dort musste man jeweils nur ;; anstatt ;;;; angeben.
Danke für das Modul...ist ja schon fast unverschämt einfach damit.
Heute drei dieser Sensoren bekommen und alle, trotz zum teil unterschiedlicher Firmware, sofort erkannt und liefern brav alle 300Sekunden Werte. :)
Hey, mein Bluetooth Stick kam heute endlich. :)
Nun funktioniert auch der Befehl und der Flower Monitor wurde als "Flower mate" gefunden.
Nur Fhem kann irgendwie nicht darauf zugreifen.
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_Run (Pflanze_01) - start blocking call
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze_01) - Running nonBlocking
2017.03.15 18:26:57 5: Sub XiaomiFlowerSens_stateRequestTimer (Pflanze_01) - Request Timer wird aufgerufen
2017.03.15 18:26:57 5: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - WFR: 1
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 1
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 2
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 3
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 4
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 5
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 6
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 7
2017.03.15 18:26:57 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 8
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 9
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 10
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - run gatttool
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 1
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 2
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 3
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 4
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 5
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 6
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 7
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 8
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 9
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 10
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - processing gatttool response. sensData[0]: connect
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - processing gatttool response. sensData: No route to host (113)
2017.03.15 18:26:58 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze_01) - Processing response data: No route to host (113)
Jemand eine Idee?
Attribut hci?
ZitatAttribut hci?
attr Pflanze_01 hciDevice hci0
Das ist auch mein Bluetoothdongle
hci0: Type: BR/EDR Bus: USB
BD Address: 5C:F3:70:7C:4E:69 ACL MTU: 1021:8 SCO MTU: 64:1
Features page 0: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
<3-slot packets> <5-slot packets> <encryption> <slot offset>
<timing accuracy> <role switch> <sniff mode> <RSSI>
<channel quality> <SCO link> <HV2 packets> <HV3 packets>
<u-law log> <A-law log> <CVSD> <paging scheme> <power control>
<transparent SCO> <broadcast encrypt> <EDR ACL 2 Mbps>
<EDR ACL 3 Mbps> <enhanced iscan> <interlaced iscan>
<interlaced pscan> <inquiry with RSSI> <extended SCO>
<EV4 packets> <EV5 packets> <AFH cap. slave>
<AFH class. slave> <LE support> <3-slot EDR ACL>
<5-slot EDR ACL> <sniff subrating> <pause encryption>
<AFH cap. master> <AFH class. master> <EDR eSCO 2 Mbps>
<EDR eSCO 3 Mbps> <3-slot EDR eSCO> <extended inquiry>
<LE and BR/EDR> <simple pairing> <encapsulated PDU>
<err. data report> <non-flush flag> <LSTO> <inquiry TX power>
<EPC> <extended features>
Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Ist noch eine App verbunden?
Nein, ich habe nie eine Verbindung mit einer App hergestellt.
Ich hatte lediglich den Sensor mal mit meinem Handy gekoppelt, aber dort auch wieder rausgeschmissen. Am Sender selbst kann ich ja nichts zurücksetzen... oder?
Kenne das von Kopfhörern dass man die durch Tastenkombinationen zurücksetzen kann.
Zitat von: ToM_ToM am 15 März 2017, 19:24:28
Nein, ich habe nie eine Verbindung mit einer App hergestellt.
Ich hatte lediglich den Sensor mal mit meinem Handy gekoppelt, aber dort auch wieder rausgeschmissen. Am Sender selbst kann ich ja nichts zurücksetzen... oder?
Kenne das von Kopfhörern dass man die durch Tastenkombinationen zurücksetzen kann.
Kannst ja mal Batterie raus nehmen und bisschen warten.
Hm... ich hatte die ja seit 2 Tagen jetzt draußen.
Muss ich noch irgendwo in Jessie was koppeln (Flower Mate an den Pi) oder reicht tatsächlich der FHEM Code aus?
define Pflanze_01 XiaomiFlowerSens C4:7E:9D:61:D2:4G
attr Pflanze_01 hciDevice hci0
Code reicht aus. gatttool hast Du ja.
Und das hier
C4:7E:9D:61:D2:4G
ist tatsächlich Dein Flower Sensor?
Ja, ich habe paar Zahlen und Buchstaben der MAC für den Post hier verändert. ;)
Hast Du nur den einen oder kannst noch mit nem zweiten testen? Bin nämlich bisschen ratlos. Du kannst zu testzwecken ja mal mit der original App verbinden.
Ich habe leider nur einen.
Habe den jetzt mal mit dem Telefon gekoppelt und die neuste Firmware von 2.6.x auf 2.9.x drauf gespielt und eine Pflanze zugewiesen.
FHEM zeigt aber immer noch nichts an bzw. noch die gleiche Fehlermeldung.
So, ich habe jetzt nochmal das alte bluez runtergeschmissen und auf die aktuelle Version 5.43 aktualisiert.
Damit bekomme ich zumindest mal vom Pi zum Flower Care eine Verbindung hergestellt.
In FHEM funktionierts aber dennoch nicht.
root@bananapi /home/bluez-5.43 # hcitool lescan
LE Scan ...
C4:7C:8D:61:D6:4B (unknown)
C4:7C:8D:61:D6:4B Flower care
^C# root@bananapi /home/bluez-5.43 # gatttool -b C4:7C:8D:61:D6:4B -I
[C4:7C:8D:61:D6:4B][LE]> connect
Attempting to connect to C4:7C:8D:61:D6:4B
Connection successful
Notification handle = 0x0021 value: 00
Notification handle = 0x0021 value: 00
Notification handle = 0x0021 value: 00
[C4:7C:8D:61:D6:4B][LE]> prima
(gatttool:3229): GLib-WARNING **: Invalid file descriptor.
[C4:7C:8D:61:D6:4B][LE]> primary
Command Failed: Disconnected
[C4:7C:8D:61:D6:4B][LE]>
Hast du den Sensor wieder von der Pflanze getrennt? Ist die Fehlermeldung in FHEM die selbe? Lösche mal das Device, mache ein Neustart und lege ein neues Device an.
Guten Morgen.
Ja, ich habe den gestern Abend von der Pflanze getrennt und dann nochmal versucht. Aber ging wieder nicht. Habe heute dann den Sensor in FHEM gelöscht, neu gestartet, ihn dann neu angelegt und die Fehlermeldung bleibt die Selbe.
Habe jetzt mal den connect per gatttool ausgeführt und dann versucht, einen set StatusRequest auszuführen
[C4:7C:8D:61:D6:4B][LE]> connect
Attempting to connect to C4:7C:8D:61:D6:4B
Connection successful
Notification handle = 0x0021 value: 00
Notification handle = 0x0021 value: 00
Notification handle = 0x0021 value: 00
[C4:7C:8D:61:D6:4B][LE]>
(gatttool:28133): GLib-WARNING **: Invalid file descriptor.
Das ergibt dann folgenden Fehler im Log:
2017.03.16 07:46:46 4: Sub XiaomiFlowerSens_Run (Pflanze_01) - start blocking call
2017.03.16 07:46:47 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze_01) - Running nonBlocking
2017.03.16 07:46:47 4: Sub XiaomiFlowerSens (Pflanze_01) - check gattool is running. loop: 0
2017.03.16 07:46:47 4: Sub XiaomiFlowerSens (Pflanze_01) - check gattool is running. loop: 0
...
2017.03.16 07:47:16 4: Sub XiaomiFlowerSens (Pflanze_01) - check gattool is running. loop: 0
2017.03.16 07:47:16 4: Sub XiaomiFlowerSens (Pflanze_01) - check gattool is running. loop: 0
2017.03.16 07:47:16 4: Sub XiaomiFlowerSens (Pflanze_01) - check gattool is running. loop: 0
2017.03.16 07:47:16 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 28176
2017.03.16 07:47:17 3: (Pflanze_01) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
Naja das kann auch nicht klappen. Aber Du könntest mal versuchen was passiert wenn Du in der Console mit gatttool den Abruf machen willst.
Erst
gatttool -b MAC --char-write-req -a 0x33 -n A01F
dann
gatttool -b MAC --char-read -a 0x35
Du kannst auch das Attribut für den hci mal löschen. Ich brauche das zum Beispiel nicht, da ich nur einen einzigen BT Empfänger am Gerät habe.
Grüße
@All
Ich habe soeben für Wasser,Dünger und Temperatur eine min Warnung eingebaut. Gesteuert wird das über Attribute. Für die Temperatur gibt es auch noch eine max Warnung
attr Pflanze1 minMoisture 35
- minFertility - min fertility value befor low warn event
- minMoisture - min moisture value befor low warn event
- minTemp - min temperature value befor low warn event
- maxTemp - max temperature value befor high warn event
Es gibt keine Readings. Nur Events für low,high und ok.
Beispiel:
2017-03-16 11:08:05 XiaomiFlowerSens Pflanze1 minMoisture low
2017-03-16 11:08:06 XiaomiFlowerSens Pflanze2 maxTemp high
2017-03-16 11:08:07 XiaomiFlowerSens Pflanze2 minFertility ok
Es macht natürlich nur Sinn ein Notify entsprechend dem minEvent auf low oder dem maxEvent auf high triggern zu lassen.
Ich teste diese Version die Tage und werde sie dann als Version 1.0.0 frei geben.
Wer möchte kann die Version aus dem Git testen. Zu finden im Devel Branch
Grüße
[emoji106] [emoji106] [emoji106] [emoji106]
Hast du einen Link ?
Gesendet von meinem E6653 mit Tapatalk
Dann kann man sich aber keine readingsGroup zusammen basteln dafür oder (wenn das nur ein Event ist)? maxMoisture macht ebenfalls Sinn, man kann auch zu viel giessen.
Zitat von: mumpitzstuff am 16 März 2017, 16:05:04
Dann kann man sich aber keine readingsGroup zusammen basteln dafür oder (wenn das nur ein Event ist)? maxMoisture macht ebenfalls Sinn, man kann auch zu viel giessen.
Wenn Du nur ne farbliche Warnung haben willst kann man das in der ReadingsGroup machen. Kannst ja anhand der Readings steuern.
Das mit dem maxMoisture ist ne gute Idee. Danke
ZitatIch habe soeben für Wasser,Dünger und Temperatur eine min Warnung eingebaut.
Das rundet das Modul ab, ein super Mehrwert!
Das einzige Problem, das ich sehe, ist, dass es genau einen Grenzwert gibt. Gerade bei moisture gibt es Pflanzen, die über einen sehr langen Zeitraum zwischen zwei Werten toggeln (das ist gerade bei Pflanzen so, die wenig Wasser brauchen). Das heisst , dass bei einem minMoisture 22 permanent events "low" und "ok" gefeuert werden, wenn sich der moisture Wert zwischen 22 und 21 bewegt und dann auch immer Gießwarnungen und -entwarnungen ausgegeben werden. Da wäre so eine Art "OKThreshold" super (so ähnlich wie es im presence- Modul vorhanden ist).
Ansonsten, super Weiterentwicklung, freue mich auf Version 1.0 !
vg stoxx
Gelten die Attribute für eine Pflanze /Definition oder generell?
Gesendet von meinem E6653 mit Tapatalk
Zitat von: sash.sc am 16 März 2017, 16:55:51
Gelten die Attribute für eine Pflanze /Definition oder generell?
Gesendet von meinem E6653 mit Tapatalk
Values von Attributen gelten immer Instanz/Device weit, nie Modulbezogen.
Das mit dem Threshold muß ich mir mal anschauen.
Zitat von: CoolTux am 16 März 2017, 16:58:32
Values von Attributen gelten immer Instanz/Device weit, nie Modulbezogen.
Das mit dem Threshold muß ich mir mal anschauen.
Heißt wenn ich 3 Pflanzen anlege, dann für jeder Pflanze eigene Grenzwerte.
Gesendet von meinem E6653 mit Tapatalk
Zitat von: sash.sc am 16 März 2017, 17:01:21
Heißt wenn ich 3 Pflanzen anlege, dann für jeder Pflanze eigene Grenzwerte.
Gesendet von meinem E6653 mit Tapatalk
Ja genau. Macht ja auch Sinn. Unterschiedliche Pflanzenarten haben unterschiedliche Grenzwerte.
ZitatNaja das kann auch nicht klappen. Aber Du könntest mal versuchen was passiert wenn Du in der Console mit gatttool den Abruf machen willst.
Habe ich gemacht. Hier das Ergebnis:
root@bananapi ~ # gatttool -b C4:7C:8D:61:D6:4B --char-write-req -a 0x33 -n A01F
Characteristic value was written successfully
root@bananapi ~ # gatttool -b C4:7C:8D:61:D6:4B --char-read -a 0x35
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
root@bananapi ~ #
Mir ist noch was aufgefallen. Ich muss jedes Mal erst ein
hcitool lescan ausführen, sonst bekomme ich hier auch die Fehlermeldung
No route to host (113)
Dann wird das beim Modul genau so sein. Mach mal hcitool lescan und lass dann das Modul mal laufen. statusRequest
ZitatDann wird das beim Modul genau so sein. Mach mal hcitool lescan und lass dann das Modul mal laufen. statusRequest
Das hatte ich auch schon probiert, aber hilft leider auch nicht.
Zusätzlich habe ich das jetzt mal direkt aus FHEM gemacht:
{system('hciconfig hci0 reset')}
{system('timeout 5s hcitool lescan')}
Sensor bekommt immer noch den Status "unreachable", aber dafür sieht das Log schon etwas vielversprechender aus:
2017.03.16 17:57:43 4: Sub XiaomiFlowerSens_Run (Pflanze_01) - start blocking call
2017.03.16 17:57:43 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze_01) - Running nonBlocking
2017.03.16 17:57:43 5: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - WFR: 1
2017.03.16 17:57:45 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 1
2017.03.16 17:57:45 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: Characteristic value was written successfully
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - run gatttool
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 1
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 2
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 3
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 4
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 5
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 6
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 7
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 8
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 9
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 10
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - processing gatttool response. sensData[0]: connect
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - processing gatttool response. sensData: Device or resource busy (16)
2017.03.16 17:57:46 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze_01) - Processing response data: Device or resource busy (16)
Er kann gatttool genau einmal ausführen, immer genau nach einem hcitool lescan
Hast Du noch andere Bluetoothsachen über den Stick laufen? presence oder sowas?
Guten Morgen,
Ich habe da noch ein wenig nachgebessert. Es gibt nun auch zu jedem minWert einen maxWert den man angeben kann
attr Pflanze1 minMoisture 35
- minFertility - min fertility value befor low warn event
- minFertility - max fertility value befor high warn event
- minMoisture - min moisture value befor low warn event
- minMoisture - max moisture value befor high warn event
- minTemp - min temperature value befor low warn event
- maxTemp - max temperature value befor high warn event
Es gibt keine Readings. Nur Events für low,high und ok.
Beispiel:
2017-03-16 11:08:05 XiaomiFlowerSens Pflanze1 minMoisture low
2017-03-16 11:08:06 XiaomiFlowerSens Pflanze2 maxTemp high
2017-03-16 11:08:07 XiaomiFlowerSens Pflanze2 minFertility ok
Es macht natürlich nur Sinn ein Notify entsprechend dem minEvent auf low oder dem maxEvent auf high triggern zu lassen.
Ich teste diese Version die Tage und werde sie dann als Version 1.0.0 frei geben.
Wer möchte kann die Version aus dem Git testen. Zu finden im Devel Branch
Desweiteren habe ich nun ssh Funktion implementiert. Sobald das Attribut sshHost gesetzt ist, wird versucht gatttool auf dem entfernten Host aus zu führen. Da ich das nicht testen kann wäre ich an Informationen interessiert.
WICHTIG: ssh muss für Zertifikatsauthentication konfiguriert sein.Grüße
ZitatEr kann gatttool genau einmal ausführen, immer genau nach einem hcitool lescan
Hast Du noch andere Bluetoothsachen über den Stick laufen? presence oder sowas?
Hallo CoolTux,
nein, ich habe sonst nichts weiter per Bluetooth laufen. Hatte den Bluetooth Dongle extra nur für den Pflanzensensor gekauft.
Interessant ist ja, dass wenn ich das ganze über FHEM vorher starte:
{system('hciconfig hci0 reset')}
{system('timeout 5s hcitool lescan')}
dass ich dann zumindest mal nicht mehr die Fehlermeldung
...no Route to Host... erhalte.
Nochmal zu meine System zum Abgleich:Hardware: BananaPi (Cortex A7 Dual Core, 1024MB RAM)
Bluetooth-Dongle: Asus USB-BT400
OS: Debian 8 Jessie
FHEM: FHEM 5.8
Bluez: Bluez 5.43
Bluez habe ich selbst heruntergeladen, kompiliert und installiert:
cd /home
wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.43.tar.xz
tar xvf bluez-5.43.tar.xz
cd bluez-5.43
./configure --enable-library --disable-systemd
make
make install
Evtl. habe ich irgendeinen wichtigen Punkt vergessen...?
Zitat von: CoolTux am 17 März 2017, 09:26:41
Desweiteren habe ich nun ssh Funktion implementiert. Sobald das Attribut sshHost gesetzt ist, wird versucht gatttool auf dem entfernten Host aus zu führen. Da ich das nicht testen kann wäre ich an Informationen interessiert.
WICHTIG: ssh muss für Zertifikatsauthentication konfiguriert sein.
Super! Danke!
Werde ich mal testen, komme aber wohl erst am So dazu...
Gruß, Joachim
Hey CoolTux,
ich habe mir jetzt mal die Mühe gemacht und nochmal einen zweiten Pi mit FHEM installiert (diesmal allerdings der Raspberry Pi Zero).
Und hier funktioniert alles wie erwartet. Somit kann der Sensor als Fehlerquelle ausgeschlossen werden.
Das Problem muss also irgendwo an meiner Bluetooth-Konfiguration liegen.
Zitat von: ToM_ToM am 17 März 2017, 20:08:26
Hey CoolTux,
ich habe mir jetzt mal die Mühe gemacht und nochmal einen zweiten Pi mit FHEM installiert (diesmal allerdings der Raspberry Pi Zero).
Und hier funktioniert alles wie erwartet. Somit kann der Sensor als Fehlerquelle ausgeschlossen werden.
Das Problem muss also irgendwo an meiner Bluetooth-Konfiguration liegen.
Dann schlage ich vor Du deinstallierst noch mal Dein bluez. Wenn ich Dich richtig verstanden habe hast Du es selbst compiliert. Hoffe Du hast das Verzeichnis noch. Dann einfach da rein gehen und make uninstall eingeben. ALS root.
Und dann am besten das Original deb Packet installieren.
ZitatDann schlage ich vor Du deinstallierst noch mal Dein bluez. Wenn ich Dich richtig verstanden habe hast Du es selbst compiliert. Hoffe Du hast das Verzeichnis noch. Dann einfach da rein gehen und make uninstall eingeben. ALS root.
Und dann am besten das Original deb Packet installieren.
Habe ich gemacht, aber geht leider immer noch nicht. Fehler sind immer noch die Gleichen. Eieiei das kostet mich vielleicht Nerven....
Ich bin leider auch nicht der Linux Guru um zu wissen wie ich das jetzt noch lösen könnte. :o
So,
habe jetzt nochmal ein Backup-Image vom Februar eingespielt wo ich noch nichts mit Bluetooth gemacht habe.
Dann bluez wieder per apt-get install bluez installiert, Pi neu gestartet und die Fehler sind dennoch die Gleichen
Beim set statusRequest kommt wieder folgender Fehler:
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_Run (Pflanze_01) - start blocking call
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze_01) - Running nonBlocking
2017.03.17 21:35:58 5: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - WFR: 1
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 1
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 2
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 3
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 4
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 5
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 6
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 7
2017.03.17 21:35:58 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 8
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 9
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 10
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: connect: No route to host (113)
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - run gatttool
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 1
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 2
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 3
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 4
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 5
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 6
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 7
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 8
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 9
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 10
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - processing gatttool response. sensData[0]: connect
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - processing gatttool response. sensData: No route to host (113)
2017.03.17 21:35:59 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze_01) - Processing response data: No route to host (113)
Führe ich vor dem set statusRequest folgenden Befehl aus
{system('timeout 5s hcitool lescan')}
bekomme ich wieder diese Meldung:
2017.03.17 21:36:41 4: Sub XiaomiFlowerSens_Run (Pflanze_01) - start blocking call
2017.03.17 21:36:41 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze_01) - Running nonBlocking
2017.03.17 21:36:41 5: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - WFR: 1
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charWrite loop 1
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - charWrite wresp: Characteristic value was written successfully
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - run gatttool
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 1
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 2
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 3
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 4
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 5
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 6
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 7
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 8
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 9
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - call gatttool charRead loop 10
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - processing gatttool response. sensData[0]: connect
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - processing gatttool response. sensData: Device or resource busy (16)
2017.03.17 21:36:43 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze_01) - Processing response data: Device or resource busy (16)
So langsam gehen mir die Ideen aus. :-\
Sag mal kann es sein das der erwähnte Pi Zero der neue ist mit Bluetooth? So das Du Dein Stick nicht umstecken musstest?
Denn wenn ja denke ich es liegt am Stick.
Ich habe es endlich mal geschafft mein Sensor richtig ein zu richten.
Internals:
BTMAC C4:7C:8D:62:42:6F
CFGFN
DEF C4:7C:8D:62:42:6F
INTERVAL 14400
NAME Dracaena
NR 527
STATE Feuchtegehalt: 33 %, Düngegehalt: 400 us/cm, Temperatur: 18.2 °C
TYPE XiaomiFlowerSens
VERSION 0.9.11
Helper:
Dblog:
Batterylevel:
Logdb:
TIME 1489801340.02213
VALUE 92
Temperature:
Logdb:
TIME 1489830240.07502
VALUE 18.2
Readings:
2017-03-18 10:44:00 battery ok
2017-03-18 10:44:00 batteryLevel 92
2017-03-18 10:44:00 fertility 400
2017-03-18 10:44:00 firmware 2.9.2
2017-03-17 09:03:48 lastGattError Unknown Error, look at verbose 5 output
2017-03-18 10:44:00 lux 226
2017-03-18 10:44:00 moisture 33
2017-03-18 10:44:00 state active
2017-03-18 10:44:00 temperature 18.2
Helper:
Attributes:
comment moisture min 35
disabledForIntervals 22:00-06:00
event-on-change-reading .*
group Pflanzen
interval 14400
maxFertility 2000
maxMoisture 60
maxTemp 35
minFertility 500
minMoisture 25
minTemp 12
room Wohnzimmer
stateFormat Feuchtegehalt: moisture %, Düngegehalt: fertility us/cm, Temperatur: temperature °C
ZitatSag mal kann es sein das der erwähnte Pi Zero der neue ist mit Bluetooth? So das Du Dein Stick nicht umstecken musstest?
Nein, das ist noch der erste ohne WLAN und Bluetooth.
Ich installiere gerade nochmal einen komplett neuen BananaPi um herauszufinden ob es am Bananian liegt.
So, ich habe jetzt einen zweiten BananaPi genommen, Bananian Jessie installiert, anschließend FHEM installiert und dann Bluez.
Und das Verhalten ist exakt das Gleiche wie auf meinem anderen System. >:(
Kann das an dem Kernel liegen....?
Anderer BT Stick, oder selbige?
ZitatAnderer BT Stick, oder selbige?
Ich habe den Gleichen verwendet. Habe nur den einen der Low Energy kann.
Und hattest Du den auch beim Pi Zero verwendet?
ZitatUnd hattest Du den auch beim Pi Zero verwendet?
Ja, genau. Das ist der Asus BT 400 der mir hier im Thread empfohlen wurde.
Ok. Also laut Ausschlußverfahren kann es nicht am BT Dongle liegen da er ja beim Zero geht aber beim BananaPi und beim RasperiPi nicht. Richtig?
ZitatOk. Also laut Ausschlußverfahren kann es nicht am BT Dongle liegen da er ja beim Zero geht aber beim BananaPi und beim RasperiPi nicht. Richtig?
Fast ;)
Einenen großen Raspberry Pi habe ich nicht. Ich habe nur einen Raspberry Pi Zero und 2 Banana Pi.
Am Raspberry Pi Zero funktioniert es mit Rasbian ohne Probleme. Dort war auch bluez schon vorinstalliert (5.23-2+rpi2).
Auf dem Banana Pi musste ich jeweils bluez selbst installieren per
apt-get install bluez. Dort ist es dann bluez (5.23-2+b1)
Ich installiere jetzt nochmal Raspbian auf dem Banana Pi und schaue ob es dann läuft.
Ich bezweifel das das geht. Anderer Kernel. Da wird wohl nichts drauf rennen.
Raspi Zero? BananaPi?
Gesendet von meinem E6653 mit Tapatalk
ZitatIch bezweifel das das geht. Anderer Kernel. Da wird wohl nichts drauf rennen.
So, FHEM läuft, bluez ist installiert (per
apt-get install bluez). Interessanterweise installiert er hier eine ziemlich alte Version (4.99-2)
Aber das Verhalten ist exakt das Gleiche wie beim Bananian-System. :(
Dann schlage ich einfach vor das Du das ganze auf dem Zero installierst und dann per SSH vom FHEM drauf zu greifst
Hm... das ist zwar eine äußerst unbefriedigende Lösung, aber nachdem ich heute nochmal den ganzen Tag alles Mögliche probiert habe, wird mir wohl nichts anderes übrig bleiben.
So, da ich mich ja irgendwie nie geschlagen gebe, habe ich heute den ganzen Tag nichts anderes getan als versucht, das Teil zum Laufen zu bekommen.
Unter anderem habe ich versucht, den Aufbau deines Moduls zu verstehen, festgestellt dass systemd beim BananaPi nicht läuft und zum Laufen gebracht und und und....
Alles nichts geholfen. *frust!*
Dann habe ich zu der Lemaker - Version noch eine Alternativ-Version von Armbian die auch einen deutlich aktuelleren Kernel besitzt, gefunden.
Lange Rede - kurzer Sinn: 23:01 Erfolg! 8)
Mit der aktuellen Lemaker-Version bekommt man es nicht zu laufen, aber mit der Armbian (https://dl.armbian.com/bananapi/) läufts wie es soll. :)
Nun muss ich wohl mit meinem kompletten System umziehen. :o
Zitat von: ToM_ToM am 18 März 2017, 11:45:14
Ja, genau. Das ist der Asus BT 400 der mir hier im Thread empfohlen wurde.
Ja der funktioniert bei mir einwandfrei.
Bei mir scheint die Abfrage über einen Remote-Pi nicht zu funktionieren.
Wenn ich in der Console ssh user@192.168.100.55 eingebe, bin ich mit dem Pi verbunden.
Setze ich das Attribute sshHost auf 192.168.100.55, werden die Daten einmal geladen und die Readings gefüllt. Sobald die zweite Abfrage läuft, erhalte ich jedoch einen Fehler!
Verbose 5 Log:
2017.03.20 10:08:42 4: Sub XiaomiFlowerSens_Run (Pflanze2) - start blocking call
2017.03.20 10:08:42 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze2) - Running nonBlocking
Host key verification failed.
Host key verification failed.
2017.03.20 10:08:42 5: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - WFR: 1
Host key verification failed.
2017.03.20 10:08:42 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - write data to host 192.168.100.55
2017.03.20 10:08:42 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charWrite loop 1
Host key verification failed.
2017.03.20 10:08:42 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - write data to host 192.168.100.55
2017.03.20 10:08:42 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charWrite loop 2
Host key verification failed.
2017.03.20 10:08:42 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - write data to host 192.168.100.55
2017.03.20 10:08:42 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charWrite loop 3
Host key verification failed.
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - write data to host 192.168.100.55
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charWrite loop 4
Host key verification failed.
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - write data to host 192.168.100.55
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charWrite loop 5
Host key verification failed.
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - write data to host 192.168.100.55
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charWrite loop 6
Host key verification failed.
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - write data to host 192.168.100.55
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charWrite loop 7
Host key verification failed.
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - write data to host 192.168.100.55
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charWrite loop 8
Host key verification failed.
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - write data to host 192.168.100.55
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charWrite loop 9
Host key verification failed.
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - write data to host 192.168.100.55
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charWrite loop 10
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - run gatttool
Host key verification failed.
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call data from host 192.168.100.55
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 1
2017.03.20 10:08:43 1: PERL WARNING: Use of uninitialized value $readSensData[0] in pattern match (m//) at ./FHEM/74_XiaomiFlowerSens.pm line 414.
Host key verification failed.
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call data from host 192.168.100.55
2017.03.20 10:08:43 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 2
Host key verification failed.
2017.03.20 10:08:44 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call data from host 192.168.100.55
2017.03.20 10:08:44 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 3
Host key verification failed.
2017.03.20 10:08:44 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call data from host 192.168.100.55
2017.03.20 10:08:44 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 4
Host key verification failed.
2017.03.20 10:08:44 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call data from host 192.168.100.55
2017.03.20 10:08:44 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 5
Host key verification failed.
2017.03.20 10:08:44 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call data from host 192.168.100.55
2017.03.20 10:08:44 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 6
Host key verification failed.
2017.03.20 10:08:44 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call data from host 192.168.100.55
2017.03.20 10:08:44 4: Sub XiaomiFlowerSens_callGatttool (Pflanze2) - call gatttool charRead loop 7
List:
Internals:
BTMAC C4:7C:8D:61:8D:FF
CFGFN
DEF C4:7C:8D:61:8D:FF
INTERVAL 300
NAME Pflanze2
NR 514
STATE unreachable
TYPE XiaomiFlowerSens
VERSION 0.9.18
Readings:
2017-03-20 10:03:26 battery ok
2017-03-20 10:03:26 batteryLevel 87
2017-03-20 10:03:26 fertility 618
2017-03-20 10:08:05 firmware
2017-03-20 10:09:45 lastGattError Unknown Error, look at verbose 5 output
2017-03-20 10:03:26 lux 97
2017-03-20 10:03:26 moisture 35
2017-03-20 10:09:45 state unreachable
2017-03-20 10:03:26 temperature 20.3
Helper:
Attributes:
room FlowerSens
sshHost 192.168.100.55
so ganz blick ich den Fehler gerade nicht....
Da steht es doch. "Host key verification failed". Dein fhem User hat da wohl kein Keyfile oder es ist das falsche.
Habt ihr schon Langzeiterfahrung mit der Batterieleistung dieser Sensoren?
Ich habe gesehen, dass alleine jetzt übers Wochenende der Akkuladestand den man mit dem Modul ja wunderbar sehen kann, von 100 auf 91% runter gegangen ist.
Das wäre schon hart, wenn ich bedenke dass mein selbstgebauter Sensor ca. 8 Jahre hält. :o Gut, der ist auch leider nicht so kompakt.^^
Zitat von: ToM_ToM am 20 März 2017, 10:38:54
Habt ihr schon Langzeiterfahrung mit der Batterieleistung dieser Sensoren?
Ich habe gesehen, dass alleine jetzt übers Wochenende der Akkuladestand den man mit dem Modul ja wunderbar sehen kann, von 100 auf 91% runter gegangen ist.
Das wäre schon hart, wenn ich bedenke dass mein selbstgebauter Sensor ca. 8 Jahre hält. :o Gut, der ist auch leider nicht so kompakt.^^
Ich rufe alle 4 Stunden ab. Bin gleuabe gerade bei 96 oder so und habe das Teil seit 2 Monaten
ZitatIch rufe alle 4 Stunden ab. Bin gleuabe gerade bei 96 oder so und habe das Teil seit 2 Monaten
Okay, dann hoffe ich mal dass das den vielen Tests vom Wochenende geschuldet ist. Mal schauen wie sich das die nächsten Wochen so einpendelt. :)
Hat jemand eine Idee wie man einen gleitenden Durchschnitt vom Licht hinbekommt? average kann man vergessen, da wird der Wert an jedem neuen Tag wieder auf 0 gesetzt. Ich will keinen Reset, sondern einen fortlaufenden Durchschnittswert haben, um ihn dann im Plot vernünftig darstellen zu können.
Da gibt es was hier zu irgendwo im Forum.....
Gesendet von meinem E6653 mit Tapatalk
@CoolTux:
wollte eben ssh ausprobieren, kann aber das Attribut nicht finden...
Internals:
BTMAC C4:7C:8D:61:XX:XX
CFGFN
DEF C4:7C:8D:61:XX:XX
INTERVAL 300
NAME Balkon1
NR 104146
STATE unreachable
TYPE XiaomiFlowerSens
VERSION 0.6.8
Readings:
2017-03-21 00:06:55 firmware 2.6.2
2017-03-21 00:07:28 lastGattError Unknown Error, look at verbose 5 output
2017-03-21 00:07:28 state unreachable
Helper:
Attributes:
room FlowerSens
verbose 5
Die Fehler (wenn nicht relevant für ssh-Test) wären/sind mir erst mal egal, es soll ja nicht auf diesem PI laufen (dort habe ich gar kein BT-Modul) sondern eben auf einem PI3 also remote.
Fhem PI2 mit dem Xiaomi-Modul und PI3 ohne fhem mit dem BT-Modul (direkt an diesem mittels Script funktioniert der FlowerSensor)...
Wo/wie finde ich das Attribut für ssh?
Habe ich die aktuellste Version?
Update check sagt nichts bzgl. des FlowerSensor Moduls...
EDIT: die firmware habe ich selbst gesetzt (habe ich per Script ausgelesen). Dachte es hilft, bis mir klar war/wurde, dass es ja gar nicht gehen kann, da ich ja auf diesem PI gar kein BT habe ;)
Gruß, Joachim
Du musst die Git Version aus dem Devel Branch nehmen.
Danke.
Dachte mir schon sowas...
Gruß, Joachim
Ich werde die Version die Tage ins FHEM svn stecken, dann bekommst das mit nem einfachen update
Ok, danke.
Je nachdem wann ich dazu komme hole ich es mir so oder so ;)
Gruß, Joachim
hat jemand eine Idee, wie ich mein Userreading lightintegral integral { (ReadingsVal($name,"lux",0) <100) ? 0 : (ReadingsVal($name,"lux",0)) }
so anpassen kann, das es nicht inkrementiert wenn der lux Wert garnicht aktualisiert wurde? Wenn die Xiaomi Sensoren nicht erreichbar sind, gibt es den status unreachable, aber das Userreading wird trotzdem aktualisiert. Gibt es was in Richtung, "wenn der Wert weniger als Intervall + X Minuten alt ist?
ReadingsAge müsste sowas liefern...
https://wiki.fhem.de/wiki/DevelopmentModuleAPI#ReadingsAge
Gruß, Joachim
lightintegral:lux.* integral { (ReadingsVal($name,"lux",0) <100) ? 0 : (ReadingsVal($name,"lux",0)) }
Reagiert nur auf ein Event mit lux
Zitat von: CoolTux am 21 März 2017, 20:02:21
lightintegral:lux.* integral { (ReadingsVal($name,"lux",0) <100) ? 0 : (ReadingsVal($name,"lux",0)) }
Reagiert nur auf ein Event mit lux
danke euch 2 für die schnelle Antwort. Ich hab jetzt die oben zitierte Variante eingebaut, mal schauen wann mal ein Pflänzchen nicht erreichbar ist.
Zitat von: CoolTux am 21 März 2017, 07:40:47
Ich werde die Version die Tage ins FHEM svn stecken, dann bekommst das mit nem einfachen update
Ich wollte mal nicht warten ;)
Geholt getestet: geht! Prima!! :)
Gut es hat etwas nachsehen (im Code etc.) benötigt was ich bei sshHost eingeben muss, bei mir reicht(e) nicht nur der Host bzw. die IP, ich musste sowas angeben:
User@Host
aber damit funktioniert es!
Muss nun nur noch testen, ob der angedachte PI auch nah genug am Balkon steht, um die Sensoren abzufragen...
...da werde ich aber erst noch ein paar Tage warten (bis ich auch Pflanzen hab die ich überwachen will) ;)
Gruß und vielen Dank, Joachim
EDIT: jammern auf (sehr) hohem Niveau: vielleicht könnte man den 'lastGattError' mal zurücksetzen, wenn es wieder ohne Fehler klappt... Dachte schon ich hätte weiterhin Fehler... Ist aber alles gut soweit...
Zitat von: MadMax-FHEM am 22 März 2017, 22:09:37
Ich wollte mal nicht warten ;)
Geholt getestet: geht! Prima!! :)
Gut es hat etwas nachsehen (im Code etc.) benötigt was ich bei sshHost eingeben muss, bei mir reicht(e) nicht nur der Host bzw. die IP, ich musste sowas angeben:
User@Host
aber damit funktioniert es!
Muss nun nur noch testen, ob der angedachte PI auch nah genug am Balkon steht, um die Sensoren abzufragen...
...da werde ich aber erst noch ein paar Tage warten (bis ich auch Pflanzen hab die ich überwachen will) ;)
Gruß und vielen Dank, Joachim
EDIT: jammern auf (sehr) hohem Niveau: vielleicht könnte man den 'lastGattError' mal zurücksetzen, wenn es wieder ohne Fehler klappt... Dachte schon ich hätte weiterhin Fehler... Ist aber alles gut soweit...
Schaue Dir mal an wie man eine .ssh/config baut. Dann musst keine User@Host mitgeben.
Grüße
Zitat von: andi11 am 21 März 2017, 17:11:43
hat jemand eine Idee, wie ich mein Userreading lightintegral integral { (ReadingsVal($name,"lux",0) <100) ? 0 : (ReadingsVal($name,"lux",0)) }
so anpassen kann, das es nicht inkrementiert wenn der lux Wert garnicht aktualisiert wurde? Wenn die Xiaomi Sensoren nicht erreichbar sind, gibt es den status unreachable, aber das Userreading wird trotzdem aktualisiert. Gibt es was in Richtung, "wenn der Wert weniger als Intervall + X Minuten alt ist?
Vielleicht eine blöde Frage, aber was macht man mit dem Integral? Da dürfte sowas wie ein Sägezahn mit riesigen Werten rauskommen, da der Wert jeden Abend zurückgesetzt wird.
Guten Morgen,
Ich habe soeben Version 1.0.0 ins FHEM SVN geladen. Die Version kann von dort runtergeladen werden oder morgen per FHEM Update erhalten werden.
Neu ist ssh remote Calls sowie min max Angaben für Reading Values.
Bitte schaut Euch die Beispiele in der Commandref genau an, damit Ihr auf die Events entsprechend Triggern könnt.
Grüße
Leon
Zitat von: mumpitzstuff am 22 März 2017, 23:41:29
Vielleicht eine blöde Frage, aber was macht man mit dem Integral? Da dürfte sowas wie ein Sägezahn mit riesigen Werten rauskommen, da der Wert jeden Abend zurückgesetzt wird.
Bist du sicher, dass der Wert automatisch zurück gesetzt wird? Ich hab dafür ein extra at drin???
Damit erhalte ich eine Zahl wieviel Licht über den Tag vorhanden war. Dividiert durch 86400 mache ich daraus "Lux/Tag"
Dabei werden nur Werte >=100 integriert, da die Xiaomis gerne mal relativ viel Licht sehen im dunkeln...
Ne stimmt du setzt den lux wert für das Integral zu 0 und nicht das Userreading. Da das Integral aber keine Zeitbasis hat und deine Lux Werte immer Positiv sind, integriert das doch quasi endlos auf. Dein Wert dürfte somit von Tag zu Tag steigen, aber niemals fallen. In ein paar Wochen hast du dann ein paar Millionen lux in deinem Wert drin stehen... Ich glaub was du suchst ist ein gleitender Mittelwert, der lässt sich aber nicht über das Integral berechnen. Dazu müsstest du die Werte über den Tag hinweg sammeln, dann aufsummieren und durch die Anzahl dividieren. Nach 24h musst du dann die alten Werte raus werfen.
Am einfachsten dürfte das über das Logfile funktionieren, ansonsten müsste man sich das mit im Hash irgendwie halten, diese Daten gehen aber durch shutdown restart oder rereadcfg glaub verloren, was in anbetracht der relativ langen Sammelzeit der Daten von 24h eventuell problematisch ist.
Zitat von: mumpitzstuff am 23 März 2017, 16:18:07
Ne stimmt du setzt den lux wert für das Integral zu 0 und nicht das Userreading. Da das Integral aber keine Zeitbasis hat und deine Lux Werte immer Positiv sind, integriert das doch quasi endlos auf. Dein Wert dürfte somit von Tag zu Tag steigen, aber niemals fallen. In ein paar Wochen hast du dann ein paar Millionen lux in deinem Wert drin stehen... Ich glaub was du suchst ist ein gleitender Mittelwert, der lässt sich aber nicht über das Integral berechnen. Dazu müsstest du die Werte über den Tag hinweg sammeln, dann aufsummieren und durch die Anzahl dividieren. Nach 24h musst du dann die alten Werte raus werfen.
Am einfachsten dürfte das über das Logfile funktionieren, ansonsten müsste man sich das mit im Hash irgendwie halten, diese Daten gehen aber durch shutdown restart oder rereadcfg glaub verloren, was in anbetracht der relativ langen Sammelzeit der Daten von 24h eventuell problematisch ist.
Ich hab ein AT das um Mitternacht das reading auf 0 zurück setzt.
Oh hab ich überlesen. Ich glaube jetzt habe ich es auch verstanden. Der Wert Lux am Tag wird bei dir nur einmal erzeugt und enthält somit den Tagesdurchschnitt, den du dann im Plot verwenden kannst. Das Geheimnis ist hier das at, so das dieser Wert nur 1x am Tag erzeugt wird und nicht mit jedem Update von deinem Integral. Muss ich auch mal ausprobieren. Danke!
hier sieht man es ganz gut. Btw. nur der Mandarinenbaum steht drausen, aber so ziemlich Südseite. Bis auf den und den Palisander kriegen alle dank DOIF und Twilight mit ([14:00-20:00] and [Wetter.Roth.twilight:twilight_weather] < 100 )
Licht.
Wenn du das Userreading für die Anzeige nur um 0 Uhr aktualisieren würdest, also in dem at bevor du das integral zurück setzt, dann hättest du eine schönere linie und man würde das besser sehen im plot. Ich machs mal so bei mir und zeig dir in ein paar Tagen wie das aussieht.
Zitat von: mumpitzstuff am 23 März 2017, 18:36:07
Wenn du das Userreading für die Anzeige nur um 0 Uhr aktualisieren würdest, also in dem at bevor du das integral zurück setzt, dann hättest du eine schönere linie und man würde das besser sehen im plot. Ich machs mal so bei mir und zeig dir in ein paar Tagen wie das aussieht.
joa stimmt, aber ich spiel momentan mit der Beleuchtung noch rum, da ist es ganz nett auch noch etwas vom Tag selbst zu sehen...
Hey zusammen,
da ich gar kein grünen Daumen hab, aber dennoch Pflanzen möchte (auch Nutzpflanzen wie Kräuter, Früchte usw.)
Ich hab hier angefangen einzulesen und auch der Preis sagt mir zu.
Nun meine Fragen:
1. Woher bekomme ich die Grenzwerte für die verschiedenen Pflanzen?
Kann man diese aus der APP auslesen oder gibt es eine Homepage auf der man die Werte bekommt?
2. Was ist eure Erfahrung mit den Sensoren? Brauchbar oder Nutzlos?
Gruß Flipper
Kann man aus der App auslesen
Gesendet von meinem E6653 mit Tapatalk
Hallo zusammen
da sich meine XT300 einer nach dem anderen ins Nirwana verabschieden bin ich auf der Suche nach Alternativen. Die Xiaomis sehen ganz gut aus... Wie ist eure Erfahrung:
* Bluetooth Reichweite - Ich habe mit einem GTag potentielle Stellen ausprobiert und das hat gerade so gereicht... Ist die Xiaomi-Reichweite vergleichbar?
* Wetterfestigkeit - Ich will die Dinger nicht im Winter draussen lassen, aber ein ordentliches Sommergewitter sollten sie überleben. Funktioniert das?
Danke,
Grüße,
Oli
Die Reichweite ist etwa 10m bei Sichtkontakt. Bei mir sind es mit einer Wand dazwischen grad noch 5-6m. Außerdem bezweifle ich sehr stark, dass diese Sensoren einen Außeneinsatz überleben werden. Ich kann sie deshalb nur für Wohnungen empfehlen und selbst dort kommt man mitunter nicht um einen Repeater herum.
Zitat von: mumpitzstuff am 25 März 2017, 21:35:22
Die Reichweite ist etwa 10m bei Sichtkontakt. Bei mir sind es mit einer Wand dazwischen grad noch 5-6m. Außerdem bezweifle ich sehr stark, dass diese Sensoren einen Außeneinsatz überleben werden. Ich kann sie deshalb nur für Wohnungen empfehlen und selbst dort kommt man mitunter nicht um einen Repeater herum.
Thanks... und ausverkauft sind sie wohl auch...
Zitat von: Flipper92 am 25 März 2017, 17:18:00
1. Woher bekomme ich die Grenzwerte für die verschiedenen Pflanzen?
Kann man diese aus der APP auslesen oder gibt es eine Homepage auf der man die Werte bekommt?
Ich würde die Werte pro Sensor empirisch ermitteln, da die Messwerte stark von den Bodenbeschaffenheiten abhängig sind.
Zitat von: Flipper92 am 25 März 2017, 17:18:00
2. Was ist eure Erfahrung mit den Sensoren? Brauchbar oder Nutzlos?
Auf jeden Fall ein nützliches Hilfsmittel :)
Zitat von: KernSani am 25 März 2017, 20:29:39
* Wetterfestigkeit - Ich will die Dinger nicht im Winter draussen lassen, aber ein ordentliches Sommergewitter sollten sie überleben. Funktioniert das?
Der Hersteller sagt Innenbereich, ich würde sagen geschützter Außenbereich(=unterm Dachvorsprung ohne direkte Bewitterung) müsste auch möglich sein.
Hey CoolTux,
könntest du der Vollständigkeit halber noch die Grenzwerte für das Sonnenlicht mit einbauen?
Übrigens seit ich den Abrufinterval auf 1 Stunde erhöht habe, hält die Batterie deutlich länger. Innerhalb der ersten Woche ist der ja von 100 auf 82 Prozent runter gegangen. Jetzt bleibt er schon fast eine Woche bei 82%. :)
Zitat von: ToM_ToM am 26 März 2017, 10:37:58
Hey CoolTux,
könntest du der Vollständigkeit halber noch die Grenzwerte für das Sonnenlicht mit einbauen?
Übrigens seit ich den Abrufinterval auf 1 Stunde erhöht habe, hält die Batterie deutlich länger. Innerhalb der ersten Woche ist der ja von 100 auf 82 Prozent runter gegangen. Jetzt bleibt er schon fast eine Woche bei 82%. :)
Hallo Tom,
Ich hatte über Sonnenlicht nachgedacht. Habe aber keinen wirklichen Sinn darin gesehen, da es Nachts Dunkel ist und am Tag hell. Wie will man da mit Grenzwerten arbeiten. Die werden eh immer über oder unterschritten ;D
Hey CoolTux,
das stimmt. Aber die App macht das relativ clever. Die erkennt anhand der Uhrzeit wann es Nachts ist und somit sowieso dunkel und zeigt dann ein Schlafsymbol bei der Pflanze an. So ähnlich hätte ich das dann auch an meinem Tablet umgesetzt. Ich kann mir die Attribute auch manuell hinzufügen. Aber ich dachte, ich frage vorher mal den Entwickler, da ich verusche, so viel wie möglich die erst mal die Standards zu verwenden. :)
Da fällt mir gerade noch was ein....
So ein Imagepfad wäre auch nice to have. :) Den könnte ich dann in der TabletUI wieder mit auslesen und müsste bei Änderung die Änderung nur in FHEM machen, nicht aber an der TabletUI.
Zitat von: ToM_ToM am 26 März 2017, 10:55:38
Hey CoolTux,
das stimmt. Aber die App macht das relativ clever. Die erkennt anhand der Uhrzeit wann es Nachts ist und somit sowieso dunkel und zeigt dann ein Schlafsymbol bei der Pflanze an. So ähnlich hätte ich das dann auch an meinem Tablet umgesetzt. Ich kann mir die Attribute auch manuell hinzufügen. Aber ich dachte, ich frage vorher mal den Entwickler, da ich verusche, so viel wie möglich die erst mal die Standards zu verwenden. :)
Wir können gerne darüber reden. Habe keine Probleme damit das ein zu bauen. Gibt ja die Möglichkeit eines disableForInterval.
Ich werde es die Tage mal einbauen.
Imagepfad?
Ach cool, das wäre echt super.
Mit dem Imagepfad meine ich z.B. so etwas wie beim Sonos-Modul. Dort gibt es z.B. ein Reading currentAlbumArtURI oder ein Attribut icon.
Beim Pflanzenmonitor stelle ich mir das so vor, dass ich z.B. ein Bild zu einer Orchidee hinterlegen kann in der der Pflanzenmonitor drin steckt. Dieses Bild lasse ich mir mit den zugehörigen Daten auf dem Tablet anzeigen. Jetzt geht meine Orchidee ein und ich stecke den Pflanzenmonitor z.B. in eine Palme. Nun kann ich die Grenzwerte in FHEM wunderbar anpassen, muss aber das ICON im html-Code des Tablets ändern. Wenn es einen Imagepfad gibt, würde ich auch einfach in FHEM ein neues Bild hinterlegen und schon ist alles auf dem Tablet aktuell.
Ich hoffe, ich konnte es verständlich erklären. ;)
mir hilft das Lightintegral zum bewerten ganz gut. Um es im Modul auswertbar zu machen müsste das Modul selbst halt integrieren und vorallem nachts rücksetzen. Das wäre dann auch der perfekte Zeitpunkte zum bewerten.
Zitat von: andi11 am 26 März 2017, 12:20:46
mir hilft das Lightintegral zum bewerten ganz gut. Um es im Modul auswertbar zu machen müsste das Modul selbst halt integrieren und vorallem nachts rücksetzen. Das wäre dann auch der perfekte Zeitpunkte zum bewerten.
Gib mir ein Patch und ich schaue es mir an ;)
Zitat von: KernSani am 25 März 2017, 20:29:39
* Wetterfestigkeit - Ich will die Dinger nicht im Winter draussen lassen, aber ein ordentliches Sommergewitter sollten sie überleben. Funktioniert das?
Zitat von: Pyromane am 26 März 2017, 09:27:29
Der Hersteller sagt Innenbereich, ich würde sagen geschützter Außenbereich(=unterm Dachvorsprung ohne direkte Bewitterung) müsste auch möglich sein.
Tach.
Ich hab seit einem halben Jahr einen direkt im Beet (volle Umwelteinflüsse), einen etwas geschützt im Blumenkübel und einen direkt an die Hauswand genagelt (in die pralle Sonne)
Nach einem halbel Jahr incl. Schnee und reichlich Minusgraden, sowie jetzt in der direkten Sonneneinstahlung :
Bisher keine Ausfälle, Batterie bei 82%.
Zitat von: CoolTux am 26 März 2017, 13:14:30
Gib mir ein Patch und ich schaue es mir an ;)
Mir wäre es nach wie vor lieber es unabhängig vom Modul, dass den Sensor anspricht, zu haben. => Für die Überwachung ein extra Modul der Pflanze. Gibt ja z.b. noch den Parrot Flower Sensor.
Zitat von: andi11 am 26 März 2017, 14:13:49
Mir wäre es nach wie vor lieber es unabhängig vom Modul, dass den Sensor anspricht, zu haben. => Für die Überwachung ein extra Modul der Pflanze. Gibt ja z.b. noch den Parrot Flower Sensor.
Ach so. Klang so als wäre es ein Userwunsch :)
Zitat von: CoolTux am 26 März 2017, 14:18:12
Ach so. Klang so als wäre es ein Userwunsch :)
Es ist auch ein Userwunsch von ToM_ToM das Sonenlicht zu überwachen. Mit dem aktuellen Wert wird das aber nicht gehen, von daher mein Schubs in Richtung Erfassung über einen Tag.
Guten Abend/Morgen Leon,
dürfte ich dich bitten commandref und evtl. auch den Wiki Artikel um eine Beschreibung zu dem Attribut "DisabledForIntervals" zu erweitern. Danke!
Zitat von: mi.ke am 26 März 2017, 14:05:21
Ich hab seit einem halben Jahr einen direkt im Beet (volle Umwelteinflüsse), einen etwas geschützt im Blumenkübel und einen direkt an die Hauswand genagelt (in die pralle Sonne)
Nach einem halbel Jahr incl. Schnee und reichlich Minusgraden, sowie jetzt in der direkten Sonneneinstahlung :
Bisher keine Ausfälle, Batterie bei 82%.
Hmmm... Dann vielleicht doch mal einen bestellen, wenn Ali wieder welche hat... Bleibt noch die Frage mit der Reichweite, aber im Zweifelsfall kann ich mir ja noch einen RasPi in den Schuppen hängen...
Zitat von: KernSani am 27 März 2017, 00:14:56
vielleicht doch mal einen bestellen, wenn Ali wieder welche hat...
ich bestell immer 5er-weise bei:
https://www.fasttech.com/product/5258000-authentic-xiaomi-mi-bluetooth-v4-1-flower-care
Die ersten 15 kamen ohne Umweg direkt und ohne Nachforderungen nach 6-8 Wochen an 8)
Zitat von: KernSani am 27 März 2017, 00:14:56
Bleibt noch die Frage mit der Reichweite, aber im Zweifelsfall kann ich mir ja noch einen RasPi in den Schuppen hängen...
naja: Bluetooth ca/ungefähr 10 m
bei mir ist der "schlechteste" Empfang durch 2 Wänden bei ca. 7m.
Ich frag alle Std. ab, selbst bei 2-3 Ausfällen pro Tag, die Feuchtigkeit ist ja nicht sofort/plötzlich weg (Topfpflanze).
Bei der für mich "zeitkritischen" Abfrage (wie Lux/Beschattung) ist nur ein Fenster und ein paar Meter dazwischen und somit kein Problem. Allerdings hab ich meine RPi's auch strategisch gut verteilt. ;D
Hope this helps
Cheers
mi.ke
minLux und maxLux sind nun enthalten. Ab morgen früh per Update.
Hat schon jemand Erfahrung mit einem Event machen können?
Hey CoolTux,
super. Vielen Dank! :)
Und zum Thema: Sensoren bei Ali...
Da gibt's doch jede Menge von so vielen verschiedenen Händlern.... Verstehe nicht warum die "ausverkauft" sein sollen.... :o
Zitat von: CoolTux am 27 März 2017, 11:06:57
minLux und maxLux sind nun enthalten. Ab morgen früh per Update.
Hat schon jemand Erfahrung mit einem Event machen können?
Seh ich das recht im Source dass mit min und maxlux immer der Luxwert überprüft wird, unabhängig davon ob gerade Tag/Nacht ist?
Zitat von: andi11 am 27 März 2017, 18:50:11
Seh ich das recht im Source dass mit min und maxlux immer der Luxwert überprüft wird, unabhängig davon ob gerade Tag/Nacht ist?
Korrekt. Den Rest muss der User entscheiden. Es wäre ja auch möglich das der Sensor in Gewächshäusern mit speziellen Lampen verwendet werden soll.
Zitat von: CoolTux am 27 März 2017, 18:54:58
Korrekt. Den Rest muss der User entscheiden. Es wäre ja auch möglich das der Sensor in Gewächshäusern mit speziellen Lampen verwendet werden soll.
Meine Pflänzchen kriegen noch etwas Kunstlicht. Aber auch da kriegt kein Pflänzchen 24h Licht ;)
Hier zwei Funktionen die ich mit den Werten des Moduls nutze.
"flower_icon" zeigt die aktuellen "Bedürfnisse" meiner Pflanzen an. "flower_today" addiert die Zeiten an denen ein Reading (typischerweise "lux") über dem min-Schwellwert gelegen hat auf. Es wird ein umfangreiches Set an User-Attributen benötigt:
iconPriority iconColor fertilityRange moistureRange temperatureRange luxRange fertilityIcon moistureIcon temperatureIcon luxIcon fertilityColor moistureColor temperatureColor luxColor fertilityText moistureText temperatureText luxText
Die Range-Attribute können durch die neuen min/max-Attribute ersetzt werden (diese hätten auch Priorität ggü. *Range). Allen Attributen mit Reading-Bezug (moistureRange, moistureColor, moistureColor...) gemein ist, dass sie ein kommagetrenntes Wertepaar aus min- und max-Schwellwert für das Reading erwarten, zB:
attr FLOWER temperatureIcon temp_temperature_min,temp_temperature_max
Jeder Wert kann auch weg gelassen werden. Bei "lux" ist eine Obergrenze idR nicht sinnvoll, man definiert daher zB:
attr FLOWER luxRange 4000,
Ansonsten hoffe ich, dass die Attribute selbsterklärend sind, wenn man weiss dass sie a) zur Darstellung eines "Bedürfnisses" als gefärbtes devStateIcon und b) als Texthinweis genutzt werden. Der Screenshot im Anhang verdeutlicht die Anwendung: "Olof Palme" ist vor allem zu trocken (das hellblaue Tropfenicon) aber ihm ist es auch zu "hell" und der Boden ist "ausgelaugt". Welches Bedürfnis vorrangig als Icon dargestellt werden soll, wird über das Attribut iconPriority gesteuert. Der Standard ist: "temperature lux fertility moisture" (aufsteigende Priorität). "iconColor" (Default "green") kommt zum tragen, wenn alle Readings im Wunschbereich sind und das Standardicon (Attribut "icon" sonst "weather_pollen") angezeigt wird. (BTW webCmd zur Anzeige von Text zu verwenden ist missbräuchlich, wenn jemand eine bessere Alternative hat, baue ich das gerne um).
Für alle *Icon *Color *Text-Attribute sind Defaults vorbelegt, es sind nur *Range bzw min* und max* zu setzen. Minimal-Beispiel:
devStateIcon { flower_icon($name) }
maxFertility 2000
maxMoisture 60
maxTemp 32
minFertility 500
minLux 4000
minMoisture 20
minTemp 5
userReadings luxToday:lux.* { flower_today($name, 'lux') }
Maximal-Beispiel:
devStateIcon { flower_icon($name) }
fertilityColor brown,red
fertilityIcon poop,poop
fertilityRange 500,2000
fertilityText ausgelaugt,überdüngt
icon leaf
iconPriority temperature lux fertility moisture
luxColor orange,red
luxIcon sun-o,sun-o
luxRange 4000,
luxText dunkel,hell
moistureColor lightblue,red
moistureIcon tint,tint
moistureRange 20,60
moistureText trocken,nass
temperatureColor lightblue,red
temperatureIcon temp_temperature_min,temp_temperature_max
temperatureRange 5,32
temperatureText kalt,heiss
userReadings luxToday:lux.* { flower_today($name, 'lux') }, luxWeek:lux.* monotonic {ReadingsNum($name,'luxToday',0)}, luxMonth:lux.* monotonic {ReadingsNum($name,'luxToday',0)}
userattr iconPriority iconColor fertilityRange moistureRange temperatureRange luxRange fertilityIcon moistureIcon temperatureIcon luxIcon fertilityColor moistureColor temperatureColor luxColor fertilityText moistureText temperatureText luxText
Und hier die beiden Funktionen:
sub flower_icon($;$$) {
my $name = shift;
my $icon = shift || AttrVal($name, 'icon', 'weather_pollen');
my $color = shift || AttrVal($name, 'iconColor', 'green');
my %r;
$r{fertility} = ReadingsVal($name, 'fertility', undef);
$r{moisture} = ReadingsVal($name, 'moisture', undef);
$r{temperature} = ReadingsVal($name, 'temperature', undef);
$r{lux} = ReadingsVal($name, 'lux', undef);
my %range;
@{$range{fertility}} = split(/,/, AttrVal($name, 'fertilityRange', undef));
@{$range{moisture}} = split(/,/, AttrVal($name, 'moistureRange', undef));
@{$range{temperature}} = split(/,/, AttrVal($name, 'temperatureRange', undef));
@{$range{lux}} = split(/,/, AttrVal($name, 'luxRange', undef));
# new min/max*-attributes overwrite *Range-attributes
$range{fertility}[0] = AttrVal($name, 'minFertility', $range{fertility}[0]);
$range{fertility}[1] = AttrVal($name, 'maxFertility', $range{fertility}[1]);
$range{moisture}[0] = AttrVal($name, 'minMoisture', $range{moisture}[0]);
$range{moisture}[1] = AttrVal($name, 'maxMoisture', $range{moisture}[1]);
$range{temperature}[0] = AttrVal($name, 'minTemp', $range{temperature}[0]);
$range{temperature}[1] = AttrVal($name, 'maxTemp', $range{temperature}[1]);
$range{lux}[0] = AttrVal($name, 'minLux', $range{lux}[0]);
$range{lux}[1] = AttrVal($name, 'maxLux', $range{lux}[1]);
my %icon;
@{$icon{fertility}} = split(/,/, AttrVal($name, 'fertilityIcon', 'scene_toilet_alternat,scene_toilet_alternat'));
@{$icon{moisture}} = split(/,/, AttrVal($name, 'moistureIcon', 'sani_irrigation,humidity'));
@{$icon{temperature}} = split(/,/, AttrVal($name, 'temperatureIcon', 'temp_temperature_min,temp_temperature_max'));
@{$icon{lux}} = split(/,/, AttrVal($name, 'luxIcon', 'weather_sun,weather_sun'));
my %color;
@{$color{fertility}} = split(/,/, AttrVal($name, 'fertilityColor', 'brown,red'));
@{$color{moisture}} = split(/,/, AttrVal($name, 'moistureColor', 'lightblue,red'));
@{$color{temperature}} = split(/,/, AttrVal($name, 'temperatureColor', 'lightblue,red'));
@{$color{lux}} = split(/,/, AttrVal($name, 'luxColor', 'orange,red'));
my %text;
@{$text{fertility}} = split(/,/, AttrVal($name, 'fertilityText', 'ausgelaugt,ueberduengt'));
@{$text{moisture}} = split(/,/, AttrVal($name, 'moistureText', 'trocken,nass'));
@{$text{temperature}} = split(/,/, AttrVal($name, 'temperatureText', 'kalt,heiss'));
@{$text{lux}} = split(/,/, AttrVal($name, 'luxText', 'dunkel,hell'));
my @priority = split(/ /, AttrVal($name, 'iconPriority', 'temperature lux fertility moisture'));
my @webcmd;
foreach my $reading (@priority) {
if(defined($range{$reading}[0]) && $r{$reading} < $range{$reading}[0]) {
$icon = $icon{$reading}[0];
$color = $color{$reading}[0];
push @webcmd, $text{$reading}[0];
} elsif(defined($range{$reading}[1]) && $r{$reading} > $range{$reading}[1]) {
$icon = $icon{$reading}[1];
$color = $color{$reading}[1];
push @webcmd, $text{$reading}[1];
}
}
$attr{$name}{webCmd} = join(":", @webcmd);
return '.*:'.$icon.'@'.$color;
}
sub flower_today($$;$$) {
my $device = shift;
my $reading = shift || 'lux';
my $todayr = shift || $reading.'Today';
my $ranger = shift || $reading.'Range';
my ($low,$high) = split(',', AttrVal($device, $ranger, '0,0'));
# new min/max*-attributes overwrite *Range-attributes
$low = AttrVal($device, 'min'.ucfirst($reading), $low);
$high = AttrVal($device, 'max'.ucfirst($reading), $high);
my $age=ReadingsAge($device, $reading, undef);
my $value = ReadingsNum($device, $reading, 0);
my $today = ReadingsNum($device, $todayr, 0);
# addiere age zu today
# WENN low nicht gesetzt ODER value >= low
# UND high nicht gesetzt ODER value <= high
if((!$low || $value >= $low) && (!$high || $value <= $high)) {
return $today + $age;
}
# sonst nur today
return $today;
}
Hast du noch das gplot-File dazu? Wie bekomme ich den Bereich zwischen min und max wie in dem ersten Plot violett eingefärbt?
Die gplot-Files im Anhang sind etwas erweitert. Dazu gehört jeweils ein Attribut plotReplace mit folgendem Inhalt (entsprechend anpassen):
SVG_DBLOG1_W_FLOWER_TEMPLATE_Boden:
NAME=Maibaum
DEVICE=W_FLOWER_Birke
DEVICE_THERMO=A_HUMID
MINFERTILITY=500
MAXFERTILITY=2000
MINMOISTURE=20
MAXMOISTURE=60
SVG_DBLOG1_W_FLOWER_TEMPLATE_Temperatur:
NAME=Maibaum
DEVICE=W_FLOWER_Birke
DEVICE_THERMO=A_HUMID
MINTEMP=5
MAXTEMP=32
SVG_DBLOG1_W_FLOWER_TEMPLATE_Licht:
NAME=Maibaum
DEVICE=W_FLOWER_Birke
MINLUX=4000
DBLOG1 dürfte klar sein, LP muss ggf. umbenannt oder angelegt werden:
define LP logProxy
Damit die Templates genau so funktionieren wird darüber hinaus folgendes benötigt:
Das Licht-Template benötigt die Funktion zur Umrechnung von s in min:
sub logproxyDiv60($$) {
my($devspec,$array) = @_;
foreach my $point ( @{$array} ) {
$point->[1] /= 60;
}
return $array;
}
flower_today() habe ich etwas erweitert:
sub flower_today($$;$$) {
my $device = shift;
my $reading = shift || 'lux';
my $ranger = shift || $reading.'Range';
my $todayr = shift || $reading.'Today';
my $today = ReadingsNum($device, $todayr, 0);
my $age=ReadingsAge($device, $reading, undef);
if($ranger ne 'ignore') {
my ($low,$high) = split(',', AttrVal($device, $ranger, '0,0'));
# new min/max*-attributes overwrite *Range-attributes
$low = AttrVal($device, 'min'.ucfirst($reading), $low);
$high = AttrVal($device, 'max'.ucfirst($reading), $high);
my $value = ReadingsNum($device, $reading, 0);
# addiere age zu today
# WENN low nicht gesetzt ODER value >= low
# UND high nicht gesetzt ODER value <= high
if((!$low || $value >= $low) && (!$high || $value <= $high)) {
return $today + $age;
}
} else {
return $today + $age;
}
# sonst nur today
return $today;
}
Das Userreading luxTodayFull erhält man mit:
luxTodayFull { flower_today($name, 'lux', 'ignore', 'luxTodayFull') },
Beispiel-Def:
define SVG_DBLOG1_W_FLOWER_Birke SVG LP:SVG_DBLOG1_W_FLOWER_TEMPLATE_Boden:HISTORY
attr SVG_DBLOG1_W_FLOWER_Birke plotReplace NAME=Maibaum\
DEVICE=W_FLOWER_Birke\
DEVICE_THERMO=A_HUMID\
MINFERTILITY=500\
MAXFERTILITY=2000\
MINMOISTURE=20\
MAXMOISTURE=60
attr SVG_DBLOG1_W_FLOWER_Birke room Pflanzen
Die Templates nicht im SVG-Editor bearbeiten, der löscht y3 und damit die Anzeige der Nachtstunden.
Was soll eigentlich passieren, wenn die min und max Werte, z.b.bei moisture, gesetzt sind, und diese unterschritten werden?
Gruß Sascha
Gesendet von meinem SM-T560 mit Tapatalk
Steht in der Doku.....
erzeugt zusätzlich einen Low bzw High-Event
Steht zwar drin, wird bei mir aber nicht so angezeigt !
Internals:
BTMAC C4:7C:8D:62:A2:A9
DEF C4:7C:8D:62:A2:A9
INTERVAL 900
NAME blume
NR 420
STATE active
TYPE XiaomiFlowerSens
VERSION 1.0.1
Readings:
2017-03-31 21:30:30 battery ok
2017-03-31 21:30:30 batteryLevel 66
2017-03-31 21:30:30 fertility 355
2017-03-31 21:30:30 firmware 2.9.2
2017-03-31 18:32:37 lastGattError Unknown Error, look at verbose 5 output
2017-03-31 21:30:30 lux 0
2017-03-31 21:30:30 moisture 28
2017-03-31 21:30:30 state active
2017-03-31 21:30:30 temperature 22.7
Helper:
Attributes:
devStateIcon active:scene_garden@lime unreachable:scene_garden@red
event-min-interval .*:900
event-on-change-reading .*
hciDevice hci0
interval 900
maxMoisture 65
minMoisture 40
room FlowerSens
Es wird ein Event ausgelöst ... das siehst du doch nicht in den Internals. Sieht im Eventviewer zB so aus (die letzten beiden Zeilen):
2017-03-31 21:32:55 XiaomiFlowerSens Wohnzimmer.Geldbaum call data
2017-03-31 21:32:58 XiaomiFlowerSens Wohnzimmer.Geldbaum batteryLevel: 100
2017-03-31 21:32:58 XiaomiFlowerSens Wohnzimmer.Geldbaum battery: ok
2017-03-31 21:32:58 XiaomiFlowerSens Wohnzimmer.Geldbaum temperature: 21
2017-03-31 21:32:58 XiaomiFlowerSens Wohnzimmer.Geldbaum lux: 0
2017-03-31 21:32:58 XiaomiFlowerSens Wohnzimmer.Geldbaum moisture: 7
2017-03-31 21:32:58 XiaomiFlowerSens Wohnzimmer.Geldbaum fertility: 5
2017-03-31 21:32:58 XiaomiFlowerSens Wohnzimmer.Geldbaum firmware: 2.6.2
2017-03-31 21:32:58 XiaomiFlowerSens Wohnzimmer.Geldbaum active
2017-03-31 21:32:58 XiaomiFlowerSens Wohnzimmer.Geldbaum minMoisture low
2017-03-31 21:32:58 XiaomiFlowerSens Wohnzimmer.Geldbaum maxMoisture ok
Wie bereits korrekt gesagt wird lediglich ein Event ausgelöst, jedoch kein Reading gesetzt. Das ist auch nicht nötig.
Habe schon damit rum experimentiert. Läuft soweit.
Gesendet von meinem SM-T560 mit Tapatalk
Müsste feststellen, wenn man mit den Events arbeitet bzw. abfragt, dann werden readings angelegt! Soll das so sein?
Gruß Sascha
Gesendet von meinem SM-T560 mit Tapatalk
Zitat von: sash.sc am 01 April 2017, 10:42:59
Müsste feststellen, wenn man mit den Events arbeitet bzw. abfragt, dann werden readings angelegt! Soll das so sein?
Gruß Sascha
Gesendet von meinem SM-T560 mit Tapatalk
Verstehe Dich nicht. Events fragt man nicht ab ab, man triggert sie mit einem DOIF oder Notify. Gib doch mal ein list von Deinem Device. Welche Readings meinst Du?
Hier das List von der blume
Internals:
BTMAC C4:7C:8D:62:A2:A9
DEF C4:7C:8D:62:A2:A9
INTERVAL 900
NAME blume
NR 420
STATE feucht genug
TYPE XiaomiFlowerSens
VERSION 1.0.1
Readings:
2017-04-01 11:25:47 battery ok
2017-04-01 11:25:47 batteryLevel 58
2017-04-01 11:25:47 fertility 353
2017-04-01 11:25:47 firmware 2.9.2
2017-03-31 18:32:37 lastGattError Unknown Error, look at verbose 5 output
2017-04-01 11:25:47 lux 244
2017-03-31 23:18:43 minMoisture 0
2017-03-31 23:12:44 minmoisture 0
2017-04-01 11:25:47 moisture 26
2017-03-31 23:26:03 state feucht genug
2017-04-01 11:25:47 temperature 20.3
Helper:
Attributes:
devStateIcon active:giesskanne@lime unreachable:giesskanne@red
event-min-interval .*:900
event-on-change-reading .*
hciDevice hci0
icon giesskanne
interval 900
maxMoisture 65
minMoisture 20
room FlowerSens
Hier das DOIF
Internals:
CFGFN
DEF ([blume:minMoisture] eq "low") (setreading blume state gießen)
DOELSE (setreading blume state feucht genug)
NAME blume_check
NR 3047
NTFY_ORDER 50-blume_check
STATE cmd_2
TYPE DOIF
Readings:
2017-04-01 11:25:47 Device blume
2017-03-31 23:26:03 cmd 2
2017-03-31 23:26:03 cmd_event blume
2017-03-31 23:26:03 cmd_nr 2
2017-04-01 11:25:47 e_blume_minMoisture 0
2017-03-31 23:26:03 state cmd_2
Condition:
0 ReadingValDoIf($hash,'blume','minMoisture') eq "low"
Devices:
0 blume
all blume
Do:
0:
0 setreading blume state gießen
1:
0 setreading blume state feucht genug
Helper:
event maxMoisture ok
globalinit 1
last_timer 0
sleeptimer -1
timerdev blume
timerevent maxMoisture ok
triggerDev blume
timerevents:
maxMoisture ok
timereventsState:
maxMoisture ok
triggerEvents:
maxMoisture ok
triggerEventsState:
maxMoisture ok
Internals:
Itimer:
Readings:
0 blume:minMoisture
all blume:minMoisture
Regexp:
0:
All:
State:
Trigger:
Attributes:
room FlowerSens
Nach dem ich das DOIF neu angelegt habe, fanden sich auch die Readings "minmoisture" und "minMoisture" in der Blume wieder.
Hatte das erste "minmoisture" im DOIF eingesetzt und dann auf "minMoisture" geändert.
Wie gesagt, danach fanden sich die Readings in der Blume wieder, allerdings nicht aktuell !!!
Gruß
Sascha
P.S.: Das Icon Giesskanne habe ich mir selbst angelegt, gibt es in FHEM nicht. ;)
Zitat von: sash.sc am 01 April 2017, 11:29:17
Hier das List von der blume
Internals:
BTMAC C4:7C:8D:62:A2:A9
DEF C4:7C:8D:62:A2:A9
INTERVAL 900
NAME blume
NR 420
STATE feucht genug
TYPE XiaomiFlowerSens
VERSION 1.0.1
Readings:
2017-04-01 11:25:47 battery ok
2017-04-01 11:25:47 batteryLevel 58
2017-04-01 11:25:47 fertility 353
2017-04-01 11:25:47 firmware 2.9.2
2017-03-31 18:32:37 lastGattError Unknown Error, look at verbose 5 output
2017-04-01 11:25:47 lux 244
2017-03-31 23:18:43 minMoisture 0
2017-03-31 23:12:44 minmoisture 0
2017-04-01 11:25:47 moisture 26
2017-03-31 23:26:03 state feucht genug
2017-04-01 11:25:47 temperature 20.3
Helper:
Attributes:
devStateIcon active:giesskanne@lime unreachable:giesskanne@red
event-min-interval .*:900
event-on-change-reading .*
hciDevice hci0
icon giesskanne
interval 900
maxMoisture 65
minMoisture 20
room FlowerSens
Hier das DOIF
Internals:
CFGFN
DEF ([blume:minMoisture] eq "low") (setreading blume state gießen)
DOELSE (setreading blume state feucht genug)
NAME blume_check
NR 3047
NTFY_ORDER 50-blume_check
STATE cmd_2
TYPE DOIF
Readings:
2017-04-01 11:25:47 Device blume
2017-03-31 23:26:03 cmd 2
2017-03-31 23:26:03 cmd_event blume
2017-03-31 23:26:03 cmd_nr 2
2017-04-01 11:25:47 e_blume_minMoisture 0
2017-03-31 23:26:03 state cmd_2
Condition:
0 ReadingValDoIf($hash,'blume','minMoisture') eq "low"
Devices:
0 blume
all blume
Do:
0:
0 setreading blume state gießen
1:
0 setreading blume state feucht genug
Helper:
event maxMoisture ok
globalinit 1
last_timer 0
sleeptimer -1
timerdev blume
timerevent maxMoisture ok
triggerDev blume
timerevents:
maxMoisture ok
timereventsState:
maxMoisture ok
triggerEvents:
maxMoisture ok
triggerEventsState:
maxMoisture ok
Internals:
Itimer:
Readings:
0 blume:minMoisture
all blume:minMoisture
Regexp:
0:
All:
State:
Trigger:
Attributes:
room FlowerSens
Nach dem ich das DOIF neu angelegt habe, fanden sich auch die Readings "minmoisture" und "minMoisture" in der Blume wieder.
Hatte das erste "minmoisture" im DOIF eingesetzt und dann auf "minMoisture" geändert.
Wie gesagt, danach fanden sich die Readings in der Blume wieder, allerdings nicht aktuell !!!
Gruß
Sascha
P.S.: Das Icon Giesskanne habe ich mir selbst angelegt, gibt es in FHEM nicht. ;)
Also die Readings kommen nicht vom Modul. Desweiteren denke ich das Dein DOIF für Events anders aussehen muss. Lese mal in der Commandref bitte. Und am besten Du löschst die Readings. Ausserdem kann es sein das wenn Du das state Reading selber manipulierst das Modul nicht mehr vernünftig läuft, da state als Statuskontrolle diehnt.
Bitte arbeite wenn dann mit userReadings oder mache Dir einen Dummy gießen oder so.
@nesges: hast du eine quelle für sinnvolle min/max werte unterschiedlicher pflanzen oder sind das erfahrungswerte?
gruss
andre
Zitat von: justme1968 am 01 April 2017, 17:14:17
@nesges: hast du eine quelle für sinnvolle min/max werte unterschiedlicher pflanzen oder sind das erfahrungswerte?
gruss
andre
Würde mich auch interessieren. Oder auch nur die App genommen? ;D
die app würde ich gerne komplett vermeiden :)
ich habe schon allen möglichen china kram in der firewall gesperrt. leider funktionieren dann manche nicht mehr vollständig. das ist bei diesen sensoren zum glück anders.
Zitat von: justme1968 am 01 April 2017, 17:24:13
die app würde ich gerne komplett vermeiden :)
ich habe schon allen möglichen china kram in der firewall gesperrt. leider funktionieren dann manche nicht mehr vollständig. das ist bei diesen sensoren zum glück anders.
Wollte ich auch vermeiden. Habe leider keine Alternative gefunden. Daher alles geblockt.
ich habe gerade gesehen das es zwei wiki artikel gibt.
das 'original': https://wiki.fhem.de/wiki/XiaomiFlowerSens (https://wiki.fhem.de/wiki/XiaomiFlowerSens) und seit vorgestern auch noch den hier: https://wiki.fhem.de/wiki/Xiaomi_Flower_Sensor (https://wiki.fhem.de/wiki/Xiaomi_Flower_Sensor).
ich glaube es wäre gut das zusammen zu fassen :)
gruss
andre
Wäre wohl gut. User Baumbuwe möchte bitte seinen Artikel einfach in meinen integrieren.
Zitat von: justme1968 am 01 April 2017, 17:14:17
@nesges: hast du eine quelle für sinnvolle min/max werte unterschiedlicher pflanzen oder sind das erfahrungswerte?
Ich nehme auch nur die Daten aus der App, habe noch keine standalone Datenbank gefunden. Ich frage mich allerdings wie sinnvoll die Appdaten sind. Die MinFertility ereiche ich nicht annähernd, meine Blumenerde scheint aus der Hölle zu kommen - selbst drei Düngerstäbchen haben nicht gereicht. Haben andere ähnliche Erfahrungen?
ich habe vorhin erst einem ersten sensor probiert. die pflanze wurde glaube ich noch nie gedüngt und der fertility wert lag um die 100. nach giessen und düngen ist er auf 1880 hoch gegangen.
ich habe vorhin das interval attribut auf 900 gesetzt weil ich keine 5 minütigen werte brauche. mit setzen des attributs (und/oder mit der einmaligen manuellen abfrage) hat das pollen komplett aufgehört. das modul hat zwei stunden keine werte geholt.
und jetzt gerade bekomme ich nur noch connect error: Transport endpoint is not connected (107) meldungen.
edit: durch das giessen scheinen sich die rf eigenschaften so geändert zu haben das der sensor nicht mehr in reichweite ist. ärgerlich. das problem mit dem pollen besteht aber trotzdem noch.
Eventuell den BT Dienst neu starten?
Warum der Internal Timer nicht korrekt funktioniert hat kann ich nicht sagen.
nö. es liegt wirklich am abstand. wenn ich den sensor näher zum raspberry bringe geht es sofort.mal sehen was passiert wenn es trockener wird.
bei der reichweite schreit es nach einem pi zero w pro zimmer als empfänger...
Zitat von: justme1968 am 01 April 2017, 21:53:56
bei der reichweite schreit es nach einem pi zero pro zimmer als empfänger...
Die Idee hatte ich auch schon gehabt. Die Teile sind ja wirklich cool.
ich habe das problem mit dem pollen gefunden.
der DeviceMonitor verträgt sich nicht mit dem Xiaomi modul.
habs repariert. jetzt geht wieder alles.
und noch etwas :)
wie wäre es den batteriestand nicht so oft abzuholen wie die anderen readings? alle 12 oder sogar 24 stunden sollten eigentlich reichen.
das müsste dann fast 1/3 der kommunikation einsparen und die batterie schonen.
gruss
andre
Zitat von: justme1968 am 02 April 2017, 00:00:33
und noch etwas :)
wie wäre es den batteriestand nicht so oft abzuholen wie die anderen readings? alle 12 oder sogar 24 stunden sollten eigentlich reichen.
das müsste dann fast 1/3 der kommunikation einsparen und die batterie schonen.
gruss
andre
Guten Morgen,
Finde ich eine gute Idee, ich denke auch das alle 24 Stunden reichen sollte. Baue ich mal so ein.
Grüße
Ich glaub mein Beitrag ist beim Seitenwechsel untergegangen, daher erlaube ich mir ihn hier zu zitieren:
Zitat von: Pyromane am 27 März 2017, 00:08:43
Guten Abend/Morgen Leon,
dürfte ich dich bitten commandref und evtl. auch den Wiki Artikel um eine Beschreibung zu dem Attribut "DisabledForIntervals" zu erweitern. Danke!
Zitat von: Pyromane am 02 April 2017, 17:16:27
Ich glaub mein Beitrag ist beim Seitenwechsel untergegangen...
http://fhem.de/commandref.html#disabledForIntervals
Zitat von: CoolTux am 01 April 2017, 19:07:52
Wäre wohl gut. User Baumbuwe möchte bitte seinen Artikel einfach in meinen integrieren.
Habe extra den Artikel zum Device getrennt zum Modul-Artikel angelegt. Das eine ist die Hardware, das andere der Modul.
Zitat von: Uwe B. am 04 April 2017, 14:06:43
Habe extra den Artikel zum Device getrennt zum Modul-Artikel angelegt. Das eine ist die Hardware, das andere der Modul.
Mir ist da eigentlich schnuppe. Persönlich würde ich das aber auch zusammenfügen. Einfach unten einen Abschnitt Hardwarebeschreibung und dann passt das.
Mach wie Du denkst. Passt schon :)
Hallo, bei der aktuellen Version 1.01 habe ich festgestellt, dass nur maximal 2 Sensoren ausgelesen werden können. Der dritte bekommt immer folgenden Fehler, siehe Anhang.
Wenn ich einen funtionierenden Sensor lösche funktioniert der unten auch. Liegt somit nicht am Senor. Mit einer älteren Version haben auch alle funktioniert.
Können andere das Problem bestätigen? Gab doch hier Leute mit bis zu 7 Sensoren.
Nee, hab 11 Stk. stabil laufen mit der 1.0.1
Wenn mal was hängt (ist aber erst 2mal passiert in x Monaten), hilft einer von den beiden Lösungswegen
ps ax | grep gatttool
kill -9 PID
sudo rfkill unblock all
sudo hciconfig hci0 up
Cheers
editiert wegen Formatierung
Hi,
danke für den Tipp. Hilft leider nicht bei mir.
Gruß
Christoph
Hallo Zusammen,
habe seit gestern Morgen das Problem das mein Sensor keine Werte mehr liefert.
Habe mal ein paar Minuten auf Verbose 5 laufen lassen. Anbei auch der Log.
Kann sich das jemand erklären? Zu dem Zeitpunkt der letzten Daten wurde weder ein Update noch sonst eine Änderung durchgeführt.
Internals:
BTMAC C4:7C:8D:61:6C:63
DEF C4:7C:8D:61:6C:63
INTERVAL 300
NAME OG.wz.SE.LinkeBlumeFensterRechts
NR 213
STATE Temperatur: temperature °C<br>
Feuchtigkeit: moisture %<br>
Nährstoffe: fertility µS/cm<br>
Helligkeit: lux Lux<br>
Batterie: batteryLevel %
TYPE XiaomiFlowerSens
VERSION 1.0.1
Readings:
2017-04-25 10:25:08 lastGattError Unknown Error, look at verbose 5 output
2017-04-25 10:25:08 state unreachable
Helper:
Attributes:
DbLogInclude lux,moisture,temperature,batteryLevel,fertility
fhem_widget_command { "filter" : "Thiemo,Michi", "controlled_attribute" : "moisture", "allowed_values" : [ ], "alias" : "Blume"}
room Wohnzimmer
stateFormat Temperatur: temperature °C<br>
Feuchtigkeit: moisture %<br>
Nährstoffe: fertility µS/cm<br>
Helligkeit: lux Lux<br>
Batterie: batteryLevel %
2017.04.25 09:15:58 3: XiaomiFlowerSens (OG.wz.SE.LinkeBlumeFensterRechts) - defined with BTMAC C4:7C:8D:61:6C:63
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_Run (OG.wz.SE.LinkeBlumeFensterRechts) - start blocking call
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_BlockingRun (OG.wz.SE.LinkeBlumeFensterRechts) - Running nonBlocking
2017.04.25 09:16:30 5: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - WFR: 1
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 1
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 2
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 3
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 4
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 5
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 6
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 7
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:16:30 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 8
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 9
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 10
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - run gatttool
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 1
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 2
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 3
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 4
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 5
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 6
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 7
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 8
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 9
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 10
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - processing gatttool response. sensData[0]: connect
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - processing gatttool response. sensData: No route to host (113)
2017.04.25 09:16:31 4: Sub XiaomiFlowerSens_BlockingRun (OG.wz.SE.LinkeBlumeFensterRechts) - Processing response data: No route to host (113)
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_Run (OG.wz.SE.LinkeBlumeFensterRechts) - start blocking call
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_BlockingRun (OG.wz.SE.LinkeBlumeFensterRechts) - Running nonBlocking
2017.04.25 09:22:40 5: Sub XiaomiFlowerSens_stateRequestTimer (OG.wz.SE.LinkeBlumeFensterRechts) - Request Timer wird aufgerufen
2017.04.25 09:22:40 5: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - WFR: 1
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 1
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 2
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 3
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 4
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 5
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 6
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 7
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 8
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 9
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - write data to local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charWrite loop 10
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - charWrite wresp: connect: No route to host (113)
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - run gatttool
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 1
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 2
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 3
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 4
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 5
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 6
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 7
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 8
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:22:40 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 9
2017.04.25 09:22:41 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call data from local host
2017.04.25 09:22:41 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - call gatttool charRead loop 10
2017.04.25 09:22:41 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - processing gatttool response. sensData[0]: connect
2017.04.25 09:22:41 4: Sub XiaomiFlowerSens_callGatttool (OG.wz.SE.LinkeBlumeFensterRechts) - processing gatttool response. sensData: No route to host (113)
2017.04.25 09:22:41 4: Sub XiaomiFlowerSens_BlockingRun (OG.wz.SE.LinkeBlumeFensterRechts) - Processing response data: No route to host (113)
Kannst Du in der Linuxkonsole ein hcitool lescan machen?
Nein, dabei kommt ein Fehler: Set scan parameters failed: File descriptor in bad state
Habe ein apt-get upgrade/update gemacht und von https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=141850 (https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=141850) den zweiten Codeblocj ausgeführt.
Nun klappt es wieder. Wieso und warum kann ich mir aber trotzdem nicht erklären.
Freut mich das es nun geht. Habe mir den Codeblock mal angeschaut. Eigentlich hättest Du die Packete schon längst haben müssen wenn es denn schon mal geklappt hat.
Ja, es hat schon einige Woche fehlerfrei funktioniert.
Und plötzlich hörte morgens um 6:20 der Plot auf. Daher konnte ich auch feststellen ab wann der Fehler vorlag.
Ich werde es beobachten und mich gegeben falls nochmal melden. Auch wenn ich Stand jetzt weiß das es kein Fehler vom Modul ist sondern vom Raspi.
Kann es sein, dass die Produktion eingestellt wurde? Das Ding ist inzwischen in fast allen Shops Out of Stock. Hab jetzt noch 4 nachbestellt...
Jupp und alle um die 20€ ... habe vor 6 Wochen noch welche für 9€ bestellt.
Edit: Hier gibts die Dinger noch für 11€: https://de.aliexpress.com/item/Original-Xiaomi-Smart-Flora-Monitor-Digital-Plants-Flowers-Soil-Water-Light-Tester-Sensor-Monitor-for-Aquarium/32799219321.html?isOrigTitle=true (https://de.aliexpress.com/item/Original-Xiaomi-Smart-Flora-Monitor-Digital-Plants-Flowers-Soil-Water-Light-Tester-Sensor-Monitor-for-Aquarium/32799219321.html?isOrigTitle=true)
Hier gibts auch noch welche:
https://www.tinydeal.com/de/original-xiaomi-digital-flora-monitor-plant-tester-sensor-monitor-p-161311.html (https://www.tinydeal.com/de/original-xiaomi-digital-flora-monitor-plant-tester-sensor-monitor-p-161311.html)
Vielleicht setzt ja Xiaomi jetzt nur noch auf den "Flower Pot", deren neuestes Produkt in Sachen Flower Care:
https://xiaomi-mi.com/news-and-actions/xiaomi-expands-its-line-of-plant-care-products-with-a-smart-flowerpot/ (https://xiaomi-mi.com/news-and-actions/xiaomi-expands-its-line-of-plant-care-products-with-a-smart-flowerpot/)
vg
stoxx
für 11 euro gibt es die auch direkt bei amazon.
Zitatfür 11 euro gibt es die auch direkt bei amazon.
Link? Ich finde da nichts...
zum beispiel hier: https://www.amazon.de/gp/product/B06XKXFFNZ
Zitatzum beispiel hier: https://www.amazon.de/gp/product/B06XKXFFNZ
Vorsicht: Da bestellt man auch in China und der Versand dauert 14-21 Werktage..
Ob TD da besser ist, weiss ich aber auch nicht.
vg stoxx
ja. aber wenn etwas schief geht gibt es trotzdem die amazon garantie.
Hallo,
kann mir hier jemand einen Bluetooth Dongle empfehlen der gut funktioniert. Ich habe mit diesem (https://www.amazon.de/LogiLink-BT0015-bluetooth-Class1-Micro/dp/B0096Y2HFW/ref=sr_1_5?ie=UTF8&qid=1494101454&sr=8-5&keywords=bluetooth+dongle) hier irgendwie probleme den Pflanzensensor auszulesen.
Ich finde die Dongles zwar über lescan aber wenn ich sie mitt gatttool --char-read --handle=0x35 abfrage bekomme ich folgende Zeile:
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Ist das die korrekte Antwort?
Jedenfalls mit dem Modul klappt das auslesen nicht.
2017.05.06 22:15:41 4: Sub XiaomiFlowerSens_Run (fs_eg_Palme) - start blocking call
2017.05.06 22:15:41 5: Sub XiaomiFlowerSens_stateRequestTimer (fs_eg_Palme) - Request Timer wird aufgerufen
2017.05.06 22:15:41 4: Sub XiaomiFlowerSens_BlockingRun (fs_eg_Palme) - Running nonBlocking
2017.05.06 22:15:41 5: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - WFR: 1
2017.05.06 22:15:42 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - write data to local host
2017.05.06 22:15:42 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charWrite loop 1
2017.05.06 22:15:42 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - charWrite wresp: Characteristic value was written successfully
2017.05.06 22:15:42 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - run gatttool
2017.05.06 22:15:42 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:42 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 1
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 2
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 3
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 4
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 5
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 6
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 7
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 8
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 9
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 10
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - processing gatttool response. sensData[0]: connect
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - processing gatttool response. sensData: Device or resource busy (16)
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_BlockingRun (fs_eg_Palme) - Processing response data: Device or resource busy (16)
Oder kann es noch an etwas anderem liegen als dem Dongle?
Danke
Zitat von: Phill am 06 Mai 2017, 22:20:46
Hallo,
kann mir hier jemand einen Bluetooth Dongle empfehlen der gut funktioniert. Ich habe mit diesem (https://www.amazon.de/LogiLink-BT0015-bluetooth-Class1-Micro/dp/B0096Y2HFW/ref=sr_1_5?ie=UTF8&qid=1494101454&sr=8-5&keywords=bluetooth+dongle) hier irgendwie probleme den Pflanzensensor auszulesen.
Ich finde die Dongles zwar über lescan aber wenn ich sie mitt gatttool --char-read --handle=0x35 abfrage bekomme ich folgende Zeile:
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Ist das die korrekte Antwort?
Jedenfalls mit dem Modul klappt das auslesen nicht.
2017.05.06 22:15:41 4: Sub XiaomiFlowerSens_Run (fs_eg_Palme) - start blocking call
2017.05.06 22:15:41 5: Sub XiaomiFlowerSens_stateRequestTimer (fs_eg_Palme) - Request Timer wird aufgerufen
2017.05.06 22:15:41 4: Sub XiaomiFlowerSens_BlockingRun (fs_eg_Palme) - Running nonBlocking
2017.05.06 22:15:41 5: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - WFR: 1
2017.05.06 22:15:42 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - write data to local host
2017.05.06 22:15:42 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charWrite loop 1
2017.05.06 22:15:42 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - charWrite wresp: Characteristic value was written successfully
2017.05.06 22:15:42 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - run gatttool
2017.05.06 22:15:42 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:42 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 1
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 2
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 3
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 4
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 5
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 6
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 7
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 8
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 9
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 10
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - processing gatttool response. sensData[0]: connect
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - processing gatttool response. sensData: Device or resource busy (16)
2017.05.06 22:15:43 4: Sub XiaomiFlowerSens_BlockingRun (fs_eg_Palme) - Processing response data: Device or resource busy (16)
Oder kann es noch an etwas anderem liegen als dem Dongle?
Danke
Wenn Du eine neuere Firmware hast ist das korrekt. Anscheinend klappt auch die erste Verbindung wunderbar, nur beim zweiten mal hängt er dann.
Ich habe einen Dongle von Media Markt für 14 Euro mit bis zu 60m im Freien.
Ok jetzt brauche ich eure Hilfe ich komme nicht weiter. Ich habe mir jetzt einen neuen Dongle zugelegt aber selbes Problem wie vorher.
Ein hcitool lescan findet die Sensoren ohne zu mucken.
Kann das irgend ein Timing Problem sein? Was kann ich machen? Ich habe auch schon verschiedene USB Ports getestet, läuft auf einem Cubietruck.
Lepresence mit Gtags funktioniert ohne Probleme. Für die Tests natürlich beendet.
:-[
Für eine Timingproblem spricht das ich den gatttool befehl auf der Kommandozeile nicht kurz hintereinander ausführen kann.
sudo gatttool -b C4:7C:8D:63:80:10 --char-read --handle=0x35
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
geo@geohome /opt/fhem/script [0] sudo gatttool -b C4:7C:8D:63:80:10 --char-read --handle=0x35
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
geo@geohome /opt/fhem/script [0] sudo gatttool -b C4:7C:8D:63:80:10 --char-read --handle=0x35
connect: Device or resource busy (16)
geo@geohome /opt/fhem/script [1] sudo gatttool -b C4:7C:8D:63:80:10 --char-read --handle=0x35
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
gatttool -b BT-MAC --characteristics
Bitte einmal eingeben und schauen was kommt. Am besten wenn was kommt gleich noch mal probieren zum verifizieren.
Grüße
Damn das ging schnell.. :D
Genau das selbe, muss mindestens 3 Sekunden warten bis ich es wieder auslesen kann.
geo@geohome ~ [0] gatttool -b C4:7C:8D:63:80:10 --characteristics
handle = 0x0002, char properties = 0x02, char value handle = 0x0003, uuid = 00002a00-0000-1000-8000-00805f9b34fb
handle = 0x0004, char properties = 0x02, char value handle = 0x0005, uuid = 00002a01-0000-1000-8000-00805f9b34fb
handle = 0x0006, char properties = 0x0a, char value handle = 0x0007, uuid = 00002a02-0000-1000-8000-00805f9b34fb
handle = 0x0008, char properties = 0x02, char value handle = 0x0009, uuid = 00002a04-0000-1000-8000-00805f9b34fb
handle = 0x000d, char properties = 0x22, char value handle = 0x000e, uuid = 00002a05-0000-1000-8000-00805f9b34fb
handle = 0x0011, char properties = 0x1a, char value handle = 0x0012, uuid = 00000001-0000-1000-8000-00805f9b34fb
handle = 0x0014, char properties = 0x02, char value handle = 0x0015, uuid = 00000002-0000-1000-8000-00805f9b34fb
handle = 0x0016, char properties = 0x12, char value handle = 0x0017, uuid = 00000004-0000-1000-8000-00805f9b34fb
handle = 0x0018, char properties = 0x08, char value handle = 0x0019, uuid = 00000007-0000-1000-8000-00805f9b34fb
handle = 0x001a, char properties = 0x08, char value handle = 0x001b, uuid = 00000010-0000-1000-8000-00805f9b34fb
handle = 0x001c, char properties = 0x0a, char value handle = 0x001d, uuid = 00000013-0000-1000-8000-00805f9b34fb
handle = 0x001e, char properties = 0x02, char value handle = 0x001f, uuid = 00000014-0000-1000-8000-00805f9b34fb
handle = 0x0020, char properties = 0x10, char value handle = 0x0021, uuid = 00001001-0000-1000-8000-00805f9b34fb
handle = 0x0024, char properties = 0x0a, char value handle = 0x0025, uuid = 8082caa8-41a6-4021-91c6-56f9b954cc34
handle = 0x0026, char properties = 0x0a, char value handle = 0x0027, uuid = 724249f0-5ec3-4b5f-8804-42345af08651
handle = 0x0028, char properties = 0x02, char value handle = 0x0029, uuid = 6c53db25-47a1-45fe-a022-7c92fb334fd4
handle = 0x002a, char properties = 0x0a, char value handle = 0x002b, uuid = 9d84b9a3-000c-49d8-9183-855b673fda31
handle = 0x002c, char properties = 0x0e, char value handle = 0x002d, uuid = 457871e8-d516-4ca1-9116-57d0b17b9cb2
handle = 0x002e, char properties = 0x12, char value handle = 0x002f, uuid = 5f78df94-798c-46f5-990a-b3eb6a065c88
handle = 0x0032, char properties = 0x0a, char value handle = 0x0033, uuid = 00001a00-0000-1000-8000-00805f9b34fb
handle = 0x0034, char properties = 0x1a, char value handle = 0x0035, uuid = 00001a01-0000-1000-8000-00805f9b34fb
handle = 0x0037, char properties = 0x02, char value handle = 0x0038, uuid = 00001a02-0000-1000-8000-00805f9b34fb
handle = 0x003b, char properties = 0x02, char value handle = 0x003c, uuid = 00001a11-0000-1000-8000-00805f9b34fb
handle = 0x003d, char properties = 0x1a, char value handle = 0x003e, uuid = 00001a10-0000-1000-8000-00805f9b34fb
handle = 0x0040, char properties = 0x02, char value handle = 0x0041, uuid = 00001a12-0000-1000-8000-00805f9b34fb
geo@geohome ~ [0] gatttool -b C4:7C:8D:63:80:10 --characteristics
connect: Device or resource busy (16)
ps ax | grep blue
Leider kenne ich mich mit Cubietruck nicht aus. Interessant wären die installierten Bluetooth packete. Gibt es noch einen Bluetooth Dienst für autoerkennung?
Sollte nichts extra laufen. Ist ein Debian Wheezy.
geo@geohome ~ [0] ps ax | grep blue
472 ? Ss 0:02 /usr/lib/bluetooth/bluetoothd
9313 pts/1 S+ 0:00 grep blue
bluetooth:
Installiert: 5.23-2
Installationskandidat: 5.23-2
Versionstabelle:
*** 5.23-2 0
500 http://ftp.de.debian.org/debian/ stable/main armhf Packages
100 /var/lib/dpkg/status
geo@geohome ~ [0] sudo apt-cache policy bluez
bluez:
Installiert: 5.23-2+b1
Installationskandidat: 5.23-2+b1
Versionstabelle:
*** 5.23-2+b1 0
500 http://ftp.de.debian.org/debian/ stable/main armhf Packages
100 /var/lib/dpkg/status
Ah, hier könnte das Problem liegen. Gab schon öfters Probleme mit Whezzy. Kannst Du updaten?
Hey, mal eine allgemeine Frage.
Muss man die Sensoren erst einmal mit der App verbinden bevor man diese in FHEM nutzen kann?
Ich hatte bisher einen internationalen Sensor laufen welcher in FHEM super funktioniert. Nun hatte ich vom gleichen Produkt bei Ali nochmal 2 bestellt, diesmal aber leider die chinesischen erhalten.
Wenn ich den China-Sensor direkt 10 cm neben meinen Bluethooth-Stick hielt, hat FHEM Daten abrufen können. War dieser jedoch weiter weg (ca. 2m) im selben Raum, konnte FHEM den Sensor nicht mehr finden.
Nun habe ich versucht, den Sensor in die App einzubinden (geht ja auch nur mit 10 cm Abstand zwischen Handy und Sensor). Da kommt dann die Fehlermeldung dass das die China-Version ist und in diese App nicht eingebunden werden kann. Interessanterweise bekommt FHEM ab diesem Zeitpunkt nun aber wieder die Verbindung zum Sensor aufgebaut.
Wie sind da eure Erfahrungen?
Zitat von: CoolTux am 09 Mai 2017, 16:30:17
Kannst Du updaten?
Theoretisch schon, praktisch bekomme ich das zeitlich jetzt nicht hin. Ist aber auf meiner TODO.
Ich habe mal in das Modul ein paar sleep's eingebaut.
2017.05.10 09:09:30 4: Sub XiaomiFlowerSens_Run (fs_eg_Palme) - start blocking call
2017.05.10 09:09:30 4: Sub XiaomiFlowerSens_BlockingRun (fs_eg_Palme) - Running nonBlocking
2017.05.10 09:09:30 5: Sub XiaomiFlowerSens_stateRequestTimer (fs_eg_Palme) - Request Timer wird aufgerufen
2017.05.10 09:09:30 5: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - WFR: 1
2017.05.10 09:09:35 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - write data to local host
2017.05.10 09:09:35 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charWrite loop 1
2017.05.10 09:09:35 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - charWrite wresp: Characteristic value was written successfully
2017.05.10 09:09:35 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - run gatttool
2017.05.10 09:09:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call data from local host
2017.05.10 09:09:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call gatttool charRead loop 1
2017.05.10 09:09:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.05.10 09:09:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - processing gatttool response. sensData: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.05.10 09:09:50 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - call firm/batt data from host local host
2017.05.10 09:09:50 4: Sub XiaomiFlowerSens (fs_eg_Palme) - call gatttool readBatFw loop 1
2017.05.10 09:09:50 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - processing gatttool response. batFwData: 55 15 32 2e 37 2e 30
2017.05.10 09:09:50 4: Sub XiaomiFlowerSens_BlockingRun (fs_eg_Palme) - Processing response data: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Sieht ja eigentlich ganz gut aus oder? Aber in FHEM steht charWrite failed.
@ToM_ToM ich habe anscheinend auch die China Teile erwischt, vielleicht liegt ja mein Problem daran. Siehe Beiträge unmittelbar vor deinem Beitrag. Ich bekomme Sie aber auch nicht zum laufen wenn ich mich kurz vorher mit den Apps verbinde. Was steht bei dir in der Log mit Debug 5? Das mit der Entfernung kann ich aber nicht bestätigen.
2017.05.10 09:09:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.05.10 09:09:43 4: Sub XiaomiFlowerSens_callGatttool (fs_eg_Palme) - processing gatttool response. sensData: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Das hier ist das entscheidende. Er sagt zwar das das Schreiben geklappt hat, aber anhand der empfangenden Daten kann ich Dir sagen das es nicht geklappt hat.
aa bb cc dd ee ff
Wie war das noch mal, eine Verbindung mit der App klappt aber?!
Zitat von: Phill am 09 Mai 2017, 16:05:33
Ist ein Debian Wheezy.
Ich hatte mir seinerzeit auch eins abgebrochen, bis blueZ endlich richtig lief.
Schlussendlich hab ich / musste ich auf Jessie updaten. Dabei hab ich mir als Linux-Noob einfach alle erforderlichen Schritte für künftige Installationen aufgeschrieben.
Vor einem Monat hab ich meine RPi Zero W bekommen. Dort ist ja bekanntlich ein BT Chip onboard.
Was soll ich sagen. Jessie installiert, aktuelles fhem Image drauf, Update und ein paar Rechtevergaben . . .
In knapp einer Stunde war das Dingelchen am rennen, ohne das es jeh an einem Monitor oder Tastatur angeschlossen war.
fhem.cfg drauf und alle FlowerSens sofort online. Fhem2Fhem Verbindung und gut war's.
In Summe ca. ne Std+- und 15 Euro für einen RPiZeroW (jenach Enfernung der Pflanzen halt mehrere Zeros, die Dinger können ja in Zukunft immer noch Zusatzaufgaben übernehmen)
Zitat von: ToM_ToM am 10 Mai 2017, 08:03:06
Muss man die Sensoren erst einmal mit der App verbinden bevor man diese in FHEM nutzen kann?
Die FlowerSensoren les ich, sobald sie in der Post sind, per Handy mit einen "BLE Scanner" aus. So hab ich in ein paar Sekunden die MAC-Adresse. Dabei ist es völlig egal, ob International oder ChinaVersion. Hier laufen z.Z. 18 Stk im Mischbetrieb, der Rest liegt mit MAC-Beschriftung und Nummeriert bereit und wartet auf den Einsatz. ;D
Zitat@ToM_ToM ich habe anscheinend auch die China Teile erwischt, vielleicht liegt ja mein Problem daran. Siehe Beiträge unmittelbar vor deinem Beitrag. Ich bekomme Sie aber auch nicht zum laufen wenn ich mich kurz vorher mit den Apps verbinde. Was steht bei dir in der Log mit Debug 5? Das mit der Entfernung kann ich aber nicht bestätigen.
Hi Phil, ich denke nicht dass es an China oder International liegt. Meine Frage war nur ob man die durch die Verbindung mit der App erst mal irgendwie aktivieren muss bevor man die in FHEM über eine Entfernung > 10cm verwenden kann.
Das Problem was du hast, sieht mir sehr stark nach nem Kernel-Problem aus. Das hatte ich so auch und habe da in Summe locker 40 Stunden verbraten (inkl. Neuinstallationen), verschiedene Bluetooth-Dongle usw. Letztendlich half bei mir nur der Umzug auf ein neues System mit einem neueren Kernel.
Bei mir war es vom Lemaker Jessie zu Armbian Jessie, da ich nen BananaPi nutze.
Also nach unsere Diskussion habe ich es jetzt so gelöst.
Ich habe ja jetzt 2 bluetooth dongles. :) Und da ich sowieso noch 2 Raspis im Haus laufen habe, wurde einer als Xiaomi Empfangsstation missbraucht. FHEM2FHEM und jetzt gehts. Danke für eure Unterstützung.
;D
Problem erschlagen. hihi
warum fhem2fhem? das modul kann doch remote per ssh auf den anderen raspberry zugreifen.
Zitat von: justme1968 am 30 April 2017, 18:54:14
zum beispiel hier: https://www.amazon.de/gp/product/B06XKXFFNZ
Mittlerweile 15€
Gesendet von meinem Leap mit Tapatalk
Hi,
wie weit kann denn der Xiaomi Sensor funken?
Ich habe einen BT-Stick Class 1 mit 100m Reichweite, kann der Xiomi das auch? Mein weitester potentieller Messpunkt liegt ca 30-40m im Freifeld entfernt
Hama Bluetooth USB Adapter (Bluetooth 4.0 C1 + EDR, Reichweite 100 m, energiesparend) schwarz (https://www.amazon.de/gp/product/B014UL2926)
Zitatwie weit kann denn der Xiaomi Sensor funken?
Ca. 10 m im Freien. In der Wohnung kann es duch Wände durch schon schwierig werden.
VG, Thomas
Frage zu Post #642:
...das modul kann doch remote per ssh auf den anderen raspberry zugreifen.
Kann man auch mehrere remote Raspberry per SSH definieren/abfragen (á la 'collectord')? Oder muss ich jeden Sensor genau einem (remote) Raspberry zuordnen? Manchmal weiss man ja nicht genau, welcher Raspberry 'näher dran ist' je nach Infrastruktur/Aufstellung/Wandstärke/etc. Mit FHEM2FHEM zu jedem remote kann man das ja elegant machen, sebst wenn mehrere remote Raspberry einen Sensor empfangen, weil das device auf der Hauptinstanz ja nur ein update bei gültigen Daten bekommt.
Es geht nur ssh zu immer einem Endpunkt (Raspi)
Cooltux hat einen bt mit bis zu 60m im Freien, wie ist da die maximale Reichweite der xiaomi?
Gesendet von meinem Leap mit Tapatalk
Hallo Tobias,
Meine 60m im Freien stand auf der Verpackung. Ich musste/habe das nie verifiziert.
Grüße
Achso,ich dachte du hast mal die Grenzbereich geprüft
Gesendet von meinem Leap mit Tapatalk
Sorry da hatte ich mich falsch ausgedrückt. Glaube das war auch nur weil ich nach meinem Stick gefragt wurde und um ihn besser zu beschreiben. Bin mir aber nicht mehr sicher.
Grüße
Ich habe hier schon viel gelesen, aber ich bin mir immer noch nicht sicher ob ich auch die chinesische Variante kaufen kann oder ob es unbedingt die internationale version sein muss. Was ist daran eigentlich der Unterschied?
Wer kann hier Licht ins Dunkel bringen?
Die China Variante kann man nur schlecht updaten mit der mi home app. Unter android geht's bei mir gar nicht, sondern nur mit der ios Variante. Die zwei internationalen die ich habe, lassen sich ganz einfach updaten und auslesen mit einer anderen app. Wenn der Preisunterschied nicht riesig ist, würde ich die internationale Version nehmen.
weiß jemand was das update ändert?
meine laufend ohne jemals kontakt zu etwas anderem als fhem gehabt zu haben völlig problemlos.
Habe jetzt 4 Stück internationale für je 15€ bei AliExpress geordert
Hier gibts noch welche für 12 Euro..
http://www.tomtop.com/de/xiaomi-accessories-48/p-pa3850.html (http://www.tomtop.com/de/xiaomi-accessories-48/p-pa3850.html)
Hab ich auch gesehen, aber ist das nicht die China Variante??
Gesendet von meinem Leap mit Tapatalk
Ich hatte mir auch 2 Stück für je €10,11 hier (https://de.aliexpress.com/item/Newest-Original-Xiaomi-Flora-Monitor-Digital-Plants-Flowers-Soil-Water-Light-Tester-Sensor-Monitor-for-Aquarium/32685750372.html) bei AliExpress bestellt. Jetzt hängen sie beim Zoll im 65km entfernten Hauptzollamt, weil der Versender wohl außen an der Sendung keine Angaben angebracht hat. >:(
Bisher hatte ich da auch immer Glück, aber so ist die Ersparnis natürlich futsch. Jetzt kann ich entweder 130km fahren (und dafür auch noch früher Feierabend machen), der Post €28,50 hinterherwerfen oder die Annahme verweigern und die 20€ abschreiben. ::)
Leute, wenn ihr die Teile sowieso nur mit FHEM verwenden wollt, ist es egal ob International oder China.
Die Bluetooth-Daten werden nicht in chinesischen Schriftzeichen übertragen - also alles gut. ;D
Wenn nur FHEM, dann spart euch das Geld und nehmt die Chinakracher!
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.
Weiß jemand was sich von FW zu FW geändert hat?
Gibt es irgendwo ein ChangeLog??
Danke, Joachim
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
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.
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
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 ?
ein einfacher raspberry zero mit bluetooth und wlan tut das gleiche. ganz ohne hack und ohne das etwas neu entwickelt werden muss.
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.
und wie bekommen die handys die man dafür überall aufstellen müsste strom?
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.
wenn die dinger sowieso schon an der wand hängen ist das natürlich etwas anderes :)
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 :)
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.
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 ; ) )
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
Ich gehe davon aus, dass über die Leitfähigkeit im Boden die Düngerkapazität bestimmt wird - und diese wurd ja zwangsläufig ohne Feuchtigkeit ungenau.
Daher glaube ich, dass es am sinnvollsten ist, den Düngergehalt nur anzumarkern wenn der Feuchtigkeitsgehalt stimmt.
Zitat
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.
So, jetzt wird es spannend ;)
Es gibt ja die Site xiaomi-mi.com, wo u.a. auch der Sensor als "Xiaomi Huahuacaocao Flower Care Smart Monitor" beschrieben wird, u.a. mit
Manufacturer: Xiaomi
Obwohl schon aus dem Titel hervorgeht, dass das Ding wohl von der Fa. Huahuacaocao hergestellt wird. Aber egal. Xiaomi wird es schon betreuen. Dachte ich.
Also schrieb ich mutig an service.global@xiaomi.com mit Link auf die o.a. Site:
Zitat
Hello,
please provide information or a link to information about the differences in firmware versions (ChangeLog) of Xiaomi Flower Care Smart Monitor
https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/
Thank You and Regards,
Heute kam die etwas verwirrende Antwort:
Zitat
Hi Uwe,
Greetings from Xiaomi!
Sincerely accept my apology for the delay in response.
Thank you for showing your faith and interest towards Xiaomi.
I understand that you wish to buy a Xiaomi phone and you are looking forward to its availability.
Nö, ich will kein Handy von euch, da steht klar was anderes in der Anfrage...
Zitat
We are sorry to inform you that as of now we are not selling the product globally so we do not have any link currently available for you reference.
Na, das scheint sich wenigstens auf meine Anfrage, auf den Sensor bzw. seine FW zu beziehen.
Wenn sie das Dings nicht global verticken, wieso gibt es dann eine chinesische und eine internationale Version?
Zitat
Also the link provided by you is not our official link, so we cannot assure about the authenticity of the product.
Please visit our website for more information on availability of products: http://www.mi.com/en/
Yo, auf dieser Site ist der Sensor tatsächlich nicht zu finden.
Auch nicht mit einer Google-Suche.
Zitat
Please get in touch with us if you need any further assistance.
Regards,
Aryan
Xiaomi Customer Support
Mal sehen, was Aryan schreibt, wenn ich nachhake.
<BreitGrins />
Hat schon jemand die History aus dem Sensor auslesen können? Wäre auch ein Weg um die Helligkeit im Tagesverlauf zu bekommen. Die App holt sich die Werte wenn man auf den Sensor geht.
philipp
Wie das funktioniert kann man wahrscheinlich relativ einfach sniffen. Das Hauptproblem dürfte aber sein, dass man dann Rückwirkend die Readings aktualisieren bzw. Events auslösen müsste...
Hi,
ich habe endlich einen BT Stick der auch ein lescan kann ;) Dann noch libjson-perl installiert und gatttool nach /usr/bin verschoben
Allerdings bekomme ich nun folgende Fehler im Log die ich nicht mehr selbst auflösen kann. Hab ich etwas vergessen zu installieren?
2017.06.20 17:45:19 4: Sub XiaomiFlowerSens_Run (Pflanze1) - start blocking call
2017.06.20 17:45:19 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze1) - Running nonBlocking
2017.06.20 17:45:20 5: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - WFR: 1
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - write data to local host
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charWrite loop 1
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - charWrite wresp: connect: Connection refused (111)
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - write data to local host
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charWrite loop 2
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - charWrite wresp: connect: Connection refused (111)
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - write data to local host
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charWrite loop 3
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - charWrite wresp: connect: Connection refused (111)
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - write data to local host
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charWrite loop 4
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - charWrite wresp: connect: Connection refused (111)
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - write data to local host
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charWrite loop 5
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - charWrite wresp: connect: Connection refused (111)
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - write data to local host
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charWrite loop 6
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - charWrite wresp: connect: Connection refused (111)
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - write data to local host
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charWrite loop 7
2017.06.20 17:45:20 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - charWrite wresp: connect: Connection refused (111)
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - write data to local host
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charWrite loop 8
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - charWrite wresp: connect: Connection refused (111)
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - write data to local host
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charWrite loop 9
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - charWrite wresp: connect: Connection refused (111)
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - write data to local host
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charWrite loop 10
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - charWrite wresp: connect: Connection refused (111)
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - run gatttool
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call data from local host
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charRead loop 1
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call data from local host
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charRead loop 2
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call data from local host
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charRead loop 3
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call data from local host
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charRead loop 4
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call data from local host
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charRead loop 5
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call data from local host
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charRead loop 6
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call data from local host
2017.06.20 17:45:21 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charRead loop 7
2017.06.20 17:45:22 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call data from local host
2017.06.20 17:45:22 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charRead loop 8
2017.06.20 17:45:22 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call data from local host
2017.06.20 17:45:22 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charRead loop 9
2017.06.20 17:45:22 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call data from local host
2017.06.20 17:45:22 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - call gatttool charRead loop 10
2017.06.20 17:45:22 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - processing gatttool response. sensData[0]: connect
2017.06.20 17:45:22 4: Sub XiaomiFlowerSens_callGatttool (Pflanze1) - processing gatttool response. sensData: Connection refused (111)
2017.06.20 17:45:22 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze1) - Processing response data: Connection refused (111)
Hallo Tobias,
Da fehlt nichts. Kann es sein das Du noch kein Debian Jessie hast? Wäre so ein typisches Anzeichen.
Grüße
korrekt , ich habe ein wheezy aber mit selbstkompiliertem bluez in version 5.41
UNd nun?
EDIT: hmmm...
root@raspberrypi:/home/pi# gatttool -b C4:7C:8D:62:8E:04 --char-read --handle=0x35
connect: Connection refused (111)
root@raspberrypi:/home/pi#
Irgendwie gibt es mit Wheezy echte Probleme. Liegt wohl mitunter auch am BT Stack des Kernels. Leider habe ich sonst weiter keinerlei Erfahrung. Mein einziger Rat, updaten
https://www.datenreise.de/raspberry-pi-raspbian-linux-wheezy-jessie-upgrade/ (https://www.datenreise.de/raspberry-pi-raspbian-linux-wheezy-jessie-upgrade/)
boa, das UPdate auf jessie hat ziemlich lang gedauert, aber nun funktioniert es und ich habe Werte in FHEM, danke!! :)
https://www.elektronik-kompendium.de/sites/raspberry-pi/2005051.htm
Ja natürlich dauert es lang. Es können bis zu 700 Pakete runter geladen und installiert werden.
Aber schön das es nun klappt.
Viel Spaß damit.
rückwirkend readings erzeugen geht im prinzip. man muss nur darauf achten das nicht mehrere devices ins gleiche file loggen.
wie das geht ist z.b. im netatmo und withings modul zu sehen.
Zitat von: justme1968 am 21 Juni 2017, 10:59:57
rückwirkend readings erzeugen geht im prinzip. man muss nur darauf achten das nicht mehrere devices ins gleiche file loggen.
wie das geht ist z.b. im netatmo und withings modul zu sehen.
??? ;D
Falscher Thread oder fehlt mir hier nur der Bezug zu Deiner Antwort?
Grüße
-> https://forum.fhem.de/index.php/topic,60914.msg648761.html#msg648761 (https://forum.fhem.de/index.php/topic,60914.msg648761.html#msg648761)
Jetzt können wir noch hoffen, dass der "Smart Pot" ein Reinfall ist und Xiaomi wieder die Produktionshähne aufdreht um den Preis wieder auf 7e zu senken ;)
Zitat von: justme1968 am 21 Juni 2017, 11:07:04
-> https://forum.fhem.de/index.php/topic,60914.msg648761.html#msg648761 (https://forum.fhem.de/index.php/topic,60914.msg648761.html#msg648761)
Ah verstehe. Vielen Dank für den Tipp Andre, sollte es aktuell werden schaue ich es mir sehr gerne an.
Grüße
Ich habe jetzt die Erde rund um einen Sensor mit einem krug Wasser geflutet und der Wert ist 32, was habt ihr denn so für werte bei der Boden Feuchtigkeit?
Zwischen 25 und 70. Das Teil macht nur Sinn ich Pflanzenerde oder generell Erde. Nicht in Seramis oder so ein Zeug.
Da muss ich wiedersprechen. In Seramis ist der Wert selbst tatsächlich irgend ein Zufallswert aber dafür konstant solange wie Wasser vorhanden ist. Sobald es aufgebraucht ist, sinkt der Wert um einige Prozent. Das reicht aus, um abzuleiten ob man Gießen muss oder nicht. Ich hab die Dinger in 3 Seramis Töpfen laufen und meine Giessanzeige funktioniert einwandfrei.
seit 26.6. gibt es eine neue Firmware v3.1.4
1. Store RTC every 20 minutes
2. Cancelled the operation of one-hour data storage after power on
3. Store RTC and history data after OTA upgrade
4. Revised monitoring of Soil Humidity
5. Modified the calibration of battery power
Zitat von: Philipp am 27 Juni 2017, 07:55:35
seit 26.6. gibt es eine neue Firmware v3.1.4
1. Store RTC every 20 minutes
2. Cancelled the operation of one-hour data storage after power on
3. Store RTC and history data after OTA upgrade
4. Revised monitoring of Soil Humidity
5. Modified the calibration of battery power
Vielen Dank für die Info. Interessant wäre auch ob das Modul noch mit der neuen Firmware reibungslos läuft ;D
Grüße
kann ich später testen, muss nur den abstand zwischen pi und sensor ein wenig verringern.
So, schnell den Sensor aus dem Topf genommen und in Nähe gebracht. Werte kommen und sind plausibel bzw. im selben Bereich wie in der App.
Ich danke Dir.
Grüße
Hi,
in schwerem klatsch-nassem Mutterboden bekomme einen Wert von 30.
Was mir aber auffällt, ich habe ein INtervall von 300 eingestellt, trotzdem kommen die werte irgendwann zwischen 5-15minuten und nicht wie erwartet sauber alle 5 minuten. Ist das bei euch auch so? Kann man da noch was optimieren?
2017-07-08 19:45:33 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 19:55:04 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 20:04:59 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 20:14:21 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-08 20:19:56 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 20:26:58 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 20:32:46 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-08 20:39:29 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 20:45:48 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 20:54:19 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:01:56 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:10:33 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:20:27 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:30:27 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:37:14 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:50:09 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:56:03 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 22:04:57 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 22:13:27 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 22:22:08 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-08 22:28:19 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 22:35:04 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-08 22:44:05 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 22:49:53 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 22:55:55 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 23:03:57 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 23:12:55 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 23:22:36 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 23:31:09 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-08 23:37:16 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 23:43:17 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-08 23:49:24 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 23:55:36 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:03:38 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:11:24 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:18:36 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:24:42 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:31:07 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 00:38:15 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:46:48 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:56:09 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:01:21 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:06:33 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:14:48 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:25:19 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:33:25 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 01:42:03 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:48:49 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:57:00 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 02:05:47 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 02:11:13 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 02:16:51 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 02:23:33 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 02:40:38 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 02:47:08 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 02:53:54 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 03:03:08 XiaomiFlowerSens Pflanze1 moisture: 30
2017-07-09 03:19:36 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 03:29:53 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 03:38:14 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 03:45:54 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 03:53:48 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:02:27 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:12:12 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:17:56 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:23:28 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:32:56 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:41:41 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:48:40 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:55:20 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:05:14 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:10:35 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:16:01 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:23:39 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:33:18 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:39:02 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 05:48:39 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:57:44 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 06:03:28 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 06:09:33 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 06:18:56 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 06:25:22 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 06:33:51 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 06:43:34 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 06:53:22 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 07:01:12 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 07:07:08 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 07:14:42 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 07:22:12 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 07:30:46 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 07:36:26 XiaomiFlowerSens Pflanze1 moisture: 30
2017-07-09 07:43:41 XiaomiFlowerSens Pflanze1 moisture: 30
Zitat von: Tobias am 09 Juli 2017, 07:49:57
Hi,
in schwerem klatsch-nassem Mutterboden bekomme einen Wert von 30.
Was mir aber auffällt, ich habe ein INtervall von 300 eingestellt, trotzdem kommen die werte irgendwann zwischen 5-15minuten und nicht wie erwartet sauber alle 5 minuten. Ist das bei euch auch so? Kann man da noch was optimieren?
2017-07-08 19:45:33 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 19:55:04 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 20:04:59 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 20:14:21 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-08 20:19:56 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 20:26:58 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 20:32:46 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-08 20:39:29 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 20:45:48 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 20:54:19 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:01:56 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:10:33 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:20:27 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:30:27 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:37:14 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:50:09 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 21:56:03 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 22:04:57 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 22:13:27 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 22:22:08 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-08 22:28:19 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 22:35:04 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-08 22:44:05 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 22:49:53 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 22:55:55 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 23:03:57 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 23:12:55 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 23:22:36 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 23:31:09 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-08 23:37:16 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 23:43:17 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-08 23:49:24 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-08 23:55:36 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:03:38 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:11:24 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:18:36 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:24:42 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:31:07 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 00:38:15 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:46:48 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 00:56:09 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:01:21 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:06:33 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:14:48 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:25:19 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:33:25 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 01:42:03 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:48:49 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 01:57:00 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 02:05:47 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 02:11:13 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 02:16:51 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 02:23:33 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 02:40:38 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 02:47:08 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 02:53:54 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 03:03:08 XiaomiFlowerSens Pflanze1 moisture: 30
2017-07-09 03:19:36 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 03:29:53 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 03:38:14 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 03:45:54 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 03:53:48 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:02:27 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:12:12 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:17:56 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:23:28 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:32:56 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:41:41 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:48:40 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 04:55:20 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:05:14 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:10:35 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:16:01 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:23:39 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:33:18 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:39:02 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 05:48:39 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 05:57:44 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 06:03:28 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 06:09:33 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 06:18:56 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 06:25:22 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 06:33:51 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 06:43:34 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 06:53:22 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 07:01:12 XiaomiFlowerSens Pflanze1 moisture: 28
2017-07-09 07:07:08 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 07:14:42 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 07:22:12 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 07:30:46 XiaomiFlowerSens Pflanze1 moisture: 29
2017-07-09 07:36:26 XiaomiFlowerSens Pflanze1 moisture: 30
2017-07-09 07:43:41 XiaomiFlowerSens Pflanze1 moisture: 30
Das ist bereits optimiert ;D
Das soll nämlich genau so sein. Work bei design wie man so schön sagt.
Dir kann ich es ja sagen, schau einfach in den Code dann siehst Du warum das so ist.
Grüße
ok, gefunden:
InternalTimer( gettimeofday()+$hash->{INTERVAL}+int(rand(300)), "XiaomiFlowerSens_stateRequestTimer", $hash, 1 );
aber warum hast du noch ein Zufallsintervall von 0-5min dazuaddiert? Den Grund habe ich im Code nicht gefunden ;)
ICh kann mir nur vorstellen, das nach einem FHEM NEustart nicht alle Sticks gleichzeitig abgefragt werden dürfen, oder?
Zitat von: Tobias am 09 Juli 2017, 08:27:26
ok, gefunden:
InternalTimer( gettimeofday()+$hash->{INTERVAL}+int(rand(300)), "XiaomiFlowerSens_stateRequestTimer", $hash, 1 );
aber warum hast du noch ein Zufallsintervall von 0-5min dazuaddiert? Den Grund habe ich im Code nicht gefunden ;)
ICh kann mir nur vorstellen, das nach einem FHEM NEustart nicht alle Sticks gleichzeitig abgefragt werden dürfen, oder?
Richtig. Und da nach einem Neustart auch die Zeiten identisch sind für den InternalTimer. Bei 7 oder sogar 15 Sensoren gibt das nur Probleme. Aber ich gebe Dir Recht, ich müsste das Mal im Code oder wenigstens in der Commandref festhalten.
Ah, ok...
Ich dachte das Random bezieht sich nur auf den internen Timer bei Define ohne das Attribut...
...da hab ich wohl nicht genau genug gekuckt... ;)
Habe meine mittels des Attributes "entzerrt"...
...hätte ich mir wohl sparen können...
Gruß, Joachim
Zitat von: MadMax-FHEM am 09 Juli 2017, 09:25:48
Ah, ok...
Ich dachte das Random bezieht sich nur auf den internen Timer bei Define ohne das Attribut...
...da hab ich wohl nicht genau genug gekuckt... ;)
Habe meine mittels des Attributes "entzerrt"...
...hätte ich mir wohl sparen können...
Gruß, Joachim
Jepp, kannst Du gerne wieder entfernen ;D
Ich halte das Mal in der Commandref fest.
Hinweis: Bei mir blieb in der Flower Care App mit FlyVPN die Version auf 2.9.4 stehen. Erst nach Abschluss der Synchronisierung wurde mir die 3.1.4 angeboten.
Hey, ich habe gerade mal meinen Flower Sensor (internation version) auf Version 3.1.4 aktualisiert.
Nun ist der Status allerdings nur noch "unreachable".
Verbose 5 liefert folgendes:
2017.07.18 11:23:43 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 8327
2017.07.18 11:23:43 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 8336
2017.07.18 11:24:12 4: Sub XiaomiFlowerSens_Run (Pflanze_01) - start blocking call
2017.07.18 11:24:12 4: Sub XiaomiFlowerSens_BlockingRun (Pflanze_01) - Running nonBlocking
2017.07.18 11:24:12 5: Sub XiaomiFlowerSens_callGatttool (Pflanze_01) - WFR: 1
2017.07.18 11:24:42 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 8409
2017.07.18 11:24:42 3: (Pflanze_01) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
Ist das was bekannt, dass es mit der Version Probleme gibt?
VG, Thomas
Mir ist da diesbezüglich nichts bekannt. Bekommst Du das auch wenn der Sensor direkt beim BT Dongle liegt?
ZitatMir ist da diesbezüglich nichts bekannt. Bekommst Du das auch wenn der Sensor direkt beim BT Dongle liegt?
Ja, ich habe den Topf dann extra daneben gestellt und auch nochmal probiert. Auch schon Pi neu gestartet. Die anderen Sensoren mit der alten Firmware laufen weiterhin problemlos.
Habe den Sensor jetzt von ca. 50cm Entfernung nochmal direkt auf 10 cm Entfernung dichter geholt. Nun geht's. :o
Und jetzt geht's auch wieder von größerer Entfernung. :)
Kennt noch jemand ein VPN-Tool welches auch mit China-Festland funktioniert und nicht sämtliche Berechtigungen von meinem Handy braucht?
Die kostenlosen Server von FlyVPN funktionieren nicht.
CyberGhost und TunnelBear bieten leider China nicht an.
Würde meine 4 China-Sensoren auch gerne noch updaten. :)
Was funktioniert bei flyvpn nicht? Der Service ist nur 20 min kostenlos nutzbar. Entweder pro Tag oder Installation. Eventuell später probieren oder noch mal installieren.
Es gibt nur 4 kostenlose China-Server zu denen aber keine Verbindung aufgebaut werden kann.
Habe schon mehrfach versucht. Naja muss ich wohl mal die Tage abwarten ob ein brauchbarer Server hinzukommt...
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:
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.
Kann es sein das es FlyVPN nicht mehr für Android gibt? Im Store nicht gelistet und wenn man über Google Suche was findet und den Storelink anklickt sagt er, nicht gefunden.
ZitatKann es sein das es FlyVPN nicht mehr für Android gibt? Im Store nicht gelistet und wenn man über Google Suche was findet und den Storelink anklickt sagt er, nicht gefunden.
Tatsächlich. Gut, dass ich am Dienstag noch das Update gemacht habe. Wenn ich FlyVPN starte, gibt es bei mir auch keine China-Server mehr. Und die Flower Care Sensoren erlauben nur chinesisches Festland.
Somit würde es nicht mal was nützen, dir die APK zur Verfügung zu stellen.
VG, Thomas
So ein Mist. Habe mal 2 andere VPN Apps aus probiert, hat aber nicht geklappt.
Wie hast Du das mit GPS gemacht, sowohl den Berechtigungentzug als auch das deaktivieren von GPS wird von der App angemeckert (also Flower Care)
Grüße
Zitat von: CoolTux am 21 Juli 2017, 10:58:46
So ein Mist. Habe mal 2 andere VPN Apps aus probiert, hat aber nicht geklappt.
Wie hast Du das mit GPS gemacht, sowohl den Berechtigungentzug als auch das deaktivieren von GPS wird von der App angemeckert (also Flower Care)
Grüße
Hierfür habe ich nen GPS Emulator.
Der heißt auch so im App Store. Hatte vorher FakeGPS, aber das hat meinen Akku leer gesaugt. Musst nur in den Entwickleroptionen des Handys freischalten und dann sagst dem GPS Emulator dass du gerade in Peking bist. ;)
Gesendet von meinem SM-G930F mit Tapatalk
Gute Nachrichten. Habe es hin bekommen. Einfach SuperVPN genommen und nen China Server. GPS wurde erst gar nicht gefragt. Aber bisschen Geduld ist nötig.
Grüße
Ich habe meine mit original firmware. Bringt denn ein update effektiv überhaupt etwas? Lohnt sich der Aufwand?
Gesendet von meinem Leap mit Tapatalk
Hallo,
hatte mit einem, neu gekauften Sensor Probleme. Da dachte ich mir, vielleicht hilft das Softwareupdate ja.
Allerdings sind die Sensoren "unreachable", wenn diese einmal mit der iPhone App verbunden waren. Hat sowas noch jemand beobachtet?
Habe das jetzt mit 3 Sensoren ausprobiert, immer das selbe Spiel. Sobald die einmal in der App eingebunden waren, kann nicht mehr drauf zugegriffen werden. Weder von der App, noch durch FHEM :-(
Grüße, Tobias
Hallo Tobias,
Ich habe keinerlei Probleme was das an geht. Weder die China noch die Europe Teile. Verbinde mich mit App und danach wieder mit FHEM.
Grüße
Leon
Hi,
keine Ahnung was da passiert ist. Hab jetzt die älteren Sensoren wieder im Griff (Batterie raus und wieder rein). Allerdings bleibt das Problem mit einem neuen Sensor: per BT gibt der Sensor nur Nullen aus.
Hat jemand eine Idee, was das sein könnte? die restlichen 4 Sensoren laufen ohne Probleme.
List des problematischen Sensors
Internals:
BTMAC C4:7C:8D:62:44:E1
CFGFN
DEF C4:7C:8D:62:44:E1
INTERVAL 300
NAME Flower1
NR 24019
STATE Moisture:moisture Fertility:fertility Lux:lux Batt:batteryLevel
TYPE XiaomiFlowerSens
VERSION 1.0.1
Readings:
2017-07-30 17:52:23 firmware
2017-07-30 20:03:11 state corrupted data
Helper:
Attributes:
event-min-interval .*:900
event-on-change-reading .*
interval 300
minMoisture 60
room FlowerSens
sshHost 192.168.178.44
stateFormat Moisture:moisture Fertility:fertility Lux:lux Batt:batteryLevel
verbose 5
Die Logausgabe:
2017.07.30 19:34:52.987 4: Sub XiaomiFlowerSens_Run (Flower1) - start blocking call
2017.07.30 19:34:53.001 4: Sub XiaomiFlowerSens_BlockingRun (Flower1) - Running nonBlocking
2017.07.30 19:34:52.999 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower1) - Request Timer wird aufgerufen
2017.07.30 19:35:00.980 5: Sub XiaomiFlowerSens_callGatttool (Flower1) - WFR: 1
2017.07.30 19:35:02.023 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - write data to host 192.168.178.44
2017.07.30 19:35:02.023 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call gatttool charWrite loop 1
2017.07.30 19:35:02.023 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - charWrite wresp: Characteristic value was written successfully
2017.07.30 19:35:02.023 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - run gatttool
2017.07.30 19:35:07.370 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call data from host 192.168.178.44
2017.07.30 19:35:07.370 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call gatttool charRead loop 1
2017.07.30 19:35:08.813 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call data from host 192.168.178.44
2017.07.30 19:35:08.813 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call gatttool charRead loop 2
2017.07.30 19:35:08.814 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.07.30 19:35:08.814 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - processing gatttool response. sensData: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2017.07.30 19:35:09.260 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call firm/batt data from host 192.168.178.44
2017.07.30 19:35:09.261 4: Sub XiaomiFlowerSens (Flower1) - call gatttool readBatFw loop 1
2017.07.30 19:35:09.261 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - processing gatttool response. batFwData: 64 10 32 2e 36 2e 32
2017.07.30 19:35:09.261 4: Sub XiaomiFlowerSens_BlockingRun (Flower1) - Processing response data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2017.07.30 19:41:01.004 4: Sub XiaomiFlowerSens_Run (Flower1) - start blocking call
2017.07.30 19:41:01.009 4: Sub XiaomiFlowerSens_BlockingRun (Flower1) - Running nonBlocking
2017.07.30 19:41:01.013 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower1) - Request Timer wird aufgerufen
2017.07.30 19:41:03.636 5: Sub XiaomiFlowerSens_callGatttool (Flower1) - WFR: 1
2017.07.30 19:41:05.464 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - write data to host 192.168.178.44
2017.07.30 19:41:05.464 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call gatttool charWrite loop 1
2017.07.30 19:41:05.464 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - charWrite wresp: Characteristic value was written successfully
2017.07.30 19:41:05.464 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - run gatttool
2017.07.30 19:41:06.262 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call data from host 192.168.178.44
2017.07.30 19:41:06.262 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call gatttool charRead loop 1
2017.07.30 19:41:06.262 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.07.30 19:41:06.263 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - processing gatttool response. sensData: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2017.07.30 19:41:06.973 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call firm/batt data from host 192.168.178.44
2017.07.30 19:41:06.973 4: Sub XiaomiFlowerSens (Flower1) - call gatttool readBatFw loop 1
2017.07.30 19:41:06.973 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - processing gatttool response. batFwData: 64 10 32 2e 36 2e 32
2017.07.30 19:41:06.973 4: Sub XiaomiFlowerSens_BlockingRun (Flower1) - Processing response data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2017.07.30 19:49:36.024 4: Sub XiaomiFlowerSens_Run (Flower1) - start blocking call
2017.07.30 19:49:36.030 4: Sub XiaomiFlowerSens_BlockingRun (Flower1) - Running nonBlocking
2017.07.30 19:49:36.032 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower1) - Request Timer wird aufgerufen
2017.07.30 19:49:37.546 5: Sub XiaomiFlowerSens_callGatttool (Flower1) - WFR: 1
2017.07.30 19:49:42.057 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - write data to host 192.168.178.44
2017.07.30 19:49:42.057 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call gatttool charWrite loop 1
2017.07.30 19:49:42.057 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - charWrite wresp: Characteristic value was written successfully
2017.07.30 19:49:42.057 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - run gatttool
2017.07.30 19:49:42.624 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call data from host 192.168.178.44
2017.07.30 19:49:42.624 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call gatttool charRead loop 1
2017.07.30 19:49:42.624 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.07.30 19:49:42.624 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - processing gatttool response. sensData: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2017.07.30 19:49:43.074 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call firm/batt data from host 192.168.178.44
2017.07.30 19:49:43.075 4: Sub XiaomiFlowerSens (Flower1) - call gatttool readBatFw loop 1
2017.07.30 19:49:43.075 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - processing gatttool response. batFwData: 64 10 32 2e 36 2e 32
2017.07.30 19:49:43.075 4: Sub XiaomiFlowerSens_BlockingRun (Flower1) - Processing response data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2017.07.30 19:56:56.048 4: Sub XiaomiFlowerSens_Run (Flower1) - start blocking call
2017.07.30 19:56:56.065 4: Sub XiaomiFlowerSens_BlockingRun (Flower1) - Running nonBlocking
2017.07.30 19:56:56.072 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower1) - Request Timer wird aufgerufen
2017.07.30 19:57:00.654 5: Sub XiaomiFlowerSens_callGatttool (Flower1) - WFR: 1
2017.07.30 19:57:02.500 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - write data to host 192.168.178.44
2017.07.30 19:57:02.501 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call gatttool charWrite loop 1
2017.07.30 19:57:02.501 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - charWrite wresp: Characteristic value was written successfully
2017.07.30 19:57:02.501 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - run gatttool
2017.07.30 19:57:03.293 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call data from host 192.168.178.44
2017.07.30 19:57:03.293 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call gatttool charRead loop 1
2017.07.30 19:57:03.293 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.07.30 19:57:03.293 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - processing gatttool response. sensData: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2017.07.30 19:57:04.091 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - call firm/batt data from host 192.168.178.44
2017.07.30 19:57:04.091 4: Sub XiaomiFlowerSens (Flower1) - call gatttool readBatFw loop 1
2017.07.30 19:57:04.091 4: Sub XiaomiFlowerSens_callGatttool (Flower1) - processing gatttool response. batFwData: 64 10 32 2e 36 2e 32
2017.07.30 19:57:04.091 4: Sub XiaomiFlowerSens_BlockingRun (Flower1) - Processing response data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Interessant. Das gute Teil scheint rein gar nichts zu melden. Also keine verwertbare Daten. Es muß auf jedenfall Batterie und Firmware gemeldet werden. Auch sind die Nullen nicht korrekt. Sicher das das ein korrektes Xiaomi Flower Monitor Device ist?
ZitatAllerdings bleibt das Problem mit einem neuen Sensor: per BT gibt der Sensor nur Nullen aus.
Meiner Meinung nach darf in der App kein Device mehr verbunden sein, damit das mit FHEM funzt. Bist Du Dir sicher, dass in der App kein einziger Sensor mehr gelistet ist?
vg stoxx
Zitat von: CoolTux am 30 Juli 2017, 20:14:45
Interessant. Das gute Teil scheint rein gar nichts zu melden. Also keine verwertbare Daten. Es muß auf jedenfall Batterie und Firmware gemeldet werden. Auch sind die Nullen nicht korrekt. Sicher das das ein korrektes Xiaomi Flower Monitor Device ist?
Eigentlich schon. Habe alle Sensoren im selben Shop geholt. Immer 2 Stück pro Lieferung. Funktionieren alle, bis auf dieser. Der 2. Sensor in dieser Lieferung macht auch keine Probleme.
Vielleicht wirklich kaputt. Ich schreib dem Shop einfach mal.
Ich habe übriges meine Sensoren in der Flower Care App und in fhem. Geht also auch beides.
Zitat von: Tom71 am 31 Juli 2017, 15:50:16
Ich habe übriges meine Sensoren in der Flower Care App und in fhem. Geht also auch beides.
Bei mir das selbe. Funktioniert mit meinen 4 Sensoren (alle Internationale Version) problemlos.
Heute sind noch mal 2 Sensoren angekommen, die funktionieren auch. Ich glaube der eine ist einfach im Sack. Der Shop meldet sich auch nicht....hab ich wahrscheinlich 11€ verloren.
Aber hey, ist das erste mal, dass eine China Bestellung Probleme macht ;-)
Hallo Zusammen,
wer noch einen Sensor braucht, aktuell für 8,59 € inkl. Versand.
https://www.tomtop.com/xiaomi-accessories-48/p-pa3850.html
Ist die China Version, aber funktioniert mit Trick ja trotzdem.
Wenn es nicht erwünscht ist, bitte sagen, dann lösche ich den Post.
Viele Grüße
Frank
Hallo,
das Updaten via Android mit Super VPN hat bei mir nicht funktioniert, da SuperVPN keinen China Server angeboten hat.
Stand heute hat bei mir funktioniert:
OpenVPN die Version von Arne Schwabe https://play.google.com/store/apps/details?id=de.blinkt.openvpn
OVPNSpider https://play.google.com/store/apps/details?id=com.ovpnspider
FakeGPS
In der Spider App mit viel Geduld zu einem China Server verbinden, davor FakeGPS auf China stellen, dann die Flower Care App öffnen.
Damit konnte ich die letzte Woche von TomTOP gekommenen China Sticks von der Version 2.7 auf 3.1.8 updaten.
Vielleicht hilft's dem ein oder anderen
Uwe
Für den China-VPN Zugang benutze ich die iOS App "VPN Genius".
Ist eigentlich ein Bezahldiest, aber man kann einmal am Tag die Benutzung für 30 Minuten "kaufen", indem man ein 30 Sekunden Video abspielen lässt.
Hat bei mir Problemlos funktioniert, alle 12 Sensoren sind nun up-to-date. Auf die letzten 5 warte ich noch :-)
Ich habe Sensoren die an der Grenze der Reichweite positioniert sind und daher nicht bei jeder Abfrage erreichbar sind.
Um den Logfile vor Überfüllung zu schützen habe ich bei den XiaomiFlowerSens Devives verbose auf 0 gesetzt, dennoch erhalte ich jedoch verbose 1 Einträge im Logfile:
2017.09.08 12:04:46 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 3710
Habe ich da etwas missverstanden oder sollte der Logeintrag eigentlich nicht existieren?
Zitat von: Pyromane am 08 September 2017, 13:58:48
Ich habe Sensoren die an der Grenze der Reichweite positioniert sind und daher nicht bei jeder Abfrage erreichbar sind.
Um den Logfile vor Überfüllung zu schützen habe ich bei den XiaomiFlowerSens Devives verbose auf 0 gesetzt, dennoch erhalte ich jedoch verbose 1 Einträge im Logfile:
2017.09.08 12:04:46 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 3710
Habe ich da etwas missverstanden oder sollte der Logeintrag eigentlich nicht existieren?
Diese Meldung stammt aus dem Code von Blocking.pm. Kommt also nicht vom Flower Modul. Das kann ich nicht beeinflussen.
Hi,
habe vielleicht einen Tipp für den ein oder anderen, der ein ähnliches Problem mit dem Flower Monitor hat:
Bei mir kam es häufig vor, dass Pflanzen ab und zu Ausreißer beim Wert Moisture hatten. Gerade bei Pflanzen, die wenig Wasser brauchen, war das schlecht, weil ich diese in der Regel viel zu viel gegossen habe, nur weil bei einem einzigen Auslesen der Moisture Wert (warum auch immer) einen sehr niedrigen Wert geschickt hat und dadurch mein Gieß- Alarm anging.
Das Attribut event-aggregator hat bei mir das Problem gelöst, z.B.
event-aggregator moisture:2400:none:max
heißt, dass nicht der aktuelle Wert sondern das Maximum der Moisture Werte der letzten 40 Minuten als Event ausgegeben wird.
Bei mir klappt das bisher ganz hervorragend..
Oder hat jemand eine bessere Lösung? Oder weiß das eh jeder :-[
vg stoxx
Hallo,
bei mir wurde es langsam unübersichtlich, die schon vorhandenen BT-MAC Adressen, von den neuen Adressen, zu unterscheiden. Habe mir eine Funktion gebastelt, die den String für einen Shell aufruf generiert. Dabei werden dann alle schon bekannten Sensoren ignoriert und man bekommt nur die neuen Sensoren angezeigt.
Vielleicht hilft es ja dem Ein oder Anderen...
in die 99_myUtils.pm
sub printBTmac() {
my @sensors = devspec2array('TYPE=XiaomiFlowerSens');
my $txt = "";
my $cmd = "sudo hcitool lescan";
if (@sensors > 0 and defined($defs{$sensors[0]})) {
foreach my $sensor (@sensors) {
$txt .= $sensor . "\t\t";
$txt .= InternalVal($sensor, "BTMAC", "NOT FOUND");
$txt .= "\n";
$cmd .= " | grep -v \"" . InternalVal($sensor, "BTMAC", "NOT FOUND") . "\"";
}
$cmd .= " | grep Flower";
}
$txt .= "\n\n\n$cmd";
return $txt;
}
nach einem reload gibt die Funktion dann zurück:
bk_Kasten1 C4:7C:8D:63:7F:91
bk_Kasten2 C4:7C:8D:62:DA:BC
bk_Kasten3 C4:7C:8D:63:40:9F
bk_Kasten4 C4:7C:8D:62:E8:FF
bk_Kasten5 C4:7C:8D:62:71:FE
bk_Kasten6 C4:7C:8D:62:74:5F
bk_Paprika C4:7C:8D:62:2A:0A
bk_Paprika2 C4:7C:8D:62:6D:05
bk_Tomate1 C4:7C:8D:62:75:C3
bk_Tomate2 C4:7C:8D:63:6F:D5
nn_Flower1 C4:7C:8D:62:74:30
nn_Flower2 C4:7C:8D:62:B1:E4
nn_Flower3 C4:7C:8D:63:24:8C
nn_Flower4 C4:7C:8D:62:74:1A
wz_Benjamin C4:7C:8D:62:42:B0
wz_YuccaPalme C4:7C:8D:62:D3:CB
sudo hcitool lescan | grep -v "C4:7C:8D:63:7F:91" | grep -v "C4:7C:8D:62:DA:BC" | grep -v "C4:7C:8D:63:40:9F" | grep -v "C4:7C:8D:62:E8:FF" | grep -v "C4:7C:8D:62:71:FE" | grep -v "C4:7C:8D:62:74:5F" | grep -v "C4:7C:8D:62:2A:0A" | grep -v "C4:7C:8D:62:6D:05" | grep -v "C4:7C:8D:62:75:C3" | grep -v "C4:7C:8D:63:6F:D5" | grep -v "C4:7C:8D:62:74:30" | grep -v "C4:7C:8D:62:B1:E4" | grep -v "C4:7C:8D:63:24:8C" | grep -v "C4:7C:8D:62:74:1A" | grep -v "C4:7C:8D:62:42:B0" | grep -v "C4:7C:8D:62:D3:CB" | grep Flower
Das hack ich dann per copy&paste in die console und kann bequem die neue MAC auslesen :-)
Zitat von: stoxx am 09 September 2017, 15:48:58
Bei mir kam es häufig vor, dass Pflanzen ab und zu Ausreißer beim Wert Moisture hatten. Gerade bei Pflanzen, die wenig Wasser brauchen, war das schlecht, weil ich diese in der Regel viel zu viel gegossen habe, nur weil bei einem einzigen Auslesen der Moisture Wert (warum auch immer) einen sehr niedrigen Wert geschickt hat und dadurch mein Gieß- Alarm anging.
Das Attribut event-aggregator hat bei mir das Problem gelöst, z.B.
event-aggregator moisture:2400:none:max
Ich hätte jetzt beim
event-aggregator die Funktion
mean (Durchschnittswert) anstelle
max erwartet. Vielleicht kommen ja bei diesem Gerätetyp oder bei konkret Deinem Gerät nur Außreißer nach unten vor, aber denkbar wären doch sicherlich auch welche nach oben?!
ZitatIch hätte jetzt beim event-aggregator die Funktion mean (Durchschnittswert) anstelle max erwartet. Vielleicht kommen ja bei diesem Gerätetyp oder bei konkret Deinem Gerät nur Außreißer nach unten vor, aber denkbar wären doch sicherlich auch welche nach oben?!
Es ist tatsächlich so, dass es bei mir hauptsächlich Ausreißer nach unten gibt und gerade die sind für mich die kritischen.. Ich verwende nämlich nur einen minMoisture, der bei solchen sporadischen Ausreißern immer Alarm schlägt.
Der schöne Neben- Effekt bei der Funktion max: Wenn ich gegossen habe, wird das sehr zeitnah registriert. Bei mean könnte sich das ggf. etwas länger hinziehen..
vg stoxx
event-aggregator moisture::none:median:2400
Warum nicht so? Das verändert deine Update Rate nicht und du hast dann keine Verzögerungen der Anzeige mehr.
Zitat
event-aggregator moisture::none:median:2400
Warum nicht so? Das verändert deine Update Rate nicht und du hast dann keine Verzögerungen der Anzeige mehr.
Super Tipp, habe median durch max ersetzt und wird getestet.
vg stoxx
Zitat von: CoolTux am 08 September 2017, 14:16:03
Diese Meldung stammt aus dem Code von Blocking.pm. Kommt also nicht vom Flower Modul. Das kann ich nicht beeinflussen.
Danke für die schnelle Rückmeldung!
Besteht eine Chance die Meldung irgendwie zu unterdrücken? Globales Verbose 0 ist leider keine Lösung für mich.
Poste einen Fehlerbericht im Forum wo das Modul besprochen wird. Der Maintainer wird es dann lesen.
Rudi ist der Maintainer aber ich weiß gerade nicht welches Forum zuständig ist. Mal bitte in die MAINTAINER.txt schauen.
Zitat von: CoolTux am 12 September 2017, 20:04:53
Poste einen Fehlerbericht im Forum wo das Modul besprochen wird. Der Maintainer wird es dann lesen.
Rudi ist der Maintainer aber ich weiß gerade nicht welches Forum zuständig ist. Mal bitte in die MAINTAINER.txt schauen.
Heute habe ich etwas Zeit gefunden und bin deinem Vorschlag nachgekommen: Blocking.pm Logfile Einträge (https://forum.fhem.de/index.php/topic,77057.0.html)
Doofe Frage zum Monitor:
Ich habe mal, um die Genauigkeit der Flower Monitor Feuchtigkeitsmessung zu testen, drei Monitore in eine grössere Blume gesteckt, alle etwa 4 cm vom Stamm entfernt (Yucca Palme). Dabei liefern die Monitore als Messwerte für die Feuchtigkeit die Werte 18, 37, und 47. Und schon seit 4-5 Tagen liegen die Werte immer ähnlich weit auseinander (also nicht nur einmal nach dem Giessen)
Firmware ist bei allen 3.1.8.
Kann man die Monitore irgendwie 'normieren? Sonst macht das ja kein Sinn, eine minimum Threshold zu definieren.
Normalerweise hast du ja nur einen Sensor pro Pflanze und hier beobachtest du einfach wann er deiner Meinung nach gegossen werden muss und schaust dir dann den Wert in FHEM an. Den kannst du dann als Grenze verwenden. Die Sensoren bei mir zeigen auch sehr unterschiedliche Werte an. Das liegt daran, das z.b. mehr oder weniger Wurzeln am Sensor anliegen, Hohlräume irgendwie vorhanden sind und auch die Erde nocht homogen ist. Vermutlich sind die Sensoren auch nicht super ganau kalibriert...
Ich habe gerade eine neue Version, wo Syntax Kontrolle von disabledForIntervals durchgeführt wird. disabledForIntervals muss HH:MM-HH:MM oder 'HH:MM-HH:MM HH:MM-HH:MM ...' als Syntax haben.
Grüße
Hallo miteinander,
ich habe seit zwei Tagen auch meine beiden Pflanzensensoren in FHEM eingebunden.
Die Werte der Sensoren wurden bisher auch immer brav an FHEM weitergegeben bis eben. Seit dem sind sie unreachable. Auch ein Neustart von FHEM und dem gesamten PI hat nicht geholfen.
Hier mal ein Auszug aus dem Log von FHEM:
2017.09.28 10:19:07 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"lux":924,"firmware":"3.1.8","fertility":1460,"moisture":51,"blevel":100,"temp":279}
2017.09.28 10:19:07 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 10:25:15 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 10:25:15 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 10:25:15 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 10:25:15 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 10:25:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 10:25:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 10:25:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect error: Transport endpoint is not connected (107)
2017.09.28 10:25:41 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 10:25:41 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 2
2017.09.28 10:25:41 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect error: Transport endpoint is not connected (107)
2017.09.28 10:25:45 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 18776
2017.09.28 10:25:45 3: (Flower_Sensor_1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
2017.09.28 10:31:53 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 10:31:53 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 10:31:53 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 10:31:53 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 10:31:58 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 10:31:58 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 10:31:58 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 10:31:58 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 10:31:59 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 10:31:59 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 10:31:59 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 10:31:59 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 1c 01 00 37 02 00 00 33 9f 05 02 3c 00 fb 34 9b
2017.09.28 10:31:59 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 10:31:59 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 10:31:59 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 10:31:59 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 1c 01 00 37 02 00 00 33 9f 05 02 3c 00 fb 34 9b
2017.09.28 10:31:59 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"firmware":"3.1.8","fertility":1439,"lux":567,"moisture":51,"blevel":100,"temp":284}
2017.09.28 10:31:59 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 10:32:00 3: UWZ Unwetterzentrale: Run.1000 Done fetching data
2017.09.28 10:37:18 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 10:37:18 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 10:37:18 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 10:37:18 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 1d 01 00 89 01 00 00 33 ac 05 02 3c 00 fb 34 9b
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 1d 01 00 89 01 00 00 33 ac 05 02 3c 00 fb 34 9b
2017.09.28 10:37:20 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"temp":285,"blevel":100,"moisture":51,"lux":393,"firmware":"3.1.8","fertility":1452}
2017.09.28 10:37:21 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 10:42:31 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 10:42:31 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 10:42:31 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 10:42:31 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 10:42:36 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 10:42:36 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 10:42:36 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 10:42:36 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 10:42:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 10:42:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 10:42:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 10:42:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 1c 01 00 0a 02 00 00 33 ae 05 02 3c 00 fb 34 9b
2017.09.28 10:42:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 10:42:37 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 10:42:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 10:42:37 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 1c 01 00 0a 02 00 00 33 ae 05 02 3c 00 fb 34 9b
2017.09.28 10:42:37 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"fertility":1454,"firmware":"3.1.8","lux":522,"temp":284,"blevel":100,"moisture":51}
2017.09.28 10:42:37 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 10:43:56 3: ZWave get Motion_Sensor_2 battery
2017.09.28 10:43:56 1: PERL WARNING: Argument "100 %" isn't numeric in numeric lt (<) at (eval 18857) line 1.
2017-09-28_10:44:08 ZW_Tuerkontakt1 temperature: 22.5 C
2017.09.28 10:47:57 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 10:47:57 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 10:47:57 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 10:47:57 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 1a 01 00 82 02 00 00 33 b4 05 02 3c 00 fb 34 9b
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 1a 01 00 82 02 00 00 33 b4 05 02 3c 00 fb 34 9b
2017.09.28 10:48:03 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"temp":282,"blevel":100,"moisture":51,"lux":642,"fertility":1460,"firmware":"3.1.8"}
2017.09.28 10:48:05 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 10:56:19 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 10:56:19 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 10:56:19 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 10:56:19 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 10:56:24 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 10:56:24 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 10:56:24 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect error: Transport endpoint is not connected (107)
2017.09.28 10:56:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 10:56:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 2
2017.09.28 10:56:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 10:56:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 10:56:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 10:56:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 10:56:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 10:56:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 1a 01 00 a1 02 00 00 33 b4 05 02 3c 00 fb 34 9b
2017.09.28 10:56:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 10:56:28 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 10:56:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 10:56:28 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 1a 01 00 a1 02 00 00 33 b4 05 02 3c 00 fb 34 9b
2017.09.28 10:56:28 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"moisture":51,"temp":282,"blevel":100,"fertility":1460,"firmware":"3.1.8","lux":673}
2017.09.28 10:56:28 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 11:06:04 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 11:06:04 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 11:06:04 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 11:06:04 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 11:06:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 11:06:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 11:06:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 11:06:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 11:06:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:06:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 11:06:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 11:06:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 17 01 00 82 02 00 00 33 bd 05 02 3c 00 fb 34 9b
2017.09.28 11:06:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 11:06:10 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 11:06:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 11:06:10 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 17 01 00 82 02 00 00 33 bd 05 02 3c 00 fb 34 9b
2017.09.28 11:06:10 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"firmware":"3.1.8","fertility":1469,"lux":642,"moisture":51,"temp":279,"blevel":100}
2017.09.28 11:06:10 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 11:11:39 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 11:11:39 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 11:11:39 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 11:11:40 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 11:11:44 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 11:11:44 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 11:11:44 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect error: Transport endpoint is not connected (107)
2017.09.28 11:11:52 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 11:11:52 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 2
2017.09.28 11:11:52 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 11:11:52 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 11:11:52 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:11:52 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 11:11:52 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 11:11:52 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 17 01 00 82 02 00 00 33 bd 05 02 3c 00 fb 34 9b
2017.09.28 11:12:00 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 11:12:00 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 11:12:00 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 11:12:00 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 17 01 00 82 02 00 00 33 bd 05 02 3c 00 fb 34 9b
2017.09.28 11:12:00 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"firmware":"3.1.8","fertility":1469,"lux":642,"blevel":100,"temp":279,"moisture":51}
2017.09.28 11:12:00 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017-09-28_11:13:48 ZW_Tuerkontakt1 luminance: 41 %
2017.09.28 11:17:51 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 11:17:51 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 11:17:52 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 11:17:52 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 11:18:02 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 11:18:02 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 11:18:02 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect error: Transport endpoint is not connected (107)
2017.09.28 11:18:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 11:18:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 2
2017.09.28 11:18:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 11:18:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 11:18:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:18:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 11:18:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 11:18:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 15 01 00 27 03 00 00 33 c2 05 02 3c 00 fb 34 9b
2017.09.28 11:18:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 11:18:10 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 11:18:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 11:18:10 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 15 01 00 27 03 00 00 33 c2 05 02 3c 00 fb 34 9b
2017.09.28 11:18:10 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"moisture":51,"temp":277,"blevel":100,"fertility":1474,"firmware":"3.1.8","lux":807}
2017.09.28 11:18:10 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 11:26:35 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 11:26:35 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 11:26:35 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 11:26:35 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 11:26:36 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 11:26:36 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 11:26:36 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 11:26:36 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 11:26:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:26:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 11:26:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 11:26:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 16 01 00 72 03 00 00 33 c8 05 02 3c 00 fb 34 9b
2017.09.28 11:26:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 11:26:37 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 11:26:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 11:26:37 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 16 01 00 72 03 00 00 33 c8 05 02 3c 00 fb 34 9b
2017.09.28 11:26:37 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"firmware":"3.1.8","fertility":1480,"lux":882,"blevel":100,"temp":278,"moisture":51}
2017.09.28 11:26:37 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 11:31:55 3: UWZ Unwetterzentrale: Run.1000 Done fetching data
2017.09.28 11:32:10 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 11:32:10 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 11:32:10 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 11:32:10 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 11:32:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 11:32:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 11:32:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect error: Transport endpoint is not connected (107)
2017.09.28 11:32:21 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 11:32:21 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 2
2017.09.28 11:32:21 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 11:32:21 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 11:32:21 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:32:21 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 11:32:21 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 11:32:21 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 14 01 00 72 03 00 00 33 ce 05 02 3c 00 fb 34 9b
2017.09.28 11:32:22 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 11:32:22 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 11:32:22 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 11:32:22 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 14 01 00 72 03 00 00 33 ce 05 02 3c 00 fb 34 9b
2017.09.28 11:32:22 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"blevel":100,"temp":276,"moisture":51,"fertility":1486,"firmware":"3.1.8","lux":882}
2017.09.28 11:32:22 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 11:39:43 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 11:39:43 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 11:39:43 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 11:39:43 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 13 01 00 72 03 00 00 33 d0 05 02 3c 00 fb 34 9b
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 13 01 00 72 03 00 00 33 d0 05 02 3c 00 fb 34 9b
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"temp":275,"blevel":100,"moisture":51,"fertility":1488,"firmware":"3.1.8","lux":882}
2017.09.28 11:39:46 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017-09-28_11:43:29 ZW_Tuerkontakt1 temperature: 22.5 C
2017.09.28 11:47:22 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 11:47:22 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 11:47:22 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 11:47:22 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 11:47:32 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 11:47:32 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 11:47:32 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 11:47:32 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 11:47:32 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:47:32 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 11:47:32 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:47:32 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 2
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 3
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 4
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 5
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 6
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 7
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 8
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 9
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 10
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: connect
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: No route to host (113)
2017.09.28 11:47:33 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: No route to host (113)
2017.09.28 11:52:46 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 11:52:46 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 11:52:46 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 11:52:46 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 11:52:51 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 11:52:51 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 11:52:51 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 11:52:51 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 11:52:51 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 11:52:51 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 11:52:51 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 11:52:51 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 12 01 00 ef 02 00 00 33 d3 05 02 3c 00 fb 34 9b
2017.09.28 11:52:52 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 11:52:52 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 11:52:52 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 11:52:52 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 12 01 00 ef 02 00 00 33 d3 05 02 3c 00 fb 34 9b
2017.09.28 11:52:52 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"moisture":51,"temp":274,"blevel":100,"fertility":1491,"firmware":"3.1.8","lux":751}
2017.09.28 11:52:52 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 12:02:10 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 12:02:10 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 12:02:10 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 12:02:10 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 12:02:12 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:02:12 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 12:02:12 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 12:02:12 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 12:02:12 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:02:12 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 12:02:12 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 12:02:12 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 0f 01 00 df 02 00 00 33 d3 05 02 3c 00 fb 34 9b
2017.09.28 12:02:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 12:02:13 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 12:02:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 12:02:13 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 0f 01 00 df 02 00 00 33 d3 05 02 3c 00 fb 34 9b
2017.09.28 12:02:13 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"moisture":51,"blevel":100,"temp":271,"lux":735,"fertility":1491,"firmware":"3.1.8"}
2017.09.28 12:02:13 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 12:08:05 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 12:08:05 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 12:08:05 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 12:08:05 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 2
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 3
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 4
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 5
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 6
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 7
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 8
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 9
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 10
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: connect
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: No route to host (113)
2017.09.28 12:08:10 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: No route to host (113)
2017-09-28_12:13:09 ZW_Tuerkontakt1 luminance: 78 %
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 12:17:37 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 12:17:37 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 2
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 3
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 4
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 5
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 6
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 7
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 8
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 9
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 10
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 2
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 3
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 4
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 5
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 6
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 7
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 8
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 9
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 10
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: connect
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: Connection refused (111)
2017.09.28 12:17:37 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: Connection refused (111)
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 12:24:27 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 12:24:27 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 2
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 3
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 4
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 5
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 6
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 7
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 8
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 9
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 10
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 2
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 3
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 4
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:24:27 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 5
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 6
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 7
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 8
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 9
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 10
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: connect
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: Connection refused (111)
2017.09.28 12:24:28 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: Connection refused (111)
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 12:33:13 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 12:33:13 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 2
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 3
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 4
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 5
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 6
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 7
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 8
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 9
2017.09.28 12:33:13 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 10
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 2
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 3
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 4
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 5
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 6
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 7
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 8
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 9
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 10
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: connect
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: Connection refused (111)
2017.09.28 12:33:14 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: Connection refused (111)
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 12:41:09 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 12:41:09 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 2
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 3
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 4
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 5
2017.09.28 12:41:09 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 6
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 7
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 8
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 9
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: Connection refused (111)
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 10
2017.09.28 12:41:10 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: conne
nimm mal die batterie im sensor raus und bau sie wieder ein.
ich habe einen bei dem ist das alle paar wochen nötig.
Hallo justme1968, danke für die schnelle Antwort.
Die Batterien habe ich gestern ganz frisch gewechselt gehabt, da ich auch über die App immer mal Probleme hatte einen der beiden Sensoren zu erreichen..
Ich habe im Übringen auch das Phänomen, dass bei dem Zugriff der Flower Care App auf den Sensor, Fhem nicht mehr auf diesen zugreift und den Status "unreachable" meldet.
Und wie gesagt alle meine beiden Pflanzensensoren sind seit kurzen nicht mehr reachable :(
mach mal bitte als root ein hciconfig reset
also Du meinst auf der Pi eben via Putty
sudo hciconfig reset"
..kenne mich da nicht so gut aus mit ....
ja das meinte ich
Ok, werde ich nachher dann testen und berichten.
So, habe nun den Reset durchgeführt mit dem Ergebnis, dass ein Pflanzensensor nun dauern unreachable ist und der andere active. Hier mal ein Log des Pflanzensensors, der unreachable ist:
017.09.28 17:31:27 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 17:31:27 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 17:31:27 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 17:31:27 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 17:31:34 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:31:34 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 17:31:34 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect error: Transport endpoint is not connected (107)
2017.09.28 17:31:40 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:31:40 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 2
2017.09.28 17:31:40 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect error: Transport endpoint is not connected (107)
2017.09.28 17:31:49 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:31:49 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 3
2017.09.28 17:31:49 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic Write Request failed: Internal application error: I/O
2017.09.28 17:31:57 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:31:57 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 4
2017.09.28 17:31:57 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect error: Transport endpoint is not connected (107)
2017.09.28 17:31:57 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 1079
2017.09.28 17:31:57 3: (Flower_Sensor_1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
2017.09.28 17:32:40 3: CUL_HM set Fensterkontakt5 getConfig
2017.09.28 17:32:40 1: PERL WARNING: Argument "off" isn't numeric in numeric eq (==) at ./FHEM/31_HUEDevice.pm line 396.
2017.09.28 17:32:53 3: CUL_HM set Fensterkontakt4 getConfig
2017.09.28 17:32:53 3: CUL_HM set HZ_PC_Zimmer_Keller_Clima desired-temp 21.5
2017.09.28 17:33:44 3: ZWave got config for fibaro/fgms.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2017.09.28 17:34:43 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 17:34:43 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 17:34:43 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 17:34:55 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:34:55 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 17:34:55 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: Characteristic value was written successfully
2017.09.28 17:34:55 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 17:34:55 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:34:55 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 17:34:55 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.09.28 17:34:55 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: 00 01 00 e4 01 00 00 31 c3 05 02 3c 00 fb 34 9b
2017.09.28 17:34:56 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call firm/batt data from host local host
2017.09.28 17:34:56 4: Sub XiaomiFlowerSens (Flower_Sensor_1) - call gatttool readBatFw loop 1
2017.09.28 17:34:56 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. batFwData: 64 27 33 2e 31 2e 38
2017.09.28 17:34:56 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: 00 01 00 e4 01 00 00 31 c3 05 02 3c 00 fb 34 9b
2017.09.28 17:34:56 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - no dataerror, create encode json: {"blevel":100,"fertility":1475,"moisture":49,"temp":256,"lux":484,"firmware":"3.1.8"}
2017.09.28 17:34:56 4: Sub XiaomiFlowerSens_BlockingDone (Flower_Sensor_1) - Abschluss!
2017.09.28 17:36:56 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 17:36:56 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 17:36:56 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 17:36:56 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 17:37:26 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 1336
2017.09.28 17:37:26 3: (Flower_Sensor_1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
2017.09.28 17:38:33 3: Watchdog watchdogFLBewegungsMelder_Lampe triggered
2017-09-28_17:39:24 ZW_Tuerkontakt1 temperature: 22.5 C
2017.09.28 17:39:26 3: ZWave got config for dlink/dch-z110.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2017-09-28_17:42:18 Fensterkontakt2 alive: yes
2017-09-28_17:42:18 Fensterkontakt2 battery: ok
2017-09-28_17:42:18 Fensterkontakt2 contact: open (to vccu)
2017-09-28_17:42:18 Fensterkontakt2 sabotageError: off
2017-09-28_17:42:18 Fensterkontakt2 open
2017.09.28 17:43:39 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 17:43:39 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 17:43:39 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 17:43:39 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 17:44:04 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:44:04 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 17:44:04 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect error: Transport endpoint is not connected (107)
2017.09.28 17:44:09 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 1626
2017.09.28 17:44:09 3: (Flower_Sensor_1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
2017.09.28 17:45:49 3: FHEMWEB WEBtablet CSRF error: csrf_897460071053318 ne csrf_223830951769974 for client WEBtablet_87.123.233.189_57778. For details see the csrfToken FHEMWEB attribute.
2017.09.28 17:45:49 3: FHEMWEB WEBtablet CSRF error: csrf_897460071053318 ne csrf_223830951769974 for client WEBtablet_87.123.233.189_57779. For details see the csrfToken FHEMWEB attribute.
2017.09.28 17:46:01 3: FHEMWEB WEBtablet CSRF error: csrf_897460071053318 ne csrf_223830951769974 for client WEBtablet_87.123.233.189_57802. For details see the csrfToken FHEMWEB attribute.
2017.09.28 17:46:01 3: FHEMWEB WEBtablet CSRF error: csrf_897460071053318 ne csrf_223830951769974 for client WEBtablet_87.123.233.189_57803. For details see the csrfToken FHEMWEB attribute.
2017.09.28 17:46:33 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 17:46:33 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 17:46:33 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 17:46:36 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:46:36 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 17:46:36 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect error: Transport endpoint is not connected (107)
2017.09.28 17:47:03 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 1770
2017.09.28 17:47:03 3: (Flower_Sensor_1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
2017.09.28 17:47:18 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 17:47:18 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 17:47:18 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 17:47:48 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 1810
2017.09.28 17:47:48 3: (Flower_Sensor_1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
2017.09.28 17:49:04 3: Watchdog watchdogFLBewegungsMelder_Lampe triggered
2017-09-28_17:50:44 Fensterkontakt2 Activity: alive
2017-09-28_17:50:44 ActionDetector status_Fensterkontakt2: alive
2017.09.28 17:50:57 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 17:50:57 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 17:50:57 5: Sub XiaomiFlowerSens_stateRequestTimer (Flower_Sensor_1) - Request Timer wird aufgerufen
2017.09.28 17:50:57 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 17:51:27 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 2010
2017.09.28 17:51:27 3: (Flower_Sensor_1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
2017.09.28 17:52:50 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 17:52:50 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 17:52:50 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 17:53:20 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 2105
2017.09.28 17:53:20 3: (Flower_Sensor_1) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 17:54:39 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 2
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 3
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 4
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 5
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 6
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 7
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 8
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 9
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 10
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 2
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 3
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 4
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 5
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 6
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 7
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 8
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 9
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 10
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: connect
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: No route to host (113)
2017.09.28 17:54:39 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: No route to host (113)
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_Run (Flower_Sensor_1) - start blocking call
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Running nonBlocking
2017.09.28 17:54:43 5: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - WFR: 1
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 1
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 2
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 3
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 4
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 5
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 6
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 7
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 8
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 9
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - write data to local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charWrite loop 10
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - charWrite wresp: connect: No route to host (113)
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - run gatttool
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 1
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 2
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 3
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 4
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 5
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 6
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 7
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 8
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 9
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call data from local host
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - call gatttool charRead loop 10
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData[0]: connect
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_callGatttool (Flower_Sensor_1) - processing gatttool response. sensData: No route to host (113)
2017.09.28 17:54:43 4: Sub XiaomiFlowerSens_BlockingRun (Flower_Sensor_1) - Processing response data: No route to host (113)
nachtrag: jetzt sind beide unreachable :(
Hast du ein System Update oder sowas gemacht?
Die Fehlermeldung ist ja nun eine andere. Was ist mit dem reset?
also FHEM update ich täglich.
den Reset des Bluetooth Adapters habe ich mit "sudo hciconfig hci0 reset" durchgeführt, ja
Sicher das dein BT-Empfänger nahe genug an der Pflanze ist?
Die Probleme hatte ich teilweise auch, gattool hat die Sensoren gefunden, in FHEM kam aber unreachable/charWrite failed.
einer der Adapter liegt "quasi" auf dem Blue Tooth Dongle :)
Nicht FHEM, sondern System. Also Updates der Distribution.
Guten Abend,
Ich bekomme den FlowerSensor leider nicht richtig ans laufen. Unmittelbar nach einem sudo hcitool lescan empfängt Fhem einmalig alle Werte danach ist er nur noch unreachable. Ich hab über den Bluetooth Stick noch ein Presence Modul laufen, das funktioniert einwandfrei.
2017.09.28 21:48:02 4: Sub XiaomiFlowerSens_Run (Pflanzsensor) - start blocking call
2017.09.28 21:48:02 5: Sub XiaomiFlowerSens_stateRequestTimer (Pflanzsensor) - Request Timer wird aufgerufen
2017.09.28 21:48:02 4: Sub XiaomiFlowerSens_BlockingRun (Pflanzsensor) - Running nonBlocking
2017.09.28 21:48:02 5: Sub XiaomiFlowerSens_callGatttool (Pflanzsensor) - WFR: 1
2017.09.28 21:48:32 1: Timeout for XiaomiFlowerSens_BlockingRun reached, terminated process 18229
2017.09.28 21:48:32 3: (Pflanzsensor) Sub XiaomiFlowerSens_BlockingAborted - The BlockingCall Process terminated unexpectedly. Timedout
Beides zusammen kann nicht laufen. Du musst das leider trennen. Sprich ein zweiter Raspi mit BT muß her
oder ein zweites bt modul am gleichen raspberry.
Jupp geht auch ;D
Danke schonmal, zweiter Raspi fällt leider aus. Gehen auch 2 BT Sticks per HUB am selben USB Anschluss? Die Anschlüsse sind sonst alle belegt.
Sollte gehen. Probiere es aus.
Und lese Die durch was Du wo einstellen musst damit die korrekten Geräte angesprochen werden. Also hci0 und hci1
O. K. Mach ich.
ZitatNicht FHEM, sondern System. Also Updates der Distribution.
Nein, den Pi habe ich gefühlt seit 6 Monaten nicht mehr geupdatet.
Es ist wirklich ein sehr merkwürdiges verhalten gerade mit diesem einen Sensor. Mal geht er, mal nicht.
Auch mittels der Flower Care App kann ich manchmal Daten von diesen abrufen, dann ist er aber in FHEM unreachable und manchmal ist er in der App noch nicht mal als Pflanzensenor gelistet. Ich habe gestern nochmal die Batterie mit meinem zweiten Senor getauscht, der problemlos (bisher geht) aber auch damit gehts mal und mal nicht.... :(
Hier mal ein List des Gerätes, falls nährere Daten zu dem Sensor benötigt werden:
Internals:
BTMAC C4:7C:8D:61:FF:E3
DEF C4:7C:8D:61:FF:E3
INTERVAL 300
NAME Flower_Sensor_1
NR 413
STATE active
TYPE XiaomiFlowerSens
VERSION 1.0.1
READINGS:
2017-09-29 07:06:09 battery ok
2017-09-29 07:06:09 batteryLevel 99
2017-09-29 07:06:09 fertility 1317
2017-09-29 07:06:09 firmware 3.1.8
2017-09-26 20:42:03 humidity 0
2017-09-28 18:01:22 lastGattError Unknown Error, look at verbose 5 output
2017-09-29 07:06:09 lux 56
2017-09-29 07:06:09 moisture 19
2017-09-29 07:06:09 state active
2017-09-29 07:06:09 temperature 25.9
helper:
Attributes:
alias Flammendes Käthchen
icon hue_room_garden
room FlowerSens
verbose 5
Ich habe die letzten 2 Tage einen kompletten Code Redesign des Modules gemacht. Die aktuelle Version findet ihr hier (https://github.com/LeonGaultier/fhem-XiaomiFlowerMonitor/archive/devel.zip) zum testen.
Mich interessieren besondern die Leute welche so große Probleme hatten.
Modul auf Zip File entpacken und dann über das aktuelle kopieren (Sicherung vorher nicht vergessen) danach FHEM neustarten bitte.
@Andre und auch alle Anderen
Aktuell wird die Batterie und die Firmware nur alle 25 Stunden ausgelesen. Man spart also 25 Stunden lang eine weitere Abfrage. Ist schon mal eine weniger bis dahin. Spart auch Batterie.
Diese Zeit werde ich in einer späteren Version noch über ein Attribut anpassbar machen.
8h 16h 24h 32h 40h 48h
Grüße
Leon
Hallo!
Ich teste das Modul bereits. Was mir aufgefallen ist:
- Wenn ein Sensor nicht erreichbar ist, kommt kein unreachable mehr sondern die Werte werden alle auf 0 gesetzt.
- Nach einem Neustart stand bei einem sensor der state auf active, die werte waren aber alle auf 0 und firmware war -30.-30.-30. nach einem manuellen statusRequest passen die Werte wieder, firmware war aber immer noch auf -30.-30.-30. ein weiterer neustart löste das problem.
Sehr positiv finde ich das nach einem Neustart jeder Sensor einzeln nacheinander abgefragt wird. Das abfragen zweier oder mehrerer Sensoren hat bei mir vorher immer zu problemen geführt.
Grüße
Zitat von: fhainz am 30 September 2017, 18:46:10
Hallo!
Ich teste das Modul bereits. Was mir aufgefallen ist:
- Wenn ein Sensor nicht erreichbar ist, kommt kein unreachable mehr sondern die Werte werden alle auf 0 gesetzt.
- Nach einem Neustart stand bei einem sensor der state auf active, die werte waren aber alle auf 0 und firmware war -30.-30.-30. nach einem manuellen statusRequest passen die Werte wieder, firmware war aber immer noch auf -30.-30.-30. ein weiterer neustart löste das problem.
Sehr positiv finde ich das nach einem Neustart jeder Sensor einzeln nacheinander abgefragt wird. Das abfragen zweier oder mehrerer Sensoren hat bei mir vorher immer zu problemen geführt.
Grüße
Hallo. Vielen Dank fürs testen.
Das mit den Werten auf Null habe ich bereits in einer neueren Version gefixt. Werde sie bis Morgen Abend online stellen, will das mit den Zeiten für das Batterie und Firmware Reading noch machen.
Das mit dem unreachable sollte aber eigentlich passieren. Müsste man Mal schauen in welchen Zusammenhang das genau passiert ist.
Grüße
Zitat von: CoolTux am 30 September 2017, 19:13:57
Das mit dem unreachable sollte aber eigentlich passieren. Müsste man Mal schauen in welchen Zusammenhang das genau passiert ist.
Ich war mit der Pflanze extra in einem anderen Raum in der Wohnung. Ich hab ich schon gewundert das nach langem warten doch wieder active als status kommt. Vorher kam immer unreachable in diesem Raum. Erst als ich ins Device geschaut habe, hab ich gemerkt das die werte nicht passen. ich teste das später nochmal.
Das wäre super. Meine Freundin dreht mir immer halb den Hals ab wenn ich mit den Blumen spazieren gehe. Aber sie hat gerade spät, muss nur schnell die Position vermessen und dann teste ich auch mal so. ;D
Habe gerade eine aktuelle Version hochgeladen. Sollte die Probleme nach einem shutdown restart beheben.
Zitat von: fhainz am 30 September 2017, 19:26:44
Vorher kam immer unreachable in diesem Raum.
Kann ich nochmals bestätigen. Auch mit der neuen Version. unreachable kommt nicht. State bleibt auf active und werte sind auf 0.
Grüße
Ich habe gerade Version 1.1.42 hochgeladen. Nun ist auch das batteryFirmwareAge Attribut enthalten.
Was das Thema null an geht so brauche ich bitte einmal einen verbose 5 statusRequest. Kann mich erinnern das es sowas in der alten Version tatsächlich gab, dachte ich hätte das erschlagen.
Bei mir ist es aber auch immer so das der BlockingCall abbricht, schafft das Modul bei Euch in den 60s die 5 durchläufe bevor es auf normalen Weg Abbricht?
Grüße
Nach dem Neustart nach dem Aktualisieren, steht das Firmware Reading eines Geräts wieder auf -30.-30.-30. Auch ein mehrfaches statusRequest hat nichts geholfen. Nach einem weiteren Neustart passt es wieder. Die batteryFirmwareAge Attribute hab ich jetzt mal unterschiedlich gesetzt.
Hier der Log:
2017.09.30 20:22:04 4: XiaomiFlowerSens (dracaena) - WriteSensData: call function ExecGatttool_Run
2017.09.30 20:22:04 5: XiaomiFlowerSens (dracaena) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:55:8B --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2017.09.30 20:22:24 5: XiaomiFlowerSens (dracaena) - ExecGatttool_Run: gatttool loop result Transport endpoint is not connected (107)
Segmentation fault (core dumped)
2017.09.30 20:22:24 4: XiaomiFlowerSens (dracaena) - ExecGatttool_Run: gatttool result Transport endpoint is not connected (107)
Segmentation fault (core dumped)
2017.09.30 20:22:24 4: XiaomiFlowerSens (dracaena) - ExecGatttool_Done: gatttool return string: dracaena|C4:7C:8D:65:55:8B|ok|write|0x33|{"gtResult":"none"}
2017.09.30 20:22:24 4: XiaomiFlowerSens (dracaena) - CallSensData: call function ExecGatttool_Run
2017.09.30 20:22:24 5: XiaomiFlowerSens (dracaena) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:55:8B --char-read -a 0x35 2>&1 /dev/null and loop 0
2017.09.30 20:22:44 5: XiaomiFlowerSens (dracaena) - ExecGatttool_Run: gatttool loop result Transport endpoint is not connected (107)
Segmentation fault (core dumped)
2017.09.30 20:22:44 4: XiaomiFlowerSens (dracaena) - ExecGatttool_Run: gatttool result Transport endpoint is not connected (107)
Segmentation fault (core dumped)
2017.09.30 20:22:44 4: XiaomiFlowerSens (dracaena) - ExecGatttool_Done: gatttool return string: dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}
2017.09.30 20:22:44 5: XiaomiFlowerSens (dracaena) - ProcessingNotification
2017.09.30 20:22:44 4: XiaomiFlowerSens (dracaena) - ProcessingNotification: handle 0x35
2017.09.30 20:22:44 5: XiaomiFlowerSens (dracaena) - Handle0x35
2017.09.30 20:22:44 1: PERL WARNING: Use of uninitialized value $dataSensor[1] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 508.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 1: PERL WARNING: Use of uninitialized value $dataSensor[2] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 508.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 1: PERL WARNING: Use of uninitialized value $dataSensor[3] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 508.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 1: PERL WARNING: Use of uninitialized value $dataSensor[4] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 508.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 1: PERL WARNING: Use of uninitialized value $dataSensor[5] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 508.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 1: PERL WARNING: Use of uninitialized value $dataSensor[1] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 514.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 1: PERL WARNING: Use of uninitialized value $dataSensor[1] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 517.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 1: PERL WARNING: Illegal hexadecimal digit 'n' ignored at ./FHEM/74_XiaomiFlowerSens.pm line 517.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 1: PERL WARNING: Use of uninitialized value $dataSensor[4] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 520.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 520.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 1: PERL WARNING: Use of uninitialized value $dataSensor[7] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 521.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 1: PERL WARNING: Use of uninitialized value $dataSensor[9] in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 522.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_XiaomiFlowerSens.pm line 522.
2017.09.30 20:22:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"none"}')}
2017.09.30 20:22:44 4: XiaomiFlowerSens (dracaena) - WriteReadings: Readings were written
Zitat von: CoolTux am 30 September 2017, 20:11:46
schafft das Modul bei Euch in den 60s die 5 durchläufe bevor es auf normalen Weg Abbricht?
Sehe ich das irgendwie?
Grüße
Interessant, Dein System reagiert komplett anders wie meins.
Danke Dir
Zitat von: CoolTux am 30 September 2017, 20:34:54
Interessant, Dein System reagiert komplett anders wie meins.
Hier läuft ein Ubuntu in einer VirtualBox VM auf einen MacMini.
Bin gerade dabei die Fehlerbehandlung dafür ein zu bauen.
Vielen Dank noch mal
Hallo Zusammen,
das Thema mit dem sporadisch "unreachable" hatte ich auch lange Zeit und bin fast daran verzweifelt.
Die Lösung war, den Bluethooth-Stick an eine USB-Verlängerung zu stecken und somit von den anderen Funkquellen zu entfernen. Seitdem nie wieder "unreachable" und es läuft super. :) *auf Holz klopf*
VG, Thomas
Zitat von: fhainz am 30 September 2017, 20:39:58
Hier läuft ein Ubuntu in einer VirtualBox VM auf einen MacMini.
Magst Du mal die neue Version testen?
Jetzt funktioniert es!
state ist auf unreachable, lastGattError auf none und die Werte bleiben erhalten!
Danke!
Super. Für das none lass ich mir noch was aussagekräftigeres einfallen. Vielen Dank fürs testen.
Kommando zurück :-X
Gerade eben nochmals state = active, werte = 0. Hab davon aber kein Log. Jetzt kommt wieder unreachable, ich lass die Pflanze jetzt mal drüben stehen und beobachte ob das nochmals vorkommt.
Nimm mal bitte die neue Version 1.1.47
Danke
none response data ist besser! :)
Morgen!
Über Nacht sind mir 2 Dinge aufgefallen:
- Bei 2 Pflanzen sind die Werte 3x auf 0 gegangen.
- Hast du etwas bei Event-Handling umgestellt? Mir kommt es laut Plot so vor als wenn nur events erzeugt werden wenn sich der Wert geändert hat. Ich hab aber nicht genauer nachgesehen. (Bei mir übergibt das Ubuntu System die Readings via MQTT an mein Haupt-FHEM auf dem MacMini, wo auch die Plots erzeugt werden. Event-on-* ist am Ubuntu System nicht gesetzt, am Haupt-System sehr wohl.)
Die beiden Logs der 0-Werte sehen gleich aus. Hier der Fall um ca. 4 Uhr (grüne Linie).
2017.10.01 03:53:14 4: XiaomiFlowerSens (dracaena) - WriteSensData: call function ExecGatttool_Run
2017.10.01 03:53:14 4: XiaomiFlowerSens (dracaena) - stateRequestTimer: Call Request Timer
2017.10.01 03:53:14 5: XiaomiFlowerSens (dracaena) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:55:8B --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2017.10.01 03:53:14 5: XiaomiFlowerSens (dracaena) - ExecGatttool_Run: gatttool loop result connect,Device or resource busy (16)
2017.10.01 03:53:14 4: XiaomiFlowerSens (dracaena) - ExecGatttool_Run: gatttool result connect,Device or resource busy (16)
2017.10.01 03:53:14 4: XiaomiFlowerSens (dracaena) - ExecGatttool_Done: gatttool return string: dracaena|C4:7C:8D:65:55:8B|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}
2017.10.01 03:53:14 4: XiaomiFlowerSens (dracaena) - CallSensData: call function ExecGatttool_Run
2017.10.01 03:53:14 5: XiaomiFlowerSens (dracaena) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:65:55:8B --char-read -a 0x35 2>&1 /dev/null and loop 0
2017.10.01 03:53:14 5: XiaomiFlowerSens (dracaena) - ExecGatttool_Run: gatttool loop result connect,Device or resource busy (16)
2017.10.01 03:53:14 4: XiaomiFlowerSens (dracaena) - ExecGatttool_Run: gatttool result connect,Device or resource busy (16)
2017.10.01 03:53:14 4: XiaomiFlowerSens (dracaena) - ExecGatttool_Done: gatttool return string: dracaena|C4:7C:8D:65:55:8B|ok|read|0x35|{"gtResult":"Device or resource busy (16)\n"}
2017.10.01 03:53:14 5: XiaomiFlowerSens (dracaena) - ProcessingNotification
2017.10.01 03:53:14 4: XiaomiFlowerSens (dracaena) - ProcessingNotification: handle 0x35
2017.10.01 03:53:14 5: XiaomiFlowerSens (dracaena) - Handle0x35
2017.10.01 03:53:14 4: XiaomiFlowerSens (dracaena) - WriteReadings: Readings were written
Grüße
Guten Morgen,
Ich habe in der Tat das schreiben der Readings umgestellt, es werden nur Readings geschrieben welche sich geändert haben und dann auch nur da Events erzeugt.
Ist es sehr störend oder gleicht der Plot das aus?
Grüße
Gerade die Fehlermeldung angeschaut. Sieht gut aus das kann ich abfangen. Wird aber wohl nicht bei dieser einen Meldung bleiben. Ich muss mir da was anderes einfallen lassen. Nicht auf Fehler sondern auf Korrektheit prüfen ist da besser.
Anscheinend gibt es auch noch ein Problem mit dem batteryFirmwareAge Attribut. Die readings wurden gestern ~21:30 das letzte mal aktualisiert. Attribut ist auf 8h gesetzt.
Internals:
BTMAC C4:7C:8D:65:55:8B
DEF C4:7C:8D:65:55:8B
INTERVAL 300
NAME dracaena
NR 30
STATE active
TYPE XiaomiFlowerSens
VERSION 1.1.47
READINGS:
2017-09-30 21:26:24 battery ok
2017-09-30 21:26:24 batteryLevel 99
2017-10-01 09:14:05 fertility 275
2017-09-30 21:26:24 firmware 3.1.8
2017-09-30 21:25:20 lastGattError none response data
2017-10-01 09:23:06 lux 131
2017-10-01 09:08:18 moisture 33
2017-10-01 09:23:06 state active
2017-10-01 09:23:06 temperature 23.3
helper:
CallBatteryFirmware 0
updateTimeCallBatteryFirmware 1506799584.91567
updateTimestampCallBatteryFirmware 2017-09-30 21:26:24
Attributes:
batteryFirmwareAge 8h
interval 300
room FlowerSens
verbose 5
webCmd statusRequest
Zitat von: CoolTux am 01 Oktober 2017, 09:21:00
Ist es sehr störend oder gleicht der Plot das aus?
Wenn ich ehrlich bin, ja, handle ich die Events lieber selber. Je nachdem wie ich sie brauche. 8) Das kann man ja mit den event-on-* attributen wunderbar steuern. Jetzt funktioniert auch leider das event-on-update Attribut nicht mehr. :( Vielleicht denkst du ja nochmal drüber nach. Würde mich freuen.
Grüße
um dir sensoren mit dem DeviceMonitor zu überwachen wäre es gut wenn state immer aktualisiert wird wenn das auslesen erfolgreich war und sonst nicht.
Du meinst das ein state wie unreachable hinderlich wäre? Aber der User soll doch sofort erkennen wie der Status ist, also unreachable oder disabled.
Hättest Du einen Vorschlag?
Grüße
Zitat von: fhainz am 01 Oktober 2017, 09:39:11
Anscheinend gibt es auch noch ein Problem mit dem batteryFirmwareAge Attribut. Die readings wurden gestern ~21:30 das letzte mal aktualisiert. Attribut ist auf 8h gesetzt.
Muss nicht zwingend kaputt sein. Es gab ja keine Änderungen.
Aber ich merke schon, das mit dem nur bei Änderung aktuallisieren ist doof. Ich Stelle das wieder um ;D
er ist nur hinderlich wenn er aktualisiert wird.
Sorry Andre, ich glaube es ist zu Früh. Er muss doch aktuallisiert also geschrieben werden. Sonst sieht man ihn ja nicht.
Oder meinst Du einen Event auslösen?? Also das nur ein Event ausgelöst werden soll wenn active und sonst nur das Reading schreiben ohne Event?
Zitat von: justme1968 am 01 Oktober 2017, 09:49:52
er ist nur hinderlich wenn er aktualisiert wird.
Kannst du mir das erklären? Ich hätte jetzt auch eher gesagt state aktualisieren.
Zitat von: CoolTux am 01 Oktober 2017, 09:49:51
Aber ich merke schon, das mit dem nur bei Änderung aktuallisieren ist doof. Ich Stelle das wieder um ;D
Klasse, danke! :)
Ich bin der letzte der sich gegen vernünftige Userwünsche stellt ;D ;D
state nur dann aktualisieren wenn die werte ausgelesen werden können oder der wert sich ändert.
mit anderen worten: wenn unreachable drin steht nur aktualisieren wenn der neue wert != unreachabe list, wenn reachable dann immer aktualisieren.
Ah, jetzt verstehe ich. Klingt logisch und vernünftig.
Allerdings ändert sich der Wert eh immer. Denn immer wenn neue Daten geholt werden steht als state fetch Sensor data
ZitatDenn immer wenn neue Daten geholt werden steht als state fetch Sensor data
Und das ist auch gut so. :) Ich nutze das nämlich. Ich lasse die Bilder der Pflanzen auf meinem FTUI nämlich vibrieren während die Daten aberufen werden. Somit sehe ich dass die Daten geholt werden.
Durch Klick auf die Pflanze wird der Datenabruf manuell gestartet. Ich sehe dann, solange die Pflanze vibriert, werden Daten neu eingelesen (in der Regel dauert das ein paar Sekunden).
VG, Thomas
Zitat von: ToM_ToM am 01 Oktober 2017, 10:17:34
Und das ist auch gut so. :) Ich nutze das nämlich. Ich lasse die Bilder der Pflanzen auf meinem FTUI nämlich vibrieren während die Daten aberufen werden. Somit sehe ich dass die Daten geholt werden.
Durch Klick auf die Pflanze wird der Datenabruf manuell gestartet. Ich sehe dann, solange die Pflanze vibriert, werden Daten neu eingelesen (in der Regel dauert das ein paar Sekunden).
VG, Thomas
Das klingt ja witzig. Mit der neuen Version die gerade in Entwicklung ist ändert sich aber der Abruf state. In der aktuellen Version heißt der Status glaube noch anders.
Ich habe eine neue Version ins Devel geladen. Das Error Handling ist komplett überarbeitet.
Hab die neue Version eingespielt und teste.
Mal eine Grundsätzliche frage. Gibt es einen unterschied zwischen dem manuellen update per set statusRequest und dem automatischen nach dem restart bzw nach ablauf der intervall zeit?
Hintergrund: Ein Sensor war seit ein paar stunden nicht erreichbar. Habs erst eben nach dem Update gemerkt. Auch dem restart war der Sensor noch unreachable. Nach einem manuellen statusRequest war er sofort active. Das ist mir schon öfters aufgefallen, was jetzt nix heißen muss.
Grüße
Zu mindest beim neuen Modul spielt es keine Rolle. Die InternalTimer Funktion des Modules ruft nur die statusRequest Funktion auf. Das selbe macht ein set statusRequest.
Beim alten weiß ich es nicht 100%tig sollte aber auch da so sein.
Alles klar, danke. Dann war's nur zufall!
Kurz noch was zum Batterie und Firmware Update. Mach mal ein list vom Sensor Device. Unter helper findest du einen timestamp vom letzen Aufruf der Funktion für Batterie Firmware. Ausgehend von diesem timestamp musst du deine Stunden dazu zählen. Jetzt aktuallisiert sich auch der timestamp wenn die Werte gleich bleiben.
ZitatDas klingt ja witzig. Mit der neuen Version die gerade in Entwicklung ist ändert sich aber der Abruf state. In der aktuellen Version heißt der Status glaube noch anders.
Was heißt "...ändert sich der Abruf state..."? Du meinst den Wert? Momentan steht dort "call data" während des Abrufs und bei Erfolg dann "active", bei Nichterfolg "inactive".
VG, Thomas
Naja in in der Entwicklerversion heißt es fetch Sensor data beim Abruf ;D
Der Rest bleibt
ZitatNaja in in der Entwicklerversion heißt es fetch Sensor data beim Abruf
Damit könnte ich leben. :) Auch wenn ich für meinen persönlichen Geschmack "call data" irgendwie schöner finde. ;)
VG, Thomas
Hi Leon,
ich habe dein neue Version 1.1.51 in Erprobung, ich bekomme aber immer ein
grep: AA:BB:CC:DD:EE:FF: No such file or directory
für alle meine Flowermonitoren.
Zitat von: inoma am 02 Oktober 2017, 21:31:49
Hi Leon,
ich habe dein neue Version 1.1.51 in Erprobung, ich bekomme aber immer ein
grep: AA:BB:CC:DD:EE:FF: No such file or directory
für alle meine Flowermonitoren.
Zeig mal bitte ein list.
So siehts aus:
Internals:
BTMAC C4:7C:8D:61:B4:D9
DEF C4:7C:8D:61:B4:D9
INTERVAL 902
NAME Blume2
NR 4056
STATE M[20]: 23   T: 20.2°C   L: 12 Lux   Ft: 118   10-02 21:58
TYPE XiaomiFlowerSens
VERSION 1.1.51
READINGS:
2017-07-13 21:47:38 BatterieWechsel 05.07.2017
2017-10-02 21:58:43 OldMoist 23
2017-10-02 21:58:43 battery ok
2017-10-02 21:58:43 batteryLevel 98
2017-10-02 21:58:43 fertility 118
2017-10-02 21:58:43 firmware 3.1.8
2017-10-02 21:23:10 lastGattError Function not implemented (38)
2017-10-02 21:58:43 lux 120
2017-10-02 21:58:43 lux10 12
2017-10-02 21:58:43 moisture 23
2017-10-02 21:58:43 state active
2017-10-02 21:58:43 temperature 20.2
2017-10-02 21:58:43 timestamp 10-02 21:58
helper:
updateTimeCallBatteryFirmware 0
Attributes:
alias Dracaena Marginata S
comment Sparsam alle 5 Tage gießen;
event-on-change-reading lux,moisture,battery,batteryLevel
event-on-update-reading moisture
group BLUMEN
interval 902
minMoisture 20
minTemp 19
room Favourites,Schlafzimmer,Wohnung
sortby 12
sshHost pizero
stateFormat M[20]: moisture   T: temperature°C   L: lux10 Lux   Ft: fertility   timestamp
userReadings timestamp:moisture.* {sprintf("%s",substr(ReadingsTimestamp("Blume2","moisture","nA"),5,11))},
lux10:lux.* {sprintf("%d",((ReadingsVal("Blume2","lux","nA")+5)/10))}
verbose 0
Wie hast Du das Modul installiert? Neustart schon probiert?
Gehe mal bitte in die Detailansicht eines Devices und mache dann ein DEF und ein modify
Hallo Leon,
ich habe das modul bei Dir aus dem Devel kopiert, dann ins /opt/fhem/FHEM kopiert, dann
sudo chmod 644 74_XiaomiFlowerSens.pm
sudo chown -R root:dialout 74_XiaomiFlowerSens.pm
Neustart und DEF und ein modify habe ich gerade auch probiert, keine Änderung.
Ich glaube es liegt am sshHost, wenn ich das Attribut sshHost lösche, dann ein 'save' mache, dann bekomme ich die Meldung nicht.
Das ist durchaus Möglich, wobei ich eigentlich dachte für ssh Host alles mitgenommen zu haben. Ich muss da selber erst noch mal schauen.
Danke fürs testen
Hab das sshHost gerade nochmal bei allen 8 Blumen rausgenommen, ohne sshHost habe ich keine Meldung im Logfile.
Liegt definitiv am ssh. So ein misst und ich weiß noch nicht wo das her kommt. Schaue ich mir die Tage dann mal an.
Also ich konnte den SSH reparieren. Würde mich freuen wenn das mal einer testen kann, da er bei mir zu lange braucht zwischen cen charwrite und dem charread. Da bekomme ich dann korrupte Daten.
Bitte mit verbose 5 testen
Hallo Leon,
das hats bei mir ziemlich zerschossen, das genze endet mit "Cannot fork: Cannot allocate memory", und FHEM hängt sich dann auf.
2017.10.04 08:06:53 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 22782
2017.10.04 08:08:14 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 23433
2017.10.04 08:08:21 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 23489
2017.10.04 08:08:23 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 23523
2017.10.04 08:08:25 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 23538
2017.10.04 08:09:01 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 23817
ssh_exchange_identification: read: Connection reset by peer
2017.10.04 08:09:21 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:09:21 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume3|C4:7C:8D:63:49:16|error|read|0x35|{"gtResult":"Device or resource busy (16)\n"}')}
2017.10.04 08:09:21 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:09:21 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume3|C4:7C:8D:63:49:16|error|read|0x35|{"gtResult":"Device or resource busy (16)\n"}')}
ssh_exchange_identification: Connection closed by remote host
2017.10.04 08:09:21 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:09:21 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: Connection closed by remote host
2017.10.04 08:09:40 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:09:40 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume3|C4:7C:8D:63:49:16|ok|write|0x33|{"gtResult":"no data response"}')}
2017.10.04 08:09:40 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:09:40 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume3|C4:7C:8D:63:49:16|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}')}
2017.10.04 08:09:40 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:09:40 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume3|C4:7C:8D:63:49:16|ok|write|0x33|{"gtResult":"no data response"}')}
2017.10.04 08:09:40 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:09:40 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume3|C4:7C:8D:63:49:16|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}')}
ssh_exchange_identification: Connection closed by remote host
2017.10.04 08:09:40 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:09:40 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume3|C4:7C:8D:63:49:16|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}')}
2017.10.04 08:09:40 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:09:40 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume3|C4:7C:8D:63:49:16|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}')}
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
2017.10.04 08:09:51 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:09:51 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume3|C4:7C:8D:63:49:16|error|read|0x35|{"gtResult":"no data response"}')}
2017.10.04 08:09:51 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:09:51 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume3|C4:7C:8D:63:49:16|error|read|0x35|{"gtResult":"no data response"}')}
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
2017.10.04 08:09:54 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:09:54 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume3|C4:7C:8D:63:49:16|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}')}
2017.10.04 08:09:54 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:09:54 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|read|0x35|{"gtResult":"Device or resource busy (16)\n"}')}
2017.10.04 08:09:54 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:09:54 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume3|C4:7C:8D:63:49:16|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}')}
2017.10.04 08:09:54 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:09:54 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|read|0x35|{"gtResult":"Device or resource busy (16)\n"}')}
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
2017.10.04 08:10:09 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:10:09 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|ok|write|0x33|{"gtResult":"no data response"}')}
2017.10.04 08:10:09 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:10:09 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|ok|write|0x33|{"gtResult":"no data response"}')}
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: Connection closed by remote host
2017.10.04 08:10:28 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:10:28 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}')}
2017.10.04 08:10:28 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:10:28 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}')}
ssh_exchange_identification: Connection closed by remote host
2017.10.04 08:10:28 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:10:28 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|read|0x35|{"gtResult":"Device or resource busy (16)\n"}')}
2017.10.04 08:10:28 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:10:28 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|read|0x35|{"gtResult":"Device or resource busy (16)\n"}')}
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: Connection closed by remote host
2017.10.04 08:10:29 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:10:29 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:10:29 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|write|0x33|no gatttool binary found. Please check if bluez-package is properly installed')}
2017.10.04 08:10:29 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|write|0x33|no gatttool binary found. Please check if bluez-package is properly installed')}
2017.10.04 08:10:29 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:10:29 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:10:29 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|write|0x33|no gatttool binary found. Please check if bluez-package is properly installed')}
2017.10.04 08:10:29 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|write|0x33|no gatttool binary found. Please check if bluez-package is properly installed')}
ssh_exchange_identification: read: Connection reset by peer
2017.10.04 08:10:30 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:10:30 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|ok|write|0x33|{"gtResult":"no data response"}')}
2017.10.04 08:10:30 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:10:30 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|ok|write|0x33|{"gtResult":"no data response"}')}
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
2017.10.04 08:10:37 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 24490
2017.10.04 08:10:44 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 24568
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: read: Connection reset by peer
2017.10.04 08:10:48 1: PERL WARNING: Use of uninitialized value $gatttool in scalar chomp at ./FHEM/74_XiaomiFlowerSens.pm line 367.
ssh_exchange_identification: Connection closed by remote host
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}')}
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gatttool in -x at ./FHEM/74_XiaomiFlowerSens.pm line 369.
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}')}
2017.10.04 08:10:48 1: PERL WARNING: Use of uninitialized value $gatttool in scalar chomp at ./FHEM/74_XiaomiFlowerSens.pm line 367.
2017.10.04 08:10:48 1: PERL WARNING: Use of uninitialized value $grepGatttool in pattern match (m//) at ./FHEM/74_XiaomiFlowerSens.pm line 384.
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}')}
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|read|0x35|no gatttool binary found. Please check if bluez-package is properly installed')}
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gatttool in -x at ./FHEM/74_XiaomiFlowerSens.pm line 369.
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|ok|write|0x33|{"gtResult":"Device or resource busy (16)\n"}')}
2017.10.04 08:10:49 1: PERL WARNING: Use of uninitialized value $gatttool in scalar chomp at ./FHEM/74_XiaomiFlowerSens.pm line 367.
2017.10.04 08:10:49 1: PERL WARNING: Use of uninitialized value $grepGatttool in pattern match (m//) at ./FHEM/74_XiaomiFlowerSens.pm line 384.
2017.10.04 08:10:49 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:49 1: PERL WARNING: Use of uninitialized value $grepGatttool in pattern match (m//) at ./FHEM/74_XiaomiFlowerSens.pm line 384.
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|write|0x33|no gatttool binary found. Please check if bluez-package is properly installed')}
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|read|0x35|no gatttool binary found. Please check if bluez-package is properly installed')}
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: Connection closed by remote host
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|write|0x33|no gatttool binary found. Please check if bluez-package is properly installed')}
ssh_exchange_identification: Connection closed by remote host
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gatttool in -x at ./FHEM/74_XiaomiFlowerSens.pm line 369.
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|write|0x33|no gatttool binary found. Please check if bluez-package is properly installed')}
ssh_exchange_identification: Connection closed by remote host
2017.10.04 08:10:56 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 24618
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|read|0x35|no gatttool binary found. Please check if bluez-package is properly installed')}
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|read|0x35|no gatttool binary found. Please check if bluez-package is properly installed')}
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 400.
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|read|0x35|no gatttool binary found. Please check if bluez-package is properly installed')}
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 418.
2017.10.04 08:10:56 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|error|read|0x35|no gatttool binary found. Please check if bluez-package is properly installed')}
ssh_exchange_identification: read: Connection reset by peer
ssh_exchange_identification: read: Connection reset by peer
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gatttool in scalar chomp at ./FHEM/74_XiaomiFlowerSens.pm line 367.
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gatttool in -x at ./FHEM/74_XiaomiFlowerSens.pm line 369.
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gatttool in scalar chomp at ./FHEM/74_XiaomiFlowerSens.pm line 367.
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gatttool in -x at ./FHEM/74_XiaomiFlowerSens.pm line 369.
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
ssh_exchange_identification: read: Connection reset by peer
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gatttool in scalar chomp at ./FHEM/74_XiaomiFlowerSens.pm line 367.
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gatttool in -x at ./FHEM/74_XiaomiFlowerSens.pm line 369.
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gatttool in scalar chomp at ./FHEM/74_XiaomiFlowerSens.pm line 367.
2017.10.04 08:10:56 1: PERL WARNING: Use of uninitialized value $gatttool in -x at ./FHEM/74_XiaomiFlowerSens.pm line 369.
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
2017.10.04 08:10:56 1: Cannot fork: Cannot allocate memory
Hast du versucht alle 8 auf einmal ab zu rufen? Deaktiviere Mal bitte 7 und mach mal bitte ein Neustart von FHEM. Danach schauen wir mal
Hallo Leon,
aktiv habe ich nicht versucht, alle 8 Blumen auf einmal abzurufen. Ich habe alles so gelassen wie vorher auch. Ich habe einfach deine Developer Version von 74_XiaomiFlowerSens.pm eingespielt, und eine re-load und dann Neustart gemacht. Wann der Aufruf erfolgt steuere ich nicht, das kann man ja auch nicht einzeln einstellen, oder?
Ich werde es heute Abend mal probieren.
Gruss!
Klar kannst das. Einfach ein set statusRequest bei einer machen. ;D
Hallo Leon,
die devel version mit dem SSH funktioniert irgendwie nicht. Die Readings werden nicht aktualisiert.
Hier der LOG mit level 5.
Ab 20:08 habe ich den alten 74_XiaomiFlowerSens.pm zurückkopiert, und ein re-load gemacht. Das hat dann funktioniert, readings wurden aktualisiert.
2017.10.04 22:04:13 2: Presence_GTag_RED_collect: Event: present
2017.10.04 22:04:24 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2017.10.04 22:04:59 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}
2017.10.04 22:04:59 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2017.10.04 22:04:59 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2017.10.04 22:04:59 5: XiaomiFlowerSens (Blume1) - Handle0x35
2017.10.04 22:04:59 4: XiaomiFlowerSens (Blume1) - WriteReadings: Readings were written
2017.10.04 22:04:59 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2017.10.04 22:05:02 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 0
2017.10.04 22:05:07 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2017.10.04 22:05:07 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
2017.10.04 22:05:07 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|write|0x33|{"gtResult":"no data response"}
2017.10.04 22:05:07 4: XiaomiFlowerSens (Blume1) - CallSensData: call function ExecGatttool_Run
2017.10.04 22:05:09 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2017.10.04 22:05:11 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2017.10.04 22:05:20 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:05:20 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:05:20 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}
2017.10.04 22:05:20 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2017.10.04 22:05:20 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2017.10.04 22:05:20 5: XiaomiFlowerSens (Blume1) - Handle0x35
2017.10.04 22:05:20 4: XiaomiFlowerSens (Blume1) - WriteReadings: Readings were written
2017.10.04 22:05:20 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2017.10.04 22:05:22 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 0
2017.10.04 22:05:45 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2017.10.04 22:05:45 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
2017.10.04 22:05:45 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|write|0x33|{"gtResult":"no data response"}
2017.10.04 22:05:45 4: XiaomiFlowerSens (Blume1) - CallSensData: call function ExecGatttool_Run
2017.10.04 22:05:47 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2017.10.04 22:05:52 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:05:52 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:05:52 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}
2017.10.04 22:05:52 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2017.10.04 22:05:52 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2017.10.04 22:05:52 5: XiaomiFlowerSens (Blume1) - Handle0x35
2017.10.04 22:05:52 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2017.10.04 22:05:54 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 0
2017.10.04 22:06:01 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2017.10.04 22:06:01 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
2017.10.04 22:06:01 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|write|0x33|{"gtResult":"no data response"}
2017.10.04 22:06:01 4: XiaomiFlowerSens (Blume1) - CallSensData: call function ExecGatttool_Run
2017.10.04 22:06:03 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2017.10.04 22:06:06 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:06:06 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:06:06 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}
2017.10.04 22:06:06 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2017.10.04 22:06:06 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2017.10.04 22:06:06 5: XiaomiFlowerSens (Blume1) - Handle0x35
2017.10.04 22:06:06 4: XiaomiFlowerSens (Blume1) - WriteReadings: Readings were written
2017.10.04 22:06:06 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2017.10.04 22:06:09 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 0
2017.10.04 22:06:20 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2017.10.04 22:06:20 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
2017.10.04 22:06:20 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|write|0x33|{"gtResult":"no data response"}
2017.10.04 22:06:20 4: XiaomiFlowerSens (Blume1) - CallSensData: call function ExecGatttool_Run
2017.10.04 22:06:22 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2017.10.04 22:06:35 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result connect error,Function not implemented (38)
2017.10.04 22:06:35 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 1
2017.10.04 22:06:42 3: Watchdog Presence_Bernd_iBTon_collect_a triggered
2017.10.04 22:06:42 2: iBTon Absent
2017.10.04 22:06:46 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)
2017.10.04 22:06:46 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 2
2017.10.04 22:06:51 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:06:51 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:06:51 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}
2017.10.04 22:06:51 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2017.10.04 22:06:51 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2017.10.04 22:06:51 5: XiaomiFlowerSens (Blume1) - Handle0x35
2017.10.04 22:06:51 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2017.10.04 22:06:53 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 0
2017.10.04 22:07:00 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)
2017.10.04 22:07:00 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 1
2017.10.04 22:07:07 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2017.10.04 22:07:07 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
2017.10.04 22:07:07 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|write|0x33|{"gtResult":"no data response"}
2017.10.04 22:07:07 4: XiaomiFlowerSens (Blume1) - CallSensData: call function ExecGatttool_Run
2017.10.04 22:07:10 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2017.10.04 22:07:21 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:07:21 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:07:21 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}
2017.10.04 22:07:21 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2017.10.04 22:07:21 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2017.10.04 22:07:21 5: XiaomiFlowerSens (Blume1) - Handle0x35
2017.10.04 22:07:21 4: XiaomiFlowerSens (Blume1) - WriteReadings: Readings were written
2017.10.04 22:07:21 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2017.10.04 22:07:23 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 0
2017.10.04 22:07:26 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2017.10.04 22:07:26 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
2017.10.04 22:07:26 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|write|0x33|{"gtResult":"no data response"}
2017.10.04 22:07:26 4: XiaomiFlowerSens (Blume1) - CallSensData: call function ExecGatttool_Run
2017.10.04 22:07:29 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2017.10.04 22:07:41 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result connect error,Function not implemented (38)
2017.10.04 22:07:41 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 1
2017.10.04 22:07:48 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:07:48 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:07:48 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}
2017.10.04 22:07:48 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2017.10.04 22:07:48 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2017.10.04 22:07:48 5: XiaomiFlowerSens (Blume1) - Handle0x35
2017.10.04 22:07:48 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2017.10.04 22:07:50 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 0
2017.10.04 22:07:58 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)
2017.10.04 22:07:58 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 1
2017.10.04 22:08:04 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2017.10.04 22:08:04 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
2017.10.04 22:08:04 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|write|0x33|{"gtResult":"no data response"}
2017.10.04 22:08:04 4: XiaomiFlowerSens (Blume1) - CallSensData: call function ExecGatttool_Run
2017.10.04 22:08:07 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2017.10.04 22:08:08 1: PERL WARNING: Subroutine XiaomiFlowerSens_Initialize redefined at ./FHEM/74_XiaomiFlowerSens.pm line 63.
2017.10.04 22:08:08 1: PERL WARNING: Subroutine XiaomiFlowerSens_Define redefined at ./FHEM/74_XiaomiFlowerSens.pm line 94.
2017.10.04 22:08:08 1: PERL WARNING: Subroutine XiaomiFlowerSens_Undef redefined at ./FHEM/74_XiaomiFlowerSens.pm line 129.
2017.10.04 22:08:08 1: PERL WARNING: Subroutine XiaomiFlowerSens_Attr redefined at ./FHEM/74_XiaomiFlowerSens.pm line 145.
2017.10.04 22:08:08 1: PERL WARNING: Subroutine XiaomiFlowerSens_stateRequest redefined at ./FHEM/74_XiaomiFlowerSens.pm line 199.
2017.10.04 22:08:08 1: PERL WARNING: Subroutine XiaomiFlowerSens_stateRequestTimer redefined at ./FHEM/74_XiaomiFlowerSens.pm line 217.
2017.10.04 22:08:08 1: PERL WARNING: Subroutine XiaomiFlowerSens_Set redefined at ./FHEM/74_XiaomiFlowerSens.pm line 239.
2017.10.04 22:08:13 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)
2017.10.04 22:08:13 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 1
2017.10.04 22:08:17 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:08:17 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.10.04 22:08:17 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}
2017.10.04 22:08:17 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2017.10.04 22:08:17 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2017.10.04 22:08:17 5: XiaomiFlowerSens (Blume1) - Handle0x35
2017.10.04 22:08:17 4: Sub XiaomiFlowerSens_Run (Blume1) - start blocking call
2017.10.04 22:08:17 4: Sub XiaomiFlowerSens_BlockingRun (Blume1) - Running nonBlocking
2017.10.04 22:08:20 5: Sub XiaomiFlowerSens_callGatttool (Blume1) - WFR: 1
2017.10.04 22:08:23 4: Sub XiaomiFlowerSens_Run (Blume1) - start blocking call
2017.10.04 22:08:29 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - write data to host pizero
2017.10.04 22:08:29 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charWrite loop 1
2017.10.04 22:08:29 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - charWrite wresp: Characteristic value was written successfully
2017.10.04 22:08:29 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - run gatttool
2017.10.04 22:08:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call data from host pizero
2017.10.04 22:08:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call gatttool charRead loop 1
2017.10.04 22:08:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - processing gatttool response. sensData[0]: Characteristic value/descriptor
2017.10.04 22:08:30 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - processing gatttool response. sensData: c0 00 00 a4 00 00 00 1a 60 02 02 3c 00 fb 34 9b
2017.10.04 22:08:31 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - call firm/batt data from host pizero
2017.10.04 22:08:31 4: Sub XiaomiFlowerSens (Blume1) - call gatttool readBatFw loop 1
2017.10.04 22:08:31 4: Sub XiaomiFlowerSens_callGatttool (Blume1) - processing gatttool response. batFwData: 61 27 33 2e 31 2e 38
2017.10.04 22:08:31 4: Sub XiaomiFlowerSens_BlockingRun (Blume1) - Processing response data: c0 00 00 a4 00 00 00 1a 60 02 02 3c 00 fb 34 9b
2017.10.04 22:08:31 4: Sub XiaomiFlowerSens_BlockingRun (Blume1) - no dataerror, create encode json: {"fertility":608,"firmware":"3.1.8","temp":192,"blevel":97,"moisture":26,"lux":164}
2017.10.04 22:08:32 4: Sub XiaomiFlowerSens_BlockingDone (Blume1) - Abschluss!
Vielen Dank fürs testen.
Ich habe auch bemerkt das es mit SSH große Probleme auf einmal gibt. Was ich nicht ganz verstehe ist das selbst wenn ich es normal auf der Konsole ausführe es nicht geht.
ssh webapp01 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
und dann
ssh webapp01 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x35 2>&1 /dev/null'
Und dennoch kommt nur Mist bei raus.
Kannst Du das mal bitte bei Dir testen?
Grüße
Hallo Leon,
getestet. Ich habe dein webapp01 durch meinen pizero ersetzt. Die shell fragt dann immer nach dem Passwort vom pizero. Wenn ich das dann eingebe, kommt beim ersten Befehl "connect: Device or resource busy (16)", beim zweiten Befehl kommt "connect error: Connection refused (111)"
Du musst versuchen den Aufruf so zu machen das sah mit Zertifikat läuft. Also bei Dir am besten als User fhem
Dazu mach Dich mal zu root und führe das so aus
su -c 'ssh webapp01 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' ' -s /bin/bash fhem
Und dann gleich danach den read
Hallo Leon,
bei mir läuft FHEM unter root wegen SONOS. Ich habe folgendes:
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Software caused connection abort (103)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x35 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~#
Das ist aber sehr seltsam, das hatte doch immer bei Dir geklappt.
Mach mal bitte so lange den write bis es klappt und dann gleich den read.
Ok nach zehn Mal kannst aber auch aufhören ;D
Ich habe alles gegeben (10x): Guck mal die letzten Zeilen :-)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x35 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero test
root@jessie:~# ssh pizero test
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'echo test'
test
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Software caused connection abort (103)
root@jessie:~# ssh pizero 'echo das waren jetzt 10x, zum Schluss wieder connection abort'
das waren jetzt 10x, zum Schluss wieder connection abort
root@jessie:~#
Och menno. Und wenn Du das mit dem aktuellen Modul machst, dann geht das alles? Schon sehr seltsam.
Hallo,
ist nur ein Kleinigkeit, aber kann man in dem Modul die Standardauswahl für die Abfrage des Sensors umdrehen, bei mir steht immer "clearFirmwareReading" als gewählt drin, ich hätte aber lieber "statusRequest" als Vorgabe.
Danke
Gruß Uwe
Das geht leider nicht. FHEMWEB sortiert aufsteigend. Wüsste ich nicht wie man das beeinflussen kann.
Du könntest aber 2 comboboxen machen.
get statusRequest
set clearFirmwareReading
Das kann man machen. Ich schaue mal.
Zitat von: inoma am 05 Oktober 2017, 22:13:12
Ich habe alles gegeben (10x): Guck mal die letzten Zeilen :-)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x35 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero test
root@jessie:~# ssh pizero test
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'echo test'
test
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Connection refused (111)
root@jessie:~# ssh pizero 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F 2>&1 /dev/null'
connect error: Software caused connection abort (103)
root@jessie:~# ssh pizero 'echo das waren jetzt 10x, zum Schluss wieder connection abort'
das waren jetzt 10x, zum Schluss wieder connection abort
root@jessie:~#
Kannst Du bitte die neuste Devel Version testen. Danke
Hallo Leon, bin jetzt ne Woche unterwegs, kann ich wieder am Samstag machen. Sorry!
Völlig ok. Reicht aus.
Vielen Dank
Grüße
Hallo Leon, habs gerade mal angetested, scheint zu funktionieren.
Keine Probleme mehr! Danke!
Beste Grüsse!
Echt jetzt? Ich werde ja irre.
Musste zwar meine Grundidee damit über den Haufen werfen aber was soll's.
Freue mich das es nun geht. Lass Mal bitte übers WE laufen.
Habe gerade noch meine eine aktuelle Version ins Devel Git geladen. Ab sofort heißt es get statusRequest. Bitte darauf achten.
Und kann bitte das ssh noch mal getestet werden. Danke!
Zitat von: mumpitzstuff am 06 Oktober 2017, 21:25:44
Du könntest aber 2 comboboxen machen.
get statusRequest
set clearFirmwareReading
Zitat von: CoolTux am 06 Oktober 2017, 22:27:15
Das kann man machen. Ich schaue mal.
Hallo!
Anfangs fang ich diese Änderung gut, nun hab ein paar kleine Probleme damit. Ich muss dazu sagen dass meine Sensoren via MQTT an mein Haupt-FHEM angebunden sind.
Einen manuellen statusRequest konnte ich bisher mit dem MQTT-Device auf meinem Haupt-FHEM via publishSet von dem anderen FHEM System anfordern. Da es im MQTT-Modul nur ein publishSet und kein publishGet gibt, hab ich hier mein erstes Problem. Irgendwie wird das schon funktionieren, denke ich, muss mir das erst näher anschauen.
Nachdem ein manueller statusRequest von meinem Haupt-FHEM gerade nicht funktioniert öffne ich nun in einem weiteren Tab mein anders FHEM-System klicke mich in den raum, klicke auf das vorher eingerichtete webCmd "statusRequest" und bekomme einen Fehler. Das webCmd attribut funktioniert ebenso nur mit einem Set ;D Also muss ich mich ins Device vorklicken um endlich update anzufordern.
Ich weiß, man kann es nicht allen recht machen ;D
Schönen Sonntag noch!
Grüße
Edit:Das MQTT Problem hab ich in den Griff bekommen.
Hallo Leon,
ssh geht, aber nicht so richtig.
Mit deiner Version 1.0.3 funktioniert alles gut. Mit der Version 1.1.60 verhält es sich wie folgt:
Ich habe 4 Raspberry Pi, 1x FHEM Hauptinstanz, die XiaomiFlowerSens Werte hole ich mir über SSH aus dem Flur (Raspberry Pi3) - ODER - Wohnzimmer (Raspberry PiZero) und Küche (Raspberry PiZero). Insgesamt sind 8 XiaomiFlowerSens/Blumen vorhanden, 3 im Wohnzimmer, 5 in der Küche. Die Intervalle stehen auf 901,902,903,904,...908, um zu verhindern, das die Sensoren alle gleichzeitig angesprochen werden.
Bei Anwesenheit verteile ich die Blumen über das SSH attribut auf auf die beiden Raspberry PiZero, bei Abwesenheit setzte ich alle 8 Blumen (also attribute sshHost ) auf den einen Raspberry Pi3 im Flur. Alsobei Abwesenheit werden die PiZero in der Küche/Wohnzimmer ausgeschaltet, und das sshHost attribut dann auf den Flur gesetzt.
Zusätzlich zu den Werten lasse ich mir den Timestamp anzeigen, damit ich weiss, wann die Werte aktualisiert werden.
Ich beobachte folgendes:
1) Bei Abwesenheit (Nur Raspberry Pi3 im Flur) werden die Werte bei der Version 1.1.60 seltener aktualisiert, als bei der Version 1.0.3. Ist einfach so das ich sehen das der letzte Timestamp schon mal eine Stunde alt ist, bei der Version 1.0.3 maximal 30 minuten.
2) Bei Anwesenheit (Raspberry PiZero in der Küche/Wohnzimmer ) funktioniert nur SSH über den piZero in der Küche, der PiZero im Wohzimmer liefert keinen Wert. In der Version 1.0.3 funktioniert das SSH zum PiZero im Wohzimmer einwandfrei
Um das zu testen habe ich auf der Hauptinstanz auf /opt/fhem/FHEM immer eine der beiden Versionen über die aktuelle Version kopiert, und dann in FHEM ein reload gemacht.
Näher analysiert habe ich das nicht. Hoffe ich habs einigermassen erklärt.
Grüsse
Zitat von: fhainz am 15 Oktober 2017, 13:08:29
Edit:
Das MQTT Problem hab ich in den Griff bekommen.
Kann ich also das get so lassen ;D
Freut mich das es geht. Verrate mal bitte wie Du es genau gemacht hast.
Grüße
Zitat von: inoma am 15 Oktober 2017, 19:36:08
Hallo Leon,
ssh geht, aber nicht so richtig.
Mit deiner Version 1.0.3 funktioniert alles gut. Mit der Version 1.1.60 verhält es sich wie folgt:
Ich habe 4 Raspberry Pi, 1x FHEM Hauptinstanz, die XiaomiFlowerSens Werte hole ich mir über SSH aus dem Flur (Raspberry Pi3) - ODER - Wohnzimmer (Raspberry PiZero) und Küche (Raspberry PiZero). Insgesamt sind 8 XiaomiFlowerSens/Blumen vorhanden, 3 im Wohnzimmer, 5 in der Küche. Die Intervalle stehen auf 901,902,903,904,...908, um zu verhindern, das die Sensoren alle gleichzeitig angesprochen werden.
Bei Anwesenheit verteile ich die Blumen über das SSH attribut auf auf die beiden Raspberry PiZero, bei Abwesenheit setzte ich alle 8 Blumen (also attribute sshHost ) auf den einen Raspberry Pi3 im Flur. Alsobei Abwesenheit werden die PiZero in der Küche/Wohnzimmer ausgeschaltet, und das sshHost attribut dann auf den Flur gesetzt.
Zusätzlich zu den Werten lasse ich mir den Timestamp anzeigen, damit ich weiss, wann die Werte aktualisiert werden.
Ich beobachte folgendes:
1) Bei Abwesenheit (Nur Raspberry Pi3 im Flur) werden die Werte bei der Version 1.1.60 seltener aktualisiert, als bei der Version 1.0.3. Ist einfach so das ich sehen das der letzte Timestamp schon mal eine Stunde alt ist, bei der Version 1.0.3 maximal 30 minuten.
2) Bei Anwesenheit (Raspberry PiZero in der Küche/Wohnzimmer ) funktioniert nur SSH über den piZero in der Küche, der PiZero im Wohzimmer liefert keinen Wert. In der Version 1.0.3 funktioniert das SSH zum PiZero im Wohzimmer einwandfrei
Um das zu testen habe ich auf der Hauptinstanz auf /opt/fhem/FHEM immer eine der beiden Versionen über die aktuelle Version kopiert, und dann in FHEM ein reload gemacht.
Näher analysiert habe ich das nicht. Hoffe ich habs einigermassen erklärt.
Grüsse
Hallo,
Vielen Dank für Deine gute Erklärung. Kann mir dieses unterschiedliche Verhalten aber irgendwie nicht wirklich erklären. Einzig das die Verzögerung zwischen schreiben eines Wertes der das auslesen aktiviert und dem eigentlichen auslesen zu hoch ist.
Ich muß noch mal darüber schlafen.
Grüße
Vor allem verstehe ich nicht was bei dem Wohnzimmer PiZero anders ist als beim Küchen PiZero. Das sollte doch eigentlich gleich sein, vor allem habe ich vor einem 1/2 Jahr das image vom Küchen PiZero auf den Wohnzimmer PiZero kopiert, und seitdem nur updates gemacht. Hast Du eine Idee, was ich da mal checken kann?
Läuft denn noch eine andere BT Sache auf dem Gerät.
Auf allen Raspi (also Flur/Kueche/Wohnzimmer) habe ich zusätzlich BT erkennung vom iPhone und Siemens GTag Bluetooth Beacon. Aber mit 1.0.3 funktionierts ja prima, auch alles parallel, nur mit dem SSH von 1.0.60 hakts.
Dieser Use Case steht auf relativ wackeligen Beinen. Zugriff auf das BT Device kann vermutlich immer nur Einer haben. Dein Scanning nach dem Beacon wird vermutlich das BT Device dauerhaft an sich binden bzw. bei einem Verlust der Bindung, diese neu aufbauen. Wenn du jetzt andere Dinge machst, kommt es immer drauf an wie schnell das erledigt ist. Ist die Routine nicht schnell genug, dann klaut sich dein Presence das BT Device wieder, bevor z.B. alle Pflanzen abgefragt sind und dann kommt es zu Problemen. Sowas kann gut gehen, muss es aber nicht. Das ist eher Zufall als reproduzierbar.
Meine Beobachtung ist das es reproduzierbar in 1.0.3 funktoniert, in 1.0.60 aber reproduzierbar nicht funktioniert. Ich habe die beiden Versionen über das Wochenende 4 mal wechselseitig ausprobiert.
Einzige Vorstellung die ich hätte wäre, das bei der aktuellen Version das schreiben und darauf aufbauende lesen innerhalb von 2-3s passiert.
In der Entwicklerversion können da zwischen schon mal bis zu 10s liegen. Eventuell funkt dann schon eine presence Erkennung dazwischen.
Leider gibt es aber auch keine anderen User welche sich hier mal zu Wort melden die ebenfalls ssh verwenden.
verwende ebenfalls ssh, habe aber gerade Probleme mit dem Empfang der Sensoren.
Versuche bis morgen mal mit der dev Version zu testen
Hallo Oli,
Du hast Probleme mit der aktuellen Version, richtig? Noch verwendest Du nicht die neue Devel?
Grüße
Genau. Sobald ich die Devel eingespielt habe, werde ich mich nochmal melden.
Hatte bei der aktuellen, stable, das Problem, dass meine Sensoren sporadisch nicht erreichbar waren, obwohl ich sie über das hcitool empfangen konnte
Achte bitte einmal darauf das kein anderes BT Tool sonst läuft. Wenn das vorher doch der Fall war starte Mal den Pi durch und lasse dann nur FHEM über ssh den gatttool Aufruf machen.
Grüße
Zitat von: CoolTux am 16 Oktober 2017, 08:14:44
Freut mich das es geht. Verrate mal bitte wie Du es genau gemacht hast.
Klar.
Im subscribeSet_* Attribut kann man vor dem Topic zusätzlich einen Perl Code aufrufen.
attr aloeVera.mqtt.bridge subscribeSet_statusRequest {fhem("get $device statusRequest")} /fhem-linux/aloeVera1/statusRequest
Grüße
Zitat von: CoolTux am 16 Oktober 2017, 16:34:26
Achte bitte einmal darauf das kein anderes BT Tool sonst läuft. Wenn das vorher doch der Fall war starte Mal den Pi durch und lasse dann nur FHEM über ssh den gatttool Aufruf machen.
Schaut soweit gut aus mit der neuen Version. Leider bekomme ich aber seit 07.10 keine Daten mehr von einem meiner Sensoren. Das schiebe ich aber eher auf den Sensor :(
Na das klingt doch schon mal super. Und Du machst das über SSH was Du jetzt als gut bezeichnest?
Wäre ja ein Lichtblick ;D
Ja, lasse die Sensoren über eine Pi über ssh abfragen.
Die detaillierte Fehlerausgabe finde ich super.
Habe lediglich das Gefühl, dass die Abfrage der Daten nun etwas länger dauert.
Kann aber auch täuschen ;)
Täuscht nicht, ist tatsächlich so. Liegt daran das ich nicht sofort in der selben Funktion nach dem write das read mache sondern erst das ganze auswerte und wenn vorher ein write war und dieser ok war macht er den read.
Grund für das ganze ist eigentlich das ich langsam mal anfangen will eine einheitliche BTLE Bibliothek zu bauen. Also eine Art Grundmodul oder Library wo die anderen Module welche BTLE nutzen drauf zugreifen können und sich um das ganze gatttool Zeug keine Gedanken mehr machen müssen.
Hey CoolTux,
läuft das Modul eig. parallel oder wird FHEM während der Datenabfrage blockiert? Ich habe gesehen dass das Calendar-Modul soweit erweitert wurde, dass es dort einen Flag gibt, mit dem man die Verarbeitung auf asynchron setzen kann und die Aktualisierung dann außerhalb von FHEM stattfindet. Das funktioniert auch super. Wäre das evtl. auch eine Überlegung für andere Module wie z.B. dieses hier?
Oder ist das vielleicht sogar schon integriert?
VG, Thomas
Zitat von: CoolTux am 17 Oktober 2017, 10:06:02
Grund für das ganze ist eigentlich das ich langsam mal anfangen will eine einheitliche BTLE Bibliothek zu bauen. Also eine Art Grundmodul oder Library wo die anderen Module welche BTLE nutzen drauf zugreifen können und sich um das ganze gatttool Zeug keine Gedanken mehr machen müssen.
Das wäre ne feine Sache und würde sicher vielen helfen :)
Zitat von: ToM_ToM am 17 Oktober 2017, 10:46:07
Hey CoolTux,
läuft das Modul eig. parallel oder wird FHEM während der Datenabfrage blockiert? Ich habe gesehen dass das Calendar-Modul soweit erweitert wurde, dass es dort einen Flag gibt, mit dem man die Verarbeitung auf asynchron setzen kann und die Aktualisierung dann außerhalb von FHEM stattfindet. Das funktioniert auch super. Wäre das evtl. auch eine Überlegung für andere Module wie z.B. dieses hier?
Oder ist das vielleicht sogar schon integriert?
VG, Thomas
Hallo Thomas,
Alle meine Module arbeiten nonBlocking, so auch dieses. Ich verwende bei diesem Modul die Blocking.pm. Boris verwendet bei seinem Kalendermodul ein von ihm selbst geschriebenes Modul welches ich auch schon Teste. Ich finde sein Konzept etwas besser wie das des Blocking.pm.
Aber wie gesagt, alle meine Module arbeiten nonBlocking
Grüße
Ich habe die neue Version nun stable gesetzt und ins offizielle FHEM update eingestellt.
Mahlzeit,
nach dem Update werde mit folgender Meldung im Log begrüßt:
2017.10.27 13:41:07 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/74_XiaomiFlowerSens.pm line 625.
Ich vermute das der Eintrag darunter auch noch dazu gehört:
grep: Schreibfehler: Datenübergabe unterbrochen (broken pipe)
Gruß
Pyro
Bekommst Du denn Daten vom Sensor? Benutzt Du ssh oder normal?
Ich nutze die normale Verbindung.
Wobei ich gerade sehe ich das wohl einen Teil des Logs unterschlagen haben:
2017.10.27 13:41:07 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 9045
2017.10.27 13:41:07 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/74_XiaomiFlowerSens.pm line 625.
grep: Schreibfehler: Datenübergabe unterbrochen (broken pipe)
Wobei ich aber eigentlich verbose 0 für jeden Sensor gesetzt habe, da ich einige an der Reichweitengrenze habe.
Tante EDIT sagt, das müsste mein Problemkind sein:
Internals:
BTMAC C4:7C:8D:61:B2:F0
DEF C4:7C:8D:61:B2:F0
INTERVAL 1800
NAME Blume4
NOTIFYDEV global
NR 115
NTFY_ORDER 50-Blume4
STATE active
TYPE XiaomiFlowerSens
VERSION 1.2.0
Helper:
DBLOG:
battery:
myDbLog:
TIME 1509104718.81092
VALUE ok
batteryLevel:
myDbLog:
TIME 1509104718.81092
VALUE 100
fertility:
myDbLog:
TIME 1509104719.02219
VALUE 5017
firmware:
myDbLog:
TIME 1509104718.81092
VALUE 2.6.2
lux:
myDbLog:
TIME 1509104719.02219
VALUE 2206
moisture:
myDbLog:
TIME 1509104719.02219
VALUE 77
state:
myDbLog:
TIME 1509104719.02219
VALUE active
temperature:
myDbLog:
TIME 1509104719.02219
VALUE 21.9
READINGS:
2017-10-27 13:45:18 battery ok
2017-10-27 13:45:18 batteryLevel 100
2017-10-27 13:45:19 fertility 5017
2017-10-27 13:45:18 firmware 2.6.2
2017-06-13 19:12:33 humidity 0
2017-10-27 13:41:07 lastGattError The BlockingCall Process terminated unexpectedly. Timedout
2017-10-27 13:45:19 lux 2206
2017-10-27 13:45:19 moisture 77
2017-10-27 13:45:19 state active
2017-10-27 13:45:19 temperature 21.9
helper:
CallBatteryFirmware 0
CallSensDataCounter 0
updateTimeCallBatteryFirmware 1509104718.80885
updateTimestampCallBatteryFirmware 2017-10-27 13:45:18
Attributes:
alias SZ_BL_1
event-min-interval battery:43200,batteryLevel:43200,fertility:7200,firmware:86400,lux:7200,moisture:7200,temperature:7200
event-on-change-reading .*
interval 1800
room FlowerSens
verbose 0
Zitat von: Pyromane am 27 Oktober 2017, 13:58:28
Wobei ich aber eigentlich verbose 0 für jeden Sensor gesetzt habe, da ich einige an der Reichweitengrenze habe.
2017.10.27 13:41:07 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 9045
Die Meldung kommt vom Modul Blocking.pm
Das Modul hält sich an die verbose Level von global
Zitat
[/code]
2017.10.27 13:41:07 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/74_XiaomiFlowerSens.pm line 625.
[/code]
Das ist eine Perlmeldung die ist unabhängig vom verbose des Modules
Im Endeffekt ist Dein Sensor nicht erreichbar gewesen zu dem Zeitpunkt. Die Perlwarnung kann ich weg bekommen.
Zitat von: CoolTux am 27 Oktober 2017, 14:14:07
Die Meldung kommt vom Modul Blocking.pm
Das Modul hält sich an die verbose Level von global
Das ist eine Perlmeldung die ist unabhängig vom verbose des Modules
So wie ich rudolfkoenig im Beitrag Antw:Blocking.pm Logfile Einträge (https://forum.fhem.de/index.php/topic,77057.msg689918.html#msg689918) verstanden habe, kann man dem Blocking.pm das verbose Level vom Modul übergeben.
Bitte um Korrektur, sollte ich da falsche verstanden haben.
Zitat von: CoolTux am 27 Oktober 2017, 14:14:07
Im Endeffekt ist Dein Sensor nicht erreichbar gewesen zu dem Zeitpunkt. Die Perlwarnung kann ich weg bekommen.
Bitte danke!
Zitat von: Pyromane am 27 Oktober 2017, 14:24:32
So wie ich rudolfkoenig im Beitrag Antw:Blocking.pm Logfile Einträge (https://forum.fhem.de/index.php/topic,77057.msg689918.html#msg689918) verstanden habe, kann man dem Blocking.pm das verbose Level vom Modul übergeben.
Bitte um Korrektur, sollte ich da falsche verstanden haben.
Bitte danke!
Durchaus möglich, er hat es vor lurzem für das DevIo Modul ja auch so gemacht. Ich schaue mir den Code heute Abend mal an.
Die Perlwarnung habe ich gefixt
Ich muss mich leider noch mal melden, mein Log wird regelrecht überflutet trotz verbose 0:
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:09 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
Hallo CoolTux,
hatte endlich Zeit ein Update zu machen...
...eigentlich hatte ich die ganzen FlowerSense-Sensoren bereits deaktiviert (packe jetzt dann den ganzen Gieß-Kram vom Balkon ;) )...
...aber nach dem Update noch mal aktiviert (also mal einen zum Test).
Läuft soweit wie zuvor (bis auf die geänderte Meldung während dem Daten-Abholen ;) )...
...ich nutze ssh, also auch das hat prompt wieder funktioniert.
Als ich ihn allerdings aktivieren wollte habe ich bemerkt, dass bei Klick auf das Attribut disable nur '1' angeboten wird.
Das Aktivieren habe ich dann per "deleteattr" gemacht, hat nat. geklappt...
...ebenso auf meinem Testsystem...
Wollte nur hinterlassen, dass es funktioniert (zumindest bei meinem "Quick-Check" vor dem Einmotten) und halt das bemerkte "Verhalten" bzgl. "disable"...
Gruß, Joachim
Zitat von: Pyromane am 29 Oktober 2017, 18:19:30
Ich muss mich leider noch mal melden, mein Log wird regelrecht überflutet trotz verbose 0:
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:09 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
Schaue ich mir die Tage an
Zitat von: MadMax-FHEM am 30 Oktober 2017, 01:55:18
Hallo CoolTux,
hatte endlich Zeit ein Update zu machen...
...eigentlich hatte ich die ganzen FlowerSense-Sensoren bereits deaktiviert (packe jetzt dann den ganzen Gieß-Kram vom Balkon ;) )...
...aber nach dem Update noch mal aktiviert (also mal einen zum Test).
Läuft soweit wie zuvor (bis auf die geänderte Meldung während dem Daten-Abholen ;) )...
...ich nutze ssh, also auch das hat prompt wieder funktioniert.
Als ich ihn allerdings aktivieren wollte habe ich bemerkt, dass bei Klick auf das Attribut disable nur '1' angeboten wird.
Das Aktivieren habe ich dann per "deleteattr" gemacht, hat nat. geklappt...
...ebenso auf meinem Testsystem...
Wollte nur hinterlassen, dass es funktioniert (zumindest bei meinem "Quick-Check" vor dem Einmotten) und halt das bemerkte "Verhalten" bzgl. "disable"...
Gruß, Joachim
Vielen Dank fürs testen. Freut mich das es klappt. Das mit disable habe ich mal so festgelegt. 0 ist für mich das selbe wie delete, da kann ich auch delete nehmen und nur 1 anbieten.
Grüße
Zitat von: CoolTux am 30 Oktober 2017, 05:54:15
Vielen Dank fürs testen. Freut mich das es klappt. Das mit disable habe ich mal so festgelegt. 0 ist für mich das selbe wie delete, da kann ich auch delete nehmen und nur 1 anbieten.
Grüße
Ah, ok.
Klar!
Danke für's Erstellen!
Gruß, Joachim
Zitat von: Pyromane am 29 Oktober 2017, 18:19:30
Ich muss mich leider noch mal melden, mein Log wird regelrecht überflutet trotz verbose 0:
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:08 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
2017.10.29 12:26:09 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"d2 00 00 dd 00 00 00 64 8e 0c 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 595.
Aus dem Fehler werde ich einfach nicht schlau. Was ich sagen kann ist das er versucht (warum auch immer) einen einfachen String in Zeile 596 durch eine Schleife laufen zu lassen wo Hash's ausgelesen werden. Da steht aber gar kein state drin.
Sorry, da werde ich mehr Daten brauchen.
Zitat von: CoolTux am 31 Oktober 2017, 08:34:27
Aus dem Fehler werde ich einfach nicht schlau. Was ich sagen kann ist das er versucht (warum auch immer) einen einfachen String in Zeile 596 durch eine Schleife laufen zu lassen wo Hash's ausgelesen werden. Da steht aber gar kein state drin.
Sorry, da werde ich mehr Daten brauchen.
Guten Abend CoolTux,
ich habe zwischenzeitlich das ganze System mal neugestartet und der Fehler ist erstmal weg.
Welche Daten würdest du den benötigen sollte der Fehler noch mal auftreten? Verbose 5?
Danke für deine Bemühungen!
Gruß
Pyro
Verbose 5 wäre auf jeden Fall dann hilfreich.
Grüße
Guten Abend,
hat schon jemand Langzeiterfahrungen mit dem Sensor was die Batterielaufzeit betrifft wenn man den default Intervall von 5 Minuten verwendet?
Zitat von: leif am 08 November 2017, 22:39:55
Guten Abend,
hat schon jemand Langzeiterfahrungen mit dem Sensor was die Batterielaufzeit betrifft wenn man den default Intervall von 5 Minuten verwendet?
Gut ich hatte zwar 10min Intervall aber wie folgt:
Laufzeit ein gutes halbes Jahr und Wert immer noch bei 100% bei 6 Sensoren (mal abgesehen von meinem ersten Testsensor: 75%)
Gruß, Joachim
Wozu braucht man ein 5 Minuten Intervall? Ich rufe das 1x die Stunde auf, das ist völlig ausreichend. Dann halten die Batterien auch ewig.
Besten Dank.
@mumpitz
Daher die Frage. Allein für die Überwachung der Pflanzen würde mir auch ein Intervall von einem Tag genügen, aber wenn selbst 10 Minuten Intervalle halbwegs sparsam mit der Batterie umgehen (danke Max) denke ich darüber nach die Helligkeitssensoren auch zur Steuerung des Lichtes zu verwenden.
Nach einem Update + FHEM Neustart habe ich immer einen sehr "interessanten" FlowerSens zustand:
2017.11.11 02:34:05 4: XiaomiFlowerSens (Blume2) - CallBatteryFirmware: call function ExecGatttool_Run
2017.11.11 02:34:05 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:06 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:07 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:08 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:09 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:10 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:11 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:13 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:14 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:15 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:17 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:18 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:19 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:20 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:21 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:22 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:23 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:24 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:25 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:26 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:27 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:28 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:29 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:30 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:31 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:32 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:33 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:34 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:35 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:36 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:37 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:38 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:39 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:40 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:41 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:42 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:43 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:44 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:45 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:46 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:47 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:48 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:49 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:50 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:51 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:52 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:54 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:55 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:56 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:57 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:58 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:34:59 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:35:00 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:35:01 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:35:02 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:35:03 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:35:04 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:35:05 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.11.11 02:35:05 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 9456
2017.11.11 02:35:05 4: XiaomiFlowerSens (Blume2) - WriteReadings: Readings were written
2017.11.11 02:35:05 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Aborted: The BlockingCall Process terminated
Internals:
BTMAC C4:7C:8D:62:A3:9A
DEF C4:7C:8D:62:A3:9A
INTERVAL 1800
NAME Blume2
NOTIFYDEV global
NR 116
NTFY_ORDER 50-Blume2
STATE error
TYPE XiaomiFlowerSens
VERSION 1.2.2
loglevel 4
Helper:
DBLOG:
state:
myDbLog:
TIME 1510364354.97059
VALUE error
READINGS:
2017-11-08 23:31:59 battery ok
2017-11-08 23:31:59 batteryLevel 100
2017-11-09 07:49:30 fertility 3809
2017-11-08 23:31:59 firmware 2.7.0
2017-06-22 20:42:00 humidity 0
2017-11-11 02:39:14 lastGattError The BlockingCall Process terminated unexpectedly. Timedout
2017-11-09 07:49:30 lux 105
2017-11-09 07:49:30 moisture 100
2017-11-11 02:39:14 state error
2017-11-09 07:49:30 temperature 21
helper:
CallBatteryFirmware 0
CallSensDataCounter 0
updateTimeCallBatteryFirmware 0
Attributes:
alias WZ_BL_Fest
event-min-interval battery:43200,batteryLevel:43200,fertility:7200,firmware:86400,lux:7200,moisture:7200,temperature:7200
event-on-change-reading .*
interval 1800
room FlowerSens
verbose 5
Ich habe keine anderen Funktionen laufen die Blauzahn nutzen, derzeit frage ich auch nur einen FlowerSense Sensor ab(die anderen hab ich disabled).
Wenn ich mittels top -b -d 1 | grep gatttool
nach laufen Prozessen schaue, sehe ich das
13827 fhem 20 0 16956 1324 1156 S 0,0 0,0 0:00.00 gatttool
länger als fünf Minuten ausgegeben wird. (JA, die ProzessID bleibt gleich).
Bin ich richtig in meiner Annahme das sich der Prozess aufgehängt hat und nicht wie eigentlich vorgesehen von blocking.pm beendet wird nach einem bestimmten Timeout.
Kill ich jetzt den Prozess 13827, so endet ein neuer StatusRequest wie folgt:
2017.11.11 02:57:12 4: XiaomiFlowerSens (Blume2) - CallBatteryFirmware: call function ExecGatttool_Run
2017.11.11 02:57:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:62:A3:9A --char-read -a 0x38 2>&1 /dev/null and loop 0
2017.11.11 02:57:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool loop result connect error,Device or resource busy (16)
2017.11.11 02:57:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:62:A3:9A --char-read -a 0x38 2>&1 /dev/null and loop 1
2017.11.11 02:57:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool loop result connect error,Device or resource busy (16)
2017.11.11 02:57:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:62:A3:9A --char-read -a 0x38 2>&1 /dev/null and loop 2
2017.11.11 02:57:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool loop result connect error,Device or resource busy (16)
2017.11.11 02:57:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:62:A3:9A --char-read -a 0x38 2>&1 /dev/null and loop 3
2017.11.11 02:57:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool loop result connect error,Device or resource busy (16)
2017.11.11 02:57:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:62:A3:9A --char-read -a 0x38 2>&1 /dev/null and loop 4
2017.11.11 02:57:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool loop result connect error,Device or resource busy (16)
2017.11.11 02:57:12 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool result connect error,Device or resource busy (16)
2017.11.11 02:57:12 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Done: gatttool return string: Blume2|C4:7C:8D:62:A3:9A|error|read|0x38|{"gtResult":"Device or resource busy (16)\n"}
2017.11.11 02:57:12 5: XiaomiFlowerSens (Blume2) - ProcessingErrors
2017.11.11 02:57:12 4: XiaomiFlowerSens (Blume2) - WriteReadings: Readings were written
Erst nach einem vollständigen Reboot kann ich wieder Sensoren abfragen.
Gruß und gute "Nacht"
Pyro
Bist du bei FHEM komplett auf dem neusten Stand? Gerade auch wegen Blocking.pm?
Welche Debian Version verwendest Du? Oder welche Version einer anderen Distribution?
Ja, mit dem vorigen Post war ich am aktuellen Stand, heute bekomme ich nur folgende Updates angeboten:
UPD FHEM/71_YAMAHA_AVR.pm
UPD FHEM/89_FULLY.pm
Und "version" liefert mir folgendes zurück
Blocking.pm 15412 2017-11-09 14:34:29Z rudolfkoenig
74_XiaomiFlowerSens.pm 15371 2017-11-01 06:37:56Z CoolTux
Ich nutze Ubuntu Server:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
Hast Du das Problem schon immer gehabt oder erst seit einiger Zeit?
Ich habe heute meine Pflanzen mal in TabletUI integriert und so den WAF gesteigert. Vielleicht kann jemand anderes mit dem Code ja auch was anfangen. Ist sicher noch ausbaufähig. Mich interessieren nur die Status "düngen notwendig" , "muss gegossen werden" , "düngen und gießen" bzw. "alles ok".
0. Attribute minMoisture und minFertility setzen, falls nicht schon geschehen.
1. userReading anlegen, das in TabletUI später ausgewertet wird. (danach einmal get ... statusRequest ausführen)
uistate {my $moist = ReadingsVal($name, "moisture",0);; my $minmoist = AttrVal($name,"minMoisture",10);; my $fert = ReadingsVal($name, "fertility",0);; my $minfert = AttrVal($name,"minFertility",50);; if ($moist < $minmoist && $fert < $minfert) {return "durstig+hungrig"} elsif ($moist < $minmoist) {return "durstig"} elsif ($fert < $minfert) {return "hungrig"} else {return "ok"}}
2. Code für TableUI hinzufügen. Beispiel:
<div class="cell">
<div data-type="symbol"
data-device="Ficus"
data-get="uistate"
data-icon="fs-hue_room_garden"
data-states='["durstig+hungrig","durstig","hungrig","ok"]'
data-colors='["#FF8C00","#6495ED","#8B4513","#32CD32"]'
class="big"></div>
<div data-type="label" class="top-narrow darker small">Ficus</div>
</div>
Grüße
Nils
Ich bin vielleicht zu doof, aber was muss ich machen um dieses Icon im FTUI verwenden zu können? In der FHEMWEB Oberfläche verwende ich auch hue_room_garden für die Pflanzen. Muss ich zusätzlich noch ein Icon-Font einbinden damit diese angezeigt werden, oder was muss ich machen? Mit dem vorherigen Codeschnipsel für FTUI wird bei mir dieses Icon leider nicht angezeigt. Andere Icons schon, aber dieses leider nicht. Was muss ich tun?
Ist dein Tablet-UI aktuell? Hat bei mir auf Anhieb funktioniert. Die fhemSVG.css wurde vor 3 Tagen ergänzt.
Mein Ftui war aktuell, aber die fhemSVG.css habe ich per Hand aktualisieren müssen. Wie du schon sagtest gab es da vor ein paar Tagen ein Update dass dann zum Erfolg führte und jetzt werden auch Icons angezeigt. Danke für den Hinweis.
Zitat von: CoolTux am 11 November 2017, 12:18:02
Hast Du das Problem schon immer gehabt oder erst seit einiger Zeit?
Ich kann dir leider kein Datum nennen, da ich meist das System und FHEM gleichzeitig update spricht ein Neustart fällig wird.
Gestern hat es ohne Update einen anderen Sensor(Blume4) getroffen, natürlich war dort verbose nicht auf 5 gestellt.
Ich habe gestern FHEM upgedatet. Seit dem werden die FlowerSensoren die per SSH-Host angebunden nicht mehr ausgelesen.
Hat sich in dem Modul diesbezüglich etwas geändert?
2017-11-25 11:14:09 XiaomiFlowerSens Olivenbaum fetch sensor data
2017-11-25 11:14:14 XiaomiFlowerSens Olivenbaum lastGattError: Invalid argument (22)
2017-11-25 11:14:14 XiaomiFlowerSens Olivenbaum error
2017.11.25 08:48:56 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 4750
2017.11.25 08:51:43 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 5067
2017.11.25 08:52:21 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Balkonblumen|C4:7C:8D:62:90:E1|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}')}: Can't use string ("fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 612.
2017.11.25 08:52:44 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 5283
2017.11.25 08:53:44 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 5496
2017.11.25 08:54:44 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 5615
2017.11.25 08:55:44 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 5731
2017.11.25 08:56:25 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('WZ.Orchidee|C4:7C:8D:65:BF:29|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}')}: Can't use string ("fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 612.
2017.11.25 08:56:44 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 5860
2017.11.25 08:57:13 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Olivenbaum|C4:7C:8D:62:8D:6B|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}')}: Can't use string ("fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 612.
2017.11.25 08:57:44 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 5977
2017.11.25 08:57:58 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Balkonblumen|C4:7C:8D:62:90:E1|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}')}: Can't use string ("fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 612.
2017.11.25 08:58:44 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 6197
Nichts was die Fehler erklären würde.
Wann war dein letztes Update?
ich denke vom Pi3 (Zentrale) vor ca 8 Wochen und vom Pi Zero W (SSH-Host) vor ca 4 Monaten.
Mach mal bitte verbose 5.
danke für Deine Unterstützung.
Bei Raspberrys habe ich jetzt geupdated. FHEM Update wie gesagt gestern.
Es geht auch nach dem Update nicht.
Hier die Verbose5 Meldungen:
2017.11.25 16:29:05 5: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Run: call gatttool with command ssh 192.168.178.66 'gatttool -i hci0 -b C4:7C:8D:62:8D:6B --char-read -a 0x35 2>&1 /dev/null' and loop 0
2017.11.25 16:29:10 5: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.11.25 16:29:10 4: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.11.25 16:29:10 4: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Done: gatttool return string: Olivenbaum|C4:7C:8D:62:8D:6B|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}
2017.11.25 16:29:10 5: XiaomiFlowerSens (Olivenbaum) - ProcessingNotification
2017.11.25 16:29:10 4: XiaomiFlowerSens (Olivenbaum) - ProcessingNotification: handle 0x35
2017.11.25 16:29:10 5: XiaomiFlowerSens (Olivenbaum) - Handle0x35
2017.11.25 16:29:10 4: XiaomiFlowerSens (Olivenbaum) - WriteReadings: Readings were written
2017.11.25 16:29:10 4: XiaomiFlowerSens (Olivenbaum) - WriteSensData: call function ExecGatttool_Run
2017.11.25 16:29:10 4: XiaomiFlowerSens (Olivenbaum) - WriteReadings: Readings were written
2017.11.25 16:29:10 4: XiaomiFlowerSens (Olivenbaum) - WriteSensData: call function ExecGatttool_Run
2017.11.25 16:29:13 5: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Run: call gatttool with command ssh 192.168.178.66 'gatttool -i hci0 -b C4:7C:8D:62:8D:6B --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 0
2017.11.25 16:29:19 5: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2017.11.25 16:29:19 4: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
2017.11.25 16:29:23 5: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Run: call gatttool with command ssh 192.168.178.66 'gatttool -i hci0 -b C4:7C:8D:62:8D:6B --char-read -a 0x35 2>&1 /dev/null' and loop 0
2017.11.25 16:29:27 5: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.11.25 16:29:27 4: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.11.25 16:29:27 4: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Done: gatttool return string: Olivenbaum|C4:7C:8D:62:8D:6B|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 \n"}
2017.11.25 16:29:27 5: XiaomiFlowerSens (Olivenbaum) - ProcessingNotification
2017.11.25 16:29:27 4: XiaomiFlowerSens (Olivenbaum) - ProcessingNotification: handle 0x35
2017.11.25 16:29:27 5: XiaomiFlowerSens (Olivenbaum) - Handle0x35
2017.11.25 16:29:27 4: XiaomiFlowerSens (Olivenbaum) - WriteReadings: Readings were written
2017.11.25 16:29:27 4: XiaomiFlowerSens (Olivenbaum) - WriteSensData: call function ExecGatttool_Run
2017.11.25 16:29:27 4: XiaomiFlowerSens (Olivenbaum) - WriteReadings: Readings were written
2017.11.25 16:29:27 4: XiaomiFlowerSens (Olivenbaum) - WriteSensData: call function ExecGatttool_Run
2017.11.25 16:29:30 5: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Run: call gatttool with command ssh 192.168.178.66 'gatttool -i hci0 -b C4:7C:8D:62:8D:6B --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 0
2017.11.25 16:29:36 5: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2017.11.25 16:29:36 4: XiaomiFlowerSens (Olivenbaum) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
nach einem Reboot werden übertragen
battery...............ok
batteryLevel........98
firmware.............3.1.8
lastGattError........charWrite faild (wird ca alle 20 Sekunden mit gleichem Wert aktualisiert)
state...................fetch sensor data (wird ca alle 20 Sekunden mit gleichem Wert aktualisiert)
Er erkennt nicht das ein write gemacht wurde und sendet daher falsche Daten beim read.
ssh 192.168.178.66 'gatttool -i hci0 -b C4:7C:8D:62:8D:6B --char-write-req -a 0x33 -n A01F
ssh 192.168.178.66 'gatttool -i hci0 -b C4:7C:8D:62:8D:6B --char-read -a 0x35
Kannst du bitte einmal die Befehle nacheinander absenden. Bitte als User der auch auf der anderen Seite sich einwählen darf. Also am besten als fhem
Ich stosse an meine Wissensgrenzen :-\ Bin noch nicht lange in der Raspberry-Welt unterwegs.
Damals habe ich mit Hilfe von OttosBlog einen FHEM-User auf dem sshHost angelegt, der sich allerdings nicht als User anmelden kann. Um auf dem sshHost Terminalbefehle abzusetzen verbinde ich mich immer mit RemoteDesktop als User Pi.
Gebe ich den Befehl gatttool -i hci0 -b C4:7C:8D:62:8D:6B --char-write-req -a 0x33 -n A01F
jetzt auf dem mit RemoteDesktop verbundenen sshHost im Terminal als User Pi ein erhalte ich die Meldung "connect error: Too many levels of symbolic links (40)". Beim zweiten Befehl erhalte ich die gleiche Meldung.
Habe auch Probleme mit meinem Sensoren. Seit einigen Tagen werden keine Daten mehr übermittelt. Mit einem manuell ausgelösten statusRequest werden die Werte zwar ermittelt, aber nicht wie vorher in definierten Abständen.
List eines von fünf Sensordevices:
Internals:
BTMAC C4:7C:8D:63:6D:E9
DEF C4:7C:8D:63:6D:E9
INTERVAL 300
NAME WZ_Pflanze1
NOTIFYDEV global
NR 178
NTFY_ORDER 50-WZ_Pflanze1
STATE Feuchte: 7 / 65 / 50</br>Dünger: 300 / 1146 / 1000</br>Temperatur: 10 / 19.5 / 32</br>
TYPE XiaomiFlowerSens
VERSION 1.2.3
loglevel 4
Helper:
DBLOG:
battery:
DBLogging:
TIME 1512037303.12254
VALUE ok
batteryLevel:
DBLogging:
TIME 1512037303.12254
VALUE 87
fertility:
DBLogging:
TIME 1512037314.46255
VALUE 1162
lux:
DBLogging:
TIME 1512037676.74876
VALUE 99
moisture:
DBLogging:
TIME 1512037314.46255
VALUE 65
state:
DBLogging:
TIME 1512037713.81715
VALUE maxLux ok
temperature:
DBLogging:
TIME 1512037314.46255
VALUE 19.2
READINGS:
2017-11-30 11:21:43 battery ok
2017-11-30 11:21:43 batteryLevel 87
2017-11-30 11:28:32 fertility 1146
2017-11-30 11:21:43 firmware 2.7.0
2017-11-30 11:20:01 lastGattError The BlockingCall Process terminated unexpectedly. Timedout
2017-11-30 11:28:32 lux 99
2017-11-30 11:28:32 moisture 65
2017-11-30 11:28:32 state active
2017-11-30 11:28:32 temperature 19.5
2017-11-30 11:28:32 uistate ok
helper:
CallBatteryFirmware 0
CallSensDataCounter 0
updateTimeCallBatteryFirmware 1512037303.11199
updateTimestampCallBatteryFirmware 2017-11-30 11:21:43
Attributes:
DbLogExclude .*
DbLogInclude state,battery,batteryLevel,temperature,moisture,fertility,lux
alias Bogenhanf
disable 0
event-min-interval state:3600,battery:3600,batteryLevel:3600,temperature:600,moisture:600,fertility:600,lux:300
event-on-change-reading state
event-on-update-reading .*
icon hue_room_garden
maxFertility 1000
maxLux 5400
maxMoisture 50
maxTemp 32
minFertility 300
minLux 2000
minMoisture 7
minTemp 10
room 20_Wohnzimmer
stateFormat {"Feuchte: ".AttrVal($name,"minMoisture","")." / ".ReadingsVal($name,"moisture","")." / ".AttrVal($name,"maxMoisture","")."</br>".
"Dünger: ".AttrVal($name,"minFertility","")." / ".ReadingsVal($name,"fertility","")." / ".AttrVal($name,"maxFertility","")."</br>".
"Temperatur: ".AttrVal($name,"minTemp","")." / ".ReadingsVal($name,"temperature","")." / ".AttrVal($name,"maxTemp","")."</br>"}
userReadings uistate {
my $moist = ReadingsVal($name, "moisture",0);;
my $minmoist = AttrVal($name,"minMoisture",10);;
my $fert = ReadingsVal($name, "fertility",0);;
my $minfert = AttrVal($name,"minFertility",50);;
if ($moist < $minmoist && $fert < $minfert) {
return "durstig+hungrig"}
elsif ($moist < $minmoist) {
return "durstig"}
elsif ($fert < $minfert) {
return "hungrig"}
else {
return "ok"}}
verbose 5
Logausschnitt nach einem Reboot mit verbose 5 von obigem Sensor:
2017.11.30 11:28:30 4: XiaomiFlowerSens (WZ_Pflanze1) - WriteSensData: call function ExecGatttool_Run
2017.11.30 11:28:30 4: XiaomiFlowerSens (WZ_Pflanze1) - stateRequestTimer: Call Request Timer
2017.11.30 11:28:30 5: XiaomiFlowerSens (WZ_Pflanze1) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:63:6D:E9 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null and loop 0
2017.11.30 11:28:32 5: XiaomiFlowerSens (WZ_Pflanze1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2017.11.30 11:28:32 4: XiaomiFlowerSens (WZ_Pflanze1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
2017.11.30 11:28:32 4: XiaomiFlowerSens (WZ_Pflanze1) - ExecGatttool_Done: gatttool return string: WZ_Pflanze1|C4:7C:8D:63:6D:E9|ok|write|0x33|{"gtResult":"no data response"}
2017.11.30 11:28:32 4: XiaomiFlowerSens (WZ_Pflanze1) - CallSensData: call function ExecGatttool_Run
2017.11.30 11:28:32 5: XiaomiFlowerSens (WZ_Pflanze1) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:63:6D:E9 --char-read -a 0x35 2>&1 /dev/null and loop 0
2017.11.30 11:28:32 5: XiaomiFlowerSens (WZ_Pflanze1) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,c3 00 00 63 00 00 00 41 7a 04 02 3c 00 fb 34 9b
2017.11.30 11:28:32 4: XiaomiFlowerSens (WZ_Pflanze1) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,c3 00 00 63 00 00 00 41 7a 04 02 3c 00 fb 34 9b
2017.11.30 11:28:32 4: XiaomiFlowerSens (WZ_Pflanze1) - ExecGatttool_Done: gatttool return string: WZ_Pflanze1|C4:7C:8D:63:6D:E9|ok|read|0x35|{"gtResult":"c3 00 00 63 00 00 00 41 7a 04 02 3c 00 fb 34 9b \n"}
2017.11.30 11:28:32 5: XiaomiFlowerSens (WZ_Pflanze1) - ProcessingNotification
2017.11.30 11:28:32 4: XiaomiFlowerSens (WZ_Pflanze1) - ProcessingNotification: handle 0x35
2017.11.30 11:28:32 5: XiaomiFlowerSens (WZ_Pflanze1) - Handle0x35
2017.11.30 11:28:33 4: XiaomiFlowerSens (WZ_Pflanze1) - WriteReadings: Readings were written
FHEM-Update ist aktuell von heute vormittag.
@CoolTux: brauchst du noch mehr Infos um zu diesem Problem was sagen zu können?
Geht es Dir jetzt rein darum das kein automatischer Abruf mehr geht?
Mach mal bitte ein DEF im Detail einer Pflanze und dann gleich wieder modify. Geht es dann?
Ja, damit funktioniert es erstaunlicherweise wieder.
Ich war in der Tat verwundert warum kein automatischer Abruf mehr gemacht wurde.
Zitat von: CoolTux am 31 Oktober 2017, 08:34:27
Aus dem Fehler werde ich einfach nicht schlau. Was ich sagen kann ist das er versucht (warum auch immer) einen einfachen String in Zeile 596 durch eine Schleife laufen zu lassen wo Hash's ausgelesen werden. Da steht aber gar kein state drin.
Sorry, da werde ich mehr Daten brauchen.
Ich habe in den letzten Tagen wieder vermehrt die Logeinträge gehabt:
2017.12.11 00:44:13 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"e1 00 00 dd 01 00 00 56 71 06 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 616.
2017.12.11 00:44:14 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:5F:89|ok|read|0x35|{"gtResult":"e1 00 00 dd 01 00 00 56 71 06 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 616.
Und glaube eine Spur gefunden zu haben:
der Befehl
blockinginfo
liefert folgendes Ergebnis:
No BlockingCall processes running currently
Wenn ich
jetzt jedoch auf der terminal nach laufenden Prozessen suche:
top -b -d 1 | grep gatttool
4389 fhem 20 0 16956 1372 1204 S 0,0 0,0 0:00.00 gatttool
10659 fhem 20 0 16956 1284 1120 S 0,0 0,0 0:00.00 gatttool
4389 fhem 20 0 16956 1372 1204 S 0,0 0,0 0:00.00 gatttool
10659 fhem 20 0 16956 1284 1120 S 0,0 0,0 0:00.00 gatttool
4389 fhem 20 0 16956 1372 1204 S 0,0 0,0 0:00.00 gatttool
10659 fhem 20 0 16956 1284 1120 S 0,0 0,0 0:00.00 gatttool
4389 fhem 20 0 16956 1372 1204 S 0,0 0,0 0:00.00 gatttool
10659 fhem 20 0 16956 1284 1120 S 0,0 0,0 0:00.00 gatttool
4389 fhem 20 0 16956 1372 1204 S 0,0 0,0 0:00.00 gatttool
10659 fhem 20 0 16956 1284 1120 S 0,0 0,0 0:00.00 gatttool
(Über 10 Minuten die gleiche Ausgabe)
Es scheint als würden Prozesse hängen bleiben.
Wird das gatttool lokal ausgeführt? Also kein ssh. Sieht zumindest so aus.
Ich schaue mir das mal an. Hast du ein list vom Device parat wenn Du noch die laufenden Prozesse hast?
Ja, wird lokal ausgeführt. Es laufen auch keine anderen FHEM Module die BT nutzen.
list habe ich gerade keines parat, aber reiche ich sobald es wieder auftritt nach.
Ich kann die Daten (leider) schneller als erwartet liefern:
2017.12.12 14:13:18 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:61:B2:F0|ok|read|0x35|{"gtResult":"d2 00 00 dd 02 00 00 4c 3a 13 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 616.
2017.12.12 14:13:19 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:61:B2:F0|ok|read|0x35|{"gtResult":"d2 00 00 dd 02 00 00 4c 3a 13 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 616.
$ top -b -d 1 | grep gatttool
8131 fhem 20 0 16956 1432 1264 S 0,0 0,0 0:00.00 gatttool
28385 fhem 20 0 16956 1296 1132 S 0,0 0,0 0:00.00 gatttool
8131 fhem 20 0 16956 1432 1264 S 0,0 0,0 0:00.00 gatttool
28385 fhem 20 0 16956 1296 1132 S 0,0 0,0 0:00.00 gatttool
8131 fhem 20 0 16956 1432 1264 S 0,0 0,0 0:00.00 gatttool
blockinginfo
liefert wieder folgendes Ergebnis:
No BlockingCall processes running currently
Internals:
BTMAC C4:7C:8D:61:5F:89
DEF C4:7C:8D:61:5F:89
INTERVAL 1800
NAME Blume1
NOTIFYDEV global
NR 115
NTFY_ORDER 50-Blume1
STATE error
TYPE XiaomiFlowerSens
VERSION 1.2.4
loglevel 4
Helper:
DBLOG:
battery:
myDbLog:
TIME 1513015746.0669
VALUE ok
batteryLevel:
myDbLog:
TIME 1513015746.0669
VALUE 89
fertility:
myDbLog:
TIME 1513068847.03691
VALUE 1590
firmware:
myDbLog:
TIME 1513015746.0669
VALUE 2.6.2
lux:
myDbLog:
TIME 1513064798.37758
VALUE 39
moisture:
myDbLog:
TIME 1513062788.11486
VALUE 83
state:
myDbLog:
TIME 1513106004.50572
VALUE error
temperature:
myDbLog:
TIME 1513066774.47594
VALUE 22.7
READINGS:
2017-12-11 19:09:06 battery ok
2017-12-11 19:09:06 batteryLevel 89
2017-12-12 09:54:07 fertility 1590
2017-12-11 19:09:06 firmware 2.6.2
2017-06-04 12:07:16 humidity 0
2017-12-12 20:13:24 lastGattError The BlockingCall Process terminated unexpectedly. Timedout
2017-12-12 09:54:07 lux 39
2017-12-12 09:54:07 moisture 83
2017-12-12 20:13:24 state error
2017-12-12 09:54:07 temperature 22.7
helper:
CallBatteryFirmware 0
CallSensDataCounter 0
updateTimeCallBatteryFirmware 1513015746.06452
updateTimestampCallBatteryFirmware 2017-12-11 19:09:06
Attributes:
alias WZ_BL_Mob1
event-min-interval battery:43200,batteryLevel:43200,fertility:7200,firmware:86400,lux:7200,moisture:7200,temperature:7200
event-on-change-reading .*
interval 1800
room FlowerSens
verbose 0
Internals:
BTMAC C4:7C:8D:62:A3:9A
DEF C4:7C:8D:62:A3:9A
INTERVAL 1800
NAME Blume2
NOTIFYDEV global
NR 116
NTFY_ORDER 50-Blume2
STATE active
TYPE XiaomiFlowerSens
VERSION 1.2.4
loglevel 4
Helper:
DBLOG:
battery:
myDbLog:
TIME 1513103097.63283
VALUE ok
batteryLevel:
myDbLog:
TIME 1513103097.63283
VALUE 100
fertility:
myDbLog:
TIME 1513107055.64461
VALUE 1636
firmware:
myDbLog:
TIME 1513103097.63283
VALUE 2.7.0
lux:
myDbLog:
TIME 1513105028.09423
VALUE 53
moisture:
myDbLog:
TIME 1513105028.09423
VALUE 83
state:
myDbLog:
TIME 1513107055.64461
VALUE active
temperature:
myDbLog:
TIME 1513107055.64461
VALUE 22
READINGS:
2017-12-12 19:24:57 battery ok
2017-12-12 19:24:57 batteryLevel 100
2017-12-12 20:30:55 fertility 1636
2017-12-12 19:24:57 firmware 2.7.0
2017-06-22 20:42:00 humidity 0
2017-12-12 17:50:50 lastGattError charWrite faild
2017-12-12 20:30:55 lux 53
2017-12-12 20:30:55 moisture 83
2017-12-12 20:30:55 state active
2017-12-12 20:30:55 temperature 22
helper:
CallBatteryFirmware 0
CallSensDataCounter 0
updateTimeCallBatteryFirmware 1513103097.63112
updateTimestampCallBatteryFirmware 2017-12-12 19:24:57
Attributes:
alias WZ_BL_Fest
event-min-interval battery:43200,batteryLevel:43200,fertility:7200,firmware:86400,lux:7200,moisture:7200,temperature:7200
event-on-change-reading .*
interval 1800
room FlowerSens
verbose 0
Internals:
BTMAC C4:7C:8D:61:B2:F0
DEF C4:7C:8D:61:B2:F0
INTERVAL 1800
NAME Blume4
NOTIFYDEV global
NR 118
NTFY_ORDER 50-Blume4
STATE error
TYPE XiaomiFlowerSens
VERSION 1.2.4
loglevel 4
Helper:
DBLOG:
battery:
myDbLog:
TIME 1513015749.14908
VALUE ok
batteryLevel:
myDbLog:
TIME 1513015749.14908
VALUE 100
fertility:
myDbLog:
TIME 1513082478.1337
VALUE 4922
firmware:
myDbLog:
TIME 1513015749.14908
VALUE 2.6.2
lux:
myDbLog:
TIME 1513082478.1337
VALUE 952
moisture:
myDbLog:
TIME 1513080452.75529
VALUE 76
state:
myDbLog:
TIME 1513106387.41392
VALUE error
temperature:
myDbLog:
TIME 1513082478.1337
VALUE 21
READINGS:
2017-12-11 19:09:09 battery ok
2017-12-11 19:09:09 batteryLevel 100
2017-12-12 13:41:18 fertility 4922
2017-12-11 19:09:09 firmware 2.6.2
2017-06-13 19:12:33 humidity 0
2017-12-12 20:19:47 lastGattError The BlockingCall Process terminated unexpectedly. Timedout
2017-12-12 13:41:18 lux 952
2017-12-12 13:41:18 moisture 76
2017-12-12 20:19:47 state error
2017-12-12 13:41:18 temperature 21
helper:
CallBatteryFirmware 0
CallSensDataCounter 0
updateTimeCallBatteryFirmware 1513015749.1467
updateTimestampCallBatteryFirmware 2017-12-11 19:09:09
Attributes:
alias SZ_BL_1
event-min-interval battery:43200,batteryLevel:43200,fertility:7200,firmware:86400,lux:7200,moisture:7200,temperature:7200
event-on-change-reading .*
interval 1800
room FlowerSens
verbose 0
EDIT: Blume3 ist disabled und sollte daher nicht wichtig sein.
So ich habe mir das nun mal in Ruhe anschauen können. Aus irgendeinem Grund schleicht sich bei Dir ein Zeilenumbruch ins Ergebnis ein \n . Dieser sorgt dafür das der JSON String nicht korrekt decodiert werden kann. Ich habe keine Ahnung wieso das nur hin und wieder bei Dir kommt. Ich versuche mal das ab zu fangen.
Vielen Dank für Deine Daten.
Grüße
Zitat von: Pyromane am 12 Dezember 2017, 20:38:42
Ich kann die Daten (leider) schneller als erwartet liefern:
2017.12.12 14:13:18 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:61:B2:F0|ok|read|0x35|{"gtResult":"d2 00 00 dd 02 00 00 4c 3a 13 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 616.
2017.12.12 14:13:19 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:61:B2:F0|ok|read|0x35|{"gtResult":"d2 00 00 dd 02 00 00 4c 3a 13 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 616.
$ top -b -d 1 | grep gatttool
8131 fhem 20 0 16956 1432 1264 S 0,0 0,0 0:00.00 gatttool
28385 fhem 20 0 16956 1296 1132 S 0,0 0,0 0:00.00 gatttool
8131 fhem 20 0 16956 1432 1264 S 0,0 0,0 0:00.00 gatttool
28385 fhem 20 0 16956 1296 1132 S 0,0 0,0 0:00.00 gatttool
8131 fhem 20 0 16956 1432 1264 S 0,0 0,0 0:00.00 gatttool
blockinginfo
liefert wieder folgendes Ergebnis:
No BlockingCall processes running currently
Internals:
BTMAC C4:7C:8D:61:5F:89
DEF C4:7C:8D:61:5F:89
INTERVAL 1800
NAME Blume1
NOTIFYDEV global
NR 115
NTFY_ORDER 50-Blume1
STATE error
TYPE XiaomiFlowerSens
VERSION 1.2.4
loglevel 4
Helper:
DBLOG:
battery:
myDbLog:
TIME 1513015746.0669
VALUE ok
batteryLevel:
myDbLog:
TIME 1513015746.0669
VALUE 89
fertility:
myDbLog:
TIME 1513068847.03691
VALUE 1590
firmware:
myDbLog:
TIME 1513015746.0669
VALUE 2.6.2
lux:
myDbLog:
TIME 1513064798.37758
VALUE 39
moisture:
myDbLog:
TIME 1513062788.11486
VALUE 83
state:
myDbLog:
TIME 1513106004.50572
VALUE error
temperature:
myDbLog:
TIME 1513066774.47594
VALUE 22.7
READINGS:
2017-12-11 19:09:06 battery ok
2017-12-11 19:09:06 batteryLevel 89
2017-12-12 09:54:07 fertility 1590
2017-12-11 19:09:06 firmware 2.6.2
2017-06-04 12:07:16 humidity 0
2017-12-12 20:13:24 lastGattError The BlockingCall Process terminated unexpectedly. Timedout
2017-12-12 09:54:07 lux 39
2017-12-12 09:54:07 moisture 83
2017-12-12 20:13:24 state error
2017-12-12 09:54:07 temperature 22.7
helper:
CallBatteryFirmware 0
CallSensDataCounter 0
updateTimeCallBatteryFirmware 1513015746.06452
updateTimestampCallBatteryFirmware 2017-12-11 19:09:06
Attributes:
alias WZ_BL_Mob1
event-min-interval battery:43200,batteryLevel:43200,fertility:7200,firmware:86400,lux:7200,moisture:7200,temperature:7200
event-on-change-reading .*
interval 1800
room FlowerSens
verbose 0
Internals:
BTMAC C4:7C:8D:62:A3:9A
DEF C4:7C:8D:62:A3:9A
INTERVAL 1800
NAME Blume2
NOTIFYDEV global
NR 116
NTFY_ORDER 50-Blume2
STATE active
TYPE XiaomiFlowerSens
VERSION 1.2.4
loglevel 4
Helper:
DBLOG:
battery:
myDbLog:
TIME 1513103097.63283
VALUE ok
batteryLevel:
myDbLog:
TIME 1513103097.63283
VALUE 100
fertility:
myDbLog:
TIME 1513107055.64461
VALUE 1636
firmware:
myDbLog:
TIME 1513103097.63283
VALUE 2.7.0
lux:
myDbLog:
TIME 1513105028.09423
VALUE 53
moisture:
myDbLog:
TIME 1513105028.09423
VALUE 83
state:
myDbLog:
TIME 1513107055.64461
VALUE active
temperature:
myDbLog:
TIME 1513107055.64461
VALUE 22
READINGS:
2017-12-12 19:24:57 battery ok
2017-12-12 19:24:57 batteryLevel 100
2017-12-12 20:30:55 fertility 1636
2017-12-12 19:24:57 firmware 2.7.0
2017-06-22 20:42:00 humidity 0
2017-12-12 17:50:50 lastGattError charWrite faild
2017-12-12 20:30:55 lux 53
2017-12-12 20:30:55 moisture 83
2017-12-12 20:30:55 state active
2017-12-12 20:30:55 temperature 22
helper:
CallBatteryFirmware 0
CallSensDataCounter 0
updateTimeCallBatteryFirmware 1513103097.63112
updateTimestampCallBatteryFirmware 2017-12-12 19:24:57
Attributes:
alias WZ_BL_Fest
event-min-interval battery:43200,batteryLevel:43200,fertility:7200,firmware:86400,lux:7200,moisture:7200,temperature:7200
event-on-change-reading .*
interval 1800
room FlowerSens
verbose 0
Internals:
BTMAC C4:7C:8D:61:B2:F0
DEF C4:7C:8D:61:B2:F0
INTERVAL 1800
NAME Blume4
NOTIFYDEV global
NR 118
NTFY_ORDER 50-Blume4
STATE error
TYPE XiaomiFlowerSens
VERSION 1.2.4
loglevel 4
Helper:
DBLOG:
battery:
myDbLog:
TIME 1513015749.14908
VALUE ok
batteryLevel:
myDbLog:
TIME 1513015749.14908
VALUE 100
fertility:
myDbLog:
TIME 1513082478.1337
VALUE 4922
firmware:
myDbLog:
TIME 1513015749.14908
VALUE 2.6.2
lux:
myDbLog:
TIME 1513082478.1337
VALUE 952
moisture:
myDbLog:
TIME 1513080452.75529
VALUE 76
state:
myDbLog:
TIME 1513106387.41392
VALUE error
temperature:
myDbLog:
TIME 1513082478.1337
VALUE 21
READINGS:
2017-12-11 19:09:09 battery ok
2017-12-11 19:09:09 batteryLevel 100
2017-12-12 13:41:18 fertility 4922
2017-12-11 19:09:09 firmware 2.6.2
2017-06-13 19:12:33 humidity 0
2017-12-12 20:19:47 lastGattError The BlockingCall Process terminated unexpectedly. Timedout
2017-12-12 13:41:18 lux 952
2017-12-12 13:41:18 moisture 76
2017-12-12 20:19:47 state error
2017-12-12 13:41:18 temperature 21
helper:
CallBatteryFirmware 0
CallSensDataCounter 0
updateTimeCallBatteryFirmware 1513015749.1467
updateTimestampCallBatteryFirmware 2017-12-11 19:09:09
Attributes:
alias SZ_BL_1
event-min-interval battery:43200,batteryLevel:43200,fertility:7200,firmware:86400,lux:7200,moisture:7200,temperature:7200
event-on-change-reading .*
interval 1800
room FlowerSens
verbose 0
EDIT: Blume3 ist disabled und sollte daher nicht wichtig sein.
Bitte einmal diese Version (https://github.com/LeonGaultier/fhem-XiaomiFlowerMonitor/archive/master.zip) hier ausgiebig testen.
Danke
Zitat von: CoolTux am 13 Dezember 2017, 08:58:31
Bitte einmal diese Version (https://github.com/LeonGaultier/fhem-XiaomiFlowerMonitor/archive/master.zip) hier ausgiebig testen.
Ich habe die Version eingespielt und werde mal ein Auge drauf haben.
Vielen Dank für deine schnelle Reaktion!
Super Danke Dir
Ich bekomme auch im Log sporadisch die Meldung
2017.12.16 10:30:15 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Plant2|C4:7C:8D:62:68:13|ok|read|0x35|{"gtResult":"aa 00 00 3d 00 00 00 15 ec 00 00 00 00 00 00 00 \n"}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 616.
Komischerweise immer beim gleichen Sensor. Ich teste auch mal die neue Modul-Version.
Hallo, ich habe nun auch meinen Pflanzensensor eingebunden. Leider sagt er mir immer was von "charWrite faild" (tatsächlich mit diesem Rechtschreibfehler). Habe auch die aktuelle Version 1.2.5 eingespielt. Den Batteriestatus und Firmware (bei mir 2.8.6) hat er erfolgreich übertragen. Ich mache das ganze über sshHost, mache ich da vielleicht irgendwo einen Fehler? Wo bekomme ich denn die genauen Logs her die hier gepostet werden? Die werdet ihr ja denke benötigen.
EDIT: So wer lesen kann... In den letzten Beiträgen steht was von verbose 5 und auch jemand mit dem gleichen Problem. :) Nun gibt er mir das hier aus:
2017.12.18 02:13:02 5: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Run: call gatttool with command ssh PiCam 'gatttool -i hci0 -b C4:7C:8D:65:DB:E0 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2017.12.18 02:13:05 5: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.12.18 02:13:05 4: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.12.18 02:13:05 4: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Done: gatttool return string: wz_pflanze1|C4:7C:8D:65:DB:E0|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 "}
2017.12.18 02:13:05 5: XiaomiFlowerSens (wz_pflanze1) - ProcessingNotification
2017.12.18 02:13:05 4: XiaomiFlowerSens (wz_pflanze1) - ProcessingNotification: handle 0x35
2017.12.18 02:13:05 5: XiaomiFlowerSens (wz_pflanze1) - Handle0x35
2017.12.18 02:13:05 4: XiaomiFlowerSens (wz_pflanze1) - WriteReadings: Readings were written
2017.12.18 02:13:05 4: XiaomiFlowerSens (wz_pflanze1) - WriteSensData: call function ExecGatttool_Run
2017.12.18 02:13:05 4: XiaomiFlowerSens (wz_pflanze1) - WriteReadings: Readings were written
2017.12.18 02:13:05 4: XiaomiFlowerSens (wz_pflanze1) - WriteSensData: call function ExecGatttool_Run
2017.12.18 02:13:08 5: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Run: call gatttool with command ssh PiCam 'gatttool -i hci0 -b C4:7C:8D:65:DB:E0 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 0
2017.12.18 02:13:14 5: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2017.12.18 02:13:14 4: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
2017.12.18 02:13:17 5: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Run: call gatttool with command ssh PiCam 'gatttool -i hci0 -b C4:7C:8D:65:DB:E0 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2017.12.18 02:13:21 5: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.12.18 02:13:21 4: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
2017.12.18 02:13:21 4: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Done: gatttool return string: wz_pflanze1|C4:7C:8D:65:DB:E0|ok|read|0x35|{"gtResult":"aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00 "}
2017.12.18 02:13:21 5: XiaomiFlowerSens (wz_pflanze1) - ProcessingNotification
2017.12.18 02:13:21 4: XiaomiFlowerSens (wz_pflanze1) - ProcessingNotification: handle 0x35
2017.12.18 02:13:21 5: XiaomiFlowerSens (wz_pflanze1) - Handle0x35
2017.12.18 02:13:21 4: XiaomiFlowerSens (wz_pflanze1) - WriteReadings: Readings were written
2017.12.18 02:13:21 4: XiaomiFlowerSens (wz_pflanze1) - WriteSensData: call function ExecGatttool_Run
2017.12.18 02:13:21 4: XiaomiFlowerSens (wz_pflanze1) - WriteReadings: Readings were written
2017.12.18 02:13:21 4: XiaomiFlowerSens (wz_pflanze1) - WriteSensData: call function ExecGatttool_Run
2017.12.18 02:13:24 5: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Run: call gatttool with command ssh PiCam 'gatttool -i hci0 -b C4:7C:8D:65:DB:E0 --char-write-req -a 0x33 -n A01F 2>&1 /dev/null' and loop 0
2017.12.18 02:13:28 5: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
2017.12.18 02:13:28 4: XiaomiFlowerSens (wz_pflanze1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Zitat von: CoolTux am 25 November 2017, 17:57:07
Er erkennt nicht das ein write gemacht wurde und sendet daher falsche Daten beim read.
ssh 192.168.178.66 'gatttool -i hci0 -b C4:7C:8D:62:8D:6B --char-write-req -a 0x33 -n A01F
ssh 192.168.178.66 'gatttool -i hci0 -b C4:7C:8D:62:8D:6B --char-read -a 0x35
Kannst du bitte einmal die Befehle nacheinander absenden. Bitte als User der auch auf der anderen Seite sich einwählen darf. Also am besten als fhem
An meine Bedingungen geändert und abgesetzt:
ssh PiCam 'gatttool -i hci0 -b C4:7C:8D:65:DB:E0 --char-write-req -a 0x33 -n A01F'
Characteristic value was written successfully
ssh PiCam 'gatttool -i hci0 -b C4:7C:8D:65:DB:E0 --char-read -a 0x35'
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Könnt ihr damit was anfangen?
Wird wohl eines dieser zeitlichen Probleme sein. Zwischen schreiben und lesen brauch das ganze über ssh zu lange.
Welche Distri hast Du? Bitte mit Version
Auf beiden Pi's ist Debian Version 9.1 installiert.
Hi,
ich brauche mal Hilfe, bitte: Nachdem meine Sensoren nun ziemlich lange unproblematisch gelaufen sind, bekomme ich nach einem Restart des Pi's keine Verbindung mehr zu meinen Sensoren. Im Terminal kann ich folgendes sehen:
gatttool --device=C4:7C:8D:60:DA:70 --char-write-req -a 0x33 --value=A01F
Und mit Verbose = 5 erhalte ich selbiges im Logfiles
2017.12.18 19:06:49 4: XiaomiFlowerSens (LadenPflanze) - CallBatteryFirmware: call function ExecGatttool_Run
2017.12.18 19:06:50 5: XiaomiFlowerSens (LadenPflanze) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:60:DA:70 --char-read -a 0x38 2>&1 /dev/null and loop 0
2017.12.18 19:06:50 5: XiaomiFlowerSens (LadenPflanze) - ExecGatttool_Run: gatttool loop result connect,Connection refused (111)
2017.12.18 19:06:50 4: XiaomiFlowerSens (LadenPflanze) - ExecGatttool_Run: gatttool result connect,Connection refused (111)
2017.12.18 19:06:50 4: XiaomiFlowerSens (LadenPflanze) - ExecGatttool_Done: gatttool return string: LadenPflanze|C4:7C:8D:60:DA:70|error|read|0x38|{"gtResult":"Connection refused (111)\n"}
2017.12.18 19:06:50 5: XiaomiFlowerSens (LadenPflanze) - ProcessingErrors
2017.12.18 19:06:50 4: XiaomiFlowerSens (LadenPflanze) - WriteReadings: Readings were written
Ich sehe den Sensor mit lescan aber wenn ich mich mit dem gatttool verbinden will bekomme ich auch Connection refused.
Die Batterien sind OK. Ich habe das Problem wohl mit allen meinen Sensoren.
Da war irgendwas, was ich noch berücksichtigen musste, wenn ich einen Neustart mache. Ich kann mich aber absolut nicht mehr daran erinnern, was da war und finde auch nichts in meinen alten Posts (weder in dem Thread noch in dem anderen, wo es um die Entwicklung des Moduls ging)
Hat irgendjemand noch einen Tipp für mich, was ich tun kann, um die Sensoren wieder anzusprechen?
Viele Grüße vom Gent
Hi,
die Version aus dem github scheint mit dem disabledforintervals ein Problem zu haben. Alle meine Pflanzen stehen auf disabled, obwohl sie jetzt aktiv sein müssten:
attr Plant1 disabledForIntervals 23:00-24:00 00:00-07:45
Habe jetzt die aktuelle Version wieder reingeladen, und sofort sind alle Pflanzen wieder "active".
lg stoxx
Zitat von: gent am 18 Dezember 2017, 19:19:28
Hi,
ich brauche mal Hilfe, bitte: Nachdem meine Sensoren nun ziemlich lange unproblematisch gelaufen sind, bekomme ich nach einem Restart des Pi's keine Verbindung mehr zu meinen Sensoren. Im Terminal kann ich folgendes sehen:
gatttool --device=C4:7C:8D:60:DA:70 --char-write-req -a 0x33 --value=A01F
Und mit Verbose = 5 erhalte ich selbiges im Logfiles
2017.12.18 19:06:49 4: XiaomiFlowerSens (LadenPflanze) - CallBatteryFirmware: call function ExecGatttool_Run
2017.12.18 19:06:50 5: XiaomiFlowerSens (LadenPflanze) - ExecGatttool_Run: call gatttool with command gatttool -i hci0 -b C4:7C:8D:60:DA:70 --char-read -a 0x38 2>&1 /dev/null and loop 0
2017.12.18 19:06:50 5: XiaomiFlowerSens (LadenPflanze) - ExecGatttool_Run: gatttool loop result connect,Connection refused (111)
2017.12.18 19:06:50 4: XiaomiFlowerSens (LadenPflanze) - ExecGatttool_Run: gatttool result connect,Connection refused (111)
2017.12.18 19:06:50 4: XiaomiFlowerSens (LadenPflanze) - ExecGatttool_Done: gatttool return string: LadenPflanze|C4:7C:8D:60:DA:70|error|read|0x38|{"gtResult":"Connection refused (111)\n"}
2017.12.18 19:06:50 5: XiaomiFlowerSens (LadenPflanze) - ProcessingErrors
2017.12.18 19:06:50 4: XiaomiFlowerSens (LadenPflanze) - WriteReadings: Readings were written
Ich sehe den Sensor mit lescan aber wenn ich mich mit dem gatttool verbinden will bekomme ich auch Connection refused.
Die Batterien sind OK. Ich habe das Problem wohl mit allen meinen Sensoren.
Da war irgendwas, was ich noch berücksichtigen musste, wenn ich einen Neustart mache. Ich kann mich aber absolut nicht mehr daran erinnern, was da war und finde auch nichts in meinen alten Posts (weder in dem Thread noch in dem anderen, wo es um die Entwicklung des Moduls ging)
Hat irgendjemand noch einen Tipp für mich, was ich tun kann, um die Sensoren wieder anzusprechen?
Viele Grüße vom Gent
Du kannst Mal versuchen den Bluetoothdienst neu zu starten.
ZitatDu kannst Mal versuchen den Bluetoothdienst neu zu starten.
ok, github Modul wieder reingeladen, Dienst durchgestartet.. Schaut aktuell gut aus
ZitatXiaomiFlowerSens
Plant1 active
Plant2 active
Plant3 active
Plant4 active
Plant5 error
Plant6 active
Plant7 active
Der Error von Plant5 war
Zitat
lastGattError Device or resource busy (16) 2017-12-18 19:50:58
Mal sehen, wie es weiter geht. Ich melde mich ;-)
vg stoxx
Die stehen so lange auf disabled bis der nächste statusRequest passiert und disableForInterval nicht aktiv ist
ZitatDu kannst Mal versuchen den Bluetoothdienst neu zu starten.
Ahso, war nicht für mich.. Danke für den Edit
ZitatDie stehen so lange auf disabled bis der nächste statusRequest passiert und disableForInterval nicht aktiv ist
Ok, habe das Modul während der disabled Phase eingespielt. Und darum gehen sie nicht mehr active? Muss man wissen. Jetzt scheints ja zu klappen.
vg stoxx
Zitat von: marcel151 am 18 Dezember 2017, 14:23:58
Auf beiden Pi's ist Debian Version 9.1 installiert.
Ist das OK oder brauche ich was anderes? Oder gibt es eine andere Lösung für mein Problem?
VG
Hi CoolTux,
danke, das hat geholfen.
Viele Grüße vom Gent
Zitat von: Pyromane am 13 Dezember 2017, 20:57:17
Ich habe die Version eingespielt und werde mal ein Auge drauf haben.
Vielen Dank für deine schnelle Reaktion!
Zitat von: CoolTux am 13 Dezember 2017, 21:04:28
Super Danke Dir
Kurzer Zwischenstand bei mir: bisher keinerlei Einträge im Log mehr.
Ich werde mich nach den Feiertagen ausführlich melden.
Danke und wünsche besinnliche Feiertage!
Guten Abend,
leider zu früh gefreut, nicht exakt der gleiche Fehler aber auch kein Unbekannter:
2017.12.21 13:17:56 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:61:B2:F0|ok|read|0x35|{"gtResult":"d0 00 00 dd 02 00 00 50 a8 14 00 00 00 00 00 00 "}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 616.
ca. noch weitere 1700 Einträge dazwischen....
2017.12.21 13:22:45 1: ERROR evaluating {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:61:B2:F0|ok|read|0x35|{"gtResult":"d0 00 00 dd 02 00 00 50 a8 14 00 00 00 00 00 00 "}')}: Can't use string ("state: fetch sensor data") as a HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 616.
Internals:
BTMAC C4:7C:8D:61:B2:F0
DEF C4:7C:8D:61:B2:F0
INTERVAL 1800
NAME Blume4
NOTIFYDEV global
NR 118
NTFY_ORDER 50-Blume4
STATE error
TYPE XiaomiFlowerSens
VERSION 1.2.5
loglevel 4
Helper:
DBLOG:
battery:
myDbLog:
TIME 1513813150.81666
VALUE ok
batteryLevel:
myDbLog:
TIME 1513813150.81666
VALUE 100
fertility:
myDbLog:
TIME 1513856675.56689
VALUE 5297
firmware:
myDbLog:
TIME 1513813150.81666
VALUE 2.6.2
lux:
myDbLog:
TIME 1513856675.56689
VALUE 513
moisture:
myDbLog:
TIME 1513850535.15085
VALUE 80
state:
myDbLog:
TIME 1513885679.27356
VALUE error
temperature:
myDbLog:
TIME 1513856675.56689
VALUE 20.7
READINGS:
2017-12-21 00:39:10 battery ok
2017-12-21 00:39:10 batteryLevel 100
2017-12-21 12:44:35 fertility 5297
2017-12-21 00:39:10 firmware 2.6.2
2017-06-13 19:12:33 humidity 0
2017-12-21 20:47:59 lastGattError The BlockingCall Process terminated unexpectedly. Timedout
2017-12-21 12:44:35 lux 513
2017-12-21 12:44:35 moisture 80
2017-12-21 20:47:59 state error
2017-12-21 12:44:35 temperature 20.7
helper:
CallBatteryFirmware 0
CallSensDataCounter 0
updateTimeCallBatteryFirmware 1513813150.81483
updateTimestampCallBatteryFirmware 2017-12-21 00:39:10
Attributes:
alias SZ_BL_1
event-min-interval battery:43200,batteryLevel:43200,fertility:7200,firmware:86400,lux:7200,moisture:7200,temperature:7200
event-on-change-reading .*
interval 1800
room FlowerSens
verbose 0
Auch wieder der hängende Prozess:
28200 fhem 20 0 16956 1416 1252 S 0,0 0,0 0:00.00 gatttool
Interessanterweise werden meine zwei anderen Sensoren problemlos abgefragt, siehe Screen.
Starte ich jetzt(mit hängenden Prozess) mit verbose 5 einen Statusrequest auf Blume 4:
2017.12.21 21:14:45 4: XiaomiFlowerSens (Blume4) - CallSensData: call function ExecGatttool_Run
2017.12.21 21:14:45 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:46 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:47 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:48 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:49 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:50 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:51 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:52 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:53 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:54 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:55 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:57 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:58 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:14:59 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:00 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:01 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:02 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:03 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:04 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:05 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:06 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:07 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:08 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:09 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:10 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:11 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:12 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:13 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:14 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:15 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:16 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:17 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:18 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:19 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:20 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:21 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:22 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:23 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:24 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:25 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:26 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:28 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:29 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:30 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:31 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:32 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:33 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:34 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:35 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:36 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:37 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:38 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:39 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:40 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:41 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:42 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:43 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:44 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:45 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: another gatttool process is running. waiting...
2017.12.21 21:15:45 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 11565
2017.12.21 21:15:45 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2017.12.21 21:15:45 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
Danke Dir. Schaue ich mir an.
Kannst Du bitte einmal ein ps ax machen wenn es wieder hängt.
Mal eine andere Frage, ich habe im ganzen Haus mehrere ESP32 im Einsatz, gibt es schon Ansätze dessen BT Funktion als Gateway für den xiaomi Pflanzensensor zu nutzen? Ich will da nicht noch extra Raspi's zusätzlich aufbauen
Gesendet von meinem Leap mit Tapatalk
Zitat von: Tobias am 23 Dezember 2017, 13:27:29
Mal eine andere Frage, ich habe im ganzen Haus mehrere ESP32 im Einsatz, gibt es schon Ansätze dessen BT Funktion als Gateway für den xiaomi Pflanzensensor zu nutzen? Ich will da nicht noch extra Raspi's zusätzlich aufbauen
Gesendet von meinem Leap mit Tapatalk
Geht das nicht mit der ssh Option?
Auf einem ESP kann man sich nicht per SSH einloggen, welchen. Sketch gibt's denn dafür?
Gesendet von meinem Leap mit Tapatalk
Keine Ahnung. Kenne mich da so gar nicht aus.
Kleine Status- Meldung meinerseits:
Seit dem Einspielen der github Version habe ich keine
Zitat...HASH ref while "strict refs" in use at ./FHEM/74_XiaomiFlowerSens.pm line 616...
Meldungen mehr.
Danke für den schnellen Fix.
vg stoxx
Zitat von: Tobias am 23 Dezember 2017, 13:41:27
Auf einem ESP kann man sich nicht per SSH einloggen, welchen. Sketch gibt's denn dafür?
Gesendet von meinem Leap mit Tapatalk
Kenne auch keinen ssh-Sketch ;)
Und leider auch keinen BT-LE-Sketch...
...ich hab schon mal mit ESP8266 und BT-LE Modul rumprobiert aber nicht weiter gekommen...
Habe jetzt einen PI-Zero W mit ssh als "BT-Extender" laufen...
...geht prima.
Gruß, Joachim
Auch ich habe, da es mit einem alten Pi1 (und 256MB RAM) nicht funktioniert hat mir einen PiZero W geholt. Aber auch hier, sshHost funktioniert nicht. Immer wieder die Fehlermeldung "charWrite faild". Woran könnte das liegen, scheinbar geht es ja mit dem Zero W bei einigen. Wie habt ihr den SSH-Login konfiguriert? Ich habe das über einen Host in der .ssh/config mit User und IdentityFile gemacht. Vielleicht mache ich dort ja was falsch.
Ich wurde zwar schon drauf hingewiesen, dass es auch mit MQTT funktioniert, aber würde gerne erstmal versuchen das über SSH hinzubekommen.
Zitat von: marcel151 am 27 Dezember 2017, 17:07:12
Auch ich habe, da es mit einem alten Pi1 (und 256MB RAM) nicht funktioniert hat mir einen PiZero W geholt. Aber auch hier, sshHost funktioniert nicht. Immer wieder die Fehlermeldung "charWrite faild". Woran könnte das liegen, scheinbar geht es ja mit dem Zero W bei einigen. Wie habt ihr den SSH-Login konfiguriert? Ich habe das über einen Host in der .ssh/config mit User und IdentityFile gemacht. Vielleicht mache ich dort ja was falsch.
Ich wurde zwar schon drauf hingewiesen, dass es auch mit MQTT funktioniert, aber würde gerne erstmal versuchen das über SSH hinzubekommen.
Auf direkte Nachfrage hier wie ich es gemacht habe ;)
Remotelogin using ssh and certificate (auf dem PI mit fhem):
1. sudo nano /etc/passwd
2. change /bin/false to /bin/bash for user fhem
3. give user fhem a password: sudo su -> passwd fhem
4. login with user fhem: su - fhem
5. ssh into remote server: ssh -l user remote-system (konkret: ssh -l pi 192.168.1.94)
6. ssh-keygen -t rsa
7. ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-system (konkret: pi@192.168.1.94)
Das ist der Auszug aus meinem "Installations-Protokoll"...
Für den PI Zero hab ich nichts notiert, daher habe ich dort wohl "nur" die "üblichen" Dinge eingestellt:
hostname, pw für User pi, Ländereinstellungen und ssh und WLAN aktiviert...
(oder etwas vergessen was ich spätestens bei der nächsten Neuinstallation merke ;) )
Mein ssh-host-Eintrag beim FlowerSense lautet wie folgt:
sshHost pi@192.168.1.94
Hier einige Anmerkungen:Schritte 1-5 sind vermutlich "unnötig" bzw. können wohl auch wie folgt "gelöst" werden:
'ssh-keygen -t rsa' als User 'pi' und dann die erstellten Zertifikate nach /opt/fhem/.ssh kopieren bzw. in evtl. dort bereits vorhandene Dateien "integrieren"...
Schritt 5 habe ich mal gemacht, weil ich nicht weiß/wusste was beim Login mit Zertifikat bzgl. der "Abfrage" add to known hosts etc. passiert.
Da wollte ich auf Nummer sicher gehen... ;)
Wichtig bei Schritt 6: kein Passwort vergeben (für den Zugriff auf die Zertifikate) sonst macht man den ganzen Vorteil zunichte ;)
Und ja ich nutze keine sshconf (oder wie das heißt), ich gebe den User (mit dem ich den Befehl auf dem PI Zero W ausführen will) mit an...
...hatte ich woanders bereits so angewendet und es hat funktioniert, also hab ich es dabei belassen...
(stört mich nicht groß)
Evtl. "überdenke" ich bei der nächsten Installation das noch mal...
...vorher wird aber noch mal getestet (Testsystem!).
Verwendete OS:
Zero W: Jessie
PI 3 (fhem): Stretch
Da ich erst auf Stretch umgestiegen bin wird aber die Neuinstallation und das Überdenken noch ein Weilchen dauern ;)
Noch etwas zum Schluss:da ich meine Pflanzen und damit die Sensoren ausschließlich auf dem Balkon habe, habe ich sie seit Ende Oktober (oder so) eingemottet.
Bis dahin lief alles problemlos!
Allerdings habe ich mitbekommen, dass danach/in letzter Zeit immer wieder mal "Probleme" mit ssh waren (also hier im Thread).
Ob ich davon auch betroffen bin/war/gewesen wäre weiß ich nicht.
Evtl. kann ich ja mal ein oder zwei rauskramen und mal noch mal kurz in Betrieb nehmen...
Gruß, Joachim
Danke dafür! Bei mir war es ähnlich konfiguriert, aber da ich tatsächlich eine .ssh/config angelegt hatte musste ich im Attribut "sshHost" nur den Namen angeben. Auf Verdacht habe ich dann so konfiguriert wie du (wusste auch garnicht dass man "pi@" davor schreiben kann. Er hat sich nämlich mit IP-Adresse immer als User fhem angemeldet). Aber leider genau der gleiche Fehler "charWrite faild". Batteriestatus und Firmware (2.8.6) werden sauber übertragen, aber die Readings leider nicht.
Ich schaue es mir am Dienstag Mal in Ruhe an. Testen kann man es eigentlich in dem man von Hand in der Konsole erst den write und dann den read mit gatttool ab setzt. Hier im Thread steht dazu was genau gemacht werden muß.
Vielen Dank!
Getestet hatte ich schonmal, meintest du das hier?
ssh PiZero 'gatttool -i hci0 -b C4:7C:8D:65:DB:E0 --char-write-req -a 0x33 -n A01F'
Characteristic value was written successfully
ssh PiZero 'gatttool -i hci0 -b C4:7C:8D:65:DB:E0 --char-read -a 0x35'
Characteristic value/descriptor: aa bb cc dd ee ff 99 88 77 66 00 00 00 00 00 00
Das geht direkt, abgesetzt als user fhem. Trotzdem kommt in FHEM der bereits genannte Fehler.
Ja genau das meine ich. Und genau das hier:
aa bb cc dd ee ff 99 88 77 66 00 00 00 00
Sorgt für die Fehlermeldung "charWrite faild"
Denn das sind keine valide Daten und bedeutet das der --char-write-req Befehl zwar funktioniert hat das read danach aber zu lange gedauert hat und das write wieder veraltet ist.
Wenn es zu lange dauert im Modul, dann versuch doch mal das Write und das danach folgende Read in einem Shell Aufruf zu machen.
gatttool Write && gatttool Read
Dann dürfte die Zeit zwischen Write und Read kürzer sein.
Ist es, und so klappt es ja auch. Eigentlich wollte ich das ganze allgemein halten weil dieser Teil später in eine allgemeine Bibliothek sollte. Klappt aber wohl nicht. Ich versuche im neuen Jahr mal ein Umbau.
Ich habe soeben eine neue Version ins SVN geladen. Durch diese Version sollte sich das "auslesen Problem" über SSH erledigt haben. Bitte einmal testen.
Wünsche ein Gutes neues Jahr!
Zitat von: CoolTux am 22 Dezember 2017, 06:31:51Kannst Du bitte einmal ein ps ax machen wenn es wieder hängt.
Hier die gewünschten Daten:
ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:17 /sbin/init
2 ? S 0:00 [kthreadd]
3 ? S 0:03 [ksoftirqd/0]
5 ? S< 0:00 [kworker/0:0H]
7 ? S 3:28 [rcu_sched]
8 ? S 0:00 [rcu_bh]
9 ? S 0:04 [migration/0]
10 ? S 0:11 [watchdog/0]
11 ? S 0:10 [watchdog/1]
12 ? S 0:04 [migration/1]
13 ? S 0:07 [ksoftirqd/1]
15 ? S< 0:00 [kworker/1:0H]
16 ? S 0:00 [kdevtmpfs]
17 ? S< 0:00 [netns]
18 ? S< 0:00 [perf]
19 ? S 0:00 [khungtaskd]
20 ? S< 0:00 [writeback]
21 ? SN 0:00 [ksmd]
22 ? SN 0:06 [khugepaged]
23 ? S< 0:00 [crypto]
24 ? S< 0:00 [kintegrityd]
25 ? S< 0:00 [bioset]
26 ? S< 0:00 [kblockd]
27 ? S< 0:00 [ata_sff]
28 ? S< 0:00 [md]
29 ? S< 0:00 [devfreq_wq]
33 ? S 0:00 [kswapd0]
34 ? S< 0:00 [vmstat]
35 ? S 0:00 [fsnotify_mark]
36 ? S 0:00 [ecryptfs-kthrea]
52 ? S< 0:00 [kthrotld]
53 ? S< 0:00 [acpi_thermal_pm]
54 ? S 8:00 [vballoon]
55 ? S< 0:00 [bioset]
56 ? S< 0:00 [bioset]
57 ? S< 0:00 [bioset]
58 ? S< 0:00 [bioset]
59 ? S< 0:00 [bioset]
60 ? S< 0:00 [bioset]
61 ? S< 0:00 [bioset]
62 ? S< 0:00 [bioset]
63 ? S< 0:00 [bioset]
64 ? S< 0:00 [bioset]
65 ? S< 0:00 [bioset]
66 ? S< 0:00 [bioset]
67 ? S< 0:00 [bioset]
68 ? S< 0:00 [bioset]
69 ? S< 0:00 [bioset]
70 ? S< 0:00 [bioset]
71 ? S< 0:00 [bioset]
72 ? S< 0:00 [bioset]
73 ? S< 0:00 [bioset]
74 ? S< 0:00 [bioset]
75 ? S< 0:00 [bioset]
76 ? S< 0:00 [bioset]
77 ? S< 0:00 [bioset]
78 ? S< 0:00 [bioset]
79 ? S 0:00 [scsi_eh_0]
80 ? S< 0:00 [scsi_tmf_0]
81 ? S 0:00 [scsi_eh_1]
82 ? S< 0:00 [scsi_tmf_1]
85 ? S< 0:00 [bioset]
92 ? S< 0:00 [ipv6_addrconf]
105 ? S< 0:00 [deferwq]
106 ? S< 0:00 [charger_manager]
146 ? S< 0:00 [bioset]
147 ? S< 0:00 [bioset]
148 ? S< 0:00 [bioset]
149 ? S< 0:00 [bioset]
150 ? S< 0:00 [bioset]
151 ? S< 0:00 [bioset]
152 ? S< 0:00 [bioset]
153 ? S< 0:00 [bioset]
155 ? S 0:00 [scsi_eh_2]
156 ? S< 0:00 [scsi_tmf_2]
157 ? S< 0:00 [kpsmoused]
159 ? S< 0:00 [bioset]
170 ? S< 0:06 [kworker/1:1H]
513 ? S< 0:00 [raid5wq]
539 ? S< 0:00 [kdmflush]
540 ? S< 0:00 [bioset]
549 ? S< 0:00 [kdmflush]
550 ? S< 0:00 [bioset]
559 ? S< 0:00 [bioset]
592 ? S 0:18 [jbd2/dm-0-8]
593 ? S< 0:00 [ext4-rsv-conver]
638 ? S< 0:04 [kworker/0:1H]
663 ? S< 0:00 [iscsi_eh]
667 ? Ss 0:06 /lib/systemd/systemd-journald
670 ? S< 0:00 [ib_addr]
673 ? S 0:00 [kauditd]
674 ? S< 0:00 [ib_mcast]
676 ? S< 0:00 [ib_nl_sa_wq]
678 ? S< 0:00 [ib_cm]
679 ? S< 0:00 [iw_cm_wq]
680 ? S< 0:00 [rdma_cm]
713 ? Ss 0:00 /sbin/lvmetad -f
722 ? Ss 0:04 /lib/systemd/systemd-udevd
782 ? S< 0:03 [kworker/u5:0]
783 ? S< 0:00 [hci0]
784 ? S< 0:00 [hci0]
785 ? S< 0:03 [kworker/u5:1]
967 ? S< 0:00 [ext4-rsv-conver]
1009 ? Ssl 0:02 /lib/systemd/systemd-timesyncd
1238 ? Ss 0:00 /usr/sbin/atd -f
1257 ? Ssl 0:27 /usr/lib/accountsservice/accounts-daemon
1260 ? Ss 0:01 /usr/lib/bluetooth/bluetoothd
1266 ? Ss 0:02 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
1285 ? Ss 0:00 /usr/sbin/acpid
1289 ? Ssl 0:01 /usr/sbin/rsyslogd -n
1291 ? Ss 0:02 /lib/systemd/systemd-logind
1294 ? Ss 0:03 /usr/sbin/cron -f
1307 ? Ssl 0:13 /usr/bin/lxcfs /var/lib/lxcfs/
1310 ? Ssl 0:52 /usr/lib/snapd/snapd
1333 ? Ssl 0:00 /usr/lib/policykit-1/polkitd --no-debug
1367 ? Ss 0:00 /sbin/mdadm --monitor --pid-file /run/mdadm/monitor.pid --daemonise --scan --syslog
1375 ? Ss 0:00 /usr/sbin/sshd -D
1391 ? Ss 1:00 /sbin/iscsid
1392 ? S<Ls 4:44 /sbin/iscsid
1478 ? Ss 0:40 /usr/sbin/irqbalance --pid=/var/run/irqbalance.pid
1480 tty1 Ss+ 0:00 /sbin/agetty --noclear tty1 linux
1496 ? S 1:13 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/
1499 ? Ss 1:13 postgres: checkpointer process
1500 ? Ss 0:55 postgres: writer process
1501 ? Ss 0:17 postgres: wal writer process
1502 ? Ss 0:29 postgres: autovacuum launcher process
1503 ? Ss 1:31 postgres: stats collector process
1505 ? S 82:22 perl fhem.pl fhem.cfg
3287 ? S 0:00 [kworker/0:2]
5792 ? S 0:00 [kworker/1:0]
6992 ? S 0:07 [kworker/0:1]
7033 ? S 0:11 [kworker/1:2]
8744 ? S 0:00 [kworker/u4:2]
8950 ? S 0:00 [kworker/u4:0]
9482 ? Ss 0:00 sshd: **** [priv]
9484 ? Ss 0:00 /lib/systemd/systemd --user
9485 ? S 0:00 [kworker/1:1]
9486 ? S 0:00 (sd-pam)
9488 ? S 0:00 [kworker/0:0]
9567 ? R 0:00 sshd: ****@pts/0
9568 pts/0 Ss 0:00 -bash
9603 ? S 0:00 [kworker/u4:1]
9655 pts/0 R+ 0:00 ps ax
15545 ? S 0:00 sh -c gatttool -i hci0 -b C4:7C:8D:61:B2:F0 --char-read -a 0x35 2>&1 /dev/null
15546 ? S 0:00 gatttool -i hci0 -b C4:7C:8D:61:B2:F0 --char-read -a 0x35 /dev/null
Hallo CoolTux,
ZitatIch habe soeben eine neue Version ins SVN geladen. Durch diese Version sollte sich das "auslesen Problem" über SSH erledigt haben. Bitte einmal testen.
das sieht soweit ganz gut aus, allerdings kommt immer folgender Fehler:
PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
Mit oder ohne SSH?
Danke fürs testen.
Zitat von: CoolTux am 18 November 2016, 09:55:18
Hierfür wird aktuell an einem Bluetooth Framework gearbeitet. Alle Module die Bluetooth ansprechen sollten dann mit dem Framework laufen.
Wie/Wo wird denn daran gearbeitet? Konkret suche ich aktuell nach einer Möglichkeit die die "neuen" Thermo/Hygrometer von Xiaomi einzubinden. Da ich nichts gefunden haben, war die Überlegung mich bei deinem Modul inspirieren zu lassen. Falls es aber (absehbar) eine allgemeine Basis gibt, die den BT LE Part abdeckt, würde ich mich noch etwas gedulden...
https://de.aliexpress.com/item/Original-Xiaomi-Mijia-Bluetooth-Hygrothermograph-High-Sensitive-Lcd-bildschirm-Hygrometer-Thermometer-Sensor-Verwenden-Mit-Mijia-App/32844666522.html (https://de.aliexpress.com/item/Original-Xiaomi-Mijia-Bluetooth-Hygrothermograph-High-Sensitive-Lcd-bildschirm-Hygrometer-Thermometer-Sensor-Verwenden-Mit-Mijia-App/32844666522.html)
ZitatMit oder ohne SSH?
Also nur MIT SSH, siehe meine Beschreibung was ich mache unter https://forum.fhem.de/index.php/topic,60914.msg699883.html#msg699883
Ich kann sagen, das ich schon alle Versionen von Dir probiert habe, die einzigen die bei mir mit SSH funktioniert haben war die alte Version 1.0.3 und eben diese neue (1.4.0) von heute morgen!
Super. Dann kann ich also sagen geht mit der neuen Version 1.4.0. Aber es kommt noch eine kleine Fehlermeldung. Das schaue ich mir an. Ist bestimmt nichts großes.
Grüße
Zitat von: distel am 03 Januar 2018, 09:54:56
Wie/Wo wird denn daran gearbeitet? Konkret suche ich aktuell nach einer Möglichkeit die die "neuen" Thermo/Hygrometer von Xiaomi einzubinden. Da ich nichts gefunden haben, war die Überlegung mich bei deinem Modul inspirieren zu lassen. Falls es aber (absehbar) eine allgemeine Basis gibt, die den BT LE Part abdeckt, würde ich mich noch etwas gedulden...
https://de.aliexpress.com/item/Original-Xiaomi-Mijia-Bluetooth-Hygrothermograph-High-Sensitive-Lcd-bildschirm-Hygrometer-Thermometer-Sensor-Verwenden-Mit-Mijia-App/32844666522.html (https://de.aliexpress.com/item/Original-Xiaomi-Mijia-Bluetooth-Hygrothermograph-High-Sensitive-Lcd-bildschirm-Hygrometer-Thermometer-Sensor-Verwenden-Mit-Mijia-App/32844666522.html)
Da dies die Arbeit eines anderen Entwicklers ist, möchte ich dazu nichts weiter sagen.
Grüße
Zitat von: inoma am 03 Januar 2018, 08:19:51
Hallo CoolTux,das sieht soweit ganz gut aus, allerdings kommt immer folgender Fehler:
PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
Ich befürchte ich werde das mit einem verbose 5 brauchen.
Hallo Leon,
aber gerne: Die Blume mit verbose 5 ist "Blume7", also im log darauf schauen.
2018.01.03 21:14:19 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.03 21:14:19 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:B9:A2|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.03 21:14:19 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.03 21:14:19 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:B9:A2|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.03 21:14:19 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.03 21:14:19 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume2|C4:7C:8D:61:B4:D9|ok|read|0x38|{"gtResult":"34 27 33 2e 31 2e 38 "}')}
2018.01.03 21:14:19 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.03 21:14:19 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume2|C4:7C:8D:61:B4:D9|ok|read|0x38|{"gtResult":"34 27 33 2e 31 2e 38 "}')}
2018.01.03 21:14:19 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result connect error,Software caused connection abort (103)
2018.01.03 21:14:19 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x38 2>&1 /dev/null' and loop 2
2018.01.03 21:14:24 2: Presence_GTag_RED_collect: Event: present
connect error: Software caused connection abort (103)
connect error: Software caused connection abort (103)
2018.01.03 21:14:26 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.03 21:14:26 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:B9:A2|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.03 21:14:26 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.03 21:14:26 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:B9:A2|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.03 21:14:26 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.03 21:14:26 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume2|C4:7C:8D:61:B4:D9|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.03 21:14:26 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.03 21:14:26 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume2|C4:7C:8D:61:B4:D9|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.03 21:14:26 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result connect error,Software caused connection abort (103)
2018.01.03 21:14:26 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x38 2>&1 /dev/null' and loop 3
connect error: Transport endpoint is not connected (107)
2018.01.03 21:14:38 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.03 21:14:38 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:B9:A2|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.03 21:14:38 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.03 21:14:38 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume1|C4:7C:8D:61:B9:A2|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.03 21:14:46 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 9688
2018.01.03 21:14:46 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 9689
2018.01.03 21:14:46 4: XiaomiFlowerSens (Blume7) - WriteReadings: Readings were written
2018.01.03 21:14:46 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Aborted: The BlockingCall Process terminated unexpectedly. Timedout
2018.01.03 21:14:46 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 9690
Eigenartig. Der Befehl für eine ssh Verbindung mit Abfrage ist nicht der den ich erwartet hätte. Welche Firmwareversion hat der Sensor?
FW 3.1.8
Internals:
BTMAC C4:7C:8D:63:86:10
DEF C4:7C:8D:63:86:10
INTERVAL 907
NAME Blume7
NOTIFYDEV global
NR 4207
NTFY_ORDER 50-Blume7
STATE M[20]: 34   T: 19.4°C   Lx: 7   Ft: 126   01-03 21:33
TYPE XiaomiFlowerSens
VERSION 1.4.0
loglevel 4
READINGS:
2018-01-03 21:33:15 OldMoist 34
2018-01-03 21:33:05 battery ok
2018-01-03 21:33:05 batteryLevel 99
2018-01-03 21:33:15 fertility 126
2018-01-03 21:33:05 firmware 3.1.8
2018-01-03 21:14:46 lastGattError The BlockingCall Process terminated unexpectedly. Timedout
2018-01-03 21:33:15 lux 58
2017-12-29 01:41:05 lux10 7
2018-01-03 21:33:15 moisture 34
2018-01-03 21:33:15 state active
2018-01-03 21:33:15 temperature 19.4
2018-01-03 21:33:15 timestamp 01-03 21:33
helper:
CallBatteryFirmware 0
CallSensDataCounter 0
updateTimeCallBatteryFirmware 1515011585.21971
updateTimestampCallBatteryFirmware 2018-01-03 21:33:05
Attributes:
alias Zamie/Glücksfeder
event-on-change-reading moisture,battery,batteryLevel
event-on-update-reading moisture
group BLUMEN
interval 907
minMoisture 20
minTemp 15
room Favourites,Wohnung
sortby 08
sshHost pizero
stateFormat M[20]: moisture   T: temperature°C   Lx: lux10   Ft: fertility   timestamp
userReadings timestamp:moisture:.* {sprintf("%s",substr(ReadingsTimestamp("Blume7","moisture","nA"),5,11))},
lux10:lux.* {sprintf("%d",((ReadingsVal("Blume7","lux","nA")+5)/10))}
verbose 0
Ich habe da jetzt hoch und runter getestet. Ich kann beim besten Willen nichts finden wieso Deine Ausgabe so anders ist.
Siehe unten. So sollte es aussehen. Der Befehl ist bei mir viel länger da ich eine Befehlskette gebildet habe.
2018.01.04 06:27:08 4: XiaomiFlowerSens (Dracaena) - WriteSensData: call function ExecGatttool_Run
2018.01.04 06:27:14 5: XiaomiFlowerSens (Dracaena) - ExecGatttool_Run: call gatttool with command ssh webapp01 'gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:62:42:6F --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 06:27:22 5: XiaomiFlowerSens (Dracaena) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,ae 00 00 8e 00 00 00 27 83 02 02 3c 00 fb 34 9b
2018.01.04 06:27:22 4: XiaomiFlowerSens (Dracaena) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,ae 00 00 8e 00 00 00 27 83 02 02 3c 00 fb 34 9b
2018.01.04 06:27:22 4: XiaomiFlowerSens (Dracaena) - ExecGatttool_Done: gatttool return string: Dracaena|C4:7C:8D:62:42:6F|ok|read|0x35|{"gtResult":"ae 00 00 8e 00 00 00 27 83 02 02 3c 00 fb 34 9b "}
2018.01.04 06:27:22 5: XiaomiFlowerSens (Dracaena) - ProcessingNotification
2018.01.04 06:27:22 4: XiaomiFlowerSens (Dracaena) - ProcessingNotification: handle 0x35
2018.01.04 06:27:22 5: XiaomiFlowerSens (Dracaena) - Handle0x35
2018.01.04 06:27:22 4: XiaomiFlowerSens (Dracaena) - WriteReadings: Readings were written
Hallo Leon,
beim 'write' bekomme ich auch den langen Befehl. Hier nochmal ein längerer Log mit verbose 5 über alle Blumen. Jetzt sollte es stimmen.
2018.01.04 09:58:26 4: XiaomiFlowerSens (Blume2) - WriteSensData: call function ExecGatttool_Run
2018.01.04 09:58:27 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 09:58:29 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,bb 00 00 97 00 00 00 1f f5 00 02 3c 00 fb 34 9b
2018.01.04 09:58:29 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,bb 00 00 97 00 00 00 1f f5 00 02 3c 00 fb 34 9b
2018.01.04 09:58:29 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Done: gatttool return string: Blume2|C4:7C:8D:61:B4:D9|ok|read|0x35|{"gtResult":"bb 00 00 97 00 00 00 1f f5 00 02 3c 00 fb 34 9b "}
2018.01.04 09:58:29 5: XiaomiFlowerSens (Blume2) - ProcessingNotification
2018.01.04 09:58:29 4: XiaomiFlowerSens (Blume2) - ProcessingNotification: handle 0x35
2018.01.04 09:58:29 5: XiaomiFlowerSens (Blume2) - Handle0x35
2018.01.04 09:58:29 4: XiaomiFlowerSens (Blume2) - WriteReadings: Readings were written
2018.01.04 09:58:30 4: XiaomiFlowerSens (Blume3) - WriteSensData: call function ExecGatttool_Run
2018.01.04 09:58:32 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 09:58:48 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,91 00 00 7b 00 00 00 1a 4a 00 02 3c 00 fb 34 9b
2018.01.04 09:58:48 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,91 00 00 7b 00 00 00 1a 4a 00 02 3c 00 fb 34 9b
2018.01.04 09:58:48 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Done: gatttool return string: Blume3|C4:7C:8D:63:49:16|ok|read|0x35|{"gtResult":"91 00 00 7b 00 00 00 1a 4a 00 02 3c 00 fb 34 9b "}
2018.01.04 09:58:48 5: XiaomiFlowerSens (Blume3) - ProcessingNotification
2018.01.04 09:58:48 4: XiaomiFlowerSens (Blume3) - ProcessingNotification: handle 0x35
2018.01.04 09:58:48 5: XiaomiFlowerSens (Blume3) - Handle0x35
2018.01.04 09:58:48 4: XiaomiFlowerSens (Blume3) - WriteReadings: Readings were written
2018.01.04 10:00:14 4: XiaomiFlowerSens (Blume7) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:00:14 4: XiaomiFlowerSens (Blume7) - stateRequestTimer: Call Request Timer
2018.01.04 10:00:21 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 10:00:28 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,b6 00 00 75 00 00 00 22 82 00 02 3c 00 fb 34 9b
2018.01.04 10:00:28 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,b6 00 00 75 00 00 00 22 82 00 02 3c 00 fb 34 9b
2018.01.04 10:00:28 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Done: gatttool return string: Blume7|C4:7C:8D:63:86:10|ok|read|0x35|{"gtResult":"b6 00 00 75 00 00 00 22 82 00 02 3c 00 fb 34 9b "}
2018.01.04 10:00:28 5: XiaomiFlowerSens (Blume7) - ProcessingNotification
2018.01.04 10:00:28 4: XiaomiFlowerSens (Blume7) - ProcessingNotification: handle 0x35
2018.01.04 10:00:28 5: XiaomiFlowerSens (Blume7) - Handle0x35
2018.01.04 10:00:28 4: XiaomiFlowerSens (Blume7) - WriteReadings: Readings were written
2018.01.04 10:03:04 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:03:04 4: XiaomiFlowerSens (Blume1) - stateRequestTimer: Call Request Timer
2018.01.04 10:03:06 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 10:03:12 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,b9 00 00 2b 00 00 00 34 22 03 02 3c 00 fb 34 9b
2018.01.04 10:03:12 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,b9 00 00 2b 00 00 00 34 22 03 02 3c 00 fb 34 9b
2018.01.04 10:03:12 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"b9 00 00 2b 00 00 00 34 22 03 02 3c 00 fb 34 9b "}
2018.01.04 10:03:12 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2018.01.04 10:03:12 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2018.01.04 10:03:12 5: XiaomiFlowerSens (Blume1) - Handle0x35
2018.01.04 10:03:12 4: XiaomiFlowerSens (Blume1) - WriteReadings: Readings were written
2018.01.04 10:04:33 4: XiaomiFlowerSens (Blume8) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:04:33 4: XiaomiFlowerSens (Blume8) - stateRequestTimer: Call Request Timer ssh: connect to host pizero port 22: No route to host
2018.01.04 10:04:52 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Done: gatttool return string: Blume8|C4:7C:8D:63:89:AA|error|write|0x33|no gatttool binary found. Please check if bluez-package is properly installed
2018.01.04 10:04:52 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Done: JSON error while request: 'null' expected, at character offset 0 (before "no gatttool binary f...") at ./FHEM/74_XiaomiFlowerSens.pm line 494.
2018.01.04 10:04:52 5: XiaomiFlowerSens (Blume8) - ProcessingErrors
2018.01.04 10:04:52 4: XiaomiFlowerSens (Blume8) - WriteReadings: Readings were written
2018.01.04 10:09:19 4: XiaomiFlowerSens (Blume5) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:09:19 4: XiaomiFlowerSens (Blume5) - stateRequestTimer: Call Request Timer
2018.01.04 10:09:20 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 10:09:42 4: XiaomiFlowerSens (Blume6) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:09:42 4: XiaomiFlowerSens (Blume6) - stateRequestTimer: Call Request Timer
2018.01.04 10:09:43 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 10:09:50 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,c6 00 00 42 01 00 00 14 4c 00 02 3c 00 fb 34 9b
2018.01.04 10:09:50 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,c6 00 00 42 01 00 00 14 4c 00 02 3c 00 fb 34 9b
2018.01.04 10:09:50 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Done: gatttool return string: Blume6|C4:7C:8D:63:5E:9F|ok|read|0x35|{"gtResult":"c6 00 00 42 01 00 00 14 4c 00 02 3c 00 fb 34 9b "}
2018.01.04 10:09:50 5: XiaomiFlowerSens (Blume6) - ProcessingNotification
2018.01.04 10:09:50 4: XiaomiFlowerSens (Blume6) - ProcessingNotification: handle 0x35
2018.01.04 10:09:50 5: XiaomiFlowerSens (Blume6) - Handle0x35
2018.01.04 10:09:50 4: XiaomiFlowerSens (Blume6) - WriteReadings: Readings were written
2018.01.04 10:10:00 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,b8 00 00 af 00 00 00 19 ac 00 02 3c 00 fb 34 9b
2018.01.04 10:10:00 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,b8 00 00 af 00 00 00 19 ac 00 02 3c 00 fb 34 9b
2018.01.04 10:10:00 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Done: gatttool return string: Blume5|C4:7C:8D:63:4B:36|ok|read|0x35|{"gtResult":"b8 00 00 af 00 00 00 19 ac 00 02 3c 00 fb 34 9b "}
2018.01.04 10:10:00 5: XiaomiFlowerSens (Blume5) - ProcessingNotification
2018.01.04 10:10:00 4: XiaomiFlowerSens (Blume5) - ProcessingNotification: handle 0x35
2018.01.04 10:10:00 5: XiaomiFlowerSens (Blume5) - Handle0x35
2018.01.04 10:10:01 4: XiaomiFlowerSens (Blume5) - WriteReadings: Readings were written
2018.01.04 10:14:12 4: XiaomiFlowerSens (Blume3) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:14:12 4: XiaomiFlowerSens (Blume3) - stateRequestTimer: Call Request Timer
2018.01.04 10:14:13 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-read -a 0x35 2>&1 /dev/null' and loop 0 connect error: Connection refused (111)
2018.01.04 10:14:53 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool loop result
2018.01.04 10:14:53 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.04 10:14:53 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool result
2018.01.04 10:14:53 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.04 10:14:53 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Done: gatttool return string: Blume3|C4:7C:8D:63:49:16|error|read|0x35|{"gtResult":"no data response"}
2018.01.04 10:14:53 5: XiaomiFlowerSens (Blume3) - ProcessingErrors
2018.01.04 10:14:53 4: XiaomiFlowerSens (Blume3) - WriteReadings: Readings were written
2018.01.04 10:15:11 4: XiaomiFlowerSens (Blume2) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:15:11 4: XiaomiFlowerSens (Blume2) - stateRequestTimer: Call Request Timer
2018.01.04 10:15:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-read -a 0x35 2>&1 /dev/null' and loop 0 connect error: Transport endpoint is not connected (107)
2018.01.04 10:15:26 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool loop result
2018.01.04 10:15:26 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.04 10:15:26 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool result
2018.01.04 10:15:26 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.04 10:15:26 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Done: gatttool return string: Blume2|C4:7C:8D:61:B4:D9|error|read|0x35|{"gtResult":"no data response"}
2018.01.04 10:15:26 5: XiaomiFlowerSens (Blume2) - ProcessingErrors
2018.01.04 10:15:26 4: XiaomiFlowerSens (Blume2) - WriteReadings: Readings were written
2018.01.04 10:17:03 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:17:03 4: XiaomiFlowerSens (Blume4) - stateRequestTimer: Call Request Timer
2018.01.04 10:17:04 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0 connect error: Connection refused (111)
2018.01.04 10:17:45 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.04 10:17:45 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.04 10:17:45 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result
2018.01.04 10:17:45 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.04 10:17:45 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}
2018.01.04 10:17:45 5: XiaomiFlowerSens (Blume4) - ProcessingErrors
2018.01.04 10:17:45 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2018.01.04 10:18:12 4: XiaomiFlowerSens (Blume7) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:18:12 4: XiaomiFlowerSens (Blume7) - stateRequestTimer: Call Request Timer
2018.01.04 10:18:13 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x35 2>&1 /dev/null' and loop 0 connect error: Transport endpoint is not connected (107)
2018.01.04 10:18:20 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result
2018.01.04 10:18:20 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.04 10:18:20 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool result
2018.01.04 10:18:20 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.04 10:18:20 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Done: gatttool return string: Blume7|C4:7C:8D:63:86:10|error|read|0x35|{"gtResult":"no data response"}
2018.01.04 10:18:20 5: XiaomiFlowerSens (Blume7) - ProcessingErrors
2018.01.04 10:18:20 4: XiaomiFlowerSens (Blume7) - WriteReadings: Readings were written
2018.01.04 10:19:24 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:19:24 4: XiaomiFlowerSens (Blume1) - stateRequestTimer: Call Request Timer
2018.01.04 10:19:25 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 10:19:33 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,ba 00 00 87 00 00 00 33 20 03 02 3c 00 fb 34 9b
2018.01.04 10:19:33 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,ba 00 00 87 00 00 00 33 20 03 02 3c 00 fb 34 9b
2018.01.04 10:19:33 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"ba 00 00 87 00 00 00 33 20 03 02 3c 00 fb 34 9b "}
2018.01.04 10:19:33 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2018.01.04 10:19:33 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2018.01.04 10:19:33 5: XiaomiFlowerSens (Blume1) - Handle0x35
2018.01.04 10:19:33 4: XiaomiFlowerSens (Blume1) - WriteReadings: Readings were written
Ah ok, jetzt habe ich ein klareres Bild. Sobald er einmal keine Verbindung aufbauen kann. z.B. Connection refused vom BT Dongle kommt er durch die Befehlskette durcheinander.
Muss ich mir was einfallen lassen.
Zitat von: CoolTux am 03 Januar 2018, 12:43:45
Da dies die Arbeit eines anderen Entwicklers ist, möchte ich dazu nichts weiter sagen.
Spaßeshalber habe ich mal versucht, das Thermometer mit Deinem Modul einzubinden. Das Ergebnis scheint vielversprechend...
defmod xfs XiaomiFlowerSens 4C:65:A8:D0:42:63
setstate xfs active
setstate xfs 2018-01-04 18:20:18 battery ok
setstate xfs 2018-01-04 18:20:18 batteryLevel 255
setstate xfs 2018-01-04 18:21:38 fertility 0
setstate xfs 2018-01-04 18:20:18 firmware -30.-30.-30
setstate xfs 2018-01-04 18:21:38 lux 16
setstate xfs 2018-01-04 18:21:38 moisture 0
setstate xfs 2018-01-04 18:21:38 state active
setstate xfs 2018-01-04 18:21:38 temperature 1383.2
Natürlich stimmen die Daten soweit noch nicht, aber es scheint eine ähnliche Implementierung zu sein. Kannst Du mir nen Tipp geben, wie ich da weiter kommen könnte?! Ggf. könnte Dein Modul ja auch "universeller werden...
Gruß
Dirk
Zitat von: distel am 04 Januar 2018, 18:25:58
Spaßeshalber habe ich mal versucht, das Thermometer mit Deinem Modul einzubinden. Das Ergebnis scheint vielversprechend...
defmod xfs XiaomiFlowerSens 4C:65:A8:D0:42:63
setstate xfs active
setstate xfs 2018-01-04 18:20:18 battery ok
setstate xfs 2018-01-04 18:20:18 batteryLevel 255
setstate xfs 2018-01-04 18:21:38 fertility 0
setstate xfs 2018-01-04 18:20:18 firmware -30.-30.-30
setstate xfs 2018-01-04 18:21:38 lux 16
setstate xfs 2018-01-04 18:21:38 moisture 0
setstate xfs 2018-01-04 18:21:38 state active
setstate xfs 2018-01-04 18:21:38 temperature 1383.2
Natürlich stimmen die Daten soweit noch nicht, aber es scheint eine ähnliche Implementierung zu sein. Kannst Du mir nen Tipp geben, wie ich da weiter kommen könnte?! Ggf. könnte Dein Modul ja auch "universeller werden...
Gruß
Dirk
Schau erstmal das du Werte ausserhalb von FHEM bekommst. Nur rein mit einem gatttool Aufruf.
Hier ist der Ausgangthread da findest Du mehr Infos
https://forum.fhem.de/index.php/topic,57787.0.html
Mach mal gatttool --characteristic oder so ähnlich.
Zitat von: CoolTux am 04 Januar 2018, 19:22:52
Schau erstmal das du Werte ausserhalb von FHEM bekommst. Nur rein mit einem gatttool Aufruf.
Danke für die Tipps! Leider zickt das Teil schon was rum :-/
Nen paar Dinge lassen sich "standardkonform" (Device Information, Battery Service, ...) auslesen - das hatte mir auch schon nRF Connect auf Android angezeigt.
Nur die Temperatur will sich nicht offenbaren.
Gibt es ne Möglichkeit bei Android den BT-Verkehr zu tracen? dann könnte ich mal die App belauschen...
Gruß Dirk
PS: Bin ja etwas OffTopic hier unterwegs... werde wohl mal nen neuen Thread aufmachen - Wenn es "joinbare" Erebnisse gibt, weiß ich ja, wohin ich mich wenden kann.
Zitat von: inoma am 04 Januar 2018, 10:32:06
Hallo Leon,
beim 'write' bekomme ich auch den langen Befehl. Hier nochmal ein längerer Log mit verbose 5 über alle Blumen. Jetzt sollte es stimmen.
2018.01.04 09:58:26 4: XiaomiFlowerSens (Blume2) - WriteSensData: call function ExecGatttool_Run
2018.01.04 09:58:27 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 09:58:29 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,bb 00 00 97 00 00 00 1f f5 00 02 3c 00 fb 34 9b
2018.01.04 09:58:29 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,bb 00 00 97 00 00 00 1f f5 00 02 3c 00 fb 34 9b
2018.01.04 09:58:29 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Done: gatttool return string: Blume2|C4:7C:8D:61:B4:D9|ok|read|0x35|{"gtResult":"bb 00 00 97 00 00 00 1f f5 00 02 3c 00 fb 34 9b "}
2018.01.04 09:58:29 5: XiaomiFlowerSens (Blume2) - ProcessingNotification
2018.01.04 09:58:29 4: XiaomiFlowerSens (Blume2) - ProcessingNotification: handle 0x35
2018.01.04 09:58:29 5: XiaomiFlowerSens (Blume2) - Handle0x35
2018.01.04 09:58:29 4: XiaomiFlowerSens (Blume2) - WriteReadings: Readings were written
2018.01.04 09:58:30 4: XiaomiFlowerSens (Blume3) - WriteSensData: call function ExecGatttool_Run
2018.01.04 09:58:32 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 09:58:48 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,91 00 00 7b 00 00 00 1a 4a 00 02 3c 00 fb 34 9b
2018.01.04 09:58:48 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,91 00 00 7b 00 00 00 1a 4a 00 02 3c 00 fb 34 9b
2018.01.04 09:58:48 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Done: gatttool return string: Blume3|C4:7C:8D:63:49:16|ok|read|0x35|{"gtResult":"91 00 00 7b 00 00 00 1a 4a 00 02 3c 00 fb 34 9b "}
2018.01.04 09:58:48 5: XiaomiFlowerSens (Blume3) - ProcessingNotification
2018.01.04 09:58:48 4: XiaomiFlowerSens (Blume3) - ProcessingNotification: handle 0x35
2018.01.04 09:58:48 5: XiaomiFlowerSens (Blume3) - Handle0x35
2018.01.04 09:58:48 4: XiaomiFlowerSens (Blume3) - WriteReadings: Readings were written
2018.01.04 10:00:14 4: XiaomiFlowerSens (Blume7) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:00:14 4: XiaomiFlowerSens (Blume7) - stateRequestTimer: Call Request Timer
2018.01.04 10:00:21 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 10:00:28 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,b6 00 00 75 00 00 00 22 82 00 02 3c 00 fb 34 9b
2018.01.04 10:00:28 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,b6 00 00 75 00 00 00 22 82 00 02 3c 00 fb 34 9b
2018.01.04 10:00:28 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Done: gatttool return string: Blume7|C4:7C:8D:63:86:10|ok|read|0x35|{"gtResult":"b6 00 00 75 00 00 00 22 82 00 02 3c 00 fb 34 9b "}
2018.01.04 10:00:28 5: XiaomiFlowerSens (Blume7) - ProcessingNotification
2018.01.04 10:00:28 4: XiaomiFlowerSens (Blume7) - ProcessingNotification: handle 0x35
2018.01.04 10:00:28 5: XiaomiFlowerSens (Blume7) - Handle0x35
2018.01.04 10:00:28 4: XiaomiFlowerSens (Blume7) - WriteReadings: Readings were written
2018.01.04 10:03:04 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:03:04 4: XiaomiFlowerSens (Blume1) - stateRequestTimer: Call Request Timer
2018.01.04 10:03:06 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 10:03:12 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,b9 00 00 2b 00 00 00 34 22 03 02 3c 00 fb 34 9b
2018.01.04 10:03:12 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,b9 00 00 2b 00 00 00 34 22 03 02 3c 00 fb 34 9b
2018.01.04 10:03:12 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"b9 00 00 2b 00 00 00 34 22 03 02 3c 00 fb 34 9b "}
2018.01.04 10:03:12 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2018.01.04 10:03:12 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2018.01.04 10:03:12 5: XiaomiFlowerSens (Blume1) - Handle0x35
2018.01.04 10:03:12 4: XiaomiFlowerSens (Blume1) - WriteReadings: Readings were written
2018.01.04 10:04:33 4: XiaomiFlowerSens (Blume8) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:04:33 4: XiaomiFlowerSens (Blume8) - stateRequestTimer: Call Request Timer ssh: connect to host pizero port 22: No route to host
2018.01.04 10:04:52 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Done: gatttool return string: Blume8|C4:7C:8D:63:89:AA|error|write|0x33|no gatttool binary found. Please check if bluez-package is properly installed
2018.01.04 10:04:52 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Done: JSON error while request: 'null' expected, at character offset 0 (before "no gatttool binary f...") at ./FHEM/74_XiaomiFlowerSens.pm line 494.
2018.01.04 10:04:52 5: XiaomiFlowerSens (Blume8) - ProcessingErrors
2018.01.04 10:04:52 4: XiaomiFlowerSens (Blume8) - WriteReadings: Readings were written
2018.01.04 10:09:19 4: XiaomiFlowerSens (Blume5) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:09:19 4: XiaomiFlowerSens (Blume5) - stateRequestTimer: Call Request Timer
2018.01.04 10:09:20 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 10:09:42 4: XiaomiFlowerSens (Blume6) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:09:42 4: XiaomiFlowerSens (Blume6) - stateRequestTimer: Call Request Timer
2018.01.04 10:09:43 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 10:09:50 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,c6 00 00 42 01 00 00 14 4c 00 02 3c 00 fb 34 9b
2018.01.04 10:09:50 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,c6 00 00 42 01 00 00 14 4c 00 02 3c 00 fb 34 9b
2018.01.04 10:09:50 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Done: gatttool return string: Blume6|C4:7C:8D:63:5E:9F|ok|read|0x35|{"gtResult":"c6 00 00 42 01 00 00 14 4c 00 02 3c 00 fb 34 9b "}
2018.01.04 10:09:50 5: XiaomiFlowerSens (Blume6) - ProcessingNotification
2018.01.04 10:09:50 4: XiaomiFlowerSens (Blume6) - ProcessingNotification: handle 0x35
2018.01.04 10:09:50 5: XiaomiFlowerSens (Blume6) - Handle0x35
2018.01.04 10:09:50 4: XiaomiFlowerSens (Blume6) - WriteReadings: Readings were written
2018.01.04 10:10:00 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,b8 00 00 af 00 00 00 19 ac 00 02 3c 00 fb 34 9b
2018.01.04 10:10:00 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,b8 00 00 af 00 00 00 19 ac 00 02 3c 00 fb 34 9b
2018.01.04 10:10:00 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Done: gatttool return string: Blume5|C4:7C:8D:63:4B:36|ok|read|0x35|{"gtResult":"b8 00 00 af 00 00 00 19 ac 00 02 3c 00 fb 34 9b "}
2018.01.04 10:10:00 5: XiaomiFlowerSens (Blume5) - ProcessingNotification
2018.01.04 10:10:00 4: XiaomiFlowerSens (Blume5) - ProcessingNotification: handle 0x35
2018.01.04 10:10:00 5: XiaomiFlowerSens (Blume5) - Handle0x35
2018.01.04 10:10:01 4: XiaomiFlowerSens (Blume5) - WriteReadings: Readings were written
2018.01.04 10:14:12 4: XiaomiFlowerSens (Blume3) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:14:12 4: XiaomiFlowerSens (Blume3) - stateRequestTimer: Call Request Timer
2018.01.04 10:14:13 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-read -a 0x35 2>&1 /dev/null' and loop 0 connect error: Connection refused (111)
2018.01.04 10:14:53 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool loop result
2018.01.04 10:14:53 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.04 10:14:53 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool result
2018.01.04 10:14:53 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.04 10:14:53 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Done: gatttool return string: Blume3|C4:7C:8D:63:49:16|error|read|0x35|{"gtResult":"no data response"}
2018.01.04 10:14:53 5: XiaomiFlowerSens (Blume3) - ProcessingErrors
2018.01.04 10:14:53 4: XiaomiFlowerSens (Blume3) - WriteReadings: Readings were written
2018.01.04 10:15:11 4: XiaomiFlowerSens (Blume2) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:15:11 4: XiaomiFlowerSens (Blume2) - stateRequestTimer: Call Request Timer
2018.01.04 10:15:12 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-read -a 0x35 2>&1 /dev/null' and loop 0 connect error: Transport endpoint is not connected (107)
2018.01.04 10:15:26 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool loop result
2018.01.04 10:15:26 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.04 10:15:26 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool result
2018.01.04 10:15:26 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.04 10:15:26 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Done: gatttool return string: Blume2|C4:7C:8D:61:B4:D9|error|read|0x35|{"gtResult":"no data response"}
2018.01.04 10:15:26 5: XiaomiFlowerSens (Blume2) - ProcessingErrors
2018.01.04 10:15:26 4: XiaomiFlowerSens (Blume2) - WriteReadings: Readings were written
2018.01.04 10:17:03 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:17:03 4: XiaomiFlowerSens (Blume4) - stateRequestTimer: Call Request Timer
2018.01.04 10:17:04 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0 connect error: Connection refused (111)
2018.01.04 10:17:45 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.04 10:17:45 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.04 10:17:45 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result
2018.01.04 10:17:45 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.04 10:17:45 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}
2018.01.04 10:17:45 5: XiaomiFlowerSens (Blume4) - ProcessingErrors
2018.01.04 10:17:45 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2018.01.04 10:18:12 4: XiaomiFlowerSens (Blume7) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:18:12 4: XiaomiFlowerSens (Blume7) - stateRequestTimer: Call Request Timer
2018.01.04 10:18:13 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x35 2>&1 /dev/null' and loop 0 connect error: Transport endpoint is not connected (107)
2018.01.04 10:18:20 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result
2018.01.04 10:18:20 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.04 10:18:20 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool result
2018.01.04 10:18:20 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.04 10:18:20 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Done: gatttool return string: Blume7|C4:7C:8D:63:86:10|error|read|0x35|{"gtResult":"no data response"}
2018.01.04 10:18:20 5: XiaomiFlowerSens (Blume7) - ProcessingErrors
2018.01.04 10:18:20 4: XiaomiFlowerSens (Blume7) - WriteReadings: Readings were written
2018.01.04 10:19:24 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2018.01.04 10:19:24 4: XiaomiFlowerSens (Blume1) - stateRequestTimer: Call Request Timer
2018.01.04 10:19:25 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh flurry 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.04 10:19:33 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully Characteristic value/descriptor,ba 00 00 87 00 00 00 33 20 03 02 3c 00 fb 34 9b
2018.01.04 10:19:33 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully Characteristic value/descriptor,ba 00 00 87 00 00 00 33 20 03 02 3c 00 fb 34 9b
2018.01.04 10:19:33 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"ba 00 00 87 00 00 00 33 20 03 02 3c 00 fb 34 9b "}
2018.01.04 10:19:33 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2018.01.04 10:19:33 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2018.01.04 10:19:33 5: XiaomiFlowerSens (Blume1) - Handle0x35
2018.01.04 10:19:33 4: XiaomiFlowerSens (Blume1) - WriteReadings: Readings were written
Da GitHub gerade hängt würde ich Dich bitten diese Version (https://github.com/LeonGaultier/fhem-XiaomiFlowerMonitor/archive/devel.zip) einmal zu testen.
ACHTUNG!!! Da ich aktuell zu Hause mich nicht einwählen kann konnte ich sie nicht testen.
Zitat von: CoolTux am 02 Januar 2018, 11:40:11
Ich habe soeben eine neue Version ins SVN geladen. Durch diese Version sollte sich das "auslesen Problem" über SSH erledigt haben. Bitte einmal testen.
Hallo,
nun auch endlich mal eine Rückmeldung von mir, hatte nach den Feiertagen wenig Zeit. Mit der Version 1.4.0 geht es! Kein "charWrite faild" mehr, vielen Dank CoolTux! Was hast du geändert wenn ich fragen darf?
VG
Marcel
Mit neueren Fimwareversionen wurde anscheinend die Zeit gekürzt welche zwischen einen write und einem read liegen darf. per ssh haben die Befehle zu lange gedauert. Ich habe daraus nun eine Befehlskette gemacht.
Nun ist zwar wieder meine Flexibilität flöten, aber was solls. ;D
Grüße
Zitat von: distel am 04 Januar 2018, 22:22:16
Danke für die Tipps! Leider zickt das Teil schon was rum :-/
Nen paar Dinge lassen sich "standardkonform" (Device Information, Battery Service, ...) auslesen - das hatte mir auch schon nRF Connect auf Android angezeigt.
Nur die Temperatur will sich nicht offenbaren.
Gibt es ne Möglichkeit bei Android den BT-Verkehr zu tracen? dann könnte ich mal die App belauschen...
Gruß Dirk
PS: Bin ja etwas OffTopic hier unterwegs... werde wohl mal nen neuen Thread aufmachen - Wenn es "joinbare" Erebnisse gibt, weiß ich ja, wohin ich mich wenden kann.
Mach einen neuen Thread auf, setzte den Link hier rein das ich das sehe.
Mache dann ein gatttool -b MAC --characteristics
Und poste die Ausgabe in den neuen Thread
Hier noch was zum lesen
https://www.bluetooth.com/specifications/gatt/characteristics
Eine Frage zu einer Antwort die es bestimmt schon gibt, ich allerdings leider nicht finde:
Ich habe notifies eingestellt für Benachrichtigungen wenn die Werte zu hoch bzw. zu niedrig sind. Leider bekomme ich immer eine Benachrichtigung bei zu hohem/zu niedrigem Wert wenn der Sensor abgefragt wird (bei mir alle 2 Stunden). Ist es möglich, dass ich nur einmal eine Benachrichtigung bekomme wenn ein Wert nicht passt? event-on-change-reading .*
habe ich bereits als Attribut eingefügt. Nun generieren zwar die Readings ein Event nur bei Änderung. Allerdings kommen Events á la "minMoisture low" trotzdem bei jeder Abfrage.
Wie kann man das ändern?
VG
Marcel
ZitatEine Frage zu einer Antwort die es bestimmt schon gibt, ich allerdings leider nicht finde:
Schau dir mal
watchdog das neue Modul
monitoring an.
https://fhem.de/commandref_DE.html#monitoring (https://fhem.de/commandref_DE.html#monitoring)
Wenn du mehrere Pflanzen hast, würde ich dir letzteres empfehlen.
VG
Hi Leon,
die neue Version von heute morgen bringt jetzt folgende Fehlermeldung:
2018.01.05 17:56:55 4: XiaomiFlowerSens (Blume6) - CallBatteryFirmware: call function ExecGatttool_Run
2018.01.05 17:56:55 4: XiaomiFlowerSens (Blume6) - stateRequestTimer: Call Request Timer
2018.01.05 17:56:57 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-read -a 0x38 2>&1 /dev/null' and loop 0
2018.01.05 17:57:27 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,63 27 33 2e 31 2e 38
2018.01.05 17:57:27 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,63 27 33 2e 31 2e 38
2018.01.05 17:57:27 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Done: gatttool return string: Blume6|C4:7C:8D:63:5E:9F|ok|read|0x38|{"gtResult":"63 27 33 2e 31 2e 38 "}
2018.01.05 17:57:27 5: XiaomiFlowerSens (Blume6) - ProcessingNotification
2018.01.05 17:57:27 4: XiaomiFlowerSens (Blume6) - ProcessingNotification: handle 0x38
2018.01.05 17:57:27 5: XiaomiFlowerSens (Blume6) - Handle0x38
2018.01.05 17:57:27 4: XiaomiFlowerSens (Blume6) - WriteReadings: Readings were written
2018.01.05 17:57:27 4: XiaomiFlowerSens (Blume6) - WriteSensData: call function ExecGatttool_Run
2018.01.05 17:57:28 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 17:57:36 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool loop result
2018.01.05 17:57:36 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 17:57:36 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume6|C4:7C:8D:63:5E:9F|ok|read|0x38|{"gtResult":"63 27 33 2e 31 2e 38 "}')}
2018.01.05 17:57:36 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool result
2018.01.05 17:57:36 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 17:57:36 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume6|C4:7C:8D:63:5E:9F|ok|read|0x38|{"gtResult":"63 27 33 2e 31 2e 38 "}')}
2018.01.05 17:57:36 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Done: gatttool return string: Blume6|C4:7C:8D:63:5E:9F|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 17:57:36 5: XiaomiFlowerSens (Blume6) - ProcessingErrors
2018.01.05 17:57:36 4: XiaomiFlowerSens (Blume6) - WriteReadings: Readings were written
2018.01.05 17:57:36 4: XiaomiFlowerSens (Blume6) - WriteSensData: call function ExecGatttool_Run
2018.01.05 17:57:41 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 17:57:48 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,d5 00 00 71 00 00 00 14 4f 00 02 3c 00 fb 34 9b
2018.01.05 17:57:48 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,d5 00 00 71 00 00 00 14 4f 00 02 3c 00 fb 34 9b
2018.01.05 17:57:48 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Done: gatttool return string: Blume6|C4:7C:8D:63:5E:9F|ok|read|0x35|{"gtResult":"d5 00 00 71 00 00 00 14 4f 00 02 3c 00 fb 34 9b "}
2018.01.05 17:57:48 5: XiaomiFlowerSens (Blume6) - ProcessingNotification
2018.01.05 17:57:48 4: XiaomiFlowerSens (Blume6) - ProcessingNotification: handle 0x35
2018.01.05 17:57:48 5: XiaomiFlowerSens (Blume6) - Handle0x35
2018.01.05 17:57:48 4: XiaomiFlowerSens (Blume6) - WriteReadings: Readings were written
2018.01.05 17:57:53 4: XiaomiFlowerSens (Blume8) - CallBatteryFirmware: call function ExecGatttool_Run
2018.01.05 17:57:53 4: XiaomiFlowerSens (Blume8) - stateRequestTimer: Call Request Timer
2018.01.05 17:57:54 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-read -a 0x38 2>&1 /dev/null' and loop 0
2018.01.05 17:58:04 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,64 27 33 2e 31 2e 38
2018.01.05 17:58:04 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,64 27 33 2e 31 2e 38
2018.01.05 17:58:04 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Done: gatttool return string: Blume8|C4:7C:8D:63:89:AA|ok|read|0x38|{"gtResult":"64 27 33 2e 31 2e 38 "}
2018.01.05 17:58:04 5: XiaomiFlowerSens (Blume8) - ProcessingNotification
2018.01.05 17:58:04 4: XiaomiFlowerSens (Blume8) - ProcessingNotification: handle 0x38
2018.01.05 17:58:04 5: XiaomiFlowerSens (Blume8) - Handle0x38
2018.01.05 17:58:04 4: XiaomiFlowerSens (Blume8) - WriteReadings: Readings were written
2018.01.05 17:58:04 4: XiaomiFlowerSens (Blume8) - WriteSensData: call function ExecGatttool_Run
2018.01.05 17:58:05 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Connection timed out (110)
2018.01.05 17:58:06 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool loop result
2018.01.05 17:58:06 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 17:58:06 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|ok|read|0x38|{"gtResult":"64 27 33 2e 31 2e 38 "}')}
2018.01.05 17:58:06 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool result
2018.01.05 17:58:06 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 17:58:06 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume8|C4:7C:8D:63:89:AA|ok|read|0x38|{"gtResult":"64 27 33 2e 31 2e 38 "}')}
2018.01.05 17:58:06 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Done: gatttool return string: Blume8|C4:7C:8D:63:89:AA|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 17:58:06 5: XiaomiFlowerSens (Blume8) - ProcessingErrors
2018.01.05 17:58:06 4: XiaomiFlowerSens (Blume8) - WriteReadings: Readings were written
2018.01.05 17:58:06 4: XiaomiFlowerSens (Blume8) - WriteSensData: call function ExecGatttool_Run
2018.01.05 17:58:08 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 17:58:09 4: XiaomiFlowerSens (Blume2) - CallBatteryFirmware: call function ExecGatttool_Run
2018.01.05 17:58:09 4: XiaomiFlowerSens (Blume2) - stateRequestTimer: Call Request Timer
2018.01.05 17:58:10 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-read -a 0x38 2>&1 /dev/null' and loop 0
2018.01.05 17:58:13 1: PERL WARNING: Use of uninitialized value $ext in string eq at ./FHEM/01_FHEMWEB.pm line 700.
2018.01.05 17:58:19 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,64 27 33 2e 31 2e 38
2018.01.05 17:58:19 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,64 27 33 2e 31 2e 38
2018.01.05 17:58:19 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Done: gatttool return string: Blume2|C4:7C:8D:61:B4:D9|ok|read|0x38|{"gtResult":"64 27 33 2e 31 2e 38 "}
2018.01.05 17:58:19 5: XiaomiFlowerSens (Blume2) - ProcessingNotification
2018.01.05 17:58:19 4: XiaomiFlowerSens (Blume2) - ProcessingNotification: handle 0x38
2018.01.05 17:58:19 5: XiaomiFlowerSens (Blume2) - Handle0x38
2018.01.05 17:58:19 4: XiaomiFlowerSens (Blume2) - WriteReadings: Readings were written
2018.01.05 17:58:19 4: XiaomiFlowerSens (Blume2) - WriteSensData: call function ExecGatttool_Run
2018.01.05 17:58:20 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 17:58:25 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,c8 00 00 1a 00 00 00 1f f6 00 02 3c 00 fb 34 9b
2018.01.05 17:58:25 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,c8 00 00 1a 00 00 00 1f f6 00 02 3c 00 fb 34 9b
2018.01.05 17:58:25 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Done: gatttool return string: Blume2|C4:7C:8D:61:B4:D9|ok|read|0x35|{"gtResult":"c8 00 00 1a 00 00 00 1f f6 00 02 3c 00 fb 34 9b "}
2018.01.05 17:58:25 5: XiaomiFlowerSens (Blume2) - ProcessingNotification
2018.01.05 17:58:25 4: XiaomiFlowerSens (Blume2) - ProcessingNotification: handle 0x35
2018.01.05 17:58:25 5: XiaomiFlowerSens (Blume2) - Handle0x35
2018.01.05 17:58:26 4: XiaomiFlowerSens (Blume2) - WriteReadings: Readings were written
2018.01.05 17:58:41 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,c0 00 00 44 00 00 00 2e 17 01 02 3c 00 fb 34 9b
2018.01.05 17:58:41 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,c0 00 00 44 00 00 00 2e 17 01 02 3c 00 fb 34 9b
2018.01.05 17:58:41 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Done: gatttool return string: Blume8|C4:7C:8D:63:89:AA|ok|read|0x35|{"gtResult":"c0 00 00 44 00 00 00 2e 17 01 02 3c 00 fb 34 9b "}
2018.01.05 17:58:41 5: XiaomiFlowerSens (Blume8) - ProcessingNotification
2018.01.05 17:58:41 4: XiaomiFlowerSens (Blume8) - ProcessingNotification: handle 0x35
2018.01.05 17:58:41 5: XiaomiFlowerSens (Blume8) - Handle0x35
2018.01.05 17:58:41 4: XiaomiFlowerSens (Blume8) - WriteReadings: Readings were written
2018.01.05 17:59:04 4: XiaomiFlowerSens (Blume3) - CallBatteryFirmware: call function ExecGatttool_Run
2018.01.05 17:59:04 4: XiaomiFlowerSens (Blume3) - stateRequestTimer: Call Request Timer
2018.01.05 17:59:05 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-read -a 0x38 2>&1 /dev/null' and loop 0
2018.01.05 17:59:12 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,61 27 33 2e 31 2e 38
2018.01.05 17:59:12 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,61 27 33 2e 31 2e 38
2018.01.05 17:59:12 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Done: gatttool return string: Blume3|C4:7C:8D:63:49:16|ok|read|0x38|{"gtResult":"61 27 33 2e 31 2e 38 "}
2018.01.05 17:59:12 5: XiaomiFlowerSens (Blume3) - ProcessingNotification
2018.01.05 17:59:12 4: XiaomiFlowerSens (Blume3) - ProcessingNotification: handle 0x38
2018.01.05 17:59:12 5: XiaomiFlowerSens (Blume3) - Handle0x38
2018.01.05 17:59:12 4: XiaomiFlowerSens (Blume3) - WriteReadings: Readings were written
2018.01.05 17:59:12 4: XiaomiFlowerSens (Blume3) - WriteSensData: call function ExecGatttool_Run
2018.01.05 17:59:14 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 17:59:17 4: XiaomiFlowerSens (Blume5) - CallBatteryFirmware: call function ExecGatttool_Run
2018.01.05 17:59:17 4: XiaomiFlowerSens (Blume5) - stateRequestTimer: Call Request Timer
2018.01.05 17:59:18 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-read -a 0x38 2>&1 /dev/null' and loop 0
2018.01.05 17:59:25 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,61 27 33 2e 31 2e 38
2018.01.05 17:59:25 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,61 27 33 2e 31 2e 38
2018.01.05 17:59:25 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Done: gatttool return string: Blume5|C4:7C:8D:63:4B:36|ok|read|0x38|{"gtResult":"61 27 33 2e 31 2e 38 "}
2018.01.05 17:59:25 5: XiaomiFlowerSens (Blume5) - ProcessingNotification
2018.01.05 17:59:25 4: XiaomiFlowerSens (Blume5) - ProcessingNotification: handle 0x38
2018.01.05 17:59:25 5: XiaomiFlowerSens (Blume5) - Handle0x38
2018.01.05 17:59:25 4: XiaomiFlowerSens (Blume5) - WriteReadings: Readings were written
2018.01.05 17:59:25 4: XiaomiFlowerSens (Blume5) - WriteSensData: call function ExecGatttool_Run
2018.01.05 17:59:27 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 17:59:28 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,c1 00 00 88 00 00 00 19 3f 00 02 3c 00 fb 34 9b
2018.01.05 17:59:28 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,c1 00 00 88 00 00 00 19 3f 00 02 3c 00 fb 34 9b
2018.01.05 17:59:29 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Done: gatttool return string: Blume3|C4:7C:8D:63:49:16|ok|read|0x35|{"gtResult":"c1 00 00 88 00 00 00 19 3f 00 02 3c 00 fb 34 9b "}
2018.01.05 17:59:29 5: XiaomiFlowerSens (Blume3) - ProcessingNotification
2018.01.05 17:59:29 4: XiaomiFlowerSens (Blume3) - ProcessingNotification: handle 0x35
2018.01.05 17:59:29 5: XiaomiFlowerSens (Blume3) - Handle0x35
2018.01.05 17:59:29 4: XiaomiFlowerSens (Blume3) - WriteReadings: Readings were written
connect error: Transport endpoint is not connected (107)
2018.01.05 17:59:41 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool loop result
2018.01.05 17:59:41 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 17:59:41 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume5|C4:7C:8D:63:4B:36|ok|read|0x38|{"gtResult":"61 27 33 2e 31 2e 38 "}')}
2018.01.05 17:59:41 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool result
2018.01.05 17:59:41 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 17:59:41 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume5|C4:7C:8D:63:4B:36|ok|read|0x38|{"gtResult":"61 27 33 2e 31 2e 38 "}')}
2018.01.05 17:59:41 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Done: gatttool return string: Blume5|C4:7C:8D:63:4B:36|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 17:59:41 5: XiaomiFlowerSens (Blume5) - ProcessingErrors
2018.01.05 17:59:41 4: XiaomiFlowerSens (Blume5) - WriteReadings: Readings were written
2018.01.05 17:59:41 4: XiaomiFlowerSens (Blume5) - WriteSensData: call function ExecGatttool_Run
2018.01.05 17:59:42 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 17:59:44 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2018.01.05 17:59:44 4: XiaomiFlowerSens (Blume1) - stateRequestTimer: Call Request Timer
2018.01.05 17:59:45 4: XiaomiFlowerSens (Blume4) - CallBatteryFirmware: call function ExecGatttool_Run
2018.01.05 17:59:45 4: XiaomiFlowerSens (Blume4) - stateRequestTimer: Call Request Timer
2018.01.05 17:59:45 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 17:59:46 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x38 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 17:59:49 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool loop result
2018.01.05 17:59:49 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 17:59:49 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume5|C4:7C:8D:63:4B:36|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 17:59:49 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool result
2018.01.05 17:59:49 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 17:59:49 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume5|C4:7C:8D:63:4B:36|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 17:59:49 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Done: gatttool return string: Blume5|C4:7C:8D:63:4B:36|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 17:59:49 5: XiaomiFlowerSens (Blume5) - ProcessingErrors
2018.01.05 17:59:49 4: XiaomiFlowerSens (Blume5) - WriteReadings: Readings were written
2018.01.05 17:59:49 4: XiaomiFlowerSens (Blume5) - WriteSensData: call function ExecGatttool_Run
2018.01.05 17:59:53 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 17:59:55 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,c5 00 00 32 00 00 00 34 40 03 02 3c 00 fb 34 9b
2018.01.05 17:59:55 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,c5 00 00 32 00 00 00 34 40 03 02 3c 00 fb 34 9b
2018.01.05 17:59:55 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"c5 00 00 32 00 00 00 34 40 03 02 3c 00 fb 34 9b "}
2018.01.05 17:59:55 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2018.01.05 17:59:55 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2018.01.05 17:59:55 5: XiaomiFlowerSens (Blume1) - Handle0x35
2018.01.05 17:59:55 4: XiaomiFlowerSens (Blume1) - WriteReadings: Readings were written
2018.01.05 17:59:59 4: XiaomiFlowerSens (Blume7) - CallBatteryFirmware: call function ExecGatttool_Run
2018.01.05 17:59:59 4: XiaomiFlowerSens (Blume7) - stateRequestTimer: Call Request Timer
2018.01.05 18:00:00 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x38 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 18:00:03 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool loop result
2018.01.05 18:00:03 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 18:00:03 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume5|C4:7C:8D:63:4B:36|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:00:03 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool result
2018.01.05 18:00:03 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 18:00:03 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume5|C4:7C:8D:63:4B:36|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:00:03 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Done: gatttool return string: Blume5|C4:7C:8D:63:4B:36|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 18:00:03 5: XiaomiFlowerSens (Blume5) - ProcessingErrors
2018.01.05 18:00:03 4: XiaomiFlowerSens (Blume5) - WriteReadings: Readings were written
2018.01.05 18:00:03 4: XiaomiFlowerSens (Blume5) - WriteSensData: call function ExecGatttool_Run
2018.01.05 18:00:05 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 18:00:09 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,63 27 33 2e 31 2e 38
2018.01.05 18:00:09 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,63 27 33 2e 31 2e 38
2018.01.05 18:00:09 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Done: gatttool return string: Blume7|C4:7C:8D:63:86:10|ok|read|0x38|{"gtResult":"63 27 33 2e 31 2e 38 "}
2018.01.05 18:00:09 5: XiaomiFlowerSens (Blume7) - ProcessingNotification
2018.01.05 18:00:09 4: XiaomiFlowerSens (Blume7) - ProcessingNotification: handle 0x38
2018.01.05 18:00:09 5: XiaomiFlowerSens (Blume7) - Handle0x38
2018.01.05 18:00:09 4: XiaomiFlowerSens (Blume7) - WriteReadings: Readings were written
2018.01.05 18:00:09 4: XiaomiFlowerSens (Blume7) - WriteSensData: call function ExecGatttool_Run
2018.01.05 18:00:10 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 18:00:17 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,c6 00 00 37 00 00 00 23 7f 00 02 3c 00 fb 34 9b
2018.01.05 18:00:17 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,c6 00 00 37 00 00 00 23 7f 00 02 3c 00 fb 34 9b
2018.01.05 18:00:18 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Done: gatttool return string: Blume7|C4:7C:8D:63:86:10|ok|read|0x35|{"gtResult":"c6 00 00 37 00 00 00 23 7f 00 02 3c 00 fb 34 9b "}
2018.01.05 18:00:18 5: XiaomiFlowerSens (Blume7) - ProcessingNotification
2018.01.05 18:00:18 4: XiaomiFlowerSens (Blume7) - ProcessingNotification: handle 0x35
2018.01.05 18:00:18 5: XiaomiFlowerSens (Blume7) - Handle0x35
2018.01.05 18:00:18 4: XiaomiFlowerSens (Blume7) - WriteReadings: Readings were written
2018.01.05 18:00:21 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)
2018.01.05 18:00:21 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x38 2>&1 /dev/null' and loop 1
2018.01.05 18:00:23 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result connect error,Software caused connection abort (103)
2018.01.05 18:00:23 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x38 2>&1 /dev/null' and loop 2
2018.01.05 18:00:25 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,c4 00 00 ac 00 00 00 19 a9 00 02 3c 00 fb 34 9b
2018.01.05 18:00:25 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,c4 00 00 ac 00 00 00 19 a9 00 02 3c 00 fb 34 9b
2018.01.05 18:00:25 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Done: gatttool return string: Blume5|C4:7C:8D:63:4B:36|ok|read|0x35|{"gtResult":"c4 00 00 ac 00 00 00 19 a9 00 02 3c 00 fb 34 9b "}
2018.01.05 18:00:25 5: XiaomiFlowerSens (Blume5) - ProcessingNotification
2018.01.05 18:00:25 4: XiaomiFlowerSens (Blume5) - ProcessingNotification: handle 0x35
2018.01.05 18:00:25 5: XiaomiFlowerSens (Blume5) - Handle0x35
2018.01.05 18:00:25 4: XiaomiFlowerSens (Blume5) - WriteReadings: Readings were written
2018.01.05 18:00:26 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result connect error,Transport endpoint is not connected (107)
2018.01.05 18:00:26 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x38 2>&1 /dev/null' and loop 3
2018.01.05 18:00:28 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result Characteristic value/descriptor,63 27 33 2e 31 2e 38
2018.01.05 18:00:28 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result Characteristic value/descriptor,63 27 33 2e 31 2e 38
2018.01.05 18:00:28 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|ok|read|0x38|{"gtResult":"63 27 33 2e 31 2e 38 "}
2018.01.05 18:00:28 5: XiaomiFlowerSens (Blume4) - ProcessingNotification
2018.01.05 18:00:28 4: XiaomiFlowerSens (Blume4) - ProcessingNotification: handle 0x38
2018.01.05 18:00:28 5: XiaomiFlowerSens (Blume4) - Handle0x38
2018.01.05 18:00:28 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2018.01.05 18:00:28 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.05 18:00:29 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Connection timed out (110)
2018.01.05 18:00:30 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 18:00:30 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 18:00:30 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|ok|read|0x38|{"gtResult":"63 27 33 2e 31 2e 38 "}')}
2018.01.05 18:00:30 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result
2018.01.05 18:00:30 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 18:00:30 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|ok|read|0x38|{"gtResult":"63 27 33 2e 31 2e 38 "}')}
2018.01.05 18:00:31 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 18:00:31 5: XiaomiFlowerSens (Blume4) - ProcessingErrors
2018.01.05 18:00:31 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2018.01.05 18:00:31 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.05 18:00:32 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 18:00:51 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 18:00:51 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 18:00:51 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:00:51 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result
2018.01.05 18:00:51 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 18:00:51 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:00:51 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 18:00:51 5: XiaomiFlowerSens (Blume4) - ProcessingErrors
2018.01.05 18:00:51 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2018.01.05 18:00:51 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.05 18:00:53 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 18:01:06 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 18:01:06 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 18:01:06 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:01:06 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result
2018.01.05 18:01:06 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 18:01:06 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:01:06 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 18:01:06 5: XiaomiFlowerSens (Blume4) - ProcessingErrors
2018.01.05 18:01:06 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2018.01.05 18:01:06 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.05 18:01:07 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 18:01:19 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 18:01:19 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 18:01:19 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:01:19 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result
2018.01.05 18:01:19 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 18:01:19 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:01:19 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 18:01:19 5: XiaomiFlowerSens (Blume4) - ProcessingErrors
2018.01.05 18:01:19 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2018.01.05 18:01:19 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.05 18:01:21 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 18:01:44 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 18:01:44 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 18:01:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:01:44 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result
2018.01.05 18:01:44 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 18:01:44 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:01:44 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 18:01:44 5: XiaomiFlowerSens (Blume4) - ProcessingErrors
2018.01.05 18:01:44 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2018.01.05 18:01:45 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.05 18:01:46 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 18:01:51 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 18:01:51 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 18:01:51 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:01:51 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result
2018.01.05 18:01:51 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 18:01:51 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:01:51 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 18:01:51 5: XiaomiFlowerSens (Blume4) - ProcessingErrors
2018.01.05 18:01:51 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2018.01.05 18:01:51 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.05 18:01:53 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 18:01:59 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 18:01:59 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 18:01:59 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:01:59 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result
2018.01.05 18:01:59 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 18:01:59 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:01:59 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 18:01:59 5: XiaomiFlowerSens (Blume4) - ProcessingErrors
2018.01.05 18:01:59 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2018.01.05 18:01:59 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.05 18:02:01 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 18:02:06 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 18:02:06 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 444.
2018.01.05 18:02:06 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:02:06 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result
2018.01.05 18:02:06 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 465.
2018.01.05 18:02:06 3: eval: {XiaomiFlowerSens_ExecGatttool_Done('Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}')}
2018.01.05 18:02:06 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 18:02:06 5: XiaomiFlowerSens (Blume4) - ProcessingErrors
2018.01.05 18:02:06 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2018.01.05 18:02:06 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.05 18:02:07 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 18:02:26 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,ba 00 00 22 00 00 00 1a c5 00 02 3c 00 fb 34 9b
2018.01.05 18:02:26 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,ba 00 00 22 00 00 00 1a c5 00 02 3c 00 fb 34 9b
2018.01.05 18:02:26 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|ok|read|0x35|{"gtResult":"ba 00 00 22 00 00 00 1a c5 00 02 3c 00 fb 34 9b "}
2018.01.05 18:02:26 5: XiaomiFlowerSens (Blume4) - ProcessingNotification
2018.01.05 18:02:26 4: XiaomiFlowerSens (Blume4) - ProcessingNotification: handle 0x35
2018.01.05 18:02:26 5: XiaomiFlowerSens (Blume4) - Handle0x35
2018.01.05 18:02:26 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
Und du hast wirklich die Version aus meinem GitHub aus dem Devel Branch installiert? Dann muss ich da noch mal besser testen, hilft alles nichts.
Nein, warte mal, ich habe die genommen die das update mir heute morgen angeboten hat,
das liegt dann dran das ich das gestern hin- und herkopiert hatte, und dann habe ich heute morgen wieder die 1.4.0 wieder geladen.
Ich hatte nicht gedacht das deine neue version, die Du gestern angekündigt hattest, noch im devel war.
Ich nehme jetzt nochmal die aus deinem Devel und melde mich. SORRY!
PS: 1.4.1 ist gerade geladen und wird getestet! DANKE !
Kein Problem. Danke fürs testen.
So, jetzt aber, es kommt wieder die ' $gtResult[0] ' Warnung, jetzt der verbose 5 log mit version 1.4.1 aus deinem devel tree.
2018.01.05 21:08:08 4: XiaomiFlowerSens (Blume6) - WriteSensData: call function ExecGatttool_Run
2018.01.05 21:08:08 4: XiaomiFlowerSens (Blume6) - stateRequestTimer: Call Request Timer
2018.01.05 21:08:10 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 21:08:17 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool loop result
2018.01.05 21:08:17 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 445.
2018.01.05 21:08:17 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool result
2018.01.05 21:08:17 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 466.
2018.01.05 21:08:17 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Done: gatttool return string: Blume6|C4:7C:8D:63:5E:9F|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 21:08:17 5: XiaomiFlowerSens (Blume6) - ProcessingErrors
2018.01.05 21:08:17 4: XiaomiFlowerSens (Blume6) - WriteReadings: Readings were written
2018.01.05 21:10:12 4: XiaomiFlowerSens (Blume7) - WriteSensData: call function ExecGatttool_Run
2018.01.05 21:10:12 4: XiaomiFlowerSens (Blume7) - stateRequestTimer: Call Request Timer
2018.01.05 21:10:14 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Function not implemented (38)
2018.01.05 21:10:22 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result
2018.01.05 21:10:22 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 445.
2018.01.05 21:10:22 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool result
2018.01.05 21:10:22 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 466.
2018.01.05 21:10:22 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Done: gatttool return string: Blume7|C4:7C:8D:63:86:10|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 21:10:22 5: XiaomiFlowerSens (Blume7) - ProcessingErrors
2018.01.05 21:10:22 4: XiaomiFlowerSens (Blume7) - WriteReadings: Readings were written
2018.01.05 21:11:01 3: Watchdog Tuer_Wohnung_closed_18min_n triggered
2018.01.05 21:12:12 4: XiaomiFlowerSens (Blume8) - WriteSensData: call function ExecGatttool_Run
2018.01.05 21:12:12 4: XiaomiFlowerSens (Blume8) - stateRequestTimer: Call Request Timer
2018.01.05 21:12:14 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 21:12:50 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,bb 00 00 44 00 00 00 2e 15 01 02 3c 00 fb 34 9b
2018.01.05 21:12:50 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,bb 00 00 44 00 00 00 2e 15 01 02 3c 00 fb 34 9b
2018.01.05 21:12:50 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Done: gatttool return string: Blume8|C4:7C:8D:63:89:AA|ok|read|0x35|{"gtResult":"bb 00 00 44 00 00 00 2e 15 01 02 3c 00 fb 34 9b "}
2018.01.05 21:12:50 5: XiaomiFlowerSens (Blume8) - ProcessingNotification
2018.01.05 21:12:50 4: XiaomiFlowerSens (Blume8) - ProcessingNotification: handle 0x35
2018.01.05 21:12:50 5: XiaomiFlowerSens (Blume8) - Handle0x35
2018.01.05 21:12:51 4: XiaomiFlowerSens (Blume8) - WriteReadings: Readings were written
2018.01.05 21:13:40 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.05 21:13:40 4: XiaomiFlowerSens (Blume4) - stateRequestTimer: Call Request Timer
2018.01.05 21:13:43 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 21:13:48 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 21:13:48 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string eq at ./FHEM/74_XiaomiFlowerSens.pm line 445.
2018.01.05 21:13:48 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result
2018.01.05 21:13:48 1: PERL WARNING: Use of uninitialized value $gtResult[0] in string ne at ./FHEM/74_XiaomiFlowerSens.pm line 466.
2018.01.05 21:13:48 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 21:13:48 5: XiaomiFlowerSens (Blume4) - ProcessingErrors
2018.01.05 21:13:48 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
Habe eine neue Version hoch geladen. Magst Du mal testen? Selber Link
Zitat von: CoolTux am 05 Januar 2018, 07:37:56
Mach einen neuen Thread auf, setzte den Link hier rein das ich das sehe.
Bereits erfolgt: https://forum.fhem.de/index.php/topic,82249.0.html (https://forum.fhem.de/index.php/topic,82249.0.html)
Eigentlich funktioniert es ähnlich wie beim FlowerSensor, aber ich habe noch kein Handle gefunden, wo ich die Messwerte direkt auslesen könnte. Stattdessen bekomme ich sie als Notification. Zumindest ist erwiesen, dass es geht.
Eine Integration ins FlowerSens wäre sicherlich nicht ganz ohne (Subtyp, etc.) und das Handling ist ja nun auch etwas anders. Allerdings ist hier ja aktuell auch einiges an "Musik" drin, dass ich ehrlich gesagt scheue, einen Stand zu nehmen, der morgen schon wieder "alt" ist.
Gruß Dirk
ZitatHabe eine neue Version hoch geladen. Magst Du mal testen? Selber Link
Sieht gut aus, jetzt kommt nur noch der "connect error, aber der kommt nicht von deinem modul, oder?
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
connect error: Software caused connection abort (103)
connect error: Software caused connection abort (103)
connect error: Transport endpoint is not connected (107)
connect error: Transport endpoint is not connected (107)
connect error: Software caused connection abort (103)
connect error: Software caused connection abort (103)
connect error: Software caused connection abort (103)
connect error: Software caused connection abort (103)
2018.01.05 22:34:44 1: Timeout for XiaomiFlowerSens_ExecGatttool_Run reached, terminated process 14133
2018.01.05 22:34:47 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Done: gatttool return string: Blume8|C4:7C:8D:63:89:AA|ok|read|0x35|{"gtResult":"bb 00 00 44 00 00 00 2e 15 01 02 3c 00 fb 34 9b "}
2018.01.05 22:34:47 5: XiaomiFlowerSens (Blume8) - ProcessingNotification
2018.01.05 22:34:47 4: XiaomiFlowerSens (Blume8) - ProcessingNotification: handle 0x35
2018.01.05 22:34:47 5: XiaomiFlowerSens (Blume8) - Handle0x35
2018.01.05 22:34:47 4: XiaomiFlowerSens (Blume8) - WriteReadings: Readings were written
connect error: Transport endpoint is not connected (107)
connect error: Software caused connection abort (103)
connect error: Software caused connection abort (103)
connect error: Function not implemented (38)
2018.01.05 22:34:56 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Done: gatttool return string: Blume5|C4:7C:8D:63:4B:36|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 22:34:56 5: XiaomiFlowerSens (Blume5) - ProcessingErrors
2018.01.05 22:34:56 4: XiaomiFlowerSens (Blume5) - WriteReadings: Readings were written
2018.01.05 22:35:43 4: XiaomiFlowerSens (Blume1) - WriteSensData: call function ExecGatttool_Run
2018.01.05 22:35:46 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:61:B9:A2 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 22:35:49 5: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,c8 00 00 47 00 00 00 34 4a 03 02 3c 00 fb 34 9b
2018.01.05 22:35:49 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,c8 00 00 47 00 00 00 34 4a 03 02 3c 00 fb 34 9b
2018.01.05 22:35:49 4: XiaomiFlowerSens (Blume1) - ExecGatttool_Done: gatttool return string: Blume1|C4:7C:8D:61:B9:A2|ok|read|0x35|{"gtResult":"c8 00 00 47 00 00 00 34 4a 03 02 3c 00 fb 34 9b "}
2018.01.05 22:35:49 5: XiaomiFlowerSens (Blume1) - ProcessingNotification
2018.01.05 22:35:49 4: XiaomiFlowerSens (Blume1) - ProcessingNotification: handle 0x35
2018.01.05 22:35:49 5: XiaomiFlowerSens (Blume1) - Handle0x35
2018.01.05 22:35:49 4: XiaomiFlowerSens (Blume1) - WriteReadings: Readings were written
2018.01.05 22:35:53 4: XiaomiFlowerSens (Blume2) - WriteSensData: call function ExecGatttool_Run
2018.01.05 22:35:55 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:61:B4:D9 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 22:35:59 4: XiaomiFlowerSens (Blume3) - WriteSensData: call function ExecGatttool_Run
2018.01.05 22:36:01 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:49:16 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 22:36:03 4: XiaomiFlowerSens (Blume4) - WriteSensData: call function ExecGatttool_Run
2018.01.05 22:36:04 5: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,ca 00 00 e6 00 00 00 1f f8 00 02 3c 00 fb 34 9b
2018.01.05 22:36:04 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,ca 00 00 e6 00 00 00 1f f8 00 02 3c 00 fb 34 9b
2018.01.05 22:36:04 4: XiaomiFlowerSens (Blume2) - ExecGatttool_Done: gatttool return string: Blume2|C4:7C:8D:61:B4:D9|ok|read|0x35|{"gtResult":"ca 00 00 e6 00 00 00 1f f8 00 02 3c 00 fb 34 9b "}
2018.01.05 22:36:04 5: XiaomiFlowerSens (Blume2) - ProcessingNotification
2018.01.05 22:36:04 4: XiaomiFlowerSens (Blume2) - ProcessingNotification: handle 0x35
2018.01.05 22:36:04 5: XiaomiFlowerSens (Blume2) - Handle0x35
2018.01.05 22:36:04 4: XiaomiFlowerSens (Blume2) - WriteReadings: Readings were written
2018.01.05 22:36:05 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 22:36:08 4: XiaomiFlowerSens (Blume5) - WriteSensData: call function ExecGatttool_Run
2018.01.05 22:36:09 5: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,bb 00 00 63 00 00 00 19 42 00 02 3c 00 fb 34 9b
2018.01.05 22:36:09 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,bb 00 00 63 00 00 00 19 42 00 02 3c 00 fb 34 9b
2018.01.05 22:36:09 4: XiaomiFlowerSens (Blume3) - ExecGatttool_Done: gatttool return string: Blume3|C4:7C:8D:63:49:16|ok|read|0x35|{"gtResult":"bb 00 00 63 00 00 00 19 42 00 02 3c 00 fb 34 9b "}
2018.01.05 22:36:09 5: XiaomiFlowerSens (Blume3) - ProcessingNotification
2018.01.05 22:36:09 4: XiaomiFlowerSens (Blume3) - ProcessingNotification: handle 0x35
2018.01.05 22:36:09 5: XiaomiFlowerSens (Blume3) - Handle0x35
2018.01.05 22:36:09 4: XiaomiFlowerSens (Blume3) - WriteReadings: Readings were written
2018.01.05 22:36:12 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 22:36:13 4: XiaomiFlowerSens (Blume6) - WriteSensData: call function ExecGatttool_Run
2018.01.05 22:36:16 4: XiaomiFlowerSens (Blume7) - WriteSensData: call function ExecGatttool_Run
2018.01.05 22:36:20 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 22:36:20 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 22:36:21 4: XiaomiFlowerSens (Blume8) - WriteSensData: call function ExecGatttool_Run
2018.01.05 22:36:26 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-read -a 0x35 2>&1 /dev/null' and loop 0
connect error: Transport endpoint is not connected (107)
2018.01.05 22:36:26 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:26 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 1
connect error: Transport endpoint is not connected (107)
2018.01.05 22:36:33 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:33 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 2
2018.01.05 22:36:34 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,d0 00 00 71 00 00 00 14 50 00 02 3c 00 fb 34 9b
2018.01.05 22:36:34 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,d0 00 00 71 00 00 00 14 50 00 02 3c 00 fb 34 9b
2018.01.05 22:36:34 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Done: gatttool return string: Blume6|C4:7C:8D:63:5E:9F|ok|read|0x35|{"gtResult":"d0 00 00 71 00 00 00 14 50 00 02 3c 00 fb 34 9b "}
2018.01.05 22:36:34 5: XiaomiFlowerSens (Blume6) - ProcessingNotification
2018.01.05 22:36:34 4: XiaomiFlowerSens (Blume6) - ProcessingNotification: handle 0x35
2018.01.05 22:36:34 5: XiaomiFlowerSens (Blume6) - Handle0x35
2018.01.05 22:36:34 4: XiaomiFlowerSens (Blume6) - WriteReadings: Readings were written
connect error: Transport endpoint is not connected (107)
2018.01.05 22:36:42 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:42 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-read -a 0x35 2>&1 /dev/null' and loop 1
connect error: Transport endpoint is not connected (107)
2018.01.05 22:36:42 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:42 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 3
connect error: Software caused connection abort (103)
connect error: Software caused connection abort (103)
connect error: Software caused connection abort (103)
2018.01.05 22:36:43 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:43 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:4B:36 --char-read -a 0x35 2>&1 /dev/null' and loop 2
2018.01.05 22:36:43 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:43 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x35 2>&1 /dev/null' and loop 1
2018.01.05 22:36:43 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:43 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-read -a 0x35 2>&1 /dev/null' and loop 1
2018.01.05 22:36:47 5: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,c4 00 00 69 00 00 00 19 a8 00 02 3c 00 fb 34 9b
2018.01.05 22:36:47 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,c4 00 00 69 00 00 00 19 a8 00 02 3c 00 fb 34 9b
2018.01.05 22:36:47 4: XiaomiFlowerSens (Blume5) - ExecGatttool_Done: gatttool return string: Blume5|C4:7C:8D:63:4B:36|ok|read|0x35|{"gtResult":"c4 00 00 69 00 00 00 19 a8 00 02 3c 00 fb 34 9b "}
2018.01.05 22:36:47 5: XiaomiFlowerSens (Blume5) - ProcessingNotification
2018.01.05 22:36:47 4: XiaomiFlowerSens (Blume5) - ProcessingNotification: handle 0x35
2018.01.05 22:36:47 5: XiaomiFlowerSens (Blume5) - Handle0x35
2018.01.05 22:36:47 4: XiaomiFlowerSens (Blume5) - WriteReadings: Readings were written
connect error: Transport endpoint is not connected (107)
2018.01.05 22:36:50 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:50 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-read -a 0x35 2>&1 /dev/null' and loop 2
connect error: Software caused connection abort (103)
connect error: Software caused connection abort (103)
2018.01.05 22:36:51 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:51 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-read -a 0x35 2>&1 /dev/null' and loop 3
2018.01.05 22:36:51 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:51 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x35 2>&1 /dev/null' and loop 2
connect error: Software caused connection abort (103)
connect error: Software caused connection abort (103)
2018.01.05 22:36:53 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:53 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:89:AA --char-read -a 0x35 2>&1 /dev/null' and loop 4
2018.01.05 22:36:53 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:53 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x35 2>&1 /dev/null' and loop 3
connect error: Software caused connection abort (103)
connect error: Software caused connection abort (103)
2018.01.05 22:36:54 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:54 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:86:10 --char-read -a 0x35 2>&1 /dev/null' and loop 4
2018.01.05 22:36:54 5: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:54 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Run: gatttool result connect error
2018.01.05 22:36:54 4: XiaomiFlowerSens (Blume8) - ExecGatttool_Done: gatttool return string: Blume8|C4:7C:8D:63:89:AA|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 22:36:54 5: XiaomiFlowerSens (Blume8) - ProcessingErrors
2018.01.05 22:36:54 4: XiaomiFlowerSens (Blume8) - WriteReadings: Readings were written
2018.01.05 22:36:55 4: XiaomiFlowerSens (Blume6) - WriteSensData: call function ExecGatttool_Run
2018.01.05 22:36:55 4: XiaomiFlowerSens (Blume6) - stateRequestTimer: Call Request Timer
connect error: Transport endpoint is not connected (107)
2018.01.05 22:36:55 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:55 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: call gatttool with command ssh wohny 'gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:7D:8F --char-read -a 0x35 2>&1 /dev/null' and loop 4
connect error: Software caused connection abort (103)
2018.01.05 22:36:56 5: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool loop result
2018.01.05 22:36:56 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Run: gatttool result connect error
2018.01.05 22:36:56 4: XiaomiFlowerSens (Blume7) - ExecGatttool_Done: gatttool return string: Blume7|C4:7C:8D:63:86:10|error|read|0x35|{"gtResult":"no data response"}
2018.01.05 22:36:56 5: XiaomiFlowerSens (Blume7) - ProcessingErrors
2018.01.05 22:36:56 4: XiaomiFlowerSens (Blume7) - WriteReadings: Readings were written
2018.01.05 22:36:57 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: call gatttool with command ssh pizero 'gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-write-req -a 0x33 -n A01F && gatttool -i hci0 -b C4:7C:8D:63:5E:9F --char-read -a 0x35 2>&1 /dev/null' and loop 0
2018.01.05 22:36:59 5: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,b7 00 00 5f 00 00 00 1a c9 00 02 3c 00 fb 34 9b
2018.01.05 22:36:59 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,b7 00 00 5f 00 00 00 1a c9 00 02 3c 00 fb 34 9b
2018.01.05 22:36:59 4: XiaomiFlowerSens (Blume4) - ExecGatttool_Done: gatttool return string: Blume4|C4:7C:8D:63:7D:8F|ok|read|0x35|{"gtResult":"b7 00 00 5f 00 00 00 1a c9 00 02 3c 00 fb 34 9b "}
2018.01.05 22:36:59 5: XiaomiFlowerSens (Blume4) - ProcessingNotification
2018.01.05 22:36:59 4: XiaomiFlowerSens (Blume4) - ProcessingNotification: handle 0x35
2018.01.05 22:36:59 5: XiaomiFlowerSens (Blume4) - Handle0x35
2018.01.05 22:36:59 4: XiaomiFlowerSens (Blume4) - WriteReadings: Readings were written
2018.01.05 22:37:00 5: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Characteristic value/descriptor,d0 00 00 84 00 00 00 14 50 00 02 3c 00 fb 34 9b
2018.01.05 22:37:00 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Characteristic value/descriptor,d0 00 00 84 00 00 00 14 50 00 02 3c 00 fb 34 9b
2018.01.05 22:37:00 4: XiaomiFlowerSens (Blume6) - ExecGatttool_Done: gatttool return string: Blume6|C4:7C:8D:63:5E:9F|ok|read|0x35|{"gtResult":"d0 00 00 84 00 00 00 14 50 00 02 3c 00 fb 34 9b "}
2018.01.05 22:37:00 5: XiaomiFlowerSens (Blume6) - ProcessingNotification
2018.01.05 22:37:00 4: XiaomiFlowerSens (Blume6) - ProcessingNotification: handle 0x35
2018.01.05 22:37:00 5: XiaomiFlowerSens (Blume6) - Handle0x35
2018.01.05 22:37:00 4: XiaomiFlowerSens (Blume6) - WriteReadings: Readings were written
Doch das connect error kommt von mir. Das bedeutet eigentlich nur das er den Sensor nicht auslesen konnte. Soweit passt das also super.
Zitat von: ToM_ToM am 05 Januar 2018, 16:40:49
Schau dir mal watchdog das neue Modul monitoring an.
https://fhem.de/commandref_DE.html#monitoring (https://fhem.de/commandref_DE.html#monitoring)
Wenn du mehrere Pflanzen hast, würde ich dir letzteres empfehlen.
VG
Klingt alles sehr kompliziert (bin kein Programmierer). Hast du Beispiele?
Hab es bisher mit meinen Kenntnissen umgesetzt und das ganze über einen dummy gelöst:
define wz_pflanze1_dummy dummy
attr wz_pflanze1_dummy event-on-change-reading .*
define wz_pflanze1_WasserStatus notify wz_pflanze1:minMoisture.* set wz_pflanze1_dummy $EVENT
define wz_pflanze1_ZuwenigWasser_msg notify wz_pflanze1_dummy:minMoisture.low set PushoverJay msg 'Bitte Pflanze gießen!' 'Deine Palme im Wohnzimmer braucht Wasser!' '' 0 ''
Will allerdings bald noch mehr Sensoren kaufen, bin also für Tipps offen.
Hi,
in letzter Zeit meldet ein Sensor häufiger einen GattError "Cannot allocate memory (12)". Das Problem ist, dass zu diesem Zeitpunkt der Wert für moisture auf 0 gesetzt wird. Kann man das für diesen Error-String unterbinden und einfach nichts senden?
ZitatInternals:
BTMAC C4:7C:8D:62:68:13
DEF C4:7C:8D:62:68:13
INTERVAL 420
NAME Plant2
NOTIFYDEV global
NR 33
NTFY_ORDER 50-Plant2
STATE active
TYPE XiaomiFlowerSens
VERSION 1.4.0
loglevel 4
READINGS:
2018-01-06 15:34:48 battery ok
2018-01-06 15:34:48 batteryLevel 100
2018-01-06 19:05:13 fertility 250
2018-01-06 15:34:48 firmware 2.6.2
2018-01-06 12:27:56 lastGattError Cannot allocate memory (12)
2018-01-06 19:05:13 lux 4
2018-01-06 19:05:13 moisture 23
2018-01-06 19:05:13 state active
2018-01-06 19:05:13 temperature 17.8
helper:
CallBatteryFirmware 0
CallSensDataCounter 0
updateTimeCallBatteryFirmware 1515249288.83555
updateTimestampCallBatteryFirmware 2018-01-06 15:34:48
Attributes:
disabledForIntervals 23:00-24:00 00:00-07:45
event-aggregator moisture:3105:none:max
event-on-change-reading moisture,fertility,firmware
hciDevice hci1
interval 420
room Pflanzen
verbose 0
Ansonsten läuft das Modul super.
Viele Grüße
stoxx
Zitat von: stoxx am 06 Januar 2018, 19:07:57
Hi,
in letzter Zeit meldet ein Sensor häufiger einen GattError "Cannot allocate memory (12)". Das Problem ist, dass zu diesem Zeitpunkt der Wert für moisture auf 0 gesetzt wird. Kann man das für diesen Error-String unterbinden und einfach nichts senden?
Ansonsten läuft das Modul super.
Viele Grüße
stoxx
Schaue ich mir gerne an
Ab morgen gibt es die neue Version 1.4.1 per FHEM Update
@All
Es wird eine weitreichende Änderung des Modules geben. So wie der Status des Modules jetzt ist wird es bleiben.
Eine weiter Entwicklung wird es unter einem neuen Namen geben. Grund ist das jetzt nicht nur der Pflanzensensor unterstützt wird, sondern auch der Xiaomi Bluetooth Themometer/Hygrometer mit Display
https://forum.fhem.de/index.php/topic,82249.0.html
Daher wird es einen neuen Namen für das Modul geben. 74_XiaomiBTLESens.pm
Man muss also wenn man neue Funktion haben möchte das neue Modul definieren. Das alte wird aber weiterhin Bestand haben.
Grüße
Leon
Nachdem mich das gerade ziemlich lange Zeit gekostet hat. Man muss das gatttool auch auf dem FHEM-Server installiert haben, selbst wenn man das da gar nie verwendet, sondern es nur per ssh auf einem anderen Rechner startet. Das scheint ein Bug zu sein?
Das Script bricht sonst folgender Mitteilung ab.
2018.01.14 20:03:46.857 4: XiaomiFlowerSens (yucca) - ExecGatttool_Done: gatttool return string: yucca|C4:7C:8D:62:77:86|error|read|0x38|no gatttool binary found. Please check if bluez-package is properly installed
2018.01.14 20:03:46.858 5: XiaomiFlowerSens (yucca) - ExecGatttool_Done: JSON error while request: 'null' expected, at character offset 0 (before "no gatttool binary f...") at ./FHEM/74_XiaomiFlowerSens.pm line 501.
Sobald es auf dem fhem-server installiert ist, funktioniert es mit dem remote-gatttool auch.
Danke dir. Werde es im neuen Modul fixen.
Das Modul wurde gegen ein universelles abgelöst.
https://forum.fhem.de/index.php/topic,82572.0.html