Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Portierung CCU.IO

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Portierung CCU.IO

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
52 Beiträge 4 Kommentatoren 6.3k Aufrufe 1 Watching
  • Ä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.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #12

    Ich vermute, dass

    clearInterval(timerWash2);
    
    

    Macht Probleme. Bei dir wird doch timerWash2 nirgendwo gesetzt.

    Mach so:

    if (timerWash2) clearInterval(timerWash2);
    
    

    Obwohl ich verstehe nicht ganz, was genau du machen willst.

    Auch "ne" ist falsch.

    Was siehst du beim Aufruf:

    cd /opt/iobroker
    iobroker state get hm-rega.0.39968
    
    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      derrapf
      schrieb am zuletzt editiert von
      #13

      Hallo Bluefox, Hallo Pix
      @Bluefox:

      Ich vermute, dass

      clearInterval(timerWash2);
      
      

      Macht Probleme. Bei dir wird doch timerWash2 nirgendwo gesetzt. `
      Das war natuerlich alles völliger Mist was ich da zusammenprogrammiert hatte. Kommt davon, wenn man nachts totmüde mit cut copy paste programmiert.

      Ich habe die Funktion jetzt von unbenutzten Variablen gereingt. Die Timer Variable soll dafür verwendet werden ,dass mir das System alle 10 Minuten mit dieser Meldung auf die Nerven geht, bis ich die Maschine ausgeschaltet habe.

      Da ich die data Variable erstmal nicht brauche, habe ich Sie wie Pix geraten hatte entsorgt. Hat aber leider nichts genutzt.

      @Bluefox:

      Auch "ne" ist falsch. `
      Da würde ich Dir widersprechen wollen: "ne" soll ja triggern wenn der Wert sich geändert hat, also not equal zum vorherigen ist.

      Mit val:'fertig' prüfe ich dann ob der Wert "fertig" ist.

      @Bluefox:

      Was siehst du beim Aufruf:

      cd /opt/iobroker
      iobroker state get hm-rega.0.39968
      ```` `  
      

      Da kommt folgendes (ich habs mal für Beide gemacht):

      root@bananapi:~# cd /opt/iobroker
      root@bananapi:/opt/iobroker# iobroker state get hm-rega.0.39968
      {"val":0,"ack":true,"ts":1446410115,"from":"system.adapter.hm-rega.0","lc":1446410108}
      root@bananapi:/opt/iobroker# iobroker state get hm-rega.0.44879
      {"val":0,"ack":true,"ts":1446410776,"from":"system.adapter.hm-rega.0","lc":1446410022}
      
      

      Sehe ich das richtig, dass dann val nicht auf "fertig" geprüft werden muss, sondern auf 2? (0="aus", 1="läuft", 2="fertig")

      Der Code sieht jetzt so aus (Ich hab sogar mal val: rausgenommen und de Timervariable aus 6s runtergesetzt, damit man leichter sieht ob's geht):

      
          var idWaschmaschine  = 'hm-rega.0.39968';     //*STAT_Waschmaschine_fertig*/
          var idTrockner       = 'hm-rega.0.44879';     //*STAT_W.Trockner_fertig*/ 
          var idSprache        = 'sayit.0.tts.text';    // Sprachausgabe Browser
      //    var timer = null;
          var debug = true;
      
      on (
             {
                id: idWaschmaschine,
                change: 'ne'
             }, 
             function (data) 
             {
                sayFinish(idWaschmaschine, 'Die Waschmaschine ist fertig');
             }
         ); 
      
      on (
             {
                id: idTrockner,
                change: 'ne'
             }, 
             function (data) 
             {
                sayFinish(idTrockner, 'Der Trockner ist fertig');
             }
         ); 
      
      function sayFinish(idGeraet, text)
      {
                // Sage zum ersten Mal
                var d = new Date ();
                var h = d.getHours();
      
                if ( debug || (h < 22) && (h > 9)) // nur zwischen 9 und 20 Uhr
                {
                   log('Saying: '+text);
                   setState(idSprache, text);
      
                   // Sag jede 10 Min Text an           
                   var timer = setInterval(
                        function()  
                        {
                          log('Timer=' + timer);
                          log('Get State=' + getState(idGeraet).val);
                          if (getState(idGeraet).val == 'fertig')
                          {
                             setState(idSprache, text);
                             log('Saying again: '+text);
                          } 
                          else 
                          {
                             clearInterval(timer);
                             timer = null;
                          }
                        }, 6000
                  );
                } 
      }
      

      Aber immer noch unverändertes Verhalten. Der Trigger auf die Sysvar der Waschmaschine funktioniert, der Trigger auf die des Wäschetrockners nicht:

      sayit.0	2015-11-01 22:30:35	info	sayit.0 Upload announce mp3 files
      sayit.0	2015-11-01 22:30:35	info	sayit.0 starting. Version 0.3.11 in /opt/iobroker/node_modules/iobroker.sayit
      bananapi	2015-11-01 22:30:31	info	host.bananapi instance system.adapter.sayit.0 started with pid 3900
      javascript.0	2015-11-01 22:30:23	info	javascript.0 script.js.Geraete_sind_fertig: Get State=0
      javascript.0	2015-11-01 22:30:23	info	javascript.0 script.js.Geraete_sind_fertig: Timer=[object Object]
      javascript.0	2015-11-01 22:30:21	info	javascript.0 script.js.Geraete_sind_fertig: Get State=0
      javascript.0	2015-11-01 22:30:21	info	javascript.0 script.js.Geraete_sind_fertig: Timer=[object Object]
      javascript.0	2015-11-01 22:30:17	info	javascript.0 script.js.Geraete_sind_fertig: Saying: Der Trockner ist fertig
      javascript.0	2015-11-01 22:30:15	info	javascript.0 script.js.Geraete_sind_fertig: Saying again: Der Trockner ist fertig
      javascript.0	2015-11-01 22:30:15	info	javascript.0 script.js.Geraete_sind_fertig: Get State=fertig
      javascript.0	2015-11-01 22:30:15	info	javascript.0 script.js.Geraete_sind_fertig: Timer=[object Object]
      javascript.0	2015-11-01 22:30:09	info	javascript.0 script.js.Geraete_sind_fertig: Saying again: Der Trockner ist fertig
      javascript.0	2015-11-01 22:30:09	info	javascript.0 script.js.Geraete_sind_fertig: Get State=fertig
      javascript.0	2015-11-01 22:30:09	info	javascript.0 script.js.Geraete_sind_fertig: Timer=[object Object]
      javascript.0	2015-11-01 22:30:03	info	javascript.0 script.js.Geraete_sind_fertig: Saying again: Der Trockner ist fertig
      javascript.0	2015-11-01 22:30:03	info	javascript.0 script.js.Geraete_sind_fertig: Get State=fertig
      javascript.0	2015-11-01 22:30:03	info	javascript.0 script.js.Geraete_sind_fertig: Timer=[object Object]
      bananapi	2015-11-01 22:30:01	info	host.bananapi Restart adapter system.adapter.sayit.0 because enabled
      bananapi	2015-11-01 22:30:01	error	host.bananapi instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
      sayit.0	2015-11-01 22:30:00	error	Error: socket hang up at createHangUpError (_http_client.js:215:15) at TLSSocket.socketCloseListener (_http_client.js:247:23) at TLSSocket.emit (events.js:129:20) at TCP.close (net.js:
      sayit.0	2015-11-01 22:30:00	error	uncaught exception: socket hang up
      sayit.0	2015-11-01 22:30:00	error	Error: connect EHOSTUNREACH at exports._errnoException (util.js:746:11) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
      sayit.0	2015-11-01 22:30:00	error	uncaught exception: connect EHOSTUNREACH
      sayit-0	2015-11-01 22:29:57	info	saying: Der Trockner ist fertig
      hm-rega-0	2015-11-01 22:29:57	info	State 44879 fertig
      javascript-0	2015-11-01 22:29:57	info	script.js.Geraete_sind_fertig: Saying: Der Trockner ist fertig
      javascript-0	2015-11-01 22:29:22	info	script.js.Geraete_sind_fertig: Get State=0
      javascript-0	2015-11-01 22:29:22	info	script.js.Geraete_sind_fertig: Timer=[object Object]
      javascript-0	2015-11-01 22:29:18	info	script.js.Geraete_sind_fertig: Get State=0
      javascript-0	2015-11-01 22:29:18	info	script.js.Geraete_sind_fertig: Timer=[object Object]
      sayit-0	2015-11-01 22:29:17	info	saying: Die Waschmaschine ist fertig
      javascript-0	2015-11-01 22:29:16	info	script.js.Geraete_sind_fertig: Saying: Die Waschmaschine ist fertig
      sayit-0	2015-11-01 22:29:12	info	saying: Die Waschmaschine ist fertig
      javascript-0	2015-11-01 22:29:12	info	script.js.Geraete_sind_fertig: Saying again: Die Waschmaschine ist fertig
      javascript-0	2015-11-01 22:29:12	info	script.js.Geraete_sind_fertig: Get State=fertig
      javascript-0	2015-11-01 22:29:12	info	script.js.Geraete_sind_fertig: Timer=[object Object]
      sayit-0	2015-11-01 22:29:06	info	saying: Die Waschmaschine ist fertig
      javascript-0	2015-11-01 22:29:06	info	script.js.Geraete_sind_fertig: Saying again: Die Waschmaschine ist fertig
      javascript-0	2015-11-01 22:29:06	info	script.js.Geraete_sind_fertig: Get State=fertig
      javascript-0	2015-11-01 22:29:06	info	script.js.Geraete_sind_fertig: Timer=[object Object]
      sayit-0	2015-11-01 22:29:00	info	saying: Die Waschmaschine ist fertig
      hm-rega-0	2015-11-01 22:29:00	info	State 39968 fertig
      

      Beide Variablen sind in der CCU aber gleich definiert.

      Gruss Ralf

      1 Antwort Letzte Antwort
      0
      • BluefoxB Offline
        BluefoxB Offline
        Bluefox
        schrieb am zuletzt editiert von
        #14

        Probier mal so:

        
        var idWaschmaschine  = 'hm-rega.0.39968';     //*STAT_Waschmaschine_fertig*/
        var idTrockner       = 'hm-rega.0.44879';     //*STAT_W.Trockner_fertig*/ 
        var idSprache        = 'sayit.0.tts.text';    // Sprachausgabe Browser
        var debug = true;
        
        on ({id: idWaschmaschine, val: 2}, function (data) {
        	sayFinish(idWaschmaschine, 'Die Waschmaschine ist fertig');
        }); 
        on ({id: idTrockner, val: 2}, function (data) {
        	sayFinish(idTrockner, 'Die Waschmaschine ist fertig');
        });     
        var timer = {};
        
        function sayFinish(idGeraet, text)
        {
        	// Sage zum ersten Mal
        	var d = new Date ();
        	var h = d.getHours();
        
        	if (debug || (h < 22) && (h > 9)) // nur zwischen 9 und 20 Uhr
        	{
        		log('Saying: ' + text);
        		setState(idSprache, text);
        
        		// Sag jede 10 Min Text an           
        		timer[idGeraet] = setInterval(function() {
        			log('Timer[' + idGeraet + ']=' + timer[idGeraet]);
        			log('Get State=' + getState(idGeraet).val);
        			if (getState(idGeraet).val == 2)
        			{
        				setState(idSprache, text);
        				log('Saying again: ' + text);
        			} 
        			else 
        			{
        				if (timer[idGeraet]) clearInterval(timer[idGeraet]);
        				timer[idGeraet] = null;
        			}
        		}, 60000);
        	} 
        }
        

        Es konnte trotzdem noch sein, dass timer war null.

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          derrapf
          schrieb am zuletzt editiert von
          #15

          Hallo Bluefox

          Alles Voodoo. Ich verstehe es nicht: Dein Code triggert nicht die Änderung der System Variable.

          Also

          on ({id: idWaschmaschine, val: 2}, function (data) {
             sayFinish(idWaschmaschine, 'Die Waschmaschine ist fertig');
          }); 
          

          Funktioniert nicht.

          Ich hab den Code ergänzt und wieder change 'ne' eingebaut, aber auch dann hat er nicht getriggert.

          Erst als ich geschrieben habe

          on ({id: idWaschmaschine}, function (data) {
             sayFinish(idWaschmaschine, 'Die Waschmaschine ist fertig');
          }); 
          

          Wurde wieder getriggert, aber jetzt kommts: Ich habe keinen Fehler wenn idWaschmaschine getriggert wird, aber solbad idTrockner triggert kommt wieder der Fehler wie in meinem letzten Post.

          Muss man das verstehen???

          Gruss Ralf
          743_bild1.jpg

          1 Antwort Letzte Antwort
          0
          • D Offline
            D Offline
            derrapf
            schrieb am zuletzt editiert von
            #16

            Nächster Effekt:

            Die Scriptengine scheint in einer Endlosschleife zu sein. Im Log tauchen nun ständig folgende Sequenzen auf und wiederholen sich immer wieder:

            sayit.0	2015-11-03 22:16:39	info	sayit.0 Upload announce mp3 files
            sayit.0	2015-11-03 22:16:39	info	sayit.0 starting. Version 0.3.11 in /opt/iobroker/node_modules/iobroker.sayit
            bananapi	2015-11-03 22:16:35	info	host.bananapi instance system.adapter.sayit.0 started with pid 5070
            bananapi	2015-11-03 22:16:05	info	host.bananapi Restart adapter system.adapter.sayit.0 because enabled
            bananapi	2015-11-03 22:16:05	error	host.bananapi instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
            sayit.0	2015-11-03 22:16:01	info	sayit.0 saying: Der Trockner ist fertig
            javascript.0	2015-11-03 22:15:41	info	javascript.0 script.js.Test2: registered 1 subscription and 0 schedules
            javascript.0	2015-11-03 22:15:41	info	javascript.0 Start javascript script.js.Test2
            javascript.0	2015-11-03 22:15:41	info	javascript.0 received all states
            javascript.0	2015-11-03 22:15:41	info	javascript.0 received all objects
            sayit.0	2015-11-03 22:15:40	info	sayit.0 Upload announce mp3 files
            sayit.0	2015-11-03 22:15:40	info	sayit.0 starting. Version 0.3.11 in /opt/iobroker/node_modules/iobroker.sayit
            javascript.0	2015-11-03 22:15:36	info	javascript.0 requesting all objects
            javascript.0	2015-11-03 22:15:36	info	javascript.0 requesting all states
            javascript-0	2015-11-03 22:15:36	info	requesting all objects
            javascript-0	2015-11-03 22:15:36	info	requesting all states
            javascript-0	2015-11-03 22:15:36	info	starting. Version 0.5.7 in /opt/iobroker/node_modules/iobroker.javascript
            host-bananapi	2015-11-03 22:15:33	info	instance system.adapter.sayit.0 started with pid 5058
            host-bananapi	2015-11-03 22:15:23	info	instance system.adapter.javascript.0 started with pid 5055
            host-bananapi	2015-11-03 22:15:21	info	instance system.adapter.javascript.0 terminated with code 0 (OK)
            host-bananapi	2015-11-03 22:15:20	info	stopInstance system.adapter.javascript.0 killing pid 2485
            host-bananapi	2015-11-03 22:15:20	info	stopInstance system.adapter.javascript.0
            host-bananapi	2015-11-03 22:15:20	info	object change system.adapter.javascript.0
            host-bananapi	2015-11-03 22:15:03	info	Restart adapter system.adapter.sayit.0 because enabled
            host-bananapi	2015-11-03 22:15:03	error	instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
            Error:	2015-11-03 22:15:03	error	at TCP.close (net.js:485:12)
            Error:	2015-11-03 22:15:03	error	at TLSSocket.emit (events.js:129:20)
            Error:	2015-11-03 22:15:03	error	at TLSSocket.socketCloseListener (_http_client.js:247:23)
            Error:	2015-11-03 22:15:03	error	at createHangUpError (_http_client.js:215:15)
            Error:	2015-11-03 22:15:03	error	socket hang up
            uncaught	2015-11-03 22:15:03	error	exception: socket hang up
            Error:	2015-11-03 22:15:03	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
            Error:	2015-11-03 22:15:03	error	at exports._errnoException (util.js:746:11)
            Error:	2015-11-03 22:15:03	error	connect EHOSTUNREACH
            uncaught	2015-11-03 22:15:03	error	exception: connect EHOSTUNREACH
            sayit-0	2015-11-03 22:15:00	info	saying: Der Trockner ist fertig
            

            Auch nach dem Restart von iobroker loggt er diese Sequenz immer wieder.

            Wie kann ich das denn abbrechen?

            Gruss Ralf

            1 Antwort Letzte Antwort
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #17

              Wenn du sayit deaktivierst. Passiert immer noch?

              1 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                derrapf
                schrieb am zuletzt editiert von
                #18

                Hab grad mal getestet:

                Wenn ich alle Scripte deaktiviere ist Ruhe.

                Ich habe ein Testscript mal eben aktiviert:

                var idTrockner       = 'hm-rega.0.44879';     //*STAT_W.Trockner_fertig*/
                var idSprache        = 'sayit.0.tts.text';    // Sprachausgabe Browser
                
                on ({id: idTrockner}, function (data) {
                   sayFinish(idTrockner, 'Der Trockner ist fertig');
                });     
                
                function sayFinish(idGeraet, text)
                {
                            setState(idSprache, text);
                }
                

                Sobald das aktiviert st kommen die Logs. Ohne dass überhaupt ein Wert von idTrockner geändert wird.

                bananapi	2015-11-03 22:56:02	info	host.bananapi instance system.adapter.sayit.0 started with pid 5408
                bananapi	2015-11-03 22:56:02	info	host.bananapi instance system.adapter.sayit.0 started with pid 5408
                hm-rega.0	2015-11-03 22:55:58	info	hm-rega.0 State 46031 650
                hm-rega.0	2015-11-03 22:55:58	info	hm-rega.0 State 46030 1019
                hm-rega.0	2015-11-03 22:55:57	info	hm-rega.0 State 36952 7.87
                hm-rega.0	2015-11-03 22:55:57	info	hm-rega.0 State 36816 8.32
                hm-rega.0	2015-11-03 22:55:57	info	hm-rega.0 State 36815 7.97
                hm-rega.0	2015-11-03 22:55:56	info	hm-rega.0 State 34330 5.3
                hm-rega.0	2015-11-03 22:55:56	info	hm-rega.0 State 34124 101954
                hm-rega.0	2015-11-03 22:55:56	info	hm-rega.0 State 34122 9.82
                hm-rega.0	2015-11-03 22:55:56	info	hm-rega.0 State 32642 78
                hm-rega.0	2015-11-03 22:55:55	info	hm-rega.0 State 12338 10
                hm-rega.0	2015-11-03 22:55:55	info	hm-rega.0 State 11970 6.1
                bananapi	2015-11-03 22:55:32	info	host.bananapi Restart adapter system.adapter.sayit.0 because enabled
                bananapi	2015-11-03 22:55:32	error	host.bananapi instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
                bananapi	2015-11-03 22:55:32	info	host.bananapi Restart adapter system.adapter.sayit.0 because enabled
                bananapi	2015-11-03 22:55:32	error	host.bananapi instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
                Error:	2015-11-03 22:55:31	error	at TCP.close (net.js:485:12)
                Error:	2015-11-03 22:55:31	error	at TLSSocket.emit (events.js:129:20)
                Error:	2015-11-03 22:55:31	error	at TLSSocket.socketCloseListener (_http_client.js:247:23)
                Error:	2015-11-03 22:55:31	error	at createHangUpError (_http_client.js:215:15)
                Error:	2015-11-03 22:55:31	error	socket hang up
                uncaught	2015-11-03 22:55:31	error	exception: socket hang up
                Error:	2015-11-03 22:55:31	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
                Error:	2015-11-03 22:55:31	error	at exports._errnoException (util.js:746:11)
                Error:	2015-11-03 22:55:31	error	connect EHOSTUNREACH
                uncaught	2015-11-03 22:55:31	error	exception: connect EHOSTUNREACH
                hm-rega-0	2015-11-03 22:55:28	info	State 46031 650
                hm-rega-0	2015-11-03 22:55:28	info	State 46030 1019
                sayit-0	2015-11-03 22:55:28	info	saying: Der Trockner ist fertig
                hm-rega-0	2015-11-03 22:55:27	info	State 36952 7.87
                hm-rega-0	2015-11-03 22:55:27	info	State 36816 8.32
                hm-rega-0	2015-11-03 22:55:27	info	State 36815 7.97
                hm-rega-0	2015-11-03 22:55:26	info	State 34330 5.3
                hm-rega-0	2015-11-03 22:55:26	info	State 34124 101954
                hm-rega-0	2015-11-03 22:55:26	info	State 34122 9.82
                hm-rega-0	2015-11-03 22:55:26	info	State 32642 78
                hm-rega-0	2015-11-03 22:55:25	info	State 12338 10
                hm-rega-0	2015-11-03 22:55:25	info	State 11970 6.1
                sayit-0	2015-11-03 22:55:06	info	Upload announce mp3 files
                sayit-0	2015-11-03 22:55:06	info	starting. Version 0.3.11 in /opt/iobroker/node_modules/iobroker.sayit
                host-bananapi	2015-11-03 22:55:02	info	instance system.adapter.sayit.0 started with pid 5400
                hm-rega-0	2015-11-03 22:54:58	info	State 46717 41.4
                hm-rega-0	2015-11-03 22:54:58	info	State 46031 647
                hm-rega-0	2015-11-03 22:54:58	info	State 46030 1018
                hm-rega-0	2015-11-03 22:54:57	info	State 36952 7.87
                hm-rega-0	2015-11-03 22:54:57	info	State 36816 8.32
                hm-rega-0	2015-11-03 22:54:57	info	State 36815 7.97
                hm-rega-0	2015-11-03 22:54:56	info	State 34330 5.3
                hm-rega-0	2015-11-03 22:54:56	info	State 34124 101954
                hm-rega-0	2015-11-03 22:54:56	info	State 34122 9.82
                hm-rega-0	2015-11-03 22:54:56	info	State 32642 78
                hm-rega-0	2015-11-03 22:54:55	info	State 12338 10
                hm-rega-0	2015-11-03 22:54:55	info	State 11970 6.1
                host-bananapi	2015-11-03 22:54:32	info	Restart adapter system.adapter.sayit.0 because enabled
                host-bananapi	2015-11-03 22:54:32	error	instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
                Error:	2015-11-03 22:54:31	error	at TCP.close (net.js:485:12)
                Error:	2015-11-03 22:54:31	error	at TLSSocket.emit (events.js:129:20)
                Error:	2015-11-03 22:54:31	error	at TLSSocket.socketCloseListener (_http_client.js:247:23)
                Error:	2015-11-03 22:54:31	error	at createHangUpError (_http_client.js:215:15)
                Error:	2015-11-03 22:54:31	error	socket hang up
                uncaught	2015-11-03 22:54:31	error	exception: socket hang up
                Error:	2015-11-03 22:54:31	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
                Error:	2015-11-03 22:54:31	error	at exports._errnoException (util.js:746:11)
                Error:	2015-11-03 22:54:31	error	connect EHOSTUNREACH
                uncaught	2015-11-03 22:54:31	error	exception: connect EHOSTUNREACH
                hm-rega-0	2015-11-03 22:54:28	info	State 46717 41.4
                hm-rega-0	2015-11-03 22:54:28	info	State 46031 647
                hm-rega-0	2015-11-03 22:54:28	info	State 46030 1018
                sayit-0	2015-11-03 22:54:28	info	saying: Der Trockner ist fertig
                hm-rega-0	2015-11-03 22:54:26	info	State 36952 7.87
                hm-rega-0	2015-11-03 22:54:26	info	State 36816 8.32
                hm-rega-0	2015-11-03 22:54:26	info	State 36815 7.97
                hm-rega-0	2015-11-03 22:54:26	info	State 34330 5.3
                hm-rega-0	2015-11-03 22:54:26	info	State 34124 101954
                hm-rega-0	2015-11-03 22:54:26	info	State 34122 9.82
                hm-rega-0	2015-11-03 22:54:25	info	State 32642 78
                hm-rega-0	2015-11-03 22:54:24	info	State 12338 10
                hm-rega-0	2015-11-03 22:54:24	info	State 11970 6.1
                sayit-0	2015-11-03 22:54:06	info	Upload announce mp3 files
                sayit-0	2015-11-03 22:54:06	info	starting. Version 0.3.11 in /opt/iobroker/node_modules/iobroker.sayit
                host-bananapi	2015-11-03 22:54:02	info	instance system.adapter.sayit.0 started with pid 5392
                hm-rega-0	2015-11-03 22:53:58	info	State 46717 41.4
                hm-rega-0	2015-11-03 22:53:58	info	State 46031 647
                hm-rega-0	2015-11-03 22:53:58	info	State 46030 1018
                hm-rega-0	2015-11-03 22:53:57	info	State 36952 7.87
                hm-rega-0	2015-11-03 22:53:57	info	State 36816 8.32
                hm-rega-0	2015-11-03 22:53:57	info	State 36815 7.97
                hm-rega-0	2015-11-03 22:53:56	info	State 34330 5.3
                hm-rega-0	2015-11-03 22:53:56	info	State 34124 101954
                hm-rega-0	2015-11-03 22:53:56	info	State 34122 9.82
                hm-rega-0	2015-11-03 22:53:56	info	State 32642 78
                hm-rega-0	2015-11-03 22:53:55	info	State 12338 10
                hm-rega-0	2015-11-03 22:53:55	info	State 11970 6.1
                host-bananapi	2015-11-03 22:53:32	info	Restart adapter system.adapter.sayit.0 because enabled
                host-bananapi	2015-11-03 22:53:32	error	instance system.adapter.sayit.0 terminated with code 6 (uncaught exception)
                Error:	2015-11-03 22:53:32	error	at TCP.close (net.js:485:12)
                Error:	2015-11-03 22:53:32	error	at TLSSocket.emit (events.js:129:20)
                Error:	2015-11-03 22:53:32	error	at TLSSocket.socketCloseListener (_http_client.js:247:23)
                Error:	2015-11-03 22:53:32	error	at createHangUpError (_http_client.js:215:15)
                Error:	2015-11-03 22:53:32	error	socket hang up
                uncaught	2015-11-03 22:53:32	error	exception: socket hang up
                Error:	2015-11-03 22:53:32	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
                Error:	2015-11-03 22:53:32	error	at exports._errnoException (util.js:746:11)
                Error:	2015-11-03 22:53:32	error	connect EHOSTUNREACH
                uncaught	2015-11-03 22:53:32	error	exception: connect EHOSTUNREACH
                hm-rega-0	2015-11-03 22:53:29	info	State 46717 41.4
                sayit-0	2015-11-03 22:53:28	info	saying: Der Trockner ist fertig
                hm-rega-0	2015-11-03 22:53:29	info	State 46031 647
                hm-rega-0	2015-11-03 22:53:29	info	State 46030 1018
                hm-rega-0	2015-11-03 22:53:27	info	State 36952 7.87
                hm-rega-0	2015-11-03 22:53:27	info	State 36816 8.32
                hm-rega-0	2015-11-03 22:53:27	info	State 36815 7.97
                hm-rega-0	2015-11-03 22:53:27	info	State 34330 5.3
                hm-rega-0	2015-11-03 22:53:27	info	State 34124 101954
                hm-rega-0	2015-11-03 22:53:27	info	State 34122 9.82
                hm-rega-0	2015-11-03 22:53:26	info	State 32642 78
                hm-rega-0	2015-11-03 22:53:25	info	State 12338 10
                hm-rega-0	2015-11-03 22:53:25	info	State 11970 6.1
                javascript-0	2015-11-03 22:53:03	info	script.js.Test2: registered 1 subscription and 0 schedules
                javascript-0	2015-11-03 22:53:03	info	Start javascript script.js.Test2
                

                Gruss Ralf

                1 Antwort Letzte Antwort
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  schrieb am zuletzt editiert von
                  #19

                  Wenn du die Variable sayit.0.tts.text händisch beschreibst (aus admin), kannst du was hören?

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    derrapf
                    schrieb am zuletzt editiert von
                    #20

                    Ah!

                    Ich weiss warum das Dings loopt:

                    Weil ich nur geschrieben habe:

                    on ({id: idTrockner'}, function (data) {
                       sayFinish(idTrockner, 'Der Trockner ist fertig');
                    }); 
                    
                    

                    Soll das so sein?

                    Wenn ich change: 'ne' dazu schreibe wird wieder getriggert, aber dann kommt auch wieder der Absturz des Adapters.

                    Wir haben also zwei Baustellen:

                    a) Wie triggert man richtig (also nur wenn die Variable auf 2 geht) val:2 alleine geht nicht und val:2 mit change geht auch nicht. Nur change alleine scheint zu funktionieren oder eben ganz one change und val. Dann loopt der Mist aber sogar ohne Änderung der Varable

                    Kannst Du vielleicht kurz erläutern wie die on Syntax eigentlch funktioneren soll? Also was bewirken change und val genau und in kombination?

                    b) Der Absturz des Adapters sobald er was sagen soll. Interessanterweise aber nur bei dieser Sysvariablen…

                    Gruss Ralf

                    1 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      derrapf
                      schrieb am zuletzt editiert von
                      #21

                      @Bluefox:

                      Wenn du die Variable sayit.0.tts.text händisch beschreibst (aus admin), kannst du was hören? `

                      Nein. Wenn ich unter Zustände die Variable beschreibe passiert gar nichts.

                      Gruss Ralf

                      1 Antwort Letzte Antwort
                      0
                      • BluefoxB Offline
                        BluefoxB Offline
                        Bluefox
                        schrieb am zuletzt editiert von
                        #22

                        Probier mal mit:

                        on ({id: idTrockner, change: 'any'}, function (obj) {
                           log(obj.newState.val);
                           if (obj.newState.val == 2) {
                           	sayFinish(idTrockner, 'Der Trockner ist fertig');
                           }
                        }); 
                        

                        > Nein. Wenn ich unter Zustände die Variable beschreibe passiert gar nichts.
                        Dann ist dein sayit falsch eingestellt.

                        1 Antwort Letzte Antwort
                        0
                        • D Offline
                          D Offline
                          derrapf
                          schrieb am zuletzt editiert von
                          #23

                          @Bluefox:

                          Probier mal mit:

                          on ({id: idTrockner, change: 'any'}, function (obj) {
                             log(obj.newState.val);
                             if (obj.newState.val == 2) {
                             	sayFinish(idTrockner, 'Der Trockner ist fertig');
                             }
                          }); 
                          ```` `  
                          

                          Da wird wieder nichts getriggert.

                          Mein Sayit ist so eingestellt (Viel gibt's ja nicht einzustellen):
                          743_bild1.jpg

                          Gruss Ralf

                          1 Antwort Letzte Antwort
                          0
                          • BluefoxB Offline
                            BluefoxB Offline
                            Bluefox
                            schrieb am zuletzt editiert von
                            #24

                            Hast du Raspi?

                            Schon das gemacht?
                            > To enable the text to speech on RaspberryPI or linux system call one time following command sudo apt-get -y install mpg321 to install mpg321.

                            Vielleicjt auch testen, dass es tatsächlich geht:

                            https://jeffskinnerbox.wordpress.com/20 … pberry-pi/

                            1 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              derrapf
                              schrieb am zuletzt editiert von
                              #25

                              Hallo Bluefox
                              @Bluefox:

                              Hast du Raspi? `

                              Banana-Pi
                              @Bluefox:

                              Schon das gemacht? `
                              Ich habe nicht das Problem dass Sayit nicht spricht. Er spricht ja. Er triggert nur nicht richtig und beim Triggern dieser einen Sysvar geht er auf die Bretter. Wenn die die idWaschmaschine ändere, dann spricht er ohne Probleme.

                              Und: Er spricht NICHT, wenn ich die sayit.0.tts.text Variabe direkt im Reiter Zustände ändere.

                              Gruss Ralf

                              1 Antwort Letzte Antwort
                              0
                              • D Offline
                                D Offline
                                derrapf
                                schrieb am zuletzt editiert von
                                #26

                                Ich habe mal Dein Script nochmal angepasst und sowohl obj.newState.val als auch obj.oldState.val ausgegeben:

                                var idTrockner       = 'hm-rega.0.44879';     //*STAT_W.Trockner_fertig*/
                                var idSprache        = 'sayit.0.tts.text';    // Sprachausgabe Browser
                                
                                on ({id: idTrockner, change:'ne'}, function (obj) {
                                   log("getriggert! State = "+obj.newState.val);
                                   log("getriggert! State = "+obj.oldState.val);
                                   if (obj.newState.val == 2) {
                                      sayFinish(idTrockner, 'Der Trockner ist fertig');
                                   }
                                }); 
                                
                                function sayFinish(idGeraet, text)
                                {
                                                       setState(idSprache, text);
                                                       log('Saying again: '+text);
                                }
                                

                                Im Log steht

                                javascript.0	2015-11-04 00:54:30	info	javascript.0 script.js.Test2: getriggert! State = fertig
                                javascript.0	2015-11-04 00:54:30	info	javascript.0 script.js.Test2: getriggert! State = 0
                                
                                

                                Da stimmt doch was nicht, oder?

                                Warum gibt obj.newState.val den Index der Werteliste aus, aber obj.oldState.val den Wert?

                                Das ist doch nicht konsistent!

                                Und auf was triggert die On-Syntax? Auf newState oder oldState?

                                Zum Verständnis: Ich setze die Variable manuell im IoBroker auf den Wert2; Irgendwas (nicht die CCU, hab ich grad nachgesehen) setzt sie dann aber recht schnell wieder auf 0 gesetzt so dass sich eben oldState = 2 und newState = 0 ergibt.

                                Auf jeden Fall kommt er nicht in die if-Bedingung, weil newState zu schnell wieder auf 0 geht.

                                Ändere ich die Bedingung auf if (obj.newState.val == 2) {, dann wird setState(idSprache, text) aufgerufen, aber dann geht der Adapter wieder auf die Bretter.

                                Gruss Ralf

                                1 Antwort Letzte Antwort
                                0
                                • D Offline
                                  D Offline
                                  derrapf
                                  schrieb am zuletzt editiert von
                                  #27

                                  Neue Erkenntnisse:

                                  Ich hab jetzt in einem ersten Schritt nur die Probleme mit dem Trigger untersucht:

                                  var idTrockner       = 'hm-rega.0.44879';     //*STAT_W.Trockner_fertig*/
                                  var idSprache        = 'sayit.0.tts.text';    // Sprachausgabe Browser
                                  
                                  on ({id: idTrockner, change:'ne', val: 'fertig'}, function (obj) {
                                     log("getriggert! newState = "+obj.newState.val);
                                     log("getriggert! oldState = "+obj.oldState.val);
                                     if (obj.newState.val == 0) {
                                        sayFinish(idTrockner, 'Der Trockner ist fertig');
                                     }
                                  }); 
                                  
                                  function sayFinish(idGeraet, text)
                                  {
                                                 //        setState(idSprache, text);
                                                         log('Saying again: '+text);
                                  }
                                  

                                  Man muss scheinbar auf val: "fertig" prüfen. In diesem Fall wird die Funktion auch nur bei dem Wert "fertig" getriggert. So soll es sen.

                                  Was mich jetzt wundert ist das Log: Nun steht hier nämlich richtg:

                                  javascript-0	2015-11-04 01:29:28	info	script.js.Test2: getriggert! oldState = laeuft
                                  javascript-0	2015-11-04 01:29:28	info	script.js.Test2: getriggert! newState = fertig
                                  

                                  Lasse ich val: 'fertig' weg, ist newState plötzlich nicht "aus" sondern 0:

                                  javascript-0	2015-11-04 01:34:31	info	script.js.Test2: getriggert! oldState = fertig
                                  javascript-0	2015-11-04 01:34:31	info	script.js.Test2: getriggert! newState = 0
                                  

                                  Warum wird einmal der Index verwendet und dann wieder der Wert der Enumeration? Das ist doch ein Bug oder?

                                  Gruss Ralf

                                  1 Antwort Letzte Antwort
                                  0
                                  • BluefoxB Offline
                                    BluefoxB Offline
                                    Bluefox
                                    schrieb am zuletzt editiert von
                                    #28

                                    @derrapf:

                                    Neue Erkenntnisse:

                                    Ich hab jetzt in einem ersten Schritt nur die Probleme mit dem Trigger untersucht:

                                    var idTrockner       = 'hm-rega.0.44879';     //*STAT_W.Trockner_fertig*/
                                    var idSprache        = 'sayit.0.tts.text';    // Sprachausgabe Browser
                                    
                                       
                                    on ({id: idTrockner, change:'ne', val: 'fertig'}, function (obj) {
                                       log("getriggert! newState = "+obj.newState.val);
                                       log("getriggert! oldState = "+obj.oldState.val);
                                       if (obj.newState.val == 0) {
                                          sayFinish(idTrockner, 'Der Trockner ist fertig');
                                       }
                                    }); 
                                    
                                    function sayFinish(idGeraet, text)
                                    {
                                                   //        setState(idSprache, text);
                                                           log('Saying again: '+text);
                                    }
                                    

                                    Man muss scheinbar auf val: "fertig" prüfen. In diesem Fall wird die Funktion auch nur bei dem Wert "fertig" getriggert. So soll es sen.

                                    Was mich jetzt wundert ist das Log: Nun steht hier nämlich richtg:

                                    javascript-0	2015-11-04 01:29:28	info	script.js.Test2: getriggert! oldState = laeuft
                                    javascript-0	2015-11-04 01:29:28	info	script.js.Test2: getriggert! newState = fertig
                                    

                                    Lasse ich val: 'fertig' weg, ist newState plötzlich nicht "aus" sondern 0:

                                    javascript-0	2015-11-04 01:34:31	info	script.js.Test2: getriggert! oldState = fertig
                                    javascript-0	2015-11-04 01:34:31	info	script.js.Test2: getriggert! newState = 0
                                    

                                    Warum wird einmal der Index verwendet und dann wieder der Wert der Enumeration? Das ist doch ein Bug oder?

                                    Gruss Ralf `
                                    Das ist ein bug. Frage ist nur wo.

                                    1 Antwort Letzte Antwort
                                    0
                                    • D Offline
                                      D Offline
                                      derrapf
                                      schrieb am zuletzt editiert von
                                      #29

                                      Hi Bluefox
                                      > Das ist ein bug. Frage ist nur wo.
                                      Das würde ich Dir gerne sagen wenn ich könnte.

                                      Immerhin wissen wir jetzt wie man es machen muss, bzw. nicht machen darf.

                                      Eine Zusammenfassung dieser Erkenntnisse wäre vielleicht was für's Wiki.

                                      Jetzt aber das eigentliche Problem was mir mehr Sorge bereitet: Das ist der Absturz des Sayit Adapters.

                                      Und jetzt wird es immer ominöser. Ich habe ein wenig rumgespielt:

                                      Kannst Du Dir erklären, dass der Absturz vom Text kommt der ausgegeben werden soll?

                                      Ich habe eben "Die Waschmaschine ist fertig" in beide ON's eingegeben und es hat beides mal ohne Absturz funktioniert.

                                      Danach habe ich als zweiten Text "Die Waschmaschine ist nicht fertig" eingegeben und prompt hat es geknallt.

                                      Andere Texte wie "Du bloedes Teil" oder "test2" und "test1" funktionieren auch nicht und bringen den Adapter zu Absturz.

                                      Hää?????

                                      Wer soll das kapieren?

                                      Du müsstest das theoretisch reproduzieren können mit diesem Code. Der erste Text funktioniert; der zweite Text lässt den Adapter abrauchen.

                                      var idTrockner       = 'hm-rega.0.44879';     //*STAT_W.Trockner_fertig*/
                                      var idSprache        = 'sayit.0.tts.text';    // Sprachausgabe Browser
                                      
                                      on ({id: idTrockner, change:'ne', val: 'fertig'}, function (obj) {
                                            setState(idSprache, 'Die Waschmaschine ist fertig');
                                            setState(idSprache, 'Der Trockner ist fertig');
                                      }); 
                                      

                                      Gruss Ralf

                                      1 Antwort Letzte Antwort
                                      0
                                      • D Offline
                                        D Offline
                                        derrapf
                                        schrieb am zuletzt editiert von
                                        #30

                                        Hallo

                                        Da bluefox nichts mehr zum Thema schreibt: Könnte bitte irgend jemand den Code oben ausprobieren (ev eine andere Variable verwenden)?

                                        Mich würde interessieren ob das ein Bug ist, oder ob was an meiner Installation nicht stimmt.

                                        Gruss Ralf

                                        1 Antwort Letzte Antwort
                                        0
                                        • BluefoxB Offline
                                          BluefoxB Offline
                                          Bluefox
                                          schrieb am zuletzt editiert von
                                          #31

                                          @derrapf:

                                          Hi Bluefox
                                          > Das ist ein bug. Frage ist nur wo.
                                          Das würde ich Dir gerne sagen wenn ich könnte.

                                          Immerhin wissen wir jetzt wie man es machen muss, bzw. nicht machen darf.

                                          Eine Zusammenfassung dieser Erkenntnisse wäre vielleicht was für's Wiki.

                                          Jetzt aber das eigentliche Problem was mir mehr Sorge bereitet: Das ist der Absturz des Sayit Adapters.

                                          Und jetzt wird es immer ominöser. Ich habe ein wenig rumgespielt:

                                          Kannst Du Dir erklären, dass der Absturz vom Text kommt der ausgegeben werden soll?

                                          Ich habe eben "Die Waschmaschine ist fertig" in beide ON's eingegeben und es hat beides mal ohne Absturz funktioniert.

                                          Danach habe ich als zweiten Text "Die Waschmaschine ist nicht fertig" eingegeben und prompt hat es geknallt.

                                          Andere Texte wie "Du bloedes Teil" oder "test2" und "test1" funktionieren auch nicht und bringen den Adapter zu Absturz.

                                          Hää?????

                                          Wer soll das kapieren?

                                          Du müsstest das theoretisch reproduzieren können mit diesem Code. Der erste Text funktioniert; der zweite Text lässt den Adapter abrauchen.

                                          var idTrockner       = 'hm-rega.0.44879';     //*STAT_W.Trockner_fertig*/
                                          var idSprache        = 'sayit.0.tts.text';    // Sprachausgabe Browser
                                          
                                             
                                          on ({id: idTrockner, change:'ne', val: 'fertig'}, function (obj) {
                                                setState(idSprache, 'Die Waschmaschine ist fertig');
                                                setState(idSprache, 'Der Trockner ist fertig');
                                          }); 
                                          

                                          Gruss Ralf `
                                          change und val sind überflüssig.

                                          Es triggert erst "change - not equal" (auf Änderung) und dann falls change nicht getriggert hat, dann wird noch geprüft ob es 'fertig' ist.

                                          D.h. dein Fall muss einfach so sein "{id: idTrockner, val: 'fertig'}"

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          862

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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