Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Windows Steuerung

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Windows Steuerung

Scheduled Pinned Locked Moved ioBroker Allgemein
windows
178 Posts 36 Posters 47.9k Views 40 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Marty56
    wrote on last edited by
    #12

    Oder einfach einen kleinen node.js server auf dem Windows Rechner laufen lassen und dann mit ein paar Codezeilen sein Rest API programmieren.

    Beispiel:

    /*
    Examples
    http://<ip>:3000/helligkeit/10  switches brightness of server display to 10%
    http://<ip>:3000/battery returns a number containing the battery level 0..1
    */
    const brightness = require('brightness');
    const batteryLevel = require('battery-level');
    const http = require('http');
    const port = 3000;
    const requestHandler = (request, response) => {
      console.log(request.url);
      var  payload = request.url;
      var arr = payload.split("/");
      if (arr[1] == "battery") {
        batteryLevel().then(level => {
    		console.log(level);
    		response.end(''+level);
    	   });
       } 
      if (arr[1] == "brightness") {
    	  var value = Number(arr[2])/100;
    	  brightness.set(value).then(() => {
    		console.log('Changed brightness to ' + value);
    	   });
    	   response.end('Changed brightness to ' + value);
      }
    }
    
    const server = http.createServer(requestHandler);
    server.listen(port, (err) => {
      if (err) {
        return console.log('something bad happened', err)
      }
      console.log(`server is listening on ${port}`)
    });</ip></ip> 
    

    HW:NUC (16 GB Ram)
    OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

    1 Reply Last reply
    0
    • Jey CeeJ Online
      Jey CeeJ Online
      Jey Cee
      Developer
      wrote on last edited by
      #13

      @Marty56:

      Oder einfach einen kleinen node.js server auf dem Windows Rechner laufen lassen und dann mit ein paar Codezeilen sein Rest API programmieren.

      Beispiel: ` :mrgreen: Etwas ähnliches dachte ich mir auch, allerdings nutze ich das auf Ubuntu. Ich hab mir einen Service geschrieben der sich selbst registriert Automatisch gestartet wird und jetzt kommts, er erstellt selbstständig Objekte in ioBroker und meldet ob verfügbar.

      Der Service stellt mir in ioBroker ein Objekt zur Verfügung in den ich den Befehl schreibe und der wird dann ausgeführt. Dank root rechten und Linux kann man fast alles machen.

      Die Kommunikation läuft über socket.io Adapter.

      Angelegt ist es so das es man es erweitern kann für andere Betriebssysteme. Aktuell läuft die Testphase ob die Basis zuverlässig funktioniert.

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      1 Reply Last reply
      0
      • wendy2702W Offline
        wendy2702W Offline
        wendy2702
        wrote on last edited by
        #14

        @Marty56:

        Oder einfach einen kleinen node.js server auf dem Windows Rechner laufen lassen und dann mit ein paar Codezeilen sein Rest API programmieren.

        Beispiel:

        /*
        Examples
        http://<ip>:3000/helligkeit/10  switches brightness of server display to 10%
        http://<ip>:3000/battery returns a number containing the battery level 0..1
        */
        const brightness = require('brightness');
        const batteryLevel = require('battery-level');
        const http = require('http');
        const port = 3000;
        const requestHandler = (request, response) => {
          console.log(request.url);
          var  payload = request.url;
          var arr = payload.split("/");
          if (arr[1] == "battery") {
            batteryLevel().then(level => {
        		console.log(level);
        		response.end(''+level);
        	   });
           } 
          if (arr[1] == "brightness") {
        	  var value = Number(arr[2])/100;
        	  brightness.set(value).then(() => {
        		console.log('Changed brightness to ' + value);
        	   });
        	   response.end('Changed brightness to ' + value);
          }
        }
        
        const server = http.createServer(requestHandler);
        server.listen(port, (err) => {
          if (err) {
            return console.log('something bad happened', err)
          }
          console.log(`server is listening on ${port}`)
        });</ip></ip> 
        ```` `  
        

        Hi,

        sehe ich das richtig das man hiermit auch den Akkuzustand abfragen und an iobroker übertragen kann?

        Wenn ja, wie genau muss ich das einrichten?

        Bitte keine Fragen per PN, die gehören ins Forum!

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        1 Reply Last reply
        0
        • M Offline
          M Offline
          Marty56
          wrote on last edited by
          #15

          Node.js installieren, die zwei Zusatzmodule, die "required" sind und das Serverscript starten.

          Für mehr Background zu node.js kann ich diesen Kurs empfehlen.

          https://www.udemy.com/derkomplettenodejskurs/

          Super Einstieg. Es wird auch gezeigt, wie man einen kleinen Web Server aufsetzt.

          HW:NUC (16 GB Ram)
          OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

          1 Reply Last reply
          0
          • wendy2702W Offline
            wendy2702W Offline
            wendy2702
            wrote on last edited by
            #16

            Danke für den Link.

            Auch wenn mir das auf die schnelle bei meiner Umsetzung nicht weiter hilft.

            Edit: Habe es hinbekommen. Jetzt nur noch aus iobroker Abfragen, Auswerten und verwenden.

            Bitte keine Fragen per PN, die gehören ins Forum!

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            1 Reply Last reply
            0
            • M Offline
              M Offline
              Marty56
              wrote on last edited by
              #17

              So habe ich es gemacht für die Akku Überwachung des Tablets.

              Vermutlich muss Du das Script anpassen, aber vielleicht hilft es ein bisschen.

              //------------ Akkustand des Wandtabletts abfragen und Warnung ausgeben --------
              var http = require('http');
              function tablet_battery(next) {
                      var reqOptions = {
                          hostname: '192.168.10.30',
                          port:     3000,
                          path:     '/battery',
                          method:   'GET'
                      };
              
                      var req = http.request(reqOptions, function (res) {
                          res.on('data',function (result) {
                              next(false, Number(result));
                          });
                          res.on('end', function () {});
                      });
              
                      req.on('error', function (e) {
                          next(true, "");
                      });
                      req.end();
              } 
              var tablet_battery_warm = false;
              var tablet_unreach_warn = false;
              createState("Akku_Tablett",0);
              createState("Tablett_LOWBAT",false);
              createState('Tablett_unreach',false);
              schedule("*/15 * * * *", function(obj){
                  tablet_battery(function(err, res){
                      if (err === false) {
                          setState('Tablett_unreach',false);
                          var batterylevel = res;
                          setState("Akku_Tablett",batterylevel*100);
                          if ((batterylevel < 0.5) && (tablet_battery_warm === false)){
                              setState("Tablett_LOWBAT",true);
                              tablet_battery_warm =true;
                              setState('Botschaft', 'Der Akku des Tabletts ist mit ' + batterylevel*100 + ' % kritisch');
                              setState("speechout2",JSON.stringify({text:'Akku des Tabletts ist mit ' + batterylevel*100 + ' % kritisch',device: "HausohneKZ"}));
                          } else {
                              if (batterylevel > 0.7) {
                                  setState("Tablett_LOWBAT",false);
                                  tablet_battery_warm =false;
                                  //log('Akku des Tablets mit ' + batterylevel*100 + ' % ist gut');
                              }
                          }
                      } else {
                          if (getState('Tablett_unreach').val === false) {
                              log("Akkustandsmessung ist nicht erreichbar");
                              setState('Tablett_unreach',true);
                              setState('Botschaft', 'Akkustandsmessung des Tabletts ist nicht erreichbar');
                          }
              
                      }
                  });
              
              });
              

              HW:NUC (16 GB Ram)
              OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

              1 Reply Last reply
              0
              • wendy2702W Offline
                wendy2702W Offline
                wendy2702
                wrote on last edited by
                #18

                Danke. Schaue ich mir an hatte es bis jetzt mit Blockly und dem Syteminfo Adapter gelöst.

                Bitte keine Fragen per PN, die gehören ins Forum!

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                1 Reply Last reply
                0
                • wendy2702W Offline
                  wendy2702W Offline
                  wendy2702
                  wrote on last edited by
                  #19

                  Hi,

                  weiß zufällig jemand ob man über diesen Weg auch die Prozessor Temperatur abfragen kann?

                  Danke und Gruß

                  Bitte keine Fragen per PN, die gehören ins Forum!

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  BluefoxB 1 Reply Last reply
                  0
                  • wendy2702W wendy2702

                    Hi,

                    weiß zufällig jemand ob man über diesen Weg auch die Prozessor Temperatur abfragen kann?

                    Danke und Gruß

                    BluefoxB Offline
                    BluefoxB Offline
                    Bluefox
                    wrote on last edited by
                    #20

                    @wendy2702 Man kann Prozessor-Temperatur nicht mal mit Standard-Windows tools auslesen. Und damit auch nicht

                    1 Reply Last reply
                    0
                    • wendy2702W Offline
                      wendy2702W Offline
                      wendy2702
                      wrote on last edited by wendy2702
                      #21

                      Hm,

                      für Windows direkt auf dem Desktop gibt es z.B. dieses Tool: https://www.alcpu.com/CoreTemp/

                      Hatte gedacht das es eventuell auch ein NodeJS Package oder so gibt.

                      Mal googeln...

                      EDIT: Google --> https://stackoverflow.com/questions/47136213/node-js-read-cpu-temperature

                      werde ich mal testen

                      Bitte keine Fragen per PN, die gehören ins Forum!

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      1 Reply Last reply
                      0
                      • wendy2702W Offline
                        wendy2702W Offline
                        wendy2702
                        wrote on last edited by
                        #22

                        Hi,

                        habe mir das NodeJS Package "Systeminformation" mal auf einem WIN10 Rechner installiert und die NodeJS Datei versucht zu erweitern.

                        Sieht jetzt aktuell so aus:

                        /*
                        Examples
                        http://<ip>:3000/helligkeit/10  switches brightness of server display to 10%
                        http://<ip>:3000/battery returns a number containing the battery level 0..1
                        */
                        const brightness = require('brightness');
                        const batteryLevel = require('battery-level');
                        const si = require('systeminformation');
                        const http = require('http');
                        const port = 3000;
                        const requestHandler = (request, response) => {
                          console.log(request.url);
                          var  payload = request.url;
                          var arr = payload.split("/");
                          if (arr[1] == "battery") {
                            batteryLevel().then(level => {
                        		console.log(level);
                        		response.end(''+level);
                        	   });
                           }
                          if (arr[1] == "temp") {
                            si.cpuTemperature().then(data => {
                        		console.log(data);
                        		response.end(''+data);
                        	   });
                           }    
                          if (arr[1] == "brightness") {
                        	  var value = Number(arr[2])/100;
                        	  brightness.set(value).then(() => {
                        		console.log('Changed brightness to ' + value);
                        	   });
                        	   response.end('Changed brightness to ' + value);
                          }
                        }
                        
                        const server = http.createServer(requestHandler);
                        server.listen(port, (err) => {
                          if (err) {
                            return console.log('something bad happened', err)
                          }
                          console.log(`server is listening on ${port}`)
                        });
                        
                        

                        Wenn ich jetzt aus dem Browser das abschicke:

                        http://192.168.178.103:3000/temp
                        

                        Bekomme ich auf dem Windows 10 Rechner im NodeJS Fenster das zurück:

                        b53dd6b0-18c9-4d2f-9a8d-c8f83b201bda-image.png

                        Im Browser erhalte ich aber nur das als Antwort:

                        71111332-e799-4246-b4f6-d0303fb84105-image.png

                        Ob mir eventuell jemand helfen kann das richtig hinzubekommen?

                        Danke und Gruß

                        Mirko

                        Bitte keine Fragen per PN, die gehören ins Forum!

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        BluefoxB 1 Reply Last reply
                        0
                        • wendy2702W wendy2702

                          Hi,

                          habe mir das NodeJS Package "Systeminformation" mal auf einem WIN10 Rechner installiert und die NodeJS Datei versucht zu erweitern.

                          Sieht jetzt aktuell so aus:

                          /*
                          Examples
                          http://<ip>:3000/helligkeit/10  switches brightness of server display to 10%
                          http://<ip>:3000/battery returns a number containing the battery level 0..1
                          */
                          const brightness = require('brightness');
                          const batteryLevel = require('battery-level');
                          const si = require('systeminformation');
                          const http = require('http');
                          const port = 3000;
                          const requestHandler = (request, response) => {
                            console.log(request.url);
                            var  payload = request.url;
                            var arr = payload.split("/");
                            if (arr[1] == "battery") {
                              batteryLevel().then(level => {
                          		console.log(level);
                          		response.end(''+level);
                          	   });
                             }
                            if (arr[1] == "temp") {
                              si.cpuTemperature().then(data => {
                          		console.log(data);
                          		response.end(''+data);
                          	   });
                             }    
                            if (arr[1] == "brightness") {
                          	  var value = Number(arr[2])/100;
                          	  brightness.set(value).then(() => {
                          		console.log('Changed brightness to ' + value);
                          	   });
                          	   response.end('Changed brightness to ' + value);
                            }
                          }
                          
                          const server = http.createServer(requestHandler);
                          server.listen(port, (err) => {
                            if (err) {
                              return console.log('something bad happened', err)
                            }
                            console.log(`server is listening on ${port}`)
                          });
                          
                          

                          Wenn ich jetzt aus dem Browser das abschicke:

                          http://192.168.178.103:3000/temp
                          

                          Bekomme ich auf dem Windows 10 Rechner im NodeJS Fenster das zurück:

                          b53dd6b0-18c9-4d2f-9a8d-c8f83b201bda-image.png

                          Im Browser erhalte ich aber nur das als Antwort:

                          71111332-e799-4246-b4f6-d0303fb84105-image.png

                          Ob mir eventuell jemand helfen kann das richtig hinzubekommen?

                          Danke und Gruß

                          Mirko

                          BluefoxB Offline
                          BluefoxB Offline
                          Bluefox
                          wrote on last edited by
                          #23

                          @wendy2702 said in Windows Steuerung:

                          si.cpuTemperature().then(data => { console.log(data); response.end(''+data); });

                          si.cpuTemperature().then(data => {
                          	console.log(data);
                          	response.end(JSON.stringify(data));
                          });
                          
                          wendy2702W 1 Reply Last reply
                          1
                          • BluefoxB Bluefox

                            @wendy2702 said in Windows Steuerung:

                            si.cpuTemperature().then(data => { console.log(data); response.end(''+data); });

                            si.cpuTemperature().then(data => {
                            	console.log(data);
                            	response.end(JSON.stringify(data));
                            });
                            
                            wendy2702W Offline
                            wendy2702W Offline
                            wendy2702
                            wrote on last edited by
                            #24

                            @Bluefox sagte in Windows Steuerung:

                            si.cpuTemperature().then(data => { console.log(data); response.end(JSON.stringify(data));

                            Danke....!

                            Jetzt nur noch mit dem Systeminfo Adapter parsen damit ich die Werte verarbeiten kann und gut ist.

                            Bitte keine Fragen per PN, die gehören ins Forum!

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            1 Reply Last reply
                            0
                            • Q Offline
                              Q Offline
                              Qlink
                              wrote on last edited by
                              #25

                              Hi Leute,

                              ich finde den Download Link nicht für GetAdmin2.6.rar.

                              Kann mir jemand den richtigen Link posten ?

                              Besten Dank.

                              wendy2702W 1 Reply Last reply
                              0
                              • Q Qlink

                                Hi Leute,

                                ich finde den Download Link nicht für GetAdmin2.6.rar.

                                Kann mir jemand den richtigen Link posten ?

                                Besten Dank.

                                wendy2702W Offline
                                wendy2702W Offline
                                wendy2702
                                wrote on last edited by wendy2702
                                #26

                                @Qlink steht im zweiten Beitrag: https://forum.iobroker.net/topic/1505/программа-управления-компьютером-getadmin

                                Ich nehme alles zurück. Auch wenn er da steht kann man in dem Tollen Forum nach dem Import scheinbar die Files nicht mehr runterladen :-(

                                Hoffentlich klappt das hochladen...

                                GetAdmin2.6.rar

                                Bitte keine Fragen per PN, die gehören ins Forum!

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                1 Reply Last reply
                                2
                                • Q Offline
                                  Q Offline
                                  Qlink
                                  wrote on last edited by
                                  #27

                                  Danke für das file !
                                  Ich hätte nun probiert GetAdmin auszuführen, bekomme aber gleich mal einen Socket Fehler:

                                  getadmin.PNG

                                  Habe ich es richtig verstanden, dass unter Server IP die Adresse des Windows PCs, auf dem GetAdmin läuft, den ich also steuern bzw. auslesen will, eingetragen werden muss und unter Simple API die Adresse meines Iobroker Servers ?

                                  Firewalls hätte ich testweise deaktiviert, Simple API Adapter läuft in iobroker ...

                                  Muss sonst noch etwas durchgeführt werden, damit GetAdmin läuft ?

                                  1 Reply Last reply
                                  0
                                  • wendy2702W Offline
                                    wendy2702W Offline
                                    wendy2702
                                    wrote on last edited by
                                    #28

                                    Das kleine JavaScript auf deinem ioBroker hast du angelegt und gestartet?

                                    Bitte keine Fragen per PN, die gehören ins Forum!

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    1 Reply Last reply
                                    0
                                    • Q Offline
                                      Q Offline
                                      Qlink
                                      wrote on last edited by Qlink
                                      #29

                                      Nein, danke für den Hinweis.
                                      Das läuft nur leider auch nicht :(
                                      Muss ich an dem Script etwas verändern/ergänzen, oder sollte das einfach per copy/paste funktionieren ?

                                      getadmin3.PNG

                                      1 Reply Last reply
                                      0
                                      • wendy2702W Offline
                                        wendy2702W Offline
                                        wendy2702
                                        wrote on last edited by wendy2702
                                        #30

                                        Du hast da glaube ich Zeichen drin die da nicht hin gehören. In Zeile 23 das „!“ zum Beispiel.

                                        createState('GetAdmin.Host', '');
                                        createState('GetAdmin.Port', '');
                                        var request = require('request');
                                        
                                        on({id: 'javascript.0.GetAdmin.cmd', change: 'any'}, function (obj) {
                                            if(obj.newState.val !== '' || typeof obj.newState.val !== "undefined"){
                                                var host = getState('javascript.0.GetAdmin.Host').val;
                                                var port = getState('javascript.0.GetAdmin.Port').val;
                                                sendCmdGetAdmin(obj.newState.val,host,port);
                                                log('Send command to GetAdmin - cmd: '+ obj.newState.val);
                                            }else{log('GetAdmin. No command found.');}
                                        });
                                        /***************************************************************************************/
                                        function sendCmdGetAdmin(value, host, port){
                                            var options = {
                                                url: 'http://'+host+':'+port+'/?cmd='+value 
                                            };
                                            log('Send command to GetAdmin - ' +options.url);
                                            request(options, function (error, response, body) {
                                                log('Server response - ' + response.statusCode); 
                                                if (!error && response.statusCode == 200) {
                                        
                                                }
                                            });
                                        }
                                        

                                        Bitte keine Fragen per PN, die gehören ins Forum!

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        Q 1 Reply Last reply
                                        0
                                        • D Offline
                                          D Offline
                                          dos1973
                                          wrote on last edited by
                                          #31

                                          ich versuche mich auch derzeit daran.

                                          wenn ich im browser "http://192.168.10.39:8585/?key=reboot" eingebe
                                          kommt als Antwort

                                          Ok!reboot
                                          true
                                          

                                          aber passiert nichts?
                                          das Programm habe ich installiert, das script ebenfalls?

                                          wendy2702W 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          819

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe