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. Heizungssteuerung mit Siemens-Webserver OZW 672

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    973

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Heizungssteuerung mit Siemens-Webserver OZW 672

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
26 Beiträge 2 Kommentatoren 4.5k Aufrufe
  • Ä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.
  • G Offline
    G Offline
    gerry22
    schrieb am zuletzt editiert von
    #17

    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&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&Id=1143](http://192.168.178.58/api/menutree/read_datapoint.json?sessionId=1cb30bc6-ea9f-43d7-878d-afda7943a5a1&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 Antwort Letzte Antwort
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      schrieb am zuletzt editiert von
      #18

      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 Antwort Letzte Antwort
      0
      • G Offline
        G Offline
        gerry22
        schrieb am zuletzt editiert von
        #19

        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 Antwort Letzte Antwort
        0
        • DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          schrieb am zuletzt editiert von
          #20

          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 Antwort Letzte Antwort
          0
          • G Offline
            G Offline
            gerry22
            schrieb am zuletzt editiert von
            #21

            ` > 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 Antwort Letzte Antwort
            0
            • G Offline
              G Offline
              gerry22
              schrieb am zuletzt editiert von
              #22

              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 Antwort Letzte Antwort
              0
              • DutchmanD Offline
                DutchmanD Offline
                Dutchman
                Developer Most Active Administrators
                schrieb am zuletzt editiert von
                #23

                Es liegt nicht am ioBroker sondern unserer Dummheit ;)

                Ich verstehe nur nicht wo der Fehler liegt die Session ID sieht ok aus, trotzdem schluckt er die nicht

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

                Send from mobile device

                1 Antwort Letzte Antwort
                0
                • DutchmanD Offline
                  DutchmanD Offline
                  Dutchman
                  Developer Most Active Administrators
                  schrieb am zuletzt editiert von
                  #24

                  Probier Mal objekt.Data.Value anstatt Objekt.Value

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

                  Send from mobile device

                  1 Antwort Letzte Antwort
                  0
                  • G Offline
                    G Offline
                    gerry22
                    schrieb am zuletzt editiert von
                    #25

                    Ich habe bei der zweiten Abfrage die Apostroph durch Anführungszeichen ersetzt.````
                    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);
                           log (results);
                    
                           value = objekt.Data.Value;
                    
                           log(value);
                    
                        });
                    
                        });
                    
                        } catch (e) { console.error(e); }
                    

                    });

                    ergibt folgendes Log:
                      ` > Log
                    > 
                    > 01:14:10.660 [info] javascript.0 Start javascript script.js.test40
                    > 
                    > 01:14:10.661 [info] javascript.0 script.js.test40: registered 0 subscriptions and 1 schedule
                    > 
                    > 01:15:00.661 [info] javascript.0 script.js.test40: [http://192.168.178.58/api/auth/login.js … Password_3](http://192.168.178.58/api/auth/login.json?user=Admin3&pwd=Password_3)
                    > 
                    > 01:15:01.563 [info] javascript.0 script.js.test40: [object Object]
                    > 
                    > 01:15:01.564 [info] javascript.0 script.js.test40: 04b3cec8-5e9b-4792-95c1-85dbfdd7cf0d
                    > 
                    > 01:15:01.565 [info] javascript.0 script.js.test40: [http://192.168.178.58/api/menutree/read … 0d&Id=1143](http://192.168.178.58/api/menutree/read_datapoint.json?sessionId=04b3cec8-5e9b-4792-95c1-85dbfdd7cf0d&Id=1143)
                    > 
                    > 01:15:01.894 [info] javascript.0 script.js.test40: { "Data": { "Type": "Numeric", "Value": " 14.2", "Unit": "°C" }, "Result": { "Success": "true" } }
                    > 
                    > 01:15:01.897 [info] javascript.0 script.js.test40: 14.2
                    > 
                    > 01:15:08.812 [info] javascript.0 Stop script script.js.test40 ` 
                    1 Antwort Letzte Antwort
                    0
                    • DutchmanD Offline
                      DutchmanD Offline
                      Dutchman
                      Developer Most Active Administrators
                      schrieb am zuletzt editiert von
                      #26

                      Und siehe da im Log steht jetzt auch der Wert 14.2 also geschafft !

                      01:15:01.897 [info] javascript.0 script.js.test40: 14.2

                      Als nästen Schritt wolltest du das jetzt in ein object schreiben und dan alle x Minuten Update ?

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

                      Send from mobile device

                      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

                      345

                      Online

                      32.6k

                      Benutzer

                      82.2k

                      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