NEWS
rejectUnauthorized: false funktioniert nicht mehr
-
Hallo,
nachdem ich den JS Apdapter heute aktualisiert habe funktioniert der auf
const request = require('request').defaults({ rejectUnauthorized: false });
nicht mehr. Das hier ist der Fehler im Log:
javascript.0 2020-06-04 15:53:48.773 error (15278) TypeError: require(...).defaults is not a function
javascript.0 2020-06-04 15:53:48.773 error (15278) ^
javascript.0 2020-06-04 15:53:48.773 error (15278) const request = require('request').defaults({ rejectUnauthorized: false });Hier mal das ganze Script. Bitte nicht gleich verhauen bin total unerfahren in Javascript.
const request = require('request').defaults({ rejectUnauthorized: false }); const klemmen = $('My_Devices.0.Digitalstrom.Klemmen.*'); var dssip = getState("My_Devices.0.Digitalstrom.Server.IP-Adresse").val; var dssport = getState("My_Devices.0.Digitalstrom.Server.Port").val; var dssappltoken = getState("My_Devices.0.Digitalstrom.Token.Applicationtoken").val; on({id: /^My_Devices.0.Digitalstrom.Räume..+.Light/, change: "any"}, function (obj) { var value = obj.state.val; var zone = obj.id.replace("My_Devices.0.Digitalstrom.Räume.", "").replace(".Light","") var name = obj.name console.log(`ID = ${zone}, Room = ${name}, State = ${value}`); request(`https://${dssip}:${dssport}/json/system/loginApplication?loginToken=${dssappltoken}`, { json: true}, (err, res, body) => { if (err) { return console.log(err); } var sessiontoken = body.result.token; console.log(`SessionToken = ${sessiontoken}`); request(`https://${dssip}:${dssport}/json/property/query?query=/apartment/zones/*(ZoneID, name)/groups/group1(lastCalledScene)&token=${sessiontoken}`, { json: true }, (err, res, body) => { //console.log(body.result); var Zones = body.result.zones; // Zones.length - 1 because last Zone is empty console.log(`Zone Count = ${Zones.length - 1}`); for(var zonecounter=0; zonecounter < Zones.length - 1; zonecounter++){ var ZoneID = Zones[zonecounter].ZoneID var Room = Zones[zonecounter].name var lastCalledScene = (Zones[zonecounter].group1[0].lastCalledScene) //console.log(`ZoneID = ${ZoneID}`); //console.log(`Room = ${Room}`); //console.log(`lastCalledScene = ${lastCalledScene}`); setState(`My_Devices.0.Digitalstrom.Räume.${ZoneID}.lastCalledScene`,lastCalledScene) console.log(`Reading from DSServer lastCalledScene Value : ${lastCalledScene} of RoomID : ${ZoneID} `) }; }); if(value == true) { try { console.log(`https://${dssip}:${dssport}/json/zone/callScene?id=${zone}&groupID=1&sceneNumber=5&force=true&token=${sessiontoken}`) request({url: `https://${dssip}:${dssport}/json/zone/callScene?id=${zone}&groupID=1&sceneNumber=5&force=true&token=${sessiontoken}`}, function(error, response, body) { console.log(body); //setState(`My_Devices.0.Digitalstrom.Räume.${ZoneID}.lastCalledScene`,5) console.log(`Setting lastCalledScene to 5 of RoomID : ${zone}`); }); } catch (e) { console.error(e); } } if(value == false) { try { console.log(`https://${dssip}:${dssport}/json/zone/callScene?id=${zone}&groupID=1&sceneNumber=0&force=true&token=${sessiontoken}`) request({url: `https://${dssip}:${dssport}/json/zone/callScene?id=${zone}&groupID=1&sceneNumber=0&force=true&token=${sessiontoken}`}, function(error, response, body) { console.log(body); //setState(`My_Devices.0.Digitalstrom.Räume.${ZoneID}.lastCalledScene`,0) console.log(`Setting lastCalledScene to 0 of RoomID : ${zone}`); }); } catch (e) { console.error(e); } } }); }); console.log("#################################################");
-
@AkiraFFM sagte in rejectUnauthorized: false funktioniert nicht mehr:
const request = require('request').defaults({ rejectUnauthorized: false });
Geht es, wenn du diese erste Zeile wie folgt änderst:
request = request.defaults({ rejectUnauthorized: false });
-
@AlCalzone
Nein jetzt mit dem Error
javascript.0 2020-06-04 16:24:14.604 error (15278) TypeError: request.defaults is not a function
javascript.0 2020-06-04 16:24:14.604 error (15278) ^
javascript.0 2020-06-04 16:24:14.604 error (15278) request = request.defaults({ rejectUnauthorized: false }); -
@AkiraFFM Hab gefunden woran es liegt und ein Issue erstellt.
https://github.com/ioBroker/ioBroker.javascript/issues/593Vorerst musst du wohl wieder auf eine alte Version zurück.
-
@AlCalzone ah gut zu wissen, bin auch erst über das Problem gestolpert.
-
@Jey-Cee @AkiraFFM ich hab einen potentiellen Fix. Könnt ihr den grad testen, habe leider keine Skripte, wo ich request verwende?
Dazu einfach über die Katze von custom URL installieren: https://github.com/ioBroker/ioBroker.javascript/tarball/request-missing-methods
-
Ja das hat es gefixt. Ist ein workaround aber in JS Adapter Version 4.6.17 war es noch nicht gefixt.
-
@AkiraFFM Bist du sicher? Der entsprechende PR müsste längst gemerged sein.
Edit: Nevermind - ist noch nicht veröffentlicht