PHP-Code:
<?
exec ("sudo smbclient //192.168.1.51/d$ 24M10g82! -W g-net_server -U administrator -c 'get ServerFolders\Haussteuerung\Landroid_Win\CmdOut.json CmdOut.json'");
$landroid = file_get_contents("CmdOut.json");
$data = json_decode($landroid, true);
$akku = $data["dat"]["bt"]["p"];
SetValueInteger(16534, $akku);
$run = $data["dat"]["ls"];
If ($run == 0) {
SetValueString(10059, "In Station (Idle)");
If ($akku >=87.5){
SetValueInteger(33105, 3);}
If (($akku <87.5) and ($akku >=75)){
SetValueInteger(33105, 4);}
If (($akku <75) and ($akku >=62.5)){
SetValueInteger(33105, 5);}
If (($akku <62.5) and ($akku >=50)){
SetValueInteger(33105, 6);}
If (($akku <50)){
SetValueInteger(33105, 7);}
}
Elseif ($run == 1) {
SetValueString(10059, "In Station (Home)");
If ($akku >=87.5){
SetValueInteger(33105, 3);}
If (($akku <87.5) and ($akku >=75)){
SetValueInteger(33105, 4);}
If (($akku <75) and ($akku >=62.5)){
SetValueInteger(33105, 5);}
If (($akku <62.5) and ($akku >=50)){
SetValueInteger(33105, 6);}
If (($akku <50)){
SetValueInteger(33105, 7);}}
Elseif ($run == 5) {
SetValueString(10059, "Sucht Begrenzungsdraht");
SetValueInteger(33105, 2);}
Elseif ($run == 7) {
SetValueString(10059, "Mähen");
If ($akku >=87.5){
SetValueInteger(33105, 1);}
If (($akku <87.5) and ($akku >=75)){
SetValueInteger(33105, 8);}
If (($akku <75) and ($akku >=62.5)){
SetValueInteger(33105, 9);}
If (($akku <62.5) and ($akku >=50)){
SetValueInteger(33105, 10);}
If (($akku <50)){
SetValueInteger(33105, 11);}}
Elseif ($run == 30) {
SetValueString(10059, "Heimfahrt");
SetValueInteger(33105, 2);}
Elseif ($run == 32) {
SetValueString(10059, "Kantenschnitt");
SetValueInteger(33105, 1);}
Elseif ($run == 33) {
SetValueString(10059, "Suche Mähbereich");
SetValueInteger(33105, 1);}
Elseif ($run == 34) {
SetValueString(10059, "Pause / gestoppt");
If ($akku >=87.5){
SetValueInteger(33105, 0);}
If (($akku <87.5) and ($akku >=75)){
SetValueInteger(33105, 12);}
If (($akku <75) and ($akku >=62.5)){
SetValueInteger(33105, 13);}
If (($akku <62.5) and ($akku >=50)){
SetValueInteger(33105, 14);}
If (($akku <50)){
SetValueInteger(33105, 15);}}
$signal = $data["dat"]["rsi"]; //Wifi-Signal
SetValueInteger(10063, $signal);
If ($signal <= -90) {
SetValueString(37303, "Verbindung kaum möglich (-)");}
If (($signal >= -89) and ($signal <=80)) {
SetValueString(37303, "Signal unzuverlässig (6)");}
If (($signal >= -79) and ($signal <=70)) {
SetValueString(37303, "Signal ausreichend (5)");}
If (($signal >= -69) and ($signal <=67)) {
SetValueString(37303, "Signal normal (4)");}
If (($signal >= -66) and ($signal <=60)) {
SetValueString(37303, "Signal gut (3)");}
If (($signal >= -59) and ($signal <=50)) {
SetValueString(37303, "Signal exzellent (2)");}
If (($signal >= -49) and ($signal <=30)) {
SetValueString(37303, "Signal perfekt (1)");}
$akkutemp = $data["dat"]["bt"]["t"];
SetValueFloat(29048, $akkutemp);
$spannung = $data["dat"]["bt"]["v"];
SetValueFloat(37298, $spannung);
$weg = $data["dat"]["st"]["d"];
SetValueInteger(29772,$weg);
$zeit = $data["dat"]["st"]["b"];
SetValueFloat(40234, round((($zeit/60)/24),2));
$time = $data["cfg"]["tm"];
SetValueString(16535, $time);
$notification = GetValueBoolean(37311);
$error = $data["dat"]["le"];
If ($error !=0) {
If ($akku >=87.5){
SetValueInteger(33105, 0);}
If (($akku <87.5) and ($akku >=75)){
SetValueInteger(33105, 12);}
If (($akku <75) and ($akku >=62.5)){
SetValueInteger(33105, 13);}
If (($akku <62.5) and ($akku >=50)){
SetValueInteger(33105, 14);}
If (($akku <50)){
SetValueInteger(33105, 15);}}
If ($error == 0) {
SetValueString(10068, "kein Fehler");
SetValueBoolean(37311, False);}
Elseif ($error == 1) {
SetValueString(10068, "Mäher festgefahren");}
Elseif ($error == 2) {
SetValueString(10068, "Mäher angehoben");}
Elseif ($error == 3) {
SetValueString(10068, "Draht fehlt");}
Elseif ($error == 4) {
SetValueString(10068, "ausserh. der Begrenzung");}
Elseif ($error == 5) {
SetValueString(10068, "wegen Regen gestoppt");
SetValueBoolean(37311, False);}
Elseif ($error == 8) {
SetValueString(10068, "Fehler Messermotor");}
Elseif ($error == 9) {
SetValueString(10068, "Fehler Fahrmotor");}
Elseif ($error == 11) {
SetValueString(10068, "Mäher umgekippt");}
Elseif ($error == 12) {
SetValueString(10068, "Akku leer");}
Elseif ($error == 13) {
SetValueString(10068, "Draht vertauscht");}
Elseif ($error == 14) {
SetValueString(10068, "Akku Ladefehler");}
Elseif ($error == 15) {
SetValueString(10068, "Station n. gefunden");}
Elseif ($error == 16) {
SetValueString(10068, "Mäher gesperrt");}
Elseif ($error == 17) {
SetValueString(10068, "Akkutemp. zu hoch");}
Elseif ($error == 99) {
SetValueString(10068, "Winterschlaf");}
If (($error != 0) and ($error != 5) and ($notification == False)){
$fehlermeldung = GetValueString(10068);
$pushN= "Mäherfehler: " . $fehlermeldung;
WFC_PushNotification(10810, 'Mähbert hat ein Problem', $pushN , '', 0);
SetValueBoolean(37311, True);}
?>
Gruß,