FHEM Forum

FHEM => Automatisierung => Thema gestartet von: snowball7g am 25 Januar 2015, 18:51:31

Titel: Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: snowball7g am 25 Januar 2015, 18:51:31
Hallo zusammen,

hat schon jemand einen Parrot Flower Power Pflanzensensor in FHEM integriert?
Produkt: http://www.parrot.com/de/produkte/flower-power/

Es gibt auch eine API Dokumentation.
https://flowerpowerdev.parrot.com/

Hab das Produkt bei mir im Einsatz und Frage die Daten per BT4.0 über die iOS App ab. Die Daten hätte ich aber gerne in meiner FHEM Umgebung um damit eine Pflanzenbewässerung zu steuern.

Freu mich auf eure Hilfe.

Danke,
Snowball
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 28 Juni 2015, 13:11:44
Spannendes Thema. Ich bin gerade bei Amazon drauf gestoßen. Und auch nicht deutlich teurer als der Vegetronix, den hier viele einsetzen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 29 Juni 2015, 18:06:30
Meiner ist heute angekommen.

Gerade bin ich noch auf diesen Link gestoßen:
http://hobbyquaker.blogspot.de/2014/02/parrot-flower-power.html (http://hobbyquaker.blogspot.de/2014/02/parrot-flower-power.html)
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: Prof. Dr. Peter Henning am 01 Juli 2015, 13:12:18
Ich bin da sehr skeptisch - die gegabelte Struktur ist ein Hinweis darauf, dass hier einfach die Leitfähigkeit des Bodens gemessen wird. Korrosion des Sensors ist davon ebenso die Folge, wie die Vergiftung des Bodens mit Schwermetallionen.

Das Gute an dem Vegetronix-Sensor ist die kapazitive Messung, bei der dies eben nicht vorkommen kann.

LG

pah
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 30 Juli 2015, 09:08:37
Jetzt ist endlich mein Zubehör beisammen und ich konnte einen ersten Test mit dem RasPi machen.

Die Daten fließen schon mal. Da es für Perl keinen gescheiten BLE Stack gibt und die node.js Implementierung gut läuft, werde ich wohl node.js als Daten-Proxy nutzen und die Daten nach FHEM und in die Cloud pushen.

pi@raspi2 ~/node_modules/flower-power $ sudo node test.js
connectAndSetup
readSystemId
        system id = **:**:**:**:**:**:**:**
readSerialNumber
        serial number = *******************Flower p
readFirmwareRevision
        firmware revision = 2014-06-23_hawaii-1.1.0_hardware-config-MP
readHardwareRevision
        hardware revision = 2013-07-26_hawaiiProduction-1.2_protoDV-bootloader
readManufacturerName
        manufacturer name = Parrot
readBatteryLevel
battery level = 94
readFriendlyName
        friendly name = Flower power ******
writeFriendlyName
readColor
        color = brown
readSunlight
sunlight = 0.32 mol/m²/d
readSoilElectricalConductivity
soil electrical conductivity = 0.00
readSoilTemperature
soil temperature = 21.92°C
readAirTemperature
air temperature = 23.08°C
readSoilMoisture
soil moisture = 15.10%
readCalibratedSoilMoisture
calibrated soil moisture = 19.34%
readCalibratedAirTemperature
calibrated air temperature = 24.02°C
readCalibratedSunlight
calibrated sunlight = 0.37 mol/m²/d
readCalibratedEa
calibrated EA = 10.26
readCalibratedEcb
calibrated ECB = 0.00 dS/m
readCalibratedEcPorous
calibrated EC porous = 0.00 dS/m
enableLiveMode
live mode
sunlight = 0.37 mol/m²/d
soil electrical conductivity = 0.00
soil temperature = 21.92°C
air temperature = 23.08°C
soil moisture = 15.59%
sunlight = 0.36 mol/m²/d
soil electrical conductivity = 0.00
soil temperature = 21.92°C
air temperature = 23.08°C
soil moisture = 16.83%
sunlight = 0.37 mol/m²/d
soil electrical conductivity = 0.00
soil temperature = 21.92°C
air temperature = 23.08°C
soil moisture = 16.21%
sunlight = 0.37 mol/m²/d
soil electrical conductivity = 0.00
soil temperature = 21.97°C
air temperature = 23.08°C
soil moisture = 16.83%
sunlight = 0.37 mol/m²/d
soil electrical conductivity = 0.00
soil temperature = 21.92°C
air temperature = 23.08°C
disableLiveMode
soil moisture = 16.21%
enableCalibratedLiveMode
calibrated live mode
calibrated soil moisture = 20.92%
calibrated air temperature = 24.02°C
calibrated sunlight = 0.42 mol/m²/d
calibrated EA = 11.10
calibrated ECB = 0.00 dS/m
calibrated EC porous = 0.00 dS/m
calibrated soil moisture = 19.82%
calibrated air temperature = 24.02°C
calibrated sunlight = 0.42 mol/m²/d
calibrated EA = 10.52
calibrated ECB = 0.00 dS/m
calibrated EC porous = 0.00 dS/m
calibrated soil moisture = 21.16%
calibrated air temperature = 24.02°C
calibrated sunlight = 0.42 mol/m²/d
calibrated EA = 11.23
calibrated ECB = 0.00 dS/m
calibrated EC porous = 0.00 dS/m
calibrated soil moisture = 19.21%
calibrated air temperature = 24.02°C
calibrated sunlight = 0.42 mol/m²/d
calibrated EA = 10.20
calibrated ECB = 0.00 dS/m
calibrated EC porous = 0.00 dS/m
calibrated soil moisture = 20.31%
calibrated air temperature = 24.02°C
calibrated sunlight = 0.42 mol/m²/d
calibrated EA = 10.77
disableCalibratedLiveMode
calibrated ECB = 0.00 dS/m
calibrated EC porous = 0.00 dS/m
ledPulse
delay
ledOff
disconnect
disconnected!
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 31 Juli 2015, 08:54:19
Und nach einem
npm install flower-power-cloud
klappt nach der Zusendung eines API-Keys durch Parrot jetzt auch der Zugriff auf die Cloud. Damit müsste sich ein automatisiertes Hochladen in die Cloud und die Nutzung der Zustände und Trigger aus den Pflanzenwerten in FHEM realisieren lassen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 31 Juli 2015, 18:31:51
Jerome von Parrot hat heute dankenswerterweise ein Testscript für node.js auf dem RasPi für die komplette Synchronisation zwischen Sensor und Cloud veröffentlicht.

https://github.com/Parrot-Developers/FlowerPower-Tools/tree/master/BLE-cloud-bridge

Werde am Wochenende mal schauen, wie es läuft.

Damit könnte man
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 04 August 2015, 09:10:05
Punkt 1 ist bei mir jetzt abgehakt.
Seit gestern läuft über den RasPi alle 30 Minuten ein Abruf der Daten von den Sensoren und die Übertragung in die Cloud. Das Schöne ist, dass die Sensoren einen Zwischenspeicher für historische Daten haben. Man könnte also auch nur einmal am Tag abrufen und dann ein größeres Paket in die Cloud übertragen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: Mr. P am 04 August 2015, 10:46:04
Hej,

eigentlich darf es mich ja nicht wundern, dass es schon jemand anders entdeckt hat. Aber eben wollte ich verkünden, dass ich dank der offenen Schnittstelle und Jerome jetzt beginnen werde, an einer Integration des Sensors in FHEM zu arbeiten und wollte in die Runde nach Ideen fragen, wie ihr euch das vorstellen könntet.
Wie volschin schon richtig bemerkt hat, ist das mit Perl ja nicht so einfach und deswegen hätte ich an einen Wrapper gedacht. Aber wie gesagt - würde mich freuen, von allen Interessierten eine kurze Rückmeldung zu erhalten, welche Ideen es gibt bzw. was ihr euch an Umsetzung vorstellen könntet. :-)
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 17 August 2015, 16:50:37
Mein Cloud Sync läuft jetzt seit rund 2 Wochen. Ich musste noch ein paar Bugs fixen, die nur bei mehreren Sensoren relevant werden.

Mein Fork ist hier zu finden:
https://github.com/volschin/FlowerPower-Tools
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: HolyMoly am 18 August 2015, 10:18:47
Sehr cool,

hätte auch Interesse an einem FHEM Wrapper/Modul.
Muss aber erstmal BLE zum werkeln bekommen auf meinem SBC hier :(
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 09 September 2015, 09:57:00
Hi Volschin,

hab die letzten Tage versucht, meinen Parott Sensor zum Laufen zu kriegen, bin baer nicht so weit gekommen wie Du.
Während eine App auf meinem Android-Smartphone problemlos den Sensor sieht (auch aus größerer Entfernung), Kontakt mit ihm aufnehmen und die Messwerte auslesen kann, bekomme ich weder am Raspberry Pi noch an meinem Laptop eine Verbindung.


pi@raspi2 ~/node_modules/flower-power $ sudo node test.js

kommt nie zurück, liefert insbesondere keine Ausgabe.


pi@raspi2 $ sodo hcitool lescan

zeigt sehr schnell hintereinander immer wieder die Adresse eines Gerätes, das sich als "Apple TV" ausgibt, gehört wohl dem Nachbarn. Die Adresse des Flower Power taucht hier nie auf. Ich have verschiedene Kernelversionen und bluez-Reeases durchprobiert, alle zeigen das gleiche Verhalten. Deswegen habe ich meinen SB-BT4.0-Adapter, ein "Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)" mit der ID: 0a12:0001 in Verdacht.

Welchen Bluetooth-Adapter verwendest Du denn, und welche bluez-/kernel-Version hast Du im Einsatz?

Danke schonmal,
Andy.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 09 September 2015, 10:15:41
Ich habe bluez in Version 5.23 im Einsatz mit Kernel 4.1.6, Standardpaket aus dem Jessie-Zweig. Lief aber auch auf älteren Kernel-Versionen (3.11 und 3.18) problemlos.

Adapter habe ich einen mit Broadcom BCM20702-Chip (diesen (http://www.amazon.de/gp/product/B010NISKFK))
Sollte aber auch mit CSR-Chip laufen, der unterstützt aber nur bis zu 5 Devices, der Broadcom bis zu 14. Das spielt hier keine Rolle.

Solange Du mit
sudo hcitool lescan
den FlowerPower nicht zu sehen bekommst, brauchst Du mit node nicht weiter zu versuchen. Da stimmt irgendwo die Basis nicht.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: Mr. P am 09 September 2015, 10:44:29
@volschin: Was ich dich noch fragen wollte... Warum hast du den Job eigentlich alle 30 Minuten laufen?
Die zwei Stunden, wie es die App selbst auch macht, sollten doch ausreichen und das geht vor allem nicht so auf die Batterie. :-)
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 09 September 2015, 10:54:39
Habe ich mittlerweile auch auf stündlich hochgesetzt. Theoretisch reicht auch einmal pro Tag, da er die Daten ja puffert und nur das hochlädt, was noch fehlt.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: Mr. P am 09 September 2015, 10:58:29
Naja... Wenn man an heißen Tagen mehrmals am Tag gießen muss, schadet es nicht, alle paar Stunden abzurufen...
Bei den aktuellen Temperaturen genügt aber vermutlich wirklich einmal am Morgen und einmal am Abend. :-)
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 21 September 2015, 17:45:07
Zitat von: volschin am 17 August 2015, 16:50:37
Mein Cloud Sync läuft jetzt seit rund 2 Wochen. Ich musste noch ein paar Bugs fixen, die nur bei mehreren Sensoren relevant werden.

Mein Fork ist hier zu finden:
https://github.com/volschin/FlowerPower-Tools

Kann ich bestätigen, nachdem ich nun einen funktionierenden Stick verwende (danke nochmal für den Tipp! ).
Mit der original Version überlagern sich bei einer Pflanze mitunter Messungen von zwei verschiedenen Sensoren. Andere tun so als würden sie nach der Erstinbetriebnahme die ersten 24h Daten sammeln. Deine Version hat diese Probleme nicht.

Was mich allerdings plagt ist ein anderes Thema: Ich habe 8 Sensoren über die Wohnung verteilt, teilweise mit Wänden und Fenstern zwischen Sensor und RPI. Ein hcitool blescan listet alle Sensoren auf, doch scheint bei manchen der Empfang so schlecht zu sein, dass beim Auslesen mit BLE-cloud-bridge ein disconnected! ausgegeben wird und in der Folge das Programm mit einer exception aussteigt, ohne die restlichen Sensoren zu behandeln. Ohne diesen Fehler könnte ich zumindest 2-3 RPIs verteilen um alle Sensoren auszulesen.

Leider habe ich weder ausreichend Erfahrung mit Javascript noch blicke ich hinreichend durch den Code um hier geeignete Lösungsansätze zu sehen. Weißt Du wie dem disconnect-Problem beizukommen ist?

Grüße,
Andy.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 21 September 2015, 18:51:06
Disconnected hatte ich auch schon, aber ausgestiegen ist das Programm deshalb nicht. Welche node Version verwendest Du?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 21 September 2015, 19:20:12
0.10.29

Hier ein trace :

$ sh scriptForCrontab.sh
--------------------
Mo 21. Sep 19:16:42 CEST 2015
Mon Sep 21 2015 19:16:52 GMT+0200 (CEST) Starting new sync for clientID: gandy@...
login error: premature end-of-file
login error: invalid credentials: code=undefined results=undefined
getGarden: premature end-of-file
user_config_version1=50 tabSensors=A0143D000007CFD6,A0143D000007CFB5,9003B70000C74068,A0143D000007D466,9003B70000C7476B,A0143D000007D04D,A0143D000007CE5E,9003B70000E81BDB tabIndex=7967,7932,8005,8006,8006,8008,7909,8389
invoke
{ event: 'garden_locations_status',
  diagnostic: 'premature end-of-file' }
a0143d07d466
SPLICE i=3 fp=a0143d07d466
9003b7e81bdb
9003b7c7476b
a0143d07cfb5
SPLICE i=1 fp=a0143d07cfb5
a0143d07d04d
SPLICE i=5 fp=a0143d07d04d
9003b7c74068
End of discovery
connectAndSetup{"uuid":"a0143d07d466","name":"Flower power D466"}
order id x=3
getHistoryLastEntryIdx:8021
getHistoryCurrentSessionID: 2
getHistoryCurrentSessionStartIdx: 7680
getHistoryCurrentSessionPeriod: 900
getStartUpTime: Fri Sep 18 2015 05:50:44 GMT+0200 (CEST)
getHistory original startIdx=8006
downloaded: 8 % buffer.idx = 0 nbBuffer = 13 current idx = 0
downloaded: 15 % buffer.idx = 1 nbBuffer = 13 current idx = 0
downloaded: 23 % buffer.idx = 2 nbBuffer = 13 current idx = 0
downloaded: 31 % buffer.idx = 3 nbBuffer = 13 current idx = 0
downloaded: 38 % buffer.idx = 4 nbBuffer = 13 current idx = 0
downloaded: 46 % buffer.idx = 5 nbBuffer = 13 current idx = 0
downloaded: 54 % buffer.idx = 6 nbBuffer = 13 current idx = 0
downloaded: 62 % buffer.idx = 7 nbBuffer = 13 current idx = 0
downloaded: 69 % buffer.idx = 8 nbBuffer = 13 current idx = 0
downloaded: 77 % buffer.idx = 9 nbBuffer = 13 current idx = 0
downloaded: 85 % buffer.idx = 10 nbBuffer = 13 current idx = 0
downloaded: 92 % buffer.idx = 11 nbBuffer = 13 current idx = 0
downloaded: 100 % buffer.idx = 12 nbBuffer = 13 current idx = 0
uploaded to sensor A0143D000007D466
disconnect
connectAndSetup{"uuid":"a0143d07cfb5","name":"Flower power CFB5"}
order id x=1
disconnected!
disconnected!
disconnected!

/home/andy/node_modules/noble-device/lib/noble-device.js:68
  this._characteristics[serviceUuid][characteristicUuid].read(function(error,
                                    ^
TypeError: Cannot read property '39e1fc0284a811e2afba0002a5d5c51b' of undefined
    at FlowerPower.NobleDevice.readDataCharacteristic (/home/andy/node_modules/noble-device/lib/noble-device.js:68:37)
    at FlowerPower.getHistoryLastEntryIdx (/home/andy/node_modules/node-flower-power/index.js:461:7)
    at async.series.tab.(anonymous function).getHistoryCurrentSessionID.currentID (/home/andy/src/volschin-FlowerPower-Tools/BLE-cloud-bridge/app.js:190:20)
    at /usr/lib/nodejs/async.js:610:21
    at /usr/lib/nodejs/async.js:249:17
    at iterate (/usr/lib/nodejs/async.js:149:13)
    at /usr/lib/nodejs/async.js:160:25
    at /usr/lib/nodejs/async.js:251:21
    at /usr/lib/nodejs/async.js:615:34
    at FlowerPower.<anonymous> (/home/andy/src/volschin-FlowerPower-Tools/BLE-cloud-bridge/app.js:157:15)


Wie sieht das bei dir aus?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 23 September 2015, 08:06:48
Hi,

Hab nochmal die node Module in den Versionen installiert, die in README.md angegeben waren - mit dem selben Ergebnis.

Die Fehlermeldung sieht für mich so aus,als würde auf eine nicht (mehr) definierte Variable zugegriffen. Läßt sich das abfangen?

Grüße,
Andy.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 23 September 2015, 14:51:03
Zitat von: gandy am 21 September 2015, 19:20:12
0.10.29
Aktualisiere mal auf 0,12.6 oder 4.0.

Deine Version ist schon eher alt und könnte Problemursache sein.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 23 September 2015, 14:58:33
Zitat von: volschin am 23 September 2015, 14:51:03
Aktualisiere mal auf 0,12.6 oder 4.0.

Deine Version ist schon eher alt und könnte Problemursache sein.

Hmm... Dabei ist die schon viel neuer seit ich mein raspbian aktualisiert habe :-) Aber danke für den Tipp, ich versuch das mal.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 23 September 2015, 18:06:34
So... Zur Sicherheit habe ich alle node Pakete die vom Raspbian kamen entfernt und auch alles in node_modules. Dann node 4.0 und mit npm alle angegebenen Abhängigkeiten.

Jetzt sieht die Ausgabe etwas anders aus, die Fehlermeldung ist aber die gleiche:

$ sh scriptForCrontab.sh
--------------------
Mi 23. Sep 17:53:49 CEST 2015
Wed Sep 23 2015 17:53:58 GMT+0200 (CEST) Starting new sync for clientID: gandy92@googlemail.com
user_config_version1=52 tabSensors=A0143D000007D466,A0143D000007CE5E,9003B70000C74068,A0143D000007CFD6,A0143D000007CFB5,9003B70000C7476B,A0143D000007D04D,9003B70000E81BDB tabIndex=8161,8122,8196,8126,8160,8196,8195,8580
9003b7e81bdb
a0143d07d04d
SPLICE i=6 fp=a0143d07d04d
a0143d07d466
SPLICE i=0 fp=a0143d07d466
9003b7c74068
a0143d07cfb5
SPLICE i=4 fp=a0143d07cfb5
9003b7c7476b
End of discovery
connectAndSetup{"uuid":"a0143d07d466","name":"Flower power D466"}
order id x=0
noble: unknown peripheral a0143d07d466 connected!
noble: unknown peripheral a0143d07d466 disconnected!
disconnected!
/home/andy/node_modules/noble-device/lib/noble-device.js:68
  this._characteristics[serviceUuid][characteristicUuid].read(function(error, data) {
                                    ^

TypeError: Cannot read property '39e1fc0284a811e2afba0002a5d5c51b' of undefined
    at FlowerPower.NobleDevice.readDataCharacteristic (/home/andy/node_modules/noble-device/lib/noble-device.js:68:37)
    at FlowerPower.getHistoryLastEntryIdx (/home/andy/node_modules/node-flower-power/index.js:461:7)
    at async.series.tab.(anonymous function).getHistoryCurrentSessionID.currentID (/home/andy/src/volschin-FlowerPower-Tools/BLE-cloud-bridge/app.js:185:20)
    at /home/andy/node_modules/async/lib/async.js:763:21
    at /home/andy/node_modules/async/lib/async.js:391:17
    at iterate (/home/andy/node_modules/async/lib/async.js:181:13)
    at /home/andy/node_modules/async/lib/async.js:192:25
    at /home/andy/node_modules/async/lib/async.js:393:21
    at /home/andy/node_modules/async/lib/async.js:768:34
    at FlowerPower.<anonymous> (/home/andy/src/volschin-FlowerPower-Tools/BLE-cloud-bridge/app.js:157:15)


Zwischen connected! und disconnected! vergehen 2-4 Sekunden.

Was mir auch nicht klar ist: IDs 9003b7e81bdb, 9003b7c74068 und 9003b7c7476b sind registrierte Sensoren, werden aber augenscheinlich ignoriert.

Aber eins nach dem anderen, hast du noch Ideen was ich tun kann?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 23 September 2015, 18:59:38
Ich bin mir nicht sicher, aber ich habe mir gerade mal noble und noble-device angesehen. Dort wurden neue Versionen erstellt. noble-device ist in der installationsanleitung von Parrot mit einer Version fest verdrahtet, noble dagegen nicht.

Meine Installation stammt vom 30.7.

Allerdings widersprechen sich teile der Anleitung und Angaben im Package-File von node-flower-power
Dort steht:
  "dependencies": {
    "noble": "~0.3.6",
    "noble-device": "^0.1.2"

Bedeutet Du bekommst von noble die höchste 0.3.-Version. Das ist 0.3.14.
Auf der anderen Seite hast Du dir vermutlich über die Anleitung zusätzlich noble 1.1.0 installiert. Das ist inkompatibel zu noble-device 0.1.2.

Ich bin mir nicht sicher, was an welcher Stelle vorrangig zieht. Ich werde mir wohl von dem node-flower-power auch noch meinen eigenen Fork machen und das glattziehen. Seitens Parrot scheint sich da nichts mehr zu tun.

Versuch evtl. mal
    "noble-device": "~0.1.2" im package.json von node-flower-power
und anschließend in diesem Verzeichnis ein
npm update
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 23 September 2015, 19:24:04
Hmmm auch das wars nicht.

Kannst du mir bitte mal kurz den Output von

find ~/node_modules -name package.json | xargs grep -H version

schicken, dann versuche ich die exakt gleichen Versionen zu installieren.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 23 September 2015, 19:34:17
/home/pi/node_modules/debug/package.json:  "version": "2.2.0",
/home/pi/node_modules/debug/node_modules/ms/package.json:  "version": "0.7.1",
/home/pi/node_modules/debug/node_modules/ms/package.json:  "description": "Tiny ms conversion utility",
/home/pi/node_modules/noble-device/package.json:  "version": "0.1.2",
/home/pi/node_modules/noble-device/node_modules/noble/package.json:  "version": "0.3.14",
/home/pi/node_modules/noble-device/node_modules/noble/node_modules/debug/package.json:  "version": "0.7.4",
/home/pi/node_modules/noble-device/node_modules/noble/node_modules/bplist-parser/package.json:  "version": "0.0.6",
/home/pi/node_modules/node-uuid/package.json:  "version": "1.4.3",
/home/pi/node_modules/noble/package.json:  "version": "1.0.2",
/home/pi/node_modules/noble/node_modules/mocha/package.json:  "version": "1.8.2",
/home/pi/node_modules/noble/node_modules/mocha/node_modules/diff/package.json:  "version": "1.0.2",
/home/pi/node_modules/noble/node_modules/mocha/node_modules/ms/package.json:  "version": "0.3.0",
/home/pi/node_modules/noble/node_modules/mocha/node_modules/ms/package.json:  "description": "Tiny ms conversion utility",
/home/pi/node_modules/noble/node_modules/mocha/node_modules/mkdirp/package.json:  "version": "0.3.3",
/home/pi/node_modules/noble/node_modules/mocha/node_modules/growl/package.json:  "version": "1.7.0",
/home/pi/node_modules/noble/node_modules/mocha/node_modules/commander/package.json:  "version": "0.6.1",
/home/pi/node_modules/noble/node_modules/mocha/node_modules/jade/package.json:  "version": "0.26.3",
/home/pi/node_modules/noble/node_modules/mocha/node_modules/jade/node_modules/mkdirp/package.json:  "version": "0.3.0",
/home/pi/node_modules/noble/node_modules/debug/package.json:  "version": "2.2.0",
/home/pi/node_modules/noble/node_modules/debug/node_modules/ms/package.json:  "version": "0.7.1",
/home/pi/node_modules/noble/node_modules/debug/node_modules/ms/package.json:  "description": "Tiny ms conversion utility",
/home/pi/node_modules/noble/node_modules/sinon/package.json:  "version": "1.6.0",
/home/pi/node_modules/noble/node_modules/sinon/node_modules/buster-format/package.json:  "version": "0.5.6",
/home/pi/node_modules/noble/node_modules/sinon/node_modules/buster-format/node_modules/buster-core/vendor/sinon/package.json:    "version": "1.4.0",
/home/pi/node_modules/noble/node_modules/sinon/node_modules/buster-format/node_modules/buster-core/vendor/buster-util/package.json:    "version": "0.5.0",
/home/pi/node_modules/noble/node_modules/sinon/node_modules/buster-format/node_modules/buster-core/package.json:  "version": "0.6.4",
/home/pi/node_modules/noble/node_modules/should/package.json:  "version": "1.2.2",
/home/pi/node_modules/noble/node_modules/ws/package.json:  "version": "0.4.32",
/home/pi/node_modules/noble/node_modules/ws/node_modules/nan/package.json:  "version": "1.0.0",
/home/pi/node_modules/noble/node_modules/ws/node_modules/commander/package.json:  "version": "2.1.0",
/home/pi/node_modules/noble/node_modules/ws/node_modules/options/package.json:  "version": "0.0.6",
/home/pi/node_modules/noble/node_modules/ws/node_modules/tinycolor/package.json:  "version": "0.0.1",
/home/pi/node_modules/noble/node_modules/jshint/package.json:  "version": "2.8.0",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/shelljs/package.json:  "version": "0.3.0",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/minimatch/package.json:  "version": "2.0.10",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/minimatch/node_modules/brace-expansion/package.json:  "version": "1.1.0",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json:  "version": "0.0.1",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json:  "version": "0.2.0",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/console-browserify/package.json:  "version": "1.1.0",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/package.json:  "version": "0.1.4",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/package.json:  "description": "A requirable version of Date.now()",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/cli/package.json:  "version": "0.6.6",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/cli/node_modules/glob/package.json:  "version": "3.2.11",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/package.json:  "version": "2.0.1",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/package.json:  "version": "0.3.0",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json:  "version": "2.6.5",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/sigmund/package.json:  "version": "1.0.1",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/package.json:  "version": "3.8.3",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/package.json:  "version": "1.0.0",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/package.json:  "version": "1.3.0",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/package.json:  "version": "2.3.0",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/package.json:  "version": "1.1.13",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/package.json:  "version": "2.0.1",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/package.json:  "version": "0.10.31",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/package.json:  "version": "0.0.1",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/package.json:  "version": "1.0.1",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/package.json:  "version": "1.5.1",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/package.json:  "version": "0.1.0",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/entities/package.json:  "version": "1.1.1",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/domelementtype/package.json:  "version": "1.1.3",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/lodash/package.json:  "version": "3.7.0",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/strip-json-comments/package.json:  "version": "1.0.2",
/home/pi/node_modules/noble/node_modules/jshint/node_modules/exit/package.json:  "version": "0.1.2",
/home/pi/node_modules/noble/node_modules/bplist-parser/package.json:  "version": "0.0.6",
/home/pi/node_modules/noble/node_modules/async/package.json:  "version": "0.2.10",
/home/pi/node_modules/node-flower-power/package.json:  "version": "0.2.1",
/home/pi/node_modules/node-flower-power/node_modules/noble-device/package.json:  "version": "0.1.3",
/home/pi/node_modules/node-flower-power/node_modules/noble/package.json:  "version": "0.3.14",
/home/pi/node_modules/node-flower-power/node_modules/noble/node_modules/debug/package.json:  "version": "0.7.4",
/home/pi/node_modules/node-flower-power/node_modules/noble/node_modules/bplist-parser/package.json:  "version": "0.0.6",
/home/pi/node_modules/node-flower-power/node_modules/jshint/package.json:  "version": "2.3.0",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/shelljs/package.json:  "version": "0.1.4",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/minimatch/package.json:  "version": "0.4.0",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/package.json:  "version": "2.6.5",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/package.json:  "version": "1.0.1",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/underscore/package.json:  "version": "1.4.4",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/console-browserify/package.json:  "version": "0.1.6",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/cli/package.json:  "version": "0.4.5",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/package.json:  "version": "5.0.14",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/once/package.json:  "version": "1.3.2",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/once/node_modules/wrappy/package.json:  "version": "1.0.1",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/package.json:  "version": "2.0.1",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inflight/package.json:  "version": "1.0.4",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json:  "version": "1.0.1",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/path-is-absolute/package.json:  "version": "1.0.0",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/package.json:  "version": "2.0.10",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json:  "version": "1.1.0",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json:  "version": "0.0.1",
/home/pi/node_modules/node-flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json:  "version": "0.2.0",
/home/pi/node_modules/node-flower-power/node_modules/bleno/package.json:  "version": "0.1.14",
/home/pi/node_modules/node-flower-power/node_modules/bleno/node_modules/debug/package.json:  "version": "0.7.4",
/home/pi/node_modules/node-flower-power/node_modules/bleno/node_modules/bplist-parser/package.json:  "version": "0.0.6",
/home/pi/node_modules/node-flower-power/node_modules/bleno/examples/battery-service/package.json:  "version": "0.1.0",
/home/pi/node_modules/node-flower-power/node_modules/async/package.json:  "version": "0.2.10",
/home/pi/node_modules/flower-power-cloud/package.json:  "version": "0.2.1",
/home/pi/node_modules/sync/package.json:  "version": "0.2.5",
/home/pi/node_modules/sync/node_modules/fibers/package.json:  "version": "1.0.7",
/home/pi/node_modules/lazy/package.json:  "version": "1.0.11",
/home/pi/node_modules/node-flower-power-cloud/package.json:, "version"        : "0.2.1"
/home/pi/node_modules/request/package.json:  "version": "2.60.0",
/home/pi/node_modules/request/node_modules/oauth-sign/package.json:  "version": "0.8.0",
/home/pi/node_modules/request/node_modules/forever-agent/package.json:  "version": "0.6.1",
/home/pi/node_modules/request/node_modules/stringstream/package.json:  "version": "0.0.4",
/home/pi/node_modules/request/node_modules/bl/package.json:  "version": "1.0.0",
/home/pi/node_modules/request/node_modules/bl/node_modules/readable-stream/package.json:  "version": "2.0.2",
/home/pi/node_modules/request/node_modules/bl/node_modules/readable-stream/package.json:    "browser": "zuul --browser-name $BROWSER_NAME --browser-version $BROWSER_VERSION -- test/browser.js"
/home/pi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/package.json:  "version": "1.0.1",
/home/pi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/package.json:  "version": "1.0.2",
/home/pi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/inherits/package.json:  "version": "2.0.1",
/home/pi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/package.json:  "version": "0.10.31",
/home/pi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/package.json:  "version": "0.0.1",
/home/pi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/package.json:  "version": "1.0.1",
/home/pi/node_modules/request/node_modules/extend/package.json:  "version": "3.0.0",
/home/pi/node_modules/request/node_modules/qs/package.json:  "version": "4.0.0",
/home/pi/node_modules/request/node_modules/hawk/package.json:  "version": "3.1.0",
/home/pi/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json:  "version": "2.0.4",
/home/pi/node_modules/request/node_modules/hawk/node_modules/sntp/package.json:  "version": "1.0.9",
/home/pi/node_modules/request/node_modules/hawk/node_modules/boom/package.json:  "version": "2.8.0",
/home/pi/node_modules/request/node_modules/hawk/node_modules/hoek/package.json:  "version": "2.14.0",
/home/pi/node_modules/request/node_modules/har-validator/package.json:  "version": "1.8.0",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/bluebird/package.json:  "version": "2.9.34",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/commander/package.json:  "version": "2.8.1",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/package.json:  "version": "1.0.1",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/chalk/package.json:  "version": "1.1.0",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/package.json:  "version": "1.0.3",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/package.json:  "version": "2.0.0",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json:  "version": "2.0.0",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/package.json:  "version": "2.1.0",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/package.json:  "version": "3.0.0",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json:  "version": "2.0.0",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/package.json:  "version": "2.0.0",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/package.json:  "version": "2.12.1",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/package.json:  "version": "2.0.0",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/package.json:  "version": "1.2.0",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/package.json:  "version": "1.0.2",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/package.json:  "version": "1.1.0",
/home/pi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/package.json:  "version": "4.0.0",
/home/pi/node_modules/request/node_modules/http-signature/package.json:  "version": "0.11.0",
/home/pi/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json:  "version": "0.1.5",
/home/pi/node_modules/request/node_modules/http-signature/node_modules/ctype/package.json:  "version": "0.5.3",
/home/pi/node_modules/request/node_modules/http-signature/node_modules/asn1/package.json:  "version": "0.1.11",
/home/pi/node_modules/request/node_modules/aws-sign2/package.json:  "version": "0.5.0",
/home/pi/node_modules/request/node_modules/caseless/package.json:  "version": "0.11.0",
/home/pi/node_modules/request/node_modules/form-data/package.json:  "version": "1.0.0-rc3",
/home/pi/node_modules/request/node_modules/form-data/node_modules/async/package.json:  "version": "1.4.0",
/home/pi/node_modules/request/node_modules/isstream/package.json:  "version": "0.1.2",
/home/pi/node_modules/request/node_modules/json-stringify-safe/package.json:  "version": "5.0.1",
/home/pi/node_modules/request/node_modules/tough-cookie/package.json:  "version": "2.0.0",
/home/pi/node_modules/request/node_modules/combined-stream/package.json:  "version": "1.0.5",
/home/pi/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/package.json:  "version": "1.0.0",
/home/pi/node_modules/request/node_modules/tunnel-agent/package.json:  "version": "0.4.1",
/home/pi/node_modules/request/node_modules/mime-types/package.json:  "version": "2.1.4",
/home/pi/node_modules/request/node_modules/mime-types/node_modules/mime-db/package.json:  "version": "1.16.0",
/home/pi/node_modules/flower-power/package.json:  "version": "0.2.1",
/home/pi/node_modules/flower-power/node_modules/noble-device/package.json:  "version": "0.1.3",
/home/pi/node_modules/flower-power/node_modules/noble/package.json:  "version": "0.3.14",
/home/pi/node_modules/flower-power/node_modules/noble/node_modules/debug/package.json:  "version": "0.7.4",
/home/pi/node_modules/flower-power/node_modules/noble/node_modules/bplist-parser/package.json:  "version": "0.0.6",
/home/pi/node_modules/flower-power/node_modules/jshint/package.json:  "version": "2.3.0",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/shelljs/package.json:  "version": "0.1.4",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/minimatch/package.json:  "version": "0.4.0",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/package.json:  "version": "2.6.5",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/package.json:  "version": "1.0.1",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/underscore/package.json:  "version": "1.4.4",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/console-browserify/package.json:  "version": "0.1.6",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/cli/package.json:  "version": "0.4.5",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/package.json:  "version": "5.0.14",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/once/package.json:  "version": "1.3.2",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/once/node_modules/wrappy/package.json:  "version": "1.0.1",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/package.json:  "version": "2.0.1",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inflight/package.json:  "version": "1.0.4",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json:  "version": "1.0.1",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/path-is-absolute/package.json:  "version": "1.0.0",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/package.json:  "version": "2.0.10",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json:  "version": "1.1.0",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json:  "version": "0.0.1",
/home/pi/node_modules/flower-power/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json:  "version": "0.2.0",
/home/pi/node_modules/flower-power/node_modules/bleno/package.json:  "version": "0.1.14",
/home/pi/node_modules/flower-power/node_modules/bleno/node_modules/debug/package.json:  "version": "0.7.4",
/home/pi/node_modules/flower-power/node_modules/bleno/node_modules/bplist-parser/package.json:  "version": "0.0.6",
/home/pi/node_modules/flower-power/node_modules/bleno/examples/battery-service/package.json:  "version": "0.1.0",
/home/pi/node_modules/flower-power/node_modules/async/package.json:  "version": "0.2.10",
/home/pi/node_modules/fs/package.json:  "version": "0.0.2",
/home/pi/node_modules/async/package.json:  "version": "1.0.0",
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 24 September 2015, 07:47:22
Danke! Eines der Pakete wars offenbar, denn jetzt kommt dieser Fehler zwar ab und an noch, aber sehr viel seltener. Die meiste Zeit werden alle Sensoren die beim Scan gefunden werden auch ausgelesen.

Evtl versuche ich nochmal herauszufinden, welches Paket ausschlaggebend ist, noble-device allein wars anscheinend nicht. Insgesamt ist mir die Sache ja schon etwas suspekt, mal sehen was da noch kommt  :-)

Einen Bug konnte ich noch beheben: Wenn die BT-Adresse aus der ID berechnet wird, nimmt der code bislang die ersten 7 Zeichen und dann wieder an idx 13. Stattdessen sollte es 6 und 12 sein. An die variablebnamen komme ich gerade nicht ran, ich kann dir aber gern einen Patch schicken. - oder wäre dir ein pull-request incl. Modul-Versionen im README.MD.md lieber?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 24 September 2015, 07:52:40
Pull Request wäre super, komme aber vermutlich erst in der nächsten Woche dazu, mich mit dem Package Thema auseinanderzusetzen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 10 Oktober 2015, 21:45:16
Wenn du willst, probier doch mal die neueste Version der app.js von meinem clone https://github.com/gandy92/FlowerPower-Tools

Ich habe den Code ein wenig umgestellt, ein paar Kommentare eingefügt, die Zuordnung uuid/sensorSerial solider gemacht und das ganze so hinbekommen, dass auch bei sehr schlechter Verbindung und vorzeitigen disconnects jeder gefundene Sensor mal drankommt.

Ein paar Verbesserungen sind sicher noch drin, aber zumindest die Stabilität die ich brauche ist jetzt vorhanden.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: ChrisW am 22 Oktober 2015, 20:38:46
gibt es schon die aussicht auf ein Modul ? Um die Geräte relativ einfach ohne viel basteln in Fhem zu bekommen ? Fände es sehr Intressant.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 22 Oktober 2015, 20:42:49
Nein, aus meiner Sicht nicht, da Perl keinen brauchbaren BLE Stack hat. Also nur mit Node.js dazwischen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: thomaso am 10 November 2015, 13:26:55
Wollte heute auch die Pakete für meine FlowerPower runter laden....jedoch bekomm ich folgenden Fehler, wenn ich am Raspberry das eingebe:

npm install flower-power
npm http GET https://registry.npmjs.org/flower-power

npm ERR! Error: failed to fetch from registry: flower-power
npm ERR!     at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR!     at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9)
npm ERR!     at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18)
npm ERR!     at Request.callback (/usr/lib/nodejs/request/main.js:119:22)
npm ERR!     at Request.<anonymous> (/usr/lib/nodejs/request/main.js:212:58)
npm ERR!     at Request.emit (events.js:88:20)
npm ERR!     at ClientRequest.<anonymous> (/usr/lib/nodejs/request/main.js:412:12)
npm ERR!     at ClientRequest.g (events.js:156:14)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1256:7)
npm ERR! You may report this log at:
npm ERR!     <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR!     reportbug --attach /home/pi/npm-debug.log npm
npm ERR!
npm ERR! System Linux 4.1.6+
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "flower-power"
npm ERR! cwd /home/pi
npm ERR! node -v v0.6.19
npm ERR! npm -v 1.1.4
npm ERR! message failed to fetch from registry: flower-power
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/pi/npm-debug.log
npm not ok

Hat das schon mal jemand gehabt :(
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 11 November 2015, 23:17:16
Grusel.  ::) node -v v0.6.19
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: thomaso am 12 November 2015, 12:38:04
haha was willst du mir damit sagen :D?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: HolyMoly am 12 November 2015, 12:39:11
Aktuell ist stable 5.0
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 12 November 2015, 12:39:23
Bring mal dein Node auf eine akzeptable Version.


Sent from my iPhone using Tapatalk
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: thomaso am 14 November 2015, 09:46:15
ok nun hab ich die Version 5 drauf :)

wenn ich jetzt
sudo npm install flower-power
ausführe, kommt jedoch noch immer ein Fehler:

pi@raspberrypi ~ $ sudo npm install flower-power
npm WARN install Couldn't install optional dependency: Unsupported

> usb@1.1.0 install /home/pi/node_modules/usb
> node-pre-gyp install --fallback-to-build

gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/5.0.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/pi/node_modules/usb/.node-gyp"
make: Entering directory '/home/pi/node_modules/usb/build'
make: *** No rule to make target '../.node-gyp/5.0.0/include/node/common.gypi', needed by 'Makefile'.  Schluss.
make: Leaving directory '/home/pi/node_modules/usb/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 4.1.7+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/home/pi/node_modules/usb/src/binding/usb_bindings.node" "--module_name=usb_bindings" "--module_path=/home/pi/node_modules/usb/src/binding"
gyp ERR! cwd /home/pi/node_modules/usb
gyp ERR! node -v v5.0.0
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/home/pi/node_modules/usb/src/binding/usb_bindings.node --module_name=usb_bindings --module_path=/home/pi/node_modules/usb/src/binding' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/home/pi/node_modules/usb/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:87:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:818:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
node-pre-gyp ERR! System Linux 4.1.7+
node-pre-gyp ERR! command "/usr/local/bin/node" "/home/pi/node_modules/usb/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /home/pi/node_modules/usb
node-pre-gyp ERR! node -v v5.0.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.4
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/home/pi/node_modules/usb/src/binding/usb_bindings.node --module_name=usb_bindings --module_path=/home/pi/node_modules/usb/src/binding' (1)
npm WARN install:usb usb@1.1.0 install: `node-pre-gyp install --fallback-to-build`
npm WARN install:usb Exit status 1


Woran kann das wieder liegen :(?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: thomaso am 17 November 2015, 09:59:48
hat das keiner sonst gehabt?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: HolyMoly am 17 November 2015, 10:03:58
ich würde das Paket node-gyp nochmal reinstallen...
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: thomaso am 17 November 2015, 11:34:11
hab ich probiert aber dann kommen nur noch mehr Fehler :(

sudo npm install flower-power
npm WARN optional dep failed, continuing xpc-connection@0.1.4
-
> usb@1.1.0 install /home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb
> node-pre-gyp install --fallback-to-build

gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/4.0.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/.node-gyp"
make: Entering directory '/home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/build'
make: *** No rule to make target '../.node-gyp/4.0.0/include/node/common.gypi', needed by 'Makefile'.  Schluss.
make: Leaving directory '/home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 4.1.7+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/src/binding/usb_bindings.node" "--module_name=usb_bindings" "--module_path=/home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/src/binding"
gyp ERR! cwd /home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb
gyp ERR! node -v v4.0.0
gyp ERR! node-gyp -v v3.0.1
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/src/binding/usb_bindings.node --module_name=usb_bindings --module_path=/home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/src/binding' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:87:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:817:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
node-pre-gyp ERR! System Linux 4.1.7+
node-pre-gyp ERR! command "/usr/local/bin/node" "/home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb
node-pre-gyp ERR! node -v v4.0.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.4
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/src/binding/usb_bindings.node --module_name=usb_bindings --module_path=/home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/src/binding' (1)
npm WARN optional dep failed, continuing usb@1.1.0

> bluetooth-hci-socket@0.4.2 install /home/pi/node_modules/flower-power/node_modules/noble-device/node_modules/noble/node_modules/bluetooth-hci-socket
> node-gyp rebuild
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: volschin am 17 November 2015, 13:26:50
Sieht für mich so aus, als ob node unsauber installiert ist, d.h. am Besten löschen und neu machen und unter einem user organisieren.
Ein sudo führt dazu, das die Module unter root installiert werden ohne sudo im jeweiligen User. Bei Dir scheint er das nicht mehr zusammen zu bekommen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: thomaso am 19 November 2015, 17:47:14
komisch ist, dass die Homebridge, welche ja auch so installiert wird und lauft, ganz normal funktioniert. Kann mir irgendwie nicht vorstellen, dass es an node liegt :(

Läuft bei euch die Installation durch?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: hartenthaler am 30 August 2016, 17:13:28
unter https://forum.fhem.de/index.php/topic,56490.msg486160 findet man nun ein Modul, das die Daten aus der FlowerPower-Cloud holt
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 06 September 2016, 13:14:41
Hi,

anbei ein Python-Script, das den History-Buffer eines Sensors ausliest. Es wurde unter Linux entwickelt und auch auf einem Raspberry Pi getestet, benötigt bluez-5.37 oder höher und bluepy (https://github.com/IanHarvey/bluepy (https://github.com/IanHarvey/bluepy)).

Aufgerufen wird es mit der bluetooth-Adresse des Sensors so:

sudo python fp-download.py --addr a0:14:3d:07:d4:66


Bei erfolgreicher Verbindung mit dem Sensor (es kann vorkommen, dass das nicht auf Anhieb geht, dann einfach nochmal starten; Fehlerbehandlung komtm später) speichert es eine Datei wie im zweiten Anhang mit ein paar Informationen zum Sensor und der kompletten Messwerttabelle:

# History data collected by fp-download.py v1.0
# current time: 1473155082
# sensor time: 1141568
# calib: 0,208,21,65535,65535,122,767,1491,1431,216,685
# firmware: 2016-07-06_hawaii-2.0.2_hardware-config-MP
#
# 3,0,records=1269,lts=1141200,lidx=47348,sid=5,sp=900
#
0  0x8000 0x0005 0x0384 0x0000 0x0000 0x0000 32768 5 900 0 0 0
1  0x0272 0xaa1e 0x012f 0x02af 0x01d5 0x0359 626 43550 303 687 469 857
2  0x0281 0x7a2b 0x012d 0x02ab 0x01d4 0x0359 641 31275 301 683 468 857

Die Zeilen mit '#' an Anfang sind Kommentare; die vorletzte dieser Zeilen (# 3,0,0records..) ist bereits Bestandteil der History-Daten, die Bedeutung der einzelnen Felder war relativ leicht zuzuordnen. Bis auf die ersten beiden Bytes, hier vermute ich, dass '3' die Version der Datentabelle sein könnte. Um das zu prüfen, wäre es interessant, die Daten eines Sensors zu sehen, der noch nicht die neueste Firmware trägt. Oder hat jeder schon ein Update gemacht?

Die Bedeutung der eigentlichen Messdaten zu eruieren wäre der nächste Schritt. Dazu gibt es neben der Nummer des Eintrags (erste Spalte) die Hexwerte der Messdaten (6x16Byte, Spalten 2-7) und die jeweiligen Dezimal-Werte (Spalten 8-13). Eine Zeitachse in Sekunden ergibt sich übrigens durch Multiplikation der ersten Spalte mit der Session Period (sp=900). Der letzte Eintrag wurde zur Sensorzeit (sensor time) in Sekunden seit dem letzten Start erzeugt. Als Bezug dient mit "current time" die Systemzeit zum Zeitpunkt des Auslesens. Kurioserweise ist der erste Datensatz nach Start des Sensors völlig anders als alle weiteren und mit Ausnahme des zweiten Datums identisch für alle meine 8 Sensoren. Danach folgen 'echte' Messwerte.

Was die einzelnen Messwerte bedeuten, könnte sich recht einfach aus einem Vergleich mit den nicht-kalibrierten Life-Daten zeigen (der Lichtsensor meldet immer 0xffff wenn es dunkel ist und kleinere Werte mit steigender Helligkeit). Die Formeln für die Umrechnung in Real-Werte könnte etwas weniger trivial, aber durch Regressionsanalyse halbwegs machbar sein, wenn für einen physikalischen Wert nicht mehr als ein Datum und ggfls die Kalibrierwerte in die Formel eingehen. Für Temperaturwerte (Boden und Luft) mag das noch zutreffen, für die Bodenfeuchtigkeit und den Leitwert vielleicht nicht mehr so ganz, wie der Plot von Spalte 10 und 12 zeigt: Beide Kurven gehen grob mit der Bodenfeuchtigkeit, wobei die rote Kurve auch Charakterisitka des Temperaturverlaufs zu enthalten scheint. Vom Hersteller selbst ist zur korrekten Umrechnung keine Hilfe zu erwarten, hier wird nur auf den Cloud-Service verwiesen (http://forum.developer.parrot.com/t/origin-of-raw-temperature-conversion-formula/1395 (http://forum.developer.parrot.com/t/origin-of-raw-temperature-conversion-formula/1395)).

Hat jemand Lust, hier mitzumachen, oder zumindest ein paar Daten beizusteuern (gerne auch per PN)? Interessant wäre wie gesagt erst einml zu sehen, wie die History-Daten bei einer älteren Firmware Version aussehen und was es mit dem ersten Eintrag auf sich hat. Demnächst wird noch ein Script folgen, um zu den Sensordaten die passenden Daten aus der Cloud-API auszulesen.

Beste Grüße,
Andy.

Edit: Script-Dateianhang gelöscht, aktuelle Version befindet sich auf https://github.com/gandy92/pyflowerpower (https://github.com/gandy92/pyflowerpower)
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 29 Dezember 2016, 12:54:09
Hallo ich habe mir auch einen Flower Power Pflanzensensor zugelegt.
Fhem lauf bei mir auf einem rasberry pi3 .
Ich würde gerne mit dem rasberry die live Daten des Pflanzensensors logen. Funktioniert dies schon oder kann ich nur auf die cloud zugreifen?

kennt jemand dieses Projekt ? Hier müssen die Livedaten ja auch vom rasberry erfasst werden
https://github.com/Parrot-Developers/node-flower-bridge
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: hive2015 am 17 Januar 2017, 12:25:48
Zitat von: emilio20 am 29 Dezember 2016, 12:54:09
Hallo ich habe mir auch einen Flower Power Pflanzensensor zugelegt.
Fhem lauf bei mir auf einem rasberry pi3 .
Ich würde gerne mit dem rasberry die live Daten des Pflanzensensors logen. Funktioniert dies schon oder kann ich nur auf die cloud zugreifen?

kennt jemand dieses Projekt ? Hier müssen die Livedaten ja auch vom rasberry erfasst werden
https://github.com/Parrot-Developers/node-flower-bridge

Das ging mal eine ganze Weile recht gut in Kombination von node-flower-bridge (damit scannte mein pi immer meine Pflanzen und pushte die Daten in die Cloud) sowie FlowerPowerTools, mit dem ich dann die Daten aus der Cloud mittels cronjob wieder aus der Cloud ausgelesen und in ein CSV gepumpt habe.

Leider hat Parrot vor einigen Monaten die API, Firmware und Software grundsätzlich geändert und dann ging quasi nix mehr. Es gab dann von dem node-flower-bridge eine V2  Version, welche aber ebenfalls seit nem guten Jahr nicht mehr weiterentwickelt wurde, mit der ging es wenigstens wieder nen kleines bisschen. Sie haben auch beim Parrot-Support gestanden, das sie momentan Probleme haben mit mehr als einem Sensor und überhaupt, aber das sie "energisch dran seien" das zu fixen. Das ist nun glaub 4 Monate her und es hat sich nichts getan. Daher werde ich meine FlowerPower-Sensoren in naher Zukunft wegschmeissen und durch z.B. die "xiaomi flower monitor" ersetzen, falls die mal irgendwo in annehmbarer Zeit lieferbar sind.

Gruss,
Hive
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 21 Januar 2017, 02:38:34
Nachdem ich mich einige Zeit mit irgendwelchen Bridges und anderem Zeugs rumgeschlagen habe und alles nur halblebig funktioniert, habe ich mal ein kleines Perl Script gebastelt, das die Daten direkt auslesen kann. Das sind wenige zeilen Code, die gern als Grundlage für ein FHEM Modul dienen können.
Schaut es euch doch mal bitte an und sagt mir, ob es bei euch funktioniert. Die komischen Formeln im Code habe ich von den Git Sourcen der Parrot Entwickler. Warum oder weshalb die so ausehen müssen, entzieht sich meiner Kenntnis. Am genauesten scheinen mir die Calibrated Werte zu sein (macht irgendwie auch Sinn). Leider sind bei meinem Sensor nur 3 der ansonsten 6 Werte auslesbar. Vielleicht gibts andere Sensoren die alle Werte haben. Außerdem ist das hier verwendete Gatttool auf 20 Byte Daten beschränkt. Die Firmware und Hardware Version wird deshalb nur teilweise angezeigt. Vielleicht hat dazu noch jemand eine Idee?

1.) Damit das Ganze funktioniert muss Bluez z.B. auf eurem Raspberry installiert sein und ordnungsgemäß funktionieren!
2.) Weiterhin müsst ihr im Script die Mac Adresse für euren Parrot Flower Power Sensor eintragen!
3.) Denkt bitte daran, dass das Script ausführbar sein muss (chmod +x ...).

Der Output sieht bei mir dann so aus:

Name: Flower power 43F8
System ID: f8438400003d14a0
Serial Number: PI040297AD5I204905
Firmware Revision: 2016-09-14_hawaii-2
Hardware Revision: 2013-07-26_hawaiiPr
Color: 4
Battery Level: 95
Calibrated Soil Moisture: 40.7666854858398
Calibrated Air Temperature: 18.6852474212646
Calibrated Sunlight: 0.100000001490116
Calibrated EA: 0
Calibrated ECB: 0
Calibrated EC Porous: 0
Sunlight: 0.129691229016778
Soil Electrical Conductivity: 3.87916431394692
Soil Temperature: 19.364238285
Air Temperature: 17.74524974592
Soil Moisture: 29.5134248813477


#!/usr/bin/perl

use strict;
use warnings;

sub readSensorValue($$);
sub convertStringToFloat($);
sub convertStringToU8($);
sub convertStringToU16($);
sub convertHexToString($);



my $mac = "AA:BB:CC:DD:EE:FF";
my $result;

# Name
$result = readSensorValue($mac, "00002a00-0000-1000-8000-00805f9b34fb");
print "Name: ".convertHexToString($result)."\n";

# Device Name
#$result = readSensorValue($mac, "39e1fe03-84a8-11e2-afba-0002a5d5c51b");
#print "Device Name: ".convertHexToString(substr($result, 0, -4))."\n";

# System ID
$result = readSensorValue($mac, "00002a23-0000-1000-8000-00805f9b34fb");
print "System ID: ".$result."\n";

# Serial Number
$result = readSensorValue($mac, "00002a25-0000-1000-8000-00805f9b34fb");
print "Serial Number: ".convertHexToString($result)."\n";

# Firmware Revision (gatttool is limited to 20 bytes of data)
$result = readSensorValue($mac, "00002a26-0000-1000-8000-00805f9b34fb");
print "Firmware Revision: ".convertHexToString($result)."\n";

# Hardware Revision (gatttool is limited to 20 bytes of data)
$result = readSensorValue($mac, "00002a27-0000-1000-8000-00805f9b34fb");
print "Hardware Revision: ".convertHexToString($result)."\n";

# Color
$result = readSensorValue($mac, "39e1fe04-84a8-11e2-afba-0002a5d5c51b");
print "Color: ".convertStringToU16($result)."\n";

# Battery Level in %
$result = readSensorValue($mac, "00002a19-0000-1000-8000-00805f9b34fb");
print "Battery Level: ".convertStringToU8($result)."\n";

# Calibrated Soil Moisture in %
$result = readSensorValue($mac, "39e1fa09-84a8-11e2-afba-0002a5d5c51b");
print "Calibrated Soil Moisture: ".convertStringToFloat($result)."\n";

# Calibrated Air Temperature in °C
$result = readSensorValue($mac, "39e1fa0a-84a8-11e2-afba-0002a5d5c51b");
print "Calibrated Air Temperature: ".convertStringToFloat($result)."\n";

# Calibrated Sunlight in mol/m^2
$result = readSensorValue($mac, "39e1fa0b-84a8-11e2-afba-0002a5d5c51b");
print "Calibrated Sunlight: ".convertStringToFloat($result)."\n";

# Calibrated EA (not available?)
$result = readSensorValue($mac, "39e1fa0c-84a8-11e2-afba-0002a5d5c51b");
print "Calibrated EA: ".convertStringToFloat($result)."\n";

# Calibrated ECB in dS/m (not available?)
$result = readSensorValue($mac, "39e1fa0d-84a8-11e2-afba-0002a5d5c51b");
print "Calibrated ECB: ".convertStringToFloat($result)."\n";

# Calibrated EC Porous in dS/m (not available?)
$result = readSensorValue($mac, "39e1fa0e-84a8-11e2-afba-0002a5d5c51b");
print "Calibrated EC Porous: ".convertStringToFloat($result)."\n";

# reference: https://github.com/Parrot-Developers/node-flower-power/blob/master/index.js
# reference: FlowerPower-BLE.pdf
# Sunlight in mol/m^2
$result = readSensorValue($mac, "39e1fa01-84a8-11e2-afba-0002a5d5c51b");
$result = 0.08640000000000001 * (192773.17000000001 * (convertStringToU16($result) ** -1.0606619));
print "Sunlight: ".$result."\n";

# Soil Electrical Conductivity in dS/m
$result = readSensorValue($mac, "39e1fa02-84a8-11e2-afba-0002a5d5c51b");
$result = (convertStringToU16($result) * 10.0) / 1771.0;
print "Soil Electrical Conductivity: ".$result."\n";

# Soil Temperature in °C
$result = readSensorValue($mac, "39e1fa03-84a8-11e2-afba-0002a5d5c51b");
$_ = convertStringToU16($result) * 1.0;
$result = (0.00000003044 * ($_ ** 3.0)) - (0.00008038 * ($_ ** 2.0)) + ($_ * 0.1149) - 30.449999999999999;
if ($result < -10.0)
{
  $result = -10.0;
}
elsif ($result > 55.0)
{
  $result = 55.0;
}
print "Soil Temperature: ".$result."\n";

# Air Temperature in °C
$result = readSensorValue($mac, "39e1fa04-84a8-11e2-afba-0002a5d5c51b");
$_ = convertStringToU16($result) * 1.0;
$result = (0.00000003044 * ($_ ** 3.0)) - (0.00008038 * ($_ ** 2.0)) + ($_ * 0.1149) - 30.449999999999999;
if ($result < -10.0)
{
  $result = -10.0;
}
elsif ($result > 55.0)
{
  $result = 55.0;
}
print "Air Temperature: ".$result."\n";

# Soil Moisture in % (seems to be incorrect)
$result = readSensorValue($mac, "39e1fa05-84a8-11e2-afba-0002a5d5c51b");
$_ = convertStringToU16($result) * 1.0;
$result = 11.4293 + ((0.0000000010698 * $_**4.0) - (0.00000152538 * $_**3.0) + (0.000866976 * $_**2.0) - (0.169422 * $_));
$result = 100.0 * ((0.0000045 * $result**3.0) - (0.00055 * $result**2.0) + (0.0292 * $result) - 0.053);
if ($result < 0.0)
{
  $result = 0.0;
}
elsif ($result > 60.0)
{
  $result = 60.0;
}
print "Soil Moisture: ".$result."\n";




sub readSensorValue($$)
{
  my $mac = shift;
  my $uuid = shift;
  my @result;
  my $repeatCounter = 0;

  do
  {
    # try to read the value from sensor
    @result = split(": ", qx(gatttool -b $mac --char-read --uuid=$uuid 2>/dev/null));
    $repeatCounter++;
  }
  while (($repeatCounter < 10) && (not defined($result[0])));

  if (defined($result[0]))
  {
    # remove spaces
    $result[2] =~ s/\s//g;

    return $result[2];
  }
  else
  {
    # return 0 in case of an error
    return "0";
  }
}


sub convertStringToFloat($)
{
  $_ = shift;

  # switch endianess of string
  $_ = unpack("H*", reverse(pack("H*", $_)));

  # convert string to float
  return unpack("f", pack("L", hex($_)));
}


sub convertStringToU8($)
{
  $_ = shift;

  # convert string to U8
  return hex($_);
}


sub convertStringToU16($)
{
  $_ = shift;

  # switch endianess of string
  $_ = unpack("H*", reverse(pack("H*", $_)));

  # convert string to U16
  return hex($_);
}


sub convertHexToString($)
{
  $_ = shift;

  # convert hex string into string
  return pack("H*", $_);
}
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: CoolTux am 22 Januar 2017, 16:50:58
Das scheint ein und die selbe uuid zu sein. Kann mir da einer den char für geben. Ist irgendwie Recht viel Code um ein paar Werte aus dem Hex Telegramm zu bekommen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 23 Januar 2017, 00:32:15
Nein das sind immer andere oder übersehe ich da etwas? Ist leider nicht so einfach wie beim Xiaomi Sensor, bei dem in einer Antwort alle Werte hintereinander stehen. Die Doku von Parrot findest du hier. Gibt aber ehrlich gesagt nicht viel her. Andere Anhaltspunkte bietet die Bridge von Parrot. Die Berechnungen daraus habe ich Beispielsweise übernommen.

https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=0ahUKEwjclMf989bRAhWCHxoKHatEB4IQFggaMAA&url=http%3A%2F%2Fdeveloper.parrot.com%2Fdocs%2FFlowerPower%2FFlowerPower-BLE.pdf&usg=AFQjCNHHPSPY-9n7gJDPUixOVj_nh-Q6Qw&sig2=N2071_Mxl2OY4qj61laiVg&bvm=bv.144686652,d.d2s (https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=0ahUKEwjclMf989bRAhWCHxoKHatEB4IQFggaMAA&url=http%3A%2F%2Fdeveloper.parrot.com%2Fdocs%2FFlowerPower%2FFlowerPower-BLE.pdf&usg=AFQjCNHHPSPY-9n7gJDPUixOVj_nh-Q6Qw&sig2=N2071_Mxl2OY4qj61laiVg&bvm=bv.144686652,d.d2s)
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: CoolTux am 23 Januar 2017, 04:36:49
Mist hast Recht. Habe eben erst den Anfang mir mal genau angeschaut.
Das sind dann aber ne Menge Anfragen, die arme Batterie  :)
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: hive2015 am 24 Januar 2017, 10:43:35
@mumpitzstuff

Danke für da Script. Ich habe es bei mir mal laufen gelassen mit einem meiner Sensoren, aber die Ergebnisse sind ... hmm ... seltsam. Zum einen kommt kaum was zurück an Daten, zum anderen ist die Ausgabe bei jedem Aufruf etwas anders. Manchmal sind es ein paar mehr Infos, manchmal weniger.

Name: Flower power A70F
System ID: 466c6f77657220706f7765722041373046
Serial Number: ?
                =?
Firmware Revision: PI040307AA4C024330
Hardware Revision:
Color: 0
Battery Level: 0
Calibrated Soil Moisture: 0
Calibrated Air Temperature: 0
Calibrated Sunlight: 0
Calibrated EA: 0
Calibrated ECB: 0
Calibrated EC Porous: 0
Sunlight: inf
Soil Electrical Conductivity: 0
Soil Temperature: -10
Air Temperature: -10
Soil Moisture: 21.5608151743303


dann mal:

Name: Flower power A70F
System ID: 0
Serial Number:
Firmware Revision:
Hardware Revision:
Color: 0
Battery Level: 0
Calibrated Soil Moisture: 0
Calibrated Air Temperature: 0
Calibrated Sunlight: 0
Calibrated EA: 0
Calibrated ECB: 0
Calibrated EC Porous: 0
Sunlight: inf
Soil Electrical Conductivity: 0
Soil Temperature: -10
Air Temperature: -10
Soil Moisture: 21.5608151743303


oder:

Name:
System ID: 0
Serial Number:
Firmware Revision:
Hardware Revision:
Color: 0
Battery Level: 0
Calibrated Soil Moisture: 0
Calibrated Air Temperature: 0
Calibrated Sunlight: 0
Calibrated EA: 0
Calibrated ECB: 0


Was könnte das sein?

Danke und Gruss,
Hive
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 25 Januar 2017, 23:10:33
0 wird normalerweise zurück gegeben, wenn irgend etwas schief läuft und das Script es nach 10 Versuchen es nicht schafft den entsprechenden Wert zu lesen. Leg mal den Sensor relativ nahe an deinen Bluetooth Dongle und probier mal folgendes:

Such mal im Skript nach: 2>/dev/null
Und entferne den Teil.

Danach solltest du die Fehlermeldungen vom Gatttool sehen.

Ansonsten hier eine Version mit mehr Debugausgaben:


#!/usr/bin/perl

use strict;
use warnings;

sub readSensorValue($$);
sub convertStringToFloat($);
sub convertStringToU8($);
sub convertStringToU16($);
sub convertHexToString($);



my $mac = "AA:BB:CC:DD:EE:FF";
my $result;

# Name
$result = readSensorValue($mac, "00002a00-0000-1000-8000-00805f9b34fb");
print "Name (raw): ".$result."\n";
print "Name: ".convertHexToString($result)."\n";

# Device Name
#$result = readSensorValue($mac, "39e1fe03-84a8-11e2-afba-0002a5d5c51b");
#print "Device Name: ".convertHexToString(substr($result, 0, -4))."\n";

# System ID
$result = readSensorValue($mac, "00002a23-0000-1000-8000-00805f9b34fb");
print "System ID (raw): ".$result."\n";
print "System ID: ".$result."\n";

# Serial Number
$result = readSensorValue($mac, "00002a25-0000-1000-8000-00805f9b34fb");
print "Serial Number (raw): ".$result."\n";
print "Serial Number: ".convertHexToString($result)."\n";

# Firmware Revision (gatttool is limited to 20 bytes of data)
$result = readSensorValue($mac, "00002a26-0000-1000-8000-00805f9b34fb");
print "Firmware Revision (raw): ".$result."\n";
print "Firmware Revision: ".convertHexToString($result)."\n";

# Hardware Revision (gatttool is limited to 20 bytes of data)
$result = readSensorValue($mac, "00002a27-0000-1000-8000-00805f9b34fb");
print "Hardware Revision (raw): ".$result."\n";
print "Hardware Revision: ".convertHexToString($result)."\n";

# Color
$result = readSensorValue($mac, "39e1fe04-84a8-11e2-afba-0002a5d5c51b");
print "Color (raw): ".$result."\n";
print "Color: ".convertStringToU16($result)."\n";

# Battery Level in %
$result = readSensorValue($mac, "00002a19-0000-1000-8000-00805f9b34fb");
print "Battery Level (raw): ".$result."\n";
print "Battery Level: ".convertStringToU8($result)."\n";

# Calibrated Soil Moisture in %
$result = readSensorValue($mac, "39e1fa09-84a8-11e2-afba-0002a5d5c51b");
print "Calibrated Soil Moisture (raw): ".$result."\n";
print "Calibrated Soil Moisture: ".convertStringToFloat($result)."\n";

# Calibrated Air Temperature in °C
$result = readSensorValue($mac, "39e1fa0a-84a8-11e2-afba-0002a5d5c51b");
print "Calibrated Air Temperature (raw): ".$result."\n";
print "Calibrated Air Temperature: ".convertStringToFloat($result)."\n";

# Calibrated Sunlight in mol/m^2
$result = readSensorValue($mac, "39e1fa0b-84a8-11e2-afba-0002a5d5c51b");
print "Calibrated Sunlight (raw): ".$result."\n";
print "Calibrated Sunlight: ".convertStringToFloat($result)."\n";

# Calibrated EA (not available?)
$result = readSensorValue($mac, "39e1fa0c-84a8-11e2-afba-0002a5d5c51b");
print "Calibrated EA (raw): ".$result."\n";
print "Calibrated EA: ".convertStringToFloat($result)."\n";

# Calibrated ECB in dS/m (not available?)
$result = readSensorValue($mac, "39e1fa0d-84a8-11e2-afba-0002a5d5c51b");
print "Calibrated ECB (raw): ".$result."\n";
print "Calibrated ECB: ".convertStringToFloat($result)."\n";

# Calibrated EC Porous in dS/m (not available?)
$result = readSensorValue($mac, "39e1fa0e-84a8-11e2-afba-0002a5d5c51b");
print "Calibrated EC Porous (raw): ".$result."\n";
print "Calibrated EC Porous: ".convertStringToFloat($result)."\n";

# reference: https://github.com/Parrot-Developers/node-flower-power/blob/master/index.js
# reference: FlowerPower-BLE.pdf
# Sunlight in mol/m^2
$result = readSensorValue($mac, "39e1fa01-84a8-11e2-afba-0002a5d5c51b");
print "Sunlight (raw): ".$result."\n";
$result = 0.08640000000000001 * (192773.17000000001 * (convertStringToU16($result) ** -1.0606619));
print "Sunlight: ".$result."\n";

# Soil Electrical Conductivity in dS/m
$result = readSensorValue($mac, "39e1fa02-84a8-11e2-afba-0002a5d5c51b");
print "Soil Electrical Conductivity (raw): ".$result."\n";
$result = (convertStringToU16($result) * 10.0) / 1771.0;
print "Soil Electrical Conductivity: ".$result."\n";

# Soil Temperature in °C
$result = readSensorValue($mac, "39e1fa03-84a8-11e2-afba-0002a5d5c51b");
print "Soil Temperature (raw): ".$result."\n";
$_ = convertStringToU16($result) * 1.0;
$result = (0.00000003044 * ($_ ** 3.0)) - (0.00008038 * ($_ ** 2.0)) + ($_ * 0.1149) - 30.449999999999999;
if ($result < -10.0)
{
  $result = -10.0;
}
elsif ($result > 55.0)
{
  $result = 55.0;
}
print "Soil Temperature: ".$result."\n";

# Air Temperature in °C
$result = readSensorValue($mac, "39e1fa04-84a8-11e2-afba-0002a5d5c51b");
print "Air Temperature (raw): ".$result."\n";
$_ = convertStringToU16($result) * 1.0;
$result = (0.00000003044 * ($_ ** 3.0)) - (0.00008038 * ($_ ** 2.0)) + ($_ * 0.1149) - 30.449999999999999;
if ($result < -10.0)
{
  $result = -10.0;
}
elsif ($result > 55.0)
{
  $result = 55.0;
}
print "Air Temperature: ".$result."\n";

# Soil Moisture in % (seems to be incorrect)
$result = readSensorValue($mac, "39e1fa05-84a8-11e2-afba-0002a5d5c51b");
print "Soil Moisture (raw): ".$result."\n";
$_ = convertStringToU16($result) * 1.0;
$result = 11.4293 + ((0.0000000010698 * $_**4.0) - (0.00000152538 * $_**3.0) + (0.000866976 * $_**2.0) - (0.169422 * $_));
$result = 100.0 * ((0.0000045 * $result**3.0) - (0.00055 * $result**2.0) + (0.0292 * $result) - 0.053);
if ($result < 0.0)
{
  $result = 0.0;
}
elsif ($result > 60.0)
{
  $result = 60.0;
}
print "Soil Moisture: ".$result."\n";




sub readSensorValue($$)
{
  my $mac = shift;
  my $uuid = shift;
  my @result;
  my $repeatCounter = 0;

  do
  {
    # try to read the value from sensor
    @result = split(": ", qx(gatttool -b $mac --char-read --uuid=$uuid));
    $repeatCounter++;
  }
  while (($repeatCounter < 10) && (not defined($result[0])));

  if (defined($result[0]))
  {
    # remove spaces
    $result[2] =~ s/\s//g;

    return $result[2];
  }
  else
  {
    print "Error: max retries reached (return 0)\n";
   
    # return 0 in case of an error
    return "0";
  }
}


sub convertStringToFloat($)
{
  $_ = shift;

  # switch endianess of string
  $_ = unpack("H*", reverse(pack("H*", $_)));

  # convert string to float
  return unpack("f", pack("L", hex($_)));
}


sub convertStringToU8($)
{
  $_ = shift;

  # convert string to U8
  return hex($_);
}


sub convertStringToU16($)
{
  $_ = shift;

  # switch endianess of string
  $_ = unpack("H*", reverse(pack("H*", $_)));

  # convert string to U16
  return hex($_);
}


sub convertHexToString($)
{
  $_ = shift;

  # convert hex string into string
  return pack("H*", $_);
}


Die Ausgabe ist dann bei mir wie folgt:


Name (raw): 466c6f77657220706f7765722034334638
Name: Flower power 43F8
System ID (raw): f8438400003d14a0
System ID: f8438400003d14a0
Serial Number (raw): 50493034303239374144354932303439303500
Serial Number: PI040297AD5I204905
Firmware Revision (raw): 323031362d30392d31345f6861776169692d32
Firmware Revision: 2016-09-14_hawaii-2
Hardware Revision (raw): 323031332d30372d32365f6861776169695072
Hardware Revision: 2013-07-26_hawaiiPr
Color (raw): 0400
Color: 4
Battery Level (raw): 5a
Battery Level: 90
Calibrated Soil Moisture (raw): c4803f42
Calibrated Soil Moisture: 47.8757476806641
Calibrated Air Temperature (raw): 9f979c41
Calibrated Air Temperature: 19.5740337371826
Calibrated Sunlight (raw): cdcccc3d
Calibrated Sunlight: 0.100000001490116
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Error: max retries reached (return 0)
Calibrated EA (raw): 0
Calibrated EA: 0
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Error: max retries reached (return 0)
Calibrated ECB (raw): 0
Calibrated ECB: 0
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Read characteristics by UUID failed: No attribute found within the given range
Error: max retries reached (return 0)
Calibrated EC Porous (raw): 0
Calibrated EC Porous: 0
Sunlight (raw): ffff
Sunlight: 0.129691229016778
Soil Electrical Conductivity (raw): 1805
Soil Electrical Conductivity: 7.3630717108978
Soil Temperature (raw): aa02
Soil Temperature: 20.18114432992
Air Temperature (raw): 8a02
Air Temperature: 18.634035
Soil Moisture (raw): fa01
Soil Moisture: 34.9378398850164



Ich habe auch noch mal etwas recherchiert. Es ist leider tatsächlich so, dass man nur die Calibrated Werte verwenden kann, weil diese direkt den Werten in der App entsprechen. Alle anderen Werte werden erst auf dem Server umgerechnet. Parrot macht aus dem Wie leider ein Geheimnis, so dass man hier nur irgendwelche Berechnungen im Web findet, die sich jemand aus den Fingern gesogen hat und deshalb relativ ungenau sein dürften. Übrig bleiben deshalb nur:

Batterie
Feuchtigkeit
Licht
Lufttemperatur
und noch ein paar andere unwichtige wie Name, Firmware, Farbe usw.

Den Düngergehalt zum Beispiel bekommt man nur als Raw Wert. Und da niemand die Formel zur Umrechnung kennt, ist der relativ nutzlos. Vielleicht gibt es aber auch neuere Sensoren als meinen, die den Düngergehalt auch als Calibrated Wert abgelegt haben. Laut Parrot Doku soll es das geben, nur mein Sensor spuckt da nix aus.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 26 Januar 2017, 22:49:18
Zitat von: CoolTux am 23 Januar 2017, 04:36:49
Mist hast Recht. Habe eben erst den Anfang mir mal genau angeschaut.
Das sind dann aber ne Menge Anfragen, die arme Batterie  :)

Die Daten einzeln aus den Characteristics zu lesen ist in der Tat nicht sehr höflich ggü der Batterie  ;D  Parrot sieht dafür den History Service vor, über den man alle seit dem letzten Auslesen im viertelstunden Takt angefallenen Messdaten beschaffen kann. In den Advertising Daten kann man sogar sehen, ob überhaupt neue Daten hinzugekommen sind, was die Sache noch batterieschonender gestaltet.

Das Problem dabei wie auch mumpitzstuff schreibt: Die Daten liegen in der History im Rohformat vor und sind nicht wie die Life-Daten in physikalische Größen umgerechnet. Das Format ist nicht dokumentiert, entsprechende Anfragen im Parrot-Forum wurden bislang geblockt. Für eine Umrechnung der Rohdaten muss also ein wenig Reverse Engineering herhalten.

Dazu habe ich auf Github mit https://github.com/gandy92/pyflowerpower (https://github.com/gandy92/pyflowerpower) ein paar Python-Scripten eingestellt, um mit den Flower Power Sensoren ein wenig spielen zu können. Auslesen des History Buffers funktioniert und auch die Datenstruktur ist schon gut verstanden. Für den Reverse-Engineering Teil gibt es ein Script, das die Rohdaten mit den umgerechneten Sensordaten aus der Cloud anreichert (alte und neue API).

Dadurch lassen sich leicht die umgerechneten Daten gegen Rohdaten plotten und für einfache 1:1 Relationen konnte ich auch geeignete Funktionen finden (Temperatur, Licht und Batterie). Wie Bodenfeuchtigkeit und Düngergehalt zu berechnen sind, ist im Moment noch unklar, aber vielleicht findet sich jemand, der hier mithelfen kann. Wenn uns das gelingt, steht einer batterieschonenden Cloud-freien Lösung für FHEM nichts im Weg.

Grüße,
Andy.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 26 Januar 2017, 23:14:16
Wow interessant. Das hatte ich noch nicht gefunden bei meiner Suche...

Grundsätzlich ist es richtig, dass es Batterieschonender ist die History Werte auszulesen, wenn man wirklich alle Werte haben möchte. Aber mal ganz ehrlich, brauche ich von einem Pflanzensensor alle 15min Werte? Hinzu kommt, dass ich die Daten ebenfalls scheibchenweise in 20Byte Blöcken runterladen muss bzw. den Protokolloverhead mitschleppe. Mir persönlich würde es ausreichen 3-4x am Tag die Werte zu erhalten und dann relativiert sich der Batterieverbrauch glaube ich wieder. Weiterhin würde ich lieber auf die kalibrierten Werte setzen, da diese wirklich richtig sind. Aus den Rohwerten die richtigen Werte rauslesen zu wollen, würde bedeuten, dass man die gesamte Skala aller Werte schrittweise abfahren müsste, was nicht unbedingt einfach ist. Hinzu kommt, dass die Sensoren mit hoher Wahrscheinlichkeit kalibriert sind. Solange man diese Werte nicht kennt, ist jede Berechnung sinnlos (siehe dazu die UUID: FE01 (calibration service)).

Wenn man sich beim Auslesen auf 4 Werte beschränkt (batterie, licht (fragwürdig ob man das braucht in der wohnung, das sind eh mondwerte...), feuchtigkeit, temperatur), dann ist der Aufwand ebenfalls überschaubar. Man könnte weiterhin verschiedene Intervalle definieren, um den Aufwand weiterhin zu senken.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 27 Januar 2017, 08:21:45
Konntest Du bei Deiner Suche nicht finden, hab das erst gestern auf Github eingestellt, nachdem ich endlich den Zugriff auf den neuen Cloud-Dienst eingebaut habe.

Sicher, die Anforderungen und Vorstellungen unterscheiden sich von User zu User. Ich für meinen Teil finde die 1/4-stündliche Samplingrate nicht so schlecht und der Sensor nimmt die Daten ohnehin, warum sie also nicht auslesen und weiterverarbeiten. Wenn z.B. in den ersten 2-3 Stunden nach dem Gießen die gemessene Bodenfeuchtigkeit nicht wieder deutlich abnimmt, deutet das auf Staunässe hin, manche Pflanzen wollen dann schnelle Hilfe. Kurzum, ich will den vollen Funktionsumfang der Sensoren nutzen können, dazu gehören die History-Daten.

Aktuell lese ich die wie viele andere auch per cloud-bridge aus, die sie dann umgehend in die Cloud pumpt. Von Cloud-Diensten möchte ich aber aus verschiedenen Gründen unabhängig sein, hierher kommt der Wunsch, die History-Daten selbst konvertieren zu können.

Der Calibration Service hat mich zunächst auch schwer beeindruckt, bis ich gesehen habe, dass der alte Cloud-Dienst die Temperatur-Werte für alle Sensoren schon mal identisch umrechnet. Ob das auch der neue Cloud-Service so macht, habe ich mir noch nicht angesehen. Zumindest in den ersten Wochen lieferte der ja z.T. andere Werte als der Alte, den ich immer noch parallel mit Daten füttere. Für die Umrechnung des Lichtwertes hingegen wird eine sensortypischer Kalibrierwert benötigt, der sich aber bequem einmalig aus den Life-Daten des betreffenden Sensors berechnen lässt, ohne die Werte aus dem Calibration Service verstanden haben zu müssen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 28 Januar 2017, 00:29:19
In dem Skript von mir sind für die Temperaturen und auch Licht Formeln hinterlegt, die bereits im Netz rum schwirren und auch relativ gut die Werte aus der Cloud treffen. Die beiden entscheidenden Werte wie Feuchtigkeit und Dünger liefern allerdings Mondwerte. Die Formel die ich im Netz gefunden habe stimmt bei mir gar nicht. Um wirklich verwertbare Werte zu bekommen, bräuchte man mind. 2 Sensoren in einem Topf ohne Pflanze, den man mit Folie umwickelt und dann alle 15 min. ein wenig Wasser zuführt und den Rohwert und den Wert aus der Cloud ermittelt (liefert die Cloud Nachkommawerte, welche die App nur nicht anzeigt?). Um genügend Werte zu bekommen sitzt man dann aber etliche Stunden vor dem Topf. Wenn man die beiden Sensoren miteinander vergleicht, findet man vielleicht auch den richtigen Kalibrierwert raus. Beim Dünger wirds dann noch komplizierter. Hier muss man, wenn man der Literatur trauen kann, alles auf 25 Grad normieren. Schätzungsweise geht auch noch die Feuchtigkeit mit ein. Keine Ahnung wie man das ermitteln soll.
Mir fällt auch grad ein, dass es auch interessant wäre die Werte zu ermitteln wenn sich der Sensor nicht in der Erde befindet, also vollkommen trocken ist. Vielleicht erhält man dann ja die kalibrierwerte direkt. Ach und bei der Feuchtigkeit hat man ja noch den kalibrierten wert. Wenn man den kalibrierten und unkalibrierten wert in einer Schleife ausließt und den Sensor mit extrem langsamen Bewegungen im Wasser unterschiedlich eintaucht, müsste man die Kurve ebenfalls nachstellen können (hoffe der Sensor misst kapazitiv)

Ich hab zwar extrem wenig Zeit aber ich versuche mal mit so wenig Readings wie möglich ein fhem Modul zu machen (wird noch etwas dauern) und dann schaue ich mir den Batteriverbrauch mal genau an.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: gandy am 28 Januar 2017, 22:08:14
Zwischenzeitlich habe ich mal die historischen Daten meiner 8 Sensoren verglichen: Die Daten, die jeweils vom alten und vom neuen Cloud-Dienst ausgeliefert werden, stimmen bis auf einen minimalen Unterschied überein.

Demgegenüber weichen sie aber deutlich von den historischen Daten ab, die in der App angezeigt werden, und auch von den Life-Daten. So bekomme ich zB für die Bodenfeuchte eines der Sensoren:
Augenscheinlich nimmt hier die App nochmal eine Umrechnung der in der Cloud gespeicherten Werte vor, kommt aber nicht auf die gleichen 'kalibrierten' Werte wie der Sensor selbst.

Zwei meiner Sensoren stecken seit einiger Zeit dicht nebeneinander im selben Topf, die Cloud-Daten der beiden zeigen aber unterschiedliche Werte für Temperatur und Bodenfeuchtigkeit. Im nächsten Schritt versuche ich, die Life-Daten und die App-Daten miteinander zu vergleichen.


Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 29 Januar 2017, 00:55:59
Ich vermute, dass der erste Wert der Rohwert ist, ohne die Calibrierung des Sensors mit einzubeziehen. Der aktuelle Wert wird wahrscheinlich einfach gerundet. Warum der Datenplot anders ist verstehe ich allerdings auch nicht. Es könnte höchstens sein, dass der Zeitpunkt der Messung anders war, da die historischen Werte ja in einem bestimmten Zeitraster aufgezeichnet werden. Beim Life Service springt bei mir die Anzeige auch manchmal um 1-2 Prozent in der App hin und her.

Sind bei den beiden Sensoren die nebeneinander stehen nur die Cloud Werte anders und die Werte vom Life Service ähnlich? Wenn ja, dann werden tatsächlich die unkalibrierten Werte in der Cloud hinterlegt.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 30 Januar 2017, 23:10:50
Hallo,

ich habe das Ganze mal in eine erste Version eines fhem Moduls gegossen. Ich muss darauf hinweisen, dass noch einige Fehler enthalten sein können. Ich habe bisher nur das Anlegen des Devices und das Verändern des Intervalls getestet. Ich würde mich freuen, wenn das der ein oder andere mal testen könnte:

https://github.com/mumpitzstuff/fhem-ParrotFlowerPower (https://github.com/mumpitzstuff/fhem-ParrotFlowerPower)

Wenn es Fehler oder Probleme gibt, dann könnt ihr im Device das Attribut verbose auf 5 setzen und dann im Logfile nachvollziehen, was genau innerhalb des Moduls passiert.

Viel Spaß.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 02 Februar 2017, 19:42:27
Hallo
ich habe einen Flower Power Sensor und möchte diesen gerne in Fhem einbinden.
Kannst du mir kurz erklären wie ich das machen muss ? Dann könnte ich dein Modul testen
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 02 Februar 2017, 21:02:13
Steht unten im Script drin...

1.) Skript auf den Rechner holen z.b. mit wget oder clonen mit git.
2.) Skript nach /opt/fhem/FHEM kopieren und mit chown fhem:dialout <file> dem entsprechenden User zuweisen.
3.) device anlegen: define <name> ParrotFlowerPower <mac des Sensors>
4.) Wenn du die Mac Adresse des Sensors nicht kennst, vorher "sudo hcitool lescan" eingeben und die Mac Adresse ermitteln.

Wenn du nicht weiter kommst, einfach noch mal fragen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 02 Februar 2017, 21:14:33
So sieht es dann bei mir aus (mit Statistics Modul). Funktioniert wunderbar. Ich lese aktuell den Sensor alle 15 Minuten aus, wobei der Akkustand in den letzten 3 Tagen um etwa 2% gesunken ist. Ich würde das Intervall auf mindestens 1h setzen oder höher, da sonst die Batterie recht schnell leer wird.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 05 Februar 2017, 00:55:16
Hallo,

die Installation wurde jetzt wesentlich vereinfacht und ist in 3 Schritten zu innerhalb von FEHM zu bewerkstelligen:

1.) update add http://raw.githubusercontent.com/mumpitzstuff/fhem-ParrotFlowerPower/master/controls_parrotflowerpower.txt
2.) update all
3.) shutdown restart


Danach kann ein neues Gerät einfach angelegt werden mit:

define MyPlant ParrotFlowerPower AA:BB:CC:DD:EE:FF


Das könnt ihr auch noch mal hier nachlesen:

https://github.com/mumpitzstuff/fhem-ParrotFlowerPower (https://github.com/mumpitzstuff/fhem-ParrotFlowerPower)


Ich hoffe in den nächsten Tagen kommen ein paar Rückmeldungen, sonst versuche ich mal einen neuen Beitrag aufzumachen...
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: hartenthaler am 06 Februar 2017, 01:08:55
installiert, ausprobiert, geht! Werde nun mal noch etwas weiter testen, aber erst einmal perfekt!
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 06 Februar 2017, 09:51:53
Oh schön, das freut mich. Anregungen bzw. Verbesserungsvorschläge sind gern gesehen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: Christoph am 07 Februar 2017, 00:32:41
Ich hab es auch mal installiert, funktioniert auf Anhieb  :) Danke

Hätte gleich noch ne Anregung, ich glaube es würde eine oder zwei Nachkommastellen reichen bei den Werten  ;)


Gruß Christoph
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: hive2015 am 07 Februar 2017, 10:32:23
Grossartiges Modul, vielen Dank dafür!!!
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 08 Februar 2017, 09:07:11
Bin dabei folgendes zu implementieren:

- konfigurierbare Anzahl von Nachkommastellen
- Attribute für Min/Max in denen für die Feuchtigkeit und das Licht Grenzen pro Pflanze definiert werden können. Dann gibt's ein Userreading das ok/high/low ausspuckt. Darauf lässt sich dann Pflanzenübergreifend ein Notify erstellen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 09 Februar 2017, 00:31:42
Hallo
wie bekomm ich die Mac des Sensors heraus ?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: CoolTux am 09 Februar 2017, 00:34:52
hcitool lescan
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: andi11 am 09 Februar 2017, 06:20:56
Zitat von: mumpitzstuff am 08 Februar 2017, 09:07:11
Bin dabei folgendes zu implementieren:

- konfigurierbare Anzahl von Nachkommastellen
- Attribute für Min/Max in denen für die Feuchtigkeit und das Licht Grenzen pro Pflanze definiert werden können. Dann gibt's ein Userreading das ok/high/low ausspuckt. Darauf lässt sich dann Pflanzenübergreifend ein Notify erstellen.
Hast du gesehen dass hier auch jemand an einem "Überwachungsmodul" für Pflanzen arbeitet?
https://forum.fhem.de/index.php/topic,65836.msg573537.html#msg573537
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 09 Februar 2017, 10:38:52
Zitat von: emilio20 am 09 Februar 2017, 00:31:42
Hallo
wie bekomm ich die Mac des Sensors heraus ?

Wenn du ein Android Handy hast, kannst du auch z.B. die App BLE Scanner installieren und nach deinen Sensoren suchen. Dort findest du die MAC Adresse ebenfalls.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 09 Februar 2017, 11:04:16
Das Gardener Modul habe ich gesehen und mir auch angeschaut. Im Prinzip kann man das On Top installieren, denn selbst fragt es die Werte vom Sensor nicht ab. Es bietet dir im Prinzip ein Berechnung von Statistik Werten und informiert dich per Mail, wenn ein Limit erreicht ist, z.B. zu wenig Wasser. Mir persönlich sind dort zu viele Abhängigkeiten enthalten was Perl Module angeht und auch FHEM Module (z.b. um die Mails zu verschicken).

Ich verwende momentan das Statistics Modul in FHEM, um mir Statistische Werte zu berechnen (nehme ich mal in der Beschreibung mit auf wie das geht). Und wenn ich die angedachten Dinge implementiere, dann kann man sich mit einem einfachen Notify informieren lassen, wenn einer der Pflanzen irgendwas fehlen sollte. Das Gardener Modul bietet momentan glaube ich nur hardcoded Werte für die Limits und verschickt auch nur Mails. Mit einem Notify wäre man völlig frei in der Wahl des Tools (Mail, Sms, Push Notification usw.).
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: CoolTux am 09 Februar 2017, 11:31:13
Heute mal ein Vorschlag von mir, nicht das ich immer nur von Dir profitiere.

Wenn Du auf Events Deines eigenen Modules reagieren möchtest, zum Beispiel wird der Wert der Wässerung geschrieben und Du möchtest diesen nun mit einem als Attribut vergeben Wert als unterste Schwelle vergleichen, so kann man eine NotifyFn funktion ins Modul bauen. Hier kann man dann auch gleich als Ergebnis der Auswertung und bei positiv Wert (muss gegossen werden) eine neues Reading setzen (gießen) oder einfach nur einen Event erzeugen auf den dann ein User Notify reagieren kann.
Sofern noch nicht geschehen empfehle ich Dir Dich in die Developer Doku zu FHEM ein zu lesen. Dein Perlcode ist gut aber wenn Du für FHEM entwickelst dann ist die Empfehlung Dich weitestgehend an die Guidline zu richten.


Grüße
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 09 Februar 2017, 12:43:38
Erwischt. Ich muss gestehen, dass ich noch nicht einen Blick in die Doku geworfen habe. Das liegt zum Teil an meinem Beruf, der mich gelehrt hat: vertraue dem Code aber niemals der Doku.

Verständnisfrage: Welchen Vorteil hat es eine Notification auszulösen und dann über die Callback Funktion das Reading zu setzen? Wenn ich sowieso den Wert auslesen und direkt vergleichen kann, dann kann ich doch direkt das Reading setzen und FHEM lösst dann ein Event aus, weil sich das Reading geändert hat. Jeder Anwender kann dann ein eigenes Notify erzeugen und auf solche Events reagieren. Für mein Empfinden ist der Weg direkter. Beim Xiaomi Sensor machst du das z.b. bei dem Battery Reading.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: CoolTux am 09 Februar 2017, 13:52:08
Zitat von: mumpitzstuff am 09 Februar 2017, 12:43:38
Erwischt. Ich muss gestehen, dass ich noch nicht einen Blick in die Doku geworfen habe. Das liegt zum Teil an meinem Beruf, der mich gelehrt hat: vertraue dem Code aber niemals der Doku.

Verständnisfrage: Welchen Vorteil hat es eine Notification auszulösen und dann über die Callback Funktion das Reading zu setzen? Wenn ich sowieso den Wert auslesen und direkt vergleichen kann, dann kann ich doch direkt das Reading setzen und FHEM lösst dann ein Event aus, weil sich das Reading geändert hat. Jeder Anwender kann dann ein eigenes Notify erzeugen und auf solche Events reagieren. Für mein Empfinden ist der Weg direkter. Beim Xiaomi Sensor machst du das z.b. bei dem Battery Reading.

Ja das Thema hatte ich letztens erst. Lach. Du hast Recht, der Weg wäre direkter. Aber nicht unbedingt Strukturiert.
Man muß schauen wie viele Daten man vergleichen will und was man genau machen will. Das mit dem Batterie Reading ist ja nur eine einzige Umsetzung. Das geht ja noch.
Du jedoch willst mehrere Daten vergleichen und entsprechend reagieren. Das mit dem Reading setzen war nur so eine Idee. Man muß noch nicht mal ein Reading setzen, Du kannst auch einfach nur ein Event erzeugen, also ganz ohne Reading.
Beispiel:
Es kommen Daten die Du vergleichst. Der Feuchtigkeitsgehalt Deiner Pflanze ist laut Attribut minFeucht zu gering. Nun setzt Du einfach ein Event ab (giessen). Wichtig ist das Du das Event für Deine User Dokumentierst, da ja nicht für den User ersichtlich.

Thema Doku. Die Doku ist wirklich Klasse, der Markus hat sich da Mega Mühe gegeben und es ist verständlich geworden. Es ist wichtig zu verstehen was genau einzelne Fn machen.
Das Problem hatte ich letztens erst, der Modulauthor hat sich viel Mühe gegeben sein Perlcode zu schreiben und das ganze in ein abkopiertes Modul ein zu fügen. Das Ende vom Lied war das er nicht wusste was FHEM spezifische Funktionen machen und somit hat er zwar eine Undef Funktion im Initial mit an gegeben, aber die eigentliche Funktion fehlte vollends. Somit ist FHEM in den Tod gegangen wenn man ein Device löschen wollte.
Dann hat er ein TCP Socket aufgebaut und daraus gelesen. Sein Aufbau plus Lesen hat FHEM für diesen Moment blockiert. Das war zwar nur ne Sekunde oder so, aber es hat nunmal blockiert.
Für sowas gibt es schon fertige FHEM Funktionen welche man nutzen sollte. So wird ein Socket zum Beispiel an einer select Liste übergeben und wenn Daten bereit stehen wird die ReadFn aufgerufen um die Daten zu holen. Alles ganz ohne blockieren.




Grüße
Leon
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 13 Februar 2017, 00:16:33
Die aktuelle Beta liegt hier ab, falls es jemand schon mal vorab testen möchte:

https://github.com/mumpitzstuff/fhem-ParrotFlowerPower/tree/devel (https://github.com/mumpitzstuff/fhem-ParrotFlowerPower/tree/devel)

Ich lasse das ansonsten noch ein paar Tage laufen und teste die neuen Features systematisch durch, bevor ich die Änderungen mit dem Master Branch merge.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 13 Februar 2017, 21:28:29
Frage: Besteht Interesse an einem Rohwert für den Dünger im Boden? Das wäre aber nur ein Rohwert und es gibt keinerlei Information dazu wie man den umrechnet. Zudem ist der Wert Temperaturabhängig und wahrscheinlich auch Feuchtigkeitsabhängig. Ich hatte den Wert deshalb erst einmal weg gelassen, da er meiner Meinung nach wenig bringt. Selbst in der App muss man gefühlt jeden Tag in den Blumenkübel pieseln, um den Wert im Normbereich zu halten.
Wenn jemand trotzdem dringenden Bedarf sieht, bitte melden. Zur Not nehme ich den optional rein, dann kann sich jeder selbst aussuchen, ob er den Wert braucht oder nicht. Das Auslesen geht halt auf die Batterielaufzeit...
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: hartenthaler am 14 Februar 2017, 22:47:14
Ich denke, dass ein Düngerrohwert, den man kaum interpretieren kann, keinen Nutzen bringt. Der Düngerwert ist eh der zeitlich am wenigsten veränderliche und so eher nicht so wichtig; ich kann ja immer mal wieder auch in der App nachsehen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 15 Februar 2017, 18:37:22
Hallo
ich habe ein Raspberr pi 2 und habe mir folgenden BT Stick Installiert ,,Logilink BT0015 Bluetooth Adapter

Folgendes Ergebnis erhalte ich wenn ich scanne

pi@raspberrypi ~ $ sudo service bluetooth status
[ ok ] bluetooth is running.
pi@raspberrypi ~ $ hcitool scan
Scanning ...
        CS:B1:1A:BD:60:DF       [TV] Samsung 7 Series (65)

Der Pflanzensensor ist nicht dabei.

Ich habe das ganze schon mal mit einen Raspberry pi 3 versucht. Hiermit habe ich den Sensor gefunden. Leider musste ich wieder auf das Raspberry pi 2 umsteigen das sich Enocean, Z-Wave und BT nicht vertrgaen haben.

Hat jemand eine Lösung hierzu ?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: andi11 am 15 Februar 2017, 18:46:37
ist der Empfang vielleicht einfach schlechter? Kannst du mit dem Sensor näher zum Dongle?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 15 Februar 2017, 19:01:39
Habe den Sensor direkt neben dem raspberry liegen, das kann es nicht sein.
Geht es bei deinem Pi2 ? Wenn ja welchen BT Stick verwendest du ?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: andi11 am 15 Februar 2017, 19:11:12
LogiLink BT0015 @ Raspi 2 mit Jezzy

Allerdings muss das Kommando hcitool lescan sein!
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 15 Februar 2017, 19:16:54
Ich habe

PRETTY_NAME="Raspbian GNU/Linux 7 (wheezy)"
NAME="Raspbian GNU/Linux"
VERSION_ID="7"
VERSION="7 (wheezy)"
ID=raspbian
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"


Bei hcitool lescan erhalte ich

pi@raspberrypi ~ $ hcitool lescan
Set scan parameters failed: Operation not permitted
pi@raspberrypi ~ $



Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: andi11 am 15 Februar 2017, 19:19:24
ok das ist gemein. Das bluez Packet ist sehr alt als aus den originalen Raspi Quellen. Vorallem bei wheezy.
Ich hab letztens erst ewig rumgefrickelt um es mit wheezy zum laufen zu bekommen, am Ende dann aber auf jezzy upgegradet.

Der Befehl heist "hcitool lescan" um ein Bluetooth LE Gerät zu finden, wie der Pflanzensensor z.b. eines ist. Wenn dein System den nicht kennt, ist vermutlich auch das bluez Packet sehr alt.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 15 Februar 2017, 19:22:14
Ok
also müsse ich auf jezzy upgegradet.
Werde woll das ganze System neu aufsetzen müssen oder ?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: andi11 am 15 Februar 2017, 19:23:43
Ne so schlimm ist das nicht.  Auser du hast jede Menge Sonderkram drauf....
Ich habe es nach https://www.datenreise.de/raspberry-pi-raspbian-linux-wheezy-jessie-upgrade/ gemacht.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 15 Februar 2017, 19:25:30
Ok Danke,
werde ich gleich mal versuchen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 15 Februar 2017, 21:49:04
Hast du zuerst mal dein System auf den aktuellen Stand gebracht?


sudo apt-get update
sudo apt-get upgrade


Ansonsten habe ich mein System ebenfalls auf Jessie geupdated. Hat einwandfrei funktioniert. Du solltest ebenfalls gucken, dass du alle notwendigen Pakete installiert hast.

https://klenzel.de/3345 (https://klenzel.de/3345)

Dann sollte auch ein sudo hcitool lescan funktionieren...
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 15 Februar 2017, 22:36:25
Version 0.0.3 des Moduls ist verfügbar mit folgenden Änderungen:


Das Plugin selbst findet ihr hier: https://github.com/mumpitzstuff/fhem-ParrotFlowerPower (https://github.com/mumpitzstuff/fhem-ParrotFlowerPower)
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: andi11 am 16 Februar 2017, 07:03:00
sehr schick.
Ich würde mir ja wünschen dass es am Ende ein extra Pflanzenüberwachungsmodul gibt.
Nur mit min/max Schwellen kann man die Pflanzen oftmals garnicht sinnvoll überwachen.
Daher hab ich ja die Diskussion hier gestartet
https://forum.fhem.de/index.php/topic,65836.0.html

Ich verwende momentan statistics usw um die Daten besser auszuwerten, aber das wird pro Pflanze ein ganz schönes gewurschdel.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 16 Februar 2017, 09:50:39
Die min/max Schwellen sind dafür da, für jede Pflanze individuell eine Grenze festzulegen. Das muss für jede Pflanze separat gemacht werden, außer man hat eine Monokultur in seiner Wohnung. Diese kannst du dann im Prinzip mit einem Notify abfragen und dich z.B. per Mail informieren lassen, wenn ein Wert bei einer Pflanze unterschritten oder überschritten wird. Darüber hinaus kann man weitere Dinge machen wie z.B. das von dir vorgeschlagene Statistik Modul. Ich bin inzwischen davon wieder weg, weil die Daten bei jedem FHEM Neustart zurückgesetzt werden bzw. ich oft Fehler von diesem Modul im Logfile gefunden habe.
Prinzipiell kann man Auswertungen in allen erdenklichen Formen anwenden. Das in einem Modul abzubilden wird kaum möglich sein, dazu sind die Vorstellungen der einzelnen User zu unterschiedlich. Mir z.B. würde auch eine Abfrage der Werte am Tag ausreichen, wenn nur mein Plot dann nicht so blöd aussehen würde. ;) Ich habe das Intervall deshalb aktuell auf 1h stehen.
Hinzu kommt, dass die Werte von solchen Sensoren auch nicht super genau sind und man es deshalb bei der Auswertung auch nicht übertreiben sollte. Allein die Tatsache, dass der Sensor niemals die Zusammensetzung des Bodens kennt, sorgt dafür, dass die angezeigten Werte bestenfalls Näherungswerte darstellen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 16 Februar 2017, 17:55:22
Hallo
endlich läuft mein Pflanzensensor nachdem ich ewig damit verbracht haben BT einzurichten. Für alle die eine ähnliches Problem haben. Ich habe es nicht hin bekommen auf einem Raspberry pi 3 mit Enocean Modul und Z-Wave Stick BT zum Laufen zu bekommen.
Habe jetzt mein altes Raspberry pi 2 mit Enocean Modul, Z-Wave Stick und BT-Stick mit Jessy zum Laufen bekommen
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 18 Februar 2017, 12:04:06
Hallo
auf was bezieht sich der Lux Wert? Das Aktuelle Lux Wert am Sensor ist bei mir wesentlich höher. Auch der Durchschnittswert ist ein anderer.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 18 Februar 2017, 18:12:26
Das ist der Wert der sich durch die Umrechnung von mol/m*m/d in lux ergibt. Wie das parrot auf ihrem Server machen ist unbekannt. Den rohwert anzuzeigen macht auch wenig Sinn, das wäre ein wert zwischen 0-20 oder so.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 18 Februar 2017, 18:34:27
Kannst du mir das genauer erklären ?
Auf der App werden z.b 1500 Lux angezeigt. In fhem an anderer Wert.
Was bedeutet der Wert genau ?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 18 Februar 2017, 19:28:05
Ich such die Grundlagen noch mal raus. Kannst du mir vielleicht mal 4-5 Wertepaare geben? Jeweils der Wert vom fhem Modul und den der app? Mich würde interessieren wie weit die Werte auseinander liegen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 18 Februar 2017, 20:14:05
Mach ich morgen wenn wieder Tageslicht da ist.
Aktuell habe ich in der APP 0 LUX und in Fhem 125LUX
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 18 Februar 2017, 22:03:11
Es kann sein, das ich die 125 raus rechnen muss, da der Rohwert nie unter 0,1 fällt, was nach der Umrechnung den 125 entspricht. Wenn die Abweichung konstant ist, dann kann ich das raus rechnen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 19 Februar 2017, 15:37:49
Hallo
hier mal eine paar Wertepaare, jedoch kann ich App und Fhem nicht gleichzeitig Daten lesen lassen. Die Werte sind nur ca. Werte

App      Fhem
0         125
650      174
1000   268
2100   547
3120   830

Schau dir mal die Kumulierte Kurve an


Damit wie Werte bei mir stimmen würden müsste ich deinen Wert mit 268 multiplizieren.
Jedoch muss noch die multiplizieren bei 0 Lux angepasst werden
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 19 Februar 2017, 20:55:53
Danke für die Analyse. Im Prinzip könnte ich jetzt eine Regressionsfunktion berechnen und drüber legen. Dann müssten die Werte in etwa denen der App entsprechen. Ich mache mir allerdings Sorgen, dass die Werte dann in höheren Bereichen trotzdem völlig daneben liegen. Sonnenlicht geht bis etwa 120000 Lux... ich glaube deshalb, dass ein Faktor zwar relativ ungenau ist, aber wohl über das gesamte Spektrum den besten Wert liefert.


y=3.742962546 x + 496.8885739 x / (x + 3.714614273)

Das hier würde den genauesten Wert liefern, wobei x = fhem Wert - 125 ist. Ich hab nur keine Ahnung wohin der in höheren Bereichen abdriftet.

Als Faktor würde sich das anbieten:

y=4.671692692 x

Das ist aber sehr ungenau, wobei deine Werte ebenfalls nicht genau sind, weil Parrot App Werte und Fhem Werte nicht exakt synchron aufgenommen wurden.

Hier wird auch noch eine andere Formel vorgeschlagen: https://github.com/Parrot-Developers/node-flower-power/blob/master/index.js (https://github.com/Parrot-Developers/node-flower-power/blob/master/index.js)

Ich denke mal noch etwas drüber nach und würde dir dann mal eine Testversion zukommen lassen.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 22 Februar 2017, 22:38:24
Es hat leider etwas gedauert, aber ich hatte ziemlich viel um die Ohren...

Ich habe jetzt im Development branch mal die neue lux Berechnung auf Basis der von mir letztens geposteten Regressionsfunktion abgelegt. Kannst du die dir mal manuell runterladen und die verhandene Version ersetzen und gucken, ob das in etwa dem entspricht, was dir die App raus gibt?


Zitat von: emilio20 am 19 Februar 2017, 15:37:49
Hallo
hier mal eine paar Wertepaare, jedoch kann ich App und Fhem nicht gleichzeitig Daten lesen lassen. Die Werte sind nur ca. Werte

App      Fhem
0         125
650      174
1000   268
2100   547
3120   830

Schau dir mal die Kumulierte Kurve an


Damit wie Werte bei mir stimmen würden müsste ich deinen Wert mit 268 multiplizieren.
Jedoch muss noch die multiplizieren bei 0 Lux angepasst werden
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: emilio_35 am 26 Februar 2017, 11:48:22
Wi find ich das und was muss ich machen um zu testen ?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 26 Februar 2017, 12:39:06
Ups den Link vergessen:

https://github.com/mumpitzstuff/fhem-ParrotFlowerPower/tree/devel/FHEM (https://github.com/mumpitzstuff/fhem-ParrotFlowerPower/tree/devel/FHEM)

Runterladen und die Version in deinem FHEM Verzeichnis ersetzen. Eventuell mit chown wieder den User und die Gruppe ändern. Modul dann reloaden oder shutdown restart machen in FHEM.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 06 März 2017, 22:32:18
Die Version mit der neuen Berechnung für den Sunlight Wert ist jetzt online. Ich bin aßerdem umgezogen zu folgendem Beitrag: https://forum.fhem.de/index.php/topic,68568.0.html (https://forum.fhem.de/index.php/topic,68568.0.html)
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: connormcl am 16 Juli 2017, 22:15:01
Gibt es irgendwo eine Übersicht mit FHEM-kompatiblen Pflanzensensoren, die nicht wie dieser hier den Boden und die Pflanze vergiften?
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 16 Juli 2017, 23:59:04
Weshalb sollte der den Boden vergiften? Meine Pflanzen erfreuen sich bester Gesundheit.

Von FHEM wird meines Erachtens nur noch der Xiaomi Sensor unterstützt. Weitere sind zumindest mir nicht bekannt. Das Ding verwendet allerdings das selbe Messprinzip.
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: connormcl am 27 Juli 2017, 22:15:56
Zitat von: mumpitzstuff am 16 Juli 2017, 23:59:04
Weshalb sollte der den Boden vergiften? Meine Pflanzen erfreuen sich bester Gesundheit.

Von FHEM wird meines Erachtens nur noch der Xiaomi Sensor unterstützt. Weitere sind zumindest mir nicht bekannt. Das Ding verwendet allerdings das selbe Messprinzip.

In FHEM unterstützte Pflanzensensoren gibt es einige...Xiaomi, Opus XT, Parrot Flower, Selbstbau mit nanoCUL usw. usf. mit entsprechenden Modulen.

Beim Xiaomi steht dabei, dass er Kapazitiv messen würde...das wäre nicht dasselbe Messprinzip. Bei resistiven Sensoren findet Elektrolyse statt und sorgt für chemische Reaktionen an Elektroden und Material im Boden, wobei die erzeugten Stoffe von der Pflanze aufgenommen werden. Ausserdem korrodieren die Elektroden sehr schnell.

Deshalb gibt es ja extra den Vegetronix. Wollte nur wissen, ob es soetwas in fertig mit Funk für FHEM gibt, da der Vegetronix kabelgebunden ist. Wie gesagt steht es bei der Spezifikation für die Xiaomi/HuaHuaCaoCao dabei, aber das muss nicht stimmen...deshalb die Frage...
Titel: Antw:Pflanzensensor Parrot Flower Power in FHEM // BT4.0
Beitrag von: mumpitzstuff am 27 Juli 2017, 23:21:23
Soweit ich informiert bin, findet die Feuchtigkeitsmessung kapazitiv statt. Die beiden Kontakte sind meines erachtens für die Analyse des Düngers da. Und ja du hast recht, wenn hierfür eine Art Gleichstrom verwendet wird, korrodiert mindestens 1 Kontakt. Es gibt aber auch hierfür Methoden das zu verhindern, indem zum Beispiel die Pole gewechselt werden. Was genau bei den einzelnen Sensoren gemacht wird, ist meist nicht bekannt. Wenn du was ganz einfaches haben willst, was nur kapazitiv misst und mit Ton funktioniert, dann such mal nach chirp. Das Ding ist eigentlich auch ganz cool und funktioniert ohne fhem.