+ Antworten
Seite 2 von 17 ErsteErste 1 2 3 4 12 ... LetzteLetzte
Ergebnis 11 bis 20 von 162
  1. #11
    Registriert seit
    Jan 2010
    Ort
    Rheinland Pfalz
    Beiträge
    1,686

    Und dann noch einige bildchen
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Gardena.jpg 
Hits:	590 
Größe:	203.4 KB 
ID:	35047   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Tree.png 
Hits:	617 
Größe:	153.9 KB 
ID:	35048  
    Geändert von wibo050447 (29.08.17 um 15:16 Uhr)
    Gruß WiBo

    "Eventuelle Rechtschreib- und Tippfehler jeglicher Art sind nur ein Zeichen meiner Geschwindigkeit Ich bitte euch, gelassen darüber hinweg zu lesen."

  2. #12
    Registriert seit
    Jan 2006
    Ort
    Schönkirchen, S.-H.
    Beiträge
    651

    Hallo WiBo,

    zunächst mal herzlichen Dank für die Skripte.

    Hier mal ne blöde Frage, vielleicht hab ich das auch übersehen, wo kommt der Benutzername und das Passwort rein?

    Ich muss ja meine Devices irgendwie auslesen können. Hab ja keinen Tower sondern die Bewässerung.

    Gruß

    Jimmy

    Edit: Jetzt sehe ich, die Daten stehen bei dir in der pass.ips.php. Wie muss die aufgebaut sein? Hast du mal ein Beispiel?

    Und wo ist das Script für "php_gardena_gateway_class.ips.php"?
    Geändert von Jimmy Neutron (03.08.16 um 18:23 Uhr)

  3. #13
    Registriert seit
    Jan 2010
    Ort
    Rheinland Pfalz
    Beiträge
    1,686

    Zitat Zitat von Jimmy Neutron Beitrag anzeigen
    Hallo WiBo,

    zunächst mal herzlichen Dank für die Skripte.

    Hier mal ne blöde Frage, vielleicht hab ich das auch übersehen, wo kommt der Benutzername und das Passwort rein?

    Ich muss ja meine Devices irgendwie auslesen können. Hab ja keinen Tower sondern die Bewässerung.

    Gruß

    Jimmy

    Edit: Jetzt sehe ich, die Daten stehen bei dir in der pass.ips.php. Wie muss die aufgebaut sein? Hast du mal ein Beispiel?

    Und wo ist das Script für "php_gardena_gateway_class.ips.php"?
    include("pass.ips.php"); --->>> da stehen nur die 2 Zeilen drin.

    $pw_user_maeher = "EMail oder User Name";
    $pw_pawo_maeher
    = "Hier Passwort";

    $gardena = new gardena($pw_user_maeher, $pw_pawo_maeher);

    die php_gardena_gateway_class.ips.php ist die gleiche wie die php_gardena_mover_class.ips.php
    musst nur die Constante gegen GATEWAY tauschen

    const CMDURL = "https://sg-api.dss.husqvarnagroup.net/sg-1/devices/|DEVICEID|/abilities/gateway/command?locationId=";
    und kannst alles entfernen was zum senden gebraucht wird da Du nur die Daten lesen kannst.
    Geändert von wibo050447 (04.08.16 um 07:33 Uhr)
    Gruß WiBo

    "Eventuelle Rechtschreib- und Tippfehler jeglicher Art sind nur ein Zeichen meiner Geschwindigkeit Ich bitte euch, gelassen darüber hinweg zu lesen."

  4. #14
    Registriert seit
    Jan 2006
    Ort
    Schönkirchen, S.-H.
    Beiträge
    651

    Hallo WiBo,

    danke für die Infos. Skripte sind angepasst. Wenn ich nun jedoch das Gateway-Skript starte, kommt folgender Fehler:

    PHP-Code:
    Notice:  Trying to get property of non-object in C:\IP-Symcon\scripts\php_gardena_gateway_class.ips.php on line 145

    Warning
    :  Invalid argument supplied for foreach() in C:\IP-Symcon\scripts\php_gardena_gateway_class.ips.php on line 145 
    Hier die Class dazu:

    PHP-Code:
    <?php
    /*
    //Ref. http://www.dxsdata.com/2016/07/php-class-for-gardena-smart-system-api/
    * Ref. http://www.roboter-forum.com/showthread.php?16777-Gardena-Smart-System-Analyse
    * Angepasst 03.07.2016 / WiBo
    */
    // -----------------------------------------------------------------------------
    class gardena_gateway
    {
        var 
    $user_id$token$locations;
        var 
    $devices = array();

        const 
    LOGINURL        "https://sg-api.dss.husqvarnagroup.net/sg-1/sessions";
        const 
    LOCATIONSURL    "https://sg-api.dss.husqvarnagroup.net/sg-1/locations/?user_id=";
        const 
    DEVICESURL    "https://sg-api.dss.husqvarnagroup.net/sg-1/devices?locationId=";
        const 
    CMDURL        "https://sg-api.dss.husqvarnagroup.net/sg-1/devices/|DEVICEID|/abilities/gateway/command?locationId=";

        var 
    $CMD_MOWER_PARK_UNTIL_NEXT_TIMER        = array("name" => "park_until_next_timer");
        var 
    $CMD_MOWER_PARK_UNTIL_FURTHER_NOTICE    = array("name" => "park_until_further_notice");
        var 
    $CMD_MOWER_START_RESUME_SCHEDULE        = array("name" => "start_resume_schedule");
        var 
    $CMD_MOWER_START_24HOURS                = array("name" => "start_override_timer""parameters" => array("duration" => 1440));
        var 
    $CMD_MOWER_START_3DAYS                    = array("name" => "start_override_timer""parameters" => array("duration" => 4320));
    // -----------------------------------------------------------------------------
        // Gateway
        
    const CATEGORY_DEVICE_INFO        "device_info";
        const 
    CATEGORY_GATEWAY            "gateway";
        
    // Mover Device Info
        
    const CATEGORY_DEVICE            "device_info";
        
    // Mover Akkuzustand
        
    const CATEGORY_BATTERY            "battery";
        
    // Mover Radio - Funksignal
        
    const CATEGORY_RADIO            "radio";
        
    // Mover Mäherstatus
        
    const CATEGORY_MOWER            "mower";
        const 
    PROPERTY_STATUS            "status";
        
    // Mover Temperatur
        
    const CATEGORY_TEMPERATUR        "internal_temperature";
    // -----------------------------------------------------------------------------
        
    function gardena($user$pw)
        {
            
    $data = array(
                
    "sessions" => array(
                    
    "email" => "$user""password" => "$pw")
                );
            
    $data_string json_encode($data);
            
    $ch curl_init(self::LOGINURL);
            
    curl_setopt($chCURLOPT_CUSTOMREQUEST"POST");
            
    curl_setopt($chCURLOPT_POSTFIELDS$data_string);
            
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
            
    curl_setopt($chCURLOPT_HTTPHEADER, array(
                
    'Content-Type:application/json',
                
    'Content-Length: ' strlen($data_string))
            );
            
    $result curl_exec($ch);
            
    $data json_decode($result);
            
    $this -> token $data -> sessions -> token;
            
    $this -> user_id $data -> sessions -> user_id;
            
    $this -> loadLocations();
            
    $this -> loadDevices();
        }
    // -----------------------------------------------------------------------------
        
    function loadLocations()
        {
            
    $url self::LOCATIONSURL $this -> user_id;
            
    $ch curl_init($url);
            
    curl_setopt($chCURLOPT_CUSTOMREQUEST"GET");
            
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
            
    curl_setopt($chCURLOPT_HTTPHEADER, array(
                
    'Content-Type:application/json',
                
    'X-Session:' $this -> token)
            );
            
    $this -> locations json_decode(curl_exec($ch)) -> locations;  
        }
    // -----------------------------------------------------------------------------
        
    function loadDevices()
        {
            foreach(
    $this->locations as $location)
            {
                
    $url self::DEVICESURL $location -> id;
                
    $ch curl_init($url);
                
    curl_setopt($chCURLOPT_CUSTOMREQUEST"GET");
                
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
                
    curl_setopt($chCURLOPT_HTTPHEADER, array(
                    
    'Content-Type:application/json',
                    
    'X-Session:' $this -> token)
                );
                
    $this -> devices[$location -> id] = json_decode(curl_exec($ch)) -> devices;
            }
        }
    // -----------------------------------------------------------------------------
        /*
        * Finds the first occurrence of a certain category type.
        * Example: You want to find your only mower, having one or more gardens. 
        * @param constant $category
        */
        
    function getFirstDeviceOfCategory($category)
        {
            foreach(
    $this -> devices as $locationId => $devices)
            {
                foreach(
    $devices as $device)
                    if (
    $device -> category == $category)
                        return 
    $device;
            }
        }
    // -----------------------------------------------------------------------------
        
    function getDeviceLocation($device)
        {
            foreach(
    $this -> locations as $location)
                foreach(
    $location -> devices as $d)
                    if (
    $d == $device -> id)
                        return 
    $location;
        }
    // -----------------------------------------------------------------------------
        
    function sendCommand($device$command)
        {
            
    $location $this -> getDeviceLocation($device);
            
    $url str_replace("|DEVICEID|"$device -> idself::CMDURL) . $location -> id;
            
    $data_string json_encode($command);
            
    $ch curl_init($url);
            
    curl_setopt($chCURLOPT_CUSTOMREQUEST"POST");
            
    curl_setopt($chCURLOPT_POSTFIELDS$data_string);
            
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
            
    curl_setopt($chCURLOPT_HTTPHEADER, array(
                
    'Content-Type:application/json',
                
    'X-Session:' $this -> token,
                
    'Content-Length: ' strlen($data_string)
                ));  
            
    $result =  curl_exec($ch);        
            if (
    curl_getinfo($chCURLINFO_HTTP_CODE) == "204"//success
                
    return true;
            return 
    json_encode($result);
        }
    // -----------------------------------------------------------------------------
        
    function getMowerState($device)
        {
            foreach (
    $device -> abilities as $ability)
                if (
    $ability -> name == self::CATEGORY_MOWER)
                    foreach(
    $ability -> properties as $property)
                        if (
    $property -> name == self::PROPERTY_STATUS)
                            return 
    $property -> value;
        }
    // =============================================================================
        
    function getInfo($device$category_name$proberty_name)
        {
            foreach (
    $device -> abilities as $ability)
                if (
    $ability -> name == $category_name)
                    foreach(
    $ability -> properties as $property)
                        if (
    $property -> name == $proberty_name)
                            return 
    $property -> value;
        }
    // =============================================================================
        
    function getDeviceStatusReportFriendly($device)
        {
            
    $result "";
            foreach (
    $device -> status_report_history as $entry)
            {
                
    $result .= $entry -> timestamp " | " $entry -> source " | " $entry -> message "<br>";
            }
            return 
    $result;
        }
    // -----------------------------------------------------------------------------
    }

    ?>
    Wie bekomme ich eigentlich raus, wie die Category meiner Regner und des Feuchtesensors heissen und deren Variablen?

    Eine Alternative wäre auch, ich stelle euch einen "Test-Account" zur Verfügung und ihr könnt dann das Gardena-Rundum-Sorglos-Paket bauen.

    Gruß

    Jimmy
    Geändert von Jimmy Neutron (04.08.16 um 19:14 Uhr)

  5. #15
    Registriert seit
    Jan 2010
    Ort
    Rheinland Pfalz
    Beiträge
    1,686

    hier mein Gateway Script

    gelöscht war Fehler drin / WiBo ( unten Neu )


    den Feuchtefühler hab ich mir bestellt werde den dann einbinden und noch ein
    Auslesescript für die Devices erstellen.

    Oder Du gibst mir für 1-2 Tage einen Zugang
    Hab nur die nächsten Tage keine Zeit. Sag Dir dann bescheid.
    Geändert von wibo050447 (05.08.16 um 07:22 Uhr)
    Gruß WiBo

    "Eventuelle Rechtschreib- und Tippfehler jeglicher Art sind nur ein Zeichen meiner Geschwindigkeit Ich bitte euch, gelassen darüber hinweg zu lesen."

  6. #16
    Registriert seit
    Jul 2014
    Ort
    Heilbronn
    Beiträge
    314

    Huhu, ich verfolge hier das ganze und krieg net mal das Gateway ans Laufen .... Grüsse, MaLu

    Ah, gleicher Fehler wie bei Jimmy ... dann bin ich beruhigt ... liegt net an mir :-)
    Geändert von MaLu (04.08.16 um 19:52 Uhr)

  7. #17
    Registriert seit
    Jan 2010
    Ort
    Rheinland Pfalz
    Beiträge
    1,686

    Zitat Zitat von MaLu Beitrag anzeigen
    Huhu, ich verfolge hier das ganze und krieg net mal das Gateway ans Laufen .... Grüsse, MaLu

    Ah, gleicher Fehler wie bei Jimmy ... dann bin ich beruhigt ... liegt net an mir :-)

    guckste drüber
    Gruß WiBo

    "Eventuelle Rechtschreib- und Tippfehler jeglicher Art sind nur ein Zeichen meiner Geschwindigkeit Ich bitte euch, gelassen darüber hinweg zu lesen."

  8. #18
    Registriert seit
    Jan 2010
    Ort
    Rheinland Pfalz
    Beiträge
    1,686

    Nur so zur Info

    Das Gateway Script wird für die Mover Steuerung nicht benötigt.

    Dient nur zur Info über die Gateway Daten
    Gruß WiBo

    "Eventuelle Rechtschreib- und Tippfehler jeglicher Art sind nur ein Zeichen meiner Geschwindigkeit Ich bitte euch, gelassen darüber hinweg zu lesen."

  9. #19
    Registriert seit
    Jul 2014
    Ort
    Heilbronn
    Beiträge
    314

    Meinste Dein Gateway Script benutzen? - oder das Du den Sensor einbindest?

    Ja, Danke aber ich bekomme ja schon keine Daten für das Gateway ... wenn das net geht ... brauch ich ja gar nicht dahinter zu fummeln
    Geändert von MaLu (04.08.16 um 20:08 Uhr)

  10. #20
    Registriert seit
    Jan 2006
    Ort
    Schönkirchen, S.-H.
    Beiträge
    651

    Hallo WiBo,

    hast PN wegen Test.

    Gruß

    Jimmy

Ähnliche Themen

  1. Mähroboter Worx Landroid - Erfahrungen?
    Von Titus im Forum Haustechnik
    Antworten: 43
    Letzter Beitrag: 13.06.18, 21:04
  2. Antworten: 31
    Letzter Beitrag: 18.04.17, 10:31
  3. Antworten: 25
    Letzter Beitrag: 02.02.17, 23:23
  4. Gardena engagiert sich im Bereich Smart Garden
    Von Bayaro im Forum Off Topic
    Antworten: 6
    Letzter Beitrag: 02.08.16, 16:52
  5. Mähroboter Robomow RS630
    Von tomgr im Forum Haustechnik
    Antworten: 19
    Letzter Beitrag: 02.07.16, 17:05