Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Heizungssteuerung mit Siemens-Webserver OZW 672

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Heizungssteuerung mit Siemens-Webserver OZW 672

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

      Natürlich habe ich (mehere Tage) gesucht. Kannst Du mir eventuell einen Beitrag empehlen ? Ich bin für jede Hilfe dankbar.

      1 Reply Last reply Reply Quote 0
      • Dutchman
        Dutchman Developer Most Active Administrators last edited by

        @gerry22:

        Natürlich habe ich (mehere Tage) gesucht. Kannst Du mir eventuell einen Beitrag empehlen ? Ich bin für jede Hilfe dankbar. `

        aber sicher doch 🙂

        http://forum.iobroker.net/viewtopic.php … t=domoticz

        hier mal ein beispiel, das script hat noch ein par abfragen die du sicher nicht brachen wirst aber die basis logic ist da. Melde dich mal ob es hiermit klappt sonst kan man ja immernoch bisschen mehr auf die beine helfen:

        ! ```
        var objekt, results, count_import; // Connect to Domoticz API interface and list all devices try { require("request")('http://192.168.1.152:8080/json.htm?type=devices', function (error, response, results) { objekt = JSON.parse(results); ! log ("ServerTime:"+ objekt.ServerTime); log ("Reading Domoticz device list : " + objekt.status); log("Total amount of Devices found: " + objekt.result.length); ! var i,j; for (i = 0; i < objekt.result.length; i++) { // If received value is On/Off translate to boolean, otherwise use received value if ( objekt.result[i].Data == 'On') { state = true; } else if ( objekt.result[i].Data == 'Off' ) { state = false; } else { state = objekt.result[i].Data; } // Only create states for supported switchtypes if(objekt.result[i].SwitchType == "Push On Button" || objekt.result[i].SwitchType == "Doorbell" || objekt.result[i].SwitchType == "On/Off"){ //Create States for each device createState("domoticz.Devices." + objekt.result[i].Name + '.STATE', { name: objekt.result[i].Name, type: 'boolean', role: 'switch', def: 'false', idx: objekt.result[i].idx, SwitchType: objekt.result[i].SwitchType }); } else { // Error logging for unsupported devices log("Device creation failed not supported yet! DeviceName : " + objekt.result[i].Name + " | SwitchType : " + objekt.result[i].SwitchType + " | Subtype : " + objekt.result[i].SubType); } }}); } catch (e) { console.error(e); }
        ! Edit: Habe es mal ein bisschen vereinfacht siehe hier unten, du musst die URL natuerlich noch anpassen under erst dein token holen wie du bereits geschrieben hast.
        ! Diese script liest den JSON aus und erstellt fuer jeden wert ein object. Beim create state (domoticz.Devices) aendern in die baumstruktur welche due haben moechtest und type/role usw richtig definieren :
        ! `~~[code]~~var objekt, results, count_import;
        // Connect to Domoticz API interface and list all devices
        try {
        require("request")('http://192.168.1.152:8080/json.htm?type=devices', function (error, response, results) {
        objekt = JSON.parse(results);
        ! var i,j;
        for (i = 0; i < objekt.result.length; i++) {
        state = objekt.result[i].Data;
        //Create States for each device
        createState("domoticz.Devices." + objekt.result[i].Name + '.STATE', {
        name: objekt.result[i].Name,
        type: 'boolean',
        role: 'switch',
        def: 'false',
        idx: objekt.result[i].idx,
        SwitchType: objekt.result[i].SwitchType
        });

        }});
        } catch (e) { console.error(e); }`

        ! damit es dan alle 5 minuten laeuft fuegst du einfach ein cron job hinzu:
        ! `~~[code]~~schedule("*/5 * * * *", function () {
        ! // Hier dein code

        });[/code]`

        ! PS: die create state brauchst du eigentlich ja nur einmal aus zu fueren, danach dan ein setstate.
        ! hier mal ein beispiel dazu must du fuer deinen zweck umbauen hier lese ich eine JSON aus der per MQTT reinkommt dus musst es halt aus der URL holen wie in meinem script fuer create bereits beschrieben:
        ! >! [spoiler]`[code]//Read value at update on MQTT trigger
        on({id: 'mqtt.0.domoticz.out', change: "any"}, function (obj) {
        var value = obj.state.val;
        ! //Get Value & translate to data point
        var state;
        var device;
        var channel;

        //JSON values to memory
        try {
        obj = JSON.parse(getState('mqtt.0.domoticz.out').val);
        } catch (e) {
        console.error('Cannot parse: ' + getState('mqtt.0.domoticz.out').val);
        return;
        }
        channel = obj.idx;
        state = obj.nvalue;
        device = obj.name;

        ! //Log values
        log(channel);
        log(device);
        log(state);
        ! //Create states
        createState('domoticz.' + channel, {
        name: device,
        type: 'number',
        role: 'switch',
        });
        ! //Update state with value from MQTT
        setState('javascript.0.domoticz.' + channel, state, true);
        // setState("javascript.0.domoticz.Contact_Doos_2"/7/, '0');
        ! // log(device);
        // log(state);
        // log(device);
        // log(state);
        });[/code]`[/spoiler]
        ! das sind so par code schnippel die ich dazu noch habe :)[/i][/i][/i][/i][/i][/code][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]

        1 Reply Last reply Reply Quote 0
        • G
          gerry22 last edited by

          Vielen Dank, aber das übersteigt meine Fähigkeiten bei weitem. Ich schaffe es nichtmal die URL anzupassen.Geschweige denn das komplette Skript ändern.

          Bisher hole ich mir mit diesem Skript:

          ! var request = require("request");
          ! // JSON zum testen
          ! var myJson = {"SessionId": "2f70baf0-fd1f-4a86-83b8-135b2da1fba7",};
          ! var llog = true; // loging ein/aus (true/false)
          ! // url der auslzulesenden Daten
          ! var url = 'http://192.168.178.58/api/auth/login.js … Password.2';
          ! // in welchem Zeitintervall soll die ABfrage wiederholt werden
          ! var zeitintervall = "*/1 * * * *"; // alle 1 Minuten die Abfrage wiederholen
          ! // Pfad der Datenpunkte innerhalb der Javascriptinstanz
          ! var pfad = "Heizung" + ".";
          ! // Datenpunkte
          ! var SessionId = pfad + "SessionId";
          ! createState(SessionId, 0, {
          ! name: 'SessionId',
          ! desc: 'SessionId',
          ! type: 'string',
          ! role: 'value',
          ! unit: ''
          ! });
          ! function parseJson(text) {
          ! if (text === "") return {};
          ! try {
          ! json = JSON.parse(text);
          ! } catch (ex) {
          ! json = {};
          ! }
          ! if(!json) json = {};
          ! return json;
          ! }
          ! function readJson(url, callback) {
          ! request(url, function (err, state, body){
          ! if (body) {
          ! var json = parseJson(body);
          ! callback(null, json);
          ! } else {
          ! var error = "(" + err + ") ERROR bei Abfrage von: " + url;
          ! log(error, "warn");
          ! callback(error, null);
          ! }
          ! });
          ! }
          ! function jsonInDatenpunkteSchreiben(myJson) {
          ! if (llog) log("SessionId: " + myJson.SessionId,"info");
          ! setState(SessionId ,myJson.SessionId);
          ! }
          ! function main() {
          ! readJson(url, function(err,json) {
          ! if(!err) {
          ! jsonInDatenpunkteSchreiben (json);
          ! } else {
          ! log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","warn");
          ! }
          ! });
          ! }
          ! // zeitlich die Abfrage wiederhohlen
          ! schedule(zeitintervall, function () {
          ! main();
          ! });
          ! // Beim Skriptstart die Werte abfragen
          ! setTimeout(main,2000);
          ! //setTimeout(jsonInDatenpunkteSchreiben (myJson),2000); // zum Testen des Beispiel-JSONs

          die SessionID, welche dann als Objekt unter Heizung gespeichert wird.

          Aber wie bekomme ich diese SessionID dann in die URL des 2. Skript zur Abfrage der einzelnen Werte?

          Ich stelle mir das eigentlich so vor:

          1. Variablen für die URL, die SessionID und die Datenpunkte anlegen.

          // url der auslzulesenden Daten (ohne SessionID und DatenpunktID)

          var url = 'https://192.168.178.58/api/menutree/read_datapoint.json?';

          // SessionID

          var SessionID = "?????? SessionID, welche als Objekt unter Heizung-SessionID gespeichert ist ";

          // in welchem Zeitintervall soll die Abfrage wiederholt werden

          var zeitintervall = "*/5 * * * *"; // alle 10 Minuten die Abfrage wiederholen

          // Pfad der Datenpunkte innerhalb der Javascriptinstanz

          var pfad = "Heizung" + ".";

          // Datenpunkte

          var id1143 = pfad + "Aussentemperatur";

          var id556 = pfad + "Betriebsart Heizkreis 1";

          var id1112 = pfad + "Gesamte Gasenergie";

          var id866 = pfad + "Fehlermeldung";

          2. Objekte für die einzelnen Datenpunkte anlegen

          createState(id1143, 0, {

          name: 'Aussentemperatur',

          desc: 'Aussentemperatur',

          type: 'Numeric',

          role: 'value',

          unit: '°C'

          });

          createState(id556, "init", {

          name: 'Betriebsart Heizkreis 1',

          desc: 'Betriebsart Heizkreis 1',

          type: 'string',

          role: 'value',

          unit: ''

          });

          createState(id1112, 0, {

          name: 'Gesamte Gasenergie',

          desc: 'Gesamte Gasenergie',

          type: 'Numeric',

          role: 'value',

          unit: 'kWh'

          });

          createState(id866, "init", {

          name: 'Fehlermeldung',

          desc: 'Fehlermeldung',

          type: 'string',

          role: 'value',

          unit: ''

          });

          Weiter komme ich leider nicht.

          Wie kann ich nun die Datenpunkte nacheinander abfragen?

          Die Abfrage URL muss für jeden Datenpunkt geändert werden.

          z.B. Aussentemperatur "https://192.168.178.58/api/menutree/rea … .json?Hier muss die SessionID hin & hier die DatenpunktID"

          Dann muss noch alles mit setState in die Objekte geschrieben werden.

          1 Reply Last reply Reply Quote 0
          • Dutchman
            Dutchman Developer Most Active Administrators last edited by

            Kannst du mal alle Links schicken und die Ausgabe der JSON diebdar raus kommt Dan schnipple ich Mal rum.

            Mi der URL hast du richtig verstanden, Variable anlegen da Die Session ID drin speichern und Dan die Variable in URL verwenden

            Gibt Mal 2 a 3 URLs der Datenpunkte und wie die Ausgabe in deinem Browser aussieht

            ~Dutch

            –-----------------------

            Send from mobile device

            1 Reply Last reply Reply Quote 0
            • G
              gerry22 last edited by

              Hallo Dutch

              schaue mal bitte im meinen ersten Beitrag

              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                @gerry22:

                Hallo Dutch

                schaue mal bitte im meinen ersten Beitrag `

                Hi Gerry,

                immer biscchen schwer zu debuggen ohne das geraet zu haben :/, probier mal bitte ob du so die session ID ins log bekommst dan koennen wir darauf weiterbauen.

                Die variable username und password musst du natuerlich setzen:

                schedule("*/1 * * * *", function () {
                
                    //Username und password variable setzen
                    var username = "deinusername";
                    var password = "deinpassword";
                    var sessionID;
                
                    //URL request fuer die session ID
                    try {
                        require("request")('https://192.168.178.58/api/auth/login.json?user=' + username + '&pwd=' + password, function (error, response, results) {
                        objekt = JSON.parse(results);
                        });
                
                        //Session ID in variable speichern
                        sessionID = object.SessionId;
                        //Session ID ins log schreiben
                        log (sessionID);
                
                        } catch (e) { console.error(e); }
                });
                
                

                das script sollte eigentlich jede minute die URL aufrufen und die session ID ins log schreiben

                wen das dan geht koennen wir die session ID spaeter wieder in der URL benutzen, zb:

                        //Benutze die session ID fuer andere URL abfragen
                        try {
                        require("request")('192.168.178.58/api/menutree/read_datapoint.json?SessionId=' + sessionID, function (error, response, results) {
                        objekt = JSON.parse(results);
                        });
                
                        } catch (e) { console.error(e); }
                
                
                1 Reply Last reply Reply Quote 0
                • G
                  gerry22 last edited by

                  Ich bekomme folgende Fehlermeldung(in rot): 21:37:01.003 [error] javascript.0 script.js.Skript4: ReferenceError: object is not defined

                  1 Reply Last reply Reply Quote 0
                  • Dutchman
                    Dutchman Developer Most Active Administrators last edited by

                    @gerry22:

                    Ich bekomme folgende Fehlermeldung(in rot): 21:37:01.003 [error] javascript.0 script.js.Skript4: ReferenceError: object is not defined `

                    ups schnellheitsfehler, bitte nochmal mit:

                    schedule("*/1 * * * *", function () {
                        var objekt;
                    
                        //Username und password variable setzen
                        var username = "deinusername";
                        var password = "deinpassword";
                        var sessionID;
                    
                        //URL request fuer die session ID
                        try {
                            require("request")('https://192.168.178.58/api/auth/login.json?user=' + username + '&pwd=' + password, function (error, response, results) {
                            objekt = JSON.parse(results);
                            });
                    
                            //Session ID in variable speichern
                            sessionID = object.SessionId;
                            //Session ID ins log schreiben
                            log (sessionID);
                    
                            } catch (e) { console.error(e); }
                    
                    });
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • G
                      gerry22 last edited by

                      Gleiche Fehlermeldung - Muss oben eventuell "var object;" stehen ?

                      Aber auch dann kommt eine Fehlermeldung : [error] javascript.0 script.js.Skript5: TypeError: Cannot read property 'SessionId' of undefined

                      1 Reply Last reply Reply Quote 0
                      • Dutchman
                        Dutchman Developer Most Active Administrators last edited by

                        @gerry22:

                        Gleiche Fehlermeldung - Muss oben eventuell "var object;" stehen ?

                        Aber auch dann kommt eine Fehlermeldung : [error] javascript.0 script.js.Skript5: TypeError: Cannot read property 'SessionId' of undefined `

                        ich werde alt… in reihe 16 ein schreibfeher, sessionID = object.SessionId; muss sein sessionID = objekt.SessionId;

                        var objekt hatte ich ja schon eingefuegt das war vorhin der fehler 🙂

                        nochmal:

                        schedule("*/1 * * * *", function () {
                            var objekt;
                        
                            //Username und password variable setzen
                            var username = "deinusername";
                            var password = "deinpassword";
                            var sessionID;
                        
                            //URL request fuer die session ID
                            try {
                                require("request")('https://192.168.178.58/api/auth/login.json?user=' + username + '&pwd=' + password, function (error, response, results) {
                                objekt = JSON.parse(results);
                                });
                        
                                //Session ID in variable speichern
                                sessionID = objekt.SessionId;
                                //Session ID ins log schreiben
                                log (sessionID);
                        
                                } catch (e) { console.error(e); }
                        
                        });
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • G
                          gerry22 last edited by

                          Leider wieder eine Fehlermeldung : [error] javascript.0 script.js.Skript6: TypeError: Cannot read property 'SessionId' of undefined

                          1 Reply Last reply Reply Quote 0
                          • Dutchman
                            Dutchman Developer Most Active Administrators last edited by

                            @gerry22:

                            Leider wieder eine Fehlermeldung : [error] javascript.0 script.js.Skript6: TypeError: Cannot read property 'SessionId' of undefined ` ]

                            die generierte URL stimmer aber hoffe ich, mach mal:

                            schedule("*/1 * * * *", function () {
                                var objekt;
                            
                                //Username und password variable setzen
                                var username = "deinusername";
                                var password = "deinpassword";
                                var sessionID;
                            
                                log('https://192.168.178.58/api/auth/login.json?user=' + username + '&pwd=' + password);
                            
                            });
                            
                            

                            und gebe das resultat in deinem browser ein, dan muesstest du die ausgabe in deinem browser bekommen:

                                {
                            
                                   "SessionId": "zuefaelligeID",
                            
                                    "Result": {
                                      "Success": "true"
                                    }
                                }
                            
                            
                            1 Reply Last reply Reply Quote 0
                            • G
                              gerry22 last edited by

                              Ich bekomme das````
                              {

                              "SessionId": "895ef41c-cd0f-4468-b88f-3a9e1a66576d",
                              
                              "Result": {
                              	"Success": "true"
                              }
                              

                              }

                              
                              Es wurde dieser Link erzeugt: javascript.0 script.js.Skript7: [https://192.168.178.58/api/auth/login.j … Password.2](https://192.168.178.58/api/auth/login.json?user=Administrator2&amp;pwd=Password.2)
                              
                              Username (Administrator2) und Passwort (Password.2) stimmen
                              1 Reply Last reply Reply Quote 0
                              • Dutchman
                                Dutchman Developer Most Active Administrators last edited by

                                Ok morgen weiter da stimmt was nicht in meine parse Script 😕

                                Ist halt schwer blind zu Coden 🙂

                                –-----------------------

                                Send from mobile device

                                1 Reply Last reply Reply Quote 0
                                • G
                                  gerry22 last edited by

                                  Ich glaube das ich den Fehler gefunden habe.

                                  Wenn ich//Session ID in variable speichern sessionID = object.SessionId; //Session ID ins log schreiben log (sessionID);direkt unter````
                                  objekt = JSON.parse(results);

                                  
                                  Hier nochmal das komplette Script mit ein paar Test-log`s````
                                  schedule("*/1 * * * *", function () {
                                      var objekt;
                                  
                                      //Username und password variable setzen
                                      var username = "Admin3";
                                      var password = "Password_3";
                                      var sessionId;
                                  
                                      //(TEST)
                                      log('http://192.168.178.58/api/auth/login.json?user=' + username + '&pwd=' + password);
                                  
                                      //URL request fuer die session ID
                                      try {
                                          require("request")
                                          ('http://192.168.178.58/api/auth/login.json?user=' + username + '&pwd=' + password, function (error, response, results) {
                                          objekt = JSON.parse(results);
                                  
                                      //(TEST)results ins log schreiben    
                                          log (results);
                                  
                                      //Session ID in variable speichern    
                                          sessionId = objekt.SessionId;
                                  
                                      //Session ID ins log schreiben    
                                          log (sessionId);
                                  
                                      //(TEST)URL zur Json-Abfrage der Außentemperatur (Id=1143) erzeugen
                                          log('http://192.168.178.58/api/menutree/read_datapoint.json?sessionId=' + sessionId + '&Id=1143'); 
                                  
                                          });
                                  
                                          } catch (e) { console.error(e); }
                                  
                                  });
                                  ````Und hier die Log-Datei:  ` > 00:10:00.593 [info] javascript.0 Start javascript script.js.test32
                                  > 
                                  > 00:10:00.594 [info] javascript.0 script.js.test32: registered 0 subscriptions and 1 schedule
                                  > 
                                  > 00:10:00.594 [info] javascript.0 script.js.test32: [http://192.168.178.58/api/auth/login.js … Password_3](http://192.168.178.58/api/auth/login.json?user=Admin3&amp;pwd=Password_3)
                                  > 
                                  > 00:10:01.681 [info] javascript.0 script.js.test32: { "SessionId": "1cb30bc6-ea9f-43d7-878d-afda7943a5a1", "Result": { "Success": "true" } }
                                  > 
                                  > 00:10:01.683 [info] javascript.0 script.js.test32: 1cb30bc6-ea9f-43d7-878d-afda7943a5a1
                                  > 
                                  > 00:10:01.683 [info] javascript.0 script.js.test32: [http://192.168.178.58/api/menutree/read … a1&amp;Id=1143](http://192.168.178.58/api/menutree/read_datapoint.json?sessionId=1cb30bc6-ea9f-43d7-878d-afda7943a5a1&amp;Id=1143)
                                  > 
                                  > 00:10:37.880 [info] javascript.0 Stop script script.js.test32 `  
                                  
                                  Aber leider funktioniert die erzeugte URL zur Abfrage des Datenpunktes nicht. Ich erhalte eine "session not valid" Meldung.
                                  1 Reply Last reply Reply Quote 0
                                  • Dutchman
                                    Dutchman Developer Most Active Administrators last edited by

                                    ehm ja du hast den fehler gefunden war auch bloede von mir um die log variable auserhalb der function ab zu fragen das kan natuerlich nicht gehen 😕

                                    warum jezt aber die meldung "session not valid" kommt ist mor nicht ganz klar, eventuell kan man dieselbe session ID nicht abfragen UND im browser aufrufen

                                    was passiert den wen du einfach in der function die abfrager der URL zur temperatur hinzufuegst, dieser code hier sollte das machen.

                                    Ist eine erweiterung deines codes mit abfrage der URL temperatur und schreiber der varible value aus der JSON ins log:

                                    schedule("*/1 * * * *", function () {
                                        var objekt;
                                    
                                        //Username und password variable setzen
                                        var username = "Admin3";
                                        var password = "Password_3";
                                        var sessionId;
                                    	var value
                                    
                                        //(TEST)
                                        log('http://192.168.178.58/api/auth/login.json?user=' + username + '&pwd=' + password);
                                    
                                        //URL request fuer die session ID
                                        try {
                                            require("request")
                                            ('http://192.168.178.58/api/auth/login.json?user=' + username + '&pwd=' + password, function (error, response, results) {
                                            objekt = JSON.parse(results);
                                    
                                        //(TEST)results ins log schreiben    
                                            log (objekt);
                                    
                                        //Session ID in variable speichern    
                                            sessionId = objekt.SessionId;
                                    
                                        //Session ID ins log schreiben    
                                            log (sessionId);
                                    
                                        //(TEST)URL zur Json-Abfrage der Außentemperatur (Id=1143) erzeugen
                                            log('http://192.168.178.58/api/menutree/read_datapoint.json?sessionId=' + sessionId + '&Id=1143'); 
                                    
                                    	// URL der Temperatur abfragen und in eine variable schreiben	
                                    		require("request")
                                    		('http://192.168.178.58/api/menutree/read_datapoint.json?sessionId=' + sessionId + '&Id=1143'){
                                    		objekt = JSON.parse(results);
                                    		value = objekt.Value;
                                    
                                    		log (objekt)
                                    		log(value)
                                    
                                    		}});
                                    
                                            } catch (e) { console.error(e); }
                                    
                                    });
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • G
                                      gerry22 last edited by

                                      Leider wieder ein error.
                                      ` > Log

                                      13:23:14.920 [info] javascript.0 Start javascript script.js.test33

                                      13:23:14.921 [error] javascript.0 script.js.test33 compile failed: SyntaxError: Unexpected token { `

                                      1 Reply Last reply Reply Quote 0
                                      • Dutchman
                                        Dutchman Developer Most Active Administrators last edited by

                                        hatte einen fehler in der request function, nochmal:

                                        schedule("*/1 * * * *", function () {
                                            var objekt;
                                        
                                            //Username und password variable setzen
                                            var username = "Admin3";
                                            var password = "Password_3";
                                            var sessionId;
                                            var value;
                                        
                                            //(TEST)
                                            log('http://192.168.178.58/api/auth/login.json?user=' + username + '&pwd=' + password);
                                        
                                            //URL request fuer die session ID
                                            try {
                                                require("request")
                                                ('http://192.168.178.58/api/auth/login.json?user=' + username + '&pwd=' + password, function (error, response, results) {
                                                objekt = JSON.parse(results);
                                        
                                            //(TEST)results ins log schreiben    
                                                log (objekt);
                                        
                                            //Session ID in variable speichern    
                                                sessionId = objekt.SessionId;
                                        
                                            //Session ID ins log schreiben    
                                                log (sessionId);
                                        
                                            //(TEST)URL zur Json-Abfrage der Außentemperatur (Id=1143) erzeugen
                                                log('http://192.168.178.58/api/menutree/read_datapoint.json?sessionId=' + sessionId + '&Id=1143'); 
                                        
                                            // URL der Temperatur abfragen und in eine variable schreiben
                                                require("request")
                                                ('http://192.168.178.58/api/menutree/read_datapoint.json?sessionId=' + sessionId + '&Id=1143', function (error, response, results){
                                                   objekt = JSON.parse(results);
                                                   value = objekt.Value;
                                        
                                                   log (objekt);
                                                   log(value);
                                        
                                                });
                                        
                                                });
                                        
                                                } catch (e) { console.error(e); }
                                        
                                        });
                                        
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • G
                                          gerry22 last edited by

                                          ` > Log

                                          13:58:33.457 [info] javascript.0 Start javascript script.js.test34

                                          13:58:33.458 [info] javascript.0 script.js.test34: registered 0 subscriptions and 1 schedule

                                          13:59:00.463 [info] javascript.0 script.js.test34: http://192.168.178.58/api/auth/login.js … Password_3

                                          13:59:01.471 [info] javascript.0 script.js.test34: [object Object]

                                          13:59:01.472 [info] javascript.0 script.js.test34: 6e35b358-92a5-4e38-ba99-636db9829d64

                                          13:59:01.472 [info] javascript.0 script.js.test34: http://192.168.178.58/api/menutree/read … 64&Id=1143

                                          13:59:01.525 [info] javascript.0 script.js.test34: [object Object]

                                          13:59:01.526 [info] javascript.0 script.js.test34: undefined

                                          13:59:06.980 [info] javascript.0 Stop script script.js.test34 `

                                          1 Reply Last reply Reply Quote 0
                                          • G
                                            gerry22 last edited by

                                            Ich habe unten mal ein````
                                            log (results);

                                            
                                            Leider erhalte ich den "valid"-Fehler.
                                            

                                            Log
                                            14:47:49.788 [info] javascript.0 Stop script script.js.test34
                                            14:47:50.050 [info] javascript.0 Start javascript script.js.test34
                                            14:47:50.051 [info] javascript.0 script.js.test34: registered 0 subscriptions and 1 schedule
                                            14:48:00.173 [info] javascript.0 script.js.test34: http://192.168.178.58/api/auth/login.json?user=Admin3&pwd=Password_3
                                            14:48:01.068 [info] javascript.0 script.js.test34: [object Object]
                                            14:48:01.070 [info] javascript.0 script.js.test34: 1c8248fb-ead5-40db-8304-99e536d23193
                                            14:48:01.070 [info] javascript.0 script.js.test34: http://192.168.178.58/api/menutree/read_datapoint.json?sessionId=1c8248fb-ead5-40db-8304-99e536d23193&Id=1143
                                            14:48:01.126 [info] javascript.0 script.js.test34: { "Result": { "Success": "false", "Error": { "Txt": "session not valid", "Nr": "2" } } }
                                            14:48:01.128 [info] javascript.0 script.js.test34: [object Object]
                                            14:48:01.128 [info] javascript.0 script.js.test34: undefined

                                            
                                            Auf der CCU2 hole ich die SessionId so:````
                                            var url = "https://192.168.178.58/api/auth/login.json?user=Administrator&pwd=Password.2";
                                            dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q --no-check-certificate -O - '"#url#"'");
                                            dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
                                            string srueck = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
                                            ! if ( (srueck.Find("false") == -1) && (srueck) ) {
                                            string tmpa  = srueck.StrValueByIndex(",",0).StrValueByIndex(":",1);
                                            string sSID = tmpa.Substr(2, tmpa.Length()-3);
                                            WriteLine(" SessionID erfolgreich geholt:"#sSID);
                                            

                                            Wenn ich es hier mit ioBroker nicht hinbekomme dann muss ich das Script wohl auf der CCU2 weiter laufen lassen und die SessionId von dort an ioBroker übergeben. Das müsste doch gehen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            844
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            26
                                            4284
                                            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