Empfangen - Beispiele


Parameterübergabe:

[liste|Zum Senden der Parameter müssen lediglich an die generierte URL
die Parameter getrennt durch ein ? angehängt werden:
        http://192.168.1.100:8885/aufruf@suffix?Parameter1?P2?P3?P4

Die von CCU-RemotePC generierten Scripte müssen dafür ergänzt werden.

CCU (CUxD-Script)
Temperatur Funk-Thermometer mit einer Nachkommastelle auslesen und übergeben
var v = dom.GetObject("BidCos-RF.HEQ1234567:1.TEMPERATURE").Value().ToString(1);
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null 'http://192.168.1.100:8885/aufruf@suffix?"#v#"'");

FHEM
PRESENCE-Status eines Routers auslesen und übergeben
define Meldung dummy
attr Meldung devStateIcon .*:icoPfeil
attr Meldung group CCU-RemotePC
attr Meldung room CCU-RemotePC
attr Meldung webCmd GO
define Meldung_ntfy notify Meldung {\
my $v=Value("Router");;\

{GetFileFromURL 'http://192.168.1.100:8885/aufruf@@suffix?' . $v . ''};;\
}

attr Meldung_ntfy group CCU-RemotePC
attr Meldung_ntfy room CCU-RemotePC


  • Diese können dann in den Empfangsoptionen via Platzhalter eingefügt werden:
            {1} für Parameter1, {2} für Parameter2, usw.

    • Die Reihenfolge kann hier frei bestimmt werden, fehlende Parameter werden ignoriert.
      Der Platzhalter {0} fügt alle angegebenen Parameter in der vorgegebenen Reihenfolge getrennt durch ein Leerzeichen (anstelle des ?) ein.
    • Sie sind in den allen Befehlen innerhalb der Klammer einzutragen und können den Befehl ergänzen oder ersetzen.

    In den Beispielen für die PC-Steuerung und Meldungen wird dies demonstriert.


Mehrfachausführung:

Wird ein Befehl empfangen können nun auch mehrere Befehle hintereinander abgehandelt werden:
        cmd(rundll32.exe user32.dll,LockWorkStation) wait(5) screen(off)
        -> der Benützer wird abgemeldet, es wird 5 Sekunden gewartet, der Bildschirm wird ausgeschalten

Der Code muß nur hintereinander eingegeben werden.


PC-Steuerung:

Beschreibung Code - cmd()
Herunterfahren cmd(shutdown -s -t 00)
Herunterfahren (erzwingen) cmd(shutdown -s -f -t 00)
Herunterfahren (erzwingen, verzögert mit Meldung) cmd(shutdown -s -f -t 05 -c "CCU-RemotePC fährt den PC herunter.")
Ruhezustand cmd(rundll32.exe powrprof.dll,SetSuspendState Hibernate)
Standby cmd(rundll32.exe powrprof.dll,SetSuspendState)
PC-Neustart cmd(shutdown -r -t 00)
PC-Neustart (erzwingen) cmd(shutdown -r -f -t 00)
PC-Neustart (verzögert mit Meldung) cmd(shutdown -r -t 05 -c "CCU-RemotePC starten den Computer neu.")
PC-Sperren cmd(rundll32.exe user32.dll,LockWorkStation)
Parameter zum Ersetzen eines Befehls cmd({1} {2})

Beschreibung Code - exe()
Programm starten exe(C:\Programme\demo.exe)
Programm über Verknüpfung starten
Beste Möglichkeit! Verknüpfung einfach im
Programmverzeichnis von CCU-RemotePC erstellen.
exe(demo.lnk)
Parameter zur Ergänzung eines Befehls exe(demo.lnk {1})

Beschreibung Code - screen()
Bildschirm ausschaltenscreen(off)
Bildschirm einschaltenscreen(on)
Code - volume()
Master-Lautstärke einstellen (z.B. 50%)volume(50)
Master-Lautstärke speichernvolume(save)
Master-Lautstärke wiederherstellenvolume(restore)
Master-Lautstärke ausschaltenvolume(mute)
Master-Lautstärke einschaltenvolume(unmute)
Master-Lautstärke toggelnvolume(toggleMute)
Code - send()
Sendebefehl mit ID 1 ausführensend(1)
Code - http()
http-Befehl direkt ausführenhttp(http://192.168.1.1:8080/tuwas)
Code - wait()
Wartezeit bis der nächste Befehl ausgeführt wird in Sekundenwait(20)
Code - if()
Zuweisen eines Empfangsbefehls an eine erweiterte MSG-Box
genaueres unten
if(msg() then x else y)
Code - speak()
Sprachausgabe via Windows-TTS
mit Parameterübergabe und bei gesperrtem User
  • Win8/8.1 - deutsche Stimme wird mitgeliefert
  • Win7/32bit - mit nachinstallierter 32bit-Stimme (nach "ScanSoft Steffi" googlen)
  • Win7/64bit - mit nachinstallierter 64bit-Stimme (kenne leider keine)
    Konfiguration: %SystemRoot%\System32\Speech\SpeechUX\sapi.cpl
  • Win7/64bit - mit nachinstallierter 32bit-Stimme (nach "ScanSoft Steffi" googlen)
    Konfiguration: %SystemRoot%\SysWOW64\Speech\SpeechUX\sapi.cpl
  • WinXP - keine Ahnung ob es da schon geht
speak(Hallo Leute.)
Code - read()
dieser Ableger von speak() liest eine Text-Datei vor
read(Pfad/zu/lese.txt)


Meldungen:

BeschreibungBildCode - msg()
Meldung (ohne Grafik)
Bild "CCU-RemotePC:bild.png"
msg(none|Meldung-Titel|Meldung-Text)
Meldung (Warnung)
Bild "CCU-RemotePC:bild.png"
msg(warning|Meldung-Titel|Meldung-Text)
Meldung (Fehler)
Bild "CCU-RemotePC:bild.png"
msg(error|Meldung-Titel|Meldung-Text)
Meldung (Information)
Bild "CCU-RemotePC:bild.png"
msg(information|Meldung-Titel|Meldung-Text)
Meldung (Frage)
Bild "CCU-RemotePC:bild.png"
msg(question|Meldung-Titel|Meldung-Text)
Parameter zur Ergänzung des Titels und Textes msg(information|Titel {1}|Text {2})
Parameter zur Festlegung des msg-Typs msg({1}|Meldung-Titel|Meldung-Text)
erweiterte Meldungen mit Befehls-Ausführung
für die Verwendung mit dem if()-Befehl
das ! kehrt die Handlung der Buttons um
msg(none|Meldung-Titel|Meldung-Text|YesNo)
msg(!none|Meldung-Titel|Meldung-Text|OKCancel)

Folgende Variablen können im Meldungs-Text verwendet werden:
  • <date> - Datum der Benachrichtigung
  • <time> - Zeit der Benachrichtigung
  • <br> - Zeilenumbruch


Beispiele für die Verwendung der erweiterten MSG-Box mit if()-Befehl:

        if(msg(question|Bildschirm ausschalten|Bildschirm aus?|YesNo) then screen(off))
        -> Bildschirm wird bei drücken von "Ja" ausschalten

        if(!msg(question|Bildschirm ausschalten|Bildschirm aus?|YesNo) then screen(off))
        -> Bildschirm wird bei drücken von "Nein" ausschalten

        if(msg(question|Licht einschalten|Licht ein?|OKCancel) then send(1) else screen(off) volume(mute))
        -> bei drücken von "OK" wird der hinterlegte Sendebefehl mit ID 1 ausgeführt
        -> bei drücken von "Abbrechen" wird der Bildschirm und der Ton ausgeschalten


eigene Befehle:

Beschreibung Code
eigene Befehle:
Dazu erstellt man im Ordner CCU-RemotePC\data\commands eine Datei mit
z.B. Namen test.rpc welche z.B. folgenden Inhalt hat:
   speak(Hallo {1})
   exe(C:\Programme\demo.exe {2})
Beide Befehle werden ergänzt und ausgeführt.
test(Welt -a)

© Thomas Baumgartner | Dragonfly :: CCU-RemotePC :: Empfangen-Beispiele | Sitemap | moziloCMS 2.0 | Original Theme by sbDESIGN modifiziert by Thomas Baumgartner