Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. andre1979

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    A
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 3
    • Best 0
    • Groups 0

    andre1979

    @andre1979

    0
    Reputation
    15
    Profile views
    3
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    andre1979 Follow

    Latest posts made by andre1979

    • RE: JSON Werte in Datenpunkte

      So, habe noch etwas rum probiert und habe es hinbekommen.

      `var request = require('request');
      
       Intervall = setInterval(SendRequest,1000);
      
      function SendRequest(){
      
          var options = {
              url: 'https://home.sensibo.com/api/v2/pods/2mXar2sZ/acStates?apiKey=rBQm5j58LKw76FrUzLIU5KhgYoP2Rz',
          };
      
          request(options, function (error, response, body){
      
              if (!error){
                  CreateDevices(JSON.parse(body));
                  console.log(body);
              }
      
              else{ console.error(error);}
      
          });
      
      }//End of Function SendRequest
      
      function CreateDevices(data){
      
      if ("undefined" !== typeof  data.result){    
      
          for (i = 0; i < data.result.length; i++) {
      
                       for (var ObjName in data.result[i].acState) {
      
                           if (!getObject('javascript.0.KlimaEsszimmer.States.' +i +'.acState' +'.' +ObjName)){
      
                               createState('javascript.0.KlimaEsszimmer.States.' +i +'.acState' +'.' +ObjName,data.result[i].acState[ObjName],{type: typeof data.result[i].acState[ObjName], role: ObjName});
      
                               console.log('ERSTELLT');
                           }
      
                           else{setState('javascript.0.KlimaEsszimmer.States.' +i +'.acState' + '.' +ObjName,data.result[i].acState[ObjName],akt=true)}
                       }
          }
      }
      else{console.warn('Response in JSON nicht gefunden ! ')}
      
      }//End of Function CreateDevices`[/i][/i][/i][/i]
      
      posted in Skripten / Logik
      A
      andre1979
    • RE: JSON Werte in Datenpunkte

      Hallo Ruhr70,

      vielen Dank für deine Erklärung. Wie Du dir vielleicht vorstellen kannst, bin ich jetzt als Nicht-Profi nicht wirklich in der Lage Dir zu folgen.. 😄

      Wenn möglich kannst Du mir die Stellen, an den die Änderung hin muss in meinem Script markieren. Wenn ich genau wüsste wo die Änderung hin muss, kann ich es bestimmt auch besser nachvollziehen.

      Vielen Dank schon mal für deinen Support!

      posted in Skripten / Logik
      A
      andre1979
    • JSON Werte in Datenpunkte

      Hallo Leute,

      ich lese hier schon sehr lange mit und habe bis jetzt fast alle Probleme mit Hilfe des Forums lösen können.

      Jetzt stehe ich an einer Sache an und komme nicht weiter, daher habe ich mich jetzt mal angemeldet unf hoffe ihr könnt mir ein wenig helfen…

      Nun zum Problem:

      Ich nutze für eine meiner Klimaanlagen einen Sensibo Sky Adapter. Es ist möglich die aktuellen Einstellung über eine URL abzufragen. Das klappt soweit auch. Was leider nicht klappt, ist das zerlegen in die einzelnen Datenpunkte...

      Hier die Antwort der URL in einem Browser:

      {"status": "success", "moreResults": true, "result": [{"status": "Success", "reason": "UserRequest", "acState": {"on": false, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["on"], "id": "YfW8tx7HND", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["targetTemperature"], "id": "AjGJjSuvHX", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 77, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 25, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["targetTemperature"], "id": "jdrfSqMWYD", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["on"], "id": "HQvfSiJosK", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": false, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["on"], "id": "LxE4dT59Hb", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["on"], "id": "wmPZngxUuY", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": false, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["on"], "id": "gf4Ye7waWu", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["on"], "id": "DsXUNFuh8m", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": false, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["on"], "id": "D5KratY3vr", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["fanLevel"], "id": "JE4DhCUodg", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "medium", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["fanLevel"], "id": "fy2E7fVLMz", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "medium_low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["fanLevel"], "id": "wbxgs2QKFX", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["swing"], "id": "F8FYwDyhnr", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "stopped"}, "changedProperties": ["swing"], "id": "vzFJx2sNia", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "fixedTop"}, "changedProperties": ["swing"], "id": "s8MKwEBf2v", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "fixedMiddleTop"}, "changedProperties": ["swing"], "id": "wDis4aUxvw", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "fixedMiddle"}, "changedProperties": ["swing"], "id": "AR5krPydeZ", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "fixedMiddleBottom"}, "changedProperties": ["swing"], "id": "rEWXkbNrhN", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "fixedBottom"}, "changedProperties": ["swing"], "id": "sdVjPCnGbE", "failureReason": null}, {"status": "Success", "reason": "UserRequest", "acState": {"on": true, "nativeTargetTemperature": 75, "fanLevel": "low", "temperatureUnit": "C", "targetTemperature": 24, "nativeTemperatureUnit": "F", "mode": "cool", "swing": "rangeFull"}, "changedProperties": ["swing"], "id": "YKJemgmtE5", "failureReason": null}]}
      

      Hier das Script, es werden aber keine Datenpunkte erstellt…

      `var request = require('request');
      
       Intervall = setInterval(SendRequest,10000);
      
      function SendRequest(){
      
          var options = {
              url: 'https://home.sensibo.com/api/v2/pods/2mXar2sZ/acStates?apiKey=rBQm5j58LKw76FrUzLIU5KhgYoP2Rz',
          };
      
          request(options, function (error, response, body){
      
              if (!error){
                  CreateDevices(JSON.parse(body));
                  console.log(body);
              }
      
              else{ console.error(error);}
      
          });
      
      }//End of Function SendRequest
      
      function CreateDevices(data){
      
      if ("undefined" !== typeof  data.response){    
      
          var Group_by='name';
      
          for (i = 0; i < data.response.length; i++) {
      
                       for (var ObjName in data.response[i]) {
      
                           if (!getObject('javascript.0.tests.Devices.'+data.response[i][Group_by].toString().replace(/\s+/g, '_')+'.'+ObjName)){
      
                               createState('javascript.0.tests.Devices.'+data.response[i][Group_by].toString().replace(/\s+/g, '_')+'.'+ObjName,data.response[i][ObjName],{type: typeof data.response[i][ObjName], role: ObjName});
      
                               console.log('ERSTELLT');
                           }
      
                           else{setState('javascript.0.tests.Devices.'+data.response[i][Group_by].toString().replace(/\s+/g, '_')+'.'+ObjName,data.response[i][ObjName],akt=true)}
                       }
          }
      }
      else{console.warn('Response in JSON nicht gefunden ! ')}
      
      }//End of Function CreateDevices` 
      
      Das Problem ist, das in "function CreateDevices(data)" direkt zu "else{console.warn('Response in JSON nicht gefunden ! ')}" geht und in den Log eingetragen wird. Datenpunkte werden keine erstellt..
      
      Für mich sind momentan nur die Werte aus result/0/ wichtig, da dies die aktuellen Sollwerte sind.
      
      Wäre super, wenn ihr mir einen Tipp geben könnt, warum mein Script nicht geht....
      
      Vielen Dank im Voraus an die Community![/i][/i][/i][/i][/i][/i][/i]
      
      posted in Skripten / Logik
      A
      andre1979
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo