Modul für Parrot Flower Power

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

Vorheriges Thema - Nächstes Thema

Acrusty

Zitat von: hartenthaler am 17 Oktober 2016, 17:13:12
... sorry, das "; am Ende muss weg, das war ein copy&paste Fehler von mir.

@Acrusty: "läuft" bedeutet, dass dein fhem-Device nun mit Readings gefüllt wird?

@MikeR: ich bin etwas ratlos; aber solange es im Browser nicht funktioniert, kann es in fhem auch nicht gehen. Bitte ändere doch Dein FlowerPower-Passwort und nimm mal nur Buchstaben und Zahlen ohne Sonderzeichen. Ich habe den Aufruf gestern im Chrome-Browser getestet, das muss gehen.
Nein,leider werden die Readings nicht gefüllt. Nur der Aufruf im Browser geht

MikeR

Habe einen neuen Accesskey beantragt und damit die neue Website aus dem Browser aufgerufen.
Gleiches Ergebnis.
{"error": "invalid_client"}

Muss wohl ein Fehler in meinem Parrot-Datensatz bei denen sein. Finde nur keine Supportmailadresse für das FlowerPowerAPI.

Acrusty

Im Logfile habe ich folgendes gefunden:
2016.10.23 12:45:27 1: PERL WARNING: main::FlowerPowerApi_ReadSensorData() called too early to check prototype at ./FHEM/88_FlowerPowerApi.pm line 260, <$fh> line 1171.
2016.10.23 12:45:27 3: stacktrace:
2016.10.23 12:45:27 3:     main::__ANON__                      called by ./FHEM/88_FlowerPowerApi.pm (260)
2016.10.23 12:45:27 3:     (eval)                              called by fhem.pl (2261)
2016.10.23 12:45:27 3:     (eval)                              called by fhem.pl (2260)
2016.10.23 12:45:27 3:     main::CommandReload                 called by fhem.pl (1701)
2016.10.23 12:45:27 3:     main::LoadModule                    called by fhem.pl (1763)
2016.10.23 12:45:27 3:     main::CommandDefine                 called by fhem.pl (1085)
2016.10.23 12:45:27 3:     main::AnalyzeCommand                called by fhem.pl (955)
2016.10.23 12:45:27 3:     main::AnalyzeCommandChain           called by fhem.pl (1218)
2016.10.23 12:45:27 3:     main::CommandInclude                called by fhem.pl (519)


kann mir da Jemand weiterhelfen?

db85

Das Problem mit dem Api-Key ist folgendes:

Für die neue Api werden neue Api-Keys benötigt. Und es scheint so, dass die neuen Keys nicht mit der alte Api funktionieren. Ich bin gerade dabei das Modul entsprechend anzupassen damit die Kommunikation über die neuen Api läuft. D.h. aber auch das die Tools/Scripte die für den Cloud-Upload zuständig sind auch mit der neuen Api arbeiten müssen. Ansonsten wird das nicht funktionieren. Für mein nodejs Script das ich verwende gibt es für die neue Api einen neuen Branch:

https://github.com/Parrot-Developers/node-flower-bridge/tree/v2

Acrusty

Ahaaaaa, na dann kann ich ja noch lange probieren  ::)
Toll, dass Du bereits wieder am Modul arbeitest.
Mir ist das alles viel zu kompliziert, somit warte ich gerne auf das angepasste Modul  ;D

db85

Ich habe jetzt ein Update für die neue API hochgeladen:
https://github.com/db85/FhemFlowerPower

Es wird empfohlen vor dem Update alle Devices zu löschen. (Zumindest beim API Device gab es doch einige Änderungen)

hartenthaler

#51
Uhh... Ich habe die FlowerPower-Devices gelöscht, habe die beiden neuen .pm Dateien aus github runtergeladen und fhem untergeschoben (shutdown restart). Und dann das API-Device mit dem selben define wie zuvor neu angelegt (bin zur Sicherheit auch dem Link in der github README zur FlowerPower-Api erneut gefolgt und habe dort alles ausgefüllt, habe dann aber das selbe secret wie zuvor wieder per E-Mail zugeschickt bekommen.

Nun füllt sich im Sekunden-Takt mein Logfile mit
2016.10.28 22:07:22 1: FlowerPowerApi: fetch auth with url (https://api-flower-power-pot.parrot.com/user/v1/authenticate?grant_type=password&username=x@x.de&password=x&client_id=x@x.de&client_secret=x)
(die x sind von mir geändert, dort standen die Korrekten(?) Werte)

Brauche ich eine andere E-mail und eine gänzlich neues secret?
Edit: aha! Der link in der README ist der alte! Man muss dem neuen Link https://api-flower-power-pot.parrot.com/api_access/signup folgen und sich dort ein neues secret zuschicken lassen! Schon gehts.
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

#52
Erst einmal: vielen Dank, dass Du die API-Änderung nachgezogen hast und so dieses schöne fhem-Modul wieder zum Leben erweckt hast!

Gibt es das Reading sensor_count nicht mehr? Das war zuvor die Anzahl der real vorhandenen Sensoren. Nun gibt es nur noch location_count, also die Anzahl der verwalteten Pflanzen im Garten. Man kann aber wohl die Readings der realen Sensoren von den Pflanzen unterscheiden, weil die einen ein Reading ..._hardware_revision haben und die anderen eben nicht. Richtig? Damit könnte man sensor_count also wieder nachbilden.

Und die so schönen ..._plant_nickname sind leider auch verschwunden.  Kannst Du die wieder einbauen? Sonst muss man wieder raten was denn was ist. Das war zuvor eine wirklich hilfreiche Info.

Und battery_level_percent, total_uploaded_samples und das voraussichtliche Datum für den nächsten Batteriewechsel sind wohl auch weg. Gerade der aktuelle Batteriezustand wäre aber sehr wichtig. Hat Parrot die API so "verschlankt" oder bis Du einfach noch nicht dazu gekommen all die zuvor vorhanden Daten wieder reinzuziehen? Erst einmal läuft es jetzt ja wieder! Danke!!!

Ich habe folgendes bei mir ergänzt:

stateFormat air_temperature_instruction_key, soil_moisture_instruction_key, fertilizer_instruction_key, light_instruction_key<br>T: air_temperature_gauge_values_current °C, H: soil_moisture_gauge_values_current %, F: fertilizer_gauge_values_current mS/cm, L: light_gauge_values_current_lx lx
userReadings light_gauge_values_current_lx { ReadingsVal("MyFlower.3","light_gauge_values_current",0)*671.0;; }

Dabei verhält sich das FlowerPower-Modul anders als sonstige Module. Erst einmal erscheint die intern vorgegebene Formatierung des state und erst wenn ich von Hand das stateFormat editiere und unverändert zurückschreibe, dann wird meine Formatierung übernommen. Kannst Du das noch ändern?

Viele Wünsche!

Aber auch vielen Dank!!!
Gruß Hermann
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, ...

db85

@hartenthaler Vielen Dank für dein schnelles testen

Hier kurz mein Feedback zu den einzelnen Punkten:

- Link: Richtig, der aktuelle Link ist https://api-flower-power-pot.parrot.com/api_access/signup. Habe entsprechend meine Readme angepasst
- battery_level_percent: Habe ich gefixt, der Wert heißt nun battery_current
- total_uploaded_samples: Gibt es leider nicht mehr
- Datum Batteriewechsel: Hab ich leider auch nicht mehr finden können
- plant_nickname: Hab ich auch eben gefixt
- sensor_count: Gibt es leider nicht mehr und eine Liste mit allen Sensoren bekomme ich auch nicht mehr. Aktuelle bekomme ich nur noch eine Liste von Locations (Pflanzen) denen jeweils ein Sensor zugeordnet ist. Ich muss demnächst prüfen ob und wie ich über die API die Sensoren bekommen, die keiner Pflanze zugeordnet sind.
- stateFormat: Habe ich gerade nicht verstanden, muss ich mir demnächst auch nochmal genauer anschauen ;-)

Ansonsten werde ich die neue API in den nächsten Tagen bei mir auch noch weiter genauer untersuchen und testen.

Viele Grüße
Daniel

volschin

Kennt jemand von Euch eine Website für die Darstellung der neuen Daten?
https://myflowerpower.parrot.com nutzt immer noch die bisherige API. Ich überlege, ob ich vorerst beide API's mit Daten versorge.
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

Acrusty

Mhm, komisch, seit der Aktualisierung des Moduls bekomme ich nur noch:Cannot load module FlowerPowerApi

Gesendet von meinem EVA-L09 mit Tapatalk


lonzo

Hi,

kann es sein das dieses Modul nur den letzten Datensatz abruft, nicht aber die in der Zeit dazwischen in der Cloud abgelegten?
Kann man da was einstellen oder mach ich was falsch?

Danke und Gruß
Timo

db85

Zitat von: lonzo am 31 Oktober 2016, 09:26:54
Hi,

kann es sein das dieses Modul nur den letzten Datensatz abruft, nicht aber die in der Zeit dazwischen in der Cloud abgelegten?
Kann man da was einstellen oder mach ich was falsch?

Danke und Gruß
Timo

Hi,

das Modul frägt immer den aktuellen Ist-Zustand in der Cloud zu einem bestimmten Zeitpunkt ab. Möchtest du eine Historie haben, dann musst du die Daten durch Fhem selbst in einer Datenbank protokollieren z.B. mit DbLog. Auch wenn es für die vergangenen Werte eine API-Schnittstelle gibt sehe ich keine Möglichkeit wie ich diese in Fhem speichern und verwalten kann.

Viele Grüße
Daniel

Acrusty

#58
Ich habe immer noch das Problem, dass das aktualisierte Modul nicht geladen werden kann. Welche anderen Module werden für dessen Funktion sonst noch vorausgesetzt?

EDIT:
Geschafft, scheinbar beim Download immer was schiefgelaufen mit dem Handy. Nun mit PC versucht, hat auf Anhieb funktioniert

Acrusty

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