Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. (erledigt) Javascript Adapter Fehler

    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

    (erledigt) Javascript Adapter Fehler

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active last edited by dslraser

      Javascript Adapter Version 5.2.8

      Hallo,
      ich habe jetzt eine ganze Weile meinen Fehler gesucht, aber ich denke es ist ein Bug ?

      Bildschirmfoto 2021-07-31 um 17.05.06.png

      Wenn ich Variablen als Trigger benutze, dann funktioniert nur eine Einzelne Variable.

      funktioniert:

      Bildschirmfoto 2021-07-31 um 16.49.27.png

      on({id: id_Regen_letzte_Stunde, change: "ne"}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        await regen_aktuell();
      });
      

      funktioniert nicht (Trigger lösen nicht aus)

      Bildschirmfoto 2021-07-31 um 16.42.29.png

      on({id: new RegExp(id_Regen_aktuell + "$|" + id_Regen_letzte_Stunde + "$"), change: "ne"}, async function (obj) {
          await regen_aktuell();
      });
      

      EDIT:
      https://github.com/ioBroker/ioBroker.javascript/issues/870

      dslraser created this issue in ioBroker/ioBroker.javascript

      closed mehre Variablen als Trigger lösen nicht aus (Blockly) #870

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

        @dslraser

        Weshalb gehst Du den Umweg über Variablen?

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

          @paul53 sagte in Javascript Adapter Fehler:

          Wenn Du auf mehrere Variablen (mit IDs) triggern möchtest, dann packe die Variablen in ein Array und übergebe das Array an den Trigger.

          Ich bin mir sicher, das es auf jeden Fall mal so ging wie oben gezeigt, oder das ich das in anderen Blocklys so wie oben gezeigt habe.
          Wurde das geändert ?

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

            @dslraser sagte: Ich bin mir sicher, das es auf jeden Fall mal so ging wie oben gezeigt

            Gerade getestet: Es funktioniert mit Variablen, die IDs enthalten (JS 5.2.8).

            Bild_2021-07-31_171921.png

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

              @paul53 sagte in Javascript Adapter Fehler:

              Gerade getestet: Es funktioniert mit Variablen, die IDs enthalten (JS 5.2.8).

              dann weiß ich nicht warum es bei mir nicht geht ?
              Ich muß dazu sagen, die IDs die ich verwende sind von Jemand Anderem. Ich habe den Adapter gar nicht installiert, nur einen json Export seiner Datenpunkte bei mir importiert. (ich ändere zum testen nur die Werte der Datenpunkte, um zu sehen ob mein Blockly funktioniert )

              Bildschirmfoto 2021-07-31 um 17.23.08.png

              Mit einer ID als Variablen geht es, mit zwei dann nicht mehr. Nehme ich keine Variablen, sondern klicke direkt in den Trigger und wähle die zwei Datenpunkte aus geht es auch...?

              Weshalb gehst Du den Umweg über Variablen?

              Ich habe mir angewöhnt erstmal alles "ausserhalb" zu setzen, dann braucht Jemand, der das Blockly dann importiert und andere IDs hat, nur diese Dinge ändern und nicht das ganze Blockly zu durchsuchen. Und ich kann dann die Variablen für mich so benennen wie ich sie am besten verstehe.

              Bildschirmfoto 2021-07-31 um 17.29.59.png

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

                @dslraser
                Könnte es sein, dass die Klammern bei "Wohnbereich-(Innen)" Probleme bereiten?

                dslraser 2 Replies Last reply Reply Quote 1
                • dslraser
                  dslraser Forum Testing Most Active @paul53 last edited by

                  @paul53 sagte in Javascript Adapter Fehler:

                  @dslraser
                  Könnte es sein, dass die Klammern bei "Wohnbereich-(Innen)" Probleme bereiten?

                  ich probiere mal den json export der Datenpunkte zu bearbeiten.

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

                    @paul53 sagte in Javascript Adapter Fehler:

                    Könnte es sein, dass die Klammern bei "Wohnbereich-(Innen)" Probleme bereiten?

                    Das war es !
                    So geht es wie es soll. (Also sind Klammern in der ID wohl Sonderzeichen und nicht so eine gute Idee ?)
                    Die Klammern legt wohl aber der Adapter netatmo so an. Wie gesagt, ich habe den Adapter gar nicht installiert.

                    Bildschirmfoto 2021-07-31 um 18.01.32.png

                    F K paul53 3 Replies Last reply Reply Quote 0
                    • F
                      fastfoot @dslraser last edited by fastfoot

                      @dslraser sagte in Javascript Adapter Fehler:

                      Also sind Klammern in der ID wohl Sonderzeichen und nicht so eine gute Idee ?

                      im RegExp haben Klammern eine eigene Bedeutung, will man sie 'normal' verwenden so muss man sie escapen \(. Wenn du im Trigger die normalen ID's verwendest dann macht das der JS-Adapter für dich, bei Verwendung von Variablen halt nicht. Im Blockly gibt es mW leider kein Ersetzen einzelner Zeichen, du könntest aber eine JS-Funktion verwenden mit variable = variable.replace('(','\\(').replace(')','\\)'). Passt natürlich nur wenn du die Variablen nur im Trigger benötigst und sonst nirgends. Eine Verwendung der Funktion im Trigger funktioniert nicht! In der Funktion steht nur: return var1.replace('(','\\(').replace(')','\\)');
                      trigger.PNG

                      1 Reply Last reply Reply Quote 1
                      • K
                        Kaiman55 @dslraser last edited by

                        @dslraser sagte in Javascript Adapter Fehler:

                        @paul53 sagte in Javascript Adapter Fehler:

                        Könnte es sein, dass die Klammern bei "Wohnbereich-(Innen)" Probleme bereiten?

                        Das war es !
                        So geht es wie es soll. (Also sind Klammern in der ID wohl Sonderzeichen und nicht so eine gute Idee ?)
                        Die Klammern legt wohl aber der Adapter netatmo so an. Wie gesagt, ich habe den Adapter gar nicht installiert.

                        Bildschirmfoto 2021-07-31 um 18.01.32.png

                        So sieht das in der Netatmo App aus.
                        Dort wird der Wohnbereich so aufgeteilt.
                        Innen und Aussen ist getrennt.
                        Ich kann das leider auch nicht ändern.
                        Das der Netatmo Adapter daraus "(Wohnbereich (innen) macht, ist ja eigentlich falsch, da "Regen" direkt unter "Wohnbereich/Terrasse" liegt.
                        netatmo01.jpeg
                        netatmo02.jpeg
                        netatmo03.jpeg

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

                          @dslraser sagte: So geht es wie es soll.

                          Dann schließe das Issue.

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

                            @paul53 sagte in Javascript Adapter Fehler:

                            @dslraser sagte: So geht es wie es soll.

                            Dann schließe das Issue.

                            mache ich, aber müßte nicht dieser Adapter angepasst werden, so das sowas nicht passiert ?

                            paul53 F 2 Replies Last reply Reply Quote 0
                            • paul53
                              paul53 @dslraser last edited by

                              @dslraser sagte: müßte nicht dieser Adapter angepasst werden, so das sowas nicht passiert ?

                              Der Adapter kann nicht alle Eventualitäten abdecken: Klammern gehören nicht in eine ID.

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

                                @paul53 sagte in (erledigt) Javascript Adapter Fehler:

                                @dslraser sagte: müßte nicht dieser Adapter angepasst werden, so das sowas nicht passiert ?

                                Der Adapter kann nicht alle Eventualitäten abdecken: Klammern gehören nicht in eine ID.

                                Wenn ich es richtig verstanden habe, dann erstellt der Adapter das aber so, also die Klammern.

                                F 1 Reply Last reply Reply Quote 0
                                • F
                                  fastfoot @dslraser last edited by

                                  @dslraser sagte in Javascript Adapter Fehler:

                                  mache ich, aber müßte nicht dieser Adapter angepasst werden, so das sowas nicht passiert ?

                                  nein, der Adapter kann nicht wissen was Du in deinen Variablen hast, und nur auf Verdacht zu escapen wäre Ressourcenverschwendung, das ist user land. Schade finde ich allerdings dass ein Funktionsaufruf auch escaped wird(die Klammern um die Funktions-Parameter) so dass der Funktionsaufruf einen Fehler wirft. Aber auch das ist mE kein wirklicher Fehler

                                  1 Reply Last reply Reply Quote 0
                                  • F
                                    fastfoot @dslraser last edited by

                                    @dslraser sagte in Javascript Adapter Fehler:

                                    ...dann erstellt der Adapter das aber so, also die Klammern.

                                    du hast ja eine Lösung 🙂

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    611
                                    Online

                                    31.9k
                                    Users

                                    80.1k
                                    Topics

                                    1.3m
                                    Posts

                                    blockly fehler bug
                                    4
                                    16
                                    556
                                    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