WINCONNECT: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Link zur Windows GUI aktualisiert)
 
(26 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Baustelle}}
{{Infobox Modul
{{Infobox Modul
|ModPurpose=Dieses Modul dient zur Steuerung eines Windows PCs
|ModPurpose=Dieses Modul dient zur Steuerung eines Windows PCs
Zeile 6: Zeile 5:
|ModForumArea=Sonstiges
|ModForumArea=Sonstiges
|ModTechName=70_WINCONNECT.pm
|ModTechName=70_WINCONNECT.pm
|ModOwner=michael.winkler <br />([https://forum.fhem.de/index.php/topic,59251.0.html Forum] / [[Benutzer:Michael.Winkler|Wiki]])
|ModOwner=michael.winkler <br />([https://forum.fhem.de/index.php/topic,59251.0.html Forum] / [https://mwinkler.jimdo.com/eigene-anwendungen/winconnect Homepage])
}}
}}


[[WINCONNECT]] ist ein Modul mit welchem ein Windows PC gesteuert und Informationen angezeigt werden können.  
[[WINCONNECT]] ist ein Modul mit welchem ein Windows PC gesteuert und Informationen angezeigt werden können.  


== Voraussetzungen ==
== Allgemeines ==
Damit diese Modul verwendet werden kann muss auf dem entsprechenden Windows PC eine zusätzliche GUI laufen. Diese kann [https://gitlab.com/michael.winkler/winconnect/raw/master/WinControl_0.0.20.exe hier] heruntergeladen werden. Zusätzlich bestehen für die GUI noch folgende Systemvoraussetzungen:
 
=== Funktionsumfang  ===
Aktuell ist folgenden Funktionsumfang vorhanden:
 
* check file_dir
* checkservice
* checkprocess
* checkperformance
* command
* commandhide
* Core Temp API Abfragen
* Erkennung drucken
* Erkennung Sound
* FHEM CSRFTOKEN
* FHEM SSL/HTTPS
* FHEM Support Netbisoname und FQDN
* get batterystate
* get drive information
* get powerstate
* GUI update/autoupdate
* GUI start minimized
* GUI start with windows
* Hardwareausrüstung
* make picture (camera)
* messagebox
* microphone detection
* Monitor on/off (Windows 10 hat beim off noch Probleme)
* motion detect (camera)
* notifymsg
* play sound (ttsmsg/messagebox/make picture)
* set/get Bildschirm Helligkeit (Notebook & Tablets)
* set camera on/off (camera)
* set/get/mute mastervolume
* set powermode (shutdown/reboot/standby/hibernate)
* showfile
* Sprachsteuerung<sup>1</sup>
* Support button / collect support information
* ttsmsg
* VolumeUp,VolumeDown
* WMI Abfragen / WMI Wizard
<sup>1</sup> Windows muss Spracherkennung unterstützen (Keine Server Betriebsysteme)
 
=== Voraussetzungen ===
Damit diese Modul verwendet werden kann, muss auf dem entsprechenden Windows PC eine zusätzliche GUI laufen. Diese kann [https://gitlab.com/michael.winkler/winconnect hier] heruntergeladen werden. Zusätzlich bestehen für die GUI noch folgende Systemvoraussetzungen:
* Microsoft .Net Framework 4.5
* Microsoft .Net Framework 4.5
* Firewall Port 8183 muss vom FHEM Server aus erreichbar sein
* Firewall Port 8183 muss vom FHEM Server aus erreichbar sein


Folgende Betriebssystem wurden schon erfolgreich damit betrieben:
=== Betriebssystem  ===
Folgende Betriebssysteme wurden schon erfolgreich damit betrieben:
* Windows Server 2012 R2
* Windows Server 2012 R2
* Windows 10 (Aldi Tablet)
* Windows 10 (Aldi Tablet)
Zeile 27: Zeile 70:
=== Definition in FHEM ===
=== Definition in FHEM ===


Zum anlegen des Windows PCs können folgende Definitionen verwendet werden.
Zum Anlegen des Windows PCs können folgende Definitionen verwendet werden:
:<code>define <name> WINCONNECT 192.168.0.10</code>
:<code>define <name> WINCONNECT 192.168.0.10</code>


Zeile 34: Zeile 77:


=== Installation Windows GUI ===
=== 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:
siehe https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/grundinstallation/
* Verzeichnis anlegen z.B. "C:\Daten\FHEM\WinConnect"
* Die heruntergeladene [https://gitlab.com/michael.winkler/winconnect/raw/master/WinControl_0.0.20.exe 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:
 
[[Datei:WinConnect_FHEM_Configuration.png]]
{| class="wikitable"
|-
! 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


[[Datei:WinConnect_FHEM_Status.png]]
== GUI Beschreibung ==
siehe https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/grundinstallation/


== Weitere Konfiguration ==
== Weitere Konfiguration ==
=== GUI Optionen ===
siehe https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/konfiguration/
Hier können einige Optionen gesetzt werde, die den Start der GUI beeinflussen.
 
[[Datei:WinConnect_FHEM_Configuration_Optionen.png]]
 
{| class="wikitable"
|-
! Name                                          !! Beispielwert                        !! Beschreibung
|-
| Startscreen verstecken                        || aktiviert                            || [[Datei:WinConnect FHEM Startscreen.png]] Bei jedem GUI Start wird der Startscreen angezeigt. Dieser kann durch aktivieren dieser Einstellung deaktiviert werden.
|-
| Mit Windows starten                          || aktiviert                            || Durch aktivieren dieser Einstellung wird die GUI beim Starten von Windows direkt nach der Anmeldung gestartet.
* Beachte Probleme bekannte BUGs
|-
| Ausführen                                    || Normales Fenster                    || Hier kann festgelegt werden, wie die GUI beim Start erscheinen soll. Folgende Auswahl ist hier möglich:
* Normales Fenster = GUI wird ganz normal angezeicht
* Minimiert = GUI wird minimiert gestartet und kann über das Notifyicon oder ALT-TAB aktiviert werden
* Versteckt = GUI wird versteckt gestartet und kann nur über das Notifyicon aktiviert werden
|-
| Debugmode                                    || deaktiviert                          || Durch aktivieren dieser Einstellung werden mehr Informationen im GUI Log abgelegt. Diese Option sollte nur zur Fehleranalyse verwendet werden.
|}
 
=== Audio ===
 
==== Spracherkennung ====
Hier kann aktuell nichts eingestellt werden. Dieses Register ist rein Informativ.
 
[[Datei:WinConnect Audio Spracherkennung.png]]
 
Beschreibung Bereich Information:
 
{| class="wikitable"
|-
! Punkt !! Beschreibung
|-
| speech state        || Hier wird angezeigt ob die Spracherkennung aktiv/inaktiv ist
|-
| speechmessage      || Hier wird das zuletzt erkannte Sprachkommando angezeigt
|-
| speechqualität in % || Hier wird die Qualität des zuletzt erkannten Sprachkommandos angezeigt. Je höher dieser Wert um so besser ist die Erkennung
|-
| speechquality      || Hier wird die Qualität in % angezeigt mit welchem ein Sprachkommando erkannt werden muss damit dies auch akzeptiert wird. Die Qualität kann über ein '''set <name> speechquality [NUMERIC]''' festgelegt werden
|}
 
Beschreibung Bereich ERROR:
 
{| class="wikitable"
|-
! Punkt !! Beschreibung
|-
| speechmessage      || Hier wird das zuletzt erkannte Sprachkommando angezeigt welches nicht die Anforderung der Qualität entspricht
|-
| speechqualität in % || Hier wird die Qualität in % angezeigt mit welchem das nicht akzeptierte Sprachkommando erkannt wurde
|}
 
Damit die Spracherkennung funktioniert sollte das Mikrofon noch so konfiguriert werden dass es sich nicht automatisch anpasst. (siehe Screenshot)
 
[[Datei:WinConnect_Audio_Spracherkennung_Format.png]]
 
Hierfür müssen zwei Konfigurationshaken entfernt werden.
 
==== Mikrofon ====
Hier kann das Erkennen eines Mikrofon-Peaks aktiviert werden.
 
[[Datei:WinConnect_Audio_Mikrofon.png]]
 
{| class="wikitable"
|-
! 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 ====
{{Baustelle}}
 
==== Motion ====
{{Baustelle}}
 
=== 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 [http://www.alcpu.com/CoreTemp/ 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:
 
[[Datei:WinConnect_FHEM_CoreTemp.png]]
 
==== user_aktiv ====
Hier kann aktuell nichts eingestellt werden. Dieses Register ist rein Informativ .
 
[[Datei:WinConnect_useraktiv.png]]
 
{| class="wikitable"
|-
! 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.
 
[[Datei:WinConnect_WMI.png]]
 
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:
 
{| class="wikitable"
|-
! 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.
 
[[Datei:WinConnect_WMI_RunQuery.png]]
 
{| class="wikitable"
|-
! 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 ==
== FHEM Device ==
 
siehe https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/fhem-device/
=== Attribute ===
 
{| class="wikitable"
|-
! Name                                          !! Mogliche Werte                      !! Beschreibung
|-
| autoupdategitlab                                    ||
* 0 = Automatischer Download deaktiviert
* 1 = Automatischer Download der WinConnect.exe
                          || Das WINCONNECT Modul läd Standardmäßig die aktuelle WinControl.exe vom entsprechenden gitlab herunter. Dies kann über diese Attribut verhindert werden
|-
| disable                                    ||
* 0 = FHEM Device aktiv
* 1 = FHEM Device deaktiviert
                          || Über diese Attribut kann das FHEM Device deaktiviert werden.
|-
| win_resetreadings                                    ||
* 0 = Readings nicht zurücksetzen wenn Offline / Reading zeigt den zuletzt gesendeten Wert
* 1 = Readings zurücksetzen wenn Offline
                          || Ü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 ===
 
{| class="wikitable"
|-
! 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:
* *.* oder Leer = Alle Dateien (default)
* *.txt = Dateie mit der Endung .txt
* *rechnung.doc = Dateie mit der Endung rechnung.doc
* win*.xml = Dateie die mit win anfängt und eine Endung xml hat
* Rechnung*200?.xls = Dateie die mit Rechnung anfängt und aus den Jahren 2000 bis 2009 sind und mit der Endung xls enden.
* Rechnung.doc = Nur Datei die genau Rechnung.doc heißt
|-
| 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
* shutdown  = Windows wird normal heruntergefahren
* restart  = Windows wird neu gestartet
* standby  = Windows wird in den Ruhezustand gefahren (Suspend-to-RAM)
* hibernate = Windows wird in den Ruhezustand gefahren (Suspend-to-DISK) / Wenn das System hibernate nicht unterstützt macht er automatisch wieder (Suspend-to-RAM)
|-
| 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 ===
 
{| class="wikitable"
|-
! Name                                          !! Mogliche Werte                      !! Beschreibung
|-
| audio                                        ||
* on = Audio wird auf dem PC abgespielt
* off = keine Audioausgabe
|| Hier wird angezeigt ob der Windows PC gerade Sound abspielt
|-
| battery_ChargeStatus ||
* Charging = Gibt an dass die Batterie gerade geladen wird
* Critical = Ladezustand der Batterie kritisch
* High = Ladezustand der Batterie hoch
* Middle = Ladezustand der Batterie mittel
* Low = Ladezustand der Batterie gering
* NoSystemBattery = Gibt an dass kein Akku vorhanden ist
* Unknown = Gibt eine unbekannte Ladezustand der Batterie an
|| Hier wird der aktuelle Ladezustand der Batterie angezeigt
|-
| battery_LifePercent ||
* on = Audio wird auf dem PC abgespielt
* off = keine Audioausgabe
|| 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 ||
* online = Stromversorgung ist angeschlossen
* offline = Stromversorgung ist nicht angeschlossen
|| 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                                        ||
* not_installed = Software "Core Temp" ist auf dem System nicht installiert
* present = Software "Core Temp" ist auf dem System installiert und liefert Daten
* absent = Software "Core Temp" ist auf dem System installiert und liefert aber keine Daten
                              || Hier wird angezeigt ob die Software "Core Temp" auf dem Sytsem installiert ist, und auch dementsprechend Daten liefert
|-
| core_temp_temperaturtyp                                        ||
* celsius = Temperature Werte werden in Celsius angezeigt
* fahrenheit = Temperature Werte werden in Fahrenheit angezeigt
                              || 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                            ||
* X      = Laufwerksbuchstabe
* xxxxxx = Beschreibung
|-
| drive_X_Format                                    ||
* FAT
* NTFS
* usw.
                    || 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                                    ||
* True  = Wenn das Mikrofon einen bestimmten Peak erkennt wird der Wert auf true gesetzt.
* False = Wenn länger als zwei Sekunden keine Peak mehr erfolgte
                          || 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_autodetect                                    ||
* True  = Motion Erkennung wird beim Start der GUI automatisch gestartet
* False = Motion Erkennung wird beim Start der GUI nicht automatisch gestartet
                          || Hier wird angezeigt ob der Windows PC automatisch beim GUI Start die Motion Erkennung aktiviert.
|-
| motion_detect                                    ||
* True  = Wenn die Kamera bei eingeschalteten Moniton eine Bewegung erkennt die % Technisch höher ausfällt als der eingestellte Wert in der GUI
* False = Wenn die Kamera bei eingeschalteten Moniton keine Bewegung erkennt! Bewegung ist % Technisch kleiner als der eingestellte Wert in der GUI
                          || Hier wird angezeigt ob der Windows PC eine Änderung über die Kamera feststellt / Schwellwerte können über die GUI eingestellt werden
|-
| motion_last_picture||[String] || Hier wird das zuletzt abgespeicherte Bild angezeigt. Das gespeihcerte Bild ist im Verzeichnis des Readings "picture_dir" zu finden.
|-
| 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
|-
| picture_dir        ||[String] || Hier wird das Verzeichnis angegeben in welchem Snapshots und Bilder der Bewegungserkennung abgelegt werden.
|-
| printer_aktiv                                    ||
* True  = Ein Drucker ist gerade aktiv
* False =  Kein Drucker ist gerade 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                                    ||
* True  = Benutzer macht Eingaben über Tastatur & Maus
* False = Wenn länger als user_aktividletime keine Eingaben über Tastatur & Maus erfolgt
                          || Hier wird angezeigt ob der Windows PC innerhalb der gesetzten [user_aktividletime] eine Eingabe via Maus oder Tastatur stattgefunden hat
|}


== Probleme ==
== Probleme ==
 
siehe https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/support/
=== Support Informationen ===
siehe https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/bekannte-bugs/
Support- und Problemfragen bitte immer im [https://forum.fhem.de/index.php/topic,59251.0.html 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.
 
[[Datei:WinConnect_FHEM_SupportButton.png]]
 
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
 
[[Datei:WinConnect_FHEM_SupportInformationen.png]]
 
Folgende Aktionen können über die Buttons ausgeführt werden
 
{| class="wikitable"
|-
! 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.
 
[[Datei:WinConnect_FHEM_Log.png]]
 
Folgende Aktionen können über die Buttons ausgeführt werden
 
{| class="wikitable"
|-
! 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:
 
<code>HKEY_CURRENT_USER\Software\Michael Winkler\WinControl</code>
 
Im Programmverzeichnis liegen zwei LOG Dateiene
 
{| class="wikitable"
|-
! 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 <code>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run</code>
* Aktivierte UAC
* Sicherheitssoftware verhindert Änderung an der Registry
 
Damit die GUI automatisch mit Windows starte muss dann folgender Registrykey manuell angelegt werden:
{| class="wikitable"
|-
! 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 ([https://forum.fhem.de/index.php/topic,59251.msg565236.html#msg565236 Infos im FHEM Forum])

Aktuelle Version vom 22. Dezember 2018, 14:10 Uhr

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 / Homepage)
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.

Allgemeines

Funktionsumfang

Aktuell ist folgenden Funktionsumfang vorhanden:

  • check file_dir
  • checkservice
  • checkprocess
  • checkperformance
  • command
  • commandhide
  • Core Temp API Abfragen
  • Erkennung drucken
  • Erkennung Sound
  • FHEM CSRFTOKEN
  • FHEM SSL/HTTPS
  • FHEM Support Netbisoname und FQDN
  • get batterystate
  • get drive information
  • get powerstate
  • GUI update/autoupdate
  • GUI start minimized
  • GUI start with windows
  • Hardwareausrüstung
  • make picture (camera)
  • messagebox
  • microphone detection
  • Monitor on/off (Windows 10 hat beim off noch Probleme)
  • motion detect (camera)
  • notifymsg
  • play sound (ttsmsg/messagebox/make picture)
  • set/get Bildschirm Helligkeit (Notebook & Tablets)
  • set camera on/off (camera)
  • set/get/mute mastervolume
  • set powermode (shutdown/reboot/standby/hibernate)
  • showfile
  • Sprachsteuerung1
  • Support button / collect support information
  • ttsmsg
  • VolumeUp,VolumeDown
  • WMI Abfragen / WMI Wizard

1 Windows muss Spracherkennung unterstützen (Keine Server Betriebsysteme)

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

Betriebssystem

Folgende Betriebssysteme 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

siehe https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/grundinstallation/

GUI Beschreibung

siehe https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/grundinstallation/

Weitere Konfiguration

siehe https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/konfiguration/

FHEM Device

siehe https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/fhem-device/

Probleme

siehe https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/support/ siehe https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/bekannte-bugs/