Pflanzensensor Parrot Flower Power in FHEM // BT4.0

Begonnen von snowball7g, 25 Januar 2015, 18:51:31

Vorheriges Thema - Nächstes Thema

volschin

Nein, aus meiner Sicht nicht, da Perl keinen brauchbaren BLE Stack hat. Also nur mit Node.js dazwischen.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

thomaso

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 :(
Raspberry Pi 3
CUL USB Stick
FHEM mit HM_SEC_SC2, HM-Sen-MDIR-WM55, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SIR-WM
MiLight WLAN Modul + paar RGBW LED Lampen

volschin

Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

thomaso

Raspberry Pi 3
CUL USB Stick
FHEM mit HM_SEC_SC2, HM-Sen-MDIR-WM55, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SIR-WM
MiLight WLAN Modul + paar RGBW LED Lampen

HolyMoly

FHEM auf Raspi2 & Radxa Rock

volschin

Bring mal dein Node auf eine akzeptable Version.


Sent from my iPhone using Tapatalk
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

thomaso

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 :(?
Raspberry Pi 3
CUL USB Stick
FHEM mit HM_SEC_SC2, HM-Sen-MDIR-WM55, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SIR-WM
MiLight WLAN Modul + paar RGBW LED Lampen

thomaso

Raspberry Pi 3
CUL USB Stick
FHEM mit HM_SEC_SC2, HM-Sen-MDIR-WM55, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SIR-WM
MiLight WLAN Modul + paar RGBW LED Lampen

HolyMoly

ich würde das Paket node-gyp nochmal reinstallen...
FHEM auf Raspi2 & Radxa Rock

thomaso

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
Raspberry Pi 3
CUL USB Stick
FHEM mit HM_SEC_SC2, HM-Sen-MDIR-WM55, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SIR-WM
MiLight WLAN Modul + paar RGBW LED Lampen

volschin

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.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

thomaso

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?
Raspberry Pi 3
CUL USB Stick
FHEM mit HM_SEC_SC2, HM-Sen-MDIR-WM55, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SIR-WM
MiLight WLAN Modul + paar RGBW LED Lampen

hartenthaler

fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

gandy

#43
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).

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).

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
fhem (svn) auf i5-4210U NUC
2x HMLAN, 19x HM-SEC-RHS, 15x HM-LC-Bl1PBU-FM, etc.
ODYS Neron Tablet / Android 4.2
Samsung Galaxy Tab 2 10.1N / Android 4.1.2
Samsung Galaxy Note / Android 6.0.1

emilio_35

#44
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
Fhem Raspberry Pi, SPS, S7 315PN,VU+