Robonect Funktionsbibliothek

Guten Morgen allerseits,

ich veröffentlich mal den fertigen Teil der Robonect Funktionsbibliothek. Leider bin ich nicht so weit, wie ich erhofft hatte. Das liegt an zwei Themen:

  1. Zeit - bzw Prioritäten, ich bin im Moment beruflich wirklich eingespannt
  2. Die API selber, immer wenn ich etwas Zeit gefunden habe, bin ich relativ schnell auf Probleme/Unklarheiten gestossen, die erst gefixed/geklärt werden mussten.

Wenn jemand Lust (und vor allem zeit) hat, kann er hier gerne weiter entwickeln.

PS: Weiss jemand, warum seit der 4.0 code, der in PHP Tags geposted wird, immer so bescheiden aussieht?







<?

function G3_start($ip){    $json = @file_get_contents('http://'.$ip.'/json?cmd=start');    var_dump($json);    $array = json_decode($json,true);    if ($array['successful'] !== true)    {        return false;    }}function G3_stop($ip){    $json = @file_get_contents('http://'.$ip.'/json?cmd=stop');    var_dump($json);    $array = json_decode($json,true);    if ($array['successful'] !== true)    {        return false;    }}

//Funktion G3_mode um den Modus zu setzen.////$mode kann sein://home : Wechseln des Modus nach "Home"//eod : Wechseln des Modus nach "Feierabend" (EndOfDay)//man : Wechseln des Modus nach "Manuell"//auto : Wechseln des Modus nach "Automatisch"//job : Starten eines Mähauftrages//       bei "job"            // remotestart:            //0 : Standardeinstellung verwenden            //1 : Mähauftrag bei Fernstart-Punkt 1 beginnen            //2 : Mähauftrag bei Fernstart-Punkt 2 beginnen            // after:            //Modus, den der Automower nach Beendigung des Mähauftrages aktivieren soll. (Standard, falls nicht explizit angegeben: Zu aktuellem Modus zurückkehren). Der Parameter ist inkonsequent zu "mode", das wird in einer späteren Version korrigiert.            //    1 : Wechseln des Modus nach "Home"            //2 : Wechseln des Modus nach "Feierabend" (EndOfDay)            //3 : Wechseln des Modus nach "Manuell"            //4 : Wechseln des Modus nach "Automatisch"            //5 : Starten eines Mähauftrages
function G3_mode ($ip, $mode, $remotestart, $after, $start, $end)
    {
        if ($mode == 'job'){ //bei job Auftrag Time hinzufügen                    $url='http://'.$ip.'/json?cmd=mode&mode=job&remotestart='.$remotestart.'&after='.$after.'&begin='.$start.'&end='.$end;        }        else        {            $url = 'http://'.$ip.'/json?cmd=mode&mode='.$mode;              $json = @file_get_contents($url);           $array = json_decode ($json, true);              if ($array['successful'] == true)        {              return true;                }            else                {             return false;            }    }}
//Funktion G3_status liefert den Status als array zurück//[0] = status//Automower schläft//Automower parkt//Automower mäht//Automower sucht die Ladestation//Automower lädt//Automower sucht (wartet auf das Umsetzen im manuellen Modus)//Fehlerstatus//Schleifensignal verloren////[1] = Modus//Auto//Manuell//Home//Demo////[2] = batterieladung in %////[3] = Mähzeit in Stunden////[4] = Timerstatus//Deaktiviert//Aktiv//Standby//[5] = Nur verfügbar, wenn der Timer im Standby ist, sonst 0. Datum, an dem der Automower das nächste mal mäht im Format DD.MM.YYYY.
function G3_status ($ip)     {        $json = @file_get_contents('http://'.$ip.'/json?cmd=status');        $array = json_decode($json,true);    if ($array['successful'] !== true) {           return false;    }        else    {        $result = $array['status']['status'];        switch ($result) {           case 0:               $status = "Automower schläft";               break;
           case 1:               $status = "Automower parkt";               break;
           case 2:               $status = "Automower mäht";               break;
            case 3:               $status = "Automower sucht die Ladestation";               break;
            case 4:               $status = "Automower lädt";               break;
         case 5:               $status = "Automower wartet auf Umsetzen (manueller Modus)";               break;
            case 7:               $status = "Fehlerstatus";               break;
            case 8:               $status = "Schleifensignal verloren";               break;        }
    $result = $array['status']['mode'];        switch ($result) {           case 0:               $mode = "Auto";               break;
            case 1:               $mode = "Manuell";                break;
            case 2:               $mode = "Home";               break;
            case 3:               $mode = "Demo";               break;        }
    $result = $array['status']['battery'];    $akkuladung = $result;
    $result = $array['status']['hours'];    $laufzeit = $result;
    $result = $array['timer']['status'];    switch ($result){        case 0:           $timerstatus = "Deaktiviert";           break;        case 1:            $timerstatus = 'Aktiv';            break;
        case 2:           $timerstatus = "Standby";           break;    }        //Timer und Error Arrays noch nicht verfügbar    //if (array_key_exists (['next']['date'],['timer'])) {   //     $result = $array['timer']['next']['date'];    //       $date_next_timer = $result;     //          }    // else     {   //      $date_next_timer = 0;    //    //    }    }        return array ($status, $mode, $akkuladung, $laufzeit,$timerstatus);}

function G3_gettimer ($ip){        $json = @file_get_contents('http://'.$ip.'/json?cmd=timer');        var_dump($json);        $array = json_decode($json,true);    if ($array['successful'] !== true) {           return false;            }    }

//testzeilen$run=G3_mode ('10.1.1.70','job',0,4,90,95);//$run =  G3_gettimer('10.1.1.70');print_r ($run);?>



robonect.txt (4.69 KB)