Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Skript reagiert plötzlich anders

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Skript reagiert plötzlich anders

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

      Hallo liebe Foristen,

      ich komme mit einem (für mich) dringenden Problem zu euch.
      Seit vorgestern reagiert ein Skript anders und macht es damit für mich unbrauchbar. Ich habe schon diverse Versionen des Javascript-Adapters getestet (von 4.9.0 bis 4.9.8).
      Ich hoffe ihr könnt mir helfen.

      Zum Skript, falls die Anwesenheit auf false steht und der Datenpunkt "Türkontakte" auf false wechselt (sprich eine Tür geht auf), soll die Alarmanlage ausgelöst werden.
      Das hat immer bestens funktioniert aber seit gestern löst die Alarmanlage auch aus, wenn wir zu Hause sind, sprich Anwesenheit = true.

      Habt ihr eine Idee, was das Problem sein kann?

      Anbei das Skript, sowie ein Debug-Ausdruck vom Skript.

      Debug_02112020_1519.txt
      Skript_Alarmanlage.txt

      Homoran dslraser paul53 3 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Chrille1507 last edited by

        @Chrille1507 sagte in Skript reagiert plötzlich anders:

        Anbei das Skript,

        bitte hier als text in code-tags posten, nicht als Anhänge

        C 1 Reply Last reply Reply Quote 0
        • C
          Chrille1507 @Homoran last edited by

          @Homoran Entschuldigung. Mache ich:

          Skript Alarmanlage auslösen:

          ///////////////////////////////////
          ///                             ///
          /// Auslösung der Alarmanlage   ///
          /// Stand: 13.10.2020           ///
          ///                             ///
          ///////////////////////////////////
          
          on({id: "0_userdata.0.Türkontakte.alle_Türen_geschlossen", change:"ne"}, function(obj) {
              if (getState("0_userdata.0.Türkontakte.alle_Türen_geschlossen").val==false && getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy").val==false) 
              {
                  setState("0_userdata.0.Alarmanlage.Alarmanlage_ausgelöst", true);
                  sendTo('telegram.0', {text: "Achtung die Alarmanlage hat ausgelöst"});
              } else {
                  setState("0_userdata.0.Alarmanlage.Alarmanlage_ausgelöst", false);
              }    
          });
          
          
          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Chrille1507 last edited by Homoran

            Hier stand Blödsinn!

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

              @Homoran sagte:

              setz mal "true" in Anführungszeichen (und alle boolschen Werte)

              Das meinst Du nicht ernst ?

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @paul53 last edited by Homoran

                @paul53 Hab mich schon korrigiert (wohl nicht schnell genug 😉 ) - das war der "Fehler" bei Bindings in vis

                1 Reply Last reply Reply Quote 0
                • dslraser
                  dslraser Forum Testing Most Active @Chrille1507 last edited by

                  @Chrille1507
                  ist da ein Haken drinn ? (Schraubenschlüssel anklicken)

                  Bildschirmfoto 2020-11-02 um 18.36.06.png

                  Bildschirmfoto 2020-11-02 um 18.36.12.png

                  setForeignState(id=0_userdata.0.Alarmanlage.Alarmanlage_ausgelöst, state=true) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
                  
                  C 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Chrille1507 last edited by paul53

                    @Chrille1507 sagte:

                    seit gestern löst die Alarmanlage auch aus, wenn wir zu Hause sind, sprich Anwesenheit = true.

                    Wenn etwas nicht so funktioniert wie erwartet, dann baut man Debug-Ausgaben ein.

                    on({id: "0_userdata.0.Türkontakte.alle_Türen_geschlossen", change:"ne"}, function(obj) {
                        log('geschlossen: ' + obj.state.val + ' Typ: ' + typeof obj.state.val);
                        let anw = getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy").val;
                        log('anwesend: ' + anw + ' Typ: ' + typeof anw);
                    

                    Ist "0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy" die richtige Datenpunkt-ID ?

                    C 2 Replies Last reply Reply Quote 0
                    • C
                      Chrille1507 @dslraser last edited by

                      @dslraser

                      Normalerweise nicht. Hatte ich nur um das Debug zu erstellen (Siehe erster Beitrag)

                      1 Reply Last reply Reply Quote 0
                      • C
                        Chrille1507 @paul53 last edited by

                        @paul53
                        Danke für den Hinweis, das werde ich mir angewöhnen.
                        Ja der Datenpunkt stimmt und funktioniert ansonsten wunschgemäß.

                        1 Reply Last reply Reply Quote 0
                        • C
                          Chrille1507 @paul53 last edited by

                          @paul53 Auf die Gefahr hin, verprügelt zu werden, muss ich gestehen, dass es jetzt funktioniert bzw. das Problem nicht mehr auftritt. Ich habe es mit Javascript-Adapter Version 4.9.0 und 4.9.8 getestet. Anbei die Logs:

                          V 4.9.0

                          2.11.2020, 19:31:47.913 [info ]: javascript.0 (1516) Stop script script.js.Alarmanlage.Alarmanlage_ausgelöst
                          2.11.2020, 19:31:47.941 [info ]: javascript.0 (1516) Start javascript script.js.Alarmanlage.Alarmanlage_ausgelöst
                          2.11.2020, 19:31:47.969 [info ]: javascript.0 (1516) script.js.Alarmanlage.Alarmanlage_ausgelöst: registered 1 subscription and 0 schedules
                          2.11.2020, 19:32:04.186 [info ]: javascript.0 (1516) Stop script script.js.Alarmanlage.Alarmanlage_ausgelöst
                          2.11.2020, 19:32:04.193 [info ]: javascript.0 (1516) Start javascript script.js.Alarmanlage.Alarmanlage_ausgelöst
                          2.11.2020, 19:32:04.210 [info ]: javascript.0 (1516) script.js.Alarmanlage.Alarmanlage_ausgelöst: registered 1 subscription and 0 schedules
                          2.11.2020, 19:32:44.116 [info ]: javascript.0 (1516) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: false Typ: boolean
                          2.11.2020, 19:32:44.117 [info ]: javascript.0 (1516) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                          2.11.2020, 19:32:49.314 [info ]: javascript.0 (1516) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: true Typ: boolean
                          2.11.2020, 19:32:49.315 [info ]: javascript.0 (1516) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                          2.11.2020, 19:32:52.311 [info ]: javascript.0 (1516) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: false Typ: boolean
                          2.11.2020, 19:32:52.312 [info ]: javascript.0 (1516) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                          2.11.2020, 19:32:55.316 [info ]: javascript.0 (1516) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: true Typ: boolean
                          2.11.2020, 19:32:55.317 [info ]: javascript.0 (1516) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean

                          V 4.9.8

                          2.11.2020, 19:38:41.192 [info ]: javascript.0 (1498) Stop script script.js.Alarmanlage.Alarmanlage_ausgelöst
                          2.11.2020, 19:38:41.822 [info ]: javascript.0 (1498) Start javascript script.js.Alarmanlage.Alarmanlage_ausgelöst
                          2.11.2020, 19:38:41.845 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: registered 1 subscription and 0 schedules
                          2.11.2020, 19:41:00.807 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: false Typ: boolean
                          2.11.2020, 19:41:00.810 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                          2.11.2020, 19:41:06.452 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: true Typ: boolean
                          2.11.2020, 19:41:06.452 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                          2.11.2020, 19:41:09.286 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: false Typ: boolean
                          2.11.2020, 19:41:09.287 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                          2.11.2020, 19:41:12.446 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: true Typ: boolean
                          2.11.2020, 19:41:12.446 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                          2.11.2020, 19:41:21.440 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: false Typ: boolean
                          2.11.2020, 19:41:21.440 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                          2.11.2020, 19:41:25.128 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: true Typ: boolean
                          2.11.2020, 19:41:25.129 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                          2.11.2020, 19:41:26.860 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: false Typ: boolean
                          2.11.2020, 19:41:26.861 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                          2.11.2020, 19:41:29.286 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: true Typ: boolean
                          2.11.2020, 19:41:29.287 [info ]: javascript.0 (1498) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean

                          Der Vollständigkeit halber noch das Skript:

                          ///////////////////////////////////
                          ///                             ///
                          /// Auslösung der Alarmanlage   ///
                          /// Stand: 02.11.2020           ///
                          ///                             ///
                          ///////////////////////////////////
                          
                          on({id: "0_userdata.0.Türkontakte.alle_Türen_geschlossen", change:"ne"}, function(obj) {
                              log('geschlossen: ' + obj.state.val + ' Typ: ' + typeof obj.state.val);
                              let anw = getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy").val;
                              log('anwesend: ' + anw + ' Typ: ' + typeof anw);
                              if (getState("0_userdata.0.Türkontakte.alle_Türen_geschlossen").val==false && getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy").val==false) 
                              {
                                  setState("0_userdata.0.Alarmanlage.Alarmanlage_ausgelöst", true);
                                  sendTo('telegram.0', {text: "Achtung die Alarmanlage hat ausgelöst"});
                              }  
                          });
                          
                          

                          Aber woran es jetzt lag, erschließt sich mir leider nicht.

                          Trotzdem vielen Dank für die schnelle Hilfe.

                          1 Reply Last reply Reply Quote 0
                          • C
                            Chrille1507 last edited by

                            Guten Morgen,

                            leider kann ich das Thema nun doch noch nicht zu den Akten legen.
                            Heute morgen, als ich das Haus verlassen wollte, ist wieder die Alarmanlage angesprungen.

                            Im Log konnte ich lesen, dass der "anwesend" als false erkannt wird. Soweit so verständlich aber der Datenpunkt "0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy" ist in den Objekten als "true" gesetzt.

                            Gestern Abend siehe Log von 19:48 Uhr war anwesend noch true. Seit dem hatte auch niemand mehr das Haus verlassen.

                            Habt ihr eine Idee, woran es hier jetzt scheitert bzw. was das Problem ist?

                            Asgothian 1 Reply Last reply Reply Quote 0
                            • Asgothian
                              Asgothian Developer @Chrille1507 last edited by Asgothian

                              @Chrille1507
                              Ich habe keine genaue Vorstellung von dem Problem, aber eine Option wie du das ggf. umgehen kannst. Ich gehe aktuell davon aus das es am Zeitverhalten liegt, sprich das die Datenpunkte in einer zeitlich ungünstigen Folge gesetzt werden.

                              Versuch mal bitte folgendes:

                              Der Vollständigkeit halber noch das Skript:
                              
                              ///////////////////////////////////
                              ///                             ///
                              /// Auslösung der Alarmanlage   ///
                              /// Stand: 02.11.2020           ///
                              ///                             ///
                              ///////////////////////////////////
                               
                              on({"0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy", change: "ne"}, function(obj) {
                                log('anwesend was changed to ' + obj.state.val + ' source = ' + obj.state.from);
                              });
                              
                              on({id: "0_userdata.0.Türkontakte.alle_Türen_geschlossen", change:"ne"}, function(obj) {
                                  log('geschlossen: ' + obj.state.val + ' Typ: ' + typeof obj.state.val);
                                  let anw = getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy").val;
                                  log('anwesend: ' + anw + ' Typ: ' + typeof anw);
                                  if (obj.state.val==false && anw==false) 
                                  {
                                      setState("0_userdata.0.Alarmanlage.Alarmanlage_ausgelöst", true);
                                      sendTo('telegram.0', {text: "Achtung die Alarmanlage hat ausgelöst"});
                                  }  
                              });
                               
                              

                              Warum die Anpassungen ?

                              • bei dem Wechsel vom erneuten Datenpunkt holen zum Prüfen des Triggerwertes geht es um das Ausschliessen einer sogenannten "race condition" - Der Thread in dem der Datenpunkt abgefragt wird und der in dem er geändert wird laufen nicht synchron. Daher kann es durchaus vorkommen das beim erneuten holen des Datenpunktwertes der Wert der zur Aktivierung des Triggers geführt hat noch nicht geschrieben ist.
                              • bei dem Wechsel vom erneuten holen des Datenpunktes zur Variable "anw" geht es primär darum Ressourcen zu schonen. Du kannst hinterher einfach das 'log' auskommentieren und den rest so lassen.
                              • der zusätzliche Trigger überwacht wer wann den Anwesend Datenpunkt umschreibt.

                              A.

                              C 1 Reply Last reply Reply Quote 0
                              • C
                                Chrille1507 @Asgothian last edited by

                                @Asgothian Vielen Dank für die schnelle Rückmeldung.
                                Ich werde das gleich als erstes heute testen.

                                1 Reply Last reply Reply Quote 0
                                • C
                                  Chrille1507 last edited by

                                  Guten Morgen,
                                  neuer Tag gleiche Probleme.

                                  Ich hatte gestern mein Skript soweit geändert, wie @Asgothian es vorgeschlagen hat.
                                  Heute Morgen gab es dann wieder das Problem, dass die Alarmanlage ausgelöst wurde.

                                  Anbei der Auszug aus dem Log:

                                  2020-11-04 07:10:45.504 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: false Typ: boolean
                                  2020-11-04 07:10:45.555 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                                  
                                  2020-11-04 07:11:05.911 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: true Typ: boolean
                                  2020-11-04 07:11:05.912 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                                  
                                  2020-11-04 07:30:21.443 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: false Typ: boolean
                                  2020-11-04 07:30:21.467 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: false Typ: boolean
                                  
                                  2020-11-04 07:30:45.699 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: true Typ: boolean
                                  2020-11-04 07:30:45.700 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: false Typ: boolean
                                  
                                  2020-11-04 07:31:52.401 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: false Typ: boolean
                                  2020-11-04 07:31:52.402 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: false Typ: boolean
                                  
                                  2020-11-04 07:32:17.581 - info: javascript.0 (12613) Stop script script.js.Alarmanlage.Alarmanlage_ausgelöst
                                  

                                  Das ist doch zum verzweifeln. Was mache ich nur falsch?

                                  Asgothian 1 Reply Last reply Reply Quote 0
                                  • Asgothian
                                    Asgothian Developer @Chrille1507 last edited by

                                    @Chrille1507

                                    • poste bitte mal das Skript wie es jetzt ist
                                    • hast du geschaut ob es Meldungen von dem zusätzlichen Trigger gibt ?

                                    A.

                                    C 1 Reply Last reply Reply Quote 0
                                    • C
                                      Chrille1507 @Asgothian last edited by Chrille1507

                                      @Asgothian
                                      Anbei das Skript:

                                      ///////////////////////////////////
                                      ///                             ///
                                      /// Auslösung der Alarmanlage   ///
                                      /// Stand: 02.11.2020           ///
                                      ///                             ///
                                      ///////////////////////////////////
                                      
                                      on({id: "0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy", change:"ne"}, function(obj) {
                                          log('anwesend was changed to ' + obj.state.val + ' source = ' + obj.state.from);
                                      });
                                      
                                      on({id: "0_userdata.0.Türkontakte.alle_Türen_geschlossen", change:"ne"}, function(obj) {
                                          log('geschlossen: ' + obj.state.val + ' Typ: ' + typeof obj.state.val);
                                          let anw = getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy").val;
                                          log('anwesend: ' + anw + ' Typ: ' + typeof anw);
                                          if (obj.state.val==false && anw==false) 
                                          {
                                              setState("0_userdata.0.Alarmanlage.Alarmanlage_ausgelöst", true);
                                              sendTo('telegram.0', {text: "Achtung die Alarmanlage hat ausgelöst"});
                                          }  
                                      });
                                      
                                      

                                      Nein, von denen gibt es keine Meldungen. Also wir tatsächlich das Haus verlassen haben, ca. 07.35 Uhr hat der Rest (Licht aus, Steckdosen aus etc.), der sich auf den Datenpunkt "0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy" bezieht aber funktioniert.

                                      Kleiner Nachtrag, einen Log über den Datenpunkt "0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy" konnte er auch nicht erzeugen, weil ich Idiot ja das Skript beendet hatte, bevor ich gegangen bin. Bin ich blöd....

                                      Asgothian 1 Reply Last reply Reply Quote 0
                                      • Asgothian
                                        Asgothian Developer @Chrille1507 last edited by

                                        @Chrille1507 Da ist was Faul. Der Datenpunkt hat sich geändert, dementsprechend muss es eigentlich auch eine Meldung für die Änderung geben.

                                        2020-11-04 07:11:05.911 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: true Typ: boolean
                                        2020-11-04 07:11:05.912 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: true Typ: boolean
                                         
                                        2020-11-04 07:30:21.443 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: false Typ: boolean
                                        2020-11-04 07:30:21.467 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: false Typ: boolean
                                        
                                        

                                        @Chrille1507 sagte in Skript reagiert plötzlich anders:

                                        Kleiner Nachtrag, einen Log über den Datenpunkt "0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy" konnte er auch nicht erzeugen, weil ich Idiot ja das Skript beendet hatte, bevor ich gegangen bin. Bin ich blöd....

                                        Zwischen den beiden oben angegebenen Zeilen muss sich der Datenpunkt geändert haben. Dementsprechend muss es auch einen Eintrag dazu im Log geben. Kannst du bitte mal auf der Log-Seite im Log schauen, nicht im am JS Editor angehängten Log ?

                                        Zusätzlich hilft es wenn du auch vor dem SendTo einen log-Eintrag erzeugst, damit du rein im Log feststellen kannst das er da lang gegangen ist.

                                        A.

                                        C 1 Reply Last reply Reply Quote 0
                                        • C
                                          Chrille1507 @Asgothian last edited by Chrille1507

                                          @Asgothian

                                          Ich habe alle Daten aus dem Log und da hat gibt es keinen Eintrag. Ich bin wirklich jeden einzelnen Punkt (ich muss den Radar2-Adapter deaktivieren 🙄 ) durchgegangen.

                                          Ich habe jetzt noch ein Log in meine Anwesenheitserfassung eingebaut. Das Skript sieht so aus

                                          //Anwesenheit Peggy oder Christian
                                          on({id: beideanwesenheit, change:"ne"}, function(obj) {
                                              if (getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Peggy").val==true || getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian").val==true)
                                              {
                                                  setState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy", true);
                                                  log('AnwesenheitBeide geändert auf ' + getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy").val);
                                              } else {
                                                  setState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy", false);
                                                  log('AnwesenheitBeide geändert auf ' + getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy").val);
                                                  sendTo('telegram.0', {text: "Es ist niemand mehr zu Hause"});
                                              };
                                              log('AnwesenheitBeide geändert auf ' + getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy").val);
                                          });
                                          

                                          Und jetzt auch mit den Anwesenheiten gespielt. Dazu gibt das Log folgendes aus:

                                          
                                          2020-11-04 09:10:10.556 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: false Typ: boolean
                                          2020-11-04 09:10:10.558 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: false Typ: boolean
                                          2020-11-04 09:10:10.558 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: false Typ: boolean
                                          2020-11-04 09:10:12.559 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: true Typ: boolean
                                          2020-11-04 09:10:12.559 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: false Typ: boolean
                                          
                                          2020-11-04 09:10:32.531 - info: javascript.0 (12613) script.js.Alarmanlage.An-_und_Abwesenheit.Anwesenheiten: AnwesenheitBeide geändert auf false
                                          2020-11-04 09:10:32.532 - info: javascript.0 (12613) script.js.Alarmanlage.An-_und_Abwesenheit.Anwesenheiten: AnwesenheitBeide geändert auf false
                                          2020-11-04 09:10:32.538 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend was changed to true source = system.adapter.javascript.0
                                          
                                          2020-11-04 09:10:49.046 - info: javascript.0 (12613) script.js.Alarmanlage.An-_und_Abwesenheit.Anwesenheiten: AnwesenheitBeide geändert auf true
                                          2020-11-04 09:10:49.047 - info: javascript.0 (12613) script.js.Alarmanlage.An-_und_Abwesenheit.Anwesenheiten: AnwesenheitBeide geändert auf true
                                          2020-11-04 09:10:49.108 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend was changed to false source = system.adapter.javascript.0
                                          
                                          2020-11-04 09:11:03.046 - info: javascript.0 (12613) script.js.Alarmanlage.An-_und_Abwesenheit.Anwesenheiten: AnwesenheitBeide geändert auf false
                                          2020-11-04 09:11:03.047 - info: javascript.0 (12613) script.js.Alarmanlage.An-_und_Abwesenheit.Anwesenheiten: AnwesenheitBeide geändert auf false
                                          2020-11-04 09:11:03.098 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend was changed to true source = system.adapter.javascript.0
                                          
                                          2020-11-04 09:11:34.032 - info: javascript.0 (12613) script.js.Alarmanlage.An-_und_Abwesenheit.Anwesenheiten: AnwesenheitBeide geändert auf true
                                          2020-11-04 09:11:34.034 - info: javascript.0 (12613) script.js.Alarmanlage.An-_und_Abwesenheit.Anwesenheiten: AnwesenheitBeide geändert auf true
                                          2020-11-04 09:11:34.128 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend was changed to false source = system.adapter.javascript.0
                                          
                                          2020-11-04 09:11:57.086 - info: javascript.0 (12613) script.js.Alarmanlage.An-_und_Abwesenheit.Anwesenheiten: AnwesenheitBeide geändert auf false
                                          2020-11-04 09:11:57.086 - info: javascript.0 (12613) script.js.Alarmanlage.An-_und_Abwesenheit.Anwesenheiten: AnwesenheitBeide geändert auf false
                                          2020-11-04 09:11:57.138 - info: javascript.0 (12613) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend was changed to true source = system.adapter.javascript.0
                                          
                                          

                                          Hier muss der Fehler stecken, ich konnte ihn aber bisher nicht finden.

                                          1 Reply Last reply Reply Quote 0
                                          • C
                                            Chrille1507 last edited by

                                            Ich habe nochmal am Skript für die Anwesenheit gearbeitet und werde jetzt erstmal folgende Einstellung testen:

                                            //Anwesenheit Peggy oder Christian
                                            on({id: beideanwesenheit, change:"ne"}, function(obj) {
                                                let anwP = getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Peggy").val;
                                                let anwC = getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian").val;
                                                if (anwP==true || anwC==true)
                                                {
                                                    setState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy", true);
                                                    log('AnwesenheitBeide geändert auf ' + '"' + getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy").val + '"');
                                                } else {
                                                    setState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy", false);
                                                    log('AnwesenheitBeide geändert auf ' + '"' + getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy").val + '"');
                                                    sendTo('telegram.0', {text: "Es ist niemand mehr zu Hause"});
                                                };
                                                log('AnwesenheitBeide geändert auf ' + '"' + getState("0_userdata.0.Alarmanlage.Anwesenheit_Übersicht.Anwesenheit_Christian_und_Peggy").val + '"');
                                            });
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            608
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            21
                                            754
                                            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