In diesem Update geht es um das Main-Modul der EVACMD sowie neue Module
und externe Erweiterungen.
EVAGUI2:
Bei der EVAGui2 werden jetzt nach dem letzten Update die Kontextmenüs zu den Programmen
sowie die Programminformationen angezeigt. Insbesondere die Hilfe und die Programmkonfigurationen
sind nun wieder direkt ansprechbar.
Zudem gibt es einen neuen Starter, der einen Startbildschirm anzeigt und im Hintergrund die
Prozesse bereinigt und Prozesslisten generiert.
Geplant war auch der Umstieg auf Crontab. dieser ist jedoch wegen der geringeren Funktionalität
wieder abgebrochen worden. u.U. wird Crontab als alternative Zeitdefinition implementiert.
Android:
Über den Android-Appinventor http://appinventor.mit.edu/ wurde ein Tool entwickelt, dass es ermöglicht die EVAGUI2 per Sprachbefehle zu steuern. (per WebGet implementiert).
Zudem werden SMS direkt an den Webserver weitergereicht und vorgelesen wenn das Android-
Gerät mit dem WLan verbunden ist und die App gestartet wurde.
XUL:
Per Programmiersprache XUL ist es nun sehr einfach möglich ansprechende Oberflächen
zur Steuerung der EVAGUI2 zu entwickeln. Die XULRunner Binärdateien sind mit Beispielen
im Ordner Bin\xulrunner zu finden.
Montag, 30. September 2013
Mittwoch, 25. September 2013
Update #25092013 - Bugfixes
Bei dem heutigen Update geht es um die EVAGui2
sowie die Module RSS und MSG.
EVAGui2 erheilt ein Update weil beim Redirect einer Nachricht über STDOUT
die Umlaute zerstört werden. Diese werden jetzt vorab im Programm umgewandelt.
Zudem reagieren Deamons Zeilenweise. bei manchen Ausgaben führt dies zu einer
Ausgabe je Zeile. Zeilen werden nun beim Redirect entfernt. (LineFeeds)
Bei der Wettersprachausgabe entstand durch dieses Verhalten ein stottern sowie
eine verzerrte Sprachausgabe bei den Umlauten.
Zudem wurde die Liste doppelt gepuffert, was zufolge hat dass bei vielen Aktualisierungen
(wie z.B. Init der Spracherkennung) kein Ruckeln mehr auftritt.
Bei dem Modul MSG war es bisher nicht möglich dass Fenster groß zu ziehen.
Für diesen Zweck wurde jetzt eine Statusbar implementiert, die das Resizing des
Fensters ermöglicht.
Bei dem Modul RSS wurde ein Fehler festgestellt, der bereits gelesene RSS-Feeds
nicht gespeichert hat. Dieses Verhalten führt dazu dass der Feed immer wieder
angezeigt wird. Das Modul wurde jetzt von Grundauf neu gestaltet.
Die XML-Definition basiert jetzt nur noch auf gekapselten URL´s in CDATA Segmenten.
Für die Bereits gelesenen Feeds wurde der Knoten Titles eingeführt, der alle bereits
gelesenen Feeds beinhaltet. Wiederholungen sind jetzt nicht mehr möglich.
sowie die Module RSS und MSG.
EVAGui2 erheilt ein Update weil beim Redirect einer Nachricht über STDOUT
die Umlaute zerstört werden. Diese werden jetzt vorab im Programm umgewandelt.
Zudem reagieren Deamons Zeilenweise. bei manchen Ausgaben führt dies zu einer
Ausgabe je Zeile. Zeilen werden nun beim Redirect entfernt. (LineFeeds)
Bei der Wettersprachausgabe entstand durch dieses Verhalten ein stottern sowie
eine verzerrte Sprachausgabe bei den Umlauten.
Zudem wurde die Liste doppelt gepuffert, was zufolge hat dass bei vielen Aktualisierungen
(wie z.B. Init der Spracherkennung) kein Ruckeln mehr auftritt.
Bei dem Modul MSG war es bisher nicht möglich dass Fenster groß zu ziehen.
Für diesen Zweck wurde jetzt eine Statusbar implementiert, die das Resizing des
Fensters ermöglicht.
Bei dem Modul RSS wurde ein Fehler festgestellt, der bereits gelesene RSS-Feeds
nicht gespeichert hat. Dieses Verhalten führt dazu dass der Feed immer wieder
angezeigt wird. Das Modul wurde jetzt von Grundauf neu gestaltet.
Die XML-Definition basiert jetzt nur noch auf gekapselten URL´s in CDATA Segmenten.
Für die Bereits gelesenen Feeds wurde der Knoten Titles eingeführt, der alle bereits
gelesenen Feeds beinhaltet. Wiederholungen sind jetzt nicht mehr möglich.
Sonntag, 22. September 2013
Update #23092013 - MOD_Sprachausgabe2
Bei dem heutigen Update geht es um die Sprachausgabe
im Bezug auf die Unterschiedlichen Threads, die die Sprachausgabe starten.
Starten mehrere Threads gleichzeitig die Sprachausgabe, so wird das Programm zur
Sprachausgabe mehrfach gestartet und liest Texte nebeneinander vor. Das neue Modul
Sprachausgabe2 ist als Deamon konzipiert und nimmt Befehle entweder von Kommandozeile
oder von STDIN auf und spricht diese. Durch dieses Verhalten wird in der Sprachausgabe
eine Playlist erzeugt, die die Texte von unterschiedlichen Threads nacheinander und nicht
gleichzeitig ausspricht.
Das verhalten von Wait=True ist in diesem Fall nicht gültig, dar der Deamon die Applikation
nach dem aussprechen nicht beendet.
Das alte Modul bleibt jedoch erhalten unter MOD_Spracherkennung. Der Deamon ist unter
MOD_Spracherkennung2 zu finden.
im Bezug auf die Unterschiedlichen Threads, die die Sprachausgabe starten.
Starten mehrere Threads gleichzeitig die Sprachausgabe, so wird das Programm zur
Sprachausgabe mehrfach gestartet und liest Texte nebeneinander vor. Das neue Modul
Sprachausgabe2 ist als Deamon konzipiert und nimmt Befehle entweder von Kommandozeile
oder von STDIN auf und spricht diese. Durch dieses Verhalten wird in der Sprachausgabe
eine Playlist erzeugt, die die Texte von unterschiedlichen Threads nacheinander und nicht
gleichzeitig ausspricht.
Das verhalten von Wait=True ist in diesem Fall nicht gültig, dar der Deamon die Applikation
nach dem aussprechen nicht beendet.
Das alte Modul bleibt jedoch erhalten unter MOD_Spracherkennung. Der Deamon ist unter
MOD_Spracherkennung2 zu finden.
Update #22092013 - Performance
EVACmd wurde in Sourceforge geupdated !
Auf Sourceforge kann nun eine neue Version der EVACmd heruntergeladen werden. (#22092013).
Die Version beinhaltet die Änderungen an der Programmoberfläche / interne Verarbeitung
sowie einige neue Bins, die Ihr verwenden könnt.
Seit dem letzten Blogeintrag gab es noch eine weitere Änderung:
gleichzeitig startende Prozesse werden nun nicht mehr hintereinander sondern in getrennten
Threads bearbeitet. Dies erlaubt eine Performancesteigerung von 20% und eine geringere CPU-
Auslastung. Durch diese Änderung kann es nun umsomehr vorkommen dass das Modul Sprachausgabe
mehrere Texte gleichzeitig ausgibt. Dies wird in der nächsten Version durch einen Deamon ersetzt,
der eine Playlist der Sprachausgabe zur Verfügung stellt und dieses Problem löst.
Donnerstag, 19. September 2013
EVA-Updates und Erklärung der Definition
EVAGui2 erhielt in der letzten Zeit einige Updates,
die die Systemstabilität, Geschwindigkeit und Auslastung wesentlich verbessern.
Was ist neu:
Oberfläche:
Die Oberfläche enthält nun Beschreibungen in der Listenansicht, sowie eine Übersicht des
selektierten Programms mit den Regeln auf der rechten Seite. Zudem gibt es nun eine Statusbar
mit der Anzeige der Zeit und der Automatiksteuerung.
Die alte Oberfläche zum erstellen von Anwendungen ist aufgrund der Komplexität und den Unterregeln
entfallen. Als Editor für Regeln wurde ein XML-Editor mit Interpreter der Struktur implementiert.
Um bei steigender Komplexität der Konfigurationsdatei das Debugging der Regeln zu vereinfachen
kann die Anwendung jetzt mit den Argumenten -c Für eine Regelauswahl gestartet werden.
Für Debugging-Zwecke wurde das Argument -d eingeführt, dass alle Regeln (andernfalls nur ausgeführte Regeln) im Debuglog mitschreibt. Das Argument -d muss mit den Teildebuginformationen über den
Bereich angegeben werden (-dpter) p= Programm, t=texte, e=events, r=rules.
Eine fertig getestete Konfiguration aus einer Testdatei kann dann in die Hauptdatei durch Selektion
einer Regel und anschließendem Klick auf "Einstellungen übernehmen" in den regulären Ablauf
übernommen werden. (In Gruppe Import).
Hinter den Kulissen
Die Basis des Programms wurde auf komplette interne Klassen umgestellt, was eine komfortablere
Überwachung der Prozesse und der Prozessstruktur erlaubt.
Einstellungsdatei
Das Format der Einstellungsdatei wurde grundlegend angepasst und kann nun in einer
verkapselteren Struktur bearbeitet werden. Prozessargumente wurden in ein separates Node
'Settings' mit einem Value eingetragen. Durch diese Veränderung können die Nodes nach
Gruppen auf- und zugeklappt werden. (z.B. in Notepad++ mittels STR+0)
Für die Gruppen Settings und Rules sowie Events sind weitere Parametrierungsmöglichkeiten
verfügbar.
Programme und Regeln
Der schematische Konfigurationsablauf
Der Stammknoten im XML muss EVA sein. Danach folgen Programme in Gruppen (n).
Gruppen haben direkte Attribute im Node.
z.B.
<Group Name="Test" Visible="False">
<.../>
</Group>
Eine Gruppe kann n Programme (Programm) enthalten. Die einzige Attribute im Programmnode
muss der eindeutige Programmname sein. Jedes Programm benötigt einen untergeordneten Node,
die Settings, die die Parameter als Nodename und einen Value (Wert) des Parameters enthalten.
z.B.
<Programm Name="Testprogramm">
<Settings>
<Settingname Value=""/>
<Settingname Value=""/>
...
</Settings>
</Programm>
Optional kann zu jedem Programm ein Node "Rules" erstellt werden, der n Regeln (Rule) enthält.
eine Regel (Rule) wird mit den direkten Argumenten Wert, Vergleich und RegexID im Node erstellt.
Weitere Parameter werden ebenfalls direkt im Node angegeben.
<Rules>
<Rule Vergleich="non" Wert="0" RegexID="0"/>
</Rules>
Eine Regel kann entweder eine Applikationsregel (Standard) oder eine Systemregel für
Systemvariablen darstellen. Die Regel ist dann mit dem Type "Int" zu versehen. Die RegexID
wird dann zu ID und enthält den Namen der Variable.
<Rules>
<Rule Type="Int" Vergleich="eq" Wert="0" ID="Variablenname1"/>
Auswertung von Rules in Abhängigkeit von Parametern:
Wenn das Programmargument Shell = True dann wird das System kein Feedback der Applikation
erhalten. Jedoch kann das System mit allen Dateien von bekannten Dateierweiterungen gestartet werden.
Bsp. Pfad = "Test.mp3" Shell = True startet den Standardplayer für MP3-Dateien.
Regeln in einer Applikation mit Shell=True werden nicht ausgewertet !
Wenn das Programmargument Shell=False ist wird weiter nach Applikationstyp unterschieden:
Typ des Programms (Type) = "Programm":
Bei dem Programmtyp Programm können unter Path nur direkt ausführbare Dateien angegeben werden.
Das Programm wird mit den Argumenten Arguments des Programms bzw. wenn vorhanden mit den Argumenten (Arg) des Aufrufers gestartet.
Der Standardeingang (STDIN) und der Fehlereingang (STDERR) werden nach dem Beenden des
Prozesses ausgewertet.
Typ des Programms (Type) = "Deamon":
Das Programm wird mit den Argumenten Arguments des Programms bzw. wenn vorhanden mit den Argumenten (Arg) des Aufrufers gestartet (Erster Start). Wird ein weiteres mal der Deamon mit Argumenten
aufgerufen, so werden die Argumente direkt an das Programm per Standardausgabe (STDOUT) übergeben.
Der Standardeingang (STDIN) und der Fehlereingang (STDERR) werden nach jeder Ausgbabe der
Anwendung ausgewertet (Deamon wird nie beendet).
Auswertung von Programmereignissen:
Die Programmereignisse werden nach Erhalt mittels der in Regel definierten Regel ausgewertet.
Die Regel ist ein Regulärer Ausdruck !
Bsp..:
Eingangstext = "5 neue Mails erhalten [Neue Zeile] 6 neue Feeds erhalten"
Regel = "^(.) neue (.*?) erhalten$"
Vergleich = "eq"
Wert = "1"
RegexID = 1
Die Regel wird über den Eingangstext gelegt und erzeugt eine mehrdimensionale Liste an Parametern:
Z | 1 | 2
1 | 5 | Mails
2 | 6 | Feeds
In der weiteren Verarbeitung wird nun jede Zeile auf die RegexID ausgewertet:
Bsp.: RegexID 1 ergibt:
Z | 1
1 | 5
2 | 6
Nun wird jede Zeile mit dem Vergleichsparameter und dem gegebenen Wert verglichen:
RegexID 1 = "5" Vergleich eq (gleich) Wert = "1" ist nicht wahr ! (5 = 1)
würde nun der Vergleichswert "gt" (größer als) lauten, so wäre das Ergebnis der Auswertung Wahr.
(5 > 1) ist Wahr!
Bei einem wahren Ergebnis werden die untergeordneten Aktionen gestartet und die untergeordneten Regeln
ebenfalls überprüft und ggf. ausgeführt (logisches und).
In dem genannten Beispiel könnte nun unterschieden werden nach RegexID=2 "Mails" oder "Feeds"
und unterschiedliche Programme gestartet werden.
Auswertung von Systemvariablen:
Bei Systemvariablen wird der gespeicherte wert mittels der Vergleichsfunktion mit dem hinterlegten
Wert verglichen:
gespeichert="1" Vergleich="eq" Wert="0" (1 = 0) = Falsch
gespeichert="1" Vergleich="gt" Wert="0" (1 > 0) = Wahr
Starten eines Events (Programm)
Wenn eine Regel als Ergebnis Wahr zurückliefert, so werden die enthaltenen Aktionen ausgeführt.
Eine Aktion muss auf ein Programm verweisen (eindeutiger Name des Programms) unter "Start".
Desweiteren können an das Programm Argumente übergeben werden, die die Argumente des
Programms ersetzen. Um das nächste Programm erst nach beenden des ersten Programms zu starten,
muss das Argument "Wait" auf "True" gesetzt werden. Des weiteren kann ein Zeitbereich definiert werden,
in dem diese Aktion ausgeführt werden darf ("6-16|18-20") startet dieses Event nur in dem Zeitraum von
6-16 Uhr oder von 18-20 Uhr.
Jedes Event kann Regeln enthalten, die die Regeln des Programms für diese Ausführung überschreiben.
z.B.
Das System besitzt ein Programm Spracherkennung, dass mehrere Befehle interpretieren kann.
Wenn jetzt z.B. eine Frage per Sprachausgabe an den Benutzer gestellt wird, bei dem nur die Antwort
Ja und Nein gültig sind, so müssen alle anderen Regeln der Spracherkennung außerkraftgesetzt werden.
Zudem erlaubt das Regeln ersetzen einen Dialog mit dem Benutzer, mit dem der Benutzer durch mehrere
Stufen geleitet wird.
Systemvariable erstellen:
Um eine Systemvariable zu erstellen wird ein Name und ein Wert (Value) vergeben:
Bsp.:
<CreateSysVar Name="Test" Value="1"/>
Der Variablenname wird beim ersten ansprechen der Variable erzeugt und bei Bedarf überschrieben.
Die vorab gezeigte Regel "Auswertung von Systemvariablen" überprüft genau diese Regel.
Programm erstellen:
Mit "CreateProgramm" kann ein Programm in den Startbereich übernommen werden.
Die Definition von Createprogramm ist mit Programm identisch. Dies ist vorallem für
z.B. einen Wecker sinnvoll, den der Benutzer am Vorabend aktivieren kann.
Module:
MOD_FB = Facebook Statusbenachrichtigungen und weitere Funktionen
MOD_GCL = Google Commandline, Kalender, Videos, Kontakte, ...
MOD_GMail = Abruf für Mails eines Gmail-Kontos
MOD_RSS = Abruf und Speicherung von RSS-Feeds
MOD_SHOW = Anzeige eines Webbrowsers (Anzeigezeit, Position, URL)
MOD_Sprachausgabe = Aussprechen von Texten
MOD_Spracherkennung = Spracherkennung von Windows (eher schlecht)
MOD_Spracherkennung2 (Deamon) = Spracherkennung über Julius / Sphinx (Hot-Words)
MOD_Spracherkennung3 = Spracherkennung über Google (Freitext)
MOD_T4E = Techno4Ever aktuelles Lied (Main, Hard, Club)
MOD_Telnet = Empfängt Nachrichten über Telnet
=> verbunden mit FHEM
MOD_Tweet = Sendet und Empfängt Twitter-Meldungen
MOD_WebGet = Get an einen Webservice senden
MOD_Webserver = Webserver für SVG (Scalable Vector Graphics) (Positionsbezogen)
MOD_Wetter = Wetter abrufen (Webservice)
MOD_WinGui = Grafische Oberfläche für Steuerungsbefehle
MOD_YesNo = Abfrage auf Ja/Nein mit Default und Timer-Funktion
MOD_Apache = Apache Webserver
MOD_TVP = TV-Programm des Tages
MOD_Faststart (Deamon) = Indizierung und Suche von Ordnern im Dateisystem
MOD_KEY (Deamon) = Keylogger (überwacht selektiertes Programm, Mausklicks und Tastatur)
MOD_MSG (Deamon) = Fenster für Nachrichten
MOD_Serial (Deamon)= Serielle Schnittstelle überwachen
=> Per Arduino (Tel, Infrarot, Türstatus, Temp, Bewegung, KVM-Switch)
=> C-Code wird bereitgestellt.
Externe Programme (Definition siehe Herstellerseiten):
bzw.: /Help -Help /h oder -h
NodeJS = JavaScript Interpreter, wird verwendet für Webserver.
RuleGen = JavaScript für Blockly (Puzzelprogrammiersystem siehe AppInventor)
SVN = Subversion = Aktualisierung von Programmpaketen
Beep1 (Script) = Ein Piep auf dem Systemlautsprecher
JaNEin (Script) Abfrage auf Ja oder Nein
WBin = Unix Commandline Utitlities = Sammlung von Unix-Befehlen (Wget, Tail)
AutoIT = Automatisierung von Maus, Tastatur, ...
blat = Mailprogramm
Curl = Webrequests mittels Post oder Get senden
DevCon = Device Console (An den Computer angeschlossene Geräte)
espeak = Sprachausgabe (blechern)
ffmpeg/ffplay = Kommandozeilenvideoaufnahme, betrachtung, konvertierung
fping = Ping Tool mit weiteren Optionen
nircmd = Automatisierung von Lautstärke, Diverses
sendEmail = Mail sender (bevorzugt)
sfk166 = Diverse Tools
wget = Führt eine Get-Anfrage an einen Webservice aus.
WolCMD = Wake on Lan = Computer über Netzwerk einschalten.
Windows-Programme:
Ping = Prüft die Verfügbarkeit eines angeschlossenen Netzwerkgeräts
Wscript = Windows Scripting Host = Führt VBS oder VBE bzw. HTA aus.
NetStat = Netzwerkstatistik
WMIC = Windows Verwaltungs Instrumentation (WMI-Abfragen an das System)
Weitere (Scripting):
PHP = Führt PHP-Scripts aus
Perl = Führt Perl Programme aus
Python = Führt Python Programme aus
Weitere (Keine Verwendung):
ImageMagick = Bildbearbeitung / Konvertierung
Aubio/SOX/WAVPACK = Tonaufnahmen / Bearbeitung
NeoLog = Logfiles auslesen
NMAP/NCAT = Netzwerktools
WirelessNetconsole = Übersicht über drahtlose Netzwerke
pdftk = PDF-Toolkit = Bearbeiten von PDF-Dateien
php2exe = wandelt PHP-Dateien in .exe um (Vorsicht!) oder Exe-P
SNMP = Simply Network Management Protocoll (Abfragen von Parametern von Netzwerkgeräten)
SysInternals Suite = Diverse Programme für Windows (Tasks, Anmelden, Remote Prozesse)
Tesseract-OCR = Texterkennung
7z = 7Zip Dateien komprimieren / dekomprimieren
FCIV = Cipher = Checksummenberechnung
robocopy = Kopieren von Dateien
MortScript = Ähnlich AutoIt, weniger Funktionen
Eine Regel kann entweder eine Applikationsregel (Standard) oder eine Systemregel für
Systemvariablen darstellen. Die Regel ist dann mit dem Type "Int" zu versehen. Die RegexID
wird dann zu ID und enthält den Namen der Variable.
<Rules>
<Rule Type="Int" Vergleich="eq" Wert="0" ID="Variablenname1"/>
</Rules>
Auswertung von Rules in Abhängigkeit von Parametern:
Wenn das Programmargument Shell = True dann wird das System kein Feedback der Applikation
erhalten. Jedoch kann das System mit allen Dateien von bekannten Dateierweiterungen gestartet werden.
Bsp. Pfad = "Test.mp3" Shell = True startet den Standardplayer für MP3-Dateien.
Regeln in einer Applikation mit Shell=True werden nicht ausgewertet !
Wenn das Programmargument Shell=False ist wird weiter nach Applikationstyp unterschieden:
Typ des Programms (Type) = "Programm":
Bei dem Programmtyp Programm können unter Path nur direkt ausführbare Dateien angegeben werden.
Das Programm wird mit den Argumenten Arguments des Programms bzw. wenn vorhanden mit den Argumenten (Arg) des Aufrufers gestartet.
Der Standardeingang (STDIN) und der Fehlereingang (STDERR) werden nach dem Beenden des
Prozesses ausgewertet.
Typ des Programms (Type) = "Deamon":
Das Programm wird mit den Argumenten Arguments des Programms bzw. wenn vorhanden mit den Argumenten (Arg) des Aufrufers gestartet (Erster Start). Wird ein weiteres mal der Deamon mit Argumenten
aufgerufen, so werden die Argumente direkt an das Programm per Standardausgabe (STDOUT) übergeben.
Der Standardeingang (STDIN) und der Fehlereingang (STDERR) werden nach jeder Ausgbabe der
Anwendung ausgewertet (Deamon wird nie beendet).
Auswertung von Programmereignissen:
Die Programmereignisse werden nach Erhalt mittels der in Regel definierten Regel ausgewertet.
Die Regel ist ein Regulärer Ausdruck !
Bsp..:
Eingangstext = "5 neue Mails erhalten [Neue Zeile] 6 neue Feeds erhalten"
Regel = "^(.) neue (.*?) erhalten$"
Vergleich = "eq"
Wert = "1"
RegexID = 1
Die Regel wird über den Eingangstext gelegt und erzeugt eine mehrdimensionale Liste an Parametern:
Z | 1 | 2
1 | 5 | Mails
2 | 6 | Feeds
In der weiteren Verarbeitung wird nun jede Zeile auf die RegexID ausgewertet:
Bsp.: RegexID 1 ergibt:
Z | 1
1 | 5
2 | 6
Nun wird jede Zeile mit dem Vergleichsparameter und dem gegebenen Wert verglichen:
RegexID 1 = "5" Vergleich eq (gleich) Wert = "1" ist nicht wahr ! (5 = 1)
würde nun der Vergleichswert "gt" (größer als) lauten, so wäre das Ergebnis der Auswertung Wahr.
(5 > 1) ist Wahr!
Bei einem wahren Ergebnis werden die untergeordneten Aktionen gestartet und die untergeordneten Regeln
ebenfalls überprüft und ggf. ausgeführt (logisches und).
In dem genannten Beispiel könnte nun unterschieden werden nach RegexID=2 "Mails" oder "Feeds"
und unterschiedliche Programme gestartet werden.
Auswertung von Systemvariablen:
Bei Systemvariablen wird der gespeicherte wert mittels der Vergleichsfunktion mit dem hinterlegten
Wert verglichen:
gespeichert="1" Vergleich="eq" Wert="0" (1 = 0) = Falsch
gespeichert="1" Vergleich="gt" Wert="0" (1 > 0) = Wahr
Starten eines Events (Programm)
Wenn eine Regel als Ergebnis Wahr zurückliefert, so werden die enthaltenen Aktionen ausgeführt.
Eine Aktion muss auf ein Programm verweisen (eindeutiger Name des Programms) unter "Start".
Desweiteren können an das Programm Argumente übergeben werden, die die Argumente des
Programms ersetzen. Um das nächste Programm erst nach beenden des ersten Programms zu starten,
muss das Argument "Wait" auf "True" gesetzt werden. Des weiteren kann ein Zeitbereich definiert werden,
in dem diese Aktion ausgeführt werden darf ("6-16|18-20") startet dieses Event nur in dem Zeitraum von
6-16 Uhr oder von 18-20 Uhr.
Jedes Event kann Regeln enthalten, die die Regeln des Programms für diese Ausführung überschreiben.
z.B.
Das System besitzt ein Programm Spracherkennung, dass mehrere Befehle interpretieren kann.
Wenn jetzt z.B. eine Frage per Sprachausgabe an den Benutzer gestellt wird, bei dem nur die Antwort
Ja und Nein gültig sind, so müssen alle anderen Regeln der Spracherkennung außerkraftgesetzt werden.
Zudem erlaubt das Regeln ersetzen einen Dialog mit dem Benutzer, mit dem der Benutzer durch mehrere
Stufen geleitet wird.
Systemvariable erstellen:
Um eine Systemvariable zu erstellen wird ein Name und ein Wert (Value) vergeben:
Bsp.:
<CreateSysVar Name="Test" Value="1"/>
Der Variablenname wird beim ersten ansprechen der Variable erzeugt und bei Bedarf überschrieben.
Die vorab gezeigte Regel "Auswertung von Systemvariablen" überprüft genau diese Regel.
Programm erstellen:
Mit "CreateProgramm" kann ein Programm in den Startbereich übernommen werden.
Die Definition von Createprogramm ist mit Programm identisch. Dies ist vorallem für
z.B. einen Wecker sinnvoll, den der Benutzer am Vorabend aktivieren kann.
Module:
MOD_FB = Facebook Statusbenachrichtigungen und weitere Funktionen
MOD_GCL = Google Commandline, Kalender, Videos, Kontakte, ...
MOD_GMail = Abruf für Mails eines Gmail-Kontos
MOD_RSS = Abruf und Speicherung von RSS-Feeds
MOD_SHOW = Anzeige eines Webbrowsers (Anzeigezeit, Position, URL)
MOD_Sprachausgabe = Aussprechen von Texten
MOD_Spracherkennung = Spracherkennung von Windows (eher schlecht)
MOD_Spracherkennung2 (Deamon) = Spracherkennung über Julius / Sphinx (Hot-Words)
MOD_Spracherkennung3 = Spracherkennung über Google (Freitext)
MOD_T4E = Techno4Ever aktuelles Lied (Main, Hard, Club)
MOD_Telnet = Empfängt Nachrichten über Telnet
=> verbunden mit FHEM
MOD_Tweet = Sendet und Empfängt Twitter-Meldungen
MOD_WebGet = Get an einen Webservice senden
MOD_Webserver = Webserver für SVG (Scalable Vector Graphics) (Positionsbezogen)
MOD_Wetter = Wetter abrufen (Webservice)
MOD_WinGui = Grafische Oberfläche für Steuerungsbefehle
MOD_YesNo = Abfrage auf Ja/Nein mit Default und Timer-Funktion
MOD_Apache = Apache Webserver
MOD_TVP = TV-Programm des Tages
MOD_Faststart (Deamon) = Indizierung und Suche von Ordnern im Dateisystem
MOD_KEY (Deamon) = Keylogger (überwacht selektiertes Programm, Mausklicks und Tastatur)
MOD_MSG (Deamon) = Fenster für Nachrichten
MOD_Serial (Deamon)= Serielle Schnittstelle überwachen
=> Per Arduino (Tel, Infrarot, Türstatus, Temp, Bewegung, KVM-Switch)
=> C-Code wird bereitgestellt.
Externe Programme (Definition siehe Herstellerseiten):
bzw.: /Help -Help /h oder -h
NodeJS = JavaScript Interpreter, wird verwendet für Webserver.
RuleGen = JavaScript für Blockly (Puzzelprogrammiersystem siehe AppInventor)
SVN = Subversion = Aktualisierung von Programmpaketen
Beep1 (Script) = Ein Piep auf dem Systemlautsprecher
JaNEin (Script) Abfrage auf Ja oder Nein
WBin = Unix Commandline Utitlities = Sammlung von Unix-Befehlen (Wget, Tail)
AutoIT = Automatisierung von Maus, Tastatur, ...
blat = Mailprogramm
Curl = Webrequests mittels Post oder Get senden
DevCon = Device Console (An den Computer angeschlossene Geräte)
espeak = Sprachausgabe (blechern)
ffmpeg/ffplay = Kommandozeilenvideoaufnahme, betrachtung, konvertierung
fping = Ping Tool mit weiteren Optionen
nircmd = Automatisierung von Lautstärke, Diverses
sendEmail = Mail sender (bevorzugt)
sfk166 = Diverse Tools
wget = Führt eine Get-Anfrage an einen Webservice aus.
WolCMD = Wake on Lan = Computer über Netzwerk einschalten.
Windows-Programme:
Ping = Prüft die Verfügbarkeit eines angeschlossenen Netzwerkgeräts
Wscript = Windows Scripting Host = Führt VBS oder VBE bzw. HTA aus.
NetStat = Netzwerkstatistik
WMIC = Windows Verwaltungs Instrumentation (WMI-Abfragen an das System)
Weitere (Scripting):
PHP = Führt PHP-Scripts aus
Perl = Führt Perl Programme aus
Python = Führt Python Programme aus
Weitere (Keine Verwendung):
ImageMagick = Bildbearbeitung / Konvertierung
Aubio/SOX/WAVPACK = Tonaufnahmen / Bearbeitung
NeoLog = Logfiles auslesen
NMAP/NCAT = Netzwerktools
WirelessNetconsole = Übersicht über drahtlose Netzwerke
pdftk = PDF-Toolkit = Bearbeiten von PDF-Dateien
php2exe = wandelt PHP-Dateien in .exe um (Vorsicht!) oder Exe-P
SNMP = Simply Network Management Protocoll (Abfragen von Parametern von Netzwerkgeräten)
SysInternals Suite = Diverse Programme für Windows (Tasks, Anmelden, Remote Prozesse)
Tesseract-OCR = Texterkennung
7z = 7Zip Dateien komprimieren / dekomprimieren
FCIV = Cipher = Checksummenberechnung
robocopy = Kopieren von Dateien
MortScript = Ähnlich AutoIt, weniger Funktionen
Abonnieren
Posts (Atom)


