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:
- Zeit - bzw Prioritäten, ich bin im Moment beruflich wirklich eingespannt
- 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)