Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Listener/Events/ext. Subscriptions stoppen, wie?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[gelöst] Listener/Events/ext. Subscriptions stoppen, wie?

Scheduled Pinned Locked Moved Skripten / Logik
22 Posts 5 Posters 4.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ruhr70R Offline
    ruhr70R Offline
    ruhr70
    wrote on last edited by
    #13

    Klingt logisch.

    Hab es einfach mal schnell probiert… das Ergebnis ist trotz Logik gleich.

    host.nuc-g7-i7	2017-05-17 07:03:20.211	info	Restart adapter system.adapter.javascript.1 because enabled
    host.nuc-g7-i7	2017-05-17 07:03:20.209	error	instance system.adapter.javascript.1 terminated with code 0 (OK)
    javascript.1	2017-05-17 07:03:20.190	error	
    javascript.1	2017-05-17 07:03:20.190	error	at Device. (C:\ioBroker\node_modules\iobroker.javascript\node_modules\co2-monitor\node_modules\usb\usb.js:200:7)
    javascript.1	2017-05-17 07:03:20.190	error	at Interface.co2Interface.release (C:\ioBroker\node_modules\iobroker.javascript\node_modules\co2-monitor\co2-monitor.js:101:21)
    javascript.1	2017-05-17 07:03:20.190	error	at Device.usb.Device.close (C:\ioBroker\node_modules\iobroker.javascript\node_modules\co2-monitor\node_modules\usb\usb.js:43:7)
    javascript.1	2017-05-17 07:03:20.190	error	at Error (native)
    javascript.1	2017-05-17 07:03:20.190	error	Error: Can't close device with a pending request
    javascript.1	2017-05-17 07:03:20.190	error	uncaught exception: Can't close device with a pending request
    javascript.1	2017-05-17 07:03:20.185	info	script.js.Entwicklung.co2-monitor: ---------------------- **** Skript wurde gestoppt **** ----------------------
    javascript.1	2017-05-17 07:03:20.185	info	Stop script script.js.Entwicklung.co2-monitor
    javascript.1	2017-05-17 07:03:19.137	info	script.js.Entwicklung.co2-monitor: data: {"co2":604,"temperature":"25.663"}
    javascript.1	2017-05-17 07:03:19.137	info	script.js.Entwicklung.co2-monitor: temp: 25.663
    javascript.1	2017-05-17 07:03:16.491	info	script.js.Entwicklung.co2-monitor: data: {"co2":604,"temperature":"25.600"}
    javascript.1	2017-05-17 07:03:16.491	info	script.js.Entwicklung.co2-monitor: co2: 604
    javascript.1	2017-05-17 07:03:14.124	info	script.js.Entwicklung.co2-monitor: data: {"co2":604,"temperature":"25.600"}
    javascript.1	2017-05-17 07:03:14.124	info	script.js.Entwicklung.co2-monitor: temp: 25.600
    javascript.1	2017-05-17 07:03:11.473	info	script.js.Entwicklung.co2-monitor: data: {"co2":604,"temperature":"25.600"}
    javascript.1	2017-05-17 07:03:11.473	info	script.js.Entwicklung.co2-monitor: co2: 604
    javascript.1	2017-05-17 07:03:09.105	info	script.js.Entwicklung.co2-monitor: data: {"co2":603,"temperature":"25.600"}
    javascript.1	2017-05-17 07:03:09.105	info	script.js.Entwicklung.co2-monitor: temp: 25.600
    javascript.1	2017-05-17 07:03:06.458	info	script.js.Entwicklung.co2-monitor: co2: 603
    javascript.1	2017-05-17 07:03:03.616	info	script.js.Entwicklung.co2-monitor: -------- -------- -------- CO2-Monitor connect erfolgreich gestartet -------- -------- --------
    javascript.1	2017-05-17 07:03:01.548	info	script.js.Entwicklung.co2-monitor: registered 0 subscriptions and 0 schedules
    javascript.1	2017-05-17 07:03:00.547	info	script.js.Entwicklung.co2-monitor: -------- -------- -------- CO2-Monitor Skript gestartet -------- -------- --------
    javascript.1	2017-05-17 07:03:00.540	info	Start javascript script.js.Entwicklung.co2-monitor
    

    Adapter: Fritzbox, Unify Circuit
    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

    1 Reply Last reply
    0
    • AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      wrote on last edited by
      #14

      @blauholsten:

      Asynchrone Funktionen können meines Kenntnisstandes nicht in try/catch abgearbeitet werden. Try catch ist beim Aufruf des Callbacks schon längst abgearbeitet. `
      Jein. Wenn der Fehler in der Asynchronen Funktion auftritt, bevor sie die Kontrolle an den Aufrufer zurückgibt, sollte es per try-catch abfangbar sein. try-catch im Callback fängt nur Fehler in der eigenen Callback-Funktion ab.

      In diesem Fall scheint der Fehler zwischendrin aufzutreten:

      ruhr's code -> 
      * disconnect -> 
        |  ruhr's code (nach Aufruf von disconnect)
        |
        |__ disconnect arbeitet noch, bzw hat selbst asynchron was aufgerufen
            |
            | -> fehler
            |
      **    |__ hier käme der Callback
      

      Fehler in * und ** lassen sich mit try-catch um disconnect (*) bzw. im callback (**) abfangen.

      Fehler in internen asynchronen Aktionen der disconnect-Methode nicht.

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      1 Reply Last reply
      0
      • blauholstenB Offline
        blauholstenB Offline
        blauholsten
        Developer
        wrote on last edited by
        #15

        Was passiert wenn man sowas schreibt…..?

        co2Monitor.disconnect(function() {
           // weitere Aktionen, die nach dem Disconnect ausgeführt werden sollen.
           // wenn keine, dann leer lassen.
        }).on ('error', function  (e) { console.error (e);});
        

        Entwickler vom: - Viessman Adapter
        - Alarm Adapter

        1 Reply Last reply
        0
        • ruhr70R Offline
          ruhr70R Offline
          ruhr70
          wrote on last edited by
          #16

          interessante Erklärungen!

          ich probiere den Vorschlag nachher aus

          Gesendet von iPhone mit Tapatalk

          Adapter: Fritzbox, Unify Circuit
          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

          1 Reply Last reply
          0
          • ruhr70R Offline
            ruhr70R Offline
            ruhr70
            wrote on last edited by
            #17
            host.nuc-g7-i7	2017-05-17 16:49:29.792	error	instance system.adapter.javascript.1 terminated with code 0 (OK)
            javascript.1	2017-05-17 16:49:29.770	error	error in onStop callback: TypeError: Cannot read property 'on' of undefined
            javascript.1	2017-05-17 16:49:29.770	info	script.js.Entwicklung.co2-monitor: ---------------------- **** Skript wurde gestoppt **** ----------------------
            

            Adapter: Fritzbox, Unify Circuit
            Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

            1 Reply Last reply
            0
            • AlCalzoneA Offline
              AlCalzoneA Offline
              AlCalzone
              Developer
              wrote on last edited by
              #18

              Eine möglichkeit wäre noch (z.b. am Ende des Skripts):

              process.on('uncaughtException', function (err) {
                // sicherstellen, dass es wirklich der Fehler aus co2Monitor ist, den wir abfangen wollen. Diesen dann ignorieren oder darauf irgendwie reagieren
                // Ansonsten Fehler weitergeben per throw err
              });
              
              

              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

              1 Reply Last reply
              0
              • ruhr70R Offline
                ruhr70R Offline
                ruhr70
                wrote on last edited by
                #19
                javascript.1	2017-05-18 20:40:16.857	error	script.js.Entwicklung.co2-monitor: ReferenceError: process is not defined
                

                Adapter: Fritzbox, Unify Circuit
                Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                1 Reply Last reply
                0
                • AlCalzoneA Offline
                  AlCalzoneA Offline
                  AlCalzone
                  Developer
                  wrote on last edited by
                  #20

                  Oh… dann funktioniert das nur in Adaptern. Fürchte, es muss in dem Modul nachgebessert werden.

                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                  1 Reply Last reply
                  0
                  • R Offline
                    R Offline
                    redoced
                    wrote on last edited by
                    #21

                    Der stopPoll Aufruf bekommt eigentlich ein callback, was im original code allerdings nicht genutzt wird.

                    Ändere deinen Code auf folgendes:

                    
                    onStop(function skriptStop () {
                        try{
                            co2Monitor.co2Endpoint.stopPoll(function(){
                                log("Polling gestoppt");
                                co2Monitor.co2Interface.release(true, (error) => {
                    				if(error) {
                    					co2Monitor.emit('error', error);
                    				}
                    				else {
                    				    log("Interface released");
                    					co2Monitor.co2Device.close();
                    					log("Device geschlossen");
                    					cb(true);
                    				}
                    			});
                            });
                        } catch (e) {
                            log(e);
                            // hat nicht geklappt
                        }
                        log("---------------------- **** Skript wurde gestoppt **** ----------------------");
                    }, 100 /*ms*/);
                    
                    
                    1 Reply Last reply
                    0
                    • ruhr70R Offline
                      ruhr70R Offline
                      ruhr70
                      wrote on last edited by
                      #22

                      @redoced:

                      Der stopPoll Aufruf bekommt eigentlich ein callback, was im original code allerdings nicht genutzt wird.

                      Ändere deinen Code auf folgendes: `

                      Danke!!! :D

                      Das hat funktioniert :!: . Dein Post hatte ich nicht gesehen. Und als ich nun das Thema noch einmal angehen wollte habe ich ihn zum Glück gefunden.

                      Hat auf Anhieb geklappt, auch wenn ich keine Ahnung habe, was da abläuft :?

                      Adapter: Fritzbox, Unify Circuit
                      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      290

                      Online

                      32.6k

                      Users

                      82.3k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe