Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Skript Frage - 2tes Gerät 10 Minuten später

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    1.1k

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.6k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    6.1k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
54 Beiträge 2 Kommentatoren 6.2k Aufrufe
  • Ä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.
  • N Offline
    N Offline
    noxx
    schrieb am zuletzt editiert von
    #6

    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 Antwort Letzte Antwort
    0
    • N Offline
      N Offline
      noxx
      schrieb am zuletzt editiert von
      #7

      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 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #8

        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.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #9

          Ä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;
          
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

          1 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            noxx
            schrieb am zuletzt editiert von
            #10

            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 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #11

              Eigenartig :o 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);
                  ...
              });
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

              1 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                noxx
                schrieb am zuletzt editiert von
                #12
                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 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #13

                  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);
                  });
                  

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                  1 Antwort Letzte Antwort
                  0
                  • N Offline
                    N Offline
                    noxx
                    schrieb am zuletzt editiert von
                    #14

                    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 Antwort Letzte Antwort
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #15
                      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.

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                      1 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #16

                        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);
                        
                        

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                        1 Antwort Letzte Antwort
                        0
                        • N Offline
                          N Offline
                          noxx
                          schrieb am zuletzt editiert von
                          #17

                          sind drin, auch vorher schon.

                          hatte iobroker gerade upgedatet (discovery/vis)

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

                          1 Antwort Letzte Antwort
                          0
                          • N Offline
                            N Offline
                            noxx
                            schrieb am zuletzt editiert von
                            #18

                            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 Antwort Letzte Antwort
                            0
                            • paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #19

                              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;
                              }
                              });

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                              1 Antwort Letzte Antwort
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #20

                                @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 ?

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                                1 Antwort Letzte Antwort
                                0
                                • N Offline
                                  N Offline
                                  noxx
                                  schrieb am zuletzt editiert von
                                  #21

                                  Bekomme immer noch einen Fehler bei deiner Anpassung

                                  javascript.0	2017-07-18 19:08:16.743	error	at script.js.common.Hühnerstall:112:37
                                  javascript.0	2017-07-18 19:08:16.743	error	script.js.common.Hühnerstall: TypeError: getState(...).val.indexOf is not a function
                                  javascript.0	2017-07-18 19:08:16.683	warn	Cannot calculate "night" for 53.0000, 7.0000
                                  javascript.0	2017-07-18 19:08:16.679	warn	Cannot calculate "nightEnd" for 53.0000, 7.0000
                                  javascript.0	2017-07-18 19:08:16.676	warn	Cannot calculate "night" for 53.0000, 7.0000
                                  javascript.0	2017-07-18 19:08:16.613	info	Start javascript script.js.common.Hühnerstall
                                  

                                  sowie diese Warnung

                                  javascript.0	2017-07-18 21:09:44.246	warn	Wrong type of fhem.0.ESP03_Notlicht.state: "boolean". Please fix, while deprecated and will not work in next versions.
                                  

                                  > Hast Du eventuell die FHEM-Namenskonventionen nicht beachtet ?
                                  Wo? Wird eigentlich alles von selbst erkannt, habe nichts einstellen müssen.

                                  Sehe aber, das das SWI aus dem FHEM Modul kommt. Muss mal gucken, wie man das

                                  ändert
                                  2880_unbenannt.png

                                  1 Antwort Letzte Antwort
                                  0
                                  • N Offline
                                    N Offline
                                    noxx
                                    schrieb am zuletzt editiert von
                                    #22

                                    FHEM ist nun angepasst, nun haben ich einen "Schalter" in den Objekten:

                                    21:20:13.829	[info]	javascript.0 Start javascript script.js.common.test
                                    21:20:13.832	[info]	javascript.0 script.js.common.test: Temp 22.5 number
                                    21:20:13.832	[info]	javascript.0 script.js.common.test: Innen false boolean
                                    21:20:13.832	[info]	javascript.0 script.js.common.test: Not true boolean
                                    21:20:13.832	[info]	javascript.0 script.js.common.test: Heizung false boolean
                                    21:20:13.832	[info]	javascript.0 script.js.common.test: registered 0 subscriptions and 9 schedules
                                    

                                    Notlicht springt aber immer noch sofort an.

                                    Hänge mal die FHEM Settings an, nicht das ich das mal vergesse :-)

                                    EDIT

                                    Habe nun mal wieder die erste Version drauf, mal sehen obs nun geht. Bisher ist "Notlicht" aus
                                    2880_1.png

                                    1 Antwort Letzte Antwort
                                    0
                                    • paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von
                                      #23

                                      @noxx:

                                      FHEM ist nun angepasst, nun haben ich einen "Schalter" in den Objekten: `
                                      Das sieht gut aus !
                                      @noxx:

                                      Notlicht springt aber immer noch sofort an. `
                                      Dann ergänze mal im on() im Skript aus meinem ersten Beitrag

                                      on({id: idAktor_Innenlicht, change: 'ne', ack: true}, function(dp) {
                                      

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                                      1 Antwort Letzte Antwort
                                      0
                                      • N Offline
                                        N Offline
                                        noxx
                                        schrieb am zuletzt editiert von
                                        #24

                                        gemacht, ich warte ab.

                                        das Astroscript spinnt aber wohl rum

                                        javascript.0 2017-07-18 21:28:34.135 warn Cannot calculate "night" for 53.0000, 7.0000

                                        javascript.0 2017-07-18 21:28:34.122 warn Cannot calculate "nightEnd" for 53.0000, 7.0000

                                        javascript.0 2017-07-18 21:28:34.117 warn Cannot calculate "night" for 53.0000, 7.0000

                                        1 Antwort Letzte Antwort
                                        0
                                        • N Offline
                                          N Offline
                                          noxx
                                          schrieb am zuletzt editiert von
                                          #25

                                          hmm, nun ist das Innenlicht an. sollte ab 22:00 dunkel sein :-)

                                          > javascript.0 2017-07-18 22:11:00.364 info script.js.common.Hühnerstall: 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()
                                          {
                                          var nacht = compareTime('22:00', '06:00', 'between');
                                          log('User-Log: Innenlicht: ' + aktor_Innenlicht);
                                          log('User-Log: Nacht: ' + nacht);
                                          if(nacht && !isAstroDay())
                                          {
                                          if(!aktor_Innenlicht) setState(idAktor_Innenlicht, true);
                                          }
                                          else if(aktor_Innenlicht) setState(idAktor_Innenlicht, false);
                                          }
                                          ! function heizung()
                                          {
                                          if (temp < 1)
                                          {
                                          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;
                                          });

                                          
                                          

                                          22:16:00.542 [info] javascript.0 script.js.common.Hühnerstall: User-Log: Innenlicht: true
                                          22:16:00.544 [info] javascript.0 script.js.common.Hühnerstall: User-Log: Nacht: true

                                          
                                          EDIT
                                          
                                          Habs mal umgedreht, nun gehts wie es soll (hoffe ich)
                                          
                                          var nacht = compareTime('06:00', '22:00', 'between');
                                          1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          451

                                          Online

                                          33.0k

                                          Benutzer

                                          83.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2026
                                          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