NEWS
javascript fehler nach update
-
Hallo,
ich steuere meine Velux Rollos mit der velux-klf-api,
gestern habe ich meinem iobroker mal allen updates gegönnt
und erhalte folgende Fehlermeldungen.javascript.0 2020-06-10 13:13:05.204 error (29393) Error: timeout GW_STATUS_REQUEST_CFM javascript.0 2020-06-10 13:13:05.204 error (29393) Error: timeout GW_STATUS_REQUEST_CFM javascript.0 2020-06-10 13:13:05.203 error (29393) An error happened which is most likely from one of your scripts, but the originating script could not be detected. javascript.0 2020-06-10 13:12:05.141 error at processTimers (internal/timers.js:492:7) javascript.0 2020-06-10 13:12:05.141 error at listOnTimeout (internal/timers.js:549:17) javascript.0 2020-06-10 13:12:05.141 error at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/velux-klf200-api/lib/net.js:169:19) javascript.0 2020-06-10 13:12:05.141 error (29393) Error: timeout GW_STATUS_REQUEST_CFM javascript.0 2020-06-10 13:12:05.140 error (29393) Error: timeout GW_STATUS_REQUEST_CFM javascript.0 2020-06-10 13:12:05.140 error (29393) An error happened which is most likely from one of your scripts, but the originating script could not be detected. javascript.0 2020-06-10 13:11:14.308 error at processTimers (internal/timers.js:492:7) javascript.0 2020-06-10 13:11:14.308 error at listOnTimeout (internal/timers.js:549:17) javascript.0 2020-06-10 13:11:14.308 error at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/velux-klf200-api/lib/net.js:169:19) javascript.0 2020-06-10 13:11:14.308 error (29393) Error: timeout GW_STATUS_REQUEST_CFM javascript.0 2020-06-10 13:11:14.307 error (29393) Error: timeout GW_STATUS_REQUEST_CFM javascript.0 2020-06-10 13:11:14.306 error (29393) An error happened which is most likely from one of your scripts, but the originating script could not be detected. javascript.0 2020-06-10 13:11:09.300 info (29393) script.js.Velux: Klf connected!leider habe ich zu wenig Ahnung, aber vielleicht weiß jemand wie ich das beheben kann.
Das Script selbst funktioniert, ich kann meine Rollos steuern.Danke im voraus
-
Hallo,
ich steuere meine Velux Rollos mit der velux-klf-api,
gestern habe ich meinem iobroker mal allen updates gegönnt
und erhalte folgende Fehlermeldungen.javascript.0 2020-06-10 13:13:05.204 error (29393) Error: timeout GW_STATUS_REQUEST_CFM javascript.0 2020-06-10 13:13:05.204 error (29393) Error: timeout GW_STATUS_REQUEST_CFM javascript.0 2020-06-10 13:13:05.203 error (29393) An error happened which is most likely from one of your scripts, but the originating script could not be detected. javascript.0 2020-06-10 13:12:05.141 error at processTimers (internal/timers.js:492:7) javascript.0 2020-06-10 13:12:05.141 error at listOnTimeout (internal/timers.js:549:17) javascript.0 2020-06-10 13:12:05.141 error at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/velux-klf200-api/lib/net.js:169:19) javascript.0 2020-06-10 13:12:05.141 error (29393) Error: timeout GW_STATUS_REQUEST_CFM javascript.0 2020-06-10 13:12:05.140 error (29393) Error: timeout GW_STATUS_REQUEST_CFM javascript.0 2020-06-10 13:12:05.140 error (29393) An error happened which is most likely from one of your scripts, but the originating script could not be detected. javascript.0 2020-06-10 13:11:14.308 error at processTimers (internal/timers.js:492:7) javascript.0 2020-06-10 13:11:14.308 error at listOnTimeout (internal/timers.js:549:17) javascript.0 2020-06-10 13:11:14.308 error at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/velux-klf200-api/lib/net.js:169:19) javascript.0 2020-06-10 13:11:14.308 error (29393) Error: timeout GW_STATUS_REQUEST_CFM javascript.0 2020-06-10 13:11:14.307 error (29393) Error: timeout GW_STATUS_REQUEST_CFM javascript.0 2020-06-10 13:11:14.306 error (29393) An error happened which is most likely from one of your scripts, but the originating script could not be detected. javascript.0 2020-06-10 13:11:09.300 info (29393) script.js.Velux: Klf connected!leider habe ich zu wenig Ahnung, aber vielleicht weiß jemand wie ich das beheben kann.
Das Script selbst funktioniert, ich kann meine Rollos steuern.Danke im voraus
-
@arteck said in javascript fehler nach update:
@Zeiss sagte in javascript fehler nach update:
velux-klf-api
zeigmal das script
'use strict' ; // Netzwerk const Ip = '192.168.2.89' const Passwort = '*************italicised text*' // WLAN Passwort const baseObjectPath = 'javascript.0.Velux.' const harmony = '1' const Rollos = { RolladenBuero: 0, RolladenWohnzimmer: 1, RolladenKueche: 2, RolladenEsszimmer: 3, RolladenSchlafzimmer: 4, RolladenGaestezimmer: 5, RolladenJulian: 6 } // Gruppen. All, SZ, .. are then names of states. Add new properties for more groups const groups = { All : Object.values(Rollos), // all IDs of shutters hinten: [Rollos.RolladenBuero, Rollos.RolladenKueche, Rollos.RolladenEsszimmer, Rollos.RolladenSchlafzimmer], // Hofseite vorne : [Rollos.RolladenWohnzimmer, Rollos.RolladenGaestezimmer], // Strasse } const All = Object.keys(Rollos) for(let shutter of All) { createState(baseObjectPath + 'shutter.' + shutter, 0, { name: 'shutter ' + shutter, type: 'number', min: 0, max: 100, unit: '%'}) } for(let key of Object.keys(groups)) { createState(baseObjectPath + 'groups.' + key, 0, { name: 'group ' + key, type: 'number', min: 0, max: 100, unit: '%'}) } const MaxNodeIdx = All.length; // 5 Rollos.. const Up = 0 // Rollo oben const Down = 0xc800 // Rollo unten const Stop = 0xD200 // Stopkommando // Variable var velux = require('velux-klf200-api') var Connected = false let Commands = {} var SessionId = 0 // Zustand der Rollos holen function GetState(shutters, sessionId) { if (Connected) { shutters = shutters || All log('checking shutters ' + JSON.stringify(shutters), 'debug') velux.sendCommand({ api: velux.API.GW_STATUS_REQUEST_REQ, sessionID: sessionId || 0, indexArrayCount: shutters.length, indexArray : shutters, statusType : 3 // Main Info }) } } // Callback fuer Positionsrueckmeldung velux.on('GW_STATUS_REQUEST_NTF', Status); function Status(data) { var Target = Math.round(100 - data.targetPosition.value) var Current = Math.round(100 - data.currentPosition.value) // aktuelle Position var Time = data.remainingTime // Restlaufzeit var Index = data.index // Node index var StatusType = data.statusType // Status Typ "Main Info" = 3 erwartet //console.log(JSON.stringify(data)) //console.log(Z[data.index] + ': Ziel ' + Target + ' Aktuell: ' + Current + ' Restlaufzeit :' + Time) if ( (StatusType === 3) && (Index >= 0) && (Index < MaxNodeIdx)) { var IdStrIst = baseObjectPath + 'shutter.' + Z[data.index] setState(IdStrIst, Current, true) } } // Callback Ende Job velux.on('GW_SESSION_FINISHED_NTF', JobFinished); function JobFinished(data) { log("EndCmd (" + data.sessionID+')', 'debug') let sessionKey = 'session_' + data.sessionID if (typeof Commands[sessionKey] !== 'undefined') { let shutters = Commands[sessionKey].shutters // get state after job finished GetState(shutters, data.sessionID) delete Commands[sessionKey] } } // Verbindung aufbauen function ConnectKlf() { if (! Connected) { Connected = true; velux.connect( Ip, {} ).then(()=>{ velux.login( Passwort ).then(()=>{ log("Klf connected!", 'info') Connected = true GetState(); }) }) .catch((err)=>{ log('connect error ' + JSON.stringify(err), 'error') Connected = false velux.end() }) } } function Rollo( Rollos, Val) { if ( Connected ) { return velux.sendCommand({ api: velux.API.GW_COMMAND_SEND_REQ, sessionID : ++SessionId, commandOriginator: 1, priorityLevel: 2, parameterActive: 1, functionalParameterMP: {rawValue : Val}, indexArrayCount: Rollos.length, indexArray : Rollos, priorityLevelLock: false, }).then((data)=>{ log("StartCmd (" + data.sessionID+')', 'debug') Commands['session_' + data.sessionID] = { shutters: Rollos } }) .catch((err)=>{ log(err, 'error') }) } } // Restart einmal pro Tag um 22 Uhr schedule('5 20 * * *', function () { velux.sendCommand({ api: velux.API.GW_REBOOT_REQ}) Connected = false }); // zyklisches Senden Idle Telegramm und Rolladenstatus holen schedule('*/1 * * * *', function () { velux.sendCommand({ api: velux.API.GW_GET_STATE_REQ}) .then((data) => { //Connected = true GetState() // Rolladenpostionen holen }) .catch((err) => { Connected = false log('Connection lost...' +JSON.stringify(err), 'error') ConnectKlf() }) }); // Verbinden zu klf200 ConnectKlf() // Verbindung abbauen und aufraeumen bei Stop onStop(() => { Connected = false log("Disconnect", 'info') velux.off('GW_STATUS_REQUEST_NTF', Status) velux.off('GW_SESSION_FINISHED_NTF', JobFinished) velux.end() }); on({id: new RegExp(baseObjectPath.replace('.', '\.') + 'shutter\..*'), change:'any', ack: false}, function (obj) { let State = Down - Down / 100 * obj.state.val let shutterName = obj.id.split('.').slice(-1)[0] let shutterId = Rollos[shutterName] log('Moving shutter ' + shutterName + '(' + shutterId + ')' + ' to ' + obj.state.val + '%', 'info') Rollo([shutterId], State) }); on({id: new RegExp(baseObjectPath.replace('.', '\.') + 'groups\..*'), change:'any', ack: false}, function (obj) { let State = Down - Down / 100 * obj.state.val let shutterName = obj.id.split('.').slice(-1)[0] let shutters = groups[shutterName] || [] if (shutters.length > 0) { log('Moving shutter group ' + shutterName + ' to ' + obj.state.val + '%', 'info') Rollo(shutters, State) } }); //******************************************************************************* // Mapping fuer Logitech Harmony //******************************************************************************* // Dach zu subscribe({id: 'fakeroku.0.ioBroker.keys.Up', val : true, ack :true}, function (obj) { Rollo(harmony, Up) }); // Dach auf subscribe({id: 'fakeroku.0.ioBroker.keys.Down', val : true, ack :true}, function (obj) { Rollo(harmony, Down) }); // Dach Stop subscribe({id: 'fakeroku.0.ioBroker.keys.Select', val : true, ack :true}, function (obj) { Rollo(harmony, Stop) });
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden