Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Windows-Control v0.1.x GitHub

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Test Adapter Windows-Control v0.1.x GitHub

    This topic has been deleted. Only users with topic management privileges can see it.
    • Mic
      Mic Developer last edited by Mic

      Aktuelle Test-Version 0.1.0
      Veröffentlichungsdatum Version 0.0.1: 24.03.2020, aktuelle 0.1.0: 27.03.2020
      Github Link https://github.com/Mic-M/ioBroker.windows-control

      Hi,

      ich habe nun endlich einen ersten Adapter geschrieben, weitere werden sicherlich folgen 😎

      Der Adapter Windows Control löst das Script https://github.com/Mic-M/iobroker.control-ms-windows ab, das hier gepostet ist: https://forum.iobroker.net/topic/1570/windows-steuerung

      Siehe Dokumentation auf Github für weitere Erklärungen.

      Mit diesem Adapter ist es möglich, Windows-Geräte entsprechend zu steuern, siehe https://forum.iobroker.net/topic/1570/windows-steuerung

      Danke auch an dieser Stelle an Vladimir Vilisov für sein GetAdmin-Tool.
      Für diesen Adapter benötigt ihr GetAdmin auf jedem Windows-Rechner, den ihr mit ioBroker steuern möchtet. GetAdmin ist eine einzelne 776 kB große (bzw. kleine) exe-Datei, die Vladimir Vilisov auf seinem Blog instalator.ru veröffentlicht hat.

      In den Adapter-Einstellungen kann man das alles entsprechend einstellen:
      getadmin_1.png

      Es werden dann pro Windows-Rechner folgende States angelegt. Dank "user commands" können diese beliebig erweitert werden.
      gast.png

      Im Beispiel von GetAdmin sind zwei "user commands" in der "Commands List" gesetzt:
      ga2.png

      Ich freue mich auf eure Testergebnisse.
      @Jey-Cee habe ich bereits angeschrieben für das Tester-Forum, aber ich poste schon mal hier.

      Hoffe, ich hab alles soweit richtig gemacht für den ersten Adapter ☺


      Mod-Edit: Thema von "Allgemein" nach "Tester" verschoben!

      liv-in-sky sigi234 Kalle Blomquist matze55 6 Replies Last reply Reply Quote 8
      • liv-in-sky
        liv-in-sky @Mic last edited by

        @Mic sagte in Test Adapter Windows-Control v0.0.x GitHub:

        https://github.com/Mic-M/ioBroker.windows-control

        klasse idee - werd morgen testen

        Mic 1 Reply Last reply Reply Quote 0
        • Mic
          Mic Developer @liv-in-sky last edited by

          @liv-in-sky sagte in Test Adapter Windows-Control v0.0.x GitHub:

          klasse idee - werd morgen testen

          Danke 🙂
          Läuft bei mir sowohl auf einem Windows-Rechner (Testsytem) als auch produktiv unter Debian soweit gut...

          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Mic last edited by

            @Mic

            war neugierig - also noch schnell erster test
            installation (linux) klappt - befehle werden ausgeführt

            super umgesetzt

            Mic 1 Reply Last reply Reply Quote 0
            • Mic
              Mic Developer @liv-in-sky last edited by

              @liv-in-sky sagte in Test Adapter Windows-Control v0.0.x GitHub:

              war neugierig - also noch schnell erster test
              installation (linux) klappt - befehle werden ausgeführt

              super umgesetzt

              Cool, danke, freut mich

              liv-in-sky 1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @Mic last edited by

                @Mic unter windows-iobroker funktioniert es auch ohne fehler

                noch eine frage - man kann auch z.b. "http://192.168.178.36:8585/?chk=chrome" aufrufen und überprüfen, ob dieses programm läuft

                das ist nicht integriert ?

                Mic 3 Replies Last reply Reply Quote 0
                • sigi234
                  sigi234 Forum Testing Most Active @Mic last edited by

                  @Mic sagte in Test Adapter Windows-Control v0.0.x GitHub:

                  GetAdmin-Tool.

                  Da bekomme ich eine Viruswarnung

                  liv-in-sky 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @sigi234 last edited by liv-in-sky

                    @sigi234 hatte ich auch - musst du im scanner als erlauben kennzeichnen

                    wird sogar bei einigen scanner in quarantäne geschickt - dann wieder herstellen lassen

                    1 Reply Last reply Reply Quote 0
                    • Mic
                      Mic Developer @liv-in-sky last edited by

                      @liv-in-sky
                      Danke für dein positives Feedback zu Windows.

                      noch eine frage - man kann auch z.b. "http://192.168.178.36:8585/?chk=chrome" aufrufen und überprüfen, ob dieses programm läuft
                      das ist nicht integriert ?

                      Folgt bald, steht schon auf meiner "Liste" ☺

                      1 Reply Last reply Reply Quote 0
                      • Mic
                        Mic Developer last edited by Mic

                        So, es geht weiter. Hatte ein paar Schwierigkeiten mit git (falls es interessiert: https://forum.iobroker.net/topic/31511/)

                        Wir sind jetzt bei Version 0.0.3, Änderungen:

                        0.0.3

                        • (Mic-M) Fix io-package.json (removed one redundand comma, not sure why node.js is not able to autocorrect such minor issue)

                        0.0.2

                        • (Mic-M) Fixed sendkey issue
                        • (Mic-M) State _sendKey: provide all supported keys as dropdown and no longer as open text field.
                        • (Mic-M) Renamed states: sendKey -> _sendKey, connected -> _connection

                        Alle verfügbaren Keys sind also nun per Dropdown im State verfügbar:
                        keys_w.png

                        1 Reply Last reply Reply Quote 1
                        • Mic
                          Mic Developer @liv-in-sky last edited by Mic

                          @liv-in-sky sagte in Test Adapter Windows-Control v0.0.x GitHub:

                          noch eine frage - man kann auch z.b. "http://192.168.178.36:8585/?chk=chrome" aufrufen und überprüfen, ob dieses programm läuft

                          Ich überlege gerade, was eine gute Umsetzung wäre.
                          Also angenommen es gibt einen Datenpunkt windows-control.0.Gästezimmer-PC.checkAppStatus als Textfeld.
                          Nun trägt man da z.B. chrome ein. Was soll dann geschehen mit der Rückmeldung (true/false)?
                          Reicht es, wenn dann in denselben Datenpunkt z.B. chrome:true/ chrome:false mit ack:true gesetzt wird? Oder was ist der Use Case?
                          Man könnte natürlich auch die Apps gescheduled prüfen, also Datenpunkte für jedes in der Adapter-Konfig gesetztes zu prüfendes Programm generieren mit Status true/false. Die Frage ist, ob man das braucht....

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @Mic last edited by

                            @Mic ich würde zum 2ten tendieren - so wie du das mit den commands machst - ein antwortfeld für alle process antworten und im setting definiert man den prozessnamen, der eine datenpunkt bekommt - evtl eine antwort als json format - also antwort und frage in einem json {chrome:true}
                            ein datenpunbkt für anfrage und antwort geht zwar aber man muss beim trigger aufpassen - bei iobroker unüblich

                            Mic 1 Reply Last reply Reply Quote 0
                            • Mic
                              Mic Developer @liv-in-sky last edited by Mic

                              @liv-in-sky
                              Wie wäre es stattdessen, wenn regelmäßig geprüft wird, z.B. analog zum Polling auf "_connection".
                              Also: in den Adapter-Settings steht "Zu prüfende Prozesse": chrome, firefox, xyz.
                              Dann erzeugt daraus der Adapter Datenpunkte:

                              1. windows-control.0.Gästezimmer-PC.processStatus.chrome - true
                              2. windows-control.0.Gästezimmer-PC.processStatus.firefox - false
                              3. windows-control.0.Gästezimmer-PC.processStatus.xyz - true

                              Die Aktualisierung erfolgt lt. in Admin-Settings eingestellter Sekunden, z.B. alle 2 Minuten.
                              Zusätzlich einen State (als Button) updateAll, falls man den Status sofort braucht (in einem Script).

                              So sinnvoller? Damit wäre der Status auch in VIS einfach darstellbar.

                              liv-in-sky 1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @Mic last edited by

                                @Mic hört sich gut an - hauptsache man kann dieses update sofort machen

                                würde mir gefallen 🙂

                                1 Reply Last reply Reply Quote 0
                                • C
                                  CruziX last edited by

                                  Freue mich darauf das morgen auch mal zu testen.
                                  Benötige eig nur Herunterfahren und hab das bisher über PAW2, tasker und Unified Remote gelöst, ist aber sehr unschön und funktioniert nicht immer korrekt.

                                  1 Reply Last reply Reply Quote 0
                                  • Mic
                                    Mic Developer @liv-in-sky last edited by

                                    @liv-in-sky sagte in Test Adapter Windows-Control v0.0.x GitHub:

                                    noch eine frage - man kann auch z.b. "http://192.168.178.36:8585/?chk=chrome" aufrufen und überprüfen, ob dieses programm läuft

                                    Neue Adapter-Version 0.1.0

                                    Gibt jetzt 2 neue Datenpunkte _processGetStatus und _processGetStatusResult pro Windows-Gerät.
                                    0-1-0_1.gif

                                    Um im JavaScript-Adapter den Status eines Prozesses abzufragen, kann man das Script hier nehmen:

                                    const pcName = 'Gästezimmer-PC'; // Name des PCs (in Adapter Windows Control)
                                    const checkProcess = 'chrome' // Welcher Prozess soll geprüft werden? Ohne .exe eingeben. Prüfen ob Chrome-Browser läuft: chrome
                                    
                                    const windowsControlAdapterInstance = 0; // Kann man so lassen, wenn nur eine Instanz läuft.
                                    
                                    /**
                                     * Ruft die eigentliche function getWindowsProcessStatus() auf. Im Callback kann dann darauf reagiert werden.
                                     */
                                    getWindowsProcessStatus(0, pcName, checkProcess, function(status, device, process) {
                                    
                                        switch (status) {
                                            case null:
                                                log('Windows-Gerät [' + device + '] ist nicht konfiguriert, nicht erreichbar, oder Prozess-Name ist leer. Prozess-Name: [' + checkProcess + ']');
                                                break;
                                            case true:
                                                log('Windows-Gerät ' + device + ': Der Prozess [' + process + '] läuft.');
                                                break;
                                            case false:
                                                log('Windows-Gerät ' + device + ': Der Prozess [' + process + '] läuft nicht.');
                                                break;
                                            default:
                                                log('Windows-Gerät ' + device + ': Unbekannter Status: [' + status + ']');
                                        }
                                    
                                    });
                                    
                                    
                                    /**
                                     * Check if process is running
                                     * For adapter: https://github.com/Mic-M/ioBroker.windows-control
                                     * Change History: 
                                     *   Mic-M - 0.0.1 - Initial release
                                     * 
                                     * @param {number} inst     Instance of adapter windows-control
                                     * @param {string} device   Windows device to check
                                     * @param {string} process  Windows Process to check if running or not (like: "chrome")
                                     * @param {object} callback
                                     */
                                    function getWindowsProcessStatus(inst, device, process, callback) {
                                        
                                        if (!existsState('windows-control.' + inst + '.' + device + '._processGetStatus')) {
                                            return callback(null, device, process); // State, and so the device, not existing
                                        } else {
                                            setState('windows-control.' + inst + '.' + device + '._processGetStatus', process, function(test) {
                                                setTimeout(function(){
                                                    let result = JSON.parse(getState('windows-control.' + inst + '.' + device + '._processGetStatusResult').val);
                                                    for (let lpEntry of result) {
                                                        //({process: whichProcess, status: status, ts: Date.now()});
                                                        if(lpEntry.process == process) {
                                                            if( parseInt(lpEntry.ts)+1000 > Date.now()) { // Check if entry within last 1000ms
                                                                if (lpEntry.status == 'true') {
                                                                    return callback(true, device, process);
                                                                } else {
                                                                    return callback(false, device, process);
                                                                }
                                                            }
                                                        }
                                                    }
                                                    return callback(null, device, process); // we did not have a hit, so return null;
                                                }, 300)
                                            });
                                        }
                                    }
                                    
                                    
                                    

                                    Gefällt mir aber noch nicht so gut, da sehr umständlich. Aber zumindest kann man es damit abfragen.

                                    liv-in-sky 1 Reply Last reply Reply Quote 1
                                    • liv-in-sky
                                      liv-in-sky @Mic last edited by

                                      @Mic ist ja doch die json lösung geworden

                                      getestet - funktioniert - danke

                                      falls jmd interesse: für die abfrage und zum triggern ein beispiel in js und blockly, wie man da ran kommt

                                      log((JSON.parse(getState("windows-control.0.NUC2._processGetStatusResult").val))[0].status)
                                      

                                      Image 1.png

                                      Mic 1 Reply Last reply Reply Quote 0
                                      • Mic
                                        Mic Developer @liv-in-sky last edited by

                                        @liv-in-sky sagte in Test Adapter Windows-Control v0.1.x GitHub:

                                        ist ja doch die json lösung geworden
                                        getestet - funktioniert - danke

                                        Danke fürs testen und dein Script 🙂

                                        Ja, ich habe mich dann doch für json entschieden, da wohl kaum wer ständig sehen muss (z.B. in VIS), welche Apps auf einem Windows-PC laufen. Das geht am Ziel des Adapters vorbei... Daher nur die Status-Abfrage bei Bedarf.

                                        1 Reply Last reply Reply Quote 0
                                        • Bostil
                                          Bostil last edited by Bostil

                                          Vielen Dank für den schönen Adapter! @Mic

                                          Habe es an meinem Stick-PC nun eingerichtet, aber m_hibernate und m_sleep kommen zwar beim GetAdmin an, aber leider tut sich nichts. Andere Befehle funktionieren. Hat jemand eine Idee, ob hier eine Windows-Einstellung am Rechnung die Ausführung verhindern könnte.

                                          Danke euch.

                                          Mic 1 Reply Last reply Reply Quote 0
                                          • Mic
                                            Mic Developer @Bostil last edited by

                                            @Bostil
                                            Danke fürs Testen und dein Feedback 🙂

                                            Poste bitte am besten mal einen Screenshot von deinem GetAdmin. Wo läuft dieser denn, auf einem PC/Notebook oder einem anderen Endgerät? Welche Windows-Version?

                                            Bostil 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter control getadmin tester windows windows-control
                                            27
                                            211
                                            22739
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo