Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Skript Frage - 2tes Gerät 10 Minuten später

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Skript Frage - 2tes Gerät 10 Minuten später

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      noxx last edited by

      Hallo,

      habe zwei Fragen zu einem Script:

      ! var idTemp = "fhem.0.ESP03_Temperatur.Temperature"/*ESP03_Temperatur Temperature*/; var idAktor_Innenlicht = "fhem.0.ESP03_Innenlicht.state"/*ESP03_Innenlicht state*/; var idAktor_Notlicht = "fhem.0.ESP03_Notlicht.state"/*ESP03_Notlicht state*/; var idAktor_Heizung = "fhem.0.ESP03_Heizung.state"/*ESP03_Heizung state*/; ! var minOn = false; var temp = getState(idTemp).val; var aktor_Innenlicht = getState(idAktor_Innenlicht).val; var aktor_Notlicht = getState(idAktor_Notlicht).val; var aktor_Heizung = getState(idAktor_Heizung).val; ! function Zeitschaltung() { var morgen = compareTime('06:00', "javascript.0.Tageszeit.Sonnenaufgang", 'between'); var abend = compareTime("javascript.0.Tageszeit.Sonnenuntergang", '22:00', 'between'); if(morgen || abend) { if(!aktor_Innenlicht) setState(idAktor_Innenlicht, true); } else if(aktor_Innenlicht) setState(idAktor_Innenlicht, false); } ! function heizung() { if (temp < 0) { if (!aktor_Heizung) setState(idAktor_Heizung, true); } else if (aktor_Heizung) setState(idAktor_Heizung, false); } ! schedule('* * * * *', Zeitschaltung); !

      Das Script ist für einen Stall. Hier soll es zwischen 6:00 und 22:00 "hell" sein, entweder

      durch Tageslicht oder durch künstliches Licht (fhem.0.ESP03_Innenlicht.state).

      1. Was macht das Script, wenn Sonnenaufgang zb um 5:00 Uhr ist? Wenn dieser

      um zb 8:00 ist, schaltet er ja hoffentlich ab 6:00 die Lampe an und um 8:00 wieder aus.

      1. Eine 2te Lampe (fhem.0.ESP03_Notlicht.state) soll abends noch 10 Minuten nachleuchten, sofern

      Lampe 1 geschaltet wurde.

      zb

      22:00 Lampe 1 aus / Lampe 2 an

      22:10 Lampe 2 aus

      Weiß leider nicht, wie man das einbringen kann.

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        Die Aktorvariablen und die Temperaturvariable werden nie aktualisiert.

        var idTemp = "fhem.0.ESP03_Temperatur.Temperature"/*ESP03_Temperatur Temperature*/;
        var idAktor_Innenlicht = "fhem.0.ESP03_Innenlicht.state"/*ESP03_Innenlicht state*/;
        var idAktor_Notlicht = "fhem.0.ESP03_Notlicht.state"/*ESP03_Notlicht state*/;
        var idAktor_Heizung = "fhem.0.ESP03_Heizung.state"/*ESP03_Heizung state*/;
        
        var temp = getState(idTemp).val;
        var aktor_Innenlicht = getState(idAktor_Innenlicht).val;
        var aktor_Notlicht = getState(idAktor_Notlicht).val;
        var aktor_Heizung = getState(idAktor_Heizung).val;
        var timer = null;
        
        function Zeitschaltung()
        {
           var nacht = compareTime('22:00', '06:00', 'between');
           if(nacht && !isAstroDay())
           {
              if(!aktor_Innenlicht) setState(idAktor_Innenlicht, true);
           }
           else if(aktor_Innenlicht) setState(idAktor_Innenlicht, false);
        }
        
        function heizung()
        {
            if (temp < 0)
            {
                if (!aktor_Heizung) setState(idAktor_Heizung, true);
            }
            else if (aktor_Heizung) setState(idAktor_Heizung, false);
        }
        
        schedule('* * * * *', Zeitschaltung);
        
        on(idTemp, function(dp) {
            temp = dp.state.val;
            heizung();
        });
        
        on({id: idAktor_Innenlicht, ack: true}, function(dp) {
            aktor_Innenlicht = dp.state.val;
            if(timer) clearTimeout(timer);
            if(!aktor_Innenlicht) {  // schaltet aus
                setState(idAktor_Notlicht, true);  // Notlicht ein
                timer = setTimeout(function() {
                    setState(idAktor_Notlicht, false);
                }, 600000);  // nach 10 Minuten aus
            }        
        });
        
        on({id: idAktor_Notlicht, ack: true}, function(dp) {
            aktor_Notlicht = dp.state.val;
        });
        
        on({id: idAktor_Heizung, ack: true}, function(dp) {
            aktor_Heizung = dp.state.val;
        });
        
        

        EDIT: Korrigiert idAktor_Aussenlicht –> idAktor_Innenlicht

        1 Reply Last reply Reply Quote 0
        • N
          noxx last edited by

          danke sehr, ich werde es ausprobieren-

          gruß

          1 Reply Last reply Reply Quote 0
          • N
            noxx last edited by

            hmm, das Notlicht springt sofort an, geht aber nicht mehr aus.

            ! fhem.0 2017-07-16 19:08:00.430 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 19:08:00.402 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 19:07:00.406 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 19:07:00.378 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 19:06:00.422 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 19:06:00.381 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 19:05:00.402 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 19:05:00.379 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 19:04:00.406 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 19:04:00.381 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 19:03:00.398 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 19:03:00.380 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 19:02:00.402 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 19:02:00.381 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 19:01:00.401 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 19:01:00.380 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 19:00:00.410 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 19:00:00.383 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 18:59:00.411 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 18:59:00.387 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 18:58:00.400 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 18:58:00.379 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 18:57:00.416 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 18:57:00.385 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 18:56:00.406 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 18:56:00.385 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 18:55:00.414 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 18:55:00.386 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 18:54:00.414 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 18:54:00.388 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 18:53:00.415 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on fhem.0 2017-07-16 18:53:00.390 info fhem.0.ESP03_Innenlicht.state.false ==> writeFHEM: set ESP03_Innenlicht off fhem.0 2017-07-16 18:52:00.414 info fhem.0.ESP03_Notlicht.state.true ==> writeFHEM: set ESP03_Notlicht on !

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              Das Licht wird jede Minute ausgeschaltet, was nicht sein dürfte. In die Zeitschaltung habe ich wohl einen Fehler eingebaut (Aussenlicht). Zum Testen baue mal ein Log ein:

              function Zeitschaltung()
              {
                 log('Innenlicht: ' + aktor_Innenlicht);
                 var nacht = compareTime('22:00', '06:00', 'between');
                 if(nacht && !isAstroDay())
                 {
                    if(!aktor_Innenlicht) setState(idAktor_Innenlicht, true);
                 }
                 else if(aktor_Innenlicht) setState(idAktor_Innenlicht, false);
              }
              
              
              1 Reply Last reply Reply Quote 0
              • N
                noxx last edited by

                danke, das mit dem Aussenlicht hatte ich schon korrigiert, das kanns

                nicht gewesen sein.

                log:

                fhem.0	2017-07-16 22:26:02.702	info	fhem.0.ESP03_Heizung.state.false ==> writeFHEM: set ESP03_Heizung off
                javascript.0	2017-07-16 22:26:00.750	info	script.js.common.Hühnerstall: Innenlicht: Swi: off
                fhem.0	2017-07-16 22:25:02.675	info	fhem.0.ESP03_Heizung.state.false ==> writeFHEM: set ESP03_Heizung off
                javascript.0	2017-07-16 22:25:00.749	info	script.js.common.Hühnerstall: Innenlicht: Swi: off
                fhem.0	2017-07-16 22:24:02.669	info	fhem.0.ESP03_Heizung.state.false ==> writeFHEM: set ESP03_Heizung off
                javascript.0	2017-07-16 22:24:00.749	info	script.js.common.Hühnerstall: Innenlicht: Swi: off
                javascript.0	2017-07-16 22:23:47.750	info	script.js.common.Hühnerstall: registered 3 subscriptions and 1 schedule
                javascript.0	2017-07-16 22:23:47.729	info	Start javascript script.js.common.Hühnerstall
                
                1 Reply Last reply Reply Quote 0
                • N
                  noxx last edited by

                  sonst vielleicht einer ne Idee, warum das hier immer durchläuft?

                  if(nacht && !isAstroDay())
                     {
                        if(!aktor_Innenlicht) setState(idAktor_Innenlicht, true);
                     }
                  

                  ! ````
                  var idTemp = "fhem.0.ESP03_Temperatur.Temperature"/ESP03_Temperatur Temperature/;
                  var idAktor_Innenlicht = "fhem.0.ESP03_Innenlicht.state"/ESP03_Innenlicht state/;
                  var idAktor_Notlicht = "fhem.0.ESP03_Notlicht.state"/ESP03_Notlicht state/;
                  var idAktor_Heizung = "fhem.0.ESP03_Heizung.state"/ESP03_Heizung state/;
                  ! var temp = getState(idTemp).val;
                  var aktor_Innenlicht = getState(idAktor_Innenlicht).val;
                  var aktor_Notlicht = getState(idAktor_Notlicht).val;
                  var aktor_Heizung = getState(idAktor_Heizung).val;
                  var timer = null;
                  ! function Zeitschaltung()
                  {
                  log('Innenlicht: ' + aktor_Innenlicht);
                  var nacht = compareTime('22:00', '06:00', 'between');
                  if(nacht && !isAstroDay())
                  {
                  if(!aktor_Innenlicht) setState(idAktor_Innenlicht, true);
                  }
                  else if(aktor_Innenlicht) setState(idAktor_Innenlicht, false);
                  }
                  ! function heizung()
                  {
                  if (temp < 0)
                  {
                  if (!aktor_Heizung) setState(idAktor_Heizung, true);
                  }
                  else if (aktor_Heizung) setState(idAktor_Heizung, false);
                  }
                  ! schedule('* * * * *', Zeitschaltung);
                  ! on(idTemp, function(dp) {
                  temp = dp.state.val;
                  heizung();
                  });
                  ! on(idAktor_Innenlicht, function(dp) {
                  aktor_Innenlicht = dp.state.val;
                  if(timer) clearTimeout(timer);
                  if(!aktor_Innenlicht) { // schaltet aus
                  setState(idAktor_Notlicht, true); // Notlicht ein
                  timer = setTimeout(function() {
                  setState(idAktor_Notlicht, false);
                  }, 600000); // nach 10 Minuten aus
                  }
                  });
                  ! on(idAktor_Notlicht, function(dp) {
                  aktor_Notlicht = dp.state.val;
                  });
                  ! on(idAktor_Heizung, function(dp) {
                  aktor_Heizung = dp.state.val;
                  });

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 last edited by

                    Aus dem Log ist ersichtlich, dass die Aktoren keine boolschen Werte liefern, sondern so etwas wie Swi: off. Dann muss man es in den Skripten entsprechend anpassen. Allerdings hätte ich erwartet, dass der FHEM-Adapter diese Anpassungen vornimmt.

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      Ändere mal in allen on(idAktor..)-Funktionen das

                          aktor... = dp.state.val;
                      

                      in

                          if(dp.state.val.indexOf('on') != -1) aktor... = true; 
                          else aktor... = false;
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • N
                        noxx last edited by

                        bekomme einen Fehler.

                        javascript.0	2017-07-17 17:35:00.281	error	Error in callback: TypeError: dp.state.val.indexOf is not a function
                        
                        on(idAktor_Notlicht, function(dp) {
                            if(dp.state.val.indexOf('on') != -1) aktor_Notlicht = true; 
                            aktor_Notlicht = false;
                        });
                        
                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 last edited by

                          Eigenartig 😮 Bei der Log-Ausgabe hätte ich einen String 'Swi: off' erwartet. Logge mal anstelle der Abfrage:

                          on(idAktor_Innenlicht, function(dp) {
                              log(dp.state.val + ' ' + typeof dp.state.val);
                              ...
                          });
                          
                          1 Reply Last reply Reply Quote 0
                          • N
                            noxx last edited by

                            on(idAktor_Notlicht, function(dp) {
                                log(dp.state.val + ' ' + typeof dp.state.val);
                            });
                            

                            LOG:

                            
                            javascript.0	2017-07-17 17:47:01.409	info	script.js.common.Hühnerstall: Swi: on string
                            javascript.0	2017-07-17 17:47:00.453	info	script.js.common.Hühnerstall: true boolean
                            
                            
                            1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 last edited by

                              Nach dem Setzen (setState()) wird offenbar ein boolscher Wert geliefert und nach ca. einer Sekunde (ack: true) ein String. Dann versuche es mal so:

                              on({id: idAktor_Notlicht, ack: true}, function(dp) {
                                  log(dp.state.val + ' ' + typeof dp.state.val);
                              });
                              
                              1 Reply Last reply Reply Quote 0
                              • N
                                noxx last edited by

                                hmm, nun geht nix mehr 🙂

                                Entweder spinnt iobroker oder er mag den "Befehl" nicht

                                fhem.0	2017-07-17 18:20:18.935	warn	Readings "Swi" still not found in "ESP03_Innenlicht" after JsonList2
                                fhem.0	2017-07-17 18:20:18.455	info	Unknown state "ESP03_Innenlicht.Swi
                                fhem.0	2017-07-17 18:20:08.256	warn	Readings "Swi" still not found in "ESP03_Heizung" after JsonList2
                                fhem.0	2017-07-17 18:20:07.581	info	Unknown state "ESP03_Heizung.Swi
                                fhem.0	2017-07-17 18:20:04.155	warn	Readings "Swi" still not found in "ESP03_Notlicht" after JsonList2
                                fhem.0	2017-07-17 18:20:03.622	info	Unknown state "ESP03_Notlicht.Swi
                                fhem.0	2017-07-17 18:20:03.133	warn	Readings "Swi" still not found in "ESP03_Innenlicht" after JsonList2
                                fhem.0	2017-07-17 18:20:02.568	info	Unknown state "ESP03_Innenlicht.Swi
                                host.raspberrypi	2017-07-17 18:20:01.139	info	Restart adapter system.adapter.javascript.0 because enabled
                                host.raspberrypi	2017-07-17 18:20:01.137	error	instance system.adapter.javascript.0 terminated with code 0 (OK)
                                javascript.0	2017-07-17 18:20:01.019	error	at Timer.listOnTimeout (timers.js:92:15)
                                javascript.0	2017-07-17 18:20:01.019	error	at null._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:479:11)
                                javascript.0	2017-07-17 18:20:01.019	error	at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:175:10)
                                javascript.0	2017-07-17 18:20:01.019	error	at Job.job (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1501:34)
                                javascript.0	2017-07-17 18:20:01.019	error	at Object. (script.js.common.Astro:103:4)
                                javascript.0	2017-07-17 18:20:01.019	error	at zeiten_speichern (script.js.common.Astro:63:44)
                                javascript.0	2017-07-17 18:20:01.019	error	TypeError: Cannot read property 'toLocaleTimeString' of undefined
                                javascript.0	2017-07-17 18:20:00.995	error	uncaught exception: Cannot read property 'toLocaleTimeString' of undefined
                                javascript.0	2017-07-17 18:20:00.971	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:20:00.969	error	Longitude or latitude does not set. Cannot use astro.
                                fhem.0	2017-07-17 18:20:00.412	warn	Readings "Cou" still not found in "ESP04_Gaszaehler" after JsonList2
                                fhem.0	2017-07-17 18:20:00.343	warn	Unknown event "ESPEasy ESP03_Notlicht on"
                                fhem.0	2017-07-17 18:20:00.314	warn	Unknown event "ESPEasy ESP03_Innenlicht off"
                                fhem.0	2017-07-17 18:19:59.775	info	Unknown state "ESP04_Gaszaehler.Cou
                                fhem.0	2017-07-17 18:19:57.120	warn	Readings "Swi" still not found in "ESP03_Aussenlicht" after JsonList2
                                fhem.0	2017-07-17 18:19:56.556	info	Unknown state "ESP03_Aussenlicht.Swi
                                fhem.0	2017-07-17 18:19:55.878	warn	Readings "Tem" still not found in "ESP03_Temperatur" after JsonList2
                                fhem.0	2017-07-17 18:19:55.368	info	Unknown state "ESP03_Temperatur.Tem
                                javascript.0	2017-07-17 18:19:39.299	info	script.js.common.Müllkalender2push: registered 0 subscriptions and 1 schedule
                                javascript.0	2017-07-17 18:19:39.286	info	Start javascript script.js.common.Müllkalender2push
                                javascript.0	2017-07-17 18:19:39.281	info	script.js.common.Müllkalender: registered 1 subscription and 1 schedule
                                javascript.0	2017-07-17 18:19:39.253	info	script.js.common.Müllkalender: Muellwarnung.GelbeTonne
                                javascript.0	2017-07-17 18:19:39.252	info	script.js.common.Müllkalender: Muellwarnung.GrueneTonne
                                javascript.0	2017-07-17 18:19:39.250	info	script.js.common.Müllkalender: Muellwarnung.BlaueTonne
                                javascript.0	2017-07-17 18:19:39.248	info	script.js.common.Müllkalender: Muellwarnung.Reststoff
                                javascript.0	2017-07-17 18:19:39.239	info	Start javascript script.js.common.Müllkalender
                                javascript.0	2017-07-17 18:19:39.235	info	script.js.common.Hühnerstall: registered 4 subscriptions and 1 schedule
                                javascript.0	2017-07-17 18:19:39.214	info	Start javascript script.js.common.Hühnerstall
                                javascript.0	2017-07-17 18:19:39.209	info	script.js.common.LowBat: registered 4 subscriptions and 1 schedule
                                javascript.0	2017-07-17 18:19:39.204	info	script.js.common.LowBat: lowbat(4):
                                javascript.0	2017-07-17 18:19:39.047	info	Start javascript script.js.common.LowBat
                                javascript.0	2017-07-17 18:19:39.034	info	script.js.common.Denon: registered 39 subscriptions and 0 schedules
                                javascript.0	2017-07-17 18:19:39.021	error	script.js.common.Denon: ungültige IP Adresse
                                javascript.0	2017-07-17 18:19:38.982	info	Start javascript script.js.common.Denon
                                javascript.0	2017-07-17 18:19:38.975	info	script.js.common.Astro: registered 0 subscriptions and 9 schedules
                                javascript.0	2017-07-17 18:19:38.953	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:19:38.953	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:19:38.952	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:19:38.952	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:19:38.951	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:19:38.951	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:19:38.950	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:19:38.948	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:19:38.919	info	Start javascript script.js.common.Astro
                                javascript.0	2017-07-17 18:19:38.912	info	script.js.common.PoolPumpe: registered 2 subscriptions and 1 schedule
                                javascript.0	2017-07-17 18:19:38.812	info	Start javascript script.js.common.PoolPumpe
                                javascript.0	2017-07-17 18:19:38.600	info	received all objects
                                javascript.0	2017-07-17 18:19:37.748	info	received all states
                                javascript.0	2017-07-17 18:19:35.912	info	requesting all objects
                                javascript.0	2017-07-17 18:19:35.905	info	requesting all states
                                javascript.0	2017-07-17 18:19:35.861	info	starting. Version 3.2.6 in /opt/iobroker/node_modules/iobroker.javascript, node: v4.6.2
                                host.raspberrypi	2017-07-17 18:19:31.130	info	instance system.adapter.javascript.0 started with pid 997
                                fhem.0	2017-07-17 18:19:30.282	warn	Readings "Cou" still not found in "ESP04_Gaszaehler" after JsonList2
                                fhem.0	2017-07-17 18:19:29.746	info	Unknown state "ESP04_Gaszaehler.Cou
                                fhem.0	2017-07-17 18:19:08.277	warn	Readings "Swi" still not found in "ESP03_Heizung" after JsonList2
                                fhem.0	2017-07-17 18:19:07.506	info	Unknown state "ESP03_Heizung.Swi
                                fhem.0	2017-07-17 18:19:04.032	warn	Readings "Swi" still not found in "ESP03_Notlicht" after JsonList2
                                fhem.0	2017-07-17 18:19:03.563	info	Unknown state "ESP03_Notlicht.Swi
                                fhem.0	2017-07-17 18:19:03.092	warn	Readings "Swi" still not found in "ESP03_Innenlicht" after JsonList2
                                fhem.0	2017-07-17 18:19:02.503	info	Unknown state "ESP03_Innenlicht.Swi
                                host.raspberrypi	2017-07-17 18:19:01.104	info	Restart adapter system.adapter.javascript.0 because enabled
                                host.raspberrypi	2017-07-17 18:19:01.102	error	instance system.adapter.javascript.0 terminated with code 0 (OK)
                                javascript.0	2017-07-17 18:19:01.014	error	at Timer.listOnTimeout (timers.js:92:15)
                                javascript.0	2017-07-17 18:19:01.014	error	at null._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:479:11)
                                javascript.0	2017-07-17 18:19:01.014	error	at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:175:10)
                                javascript.0	2017-07-17 18:19:01.014	error	at Job.job (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1501:34)
                                javascript.0	2017-07-17 18:19:01.014	error	at Object. (script.js.common.Astro:103:4)
                                javascript.0	2017-07-17 18:19:01.014	error	at zeiten_speichern (script.js.common.Astro:63:44)
                                javascript.0	2017-07-17 18:19:01.014	error	TypeError: Cannot read property 'toLocaleTimeString' of undefined
                                javascript.0	2017-07-17 18:19:00.991	error	uncaught exception: Cannot read property 'toLocaleTimeString' of undefined
                                javascript.0	2017-07-17 18:19:00.962	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:19:00.960	error	Longitude or latitude does not set. Cannot use astro.
                                fhem.0	2017-07-17 18:19:00.680	warn	Readings "Cou" still not found in "ESP04_Gaszaehler" after JsonList2
                                fhem.0	2017-07-17 18:19:00.363	warn	Unknown event "ESPEasy ESP03_Notlicht on"
                                fhem.0	2017-07-17 18:19:00.280	warn	Unknown event "ESPEasy ESP03_Innenlicht off"
                                fhem.0	2017-07-17 18:18:59.715	info	Unknown state "ESP04_Gaszaehler.Cou
                                fhem.0	2017-07-17 18:18:57.102	warn	Readings "Swi" still not found in "ESP03_Aussenlicht" after JsonList2
                                fhem.0	2017-07-17 18:18:56.477	info	Unknown state "ESP03_Aussenlicht.Swi
                                fhem.0	2017-07-17 18:18:55.818	warn	Readings "Tem" still not found in "ESP03_Temperatur" after JsonList2
                                fhem.0	2017-07-17 18:18:55.290	info	Unknown state "ESP03_Temperatur.Tem
                                javascript.0	2017-07-17 18:18:48.280	info	script.js.common.Müllkalender2push: registered 0 subscriptions and 1 schedule
                                javascript.0	2017-07-17 18:18:48.267	info	Start javascript script.js.common.Müllkalender2push
                                javascript.0	2017-07-17 18:18:48.263	info	script.js.common.Müllkalender: registered 1 subscription and 1 schedule
                                javascript.0	2017-07-17 18:18:48.228	info	script.js.common.Müllkalender: Muellwarnung.GelbeTonne
                                javascript.0	2017-07-17 18:18:48.227	info	script.js.common.Müllkalender: Muellwarnung.GrueneTonne
                                javascript.0	2017-07-17 18:18:48.225	info	script.js.common.Müllkalender: Muellwarnung.BlaueTonne
                                javascript.0	2017-07-17 18:18:48.223	info	script.js.common.Müllkalender: Muellwarnung.Reststoff
                                javascript.0	2017-07-17 18:18:48.214	info	Start javascript script.js.common.Müllkalender
                                javascript.0	2017-07-17 18:18:48.210	info	script.js.common.Hühnerstall: registered 4 subscriptions and 1 schedule
                                javascript.0	2017-07-17 18:18:48.192	info	Start javascript script.js.common.Hühnerstall
                                javascript.0	2017-07-17 18:18:48.187	info	script.js.common.LowBat: registered 4 subscriptions and 1 schedule
                                javascript.0	2017-07-17 18:18:48.183	info	script.js.common.LowBat: lowbat(4):
                                javascript.0	2017-07-17 18:18:48.009	info	Start javascript script.js.common.LowBat
                                javascript.0	2017-07-17 18:18:48.003	info	script.js.common.Denon: registered 39 subscriptions and 0 schedules
                                javascript.0	2017-07-17 18:18:47.997	error	script.js.common.Denon: ungültige IP Adresse
                                javascript.0	2017-07-17 18:18:47.962	info	Start javascript script.js.common.Denon
                                javascript.0	2017-07-17 18:18:47.956	info	script.js.common.Astro: registered 0 subscriptions and 9 schedules
                                javascript.0	2017-07-17 18:18:47.940	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:18:47.940	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:18:47.939	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:18:47.939	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:18:47.938	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:18:47.938	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:18:47.937	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:18:47.936	error	Longitude or latitude does not set. Cannot use astro.
                                javascript.0	2017-07-17 18:18:47.907	info	Start javascript script.js.common.Astro
                                javascript.0	2017-07-17 18:18:47.901	info	script.js.common.PoolPumpe: registered 2 subscriptions and 1 schedule
                                javascript.0	2017-07-17 18:18:47.786	info	Start javascript script.js.common.PoolPumpe
                                javascript.0	2017-07-17 18:18:47.619	info	received all objects
                                javascript.0	2017-07-17 18:18:46.891	info	received all states
                                javascript.0	2017-07-17 18:18:45.212	info	requesting all objects
                                javascript.0	2017-07-17 18:18:45.204	info	requesting all states
                                javascript.0	2017-07-17 18:18:45.161	info	starting. Version 3.2.6 in /opt/iobroker/node_modules/iobroker.javascript, node: v4.6.2
                                
                                1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 last edited by

                                  javascript.0   2017-07-17 18:18:47.936   error   Longitude or latitude does not set. Cannot use astro.
                                  

                                  Du solltest erst einmal die Koordinaten eingeben, damit die Funktion isAstroDay() funktionieren kann.

                                  1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 last edited by

                                    Erzeuge erst einmal ein reines Test-Skript, damit wir über die Werte Bescheid wissen.

                                    var idTemp = "fhem.0.ESP03_Temperatur.Temperature"/*ESP03_Temperatur Temperature*/;
                                    var idAktor_Innenlicht = "fhem.0.ESP03_Innenlicht.state"/*ESP03_Innenlicht state*/;
                                    var idAktor_Notlicht = "fhem.0.ESP03_Notlicht.state"/*ESP03_Notlicht state*/;
                                    var idAktor_Heizung = "fhem.0.ESP03_Heizung.state"/*ESP03_Heizung state*/;
                                    
                                    var temp = getState(idTemp).val;
                                    var aktor_Innenlicht = getState(idAktor_Innenlicht).val;
                                    var aktor_Notlicht = getState(idAktor_Notlicht).val;
                                    var aktor_Heizung = getState(idAktor_Heizung).val;
                                    var timer = null;
                                    
                                    log('Temp ' + temp + ' ' + typeof temp);
                                    log('Innen ' + aktor_Innenlicht + ' ' + typeof aktor_Innenlicht);
                                    log('Not ' + aktor_Notlicht + ' ' + typeof aktor_Notlicht);
                                    log('Heizung ' + aktor_Heizung + ' ' + typeof aktor_Heizung);
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • N
                                      noxx last edited by

                                      sind drin, auch vorher schon.

                                      hatte iobroker gerade upgedatet (discovery/vis)

                                      nun spinnt er… wenns wieder läuft, kommt das LOG

                                      1 Reply Last reply Reply Quote 0
                                      • N
                                        noxx last edited by

                                        so

                                        22:12:56.811	[info]	javascript.0 Start javascript script.js.common.test
                                        22:12:56.815	[info]	javascript.0 script.js.common.test: Temp 18.5 number
                                        22:12:56.816	[info]	javascript.0 script.js.common.test: Innen Swi: off string
                                        22:12:56.816	[info]	javascript.0 script.js.common.test: Not Swi: off string
                                        22:12:56.818	[info]	javascript.0 script.js.common.test: Heizung Swi: off string
                                        22:12:56.819	[info]	javascript.0 script.js.common.test: registered 0 subscriptions and 0 schedules
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 last edited by

                                          Dann sollte das Skript an ein paar Stellen umgebaut werden.

                                          ! ````
                                          var idTemp = "fhem.0.ESP03_Temperatur.Temperature"/ESP03_Temperatur Temperature/;
                                          var idAktor_Innenlicht = "fhem.0.ESP03_Innenlicht.state"/ESP03_Innenlicht state/;
                                          var idAktor_Notlicht = "fhem.0.ESP03_Notlicht.state"/ESP03_Notlicht state/;
                                          var idAktor_Heizung = "fhem.0.ESP03_Heizung.state"/ESP03_Heizung state/;
                                          ! var temp = getState(idTemp).val;
                                          var aktor_Innenlicht = false;
                                          if(getState(idAktor_Innenlicht).val.indexOf('on') != -1) aktor_Innenlicht = true;
                                          var aktor_Notlicht = false;
                                          if(getState(idAktor_Notlicht).val.indexOf('on') != -1) aktor_Notlicht = true;
                                          var aktor_Heizung = false;
                                          if(getState(idAktor_Heizung).val.indexOf('on') != -1) aktor_Heizung = true;
                                          var timer = null;
                                          ! function Zeitschaltung()
                                          {
                                          var nacht = compareTime('22:00', '06:00', 'between');
                                          if(nacht && !isAstroDay())
                                          {
                                          if(!aktor_Innenlicht) setState(idAktor_Innenlicht, true);
                                          }
                                          else if(aktor_Innenlicht) setState(idAktor_Innenlicht, false);
                                          }
                                          ! function heizung()
                                          {
                                          if (temp < 0)
                                          {
                                          if (!aktor_Heizung) setState(idAktor_Heizung, true);
                                          }
                                          else if (aktor_Heizung) setState(idAktor_Heizung, false);
                                          }
                                          ! schedule('* * * * *', Zeitschaltung);
                                          ! on(idTemp, function(dp) {
                                          temp = dp.state.val;
                                          heizung();
                                          });
                                          ! on({id: idAktor_Innenlicht, ack: true}, function(dp) {
                                          if(typeof dp.state.val == 'string') {
                                          if(dp.state.val.indexOf('on') != -1) aktor_Innenlicht = true;
                                          else aktor_Innenlicht = false;
                                          }
                                          if(timer) clearTimeout(timer);
                                          if(!aktor_Innenlicht) { // schaltet aus
                                          setState(idAktor_Notlicht, true); // Notlicht ein
                                          timer = setTimeout(function() {
                                          setState(idAktor_Notlicht, false);
                                          }, 600000); // nach 10 Minuten aus
                                          }
                                          });
                                          ! on({id: idAktor_Notlicht, ack: true}, function(dp) {
                                          if(typeof dp.state.val == 'string'){
                                          if(dp.state.val.indexOf('on') != -1) aktor_Notlicht = true;
                                          else aktor_Notlicht = false;
                                          }
                                          });
                                          ! on({id: idAktor_Heizung, ack: true}, function(dp) {
                                          if(typeof dp.state.val == 'string') {
                                          if(dp.state.val.indexOf('on') != -1) aktor_Heizung = true;
                                          else aktor_Heizung = false;
                                          }
                                          });

                                          1 Reply Last reply Reply Quote 0
                                          • paul53
                                            paul53 last edited by

                                            @paul53:

                                            Allerdings hätte ich erwartet, dass der FHEM-Adapter diese Anpassungen vornimmt. `
                                            Habe mir den FHEM-Adapter mal angesehen und festgestellt, dass der Adapter die Anpassung macht: ' on' –> true, ' off' --> false.

                                            Allerdings kann er er mit 'Swi: on' und 'Swi: off' nichts anfangen. Woher kommt das 'Swi:' ? Hast Du eventuell die FHEM-Namenskonventionen nicht beachtet ?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            527
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            54
                                            4606
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo