Gardena Smart System Analyse

Diskutiere Gardena Smart System Analyse im Gardena App Forum im Bereich Gardena; Habe mich mit der Gardena Smart Sytem IOS App ein wenig beschäftigt und herausgefunden, wie die Kommunikation grundsätzlich funktioniert. Der...
  • Gardena Smart System Analyse Beitrag #1
G

gerrieg

Dabei seit
24.07.2016
Beiträge
12
Likes
0
Habe mich mit der Gardena Smart Sytem IOS App ein wenig beschäftigt und herausgefunden, wie die Kommunikation grundsätzlich funktioniert. Der Datenaustausch erfolgt mittels JSON.

Die root URL ist: https://sg-api.dss.husqvarnagroup.net/sg-1
Man kann auch unter OSX mit Safari die Applikation aufrufen: https://sg-api.dss.husqvarnagroup.net/sg-1/index/ios/

In den Beispielen habe ich meine ID's zur Sicherheit verändert.

1.) Login
Man muss user/passwort and eine URL schicken und bekommt eine user_id und einen Token zurück. Die user_id ist für die jeweilige user/passwort Kombination immer gleich, der Token ändert sich immer. Ist also eine SessionId.

URL:
Code:
https://sg-api.dss.husqvarnagroup.net/sg-1/sessions

Request Header:
Code:
Content-Type:application/json

POST Request:
Code:
{
    "sessions": {
        "email": "[email protected]",
        "password": "PASSWORT"
    }
}

Beispiel:
Code:
curl --data '{"sessions":{"email":"[email protected]","password":"PASSWORT"}}' --header "Content-Type:application/json" https://sg-api.dss.husqvarnagroup.net/sg-1/sessions

Response:
Code:
{
    "sessions": {
        "token": "7867e26c-05eb-4a60-bf30-7c3a1b4480aa",
        "user_id": "196ab891-a521-872c-ab1d-1685d1e77afc"
    }
}

Den Token muss man jetzt immer in den Folgerequests als HTTP Header 'X-Session' mitsenden.

2.) Locations
Für die weiteren Requests benötigt man eine locations_id, diese bekommt man mit der user_id. Die location_id ist ebenfalls für die jeweilige user/passwort Kombination immer gleich

URL:
Code:
https://sg-api.dss.husqvarnagroup.net/sg-1/locations/?user_id=196ab891-a521-872c-ab1d-1685d1e77afc

Request Header:
Code:
Content-Type:application/json
X-Session: 7867e26c-05eb-4a60-bf30-7c3a1b4480aa

Beispiel:
Code:
curl --header "Content-Type:application/json" --header "X-Session:b38f9351-ccb7-40ea-8f2f-0bbf86ee5330" https://sg-api.dss.husqvarnagroup.net/sg-1/locations/?user_id=196ab891-a521-872c-ab1d-1685d1e77afc

Response:
Code:
{
    "locations": [{
        'id': '1c8b301f-22c8-423d-1b4d-ec25315d1377',
        'name': 'My Garden',
        'devices': ['75cfc1f8-a20c-51d6-c5ea-1b5ecdde80c1', 'e3c1b615-7351-25fc-a551-1908254a2b3e']
    }]
}

3.) Devices
Mit der locations_id bekommt man dann alle Infos zu den Geräten

URL:
Code:
https://sg-api.dss.husqvarnagroup.net/sg-1/devices?locationId=1c8b301f-22c8-423d-1b4d-ec25315d1377

Request Header:
Code:
Content-Type:application/json
X-Session: 7867e26c-05eb-4a60-bf30-7c3a1b4480aa

Beispiel:
Code:
curl --header "Content-Type:application/json" --header "X-Session:b38f9351-ccb7-40ea-8f2f-0bbf86ee5330" https://sg-api.dss.husqvarnagroup.net/sg-1/devices?locationId=1c8b301f-22c8-423d-1b4d-ec25315d1377

Response:
Code:
{
    "devices": [{
        'id': '75cfc1f8-a20c-51d6-c5ea-1b5ecdde80c1',
        'name': 'Gardena Zentrale',
        'description': 'Gateway device',
        'category': 'gateway',
        'configuration_synchronized': true,
        'abilities': [{
            'id': 'f9667bc2-b5e2-11e5-b6a5-32212aec0665',
            'name': 'device_info',
            'type': 'device_info',
            'properties': [{
                'id': 'f9667bc2-b5e2-11e5-b6a5-100000000000',
                'name': 'manufacturer',
                'value': 'Seluxit',
                'writeable': false,
                'supported_values': []
            }, {
                "id": "f9667bc2-b5e2-11e5-b6a5-100000000001",
                "name": "product",
                "value": "1-GATEWAY",
                "writeable": false,
                "supported_values": []
            }, {
                "id": "f9667bc2-b5e2-11e5-b6a5-100000000002",
                "name": "serial_number",
                "value": "N/A",
                "writeable": false,
                "supported_values": []
            }, {
                "id": "f9667bc2-b5e2-11e5-b6a5-100000000003",
                "name": "sgtin",
                "value": "N/A",
                "writeable": false,
                "supported_values": []
            }, {
                "id": "f9667bc2-b5e2-11e5-b6a5-100000000004",
                "name": "version",
                "value": "1.2.1",
                "writeable": false,
                "supported_values": []
            }, {
                "id": "f9667bc2-b5e2-11e5-b6a5-100000000005",
                "name": "category",
                "value": "gateway",
                "writeable": false,
                "supported_values": []
            }, {
                "id": "f9667bc2-b5e2-11e5-b6a5-100000000006",
                "name": "last_time_online",
                "value": "N/A",
                "writeable": false,
                "supported_values": []
            }]
        }, {
            "id": "b74cbb14-b5e4-11e5-86c5-32212aec0665",
            "name": "gateway",
            "type": "gateway",
            "properties": [{
                'id': 'b74cbb14-b5e4-11e5-86c5-100000000000',
                'name': 'ip_address',
                'value': '192.168.1.217',
                'writeable': false,
                'supported_values': []
            }, {
                "id": "b74cbb14-b5e4-11e5-86c5-100000000001",
                "name": "time_zone",
                "value": " Europe/Vienna (CEST, +0200)",
                "writeable": false,
                "supported_values": []
            }]
        }],
        "scheduled_events": [],
        "status_report_history": [],
        "constraints": []
    }, {
        "id": "e3c1b615-7351-25fc-a551-1908254a2b3e",
        "name": "Rosi",
        "category": "mower",
        "configuration_synchronized": true,
        "abilities": [{
            'id': '8df62358-071c-42e0-b7e2-47ba5bce8e79',
            'name': 'device_info',
            'type': 'device_info',
            'properties': [{
                'id': '7b2af5e2-cd45-4e59-b131-4585cbf7e58a',
                'name': 'manufacturer',
                'value': 'Gardena',
                'writeable': false,
                'supported_values': []
            }, {
                "id": "4acce2d8-e395-4ea3-9f6e-fc606fefae31",
                "name": "product",
                "value": "3-DEVICE",
                "writeable": false,
                "supported_values": []
            }, {
                "id": "83df149b-3509-446a-9f8c-4d1dc71b8a7a",
                "name": "serial_number",
                "value": "00008438",
                "writeable": false,
                "supported_values": []
            }, {
                "id": "307de2bd-fef1-43d8-b77a-e590a059a5c4",
                "name": "version",
                "value": "3-2.4.7-1.2.0-4380-MODIFIED-ICD1.16_1.2.0",
                "writeable": false,
                "supported_values": []
            }, {
                "id": "1900a86b-661c-47d2-9f42-f66585f8da82",
                "name": "category",
                "value": "mower",
                "writeable": false,
                "supported_values": []
            }, {
                "id": "c5693fc4-0cb2-4997-ba51-b32732cd41d0",
                "name": "last_time_online",
                "value": "2016-07-21T13:28:48Z",
                "writeable": false,
                "supported_values": []
            }, {
                "id": "e1e2e3c2-a424-415a-85bd-212a7ab49fd0",
                "name": "sgtin",
                "value": "3034F8EE90060080000020F6",
                "writeable": false,
                "supported_values": []
            }]
        }, {
            "id": "c9147b85-c3eb-41e7-863c-bb24694e586a",
            "name": "battery",
            "type": "battery_power",
            "properties": [{
                'id': 'c6f3ad1f-ced9-49f1-8710-268b74b007a8',
                'name': 'level',
                'value': 100,
                'timestamp': '2016-07-21T13:28:16Z',
                'unit': '%',
                'writeable': false,
                'supported_values': []
            }, {
                "id": "78286acb-3ed1-48c3-bd92-2cacc348f5c1",
                "name": "rechargable_battery_status",
                "value": "ok",
                "timestamp": "2016-07-21T13:28:16Z",
                "writeable": false,
                "supported_values": ['weak', 'ok', 'undefined']
            }, {
                "id": "c168f578-a1c6-408a-a132-7124b92ffba5",
                "name": "charging",
                "value": false,
                "timestamp": "2016-07-21T13:28:16Z",
                "writeable": false,
                "supported_values": ['true', 'false']
            }]
        }, {
            "id": "c924fe09-5a62-4334-a3c2-6c6e8348707c",
            "name": "radio",
            "type": "radio_link",
            "properties": [{
                'id': '24bfae0d-a42c-40b3-b19f-a8a704502bbe',
                'name': 'quality',
                'value': 50,
                'timestamp': '2016-07-21T13:28:48Z',
                'unit': '%',
                'writeable': false,
                'supported_values': []
            }, {
                "id": "a5bc1236-0a55-4cf0-90a4-bbe6cf4aef0d",
                "name": "connection_status",
                "value": "status_device_unreachable",
                "timestamp": "2016-07-21T16:07:13.013366Z",
                "writeable": false,
                "supported_values": ['unknown', 'status_device_unreachable', 'status_device_alive']
            }, {
                "id": "fec78e5e-6b5a-4e56-b3a2-3b08322878bd",
                "name": "state",
                "value": "good",
                "timestamp": "2016-07-21T13:28:48Z",
                "writeable": false,
                "supported_values": ['poor', 'good', 'excellent', 'undefined']
            }]
        }, {
            "id": "1d6a1a0a-aa13-4057-892d-59522d5a719c",
            "name": "mower",
            "type": "robotic_mower",
            "properties": [{
                'id': 'ecd040e6-f5d4-4517-a2dd-1948616caf3d',
                'name': 'manual_operation',
                'value': false,
                'timestamp': '2016-07-21T13:28:14Z',
                'writeable': false,
                'supported_values': []
            }, {
                "id": "c1c48c80-589a-4b2e-a73d-0485f4d2a22f",
                "name": "status",
                "value": "off_disabled",
                "timestamp": "2016-07-21T13:28:17Z",
                "writeable": false,
                "supported_values": ['paused', 'ok_cutting', 'ok_searching', 'ok_charging', 'ok_leaving', 'wait_updating', 'wait_power_up', 'parked_timer', 'parked_park_selected', 'off_disabled', 'off_hatch_open', 'unknown', 'error', 'error_at_power_up', 'off_hatch_closed', 'ok_cutting_timer_overridden', 'parked_autotimer', 'parked_daily_limit_reached', 'undefined']
            }, {
                "id": "594b6456-57a4-47e4-8736-0a392c87856b",
                "name": "source_for_next_start",
                "value": "week_timer",
                "timestamp": "2016-07-21T13:28:16Z",
                "writeable": false,
                "supported_values": ['no_source', 'completed_cutting_daily_limit', 'week_timer', 'countdown_timer', 'mower_charging', 'completed_cutting_autotimer', 'undefined']
            }, {
                "id": "dbace91b-b24c-499d-ac69-0fd088af47db",
                "name": "timestamp_next_start",
                "value": "2016-07-22T08:00:00.000000001Z",
                "timestamp": "2016-07-21T13:28:16Z",
                "writeable": false,
                "supported_values": []
            }, {
                "id": "0e12f167-afb7-4303-914b-e14dfb364026",
                "name": "override_end_time",
                "value": "1970-01-01T00:00:00.000000001Z",
                "timestamp": "2016-07-21T13:28:14Z",
                "writeable": false,
                "supported_values": []
            }]
        }, {
            "id": "db40b97e-6ded-43ac-ba53-211acc504404",
            "name": "internal_temperature",
            "type": "internal_temperature_sensor",
            "properties": [{
                'id': 'ba006658-9762-49c7-ba80-fee5a51600a2',
                'name': 'temperature',
                'value': 32,
                'timestamp': '2016-07-21T13:28:48Z',
                'unit': 'C',
                'writeable': false,
                'supported_values': []
            }]
        }],
        "scheduled_events": [{
            'type': 'active',
            'start_at': '08:00',
            'end_at': '13:00',
            'weekday': 'monday',
            'recurrence': {
                'type': 'weekly',
                'weekdays': ['monday']
            },
            "id": "6bb76641-b091-4f9f-9113-0070adbd88db"
        }, {
            "type": "active",
            "start_at": "08:00",
            "end_at": "13:00",
            "weekday": "wednesday",
            "recurrence": {
                "type": "weekly",
                "weekdays": ['wednesday']
            },
            "id": "96bbfb82-9e7c-4f19-a23f-e109a8cb63e7"
        }, {
            "type": "active",
            "start_at": "08:00",
            "end_at": "13:00",
            "weekday": "thursday",
            "recurrence": {
                "type": "weekly",
                "weekdays": ['thursday']
            },
            "id": "a891ee16-0454-4a2b-81a0-47ad6b252f2f"
        }, {
            "type": "active",
            "start_at": "08:00",
            "end_at": "13:00",
            "weekday": "friday",
            "recurrence": {
                "type": "weekly",
                "weekdays": ['friday']
            },
            "id": "c442a34e-263a-431c-8acd-7c5feae0e8b9"
        }, {
            "type": "active",
            "start_at": "08:00",
            "end_at": "13:00",
            "weekday": "tuesday",
            "recurrence": {
                "type": "weekly",
                "weekdays": ['tuesday']
            },
            "id": "658314ef-6e8b-47f3-8181-5f93a3da3ab2"
        }],
        "status_report_history": [{
            'level': 'warning',
            'timestamp': '2016-07-21T16:07:13.013366Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'info',
            'timestamp': '2016-07-21T07:30:26.680042Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_ALIVE',
            'raw_message': 'STATUS_DEVICE_ALIVE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-21T07:30:26.386842Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'info',
            'timestamp': '2016-07-19T10:17:04.157147Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_ALIVE',
            'raw_message': 'STATUS_DEVICE_ALIVE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-19T10:17:03.862574Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T14:07:13.304845Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T13:07:13.287341Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T12:07:13.302420Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T11:07:13.307148Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T10:07:13.149764Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T09:07:13.160917Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T08:07:13.163727Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T07:07:13.136201Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T06:07:13.155918Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T05:07:13.162761Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T04:07:13.142187Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T03:07:13.143340Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T02:07:13.166782Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T01:07:13.172921Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-18T00:07:13.155377Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-17T23:07:13.162577Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-17T22:07:13.173293Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-17T21:07:13.157209Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-17T20:07:13.168704Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-17T19:07:13.178978Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-17T18:07:13.158740Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-17T17:07:13.172268Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-17T14:07:13.170698Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-17T13:07:13.176930Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }, {
            'level': 'warning',
            'timestamp': '2016-07-17T12:07:13.182954Z',
            'source': 'gateway',
            'message': 'STATUS_DEVICE_UNREACHABLE',
            'raw_message': 'STATUS_DEVICE_UNREACHABLE'
        }],
        "constraints": [{
            'resource_name': 'scheduled_events',
            'values': [{
                'name': 'events_week_max',
                'value': 14,
                'unit': ''
            }, {
                'name': 'events_day_max',
                'value': 2,
                'unit': ''
            }, {
                'name': 'recurrence_weekdays_max',
                'value': 1,
                'unit': ''
            }]
        }]
    }]
}

4.) Befehle senden
Man braucht die deviceId und die locationId
URL:
Code:
https://sg-api.dss.husqvarnagroup.net/sg-1/devices/e3c1b615-7351-25fc-a551-1908254a2b3e/abilities/mower/command?locationId=1c8b301f-22c8-423d-1b4d-ec25315d1377

Request Header:
Code:
Content-Type:application/json
X-Session: 7867e26c-05eb-4a60-bf30-7c3a1b4480aa

POST Request:
Code:
# Parken bis zum nächsten Zeitplan
{
    "name": "park_until_next_timer"
}
# Parken und Zeitplan pausieren
{
    "name": "park_until_further_notice"
}




# Starten und Zeitpläne fortsetzen
{
    "name": "start_resume_schedule"
}
# 24 Stunden lang mähen
{
    "name": "start_override_timer",
    "parameters": {
        "duration": 1440
    }
}
# 3 Tage mähen
{
    "name": "start_override_timer",
    "parameters": {
        "duration": 4320
    }
}

Beispiel:
Code:
curl --data '{"name":"start_resume_schedule"}' --header "Content-Type:application/json" --header "X-Session:7867e26c-05eb-4a60-bf30-7c3a1b4480aa" https://sg-api.dss.husqvarnagroup.net/sg-1/devices/e3c1b615-7351-25fc-a551-1908254a2b3e/abilities/mower/command?locationId=1c8b301f-22c8-423d-1b4d-ec25315d1377
 
  • Gardena Smart System Analyse Beitrag #2
W

WiBo

Dabei seit
01.07.2016
Beiträge
23
Likes
1
Hallo [COLOR= #333333] gerrieg,[/COLOR]

[COLOR= #333333]das habe ich gesucht.[/COLOR]

[COLOR= #333333]Bin nur in Json nicht fit.
Bräuchte für mein SmartHome System das ganze in PHP.
kannste mir da weiterhelfen ?[/COLOR]
 
  • Gardena Smart System Analyse Beitrag #3
N

N0rdl1cht

Dabei seit
08.05.2016
Beiträge
69
Likes
0
Hi,

cool. Ich hatte auch gerade angefangen die API zu erforschen. Konnte mir die Responses nur noch nicht angucken.

WiBo

JSON ist das Format in dem die Daten vom Server empfangen bzw. gesendet werden. Welches SmartHome verwendest du denn?
 
  • Gardena Smart System Analyse Beitrag #5
G

gerrieg

Dabei seit
24.07.2016
Beiträge
12
Likes
0
Ist viele Jahre her, als ich noch PHP programmiert habe. Bin Java Entwickler, wenn ich mehr Zeit habe, werde ich vielleicht ein Binding für Openhab machen.
Momentan schaut's aber zeitmäßig schlecht aus.
 
  • Gardena Smart System Analyse Beitrag #6
W

WiBo

Dabei seit
01.07.2016
Beiträge
23
Likes
1
Ist kein Problem,

habe jemanden gefunden der mir eine JSON / PHP Class schreibt.

Danke für die Anwort
 
  • Gardena Smart System Analyse Beitrag #7
N

N0rdl1cht

Dabei seit
08.05.2016
Beiträge
69
Likes
0
Es kommt ja auch drauf an, was du in deinem SmartHome mit dem Roby machen willst. Ich versuche gerade in FHEM die Lade- und Mähzeiten zu protokollieren. Nächster Schritt wäre dann die Anzeige ob der Garten für die Lütten frei ist.

gerrieg Ich finde ja "[COLOR= #333333]Rosi" als Mähernamen toll.[/COLOR]
 
  • Gardena Smart System Analyse Beitrag #9
M

Meexx

Dabei seit
09.04.2016
Beiträge
95
Likes
2
Hi, sagtmal sind das die zugangsdaten von der APP ? oder muss man da was neu anlegen ?
 
  • Gardena Smart System Analyse Beitrag #10
M

Meexx

Dabei seit
09.04.2016
Beiträge
95
Likes
2
Ok hat sich erledigt...... Hatte immer das falsche passwort genommen [emoji106] funktioniert auch auf Android ich kann nur das Menü zum Zeitplan nicht öffnen
 
  • Gardena Smart System Analyse Beitrag #11
G

gerrieg

Dabei seit
24.07.2016
Beiträge
12
Likes
0
Wie man das auf Deutsch umstellt hab ich mir noch nicht angesehen, das Menü geht ja auch nur in der App wie Meexx schon erwähnt hat. Schätze beides ist App-Spezifisch.
 
  • Gardena Smart System Analyse Beitrag #12
W

WiBo

Dabei seit
01.07.2016
Beiträge
23
Likes
1
Wie man das auf Deutsch umstellt hab ich mir noch nicht angesehen, das Menü geht ja auch nur in der App wie Meexx schon erwähnt hat. Schätze beides ist App-Spezifisch.

OK Danke für die Info
 
  • Gardena Smart System Analyse Beitrag #13
S

Schaussi

Dabei seit
29.07.2016
Beiträge
11
Likes
0
Vielen Dank gerrieg für die Analyse.
Habe dazu eine (vorläufige) PHP-Klasse erstellt, falls sie jemand benötigt.

Gibt es evtl. fürs Senden der Befehle eine Möglichkeit um an Returncodes zu kommen? "Command accepted" / "Error" oder Ähnliches würde bereits ausreichen...

Danke
 
  • Gardena Smart System Analyse Beitrag #14
W

WiBo

Dabei seit
01.07.2016
Beiträge
23
Likes
1
Hallo Schaussi,

Danke für das Script.

Abfrage funkt.

Senden von Commands geht wohl noch nicht?
 
  • Gardena Smart System Analyse Beitrag #15
G

gerrieg

Dabei seit
24.07.2016
Beiträge
12
Likes
0
Danke Schaussi für das Script.
Ich glaube der Returncode ist der HTTP Status. Bei HTTP 200 (OK) wurde der Befehl akzeptiert, bei HTTP 400 (Bad Request) passt irgendetwas nicht. Wenn beim Login User/Pass nicht stimmt, kommt HTTP 401 (Unauthorized) zurück.
 
  • Gardena Smart System Analyse Beitrag #16
S

Schaussi

Dabei seit
29.07.2016
Beiträge
11
Likes
0
Danke für den Hinweis, war mein Fehler - bei sendCommand() hatte die X-Session gefehlt, habe das Skript aktualisiert.
Jetzt sollte es funktionieren und es kommt auch ein Json-Response beim Senden der Befehle.
 
  • Gardena Smart System Analyse Beitrag #17
S

Schaussi

Dabei seit
29.07.2016
Beiträge
11
Likes
0
...leider doch noch nicht ganz.
Bsp.:
Beim Senden von "park_until_next_timer" kommt folgender Json-Response:
{"errors":[{'attribute':'locationId','error':'empty'}]}
Der Status ist danach weiterhin "ok_cutting".
Auch ein Ergänzen einer POST-Variable "locationId" behebt das Problem nicht...
 
  • Gardena Smart System Analyse Beitrag #18
S

Schaussi

Dabei seit
29.07.2016
Beiträge
11
Likes
0
Update: SendCommand funktioniert nun ebenfalls (Code ist aktualisiert).

Nebenbei noch ein Hinweis, den ich heute von der Hotline erfahren habe:
Wenn die Ladestation vom Stromnetz getrennt wird, muss jedes Mal danach der Mäher manuell gestartet werden. D.h. auch wenn PIN eingegeben wurde und am Display "Bereit" steht - es reicht nicht aus. Man muss zusätzlich explizit "Start" am Mäher drücken und die Abdeckung schließen, bevor Befehle von der App bzw. über die API angenommen werden.
 
  • Gardena Smart System Analyse Beitrag #19
W

WiBo

Dabei seit
01.07.2016
Beiträge
23
Likes
1
Hallo Schaussi

nochmals vielen Dank für die Info und das Script.

Skript macht was es soll einsch Rückmeldungen.

Werde es auf mein System anpassen.

Wenn ich fertig bin, sofern Du es akzeptierst, werde ich das mit Hinweis auf dich bei IP-Symcon veröffentlichen.
 
  • Gardena Smart System Analyse Beitrag #20
S

Schaussi

Dabei seit
29.07.2016
Beiträge
11
Likes
0
Gerne, kein Problem.
Wird natürlich noch weiter aktualisiert, da noch einiges fehlt (Batteriestatus, ...), kann aber eine Weile dauern.
Für mich reicht es vorerst so aus, weil sich der Mäher somit von der Haussteuerung z.B. bei Unwetter automatisch parken und danach wieder starten lässt.
Über kleine Umwege ist es auch mit OpenHAB oder Ähnlichem nutzbar.
Man muss also nicht auf das Robonect H30X für den Sileno warten :) wobei das sicher auch noch interessant wird.
 
Thema:

Gardena Smart System Analyse

Gardena Smart System Analyse - Ähnliche Themen

Landxcape Neuer LandXcape LX790 meldet nur Fehler E1 - LOG: Nachdem ich mir beim verlegen des Drahtes meinen Rücken runiert habe wollte ich danach ENDLICH den Roboter fahren sehen. Roboter hatte an der...
[Mr. Gardener MR1000] Anleitung - Bluetooth-Mähroboter in's Smart Home einbinden (Amazon Echo): Moin moin, ich hatte schon länger das Bedürfnis, meinen MR 1000 von Mr. Gardener (also Grizzly und vielleicht auch einige Yardforce-Modelle ?) in...
Gardena Smart System einrichten: Hallo Leute, habe vor kurzem das Gardena Smart Gateway eingerichtet und möchte Erfahrungen weitergeben, weil ich zuerst daran gescheitert bin...
Landroid S Neues Wlan und keine Appverbindung mehr: Hallo ihr Lieben, nachdem ich ein neues Internet mit neuem Wlan und Router(Fritzbox7560) bekommen habe, kann ich den 106Si nicht mehrmit (beiden)...
Mäherstatus loggen: Hallo allerseits, ich wollte eine etwas bessere Übersicht über die Betriebszeiten von meinen Mähern. Dazu habe ich unter Verwendung von GitHub -...
Beiträge
131
Erstellt
2016
Aktualisiert

Top Poster

  • R

    roboschwall

    Beiträge: 19
  • W

    WiBo

    Beiträge: 16
  • G

    gerrieg

    Beiträge: 12
  • C

    Cernon

    Beiträge: 10

Häufigste Beiträge

Beliebte Beiträge

M
martin.b07
So, habe mir etwas in Node-Red zusammengebastelt. Ist noch nicht ganz fertig, aber ein Anfang. Aktuell funktioniert das Senden der Befehlt und...
Oben