Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Abfrage mit Axios

NEWS

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

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

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

Abfrage mit Axios

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
25 Beiträge 6 Kommentatoren 2.7k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • cashC Offline
    cashC Offline
    cash
    Most Active
    schrieb am zuletzt editiert von
    #1

    Ich möchte gerne eine WLAN Lampe steuern. Das ganze per Axios aber irgendwie verstehe ich einfach nicht wie es geht.

    Wer kann mir helfen oder ein Beispiel zeigen?

    Hier mein Code:

    function func_test(){
        
        const axios = require('axios').default;
        URL = "http://192.168.178.75:9123/elgato/lights";
        //--header 'Content-Type: application/json' \
        //--data-raw '{"lights":[{"brightness":10,"temperature":162,"on":1}],"numberOfLights":1}'
        //--data-raw '{"lights":[{"on":0}],"numberOfLights":1}'
        axios({
            method: 'post',
            url: 'http://192.168.178.75:9123/elgato/lights',
            headers: {'Content-Type':'application/x-www-form-urlencoded'} ,    
            data: {
                    "lights":[{"on":0}],
                    "numberOfLights":1
                }
        })
        .then(function (response) {
            console.log(response);
            console.log(response.status);
            console.log(response.headers);
        })
        .catch(function (error) {
            console.log(error);
    	    if (error.response) {
            // The request was made and the server responded with a status code
            // that falls out of the range of 2xx
            console.log(error.response.data);
            console.log(error.response.status);
            console.log(error.response.headers);
            } else if (error.request) {
                log('else-if');
            // The request was made but no response was received
            // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
            // http.ClientRequest in node.js
            console.log(error.request);
            } else {
                // Something happened in setting up the request that triggered an Error
                log('else');
                console.log('Error', error.message);
            }
        })
        .then(function () {
            // always executed
        }); 
      
      
    
    }
    
    
    

    Log:

    javascript.2	2021-02-02 10:07:29.291	info	(9965) script.js.Büro.Videolicht: {'content-type':'application/json; charset=utf-8','content-length':'0','connection':'keep-alive'}
    javascript.2	2021-02-02 10:07:29.291	info	(9965) script.js.Büro.Videolicht: 404
    javascript.2	2021-02-02 10:07:29.291	info	(9965) script.js.Büro.Videolicht:
    javascript.2	2021-02-02 10:07:29.291	info	(9965) script.js.Büro.Videolicht: {'message':'Request failed with status code 404','name':'Error','stack':'Error: Request failed with status code 404\n at createError (/opt/iobroker/node_modules/a
    javascript.2	2021-02-02 10:07:29.268	info	(9965) script.js.Büro.Videolicht: registered 2 subscriptions and 0 schedules
    
    AlCalzoneA H 2 Antworten Letzte Antwort
    0
    • cashC cash

      Ich möchte gerne eine WLAN Lampe steuern. Das ganze per Axios aber irgendwie verstehe ich einfach nicht wie es geht.

      Wer kann mir helfen oder ein Beispiel zeigen?

      Hier mein Code:

      function func_test(){
          
          const axios = require('axios').default;
          URL = "http://192.168.178.75:9123/elgato/lights";
          //--header 'Content-Type: application/json' \
          //--data-raw '{"lights":[{"brightness":10,"temperature":162,"on":1}],"numberOfLights":1}'
          //--data-raw '{"lights":[{"on":0}],"numberOfLights":1}'
          axios({
              method: 'post',
              url: 'http://192.168.178.75:9123/elgato/lights',
              headers: {'Content-Type':'application/x-www-form-urlencoded'} ,    
              data: {
                      "lights":[{"on":0}],
                      "numberOfLights":1
                  }
          })
          .then(function (response) {
              console.log(response);
              console.log(response.status);
              console.log(response.headers);
          })
          .catch(function (error) {
              console.log(error);
      	    if (error.response) {
              // The request was made and the server responded with a status code
              // that falls out of the range of 2xx
              console.log(error.response.data);
              console.log(error.response.status);
              console.log(error.response.headers);
              } else if (error.request) {
                  log('else-if');
              // The request was made but no response was received
              // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
              // http.ClientRequest in node.js
              console.log(error.request);
              } else {
                  // Something happened in setting up the request that triggered an Error
                  log('else');
                  console.log('Error', error.message);
              }
          })
          .then(function () {
              // always executed
          }); 
        
        
      
      }
      
      
      

      Log:

      javascript.2	2021-02-02 10:07:29.291	info	(9965) script.js.Büro.Videolicht: {'content-type':'application/json; charset=utf-8','content-length':'0','connection':'keep-alive'}
      javascript.2	2021-02-02 10:07:29.291	info	(9965) script.js.Büro.Videolicht: 404
      javascript.2	2021-02-02 10:07:29.291	info	(9965) script.js.Büro.Videolicht:
      javascript.2	2021-02-02 10:07:29.291	info	(9965) script.js.Büro.Videolicht: {'message':'Request failed with status code 404','name':'Error','stack':'Error: Request failed with status code 404\n at createError (/opt/iobroker/node_modules/a
      javascript.2	2021-02-02 10:07:29.268	info	(9965) script.js.Büro.Videolicht: registered 2 subscriptions and 0 schedules
      
      AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von
      #2

      @cash sagte in Abfrage mit Axios:

      Request failed with status code 404

      Das heißt die angeforderte Adresse stimmt nicht.

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      cashC 1 Antwort Letzte Antwort
      0
      • cashC cash

        Ich möchte gerne eine WLAN Lampe steuern. Das ganze per Axios aber irgendwie verstehe ich einfach nicht wie es geht.

        Wer kann mir helfen oder ein Beispiel zeigen?

        Hier mein Code:

        function func_test(){
            
            const axios = require('axios').default;
            URL = "http://192.168.178.75:9123/elgato/lights";
            //--header 'Content-Type: application/json' \
            //--data-raw '{"lights":[{"brightness":10,"temperature":162,"on":1}],"numberOfLights":1}'
            //--data-raw '{"lights":[{"on":0}],"numberOfLights":1}'
            axios({
                method: 'post',
                url: 'http://192.168.178.75:9123/elgato/lights',
                headers: {'Content-Type':'application/x-www-form-urlencoded'} ,    
                data: {
                        "lights":[{"on":0}],
                        "numberOfLights":1
                    }
            })
            .then(function (response) {
                console.log(response);
                console.log(response.status);
                console.log(response.headers);
            })
            .catch(function (error) {
                console.log(error);
        	    if (error.response) {
                // The request was made and the server responded with a status code
                // that falls out of the range of 2xx
                console.log(error.response.data);
                console.log(error.response.status);
                console.log(error.response.headers);
                } else if (error.request) {
                    log('else-if');
                // The request was made but no response was received
                // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
                // http.ClientRequest in node.js
                console.log(error.request);
                } else {
                    // Something happened in setting up the request that triggered an Error
                    log('else');
                    console.log('Error', error.message);
                }
            })
            .then(function () {
                // always executed
            }); 
          
          
        
        }
        
        
        

        Log:

        javascript.2	2021-02-02 10:07:29.291	info	(9965) script.js.Büro.Videolicht: {'content-type':'application/json; charset=utf-8','content-length':'0','connection':'keep-alive'}
        javascript.2	2021-02-02 10:07:29.291	info	(9965) script.js.Büro.Videolicht: 404
        javascript.2	2021-02-02 10:07:29.291	info	(9965) script.js.Büro.Videolicht:
        javascript.2	2021-02-02 10:07:29.291	info	(9965) script.js.Büro.Videolicht: {'message':'Request failed with status code 404','name':'Error','stack':'Error: Request failed with status code 404\n at createError (/opt/iobroker/node_modules/a
        javascript.2	2021-02-02 10:07:29.268	info	(9965) script.js.Büro.Videolicht: registered 2 subscriptions and 0 schedules
        
        H Offline
        H Offline
        homecineplexx
        schrieb am zuletzt editiert von
        #3

        @cash said in Abfrage mit Axios:

        http://192.168.178.75:9123/elgato/lights";

        vor allem definierst du oben die URL und dann im axios part gibst sie nochmals ein. also wenns eh die gleiche ist, kannst ja gleich URL hinschreiben

        cashC 1 Antwort Letzte Antwort
        0
        • H homecineplexx

          @cash said in Abfrage mit Axios:

          http://192.168.178.75:9123/elgato/lights";

          vor allem definierst du oben die URL und dann im axios part gibst sie nochmals ein. also wenns eh die gleiche ist, kannst ja gleich URL hinschreiben

          cashC Offline
          cashC Offline
          cash
          Most Active
          schrieb am zuletzt editiert von
          #4

          @homecineplexx das war copy & paste aus verschiedenen Scripten. Ist also für die Abfrage eher nebensächlich

          1 Antwort Letzte Antwort
          0
          • AlCalzoneA AlCalzone

            @cash sagte in Abfrage mit Axios:

            Request failed with status code 404

            Das heißt die angeforderte Adresse stimmt nicht.

            cashC Offline
            cashC Offline
            cash
            Most Active
            schrieb am zuletzt editiert von
            #5

            @alcalzone das kann nicht sein. Wenn ich die Adresse im Brwoser eingebe bekomme ich eine Antwort. Wenn ich das gleiche mit get mache bekomme ich eine Antwort (Script mit Ergebnis im nächsten Post).

            Wenn ich eine sh Datei ausführe funktioniert es auch:

            #!/bin/bash
            curl --location --request PUT 'http://192.168.178.75:9123/elgato/lights' \
            --header 'Content-Type: application/json' \
            --data-raw '{"lights":[{"brightness":55,"temperature":189,"on":1}],"numberOfLights":1}'
            
            cashC AlCalzoneA 2 Antworten Letzte Antwort
            0
            • cashC cash

              @alcalzone das kann nicht sein. Wenn ich die Adresse im Brwoser eingebe bekomme ich eine Antwort. Wenn ich das gleiche mit get mache bekomme ich eine Antwort (Script mit Ergebnis im nächsten Post).

              Wenn ich eine sh Datei ausführe funktioniert es auch:

              #!/bin/bash
              curl --location --request PUT 'http://192.168.178.75:9123/elgato/lights' \
              --header 'Content-Type: application/json' \
              --data-raw '{"lights":[{"brightness":55,"temperature":189,"on":1}],"numberOfLights":1}'
              
              cashC Offline
              cashC Offline
              cash
              Most Active
              schrieb am zuletzt editiert von
              #6

              So hier das Script womit ich es schaffe den Status zu holen:

              function func_elgato_status_neu(){
                  const axios = require('axios');
                  axios({
                      method: 'get',
                      baseURL: 'http://192.168.178.75:9123/elgato/lights',
                      timeout: 4500,
                       responseType: 'json'
                   })
                   .then((response) => {
                                         
                      if(debugging){
                          console.log('data:' +response.data);
                          console.log('Status: ' +response.status);
                          console.log('Header:' +response.headers);
                      }
                      if(response.status = 200){
                          //Umwandeln in String
                          var data_string = JSON.stringify(response.data)
                          //1. Split
                          var data_split= data_string.split("{");
                          //Unnötige Sachen entfernen
                          var data_replace = data_split[2].replace(/}|,|]|:/gi,'');
                          //mit 2. Split zum Ergebnis
                          var data_final = data_replace.split('"');
                          //Ergebnisse
                          var _Status = parseInt(data_final[2],10);
                          var _Helligkeit = parseInt(data_final[4],10);
                          var _Temperatur = parseInt(data_final[6],10);
                          
                          if(_Status == 1){
                              if(logging){
                                  log('Elgato Key light air ist eingeschaltet');
                                  log('Helligkeit: '+_Helligkeit +' --- Temperatur: '+_Temperatur);
                              
                              }
                          }
                          else{
                              if(logging){
                                  log('Elgato Key light air ist ausgeschaltet');
                                  //log('Helligkeit: '+_Helligkeit +' --- Temperatur: '+_Temperatur);
                              }
              
                          }
                          if(debugging){
                              log('Status: '+_Status);
                              log('Helligkeit: '+_Helligkeit);
                              log('Temperatur: '+_Temperatur);
                          
                          }
                      }
                      else{
                          if(logging){
                              log('Hier stimmt etwas nicht. Elgato Key Light air Meldung: '+response.status)
                          }
                      } 
              
                                          
              
                  })
                  .catch(
                      (error) => {
                          // handle error
                          log('Fehler bei der Abfrage der Elgator Key Light air: '+error,'warn');                    
                      }
                  );
              
              }
              
              

              Ergebnis wenn Lampe an ist:

              
              javascript.2	2021-02-02 17:55:47.812	info	(9965) script.js.Büro.Videolicht: Helligkeit: 20 --- Temperatur: 173
              javascript.2	2021-02-02 17:55:47.811	info	(9965) script.js.Büro.Videolicht: Elgato Key light air ist eingeschaltet
              
              1 Antwort Letzte Antwort
              0
              • cashC cash

                @alcalzone das kann nicht sein. Wenn ich die Adresse im Brwoser eingebe bekomme ich eine Antwort. Wenn ich das gleiche mit get mache bekomme ich eine Antwort (Script mit Ergebnis im nächsten Post).

                Wenn ich eine sh Datei ausführe funktioniert es auch:

                #!/bin/bash
                curl --location --request PUT 'http://192.168.178.75:9123/elgato/lights' \
                --header 'Content-Type: application/json' \
                --data-raw '{"lights":[{"brightness":55,"temperature":189,"on":1}],"numberOfLights":1}'
                
                AlCalzoneA Offline
                AlCalzoneA Offline
                AlCalzone
                Developer
                schrieb am zuletzt editiert von
                #7

                @cash sagte in Abfrage mit Axios:

                --request PUT

                In deinem Skript hast du post als Methode genutzt statt put 🤔

                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                cashC 3 Antworten Letzte Antwort
                0
                • AlCalzoneA AlCalzone

                  @cash sagte in Abfrage mit Axios:

                  --request PUT

                  In deinem Skript hast du post als Methode genutzt statt put 🤔

                  cashC Offline
                  cashC Offline
                  cash
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @alcalzone ich Torfkopf :angry:

                  Wenn ich dort ein put hinschreibe geht die Lampe tatsächlich an. Nur noch ein kleines Problem.
                  Der Response ist ein Fehler:

                  Im Log kommt:

                  
                  javascript.2	2021-02-02 18:47:23.481	info	(9965) script.js.Büro.Videolicht: Error: TypeError: Converting circular structure to JSON
                  javascript.2	2021-02-02 18:47:23.480	warn	(9965) script.js.Büro.Videolicht: Unknown severity level "Converting circular structure to JSON" by log of [Error]
                  javascript.2	2021-02-02 18:47:23.480	info	(9965) script.js.Büro.Videolicht: else
                  javascript.2	2021-02-02 18:47:23.480	info	(9965) script.js.Büro.Videolicht: {}
                  

                  Dazu habe ich den else Teil etwas angepasst neu dort:

                   // Something happened in setting up the request that triggered an Error
                              log('else');
                              log('Error', error.message);
                              log('Error: '+error);
                  
                  1 Antwort Letzte Antwort
                  0
                  • AlCalzoneA AlCalzone

                    @cash sagte in Abfrage mit Axios:

                    --request PUT

                    In deinem Skript hast du post als Methode genutzt statt put 🤔

                    cashC Offline
                    cashC Offline
                    cash
                    Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @alcalzone hat sich erledigt. Ich habe das Script etwas angepasst. Vielen, vielen Dank für Deine Hilfe

                    Hier die Lösung für die Nachwelt falls jemand sich auch diese Lampe kauft und einbinden will:

                    function func_elgato_schalten(){
                        const axios = require('axios');
                        axios({
                            method: 'put',
                            baseURL: 'http://192.168.178.75:9123/elgato/lights',
                            headers: {'Content-Type':'application/x-www-form-urlencoded'} ,    
                            data: {
                                    "lights":[{"on":1}],
                                    "numberOfLights":1
                                },
                            timeout: 4500,
                            responseType: 'json'
                         })
                         .then((response) => {
                                               
                            if(debugging){
                                console.log('data:' +response.data);
                                console.log('Status: ' +response.status);
                                console.log('Header:' +response.headers);
                            }
                            if(response.status = 200){
                                //Umwandeln in String
                                var data_string = JSON.stringify(response.data)
                                //1. Split
                                var data_split= data_string.split("{");
                                //Unnötige Sachen entfernen
                                var data_replace = data_split[2].replace(/}|,|]|:/gi,'');
                                //mit 2. Split zum Ergebnis
                                var data_final = data_replace.split('"');
                                //Ergebnisse
                                var _Status = parseInt(data_final[2],10);
                                var _Helligkeit = parseInt(data_final[4],10);
                                var _Temperatur = parseInt(data_final[6],10);
                                
                                if(_Status == 1){
                                    if(logging){
                                        log('Elgato Key light air ist eingeschaltet');
                                        log('Helligkeit: '+_Helligkeit +' --- Temperatur: '+_Temperatur);
                                    
                                    }
                                }
                                else{
                                    if(logging){
                                        log('Elgato Key light air ist ausgeschaltet');
                                        //log('Helligkeit: '+_Helligkeit +' --- Temperatur: '+_Temperatur);
                                    }
                    
                                }
                                if(debugging){
                                    log('Status: '+_Status);
                                    log('Helligkeit: '+_Helligkeit);
                                    log('Temperatur: '+_Temperatur);
                                
                                }
                            }
                            else{
                                if(logging){
                                    log('Hier stimmt etwas nicht. Elgato Key Light air Meldung: '+response.status)
                                }
                            } 
                    
                                                
                    
                        })
                        .catch(
                            (error) => {
                                // handle error
                                log('Fehler bei der Abfrage der Elgator Key Light air: '+error,'warn');
                                if (error.response) {
                                // The request was made and the server responded with a status code
                                // that falls out of the range of 2xx
                                    log(error.response.data);
                                    log(error.response.status);
                                    log(error.response.headers);
                                } 
                                else if (error.request) {
                                    log('else-if');
                                    // The request was made but no response was received
                                    // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
                                    // http.ClientRequest in node.js
                                    console.log(error.request);
                                }
                                else {
                                    // Something happened in setting up the request that triggered an Error
                                    log('else');
                                    log('Error: ' +error);
                               
                                }                    
                            }
                        );
                    
                    }
                    
                    

                    Jetzt werde ich noch Felder anlegen wo die Temperatur und die Helligkeit abgelegt wird und ich so flexibel schalten kann.

                    1 Antwort Letzte Antwort
                    0
                    • AlCalzoneA AlCalzone

                      @cash sagte in Abfrage mit Axios:

                      --request PUT

                      In deinem Skript hast du post als Methode genutzt statt put 🤔

                      cashC Offline
                      cashC Offline
                      cash
                      Most Active
                      schrieb am zuletzt editiert von
                      #10

                      @alcalzone Ich habe doch noch eins. :

                      Ich denke irgendwie passt das nicht. Aber ich finde es sieht eigentlich richtig aus. Ich möchte:

                      data: {
                                      "lights":[{"on":1}],
                                      "numberOfLights":1
                                  },
                      

                      durch das ersetzen:

                      data: {
                                      "lights":[{"brightness":10,"temperature":162,"on":1}],
                                      "numberOfLights":1
                                  },
                      

                      so war es in der sh-Datei:

                      --data-raw '{"lights":[{"brightness":55,"temperature":189,"on":1}],"numberOfLights":1}'
                      
                      
                      cashC 1 Antwort Letzte Antwort
                      0
                      • cashC cash

                        @alcalzone Ich habe doch noch eins. :

                        Ich denke irgendwie passt das nicht. Aber ich finde es sieht eigentlich richtig aus. Ich möchte:

                        data: {
                                        "lights":[{"on":1}],
                                        "numberOfLights":1
                                    },
                        

                        durch das ersetzen:

                        data: {
                                        "lights":[{"brightness":10,"temperature":162,"on":1}],
                                        "numberOfLights":1
                                    },
                        

                        so war es in der sh-Datei:

                        --data-raw '{"lights":[{"brightness":55,"temperature":189,"on":1}],"numberOfLights":1}'
                        
                        
                        cashC Offline
                        cashC Offline
                        cash
                        Most Active
                        schrieb am zuletzt editiert von
                        #11

                        @cash said in Abfrage mit Axios:

                        lights":[{"brightness":10,"temperature":162,"on":1}],

                        Ich bin echt doof. Ich habe wohl zuviel getestet, so dass ich einen Fehler an anderer Stelle übersehen habe. Funktioniert genau so

                        H 1 Antwort Letzte Antwort
                        0
                        • cashC cash

                          @cash said in Abfrage mit Axios:

                          lights":[{"brightness":10,"temperature":162,"on":1}],

                          Ich bin echt doof. Ich habe wohl zuviel getestet, so dass ich einen Fehler an anderer Stelle übersehen habe. Funktioniert genau so

                          H Offline
                          H Offline
                          hwiedermann
                          schrieb am zuletzt editiert von
                          #12

                          @cash halli hallo. also habe ich es richtig verstanden, dass du nun den Stauts abfragen kannst? Werden die Werte in Datenobjekte geschrieben, wie bei iobroker üblich?

                          wie genau schaltest du die Lampe nun?

                          cashC 1 Antwort Letzte Antwort
                          0
                          • H hwiedermann

                            @cash halli hallo. also habe ich es richtig verstanden, dass du nun den Stauts abfragen kannst? Werden die Werte in Datenobjekte geschrieben, wie bei iobroker üblich?

                            wie genau schaltest du die Lampe nun?

                            cashC Offline
                            cashC Offline
                            cash
                            Most Active
                            schrieb am zuletzt editiert von
                            #13

                            @hwiedermann Nur um es deutlich zu machen: Wir sprechen hier über ein Elgato Keylight bzw Keylight air! Habe mittlerweile beide. In Javascript nutze ich aber nur die Air. Ich habe mir ein paar Datenpunkte angelegt. Diese lasse ich synchronisieren, d. h. ich lasse alle x Minuten (ich glaube 30 Minuten) die Daten abfragen. Damit ioBroker auch mitbekommt falls die Lampe per App gesteuert wird. Was ich aber eher selten mache und deshalb die 30 Minuten ok fand. Ich will halt das System nicht unnötig belasten. Theoretisch kann man das vermutlich im Sekunden bereich machen.
                            Ich kann nun die Lampe entweder mit ioBroker schalten oder mit der App am Mac, iphone oder ipad. Ich kann per ioBroker alles so einstellen wie in der App. Also hell, dunkel, Lichtfarbe oder eiinfach einschalten (was dann die gleichen Werte sind wie beim letzten ausschalten. Mehr oder weniger ist die Lösung ja hier im Thread vermerkt. Alles andere ist nur noch etwas feinarbeit…

                            H 1 Antwort Letzte Antwort
                            0
                            • cashC cash

                              @hwiedermann Nur um es deutlich zu machen: Wir sprechen hier über ein Elgato Keylight bzw Keylight air! Habe mittlerweile beide. In Javascript nutze ich aber nur die Air. Ich habe mir ein paar Datenpunkte angelegt. Diese lasse ich synchronisieren, d. h. ich lasse alle x Minuten (ich glaube 30 Minuten) die Daten abfragen. Damit ioBroker auch mitbekommt falls die Lampe per App gesteuert wird. Was ich aber eher selten mache und deshalb die 30 Minuten ok fand. Ich will halt das System nicht unnötig belasten. Theoretisch kann man das vermutlich im Sekunden bereich machen.
                              Ich kann nun die Lampe entweder mit ioBroker schalten oder mit der App am Mac, iphone oder ipad. Ich kann per ioBroker alles so einstellen wie in der App. Also hell, dunkel, Lichtfarbe oder eiinfach einschalten (was dann die gleichen Werte sind wie beim letzten ausschalten. Mehr oder weniger ist die Lösung ja hier im Thread vermerkt. Alles andere ist nur noch etwas feinarbeit…

                              H Offline
                              H Offline
                              hwiedermann
                              schrieb am zuletzt editiert von
                              #14

                              @cash jau damit hast du genau das, was ich auch möchte.
                              ich bekomme das script aber bei mir nicht zum laufen, weil es vermutlich völlig an basics mangelt.
                              ich habe es kopiert, als JS eingefügt und die IP angepasst.
                              script gestartet.
                              es passiert nix
                              erst gab es noch nen complie error, habe dann via NPM axios nach installiert.

                              dennoch tut sich nix.

                              könntest du es bitte vllt. noch etwas "dümmer-freundlicher" erklären? Danke für deine Hilfe.
                              Wenn du die Elgatos hast, bist du Streamer? Hast du doch schon mit dem Websocket von OBS mal befasst?

                              cashC 1 Antwort Letzte Antwort
                              0
                              • H hwiedermann

                                @cash jau damit hast du genau das, was ich auch möchte.
                                ich bekomme das script aber bei mir nicht zum laufen, weil es vermutlich völlig an basics mangelt.
                                ich habe es kopiert, als JS eingefügt und die IP angepasst.
                                script gestartet.
                                es passiert nix
                                erst gab es noch nen complie error, habe dann via NPM axios nach installiert.

                                dennoch tut sich nix.

                                könntest du es bitte vllt. noch etwas "dümmer-freundlicher" erklären? Danke für deine Hilfe.
                                Wenn du die Elgatos hast, bist du Streamer? Hast du doch schon mit dem Websocket von OBS mal befasst?

                                cashC Offline
                                cashC Offline
                                cash
                                Most Active
                                schrieb am zuletzt editiert von
                                #15

                                @hwiedermann Bitte mal in Zeile 1 ein looging = true; und in 2 debugging = true;

                                Danach sollte Du im Log etwas sehen

                                Habe mich zwar mit OBS etwas beschäftigt. Mehr aber auch nicht. Bin kein Streamer nur ein Spielkind der sich mit technischen Quatsch beschäftigt :-) Nutze die Air hauptsächlich als Homeofficelampe, die halt automatisch geschaltet wird wenn ich arbeiten muss. Zusammen mit dem Keylight kann ich beides aber auch als Videolicht nutzen für Meetings.

                                Die Frage ist halt was Du willst. GGf wäre sonst eine Bashdatei einfacher für Dich. Etwas javscript Kenntnisse sollten schon vorhanden sein für die Lösung. Schreib mal was Du genau willst dann schauen wir weiter. Und wichtig Log-Ausgabe

                                H 1 Antwort Letzte Antwort
                                0
                                • cashC cash

                                  @hwiedermann Bitte mal in Zeile 1 ein looging = true; und in 2 debugging = true;

                                  Danach sollte Du im Log etwas sehen

                                  Habe mich zwar mit OBS etwas beschäftigt. Mehr aber auch nicht. Bin kein Streamer nur ein Spielkind der sich mit technischen Quatsch beschäftigt :-) Nutze die Air hauptsächlich als Homeofficelampe, die halt automatisch geschaltet wird wenn ich arbeiten muss. Zusammen mit dem Keylight kann ich beides aber auch als Videolicht nutzen für Meetings.

                                  Die Frage ist halt was Du willst. GGf wäre sonst eine Bashdatei einfacher für Dich. Etwas javscript Kenntnisse sollten schon vorhanden sein für die Lösung. Schreib mal was Du genau willst dann schauen wir weiter. Und wichtig Log-Ausgabe

                                  H Offline
                                  H Offline
                                  hwiedermann
                                  schrieb am zuletzt editiert von
                                  #16

                                  @cash
                                  mein LOG bleibt nahezu leer.

                                  93a2ad0a-bfc3-44e3-9bb5-93fd42981057-image.png

                                  und hier mal das Script

                                  4e4b1b3f-3769-45fd-baa5-be251659e12b-image.png

                                  Ich finde den Fehler nicht?!

                                  Den Rest schreibe ich dir sonst mal via PN.

                                  cashC 4 Antworten Letzte Antwort
                                  0
                                  • H hwiedermann

                                    @cash
                                    mein LOG bleibt nahezu leer.

                                    93a2ad0a-bfc3-44e3-9bb5-93fd42981057-image.png

                                    und hier mal das Script

                                    4e4b1b3f-3769-45fd-baa5-be251659e12b-image.png

                                    Ich finde den Fehler nicht?!

                                    Den Rest schreibe ich dir sonst mal via PN.

                                    cashC Offline
                                    cashC Offline
                                    cash
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #17

                                    @hwiedermann sorry bitte noch ein var jeweils vor logging und debugging…

                                    1 Antwort Letzte Antwort
                                    0
                                    • H hwiedermann

                                      @cash
                                      mein LOG bleibt nahezu leer.

                                      93a2ad0a-bfc3-44e3-9bb5-93fd42981057-image.png

                                      und hier mal das Script

                                      4e4b1b3f-3769-45fd-baa5-be251659e12b-image.png

                                      Ich finde den Fehler nicht?!

                                      Den Rest schreibe ich dir sonst mal via PN.

                                      cashC Offline
                                      cashC Offline
                                      cash
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #18

                                      @hwiedermann was passiert eigentlich wenn Du: http://192.168.178.71:9123/elgato/lights im Browser eingibst? Natürlich IP anpassen. Die IP sollte natürlich fest vergeben werden.

                                      1 Antwort Letzte Antwort
                                      0
                                      • H hwiedermann

                                        @cash
                                        mein LOG bleibt nahezu leer.

                                        93a2ad0a-bfc3-44e3-9bb5-93fd42981057-image.png

                                        und hier mal das Script

                                        4e4b1b3f-3769-45fd-baa5-be251659e12b-image.png

                                        Ich finde den Fehler nicht?!

                                        Den Rest schreibe ich dir sonst mal via PN.

                                        cashC Offline
                                        cashC Offline
                                        cash
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #19

                                        @hwiedermann letzte Anmerkung. Das ist aber nicht das ganze Script oder? Ganz unten fehlt noch was… Sonst wird das Script nicht ausgeführt.

                                        1 Antwort Letzte Antwort
                                        0
                                        • H hwiedermann

                                          @cash
                                          mein LOG bleibt nahezu leer.

                                          93a2ad0a-bfc3-44e3-9bb5-93fd42981057-image.png

                                          und hier mal das Script

                                          4e4b1b3f-3769-45fd-baa5-be251659e12b-image.png

                                          Ich finde den Fehler nicht?!

                                          Den Rest schreibe ich dir sonst mal via PN.

                                          cashC Offline
                                          cashC Offline
                                          cash
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #20

                                          @hwiedermann ok, das Beispiel zeigt nicht das komplette Script sondern nur einen Ausschnitt. Bitte in die letzte Zeile also hinter } eine neue Zeile und dort noch func_elgato_schalten();

                                          WestWoodW 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          816

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe