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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Skript reagiert plötzlich anders

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Skript reagiert plötzlich anders

Geplant Angeheftet Gesperrt Verschoben JavaScript
21 Beiträge 5 Kommentatoren 1.4k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • paul53P 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 Offline
    C Offline
    Chrille1507
    schrieb am zuletzt editiert von
    #10

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

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

      @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 Antwort Letzte Antwort
      0
      • C Offline
        C Offline
        Chrille1507
        schrieb am zuletzt editiert von
        #12

        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?

        AsgothianA 1 Antwort Letzte Antwort
        0
        • C Chrille1507

          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?

          AsgothianA Offline
          AsgothianA Offline
          Asgothian
          Developer
          schrieb am zuletzt editiert von Asgothian
          #13

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

          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

          C 1 Antwort Letzte Antwort
          0
          • AsgothianA 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 Offline
            C Offline
            Chrille1507
            schrieb am zuletzt editiert von
            #14

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

            1 Antwort Letzte Antwort
            0
            • C Offline
              C Offline
              Chrille1507
              schrieb am zuletzt editiert von
              #15

              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?

              AsgothianA 1 Antwort Letzte Antwort
              0
              • C Chrille1507

                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?

                AsgothianA Offline
                AsgothianA Offline
                Asgothian
                Developer
                schrieb am zuletzt editiert von
                #16

                @Chrille1507

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

                A.

                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                C 1 Antwort Letzte Antwort
                0
                • AsgothianA Asgothian

                  @Chrille1507

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

                  A.

                  C Offline
                  C Offline
                  Chrille1507
                  schrieb am zuletzt editiert von Chrille1507
                  #17

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

                  AsgothianA 1 Antwort Letzte Antwort
                  0
                  • C 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....

                    AsgothianA Offline
                    AsgothianA Offline
                    Asgothian
                    Developer
                    schrieb am zuletzt editiert von
                    #18

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

                    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                    C 1 Antwort Letzte Antwort
                    0
                    • AsgothianA Asgothian

                      @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 Offline
                      C Offline
                      Chrille1507
                      schrieb am zuletzt editiert von Chrille1507
                      #19

                      @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 :face_with_rolling_eyes: ) 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 Antwort Letzte Antwort
                      0
                      • C Offline
                        C Offline
                        Chrille1507
                        schrieb am zuletzt editiert von
                        #20

                        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 Antwort Letzte Antwort
                        0
                        • C Offline
                          C Offline
                          Chrille1507
                          schrieb am zuletzt editiert von
                          #21

                          Kleines Update. Das Problem besteht weiterhin.

                          javascript.0	2020-11-04 11:36:33.932	info	(28278) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: false Typ: boolean
                          javascript.0	2020-11-04 11:36:33.931	info	(28278) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: true Typ: boolean
                          javascript.0	2020-11-04 11:36:30.324	info	(28278) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: false Typ: boolean
                          javascript.0	2020-11-04 11:36:30.324	info	(28278) script.js.Alarmanlage.Alarmanlage_ausgelöst: anwesend: false Typ: boolean
                          javascript.0	2020-11-04 11:36:30.319	info	(28278) script.js.Alarmanlage.Alarmanlage_ausgelöst: geschlossen: false Typ: boolean
                          
                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          756

                          Online

                          32.6k

                          Benutzer

                          82.0k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe