Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Eine Frage zur Performens bei Datenpunkt Überwachung

    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

    Eine Frage zur Performens bei Datenpunkt Überwachung

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

      Hallo zusammen,

      Habe ein Skript zur Batterie Status Überwachung geschrieben und es stellt sich mir eine Frage:

      Es sind ungefähr 60 Sensoren vorhanden.

      Welches ist von der Performents am besten:

      Per Schedule zB. alle 60 sek. nachzuschauen oder
      per

      on({id: 'deconz.0.Sensors.3.battery'}, function (obj) {batterie_Status();});
      

      alle Datenpunkte auf Änderungen zu Überwachen?

      Danke vorab für Eure Hilfe.

      MfG
      Wastl

      Homoran paul53 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Langer last edited by

        @langer sagte in Eine Frage zur Performens bei Datenpunkt Überwachung:

        Per Schedule zB. alle 60 sek. nachzuschauen

        mal ehrlich:
        stirbt bei dir die Batterie(n) so schnell, dass alle 60 Sekunden nachgesehen werden muss?

        Thomas Braun L 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @Langer last edited by

          @langer sagte: alle Datenpunkte auf Änderungen zu Überwachen?

          Ja, aber nicht einzeln, sondern per RegExp oder Selektor.

          L 1 Reply Last reply Reply Quote 1
          • Thomas Braun
            Thomas Braun Most Active @Homoran last edited by

            @homoran sagte in Eine Frage zur Performens bei Datenpunkt Überwachung:

            stirbt bei dir die Batterie(n) so schnell, dass alle 60 Sekunden nachgesehen werden muss?

            Durch das häufige wachrütteln schon... 😄

            1 Reply Last reply Reply Quote 1
            • L
              Langer @Homoran last edited by

              @homoran

              Nop!

              Die Zeitangabe war nur als Beispiel, weil ich Sensor Überwachung am Schreiben bin und es Grundsätzlich darum geht ob besser Schedule oder DP-Überwachung.

              MfG
              Wastl

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

                @paul53

                Könntest Du mir mal ein Beispiel zeigen, keine Ahnung was oder wie ich das Anwenden kann.

                MfG
                Wastl

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

                  @langer sagte: Grundsätzlich darum geht ob besser Schedule oder DP-Überwachung.

                  Batterie-Überwachung ist ein schlechtes Beispiel, da sich die Spannung nur sehr langsam ändert. Will man eine Echtzeit-Überwachung, sind Datenpunkt-Trigger besser geeignet.

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

                    @paul53

                    Das verstehe ich, war aber gerade dabei und habe das als Beispiel genommen.

                    Es geht um Fenster, Tür, Licht, Bewegung usw.

                    MfG
                    Wastl

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

                      @langer sagte: Könntest Du mir mal ein Beispiel zeigen

                      Wenn alle Batterien in Geräten für Deconz sind und die Datenpunkte alle mit ".battery" enden, kann der RegExp so aussehen:

                      on(/^deconz\.0\..+\.battery$/, function(dp) {});
                      
                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @Langer last edited by

                        @langer sagte: Es geht um Fenster, Tür, Licht, Bewegung usw.

                        Dann Datenpunkt-Trigger verwenden.

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

                          @paul53

                          Also so wie ich es gemacht habe?

                          MfG
                          Wastl

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

                            @langer sagte: Also so wie ich es gemacht habe?

                            Nicht ganz: An die Funktion batterie_Status() werden keine Parameter übergeben. Was soll sie also auswerten? Besser:

                            on('deconz.0.Sensors.3.battery', batterie_Status);
                            

                            So wird an batterie_Status(dp) das gesamte Datenpunkt-Objekt übergeben und nur bei Wertänderung getriggert.

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

                              @paul53

                              Ich melde mich nochmal und bitte um Hilfe:

                              Folgende Datenpunkte möchte ich mit RegExp auf Änderungen Überwachen

                              'bshb.0.roomClimateControl_hz_1.RoomClimateControl.setpointTemperatureForLevelComfort'
                              'bshb.0.roomClimateControl_hz_1.RoomClimateControl.setpointTemperatureForLevelEco'
                              'bshb.0.roomClimateControl_hz_2.RoomClimateControl.setpointTemperatureForLevelComfort'
                              'bshb.0.roomClimateControl_hz_2.RoomClimateControl.setpointTemperatureForLevelEco'
                              'bshb.0.roomClimateControl_hz_3.RoomClimateControl.setpointTemperatureForLevelComfort'
                              'bshb.0.roomClimateControl_hz_3.RoomClimateControl.setpointTemperatureForLevelEco'
                              'bshb.0.roomClimateControl_hz_4.RoomClimateControl.setpointTemperatureForLevelComfort'
                              'bshb.0.roomClimateControl_hz_4.RoomClimateControl.setpointTemperatureForLevelEco'
                              'bshb.0.roomClimateControl_hz_5.RoomClimateControl.setpointTemperatureForLevelComfort'
                              'bshb.0.roomClimateControl_hz_5.RoomClimateControl.setpointTemperatureForLevelEco'
                              'bshb.0.roomClimateControl_hz_6.RoomClimateControl.setpointTemperatureForLevelComfort'
                              'bshb.0.roomClimateControl_hz_6.RoomClimateControl.setpointTemperatureForLevelEco'
                              'bshb.0.roomClimateControl_hz_7.RoomClimateControl.setpointTemperatureForLevelComfort'
                              'bshb.0.roomClimateControl_hz_7.RoomClimateControl.setpointTemperatureForLevelEco'
                              'bshb.0.roomClimateControl_hz_8.RoomClimateControl.setpointTemperatureForLevelComfort'
                              'bshb.0.roomClimateControl_hz_8.RoomClimateControl.setpointTemperatureForLevelEco'
                              'bshb.0.roomClimateControl_hz_10.RoomClimateControl.setpointTemperatureForLevelComfort'
                              'bshb.0.roomClimateControl_hz_10.RoomClimateControl.setpointTemperatureForLevelEco'
                              'bshb.0.roomClimateControl_hz_14.RoomClimateControl.setpointTemperatureForLevelComfort'
                              'bshb.0.roomClimateControl_hz_14.RoomClimateControl.setpointTemperatureForLevelEco'
                              

                              Ist dieser Befehl richtig:

                              on(/bshb.0.roomClimateControl_hz_*\.\RoomClimateControl\.setpointTemperatureForLevel*$/, function(dp) {});
                              

                              Vorab vielen Dank

                              MfG
                              Wastl

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

                                @langer sagte: Ist dieser Befehl richtig:

                                Nein, vor den * gehört ein Punkt.

                                on(/^bshb\.0\.roomClimateControl_hz_.*\.RoomClimateControl\.setpointTemperatureForLevel.*/, function(dp) {
                                   // Auswertung von dp
                                });
                                
                                1 Reply Last reply Reply Quote 1
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                945
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

                                4
                                14
                                332
                                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