PC Status abfragen

  • 12 Antworten
  • Letztes Antwortdatum
D

DamusNostra

Fortgeschrittenes Mitglied
11
Ich möchte gerne meinen PC mittels "Unified Remote" herunterfahren lassen, das klappt auch wunderbar. Allerdingts fehlt mir ein Tasker Event, indem abgefragt wird, ob mein PC auch eingeschaltet ist.

Also, wie kann ich mir auf meinen Smartphone anzeigen lassen, ob mein PC eingeschaltet ist?
Unified Remote erkennt es auch, dass mein PC ein oder aus ist, aber ich habe keine Ahnung wie ich die Info in Tasker verwenden kann.
 
Hallo,

shell ausführen: ping -c 3 deineIP. Output speichern als Variable Deiner Wahl. Variable auswerten mit if. Bei *100% packet lost* ist er aus.

mfg
 
Was hast du denn damit vor? Rein aus Interesse...
 
Hallo,

also ich überprüfe abends immer ob er aus ist (vergessen auszuschalten). Falls nicht wird er durch Unified Remote runtergefahren.

mfg
 
Genau aus diesen Grund! :)
Könntest du mir einmal erklären, was dein Befehl bedeutet? Klingt aber genau nach dem was ich brauche.

Screenshot_20160519-163948.png

Ist das so richtig? Keine Ahnung was -c und 3 hier bedeutet.
[doublepost=1463669871,1463668874][/doublepost]Ping klappt schonmal wunderbar!
Screenshot_20160516-215248.png

Aber noch eine kleine Frage zum Schluss... wie bekomme ich Packet loss 100% als Wert mit dem ich arbeiten kann?
So wie das jetzt bei mir steht, klappt das natürlich nicht.
 
-c = count
3 = 3x
(also 3x anpingen)

Du musst entweder %PCState zurechtscheiden (das nur der packet loss wert übrig bleibt)
oder
ping -c 3 IP | grep -o "[0-100]%" (gibt z.b. 0% in %PCState)
oder
ping -c 3 IP > /dev/null; echo $? (gibt 0 wenn einer ankommt, 1 bei 100% verlust)
 
  • Danke
Reaktionen: DamusNostra
Hallo!
-c 3 bedeutet dass drei Pakete gesendet werden.

Auswertung:
Code:
A1: If [ %PCstate ~ *100% packet loss* ]

Benötigst du hier %PCstate als globale Variable?

Grüße, Jürgen.
[doublepost=1463672967,1463672926][/doublepost]Zu langsam...
 
  • Danke
Reaktionen: DamusNostra
Hallo,

ich nehme auch eine globale Variable. Ist bei mir aber so 'ne Angewohnheit, weil ich alles sehen will. Ich nehme nur lokale beim Splitten, weil es sonst extrem unübersichtlich wird (ja ich weiß mit lokalen Variablen läuft alles etwas schneller :smile:).

@vetzki: Aufteilen der Variable ist nicht nötig. Der Stern vor der 100 und hinter dem loss reicht bei Regex.
edit: nicht regex sondern mit Muster

mfg
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: DamusNostra
Super, vielen Dank! :D
"ping -c 3 IP > /dev/null; echo $?" erfüllt genau meine Bedürfnisse. Was wird denn hier ausgeführt? Da wäre ich nie von allein drauf gekommen "...echo $?" und alles klingt ja sehr absonderlich. Aber es funktioniert! Zumindest wenn ich euch mit meinen Fragen nicht zu sehr nerve, aber vielleicht kommt mir das woanders noch zu gute. :)

Da *100% packet loss* ebenfalls funktioniert.
Bedeutet es das diese Zeile in %Variable erfüllt werden muss, um als "if" akzeptiert zu werden? Ebenfalls super zu wissen, vielen Dank euch allen. :)
[doublepost=1463674753,1463674504][/doublepost]
schmetty2 schrieb:
ich nehme auch eine globale Variable. Ist bei mir aber so 'ne Angewohnheit, weil ich alles sehen will. Ich nehme nur lokale beim Splitten, weil es sonst extrem unübersichtlich wird (ja ich weiß mit lokalen Variablen läuft alles etwas schneller :smile:).
Mache ich genauso ...mit lokalen läuft es schneller?
 
> /dev/null leitet die ausgabe ins nulldevice (also in "nichts"), weil das zeug
PING 192.168.178.36 (192.168.178.36) 56(84) bytes of data.
64 bytes from 192.168.178.36: icmp_seq=1 ttl=64 time=62.8 ms
64 bytes from 192.168.178.36: icmp_seq=2 ttl=64 time=2.57 ms
64 bytes from 192.168.178.36: icmp_seq=3 ttl=64 time=6.43 ms

--- 192.168.178.36 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 2.574/23.962/62.881/27.565 ms

brauchst du ja eigentlich nicht in der Ausgabe Variable

$? ist der exit status, mit echo wird der ausgeben (bei linux: 0 befehl wurde erfolgreich ausgeführt; bei nicht-0 Fehler)

z.b. (vom pc dort dasselbe)
mv@mv-pc:~$ ls tmp ; echo $?
boot.img Datei1.txt Datei2.txt Datei3.txt Datei4.txt extracted pwds-neu.csv pws2.pdf pws.csv pws.pdf
0

mv@mv-pc:~$ ls tmp > /dev/null; echo $?
0

mv@mv-pc:~$ fetfg; echo $?
bash: fetfg: Kommando nicht gefunden.
127

edith: ja lokale sind schneller, global am besten nur speichern was auch global benötigt wird
 
Zuletzt bearbeitet:
Hier ist das jetzt nicht so tragisch mit der globalen Variablen. Interessant wird es, wenn man mit Arrays arbeitet:
FAQ zu Tasker

Grüße, Jürgen.
 
Vielen Dank Vetzki, allerdings habe ich dir wirklich nur sehr bedingt folgen können. Ich konnte mir jetzt aber etwas nettes zusammenbasteln.

Screenshot_20160523-194304.jpg

Sowohl im Enter- als auch im Exit-task meines wLans, befindet sich "WOL Send" (Peform Task).
Wird wLan getrennt, startet ein Timer, wenn in der nächsten Stunde immernoch keine Verbindung besteht, wird der Timer auf 1 gesetzt. Verbindet sich dann mein Smartphone wieder mit dem wLan, wird "WOL Send" wieder ausgeführt und das Signal an meinen PC gesendet.

Damit habe ich es jetzt auch umgehen können, dass sich mein PC unabsichtlich einschaltet, wenn mal nachts der Router kurz neustartet etc.
Wenn ich also länger als eine Stunde nicht zuhaus gewesen bin, muss ich mir keine Gedanken machen den PC neu einschalten zu müssen. ;)

Es ist angenehm, wenn man müde von der Arbeit kommt und bereits alles steht und ready ist, bis ich im Flur die Schuhe ausgezogen habe, ist bereits alles hochgefahren. Fehlt nurnoch eine Funktion mir mein Essen kochen zu lassen.

PS: mit lokalen Variablen wollte das nicht funktionieren!
[doublepost=1464026287,1464025958][/doublepost]Und hier der Usrpüngliche Plan, etwas unspektakulär, ist aber an einen NFC Tag gekoppelt, der neben meinem Bett meinen Wecker einschaltet.
Sobald ich also schlafen gehe, wird mein PC immer heruntergefahren, sollte ich es mal vergessen haben. :)

Screenshot_20160523-195605.png
 
Zuletzt bearbeitet:
hat nichts mit dem eigtl. Thema zu tun, aber du brauchst deine lokalen IP`s nicht ausgrauen.
Da sie von aussen nicht erreichbar sind, deswegen ja auch LAN.
 

Ähnliche Themen

Viper73
Antworten
14
Aufrufe
1.004
Cecoupeter
Cecoupeter
holms
Antworten
3
Aufrufe
444
Cecoupeter
Cecoupeter
Ascona01
Antworten
4
Aufrufe
959
Ascona01
Ascona01
Zurück
Oben Unten