! Robonect Steuerung AUTO ! 0.2 ! Anforderungen: ! Logik für Befehlsquittierung ! Variable *Befehlsstatus* - eingefügt ! Verwendete Variablen: ! vName + Befehlsstatus - als Zeichenkette ! ******************************************************** !string vBefehl = "start"; ! Beispiel für Start !string vBefehl = "stop"; ! Beispiel für Stop string vBefehl = "mode&mode=auto"; ! Beispiel für Auto ! string vBefehl = "mode&mode=home"; ! Beispiel für Home ! string vBefehl = "mode&mode=man"; ! Beispiel für Manuel ! string vBefehl = "mode&mode=eod"; ! Beispiel für End of day !string vBefehl = "mode&mode=job&remotestart=1&after=4"; ! !string vBefehl = "mode&mode=job&remotestart=2&after=4"; ! string vBenutzer = "admin"; ! Benutzername string vPasswort = "XXX"; ! Passwort string vIP = "192.168.178.XXX"; ! IP des Maehers string vName = "Sileno"; ! Namen des Roboters für die Variable ! ******************************************************** string vUrl = "'http://" # vIP # "/xml?user=" # vBenutzer # "&pass=" # vPasswort # "&cmd=" # vBefehl # "'"; string stderr = ""; string stdout = ""; string vStart = ""; string vEnde = ""; string vIndex = ""; string vMailtext = ""; if (vBefehl.Contains("1")) { vBefehl = "Fernstart 1"; } elseif (vBefehl.Contains("2")) { vBefehl = "Fernstart 2"; } elseif (vBefehl.Contains("start")) { vBefehl = "Start"; } elseif (vBefehl.Contains("stop")) { vBefehl = "Stop"; } elseif (vBefehl.Contains("auto")) { vBefehl = "Auto"; } elseif (vBefehl.Contains("home")) { vBefehl = "Home"; } elseif (vBefehl.Contains("man")) { vBefehl = "Manuell"; } ! Befehl senden system.Exec("wget -q -O - -t 1 -T 10 " # vUrl, &stdout, &stderr); ! Auswertung if (stdout.Contains("successful>truefalse")) { vStart = ""; vEnde = ""; vStart = stdout.Find(vStart) + vStart.Length(); vIndex = stdout.Substr(vStart, stdout.Find(vEnde) - vStart); vMailtext = "Fehler bei " # vBefehl # ": " # vIndex; } else { vMailtext = "Fehler bei " # vBefehl # ": keine Fehlermeldung vorhanden"; } } else { vMailtext = "Fehler bei " # vBefehl # ": keine Verbindung"; } WriteLine(vMailtext); if (dom.GetObject(vName # " Befehlsstatus")) { dom.GetObject(vName # " Befehlsstatus").State(vMailtext); } else { WriteLine('Variable "' # vName # ' Befehlsstatus" existiert nicht'); }