70_WINCONNECT.pm zum Steuern eines Windows PC / Tablet

Begonnen von michael.winkler, 19 Oktober 2016, 10:08:42

Vorheriges Thema - Nächstes Thema

michael.winkler

Mit diesem Modul kann ein Windows PC gesteuert und abgefragt werden. Freue mich über weitere Featurerequest  ;D

Ab jetzt werden alle Installations- und Konfigurationsinformationen auf folgender Webseite bereitgestellt. Im FHEM Wiki sind nur noch die FHEM relevanten Infos zu finden.

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

Offene Punkte

  • Google API Spracherkennung
  • Audiogerät zur Steuerung auswählbar
  • Media Player Steuerbar

An dieser Stelle werde ich nur noch das Changelog führen
Changelog

############################################################################
# 2022-11-22, v0.0.29
#
# v0.0.29
# - BUFIX:      [WinWebGUI] - Fehlermeldung Kamera
#
# v0.0.28
# - BUFIX:      [FEHMModul] - "printer_names"="no_printing"
#
# v0.0.27
# - BUFIX:      [WinWebGUI] - Crash nach ca. 40-60 Sekunden
# - CHANGE      [FEHMModul] - get www_files und www_files_reset
#
# v0.0.26
# - BUFIX:      [WinWebGUI] - Installation Windows Service
#
# v0.0.25
# - FEATURE: [WinWebGUI] - Starten als Windows Dienst
#               [WinWebGUI] - Kamera Vollbild Beenden Button
#               [WinWebGUI] - TTSMSG - Auswahl Windows integrierte Sprachen
#               [WinWebGUI] - TTSMSG - Google TTS
#               [WinWebGUI] - TTSMSG - Amazon Polly TTS (3 Sprachen)
#               [WinWebGUI] - SetFocusToApp
#               [WinWebGUI] - sendKey https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731.aspx
# - CHANGE      [WinWebGUI] - Logdatei wird in %TEMP% angelegt
#               [WinWebGUI] - Deletereading drive_X_* wenn Laufwerk entfernt wurde z.B. USB-Stick
# - BUFIX:      [FEHMModul] - Umlaute bei Messagebox und NotifyIcon
#               [FEHMModul] - Leerzeichen Support bei CheckProcess
#               [WinWebGUI] - Audio/Mikrofon Device
#               [WinWebGUI] - Software Kamera
#
# v0.0.23
# - BUFIX:      [FEHMModul] - Download gitlab GUI
# - CHANGE      [FEHMModul] - Download Timeout WinControl.exe = 30
# - FEATURE: [WinWebGUI] - NotifyIcon - Kontextmenü
#
# v0.0.22
# - BUFIX:      [FEHMModul] - Überreste Attribut "http-noshutdown" entfernt
# - FEATURE: [FEHMModul] - Attribut "autoupdatewincontrol:0,1" Standard = 1 / 0 = Hier kann das automatische GUI Update deaktiviert werden.
# - CHANGE      [WinWebGUI] - Autoupdate über Attribut steuerbar
#
# v0.0.21
# - BUFIX:      [WinWebGUI] - FHEM Server Connect / Reconnect
#               [WinWebGUI] - shutdown / standby / hibernate
#               [WinWebGUI] - accept trusted SSL certificat
#               [WinWebGUI] - battery_ChargeStatus 0 ersetzt in Middle
# - CHANGE      [WinWebGUI] - Autoupdate immer angeschalten
#               [WinWebGUI] - select SSL protocols ssl3, tls, tlsv11, tlsv12
# - FEATURE: [WinWebGUI] - Icon FHEM Connect      = blau
#                             Icon FHEM Disconnect   = rot
#                             Icon FHEM Wrong Device = gelb
#               [WinWebGUI] - FQDN oder Netbios Name as FHEM Server
#               [WinWebGUI] - Support button / collect support informations
#               [WinWebGUI] - WMI Abfragen / WMI Wizard
#               [WinWebGUI] - Support Core Temp
#
# v0.0.20
# - BUFIX:      [FEHMModul] - $_ ersetzt durch $uResult
#               [FEHMModul] - reading "memory_available" und "memory_total" ohne Zusatz MB
#               [WinWebGUI] - Exit Messagebox entfernt
# - FEATURE: [WinWebGUI] - Exit Menübutton
#
# v0.0.18
# - BUFIX:      [WinWebGUI] - Autoupdate
#               [WinWebGUI] - Shutdown Messagebox
#
# v0.0.17
# - BUFIX:      [FEHMModul] - Code Optimierungen
# - CHANGE      [WinWebGUI] - FHEM Devicename check auf Gültigkeit https://forum.fhem.de/index.php/topic,59251.msg667257.html#msg667257
# - FEATURE: [WinWebGUI] - Fenster verstecken https://forum.fhem.de/index.php/topic,59251.msg665863.html#msg665863
#
# v0.0.16 erste SVN Version
# - BUFIX:      Refresh CSRFTOKEN nach einem reconnect
# Readings zurücksetzen wenn Offline
#                os_RunTime_days,os_RunTime_hours und os_RunTime_minutes
#                printer_aktiv und printer_names
#               div. Optimierungen
# - FEATURE     Attribut "win_resetreadings:0,1" Standard = 1 / 1 = Readings zurücksetzen wenn Offline
#               Attribut "autoupdategitlab:0,1"  Standard = 1 / 0 = Hier kann der automatische Download deaktiviert werden.
# - CHANGE      Attribut "http-noshutdown" Auf Standwardwert "0" gesetzt
#
# v0.0.15
# - BUFIX:      Start optimiert / Log sortiert
#
# v0.0.14
# - FEATURE: Winconnect mit Windows starten
#            Ausführen (minimiert/normales Fenster)
#            checkprocess (prüft ob ein Prozess gestartet ist inkl. Anzahl)
#            wincontrol.exe.config wird nicht mehr benötigt
#            Windows Version (os_Version & os_ReleaseID ab Win10)
#            Benutzer / Hostname (os_Username, os_Computername & os_Domainname)
#               Performance: CPU, Festplatte, Netzwerk, RAM, ...
#            Hardware Ausrüstung: Prozessor, BIOS & RAM (memory_*, bios_* und cpu_*)
#               VolumeDown, VolumeUp (mit attr volumeStep)
#               Laufzeiten in Tage/Stunden/Minuten (os_RunTime_minutes, os_RunTime_hours und os_RunTime_days)
# - BUFIX:      checkservice (im FHEM Reading wurde immer nur der erste Service eingetragen)
#
# v0.0.13
# - FEATURE: Performance Optimierungen
#            set powermode add(standby/hibernate)
#            drive informations (Space in MB/change only > 10MB)
# - BUFIX:      div.
#               Programmabsturtz nach ca. 4-5 Tagen
#
# v0.0.12
# - FEATURE: CSRFToken
# - BUFIX:      Detect Audio Sound
#
# v0.0.11
# - FEATURE: ttsmsg play sound
#            messagebox play sound
#            set camera (on/off)
#            make picture (camera)
#            motion detect (camera)
#            Update Winconnect.exe (inkl. autoupdate)
# microphone sound detection
# Startscreen
# - BUFIX:      .NET Fehlermeldung
# set screen on
# set screen off
# - Readings: audio_devicename
# microphone_devicename
#
# v0.0.10
# - FEATURE: send notifymsg (set notifymsg Ballon Tip)
#            send messagebox (set messagebox)
#            Verzeichnis überwachen
#            set powermode (shutdown/restart)
#
# v0.0.9
# - FEATURE: FHEM SSL
#
# v0.0.8
# - FEATURE: FHEM Anmeldung (basicAuth)
#            volume mute (on/off)
# - BUGFIX: statusrequest (firststart)
# - Readings:   speecherrormessage
#            speecherrormessagequality
#            speechmessagequality
#            mute
#
# v0.0.7 - 20161107
# - BUGFIX:     Umlaute beim senden einer ttsmsg
# - FEATURE: set commandhide
#            set user_aktividletime
#            printer_aktiv
#            Spracherkennung
#
# v0.0.6 - 20161025
# - BUFIX:      no audiodevice
# - FEATURE: set brightness 0 - 100
#
# v0.0.5 - 20161024
# - BUGFIX
#
# v0.0.4 - 20161024
# - BUGFIX:     (Bereinigung wincontrol / FHEM readings)
# - FEATURE: send ttsmsg (TextToSpeech)
# - Readings: os_StartTime         = Startzeit Windows
#            wincontrol_starttime = Startzeit WinControl
#            wincontrol_user      = Benutzer der Wintrol gestartet hat
#            battery_ChargeStatus
#            battery_LifePercent
#            battery_LifeRemainingsMin
#            battery_PowerLineStatus
#
# v0.0.3 - 20161020
# - FEATURE: set command
#            set showfile
#            set checkservice
#
# v0.0.0 - 20161018
# - FEATURE: ON/OFF Windows Screen
#            set volume
#            detect playing audio


Gruß
Michael

rhya

Interessant wäre ob es eine Universal App ist, d.h. auf Windows 10 Tablets laufen würde? .NET ist da ja nur in der portablen Version verfügbar (solange man kein x86 Tablet hat)

Das wäre zumindest deutlich einfacher als das Gefrickel mit Android Tablets, danke für die Mühe :)

michael.winkler

Muss ich testen. Bin gerade dabei mein Medion Tablet vom Aldi anzuschließen. Infos folgen..


Andy K.

Prima Idee!

Ich habe mal eben ein Trekstor W10 Tablet getestet: Schaut eigentlich alles gut aus - bis ich versuche z.B. die Lautstärke zu ändern. Dann geht der state auf off und ich bekomme den Fehler

"Device needs to be ON to adjust volume.".

Ein Neustart der Windows App bringt dann:

19.10.2016 17:05:45 FHEM:   IPAdresse  192.168.0.14
19.10.2016 17:05:45 FHEM:   Port       8084
19.10.2016 17:05:45 FHEM:   URL        fhem
19.10.2016 17:05:45 FHEM:   Devicename Kueche_Tablet
19.10.2016 17:05:45 SERVER: wait for connection
19.10.2016 17:05:50 FHEM:   set Kueche_Tablet  on
19.10.2016 17:05:49 SERVER: client 192.168.0.14 connected
19.10.2016 17:05:54 FHEM:   setreading Kueche_Tablet volume 62
19.10.2016 17:06:02 FHEM:   setreading Kueche_Tablet audio off
19.10.2016 17:06:14 FHEM:   setreading Kueche_Tablet user_aktiv true
19.10.2016 17:06:17 TODO:   statusRequest19.10.2016 17:06:41 TODO:   statusRequest
19.10.2016 17:06:41 SERVER: wait for connection


Gruß,
Andy


TWART016

Ich setze die Anforderungen für ein Windows System mit Eventghost um. Was mir derzeit leider noch nicht gelingt, Rückgabewerte von 3rd Party Applikationen an FHEM zurückzugeben. Ist sowas in deinem Modul auch geplant?

michael.winkler

Zitat von: Andy K. am 19 Oktober 2016, 17:09:35
Prima Idee!

Ich habe mal eben ein Trekstor W10 Tablet getestet: Schaut eigentlich alles gut aus - bis ich versuche z.B. die Lautstärke zu ändern. Dann geht der state auf off und ich bekomme den Fehler

"Device needs to be ON to adjust volume.".

Ein Neustart der Windows App bringt dann:

19.10.2016 17:05:45 FHEM:   IPAdresse  192.168.0.14
19.10.2016 17:05:45 FHEM:   Port       8084
19.10.2016 17:05:45 FHEM:   URL        fhem
19.10.2016 17:05:45 FHEM:   Devicename Kueche_Tablet
19.10.2016 17:05:45 SERVER: wait for connection
19.10.2016 17:05:50 FHEM:   set Kueche_Tablet  on
19.10.2016 17:05:49 SERVER: client 192.168.0.14 connected
19.10.2016 17:05:54 FHEM:   setreading Kueche_Tablet volume 62
19.10.2016 17:06:02 FHEM:   setreading Kueche_Tablet audio off
19.10.2016 17:06:14 FHEM:   setreading Kueche_Tablet user_aktiv true
19.10.2016 17:06:17 TODO:   statusRequest19.10.2016 17:06:41 TODO:   statusRequest
19.10.2016 17:06:41 SERVER: wait for connection


Gruß,
Andy
Kannst du das device auf verbose 5 stellen und mir dann mal das Log zukommen lassen?


Gesendet von iPhone mit Tapatalk

michael.winkler

Zitat von: TWART016 am 19 Oktober 2016, 18:04:18
Ich setze die Anforderungen für ein Windows System mit Eventghost um. Was mir derzeit leider noch nicht gelingt, Rückgabewerte von 3rd Party Applikationen an FHEM zurückzugeben. Ist sowas in deinem Modul auch geplant?
Wo und in welche Form werden die Rückgabewerte denn von deinen 3rd Party Apps gespeichert?


Gesendet von iPhone mit Tapatalk

TWART016

Zitat von: michael.winkler am 19 Oktober 2016, 18:55:23
Wo und in welche Form werden die Rückgabewerte denn von deinen 3rd Party Apps gespeichert?

Keine Ahnung. Wie gesagt klappt das bei mir noch nicht.
Ich möchte z.B. die Werte von dem Musikplayer Winamp an FHEM schicken. Bei Eventghost wird das glaube ich über Phyton ausgelesen.

Andy K.

Zitat von: michael.winkler am 19 Oktober 2016, 18:54:10
Kannst du das device auf verbose 5 stellen und mir dann mal das Log zukommen lassen?


Gesendet von iPhone mit Tapatalk

Habe ich dir per PN geschickt.

Gruß,Andy

schka17

Da lese ich jetzt interessiert mit, bin zwar kein Windows Fan, aber mit den Androiden werde ich auch nicht glücklich. Habe da zwei Windows Tablets die ich mit Linux bestücken wollte, aber wenns mit winzigweich auch geht....


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000


Intruder1956

Hallo, müssen dann beide Dateien getauscht werden = Fhem und PC ???
oder reicht die .pm

gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

michael.winkler

Die winconnect.pm muss getauscht werden, und auf dem Windows PC die neue EXE einspielen. Die wincontrol.exe.config kannst Du lassen, da hat sich nichts geändert.

Tedious

Klingt definitiv spannend, teste ich am WE gerne mal an!
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...