Modul für Parrot Flower Power

Begonnen von db85, 09 August 2016, 21:26:18

Vorheriges Thema - Nächstes Thema

db85

Zitat von: Acrusty am 04 November 2016, 17:17:16
irgendwie steh ich auf dem schlauch. ich versuch die Bridge zum Laufen zu kriegen. bis zum Punkt mir die Bluetoothgeräte in der Umgebung angezeigt werden gehts. ab dann kapier ich nichts mehr. was muss wohin kopiert werden damit ./install durchgeführt werden kann??

wär super wenn mir da jemand helfen könnte

Ich nehme mal an du meinst von folgender Bridge:
https://github.com/Parrot-Developers/node-flower-bridge/tree/v2

Hier ist erst einmal wichtig, dass du den Branch V2 nimmst um die neue Api verwenden zu können. Ab besten klonst du das Repository mit git oder wenn du kein git installiert hast, dann lad die das Repository als zip herunter und entpacke das in den Order "/home/pi/node-flower-bridge". Leider muss der Pfad genau so heißen, da die mit der V2 irgendwas verbockt haben und den kompletten Pfad so in den Scripten hinterlegt haben :o

Wenn du dann laut Readme Step 1 und 2 erfolgreich ausgeführt hast, dann kannst du mit (unter Linux)
cd /home/pi/node-flower-bridge/
./install.sh
die Installation starten



MikeR

Hallöchen,

ich komme leider nicht weiter... Es liegt aber weder an der Node-Flower-Bridge von Parrot, noch am Modul von DB85...

Ich habe nun über's Handy einen komplett neuen Account angelegt und alle sieben FlowerPowerSticks dort eingefügt. Dann mit der gleichen neuen Mailadresse (die auf der ich den neuen Account angelegt habe, auch wenn das egal ist) auch die API-Zugriffe auf der Website "https://api-flower-power-pot.parrot.com/api_access/signup" beantragt und eine Mail erhalten, dies alles nun in der Datei  "credentials.json" eingetragen und die Bridge mit "./bridge display" gestartet. Nach einiger Zeit kommt ein "Invalid Client". Ebenso wenn ich in die URL ""https://api-flower-power-pot.parrot.com/user/v1/authenticate?grant_type=password&username..." die Daten eintrage und das Ganze im Browser aufrufe. Es ist echt zum verzweifeln.

Ich habe für beide Registrierungen eine Mail aus meiner eigenen Domain genommen, es handelt sich um keine Umlaut-Domain o.ä., aber der Domainname enthält Bindestriche, was natürlich laut Spezifikation auch zulässig ist, sonst hätte ich die Domain ja schlecht registrieren können. Hat evtl. Parrot damit aber ein Problem?

Gibt es für die API - Zugriffe eine Support Adresse oder ein Webformular. Einfach nur, damit dort mal jemand meine beiden Acounts ("virtueller Garten" und "API") überprüfen kann?

Gruß aus Wiesbaden
Mike

berniie

Hallo,
die Flower Power node js Quellen sind auf github zu finden. Hier der Link zu den issues des bridge Moduls
https://github.com/Parrot-Developers/node-flower-bridge/issues

Grüße,
Jörg

hartenthaler

@MikeR: also https://api-flower-power-pot.parrot.com/user/v1/authenticate?grant_type=password&username=x@x.de&password=xxx&client_id=x@x.de&client_secret=xxxxxxxxxx muss einen access token zurückliefern, sonst stimmt mit einem der vier Elemente was nicht. Das hat ja so mit der Bridge noch gar nichts zu tun. Wo kommt "nach einiger Zeit" das "Invalid Client"? In der Bridge oder im fhem Modul?
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, ...

hartenthaler

Ein Punkt im Modul ist noch offen: wenn ich ein individuelles stateFormat setze, dann wird dieses für die Pflanze auch angezeigt, aber beim nächsten Update der Werte wird wieder das Standard-stateFormat verwendet, was so nicht sein soll.
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, ...

Christoph

Gibt es eigentlich eine Möglichkeit direkt die Daten per Bluetooth abzugreifen ?

volschin

Intel NUC+Ubuntu 24.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 7690, Echo Dots+Show8, HomeBridge

Buelo77

Hi,
das geht scheinbar nicht mehr.
Beim installieren kommen Fehler:

pi@raspberrypi:/opt $ sudo npm install flower-power-ble

> usb@1.2.0 install /opt/node_modules/usb
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download: https://github.com/tessel/node-usb/releases/download/1.2.0/usb_bindings-v1.2.0-node-v51-linux-arm.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for usb@1.2.0 and node@7.2.1 (node-v51 ABI) (falling back to source compile with node-gyp)
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/7.2.1"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/opt/node_modules/usb/.node-gyp"
make: Entering directory '/opt/node_modules/usb/build'
make: *** No rule to make target '../.node-gyp/7.2.1/include/node/common.gypi', needed by 'Makefile'.  Stop.
make: Leaving directory '/opt/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:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.34-v7+
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=/opt/node_modules/usb/src/binding/usb_bindings.node" "--module_name=usb_bindings" "--module_path=/opt/node_modules/usb/src/binding"
gyp ERR! cwd /opt/node_modules/usb
gyp ERR! node -v v7.2.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok

Gruß Beule

andi11

Also bei mir funktioniert es mit sudo npm install flower-power-ble. Allerdings ergibt ein node -v 4.7.0
Das musste ich so machen, da ich einen Raspi 2 habe der noch auf wheezy hängt, anders habe ich die zuvor eingerichtete bridge nicht zum laufen bekommen.

andi11

was ich allerdings nicht verstehe ist das Aktualisierungsintervall. Ich habe mit
define treppe FlowerPowerDevice myplant xyz 1200 zum testen definiert. Also sollte alle 20Minuten aktualisiert werden. Selbst wenn keine neuen Daten da sind, sollte es über das Alter das Readings ja trotzdem aktuell sein.
Allerdings wird erst durch ein set treppe update aktualisiert. Automatisch passiert das scheinbar nicht Ist die Zeitbasis von Intervall wirklich Sekunden? Mache ich da einen Fehler?


db85

@andi11
Das Intervall ist in Sekunden. Allerdings findet keine Aktualisierung der Readings statt wenn das Api-Modul keine neue Daten hat. Explizit prüfe ich hier das Feld "last_sample_utc"

andi11

#71
Ah das hat mich verwirrt:
- manuelles update: Timestamp wird aktualisiert
- automatisches Intervall: Es sieht aus als passiert nichts (über die Handy App sieht man ohne aktives Bluetooth wann in der Cloud zuletzt aktualisiert wurde)
Wäre daher evl. ein Reading "Zuletzt versucht um" sinnvoll? Vorallem wenn etwas nicht klappt (so wie bei mir irgendwie, aber ich glaube bei der bridge) würde es die Fehlersuche vereinfachen.

Dass das API Modul aktuelle Werte haben muss ist etwas irritierend, denn im Device Modul ist das last_sample_utc gelistet.

andi11

Passt bei euch eigentlich die Anzeige der Helligkeit zur App?
Mit dem userreading light_gauge_values_current_lx { ReadingsVal($name,"light_gauge_values_current",0)*671.0;; }
hier aus dem Thread erhalte ich einen Wert der deutlich von Live und Durchschnittswert abweicht (aktuell 906Lux Durchschnitt,700Lux live zu light_gauge_values_current 127.49Lux, light_gauge_values_current 0.19
(bei fast konstanter Beleuchtung mit Pflanzlampe nach Sonnenuntergang)

andi11

ich entdecke keine Logik hinter der Helligkeit. Jetzt sagt die App live 1000Lux und ich habe 107Lux (light_gauge_values_current 0.16(mol/(m²d) * 671)
Wer weiß Rat???

mumpitzstuff

https://forum.fhem.de/index.php/topic,32786.msg565749.html#msg565749

Ich habe hier mal ein wirklich simples Perl Script hinterlegt, um die Daten des Sensors auslesen zu können. Vielleicht ist es ja für den einen oder anderen von Interesse oder aber es findet sich jemand, der auf dieser Basis ein FHEM Modul baut. Als Basis könnte man zum Beispiel den Xiaomi Pflanzensensor verwenden, für den es bereits ein FHEM Modul gibt, welches ebenfalls das Gatttool verwendet.