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

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

Vorheriges Thema - Nächstes Thema

CoolTux

Zitat von: zife am 14 Februar 2022, 22:19:44
Ich krieg mich gar nicht mehr ein vor Begeisterung... seit dem Umbau des Moduls in "Rückmeldungshäppchen" rennt mein fhem wie nie. Tasterbefehle für Licht, Rolläden und Co werden in 0,nix umgesetzt. So macht das wieder Spaß!

@Cooltux: Bin Dir sowas von dankbar! Gibt es einen "Best Practice" Faden für Modulentwickler, wo Dein Vorgehen quasi wie ein WIKI Eintrag allen empfohlen werden kann, die mit vergleichbaren Requests arbeiten? Das müsste der neue Standard werden, bevor wieder jemand auf die Suche geht nach ominösen Bremsern...


Freut mich das es nun so gut läuft.
Eigentlich wissen die meisten Entwickler wann sie welche Art der asynchronen Programmierung nehmen. Im Fall von Gardena war einfach die große Anzahl an Geräten und die damit verbundene Art der zerhackten Antwort von der Cloud der Grund. Das Zusammensetzen der Antwort dauerte einfach zu lange bei so vielen Geräten.


Grüße
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

zife

Hmm... hab ich vielleicht beim Testen was übersehen? Wobei damals im state brav "Winterschlaf" stand.

Die IrrigationControl wirft mir jetzt folgende Events im Minutentakt:

2022-02-15 13:05:16 GardenaSmartDevice Wassermann ic24-valves_connected: ARRAY(0xb3169d8)
2022-02-15 13:05:16 GardenaSmartDevice Wassermann ic24-valves_connected: 1,2,3,4
2022-02-15 13:05:16 GardenaSmartDevice Wassermann ic24-valves_master_config: ARRAY(0xb316b88)
2022-02-15 13:05:16 GardenaSmartDevice Wassermann ic24-valves_master_config:
2022-02-15 13:05:16 GardenaSmartDevice Wassermann Winterschlaf
2022-02-15 13:05:16 GardenaSmartDevice Wassermann send command to gardena cloud
2022-02-15 13:05:16 GardenaSmartDevice Wassermann 405
2022-02-15 13:05:17 GardenaSmartDevice Wassermann 204


Was will er mir mit 405/204 sagen?

Im Log sehe ich keine Fehler.

EDIT: Ach herrje, wildgewordenes NOTIFY. Das hab ich wohl selbst verbockt, sorry.

EDIT2: Aber eins bleibt mir unklar. Alle Geräte im Winterschlaf senden keine Events (zumindest mit event_on_change_reading.*). Die IrrigationControl aber sendet die o.g. Events im Minutentakt, was dann auch mein Notify triggert. Ist da nicht doch irgendwie noch ein Wurm drin? Die ARRAY-Einträge sind dauernd anders, und das löst dann natürlich ein Event aus...
fhem mit EnOcean, Gardena, Vorwerk, Miele und Teufel/Raumfeld-Integration... nur meine Kinder wollen sich damit nicht anständig steuern lassen. Wer weiß Rat?

CoolTux

Du musst da die Regex von Deinem Notify enger setzen. Aber davon ab muss ich mal schauen was da genau geliefert wird wo jetzt aktuell Array steht.
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

zife

Das bekomm ich hin, keine Frage.

Beim Rasenmäher hab ich ein Notify, das auf Statusänderungen beim Mäher lauscht (event_on_change_reading.*). Das funzt, denn solange der Mäher im Winterschlaf ist, wird es nicht getriggert.

Dieses Notify hab ich jetzt auf die IrrigationControl dupliziert, doch da tiggert es eben minütlich aufgrund der Statusänderungen trotz Winterschlaf. Sprich: nur aufgrund der abweichenden ARRAY-Meldungen löst es überhaupt aus.

Ich kann das zweite Notify jetzt enger setzen, kein Problem. Oder die Events aus der Irrigation Control weiter einengen. Aber damit vertusche ich ja nur die Ursache.
fhem mit EnOcean, Gardena, Vorwerk, Miele und Teufel/Raumfeld-Integration... nur meine Kinder wollen sich damit nicht anständig steuern lassen. Wer weiß Rat?

zife

Hallo Freunde des kurzen Rasens,

habe heute meinen Rasenmäher aus dem Winterschlaf geweckt - und stelle fest, dass sich die Readings nicht aktualisieren. Wenn ich die Bridge per "set getDevicesState" dazu zwinge, werden sie korrekt aktualisiert. Aber das "attr <device> interval 120" scheint ignoriert zu werden, sprich: von selbst tut sich nichts.

Hier meine Bridge:
Internals:
   BRIDGE     1
   FUUID      [anonymisiert]
   FVERSION   73_GardenaSmartBridge.pm:v2.4.7-s25661/2022-02-09
   INTERVAL   120
   NAME       GardenaZentrale
   NOTIFYDEV  global,GardenaZentrale
   NR         91
   NTFY_ORDER 50-GardenaZentrale
   STATE      Connected
   TYPE       GardenaSmartBridge
   URL        https://smart.gardena.com/v1
   VERSION    v2.4.7
   READINGS:
     2022-02-22 12:59:17   address         [anonymisiert]
     2022-02-22 12:59:17   authorized_user_ids 0
     2022-02-22 12:59:20   category-id     3[anonymisiert]
     2022-02-22 12:59:20   category-name   category
     2022-02-22 12:59:20   category-value  gateway
     2022-02-22 12:59:17   city            [anonymisiert]
     2022-02-22 12:59:20   connection_status-id [anonymisiert]
     2022-02-22 12:59:20   connection_status-name connection_status
     2022-03-03 15:56:32   connection_status-timestamp 2022-03-03T14:56:28.745Z
     2022-02-22 12:59:20   connection_status-value online
     2022-02-22 12:59:17   devices         8
     2022-02-22 12:59:20   ethernet_status-ip [anonymisiert]
     2022-02-22 12:59:20   ethernet_status-isconnected true
     2022-02-22 12:59:20   ethernet_status-mac [anonymisiert]
     2022-02-22 12:59:17   gateway_time_zone Europe/Berlin
     2022-02-22 12:59:17   gateway_time_zone_offset 3600000
     2022-02-22 12:59:17   id              [anonymisiert]
     2022-03-03 10:25:30   lastRequestState request_error
     2022-02-22 12:59:20   last_time_online-id [anonymisiert]
     2022-02-22 12:59:20   last_time_online-name last_time_online
     2022-02-22 12:59:20   last_time_online-value N/A
     2022-02-22 12:59:17   latitude        48.7139339
     2022-02-22 12:59:17   longitude       11.4155223
     2022-02-22 12:59:20   manufacturer-id [anonymisiert]
     2022-02-22 12:59:20   manufacturer-name manufacturer
     2022-02-22 12:59:20   manufacturer-value Seluxit
     2022-02-22 12:59:17   name            My Garden
     2022-02-22 12:59:20   product-id      [anonymisiert]
     2022-02-22 12:59:20   product-name    product
     2022-02-22 12:59:20   product-value   1-GATEWAY
     2022-02-22 12:59:20   serial_number-id [anonymisiert]
     2022-02-22 12:59:20   serial_number-name serial_number
     2022-02-22 12:59:20   serial_number-value N/A
     2022-02-22 12:59:20   sgtin-id        [anonymisiert]
     2022-02-22 12:59:20   sgtin-name      sgtin
     2022-02-22 12:59:20   sgtin-value     N/A
     2022-03-03 15:56:29   state           Connected
     2022-03-03 14:22:49   sun_data        HASH(0x5b85d60)
     2022-02-22 12:59:17   time_zone       Europe/Berlin
     2022-02-22 12:59:17   time_zone_offset 3600000
     2022-03-03 14:22:47   token           eyJhbGciOiJSUzI1NiIsInR5[anonymisiert]rBlVTh2mu-Q
     2022-02-22 12:59:20   version-id      28b792e4-2bb8-3030-b48b-a43343b82fbc
     2022-02-22 12:59:20   version-name    version
     2022-02-22 12:59:20   version-value   2.39.1
     2022-02-22 12:59:20   wifi_status-isconnected false
     2022-02-22 12:59:20   wifi_status-mac 00:1D:43:20:10:40
     2022-02-22 12:59:20   wifi_status-signal 0%
   helper:
     locations_id [anonymisiert]
     refresh_token aed099de-80f8-400a-b0aa-6004ab8b0cbc
     session_id eyJhbGciOiJSUzI1N[anonymisiert]QyirTiAojCKwYT47cwot951RfrBlVTh2mu-Q
     token_expired 1647177765.79541
     user_id    [anonymisiert]
     deviceList:
       Bloekmann
       Fuehlmann_Beet
       Fuehlmann_Hochbeet
       Fuehlmann_Mobil
       Fuehlmann_Rasen
       Hausmann
       Wassermann
Attributes:
   debugJSON  1
   event-on-update-reading .*
   gardenaAccountEmail [anonymisiert]
   group      Gardena
   icon       czZentraleGardena_full@grey
   interval   120
   room       21 Wohnzimmer,Geraete


Und mein Mäher:
Internals:
   DEF        [anonymisiert] mower
   DEVICEID   [anonymisiert]
   FUUID      [anonymisiert]
   FVERSION   74_GardenaSmartDevice.pm:v2.4.3-s25661/2022-02-09
   GardenaZentrale_MSGCNT 17
   GardenaZentrale_TIME 2022-03-03 16:00:33
   IODev      GardenaZentrale
   LASTInputDev GardenaZentrale
   MSGCNT     17
   NAME       Bloekmann
   NR         101
   STATE      geparkt
   TYPE       GardenaSmartDevice
   VERSION    v2.4.3
   READINGS:
     2022-03-03 14:22:37   IODev           GardenaZentrale
     2022-02-01 18:03:02   battery-level   100
     2022-02-01 18:03:02   device_info-category Mäher
     2022-03-03 14:22:52   device_info-connection_status online
     2022-03-03 15:56:31   device_info-last_time_online 2022-03-03 15:40:29
     2022-02-01 18:03:02   device_info-manufacturer Gardena
     2022-02-01 18:03:02   device_info-product 3-DEVICE
     2022-02-01 18:03:02   device_info-serial_number 00031835
     2022-02-01 18:03:02   device_info-sgtin [anonymisiert]
     2022-02-01 18:03:02   device_info-version 3.0.0-4.0.0-1.5.3-2.1.3
     2022-02-01 18:03:02   firmware-firmware_command nichts zu tun
     2022-02-01 18:03:02   firmware-firmware_status auf dem neusten Stand
     2022-02-01 18:03:02   firmware-firmware_upload_progress 0
     2022-02-01 18:03:02   firmware-inclusion_status inbegriffen
     2022-03-03 14:24:34   lastRequestState request_error
     2022-02-01 18:03:02   mower-error     kein Fehler
     2022-02-01 18:03:02   mower-last_error_code kein Fehler
     2022-03-03 15:56:31   mower-source_for_next_start ok
     2022-03-03 15:56:31   mower-status    geparkt
     2022-02-01 18:03:02   mower-timestamp_last_error_code temporarily unavailable
     2022-03-03 15:56:31   mower-timestamp_next_start temporarily unavailable
     2022-03-03 14:24:42   mower_stats-charging_cycles 733
     2022-02-01 18:03:02   mower_stats-collisions 9189
     2022-02-01 18:03:02   mower_stats-cutting_time 616
     2022-02-01 18:03:02   mower_stats-running_time 650
     2022-02-01 18:03:02   mower_timer-mower_timer 0
     2022-03-03 14:22:52   mower_timer-mower_timer_timestamp 1646315883
     2022-02-01 18:03:02   mower_type-base_software_up_to_date 1
     2022-02-01 18:03:02   mower_type-device_type 13
     2022-02-01 18:03:02   mower_type-device_variant 1
     2022-02-01 18:03:02   mower_type-mainboard_version 10.40
     2022-02-01 18:03:02   mower_type-mmi_version 10.22
     2022-02-01 18:03:02   mower_type-serial_number [anonymisiert]
     2022-03-03 15:38:08   radio-quality   90
     2022-02-01 18:03:02   radio-state     gut
     2022-02-01 18:03:02   startpoint-1-enabled 1
     2022-03-03 16:00:33   state           geparkt
     2022-03-03 14:22:52   winter_mode     awake
   helper:
     STARTINGPOINTID e0cf6519-03f1-4a94-bc3d-3a04cbbf4e90
     STARTINGPOINTS { "name": "starting_points", "value": [{"follow":"guide_1","distance_in_meters":3,"corridor_cut_enabled":false,"enabled":true,"probability_in_percent":40},{"enabled":false,"probability_in_percent":50,"corridor_cut_enabled":false,"distance_in_meters":26,"follow":"guide_1"},{"probability_in_percent":50,"enabled":false,"follow":"guide_1","corridor_cut_enabled":false,"distance_in_meters":26}]}
     _id       
     button_config_time_id
     eco_mode_id da1b14f7-7450-40a2-8154-e3d2492c9bea
     schedules_paused_until_1_id
     schedules_paused_until_2_id
     schedules_paused_until_3_id
     schedules_paused_until_4_id
     schedules_paused_until_5_id
     schedules_paused_until_6_id
     schedules_paused_until_id b32e35da-7318-41a7-aa4f-73a556e11c9c
     winter_mode_id bac06230-b298-434f-9492-a96c408eedb1
Attributes:
   IODev      GardenaZentrale
   event-on-change-reading .*
   group      Gardena
   icon       czMaeh_full@grey
   model      mower
   room       A0 Garten,Geraete


Fehlbedienung... oder BUG (den ich oben beim Testen ggf. nicht gemerkt habe)?


EDIT: Ja, gibt's das? Da schau ich ne Stunde lang in die LOGs, starte fhem neu, drücke links und rechts, nichts passiert. Dann schreibe ich diesen Post, und plötzlich läufts. Sorry für den Spam und Kommando zurück, jetzt aktualisiert's wieder. Keine Ahnung, welcher Christof mich als dummen Truman hier gerade filmt. Und keine Ahnung, was der Grund war.
fhem mit EnOcean, Gardena, Vorwerk, Miele und Teufel/Raumfeld-Integration... nur meine Kinder wollen sich damit nicht anständig steuern lassen. Wer weiß Rat?

zife

Was will mir eigentlich der state "405" sagen?

Ich habe heute die Bewässerung aus dem Winterschlaf geholt - und wenn ich einen Zeitplan der Irrigation Control per "stopScheduleValve" anhalten will, reagiert die Cloud mit "405". Der Befehl wird nicht umgesetzt.

fhem mit EnOcean, Gardena, Vorwerk, Miele und Teufel/Raumfeld-Integration... nur meine Kinder wollen sich damit nicht anständig steuern lassen. Wer weiß Rat?

CoolTux

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

zife

Hm, also auch nach 1 Tag Pause habe ich dasselbe Problem. Fehlkonfiguration oder zeigt sich jetzt doch noch ein Bug der neuen Version? Soll ich nochmal ein LIST liefern?
Im Log steht nur dasselbe:

2022-03-21_20:43:25 Wassermann send command to gardena cloud
2022-03-21_20:43:26 Wassermann 405
2022-03-21_20:44:50 Wassermann scheduled watering next start: 2022-03-21 06:00


Wobei der state nicht stimmt: alle Zeitpläne sind pausiert, niemand soll um 6:00 starten. Das wäre auch widersinnig, denn dieser Zeitpunkt liegt ja in der Vergangenheit...
fhem mit EnOcean, Gardena, Vorwerk, Miele und Teufel/Raumfeld-Integration... nur meine Kinder wollen sich damit nicht anständig steuern lassen. Wer weiß Rat?

CoolTux

Dann müssen wir mal schauen was er da genau an die Cloud sendet.

Ich melde mich im Laufe des Tages noch mal.
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

Tommy_84

Hallo zusammen.

Ich hab mich in der gardena api jetzt schon dumm und dusselig gesucht.

Wo finde ich da den Datenpunkt für die Startpunkte?



Gruß
Tommy


CoolTux

Zitat von: zife am 21 März 2022, 20:46:30
Hm, also auch nach 1 Tag Pause habe ich dasselbe Problem. Fehlkonfiguration oder zeigt sich jetzt doch noch ein Bug der neuen Version? Soll ich nochmal ein LIST liefern?
Im Log steht nur dasselbe:

2022-03-21_20:43:25 Wassermann send command to gardena cloud
2022-03-21_20:43:26 Wassermann 405
2022-03-21_20:44:50 Wassermann scheduled watering next start: 2022-03-21 06:00


Wobei der state nicht stimmt: alle Zeitpläne sind pausiert, niemand soll um 6:00 starten. Das wäre auch widersinnig, denn dieser Zeitpunkt liegt ja in der Vergangenheit...

nimm mal bitte in der 73_GardenaSmartBridge.pm in Zeile 485 die Einkommentierung raus. Dann stellst auf verbose 4 und versuchst es noch mal. Ich brauche dann das log nach den einstellen der timer. Dürfte bisschen lang sein. Schick es mir einfach per Mail.
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

zife

ok... mach ich spätestens morgen!

EDIT:
ach, genug Meetings für heute. First Things first  8)
Log kommt per Mail.

Was hab ich gemacht:

16.40: reload des Moduls mit der o.g. Änderung
16.41: "stop schedule valve 1" (--> 405er Fehler)
16.43: "resume schedule valve 1" (--> 405er Fehler)
16.44: "stop scheldule valve 2" (--> 405er Fehler)
16.45: "closeAllValves" (--> "command is processed")
fhem mit EnOcean, Gardena, Vorwerk, Miele und Teufel/Raumfeld-Integration... nur meine Kinder wollen sich damit nicht anständig steuern lassen. Wer weiß Rat?

CoolTux

Irgendwie ist der Request immer leer nach einem gesendeten Command

Kannst Du bitte einmal in Zeile 505
Log3 $name, 4, "GardenaSmartBridge ($name) - Request: $data";

Ändern in

Log3 $name, 4, "GardenaSmartBridge ($name) - Request: $data und Error: $err";

Und dann noch mal testen.
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

zife

fhem mit EnOcean, Gardena, Vorwerk, Miele und Teufel/Raumfeld-Integration... nur meine Kinder wollen sich damit nicht anständig steuern lassen. Wer weiß Rat?

CoolTux

Kann es sein das die Änderung nicht neu geladen wurde? Die Ausgabe passt nicht mit meinen Änderungswunsch
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