HowTo: Gardena Smart System

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Diablo_Vmax1200
    Extension Master
    • 03.09.2015
    • 119

    #16
    HI User407,

    danke! Beim Auslesen passen auch ein paar Daten noch nicht.
    z.B. der Akku Zustand
    Bin aber leider noch nicht zum korrigieren gekommen.

    Grüße
    Michael

    Kommentar

    • Gast

      #17
      Hallo zusammen.
      Erst einmal danke für die Bereitstellung der Skripte.
      Ich komme allerdings nicht über die folgende Meldung beim Aufruf der Info-Seite(http://localhost/gardena/index.php?action=INFO) hinweg
      Notice: Trying to get property of non-object in C:\Users\[...]\gardena\gardena.class.inc.php on line 71
      Wobei es von dieser Art mehrere gibt, das ist nur der erste Eintrag.
      Wo stolpere ich, ohne es zu merken?
      Zuletzt geändert von Gast; 19.07.2017, 12:31.

      Kommentar


      • Diablo_Vmax1200
        Diablo_Vmax1200 kommentierte
        Kommentar bearbeiten
        Bei mir sieht die Ausgabe so aus (siehe unten).

        Das Skript läuft auf einem synology nas, dort ist PHP in der Version 7.0 und ein Apache in der Version 2.4 aktiv.
        Beginne doch mal in der index.php alles aus zu kommentieren und die zeile 12 einzukommentieren. Da solltest du schon sehen ob überhaupt Daten da sind.

        Grüße
        Michael

        CATEGORY_MOWER
        device_info
        **last_time_online**: string(20) "2017-07-20T18:19:27Z"
        **version**: string(41) "3-2.4.7-1.2.0-4380-MODIFIED-ICD1.16_1.2.0"
        **serial_number**: string(8) "xxxxxxxx"

        internal_temperature
        **temperature**: int(24)

        battery
        **level**: int(100)
        **rechargeable_battery_status**: string(2) "ok" ---Key:1
        Possible Values for rechargeable_battery_status: array ( 0 => 'weak', 1 => 'ok', 2 => 'undefined', )
        **charging**: bool(false) ---Key:
        Possible Values for charging: array ( 0 => 'true', 1 => 'false', )

        mower
        **manual_operation**: bool(false)
        **status**: string(12) "parked_timer" ---Key:7
        Possible Values for status: array ( 0 => 'paused', 1 => 'ok_cutting', 2 => 'ok_searching', 3 => 'ok_charging', 4 => 'ok_leaving', 5 => 'wait_updating', 6 => 'wait_power_up', 7 => 'parked_timer', 8 => 'parked_park_selected', 9 => 'off_disabled', 10 => 'off_hatch_open', 11 => 'unknown', 12 => 'error', 13 => 'error_at_power_up', 14 => 'off_hatch_closed', 15 => 'ok_cutting_timer_overridden', 16 => 'parked_autotimer', 17 => 'parked_daily_limit_reached', 18 => 'undefined', )
        **error**: string(10) "no_message" ---Key:0
        Possible Values for error: array ( 0 => 'no_message', 1 => 'outside_working_area', 2 => 'no_loop_signal', 3 => 'wrong_loop_signal', 4 => 'loop_sensor_problem_front', 5 => 'loop_sensor_problem_rear', 6 => 'trapped', 7 => 'upside_down', 8 => 'low_battery', 9 => 'empty_battery', 10 => 'no_drive', 11 => 'lifted', 12 => 'stuck_in_charging_station', 13 => 'charging_station_blocked', 14 => 'collision_sensor_problem_rear', 15 => 'collision_sensor_problem_front', 16 => 'wheel_motor_blocked_right', 17 => 'wheel_motor_blocked_left', 18 => 'wheel_drive_problem_right', 19 => 'wheel_drive_problem_left', 20 => 'cutting_system_blocked', 21 => 'invalid_sub_device_combination', 22 => 'settings_restored', 23 => 'electronic_problem', 24 => 'charging_system_problem', 25 => 'tilt_sensor_problem', 26 => 'wheel_motor_overloaded_right', 27 => 'wheel_motor_overloaded_left', 28 => 'charging_current_too_high', 29 => 'temporary_problem', 30 => 'guide_1_not_found', 31 => 'guide_2_not_found', 32 => 'guide_3_not_found', 33 => 'difficult_finding_home', 34 => 'guide_calibration_accomplished', 35 => 'guide_calibration_failed', 36 => 'temporary_battery_problem', 37 => 'battery_problem', 38 => 'alarm_mower_switched_off', 39 => 'alarm_mower_stopped', 40 => 'alarm_mower_lifted', 41 => 'alarm_mower_tilted', 42 => 'connection_changed', 43 => 'connection_not_changed', 44 => 'com_board_not_available', 45 => 'slipped', )
        **source_for_next_start**: string(10) "week_timer" ---Key:2
        Possible Values for source_for_next_start: array ( 0 => 'no_source', 1 => 'completed_cutting_daily_limit', 2 => 'week_timer', 3 => 'countdown_timer', 4 => 'mower_charging', 5 => 'completed_cutting_autotimer', 6 => 'undefined', )
        **timestamp_next_start**: string(20) "2017-07-21T06:59:44Z"
        **override_end_time**: string(17) "1970-01-01T00:00Z"

        radio
        **quality**: int(50)
        **connection_status**: string(7) "unknown" ---Key:0
        Possible Values for connection_status: array ( 0 => 'unknown', 1 => 'status_device_unreachable', 2 => 'status_device_alive', )
        **state**: string(4) "poor" ---Key:1
        Possible Values for state: array ( 0 => 'bad', 1 => 'poor', 2 => 'good', 3 => 'undefined', )

        CATEGORY_GATEWAY
        device_info
        **last_time_online**: string(3) "N/A"
        **version**: string(6) "1.2.23"
        **serial_number**: string(3) "N/A"

        gateway
        **ip_address**: string(13) "192.168.1.107"
        **time_zone**: string(28) " Europe/Berlin (CEST, +0200)"
        Zuletzt geändert von Diablo_Vmax1200; 20.07.2017, 19:33.

      • Gast
        Gast kommentierte
        Kommentar bearbeiten
        Hi, hier mal meine Ausgabe:

        Notice: Trying to get property of non-object in [...]\xampp\htdocs\gardena\gardena.class.inc.php on line 71
        Notice: Trying to get property of non-object in [...]\xampp\htdocs\gardena\gardena.class.inc.php on line 71
        Notice: Trying to get property of non-object in [...]\xampp\htdocs\gardena\gardena.class.inc.php on line 72
        Notice: Trying to get property of non-object in [...]\xampp\htdocs\gardena\gardena.class.inc.php on line 72
        Notice: Trying to get property of non-object in [...]\xampp\htdocs\gardena\gardena.class.inc.php on line 97
        Warning: Invalid argument supplied for foreach() in [...]\xampp\htdocs\gardena\gardena.class.inc.php on line 103
        CATEGORY_WATERINGCOMPUTER
        Notice: Trying to get property of non-object in [...]\xampp\htdocs\gardena\gardena.class.inc.php on line 214
        Warning: Invalid argument supplied for foreach() in [...]\xampp\htdocs\gardena\gardena.class.inc.php on line 214
        [...]

        Inhalte der Zeilen 71 und 72:
        $this -> token = $data -> sessions -> token;
        $this -> user_id = $data -> sessions -> user_id;

        Ich verwende es (jedenfalls versuche ich es) mit PHP 5.6.20 und PHP 7.0.21

      • Diablo_Vmax1200
        Diablo_Vmax1200 kommentierte
        Kommentar bearbeiten
        Ich lade mal eine neue index.php hoch da habe ich eine DEBUG Variante eingebaut. Mal sehen ob wir damit weiter kommen
    • Labmaster
      Lox Guru
      • 20.01.2017
      • 2585

      #18
      Mal was grundsätzliches zu dem System:
      Interessant wird das ganze erst wenn man rausfindet wie man direkt mit den Geräten kommunizieren kann ohne über eine Cloud (in dem Fall wohl .husqvarnagroup.net) gehen zu müssen.
      Wer will schon seine Geräte Zuhause über den Umweg durch eine Internetcloud eines Herstellers gesteuert haben, würde jedenfalld bei mir nie in Frage kommen. (ausser ich würde die Hardware (Roboter, Sensor ... ) dafür gratis bekommen, bzw würde dann ja mit meinen Daten dafür bezahlen).
      Zuletzt geändert von Labmaster; 19.07.2017, 14:28.

      Kommentar

      • Gast

        #19
        Von mir auch ein großes Dankeschön für das Teilen Bei Zeiten werde ich das auf jeden Fall mal probieren.

        Labmaster Ich weis nicht ob unsere paar Daten den Wert des Roboters aufwiegen würden Wirklich arg stören wird die Cloud wohl keinen , sonst hätte man den Robi ohne Smart gekauft.

        Kommentar


        • Labmaster
          Labmaster kommentierte
          Kommentar bearbeiten
          und wenn Internet mal nicht geht, (kommt zumindest bei uns schon mal des öfteren vor) dann bleibt das Schaf im Stall ?
          Obwohl ich mich seit meinem ca 8 Lebensjahr mit digital Elektronik beschäftige gehöre ich mit meinen 46 Jahren wohl nicht direkt zu den "Digital Natives" und kann vermutlich auch deshalb die Gelassenheit bei so einer Abhängigkeit nicht verstehen

        • Diablo_Vmax1200
          Diablo_Vmax1200 kommentierte
          Kommentar bearbeiten
          Nein ohne Internet geht der Robi auch. Wird nur zur Einstellung benötigt. Wobei es auch komplett ohne geht.
      • Diablo_Vmax1200
        Extension Master
        • 03.09.2015
        • 119

        #20
        Gast anbei die versprochene index.php

        Bitte mal mit "http://DEINEURL/index.php?action=DEBUG" ausführen. Dann kannst du mal prüfen ob Passwort und Username korrekt eingetragen sind. Bitte auch sicherstellen, dass dort kein Leerzeichen enthalten ist oder eventuell eine andere Zeichencodierung.
        Dann mal schauen ob du dich mit den Daten auch wirklich online einloggen kannst: https://sg-api.dss.husqvarnagroup.ne.../#/session/new

        Wenn das klappt. Sollten eigentlich so oder so bereits Rohdaten sichtbar sein. Wenn nicht kannst du mal den Output (natürlich ohne Passwort und Username) hier posten.

        Grüße
        Michael
        Angehängte Dateien

        Kommentar


        • Gast
          Gast kommentierte
          Kommentar bearbeiten
          Hallo Michael.
          Danke für deine Mühen.

          Die Login-Daten funktionieren. Die Ausgabe der index.php mit Debug ergibt:
          Notice: Trying to get property of non-object in C:\Users\[...]\prog\xampp\htdocs\gardena\gardena.class.inc.php on line 70
          Notice: Trying to get property of non-object in C:\Users\[...]\prog\xampp\htdocs\gardena\gardena.class.inc.php on line 70
          Notice: Trying to get property of non-object in C:\Users\[...]\prog\xampp\htdocs\gardena\gardena.class.inc.php on line 71
          Notice: Trying to get property of non-object in C:\Users\[...]\prog\xampp\htdocs\gardena\gardena.class.inc.php on line 71
          Notice: Trying to get property of non-object in C:\Users\[...]\prog\xampp\htdocs\gardena\gardena.class.inc.php on line 98
          Warning: Invalid argument supplied for foreach() in C:\Users\[...]\prog\xampp\htdocs\gardena\gardena.class.inc.php on line 104
          Username:xxx
          Password:xxx
          object(gardena)#1 (15) { ["user_id"]=> NULL ["token"]=> NULL ["locations"]=> NULL ["devices"]=> array(0) { } ["CMD_MOWER_PARK_UNTIL_NEXT_TIMER"]=> array(1) { ["name"]=> string(21) "park_until_next_timer" } ["CMD_MOWER_PARK_UNTIL_FURTHER_NOTICE"]=> array(1) { ["name"]=> string(25) "park_until_further_notice" } ["CMD_MOWER_START_RESUME_SCHEDULE"]=> array(1) { ["name"]=> string(21) "start_resume_schedule" } ["CMD_MOWER_START_06HOURS"]=> array(2) { ["name"]=> string(20) "start_override_timer" ["parameters"]=> array(1) { ["duration"]=> int(360) } } ["CMD_MOWER_START_24HOURS"]=> array(2) { ["name"]=> string(20) "start_override_timer" ["parameters"]=> array(1) { ["duration"]=> int(1440) } } ["CMD_MOWER_START_3DAYS"]=> array(2) { ["name"]=> string(20) "start_override_timer" ["parameters"]=> array(1) { ["duration"]=> int(4320) } } ["CMD_SENSOR_REFRESH_TEMPERATURE"]=> array(1) { ["name"]=> string(27) "measure_ambient_temperature" } ["CMD_SENSOR_REFRESH_LIGHT"]=> array(1) { ["name"]=> string(13) "measure_light" } ["CMD_SENSOR_REFRESH_HUMIDITY"]=> array(1) { ["name"]=> string(16) "measure_humidity" } ["CMD_WATERINGCOMPUTER_START_60MIN"]=> array(2) { ["name"]=> string(15) "manual_override" ["parameters"]=> array(1) { ["duration"]=> int(59) } } ["CMD_WATERINGCOMPUTER_STOP"]=> array(1) { ["name"]=> string(15) "cancel_override" } }

          Da sind mir gefühlt zu viele NULL-Werte enthalten - oder irre ich mich?

          Danke und Grüße, Martin
      • Diablo_Vmax1200
        Extension Master
        • 03.09.2015
        • 119

        #21
        Hi Martin,

        es sieht so aus als ob dein PHP Curl nicht kennt. Du musst das die Curl Extension noch aktivieren / installieren.
        Hoffe dass es das dann war.

        Viele Grüße
        Michael

        Kommentar

        • Gast

          #22
          Hallo Michael.
          Ich nutze XAMPP 3.2.2 und Curl ist aktiviert. Der Gedanke kam mir auch schon, so dass ich vorher geschaut hatte.
          Code:
          extension=php_curl.dll
          Grüße, Martin

          Kommentar

          • Gast

            #23
            Was sagt denn phpinfo() ?

            Kommentar

            • Sebastian
              LoxBus Spammer
              • 28.08.2015
              • 243

              #24
              Moin,

              ich überlege auch einen Gardena Mähi zu kaufen.
              kann ich mit diesem Skript den Roboter steuern?
              also z.B. Fahr jetzt in die Station?

              Kommentar

              • Gast

                #25
                Es hat sich erledigt.

                Problem gefunden:
                Der Proxy scheint etwas von XAMPP zu blockieren, so dass ich keinen Token erhalten konnte.
                Ohne Proxy läuft es nun einwandfrei.

                Danke für die Hilfe und entschuldigt bitte die Verwirrungen.
                Zuletzt geändert von Gast; 03.08.2017, 14:20.

                Kommentar

                • lobi
                  Smart Home'r
                  • 19.10.2015
                  • 38

                  #26
                  hab auch endlich mal Zeit gefunden das PHP Script auszuprobieren und bin schwer begeistert. Das Script sowie die XML Vorlagen haben sofort funktioniert und mein Robomäher spricht schon mit Loxone
                  Jetzt wollte ich noch nachfragen ob jemand schon seine Statusbausteine (über 40 Fehler sind echt mühsam einzutippen) zur Verfügung gestellt hat? Ich hab auf die schnelle nix gefunden. Falls nicht, werde ich mich weiter spielen und meine Bausteine dann online stellen.
                  Weiters wäre es noch spannend wie ihr die Eingabe von Zeiten (Zeitfenstern) per Loxone gelöst habt? Ich hab da grad gar keine Idee. Selbiges mit der Darstellung von Zeiten, da fällt mir nur wieder der Status Baustein ein, andere Ideen?

                  Danke auf jeden Fall nochmals für das Script und die Vorlagen, funktioniert TOP!

                  Kommentar

                  • Johny
                    Extension Master
                    • 04.09.2016
                    • 129

                    #27
                    Hallo,
                    mich würde auch interessieren, ob man mit dem Script den Roboter steuern kann, also z.B. Bei Regen heim schickt.

                    Kommentar

                    • Gast

                      #28
                      Hallo Johny.
                      Sollte so sein.

                      Possible Param:
                      action
                      Values: INFO, PARK_UNTIL_FURTHER_NOTICE, PARK_UNTIL_NEXT_TIMER, RESUME_SCHEDUL, START

                      [duration]
                      Valueuration in minutes, only for Param action START. Without the Param duration the mower will start for 6h

                      Kommentar

                      • Johny
                        Extension Master
                        • 04.09.2016
                        • 129

                        #29
                        Hallo Martin II.

                        Super! Das werde ich ausprobieren.
                        danke für die Info!

                        Kommentar

                        • Johny
                          Extension Master
                          • 04.09.2016
                          • 129

                          #30
                          Hallo ,
                          ich habe das Script eingebunden. Die Test-Info kommt, wie oben bei Diablo abgebildet. In der Loxone Config habe ich die Vorlagen eingebunden, so dass ich VI und VQ steuern kann. Allerdings habe ich weder bei den Eingängen im Liveview irgendwelche Angaben (0), noch reagiert mein Mäher auf den virtuellen Ausgang (z.B. 24 Stunden mähen). Ich weiß im Moment nicht was ich falsch mache. Hat jemand einen Tip?
                          Gruß, Johny

                          Kommentar

                          Lädt...