Gab oder gibt es diese Jahr eine Weihnachtslizens ?
NEWS
Latest posts made by Zeiss
-
Weihnachtsaktion für Lizenzen
-
RE: javascript fehler nach update
@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) });
-
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
-
RE: Adapter für VELUX KLF-200 Interface
hat sich erledigt, funktioniert jetzt,.... warum auch immer
-
RE: Adapter für VELUX KLF-200 Interface
Hallo,
kann mir jemand helfen, bei mir funktioniert irgendwie nichts.
Ich bin noch nicht wirklich gut im Thema, vielleicht kann einer drüber schauen.
Wenn ich das Blockly ausführe kommt im Log
javascript.0 2020-04-21 18:50:56.937 info (20782) script.js.common.velux: {} javascript.0 2020-04-21 18:50:52.658 info (20782) script.js.common.velux: Dachfenster werden geschlossen javascript.0 2020-04-21 18:50:32.375 info (20782) script.js.common.velux: {}
kfl200 hat die Version 0.2.2.2.71.0
bei npm list kommt ...
velux-klf200-api@1.3.0 -> /home/pi/velux-klf200-apiim IOBroker unter javascript.0 (Zurätzliche NPM-Module) habe ich "velux-klf200-ap" eingetragen
über das WLAN Interface habe ich alles angelegt, da funktioniert alles.
-
RE: [iot-Aktion] generelle Diskussion zur Weihnachtsaktion, Pro- und Free-Cloud (KEINE technischen Probleme!!)
habe alles eingegeben, leider wird die Aktion nicht mehr angezeigt,
es wehre schön, wenn wir noch eine Kulanz Zeit bekommen könnten.
-
RE: [iot-Aktion] generelle Diskussion zur Weihnachtsaktion, Pro- und Free-Cloud (KEINE technischen Probleme!!)
Hallo,
verstehe ich das richtig, das die Weihnachtsaktion gestern abgelaufen ist?
Ich bin leider erst heute dazu gekommen wieder etwas am IOBroker zu basteln und hätte sie gerne war genommen.
komme ich zu spät oder gibt es noch eine Möglichkeit ?
Lebe Grüße,
Zeiss