WINCONNECT
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
An dieser Seite wird momentan noch gearbeitet. |
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
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)
Die Werte in der Tabelle können auch manuell angepasst werden. Hierfür einfach eine Zelle doppelt klicken und den Wert dementsprechend ändern. Achtung! Speichern danach nicht vergessen.
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.
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 Batterie Status 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.. |
microphone_detect |
|
Hier wird angezeigt ob der Windows PC eine Änderung über das Mikrofon feststellt / Schwellwerte können über die GUI eingestellt werden |
motion_detect |
|
Hier wird angezeigt ob der Windows PC eine Änderung über die Kamera feststellt / Schwellwerte können über die GUI eingestellt werden |
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)