[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

Hätte eigentlich erwartet das Daten zurück kommen und im Log gezeigt werden. Muss nachher mal was schauen.
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

Seidenschnabel

Stoooop! Da kommen gerade ohne Ende Logeinträge rein, ad muss ich ersteinmal schauen, was interessant sein könnte

CoolTux

Ich denke das sind die Einträge welche kommen wenn abgefragt wird. Aber nicht die Antwort auf ein Schaltbefehl.
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

Seidenschnabel

Hier mal ein Auszug nach dem letzten Befehl, puh - da kommt richtig Info rein  :(

Zitat{"level":"info","message":"UP_TO_DATE","raw_message":"UP_TO_DATE","source":"gateway","timestamp":"2020-05-14T08:04:01.231Z"},{"level":"error","message":"adc_invoke_timeout","raw_message":"23","source":"device","timestamp":"2020-05-12T16:25:34.554Z"},{"level":"error","message":"adc_invoke_timeout","raw_message":"23","source":"device","timestamp":"2020-05-12T15:40:31.197Z"},{"level":"error","raw_message":"44","source":"device","timestamp":"2020-05-12T11:17:01.126Z"},{"level":"error","message":"internal_communication_error","raw_message":"9","source":"device","timestamp":"2020-05-12T11:11:01.261Z"},{"level":"error","message":"adc_invoke_timeout","raw_message":"23","source":"device","timestamp":"2020-05-12T04:40:24.444Z"},{"level":"error","message":"adc_invoke_timeout","raw_message":"23","source":"device","timestamp":"2020-05-12T03:40:42.966Z"},{"level":"error","message":"adc_invoke_timeout","raw_message":"23","source":"device","timestamp":"2020-05-11T22:54:25.543Z"},{"level":"error","message":"adc_invoke_timeout","raw_message":"23","source":"device","timestamp":"2020-05-11T21:09:31.334Z"},{"level":"error","message":"adc_invoke_timeout","raw_message":"23","source":"device","timestamp":"2020-05-11T20:09:28.451Z"},{"level":"error","message":"adc_invoke_timeout","raw_message":"23","source":"device","timestamp":"2020-05-11T17:09:26.850Z"},{"level":"info","message":"DEVICE_CLOCK_IN_SYNC","raw_message":"DEVICE_CLOCK_IN_SYNC","source":"gateway","timestamp":"2020-05-11T14:51:32.872Z"},{"level":"warning","message":"DEVICE_CLOCK_OUT_OF_SYNC","raw_message":"DEVICE_CLOCK_OUT_OF_SYNC","source":"gateway","timestamp":"2020-05-11T14:43:20.169Z"},{"level":"info","message":"UP_TO_DATE","raw_message":"UP_TO_DATE","source":"gateway","timestamp":"2020-05-11T14:43:12.236Z"},{"level":"error","raw_message":"44","source":"device","timestamp":"2020-05-11T13:40:26.985Z"},{"level":"error","message":"adc_invoke_timeout","raw_message":"23","source":"device","timestamp":"2020-05-11T13:39:35.248Z"},{"level":"info","message":"UP_TO_DATE","raw_message":"UP_TO_DATE","source":"gateway","timestamp":"2020-05-11T13:36:17.267Z"}],"zones":[]}
2020.05.15 19:30:22 5: GardenaSmartBridge (myGardenaBridge) - Garbage character before message: ]
2020.05.15 19:30:22 5: GardenaSmartBridge (myGardenaBridge) - Garbage character before message: }
2020.05.15 19:30:22 5: GardenaSmartBridge (myGardenaBridge) - return msg:  and tail:
2020.05.15 19:30:22 5: GardenaSmartBridge (myGardenaBridge) - Nach Sub: Laenge JSON: 0 Content:  Tail:
2020.05.15 19:30:22 1: localhost:4711 reappeared (Sonos)
2020.05.15 19:30:37 4: GardenaSmartBridge (myGardenaBridge) - Send with URL: https://sg-api.dss.husqvarnagroup.net/sg-1/devices/0cb1c398-78fa-43ab-a5a8-dcxxxxxxxxxxx/abilities/mower/command?locationId=72513050-6f05-4559-b476-362xxxxxxx, HEADER: secret!, DATA: secret!, METHOD: POST
2020.05.15 19:30:38 3: GardenaSmartBridge (myGardenaBridge) - JSON error while request

Seidenschnabel

Hier noch einmal die Readings nach einem "Start-Befehl"

Zitatbattery-charging
0
2020-05-15 18:55:01
battery-level
100
2020-05-15 21:31:30
device_info-category
mower
2020-05-14 21:54:51
device_info-connection_status
online
2020-05-14 21:54:51
device_info-last_time_online
2020-05-15 21:30:22
2020-05-15 21:30:29
device_info-manufacturer
Gardena
2020-05-14 21:54:51
device_info-product
9-DEVICE
2020-05-14 21:54:51
device_info-serial_number
0000xxxx
2020-05-14 21:54:51
device_info-sgtin
3035C33A881Cxxxxxxxxxxxxx
2020-05-14 21:54:51
device_info-version
1.0.0-4.0.0-1.4.2-1.1.0
2020-05-14 21:54:51
firmware-firmware_command
idle
2020-05-14 21:54:51
firmware-firmware_status
up_to_date
2020-05-14 21:54:51
firmware-firmware_update_start
1
2020-05-14 21:54:51
firmware-firmware_upload_progress
0
2020-05-14 21:54:51
firmware-inclusion_status
included
2020-05-14 21:54:51
lastRequestState
Error 503 Service Unavailable
2020-05-15 21:31:16
mower-error
no_message
2020-05-14 21:54:51
mower-last_error_code
no_message
2020-05-14 21:54:51
mower-manual_operation
0
2020-05-14 21:54:51
mower-source_for_next_start
countdown_time
2020-05-15 18:33:59
mower-status
parked_park_selected
2020-05-15 18:33:59
mower-timestamp_last_error_code
temporarily unavailable
2020-05-14 21:54:51
mower-timestamp_next_start
2020-05-16 10:00
2020-05-15 18:33:59
mower_stats-charging_cycles
19
2020-05-15 19:01:27
mower_stats-collisions
6656
2020-05-15 19:01:27
mower_stats-cutting_time
17
2020-05-15 19:01:27
mower_stats-running_time
19
2020-05-15 19:01:27
mower_timer-mower_timer
0
2020-05-15 18:33:59
mower_type-base_software_up_to_date
1
2020-05-14 21:54:51
mower_type-device_type
18
2020-05-14 21:54:51
mower_type-device_variant
4
2020-05-14 21:54:51
mower_type-mainboard_version
20.19
2020-05-14 21:54:51
mower_type-mmi_version
20.9
2020-05-14 22:03:55
mower_type-serial_number
2007xxxxxx
2020-05-14 21:54:51
radio-quality
40
2020-05-15 21:31:30
radio-state
poor
2020-05-15 18:21:10
startpoint-1-enabled
1
2020-05-14 22:05:13
startpoint-2-enabled
1
2020-05-15 21:30:29
startpoint-3-enabled
1
2020-05-14 21:54:51
state
parked_park_selected

Da ist der Eintrag "lastRequestState
Error 503 Service Unavailable" vielleicht interessant?

Seidenschnabel

Hier noch einmal ein Auszug aus der Logdatei mit verbose 4 an der Bridge

Zitat2020.05.15 21:42:46 3: GardenaSmartBridge (myGardenaBridge) - JSON error while request
2020.05.15 21:43:18 4: GardenaSmartBridge (myGardenaBridge) - Read password from file
2020.05.15 21:43:18 4: GardenaSmartBridge (myGardenaBridge) - Read password from file
2020.05.15 21:43:18 4: GardenaSmartBridge (myGardenaBridge) - Read password from file
2020.05.15 21:43:18 4: GardenaSmartBridge (myGardenaBridge) - Read password from file
2020.05.15 21:43:18 4: GardenaSmartBridge (myGardenaBridge) - Read password from file
2020.05.15 21:43:18 4: GardenaSmartBridge (myGardenaBridge) - Read password from file
2020.05.15 21:43:18 4: GardenaSmartBridge (myGardenaBridge) - Read password from file
2020.05.15 21:43:18 4: GardenaSmartBridge (myGardenaBridge) - Read password from file
2020.05.15 21:43:18 4: GardenaSmartBridge (myGardenaBridge) - Read password from file
2020.05.15 21:43:18 4: GardenaSmartBridge (myGardenaBridge) - Read password from file
2020.05.15 21:43:18 4: GardenaSmartBridge (myGardenaBridge) - Read password from file
2020.05.15 21:43:18 4: GardenaSmartBridge (myGardenaBridge) - Read password from file
2020.05.15 21:43:30 4: GardenaSmartBridge (myGardenaBridge) - Send with URL: https://sg-api.dss.husqvarnagroup.net/sg-1/devices/0cb1c398-78fa-43ab-a5a8-dcb3825xxxxxx/abilities/mower/command?locationId=72513050-6f05-4559-b476-362bcxxxxxxx, HEADER: secret!, DATA: secret!, METHOD: POST
2020.05.15 21:43:31 3: GardenaSmartBridge (myGardenaBridge) - JSON error while request

crusader85

Hallo allerseits,
ich habe den City 250 seit heute und habe das gleiche Problem wie Seidenschnabel.

Grüße

crusader85

crusader85

Ich habe mich mal etwas schlau gemacht. Die Definitionen bei Husqvarna haben sich verändert.
Command{
oneOf ->
MowerCommand{
id RandomIdentifierstring
example: request-12312
Random value, only used for logging purposes.

type string
Enum:
[ MOWER_CONTROL ]
attributes {
command* string
START_SECONDS_TO_OVERRIDE - Manual operation, use 'seconds' attribute to define duration.
START_DONT_OVERRIDE - Automatic operation.
PARK_UNTIL_NEXT_TASK - Cancel the current operation and return to charging station.
PARK_UNTIL_FURTHER_NOTICE - Cancel the current operation, return to charging station, ignore schedule.
Enum:
[ START_SECONDS_TO_OVERRIDE, START_DONT_OVERRIDE, PARK_UNTIL_NEXT_TASK, PARK_UNTIL_FURTHER_NOTICE ]
seconds integer
default: 1800
example: 3600
defines duration of manual mowing. MUST be positive multiple of 60.

}
}


https://developer.husqvarnagroup.cloud/apis/GARDENA+smart+system+API#/swagger

start_override_timer wurde zum Beispiel durch START_SECONDS_TO_OVERRIDE ersetzt.

Kannst du mal danach schauen @CoolTux?

CoolTux

Zitat von: crusader85 am 17 Mai 2020, 15:41:30
Ich habe mich mal etwas schlau gemacht. Die Definitionen bei Husqvarna haben sich verändert.
Command{
oneOf ->
MowerCommand{
id RandomIdentifierstring
example: request-12312
Random value, only used for logging purposes.

type string
Enum:
[ MOWER_CONTROL ]
attributes {
command* string
START_SECONDS_TO_OVERRIDE - Manual operation, use 'seconds' attribute to define duration.
START_DONT_OVERRIDE - Automatic operation.
PARK_UNTIL_NEXT_TASK - Cancel the current operation and return to charging station.
PARK_UNTIL_FURTHER_NOTICE - Cancel the current operation, return to charging station, ignore schedule.
Enum:
[ START_SECONDS_TO_OVERRIDE, START_DONT_OVERRIDE, PARK_UNTIL_NEXT_TASK, PARK_UNTIL_FURTHER_NOTICE ]
seconds integer
default: 1800
example: 3600
defines duration of manual mowing. MUST be positive multiple of 60.

}
}


https://developer.husqvarnagroup.cloud/apis/GARDENA+smart+system+API#/swagger

start_override_timer wurde zum Beispiel durch START_SECONDS_TO_OVERRIDE ersetzt.

Kannst du mal danach schauen @CoolTux?

Da es bei anderen Funktioniert möchte ich hier erstmal vorsichtig sein.
Kannst Du den Befehl testen? Im Device Modul in Zeile 294 den Befehl austauschen.


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

crusader85

Kann ich, allerdings bekomme ich einen Fehler 400. Ich muss aber auch gestehen, dass ich JSON und Perl nicht beherrsche.
Wie muss das aussehen? So?
elsif ( lc $cmd eq 'startoverridetimer' ) {
        $payload = '"name":"start_seconds_to_override","parameters":{"seconds":'
          . $aArg->[0] * 60 . '}';

    }


CoolTux

Zitat von: crusader85 am 17 Mai 2020, 15:59:03
Kann ich, allerdings bekomme ich einen Fehler 400. Ich muss aber auch gestehen, dass ich JSON und Perl nicht beherrsche.
Wie muss das aussehen? So?
elsif ( lc $cmd eq 'startoverridetimer' ) {
        $payload = '"name":"start_seconds_to_override","parameters":{"seconds":'
          . $aArg->[0] * 60 . '}';

    }


Nach Deiner Aussage wurde ich tippen

$payload = '"name":"start_seconds_to_override","parameters":{"seconds":'

gegen

$payload = '"name":"START_SECONDS_TO_OVERRIDE","parameters":{"seconds":'

Persönlich glaube ich aber nicht dran.

Du kannst mir aber bitte einmal einen verbose 4 zukommen lassen. Da sollte so alle 60s ein ellenlanger Eintrag im Log auftauchen. Den brauche ich komplett.
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

crusader85

erst mal vom Sileno:
GardenaSmartBridge (meinGarten) - Send with URL: https://sg-api.dss.husqvarnagroup.net/sg-1/devices/<DEVICE ID gelöscht von mir>/abilities/mower/command?locationId=<LocationID gelöscht von mir>, HEADER: secret!, DATA: secret!, METHOD: POST
2020.05.17 16:04:28 4: GardenaSmartBridge (SILENO) - IOWrite: "name":"START_SECONDS_TO_OVERRIDE","parameters":{"seconds":240} <DEVICE ID gelöscht von mir> mower IODevHash=HASH(0x7f2e2d0)
2020.05.17 16:04:28 3: GardenaSmartBridge (meinGarten) - JSON error while request
2020.05.17 16:04:28 5: GardenaSmartBridge (SILENO) - RequestERROR: Error 400 Bad Request
2020.05.17 16:04:28 5: GardenaSmartBridge (SILENO) - RequestERROR: received http code 400 receive Error after requesting gardena cloud


CoolTux

Das ist ja beim Schalten.
Aber da muss noch alle 60s was kommen. Was großes.
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

Benwish

Ich habe auch das gleiche Problem wie Seidenschnabel. Mäher ist richtig eingebunden, die Statusmeldungen empfängt FHEM auch, funktioniert alles.
Aber wenn man startOverrideTimer verwendet, kommt der Fehler 503 Service Unavailable und wenn man die anderen Befehle sendet, kommt zwar "processing command" aber es tut sich nichts.

Seidenschnabel

Neue Firmware? Ich warte jetzt mal, da kommen bestimmt noch einige User dazu.