[73_GardenaSmartBridge, 74_GardenaSmartDevice] - Module für Gardena Smart System

Begonnen von CoolTux, 05 August 2017, 23:17:06

Vorheriges Thema - Nächstes Thema

SebastianStorb

Ich habe das gleiche Problem seit dem ich das Update am 09.03.2021 vorgenommen habe.
fetch locationId oder get token
Was nicht geholfen hat:
-Passwort nochmals eingeben
-Gardena Modul neu installieren, FHEM neu Starten
-FHEM neu starten
-Update auf debian-server
-Server neu starten

Ich vermute, dass es entweder ein Fehler im Gardena Modul ist:
2021.03.13 21:57:33 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_GardenaSmartDevice.pm line 210, <$fh> line 3711.
oder es wurde bei Gardena etwas geändert, dass irgendwo die API Steuerung freigegeben werden muss, was aber unwahrscheinlich ist, weil der Fehler in FHEM erst nach dem Update vorgekommen ist, welches ich seit Wochen nicht mehr gemacht hatte.

Prostetnik

Hallo, bei mir das gleiche Problem. Ich hoffe, dass das jemand lösen kann bevor die "Bewässerungssaison" wieder anfängt... ;-)

plopp79

Hallo Zusammen,
ich habe ebenfalls dieses Problem und suche nach einer Lösung. Updates habe ich durchgeführt und fhem neu gestartet. Folgende Einträge habe ich dazu im Log:

10:14:58 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/73_GardenaSmartBridge.pm belongs to source repository "fhem". Ignoring identical file name from source repository GardenaSmartDevice
10:14:58 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/74_GardenaSmartDevice.pm belongs to source repository "fhem". Ignoring identical file name from source repository GardenaSmartDevice
10:14:58 3: GardenaSmartBridge (myGardena) - defined GardenaSmartBridge
10:14:58 3: GardenaSmartBridge (myGardena) - set gardenaBaseURL to: https://api.smart.gardena.dev/v1
10:14:58 3: GardenaSmartBridge (myGardena) - set interval: 10
10:14:58 3: GardenaSmartDevice (SILENO) - I/O device is myGardena
10:14:58 3: GardenaSmartDevice (SILENO) - defined GardenaSmartDevice with DEVICEID: ...
10:15:00 3: GardenaSmartBridge (myGardena) - no Match for processing data
10:15:04 3: FHEMWEB WEB CSRF error: csrf_652357093333361 ne csrf_18337333330763 for client WEB_10.0.0.46_48166 / command update FHEM/74_GardenaSmartDevice.pm. For details see the csrfToken FHEMWEB attribute.

CoolTux

Aktuell gibt es keine Lösung. Die Gardena Module sind momentan ohne Funktion. Zu mindest das Bridge Modul muss neu programmiert werden und an die neue API angepasst werden.
Ich kann das aktuell nicht leisten.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Jack

Hallo zusammen.
Bei mir läuft mit Gardena und FHEM auch nichts mehr.

Angefangen hat es mit nicht ausgeführten Gardena Zeitplänen. Als ich diese Probleme beheben wollte, betroffene Teilnehmer löschen neu einbinden etc., habe ich bemerkt das gar nichts mehr ging. Ich sah mich gezwungen das Gardena Gateway auf Werkseinstellungen zurückzusetzen was ich dann auch gemacht habe. Seit dem funktioniert zwar Gardena mit allen Teilnehmern wieder, auch die Zeitpläne, aber leider die Steuerung von Gardena über FHEM nicht mehr.

Alle Versuche die GardenaSmartBridge wieder in Gang zu bekommen sind bis jetzt gescheitert. Ich bekomme immer "get token" angezeigt.
Kann jemand schon helfen oder hat eine Idee? Danke.   

Jack

Hallo in die Runde!

Versuche jetzt schon seit einigen Stunden hier irgendwas in den Griff zu bekommen. Aber anscheinend reichen meine Talente hier nicht aus.
Mittlerweile habe ich verstanden das das Modul verändert werden muss, weil Gardena offensichtlich Veränderungen vorgenommen hat.
Ich würde das ja gerne bewerkstelligen, aber dafür brauche ich wohl Unterstützung. Wer könnte mir dabei helfen ?
Danke im Voraus. 

BOFH

Zitat von: Jack am 17 März 2021, 17:10:14
Hallo in die Runde!

Versuche jetzt schon seit einigen Stunden hier irgendwas in den Griff zu bekommen. Aber anscheinend reichen meine Talente hier nicht aus.
Mittlerweile habe ich verstanden das das Modul verändert werden muss, weil Gardena offensichtlich Veränderungen vorgenommen hat.
Ich würde das ja gerne bewerkstelligen, aber dafür brauche ich wohl Unterstützung. Wer könnte mir dabei helfen ?
Danke im Voraus.

Ja wie CoolTux schon sagte wurde die API-Schnittstelle seitens Gardena geändert.

Interessant ist ja nun ob man auf die API
https://smart.gardena.com/  (v1)
oder
https://developer.husqvarnagroup.cloud  diese API setzen muss/soll.

RasPi 4
ZWave.me ZME_UZB (Fibaro Auge Gen.2)/ HM-USB2 (Thermostat | Hutschienen Relais | 1-/2fach Schalter) / Enigma2 / PhilipsTV / Philips HUE (GO|Bulb|Stripe (plus)) / Somfy IO Rollos / BOSCH HSG636XS6 / SONOS (P1, P3, P5 2.Gen, SUB, Bar)


Jens@fhem

Hallo, ja das ist die richtige und auch ganz gut Dokumentiert. Habe das ganze mal per Hand durchgespielt nachdem ich mir einen API-Key erstellt habe.
Anmeldung mit Gardena Zugangsdaten -> API-Key erstellen und eine Location ID abrufen. Im Anschluss bekommt man auch die Geräte angezeigt.
curl -X GET \
https://api.smart.gardena.dev/v1/locations/<LOCATION ID> \
-H 'Authorization: Bearer <ACCESS TOKEN>' \
-H 'Authorization-Provider: husqvarna' \
-H 'X-Api-Key: <APP KEY>'


VG
Jens

Det20

Wie gesagt ist weiter vorne ein funktionierender php source von mir. Dort steht, wie es (zumindest in php) funktioniert.

Ajuba

Na super - Gerade an dem Tag als ich den Gardena Sileno kaufte kamen die ersten Meldungen über die geänderte API  >:(
Bei mir scheitert aber schon die Installation.
libio-socket-ssl-perl is already the newest version.

Bevor ich ein Update der Gardena Module machte kam ich wenigstens bis zu "fetch Token"
Nach löschen der GardenaBridge Definition und Update ist nicht mal ein Erstellen der Definition möglich.
update 73_GardenaSmartBridge.pm
update 74_GardenaSmartDevice.pm


define Gardena_Bridge GardenaSmartBridge
liefert
Cannot load module GardenaSmartBridge

Im Log steht:
2021.03.18 21:45:56 1: reload: Error:Modul 73_GardenaSmartBridge deactivated:
"GP_Export" is not exported by the GPUtils module
Can't continue after import errors at ./FHEM/73_GardenaSmartBridge.pm line 57.
BEGIN failed--compilation aborted at ./FHEM/73_GardenaSmartBridge.pm line 57.

2021.03.18 21:45:56 0: "GP_Export" is not exported by the GPUtils module
Can't continue after import errors at ./FHEM/73_GardenaSmartBridge.pm line 57.
BEGIN failed--compilation aborted at ./FHEM/73_GardenaSmartBridge.pm line 57.


Mir ist schon klar, dass es nicht funktionieren wird bis CoolTux Zeit hat auf die API umzustellen. Aber warum geht nicht mal das erstellen der Definition? Hat jemand einen Tip?
FHEM auf RPi3, Homematic CCU3 mit Cuxd und CUL 868 für FS20, Siemens S7 über CP343-1,
DbLog zu MySQL auf NAS QNAP TS-253D,
Yeelight

CoolTux

Zitat von: Ajuba am 18 März 2021, 22:10:32

Bevor ich ein Update der Gardena Module machte kam ich wenigstens bis zu "fetch Token"


Du musst Dein ganzes FHEM updaten und nicht nur die Gardena Module.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

plopp79

Zitat von: Det20 am 18 März 2021, 16:56:38
Wie gesagt ist weiter vorne ein funktionierender php source von mir. Dort steht, wie es (zumindest in php) funktioniert.

@Det20, ich habe leider keine großen Kenntnisse in PHP. Bei mir hat das nicht funktioniert und ich benötige evtl. noch etwas Hilfe beim Einrichten.

Ich habe einen LAMP Server aufgesetzt, den Code  in eine index.php kopiert und meine Daten eingesetzt (Username, Passwort, RootURL= 'https://api.smart.gardena.com/v1'; und ClientID von meiner Application.)(Das Gerät watering_timer_1 ist bei mir vorhanden)

Wenn ich die Seite nun aufrufe kommt folgendes:
'; var_dump('User-Data HTTP-Code '.$code.' : '.$result); $data = json_decode($result, true); $FirstName = $data['data']['attributes']['first_name']; $LastName = $data['data']['attributes']['last_name']; $RegProv = $data['data']['attributes']['registration_provider']; // Locations lesen mit GET $url = $RootURL.'/locations?locationId=null&user_id='.$userID; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HTTPHE...

(die Punkte bedeuten, es geht noch weiter...)
Es scheint der Code zu sein. Wenn ich jeweils die Zeile echo '<br><br>'; direkt vor var_dump lösche erscheint lediglich eine leere Seite, es scheint aber nichts zu passieren.

Entschuldige bitte meine Unwissenheit, wenn das lediglich Basiswissen ist was mir fehlt um das Rätsel zu lösen, aber vielleicht bin ich ja nicht der Einzige dem das passiert.

Meine Fragen dazu wären:
1. wie rufe ich die Seite auf, um das Ereignis dann aufzurufen? Also wie kann ich die Post-Params einbinden um das zu testen und was sind Bearer_Prov und Bearer?
2. wie kann ich das in FHEM am besten einbinden? (Mir fehlen evtl. hier  auch noch Vorkenntnisse, ich dachte an einen dummy, der das Ereignis auslöst)
3. habe ich denn bisher alles soweit richtig gemacht, oder liegt hier schon der Fehler? (PHP sollte laufen, andere Websites auf dem Server laufen mit PHP)


SebastianStorb

Ich kann leider überhaupt nicht programmieren und daher nicht helfen. Dafür habe ich gerade den Verein ein kleines Bisschen unterstützt. Ich kann anbieten, dass ich bei der Gardena Hotline anrufe und nachfragen. Falls ich das machen soll müsste ich nur wissen was ich dort nachfragen soll. Könnte evlt. jemand der Administratoren bei der Korrektur der Programmierung helfen und unterstützen? Kennt jemand einen der Admins und kann diesen bitten? Es haben ja mittlerweile doch relativ viele FHEM Benutzer das Problem und die Gartenzeit fängt jetzt an.

Mögliche Übergangslösung(?):
Übrigens habe ich gerade folgendes probiert. In der Homebridge lässt sich Gardena über die iPhone App einbinden.

Herzlichen Dank

CoolTux

Da muss niemand anrufen und nachfragen. Es muss auch sonst nichts weiter gemacht werden außer die Beschreibung der API entsprechend um zu setzen.
Es gibt wohl 2 URLs welche man verwenden kann. Je nachdem wie man sich entscheidet. Nimmt man email Passwort Kombi muß man beide nehmen, arbeitet man mit API Token brauch man wohl nur eine URL.

Auch kann man wie bisher pollen oder besser noch man baut einen websocket auf und dann werden in Echtzeit die Änderungen gepusht. Soweit die Theorie. Nun muß das nur in Code gegossen werden.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net