WINCONNECT: Unterschied zwischen den Versionen
(add microphone description / add readings) |
K (→Readings) |
||
Zeile 316: | Zeile 316: | ||
* NoSystemBattery = Gibt an, dass kein Akku vorhanden ist. | * NoSystemBattery = Gibt an, dass kein Akku vorhanden ist. | ||
* Unknown = Gibt eine unbekannte Batteriestand an. | * Unknown = Gibt eine unbekannte Batteriestand an. | ||
|| Hier wird der aktuelle Batterie | || Hier wird der aktuelle Ladestatus der Batterie angezeigt | ||
|- | |- | ||
| battery_LifePercent || | | battery_LifePercent || |
Version vom 29. August 2017, 06:49 Uhr
An dieser Seite wird momentan noch gearbeitet. |
WINCONNECT | |
---|---|
Zweck / Funktion | |
Dieses Modul dient zur Steuerung eines Windows PCs | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Sonstiges |
Modulname | 70_WINCONNECT.pm |
Ersteller | michael.winkler (Forum / Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
WINCONNECT ist ein Modul mit welchem ein Windows PC gesteuert und Informationen angezeigt werden können.
Voraussetzungen
Damit diese Modul verwendet werden kann muss auf dem entsprechenden Windows PC eine zusätzliche GUI laufen. Diese kann hier heruntergeladen werden. Zusätzlich bestehen für die GUI noch folgende Systemvoraussetzungen:
- Microsoft .Net Framework 4.5
- Firewall Port 8183 muss vom FHEM Server aus erreichbar sein
Folgende Betriebssystem wurden schon erfolgreich damit betrieben:
- Windows Server 2012 R2
- Windows 10 (Aldi Tablet)
- Windows 10 Pro (Surface Pro 2017)
- Windows 10 Home
- Windows RT 8.1 (Im Testmodus)
Grundkonfiguration
Definition in FHEM
Zum anlegen des Windows PCs können folgende Definitionen verwendet werden.
define <name> WINCONNECT 192.168.0.10
Standardmäßig prüft der FHEM Server alle 45 Sekunden ob der Windows PC noch erreichbar ist. Dieser Intervall kann wie folgt, z.B. auf 60 Sekunden, geändert werden:
define <name> WINCONNECT 192.168.0.10 60
Installation Windows GUI
Damit der FHEM Server Windows steuern kann wird auf dem PC ein Stück Software benötigt. Folgende Schritte sind hierfür nötig:
- Verzeichnis anlegen z.B. "C:\Daten\FHEM\WinConnect"
- Die heruntergeladene Datei in das Verzeichnis legen und in "WinControl.exe" umbenennen
- WinControl.exe starten
Nachdem die GUI gestartet wurde kann die Anbindung an den FHEM Server wie folgt konfiguriert werden:
Name | Beispielwert | Beschreibung |
---|---|---|
FHEM IP Adresse | fhem_server.home.int | Hier kann eine IP-Adresse, Netbiosname oder der FQDN des Servers angegeben werden. |
FHEM Port | 443 | Hier muss der Port des FHEM Servers angegeben werden. Hier in dem Beispiel wird ein SSL Port verwendet |
FHEM Url | fhem | In einer FHEM Standardumgebung wird hier immer "fhem" verwendet |
FHEM Benutzer | admin | Benutzernamen des FHEM Server |
FHEM Kennwort | ********* | Kennwort des FHEM Server |
FHEM SSL | aktiviert | Wenn dies Option aktiviert ist, findet der Zugriff auf den FHEM Server über HTTPS statt. |
SSL Protokolle | TLSv12 | Wenn SSL aktiviert wurde, muss hier noch das Protokoll aktiviert werden. Standardmäßig sind immer alle aktiv. |
SSL Warnung deaktivieren | aktiviert | Bei selbst erstellten Zertifikaten oder Zertifikaten die nicht zur URL passen kommt in der Regel ein Sicherheitshinweis. Damit sich die GUI trotzdem mit dem FHEM Server verbindet muss dann die Option aktiviert werden. |
Nach erfolgreicher Konfiguration, muss diese noch mit dem Speicherbutton gespeichert werden. Danach sollte sich die GUI wie folgt zeigen
Weitere Konfiguration
GUI Optionen
Hier können einige Optionen gesetzt werde, die den Start der GUI beeinflussen.
Audio
Spracherkennung
An dieser Seite wird momentan noch gearbeitet. |
Mikrofon
Hier kann das Erkennen eines Mikrofon-Peaks aktiviert werden.
Punkt | Beschreibung |
---|---|
Autodetect | Durch aktivieren der Checkbox wird Mikrofon und die Erkennung aktiviert. |
% Detect Changes > | Hier kann die Empfindlichkeit der Erkennung in % angegeben werden. Ist der Ausschlag größer als der angegebene Wert wird das FHEM Reading "microphone_detect" auf "true" gesetzt. Ist der Wert kleiner wird das Reading auf "false" gesetzt. |
Kamera
Snapshot
An dieser Seite wird momentan noch gearbeitet. |
Motion
An dieser Seite wird momentan noch gearbeitet. |
System
Core Temp
Damit in FHEM Werte der CPU Temperatur angezeigt werden können muss auf dem Windows PC noch die Software "Core Temp" installiert sein. Diese könnt Ihr hier vom Hersteller herunterladen. Damit die GUI die Daten auch in FHEM schreiben kann muss die Software ausgeführt sein.
Standardmäßig wird alle 45 Sekunden, bei einer Änderung, die Temperatur übertragen. Dieser Intervall kann mit dem Reading "checkperformance_interval" angepasst werden.
Wichtig!! Die Software muss in den Standardpfad "%ProgramFiles%\Core Temp" installiert sein, damit die GUI diese auch findet. Wenn alles richtig installiert wurde sieht das in der GUI wie folg aus:
user_aktiv
Hier kann aktuelle nichts eingestellt werden. Diese Register ist rein Informativ .
Punkt | Beschreibung |
---|---|
Idle Time | Hier wird die Zeit in Sekunden angezeigt welche die Zeitspanne anzeigt wenn das System das Reading "user_aktiv" auf false setzt |
Detect last action | Hier wird die letzte Aktion angezeigt die das Reading "user_aktiv" auf true gesetzt hat |
WMI
Hier gibt es die Möglichkeit WMI Abfragen einzurichten und die Ergebnisse als FHEM Reading darzustellen. Die WMI Anfragen können nur in der GUI angelegt und konfiguriert werden.
Beschreibung der Menüleiste: Die Beschreibung der Menüleiste geht von links nach rechts.
- Button zum Speichern der Änderungen (Muss bei jeder Änderung verwendet werden)
- Button zum erneuten Einlesen der WMI Abfragen (Kann verwendet werden wenn man die aktuell Änderungen speichert möchte. Dadurch wird der alte Zustand wiederhergestellt.)
- Button zum Starten des WMI Wizard (Beschreibung siehe weiter unten)
- Button zum löschen der aktuell markierten WMI Abfrage
- Button zum Testen der aktuell ausgewählten WMI Abfrage (Ergebnis siehe Messagebox)
Alle konfigurierten WMI Abfragen werden in der Tabelle angezeigt. Hier ist auch eine manuell angepasst möglich. Hierfür einfach eine Zelle doppelt klicken und den Wert dementsprechend ändern. Achtung! Speichern danach nicht vergessen.
Beschreibung der Tabelle:
Spaltenname | Beschreibung |
---|---|
Aktiv | Nur WMI-Abfragen die hier aktiviert sind werden abgefragt und als FHEM Reading dargestellt |
Ergebnis | Hier erscheint das letzte Ergebnis der WMI-Abfrage (Nur wenn die Checkbox Aktiv aktiviert ist!) |
Namespace | Hier ist der WMI Namespace angegeben, welcher für die Abfrage verwendet wird |
Reading-Name | Hier wird das FHEM Reading angegeben, in welchem das Ergebnis der WMI Abfrage angezeigt wird. ACHTUNG!! Hier muss darauf geachtet werden dass das FHEM Reading nur einmal vorkommt. Wenn Ihr ein FHEM Reading zweimal verwendet kann immer nur eines gewinnen. Jedes FHEM Reading erhalt noch das Präfix "wmi_" |
WMI-Wert | Hier wird das WMI Propertie von der WMI Abfrage angegeben. |
WMI-Query | Hier wird die eigentliche WMI Abfrage angegeben. |
Jeder Zeiler der Tabelle wird dann in der GUI in folgende WMI Query übersetzt, mit welcher der [NAMESPACE] abgefragt wird.
[ERGEBNIS] = select [WMI-Wert] from [WMI-Query]
Für die Grundkonfiguration der WMI Abfrage kann der integrierte WMI Wizard benutzt werden. Dieser ist über die Menüleiste abrufbar.
Beschreibung des WMI Wizard Die Wichtigen Punkt sind im Screenshot mit Nummern markiert.
Punkt | Beschreibung |
---|---|
1 | Wert der z.B. Abgefragt werden soll |
2 | Hier werden alle WMI Namespaces des PCs aufgelistet |
3 | Hier werden alle WMI Klassen des ausgewählten WMI Namespaces aufgelistet |
4 | Starten einer WMI Abfrage |
5 | Hier werden alle WMI Properties der ausgewählten Klasse aufgelistet |
6 | In diesem Bereich werden die WMI Informationen der gesamten Klasse aufgelistet. Die zwei blau markierten Bereich dienen später als WMI Filter |
7 | Hier kann getestet werden ob die ausgewählte WMI Abfrage auch den entsprechenden Wert zurückliefert |
8 | Hier wird das Ergebnis vom Punkt 7 angezeigt. Mit der Auswahl "Ja" wird die WMI Abfrage übernommen und das Fenster wieder geschlossen |
Wie kann man eine neue WMI abfrage hinzufügen?
- Den markierten Wert[1] (Value=40) wollen wir in FHEM als Reading hinzufügen
- Namespace root\OpenHardwareMonitor[2] auswählen
- Classes Sensor[3] auswählen
- Button Query[4] drücken, danach sollte im unteren Bereich eine Tabelle mit allen werten aus dieser Klasse erscheinen
- WMI-Wert Value[5] auswählen (Das ist die Spalte wo unser Wert steht)
- Da die Tabelle mehrere Zeilen beinhaltet müsst Ihr hier weitere Filter setzen. Das erreichst Ihr in dem Ihr eine oder mehrere Zellen markiert. z.B. (GPU Fan)[6] und (/nvidiagpu/0)[6]
- Danach könnt Ihr über den Button Test[7] testen ob die Auswahl so passt
- Das Ergebnis wird euch in einer Messagebox angezeigt. Mit ja[8] könnt Ihr dann das ganze übernehmen.
Spezial Konfiguration
Bei den SET Befehlen ttsmsg, messagebox, und picture_make kann, bevor die Aktion ausgeführt wird, eine WAV Datei abgespielt werden. Hier zu ist es nötig in das Verzeichnis, in welchem die WinControl.exe liegt, zusätzlich die Dateien ttsmsg.wav, messagebox.wav und picture.wav zu legen.
ACHTUNG!! Die WAV Dateien für ttsmsg und messagebox werden erst in voller Länge abgespielt, bevor die Aktion ausgeführt wird!
FHEM Device
Attribute
Name | Mogliche Werte | Beschreibung |
---|---|---|
autoupdategitlab |
|
Das WINCONNECT Modul läd Standardmäßig die aktuelle WinControl.exe vom entsprechenden gitlab herunter. Dies kann über diese Attribut verhindert werden |
disable |
|
Über diese Attribut kann das FHEM Device deaktiviert werden. |
win_resetreadings |
|
Über diese Attribut kann gesteuert werden ob die Readings (os_RunTime_days, os_RunTime_hours, os_RunTime_minutes, printer_aktiv und printer_names), wenn der PC Offline ist zurückgesetzt werden sollen. |
set
Name | Beschreibung |
---|---|
camera | Hier wird das Kamerabild in Großformat angezeigt. Das funktioniert auch mit eingeschaltetem motion detect! |
checkperformance | Hier können Windowscounter überwacht werden. Je Zeile kann ein Counter überwacht werden. |
checkprocess | Hier können Windowsprozesse überwacht werden. Mehrere Prozesse werden über ; getrennt eingetragen z.b. explorer.exe;chrome.exe |
checkservice | Hier können Windowsdienste überwacht werden. Mehrere Dienste werden über ; getrennt eingetragen. Hier den Dienstnamen verwenden. z.b. netlogon;dhcp (Eigenschaften des Dienstest und dort den Dienstnamen) |
command | Hier können Programme auf dem PC ausgeführt werden. z.b. "notepad.exe c:\info.txt" |
commandhide | siehe "command" Beim Verwenden von commandhide wird das ausgeführte Programm versteckt. |
file_dir | Hier kann ein Verzeichnis angegeben werden welches überwacht werden soll. Das Ergebnis wird dann über die zwei Readings "file_name" und "file_fullname" angezeigt |
file_order | Mögliche Werte (ascending/descending) ascending = älteste Datei descending = neueste Datei |
file_filter | Durch das Setzen des Filters kann die Anzeige der gefunden Dateien geändert werden. Folgende Filter können hier gesetzt werden:
|
picture_dir | Hier kann der Ablagepfad der Bilder festegelegt werden. Diese Verzeichnis wird für picture make und motion detect verwendet. |
picture_make | Hier wird ein Bilder der Kamera erzeugt. Das funktioniert auch mit eingeschaltetem motion detect! |
Powermode | Hiermit kann der PC in folgende Zustände versetzt werden
|
showfile | Hier können Dateien angezeigt werden. Anhand der Dateiendung wird dann das Standardprogramm des PC´s aufgerufen z.B. "C:\Bild.jpg" |
speechcommands | Hier können Sprachkommandos hinterlegt werden, auf welche das System reagiert. Mehrere Befehle werden durch ein ";" getrennt. |
speechquality | Hier kann die Qualität der Spracherkennung definiert werden. Bei meinem Windows RT Tablet hat sich der Wert 70 als ganz brauchbar erwiesen. Über die Windowsapp kann der optimale Wert ermittelt werden. |
ttsmsg | Text wird auf dem PC gesprochen (Soundkarte wird benötigt) |
update | Hier kann ein manuelles GUI Update gestartet werden. |
Readings
Name | Mogliche Werte | Beschreibung |
---|---|---|
audio |
|
Hier wird angezeigt ob der Windows PC gerade Sound abspielt |
battery_ChargeStatus |
|
Hier wird der aktuelle Ladestatus der Batterie angezeigt |
battery_LifePercent |
|
Hier wird angezeigt ob der Windows PC gerade Sound abspielt |
battery_LifeRemainingsMin | [NUMERIC] | Hier wird die ungefähre verbleibende Akkulebensdauer in Minuten angezeigt |
battery_PowerLineStatus |
|
Hier wird der Status der Stromversorgung angezeigt |
core_temp_X_X_temperature | [NUMERIC] | Hier wird die CPU Temperatur angezeigt. Das erste X steht für die Nummer der physikalischen CPU. Das zweite X steht für die Nummer des jeweiligen Kernes. |
core_temp_cors_per_CPU | [NUMERIC] | Hier wird die Anzahl der jeweiligen Kerne der physikalischen CPU angezeigt |
core_temp_name | [STRING] | Hier wird der Name der CPU angezeigt |
core_temp_physical_CPUs | [NUMERIC] | Hier wird die Anzahl der verfügbaren physikalischen CPUs angezeigt |
core_temp_state |
|
Hier wird angezeigt ob die Software "Core Temp" auf dem Sytsem installiert ist, und auch dementsprechend Daten liefert |
core_temp_temperaturtyp |
|
Hier wird angezeigt in welcher Einheit die Temperaturwerte dargestellt werden. Diese Einstellung kann in der Software "Core Temp" angepasst werden |
drive_X_xxxxxx | Dient nur der Beschreibung der drive_X_..... Readings weiter unten |
|
drive_X_Format |
|
Dateiformat des Laufwerkes |
drive_X_Label | [String] | Beschriftung des Laufwerkes |
drive_X_Space_AvailableFree | [Numeric] | Freier Speicher in MB |
drive_X_Space_Total | [Numeric] | Gesamter Speicher in MB / Änderungen werden nur erkannt wenn diese größer 10MB sind! |
drive_X_Space_Used | [Numeric] | Benutzter Speicher in MB / Änderungen werden nur erkannt wenn diese größer 10MB sind! |
drive_X_Space_Type | [String] | Typ des Speichers z.B. Fixed(lokale HDD)/Network/CDRom usw.. |
memory_available | [Numeric] | Hier wird der noch verfügbare Arbeitsspeicher in MB angezeigt |
memory_total | [Numeric] | Hier wird die Größe des erkannten Arbeitsspeicher in MB angezeigt |
microphone_detect |
|
Hier wird angezeigt ob der Windows PC eine Änderung über das Mikrofon feststellt / Schwellwerte können über die GUI eingestellt werden |
microphone_devicename | [String] | Hier wird der Name des erkannten Mikrofones angezeigt |
model | [String] | Hier wird der Name des erkannten Betriebssystem angezeigt z.B. Windows 10 Home |
motion_detect |
|
Hier wird angezeigt ob der Windows PC eine Änderung über die Kamera feststellt / Schwellwerte können über die GUI eingestellt werden |
os_Domainname | [String] | Hier wird der Name der Domainname des PC angezeicht, in welcher er sich befindet. Ist der PC in keiner Domain dann wird der Computername hier angezeigt |
os_Hostname | [String] | Hier wird der Computername angezeigt |
os_InstallDate | [String] | Hier wird das Datum und die Uhrzeit von Installationszeitpunkt von Windows angezeigt |
os_Name | [String] | Hier wird der Name des erkannten Betriebssystem angezeigt z.B. Windows 10 Home |
os_RunTime_days | [Numeric] | Hier wird die Laufzeit in Tagen angezeigt. Bei einer Laufzeit von 23 Stunden und 59 Minuten wird hier eine 0 angezeigt |
os_RunTime_hours | [Numeric] | Hier wird die Laufzeit in Stunden angezeigt. Bei einer Laufzeit von einer Stunde und 59 Minuten wird hier eine 1 angezeigt |
os_RunTime_minutes | [Numeric] | Hier wird die Laufzeit in Minuten angezeigt. |
os_StartTime | [String] | Hier wird das Datum und die Uhrzeit von Start von Windows angezeigt |
os_Type | [String] | Hier wird der Type des Betriebsystems angezeigt z.B. Server oder Client |
os_Username | [String] | Hier wird der Benutzername angezeigt, mit welchem die WinControl.exe gestartet wurde |
os_Version | [String] | Hier wird die Versionsnummer des Betriebssystems angezeigt |
printer_aktiv |
|
Hier wird angezeigt ob der Windows PC gerade druckt |
printer_names | [String] | Hier werden die Drucker angezeigt welche aktuell auf dem System drucken. |
user_aktiv |
|
Hier wird angezeigt ob der Windows PC innerhalb der gesetzten [user_aktividletime] eine Eingabe via Maus oder Tastatur stattgefunden hat |
Probleme
Support Informationen
Support- und Problemfragen bitte immer im Forum. Über die Menüleiste kann man weiterführende Supportinformationen anzeigen lassen. Diese werden dann im Forums Format dargestellt und können für einen Threadeintrag verwendet werden.
Folgende Daten werden hier gesammelt:
- Allgemeine System Informationen
- Die ersten und die letzten 50 Zeilen des GUI Logs
- GUI Registry Informationen HKEY_CURRENT_USER\Software\Michael Winkler\WinControl
- FHEM Device Infolist
Folgende Aktionen können über die Buttons ausgeführt werden
Name | Beschreibung |
---|---|
Aktualisieren | Alle Daten werden erneut gesammelt und dargestellt |
Zwischenablage | Alle Daten werden in die Zwischenablage kopiert |
Beenden | Fenster wieder schließen |
Log Informationen
Für die normalen Logeinträge gibt es in der GUI eine eigene Registerkarte. In diesem werden die zur Laufzeit generierten Logeinträge angezeigt.
Folgende Aktionen können über die Buttons ausgeführt werden
Name | Beschreibung |
---|---|
Leeren | Alle Daten werden aus dem Fenster geleert |
Zwischenablage | Alle Daten werden in die Zwischenablage kopiert |
Weiterführende Informationen
Die Konfigurationsinformation der GUI werden in der Registry des Benutzer, der die GUI ausführt, abgelegt. Diese sind hier zu finden:
HKEY_CURRENT_USER\Software\Michael Winkler\WinControl
Im Programmverzeichnis liegen zwei LOG Dateiene
Name | Beschreibung |
---|---|
wincontrol.log | Diese LOG Datei wird zur Laufzeit der GUI verwendet. Hier sind die aktuellen LOG Einträge zu finden |
wincontrol.log.bak | Diese LOG Datei wird beim Starten der GUI erzeugt. Hier sind die LOG Einträge der letzten GUI Laufzeit enthalten. |
Bekannte BUGs
GUI starte nicht automatisch mit Windows
Wenn nach der Aktivierung der Option "Mit Windows starten" die GUI nicht automatisch gestartet wird, und die Option nach dem Start der GUI wieder deaktiviert ist, kann das an folgenden Dingen liegen:
- Keine Schreibberechtigung in der Registry unter
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
- Aktivierte UAC
- Sicherheitssoftware verhindert Änderung an der Registry
Damit die GUI automatisch mit Windows starte muss dann folgender Registrykey manuell angelegt werden:
Name | Beschreibung |
---|---|
PFAD | HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run |
Type | REG_SZ (Zeichenfolge) |
Name | FHEM_Winconnect |
Wert | Dateipfad\WinControl.exe z.B. C:\Daten\FHEM\WinConnect\WinControl.exe |
Virenscanner
Einige Antivirenprogramme scheinen die Anwendung zu blocken. Anbei eine Anleitung für den Avira Virenscanner (Danke für die Anleitung EnderPhilipp)
- Avira öffnen
- F8 drücken
- Beim Punkt "System-Scanner" auf das "+" klicken
- Auf das "+" bei „Suche“ klicken
- "Ausnahme" mit der Maus anwählen
- Dort auf die " ..." drauf klicken und den Pfad zur EXE angeben
- Mit der Maus "Hinzufügen" anwählen
- Das gleiche beim "Echtzeit-Scanner" wiederholen, der Pfad zur EXE muss in beiden Feldern (Prozesse und Dateiobjekte) angegeben werden
- Abschließend noch auf "Übernehmen" gehen
- Fertig !
Probleme mit screenOn / WLAN
Standardmäßig schalten sich ein Tablet automatisch in den Standbymodus beim ausschalten des Bildschirmes. Dasselbe kann auch passieren wenn sich der Sperrbildschirm aktiviert. Dieses Verhalten kann wie folgt geändert werden:
Unter: Alle Einstellungen -> Netzwerk und Internet -> WLAN -> Erweiterte Optionen habe ich "Dieser PC soll gefunden werden" aktiviert. Dann bleibt auch das WLAN an!
Sollte das bei Euch nicht funktionieren könnt Ihr auch folgenden Workaround ausführen (Infos im FHEM Forum)