Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. ioBroker Allgemein
  4. javascript fehler nach update

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    816

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    612

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    1.1k

javascript fehler nach update

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
velux-klf200-apijs controller
3 Beiträge 2 Kommentatoren 430 Aufrufe 3 Beobachtet
  • Ä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.
  • Z Offline
    Z Offline
    Zeiss
    schrieb am zuletzt editiert von Zeiss
    #1

    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

    arteckA 1 Antwort Letzte Antwort
    0
    • Z Zeiss

      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

      arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @Zeiss sagte in javascript fehler nach update:

      velux-klf-api

      zeigmal das script

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      Z 1 Antwort Letzte Antwort
      0
      • arteckA arteck

        @Zeiss sagte in javascript fehler nach update:

        velux-klf-api

        zeigmal das script

        Z Offline
        Z Offline
        Zeiss
        schrieb am zuletzt editiert von
        #3

        @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)
        });
        
        1 Antwort Letzte Antwort
        0

        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
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate
        FAQ Cloud / IOT
        HowTo: Node.js-Update
        HowTo: Backup/Restore
        Downloads
        BLOG

        456

        Online

        32.9k

        Benutzer

        82.9k

        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