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.
    • haus-automatisierung
      haus-automatisierung Developer Most Active @ticaki last edited by

      @ticaki Pro Script natürlich. Sonst wäre die Funktion ja quatsch. Hoffe damit die Trigger in Trigger Leute etwas zu sensibilisieren

      1 Reply Last reply Reply Quote 5
      • 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

                                  901
                                  Online

                                  31.9k
                                  Users

                                  80.2k
                                  Topics

                                  1.3m
                                  Posts

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