Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 20 von 50

Thema: Gardena Smart System Analyse

  1. #1
    Neuer Benutzer
    Registriert seit
    24.07.16
    Land
    Österreich
    Beiträge
    11
    Danke: 5

    Standard Gardena Smart System Analyse

    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": "max.mustermann@email.com",
            "password": "PASSWORT"
        }
    }
    Beispiel:
    Code:
    curl --data '{"sessions":{"email":"max.mustermann@email.com","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
    Geändert von gerrieg (24.07.16 um 14:47:26 Uhr)

  2. Die folgenden 5 Benutzer sagen Danke zu gerrieg für diesen Beitrag:

    greyhound (25.07.16), N0rdl1cht (25.07.16), Schaussi (29.07.16), Ugros (25.07.16), WiBo (24.07.16)

  3. #2
    Neuer Benutzer
    Registriert seit
    01.07.16
    Ort
    Hunsrück
    Land
    DE
    Beiträge
    24
    Danke: 4

    Standard AW: Gardena Smart System Analyse

    Hallo gerrieg,

    das habe ich gesucht.

    Bin nur in Json nicht fit.
    Bräuchte für mein SmartHome System das ganze in PHP.
    kannste mir da weiterhelfen ?



  4. #3
    Neuer Benutzer
    Registriert seit
    08.05.16
    Land
    Deutschland
    Beiträge
    14
    Danke: 0

    Standard AW: Gardena Smart System Analyse

    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?
    Robo:
    Gardena smart Sileno BJ. 2016

    SmartHome:

    FHEM: RasPi + CUL + NodeMCUs

  5. #4
    Neuer Benutzer
    Registriert seit
    01.07.16
    Ort
    Hunsrück
    Land
    DE
    Beiträge
    24
    Danke: 4

    Standard AW: Gardena Smart System Analyse

    Hi,

    https://www.symcon.de/

    wird über PHP, JSON Scripte gesteuert

  6. #5
    Neuer Benutzer
    Registriert seit
    24.07.16
    Land
    Österreich
    Beiträge
    11
    Danke: 5

    Standard AW: Gardena Smart System Analyse

    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.

  7. #6
    Neuer Benutzer
    Registriert seit
    01.07.16
    Ort
    Hunsrück
    Land
    DE
    Beiträge
    24
    Danke: 4

    Standard AW: Gardena Smart System Analyse

    Ist kein Problem,

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

    Danke für die Anwort

  8. #7
    Neuer Benutzer
    Registriert seit
    08.05.16
    Land
    Deutschland
    Beiträge
    14
    Danke: 0

    Standard AW: Gardena Smart System Analyse

    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 "Rosi" als Mähernamen toll.
    Robo:
    Gardena smart Sileno BJ. 2016

    SmartHome:

    FHEM: RasPi + CUL + NodeMCUs

  9. #8
    Neuer Benutzer
    Registriert seit
    01.07.16
    Ort
    Hunsrück
    Land
    DE
    Beiträge
    24
    Danke: 4

    Standard AW: Gardena Smart System Analyse

    Hallo gerrieg ,

    haste eine Ahnung wie ich im Browser https://sg-api.dss.husqvarnagroup.net/sg-1/index/ios/ auf Deutsch einstellen kann.

    kommt alles in Englisch

  10. #9
    Benutzer Avatar von Meexx
    Registriert seit
    09.04.16
    Ort
    MV
    Land
    Deutschland
    Beiträge
    65
    Danke: 5

    Standard AW: Gardena Smart System Analyse

    Hi, sagtmal sind das die zugangsdaten von der APP ? oder muss man da was neu anlegen ?
    Grüße Ralf

    Mäher:
    aktuell: Gardena Smart Sileno (2016)

    Hausautomation:
    aktuell: Gigaset elements System/Security Smart Home (2014)

  11. #10
    Benutzer Avatar von Meexx
    Registriert seit
    09.04.16
    Ort
    MV
    Land
    Deutschland
    Beiträge
    65
    Danke: 5

    Standard AW: Gardena Smart System Analyse

    Ok hat sich erledigt...... Hatte immer das falsche passwort genommen funktioniert auch auf Android ich kann nur das Menü zum Zeitplan nicht öffnen
    Grüße Ralf

    Mäher:
    aktuell: Gardena Smart Sileno (2016)

    Hausautomation:
    aktuell: Gigaset elements System/Security Smart Home (2014)

  12. #11
    Neuer Benutzer
    Registriert seit
    24.07.16
    Land
    Österreich
    Beiträge
    11
    Danke: 5

    Standard AW: Gardena Smart System Analyse

    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.

  13. #12
    Neuer Benutzer
    Registriert seit
    01.07.16
    Ort
    Hunsrück
    Land
    DE
    Beiträge
    24
    Danke: 4

    Standard AW: Gardena Smart System Analyse

    Zitat Zitat von gerrieg Beitrag anzeigen
    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

  14. #13
    Neuer Benutzer
    Registriert seit
    29.07.16
    Land
    Österreich
    Beiträge
    11
    Danke: 3

    Standard AW: Gardena Smart System Analyse

    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

  15. Die folgenden 2 Benutzer sagen Danke zu Schaussi für diesen Beitrag:

    gerrieg (30.07.16), WiBo (30.07.16)

  16. #14
    Neuer Benutzer
    Registriert seit
    01.07.16
    Ort
    Hunsrück
    Land
    DE
    Beiträge
    24
    Danke: 4

    Standard AW: Gardena Smart System Analyse

    Hallo Schaussi,

    Danke für das Script.

    Abfrage funkt.

    Senden von Commands geht wohl noch nicht?

  17. #15
    Neuer Benutzer
    Registriert seit
    24.07.16
    Land
    Österreich
    Beiträge
    11
    Danke: 5

    Standard AW: Gardena Smart System Analyse

    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.

  18. #16
    Neuer Benutzer
    Registriert seit
    29.07.16
    Land
    Österreich
    Beiträge
    11
    Danke: 3

    Standard AW: Gardena Smart System Analyse

    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.

  19. #17
    Neuer Benutzer
    Registriert seit
    29.07.16
    Land
    Österreich
    Beiträge
    11
    Danke: 3

    Standard AW: Gardena Smart System Analyse

    ...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...

  20. #18
    Neuer Benutzer
    Registriert seit
    29.07.16
    Land
    Österreich
    Beiträge
    11
    Danke: 3

    Standard AW: Gardena Smart System Analyse

    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.

  21. #19
    Neuer Benutzer
    Registriert seit
    01.07.16
    Ort
    Hunsrück
    Land
    DE
    Beiträge
    24
    Danke: 4

    Standard AW: Gardena Smart System Analyse

    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.
    Geändert von WiBo (02.08.16 um 17:45:10 Uhr)

  22. #20
    Neuer Benutzer
    Registriert seit
    29.07.16
    Land
    Österreich
    Beiträge
    11
    Danke: 3

    Standard AW: Gardena Smart System Analyse

    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.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •