Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. "Gesunde" Anzahl von registrierten Triggern

    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

    "Gesunde" Anzahl von registrierten Triggern

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @paul53 last edited by

      @paul53 nee, 100 Scripte mit einem Trigger oder 50 Skripte mit 2 Triggern sollte nichts besonders ungewöhnliches sein.

      1 Reply Last reply Reply Quote 0
      • haus-automatisierung
        haus-automatisierung Developer Most Active @paul53 last edited by

        @paul53 sagte in "Gesunde" Anzahl von registrierten Triggern:

        Mit dem $Selector können allerdings leicht viele Trigger erzeugt werden.

        Das ist auch nur ein Trigger.

        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @haus-automatisierung last edited by paul53

          @haus-automatisierung sagte: Das ist auch nur ein Trigger.

          Sicher?

          Blockly_temp.JPG

          Blockly_temp.JPG

          haus-automatisierung 1 Reply Last reply Reply Quote 1
          • haus-automatisierung
            haus-automatisierung Developer Most Active @paul53 last edited by

            @paul53 Achso mit .on auf dem Ergebnis bin ich mir unsicher. Dachte Du übergibst die Datenpunkte als Array (so wie das Blockly macht). Muss ich in Ruhe testen.

            Das Limit für die Warnung höher zu setzen wäre ja nicht das Problem.

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @haus-automatisierung last edited by

              @haus-automatisierung sagte: Dachte Du übergibst die Datenpunkte als Array (so wie das Blockly macht).

              Mit Array passiert das gleiche. Lediglich RegExp erzeugt nur einen Trigger.

              haus-automatisierung 1 Reply Last reply Reply Quote 1
              • haus-automatisierung
                haus-automatisierung Developer Most Active @paul53 last edited by

                @paul53 Danke fürs testen! Muss mir die interne Logik mal genauer anschauen. Aber wenn man einen Trigger auf 500+ Datenpunkte registriert hat man eventuell auch etwas ungewolltes getan.

                Aber 100 ist dann eventuell wirklich zu früh für manche Anwensungsfälle mit Selektor

                1 Reply Last reply Reply Quote 0
                • I
                  ignis-draco last edited by

                  Sorry für das Entern des Thread. Aber es passt thematisch.

                  So weit ich es entdeckt habe gibt es 2 Arten eine Trigger zu setzten.

                  Einmal mit on direkt (id / array / Regex) oder per Selector und dann on

                  • on('maxcul.0.KEQ0465505.isOpen', function(obj){
                  • on(['maxcul.0.KEQ0465505.isOpen', 'maxcul.0.OEQ0914535.isOpen'], function(obj){
                  • on({ id: /^0_userdata\.0\..*\.person$/}, function (obj) {
                  • $('state[id=0_userdata.0.*.light_on]').on(function (obj) {

                  Ich habe bis jetzt immer gedacht, dass dieses Varianten alle gleich sind. Heute ist mir aufgefallen das
                  es bei der Version mit dem "$(" keine Möglichkeit gibt z.b. "change": "any" zu setzen.
                  Jetzt lese ich hier das die Regex Version weniger Ressourcen (da nur ein Trigger angelegt wird) verwendet.

                  Persönlich finde ich die Selektor Varianten am einfachsten zu lesen und zu erstellen aber mit diesen Infos macht es wohl Sinn alles auf Regex umzustellen oder ?

                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @ignis-draco last edited by

                    @ignis-draco sagte in "Gesunde" Anzahl von registrierten Triggern:

                    Jetzt lese ich hier das die Regex Version weniger Ressourcen (da nur ein Trigger angelegt wird) verwendet.

                    Gerne mal in Zahlen ausdrücken, was Du da so an Einsparungen beobachtest 🙂
                    Spoiler: Nicht relevant.

                    1 Reply Last reply Reply Quote 0
                    • I
                      ignis-draco last edited by

                      bei mir wären es statt 91 Triggers nur noch 5. Aber ich glaube das es nicht das ist was du meinst. Ja im CPU /Ram Verbrauch wird das wohl untergehen.
                      Was ich aber gerade noch entdeckt habe, ist das, wenn man einen neuen Datenpunkt angelegt dieser vom
                      Regex sofort mit erkennt wird. Bei den anderen Varianten muss man erst das skript neu starten.
                      Das ist auf jeden Fall ein Vorteil.

                      haus-automatisierung 1 Reply Last reply Reply Quote 0
                      • haus-automatisierung
                        haus-automatisierung Developer Most Active @ignis-draco last edited by

                        @ignis-draco sagte in "Gesunde" Anzahl von registrierten Triggern:

                        Bei den anderen Varianten muss man erst das skript neu starten.

                        Logisch, der Selektor wird ja nur einmalig ausgeführt. Man müsste also im Script regelmäßig den Trigger "deabonnieren" (siehe unsubscribe) und neu erstellen, um wirklich alle Datenpunkte abzudecken. Hab ich ja schon rauf und runter erklärt 🙂

                        1 Reply Last reply Reply Quote 0
                        • I
                          ignis-draco last edited by

                          @haus-automatisierung sagte in "Gesunde" Anzahl von registrierten Triggern:

                          Hab ich ja schon rauf und runter erklärt

                          Da habe ich mich wohl etwas missverständlich ausgedrückt. Das man es bei der anderen Version machen muss war mir sehr bewusst, aber nicht das beim Regex es nicht nötig ist.
                          Tja dann werde ich mich wohl die die Regex Version gewöhnen müssen.

                          haus-automatisierung 1 Reply Last reply Reply Quote 0
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @ignis-draco last edited by haus-automatisierung

                            @ignis-draco sagte in "Gesunde" Anzahl von registrierten Triggern:

                            aber nicht das beim Regex es nicht nötig ist.

                            Der Regex kann ja auch weniger. Mit dem $-Selektor kannst Du ja weitere Attribute filtern und nicht nur die ID filtern. Das macht es etwas komplexer.

                            Aber wenn es Dir um Ressourcen geht, wäre das schon ein spannender Vergleich. Immerhin wird dann jede State-Aktualisierung durch jeden Regex-Trigger geprüft.

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @haus-automatisierung last edited by paul53

                              @haus-automatisierung sagte: Der Regex kann ja auch weniger. Mit dem $-Selektor kannst Du ja weitere Attribute filtern

                              Auch mit RegExp bietet der Trigger weitere Filteroptionen:

                              on({id: /^0_userdata\.0\..+/, enumName: 'Fenster'}, function(dp) {
                                  log(dp.id);
                              });
                              
                              haus-automatisierung 1 Reply Last reply Reply Quote 0
                              • haus-automatisierung
                                haus-automatisierung Developer Most Active @paul53 last edited by

                                @paul53 Ja, aber nicht alle. Rolle geht z.B. nicht.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                871
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

                                6
                                20
                                539
                                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