Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Script Xiaomi Battery leer ?

    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

    UNSOLVED Script Xiaomi Battery leer ?

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

      Wollte jetzt den Raumnamen entfernen aber irgendwie habe ich das skript zerschossen:

      const idVis = 'Batterie.HomematicBatterietausch';
      const batt = $('hm-rpc.0.*.LOWBAT');
       
      createState(idVis, '', {type: 'string'});
       
      function lowBatt() {
      	console.log('lowbat Homematic wird ausgeführt');
          var low = [];
          batt.each(function (id, i) {
      	if(getState(id).val == true) {
      			id = id.split('.');
      			id = 'hm-rpc.0.' + id[2];
                  low.push(getObject(id).common.name); // Kanal-Name: Raum
          }
               	
      	});
      	setState(idVis, low.join(','), true);		
      }
      
      
      schedule('*/5 * * * * *', lowBatt); // jeden Tag 
      //schedule('{"time":{"exactTime":true,"start":"18:00"},"period":{"days":1}}', lowBatt)
       
       
       
      

      Folgendes Warn im Log:

      javascript.0 2019-08-04 21:53:45.008 warn at Timer.processTimers (timers.js:223:10)
      javascript.0 2019-08-04 21:53:45.008 warn at listOnTimeout (timers.js:263:5)
      javascript.0 2019-08-04 21:53:45.008 warn at tryOnTimeout (timers.js:300:5)
      javascript.0 2019-08-04 21:53:45.007 warn at ontimeout (timers.js:436:11)
      javascript.0 2019-08-04 21:53:45.007 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
      javascript.0 2019-08-04 21:53:45.007 warn at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
      javascript.0 2019-08-04 21:53:45.007 warn at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
      javascript.0 2019-08-04 21:53:45.007 warn at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1191:34)
      javascript.0 2019-08-04 21:53:45.007 warn at Object.lowBatt (script.js.common.Batteriestatus.Batteriestatus_Homematic:9:10)
      javascript.0 2019-08-04 21:53:45.007 warn at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:778:29)
      javascript.0 2019-08-04 21:53:45.006 warn at script.js.common.Batteriestatus.Batteriestatus_Homematic:10:5
      javascript.0 2019-08-04 21:53:45.004 warn getState "hm-rpc.0.PEQ0508233.0.LOWBAT" not found (3) states[id]=null
      javascript.0 2019-08-04 21:53:45.001 info script.js.common.Batteriestatus.Batteriestatus_Homematic: lowbat Homematic wird ausgeführt

      Glasfaser paul53 2 Replies Last reply Reply Quote 0
      • Glasfaser
        Glasfaser @passuff last edited by Glasfaser

        @passuff sagte in Script Xiaomi Battery leer ?:

        …………………….> javascript.0 2019-08-04 21:53:45.004 warn getState "hm-rpc.0.PEQ0508233.0.LOWBAT" not found (3) states[id]=null
        ………………….

        Dein Skript macht kein Fehler .

        Da ist ein Fehler im Datenpunkt hm-rpc.0.PEQ0508233.0.LOWBAT not found (3) states[id]=null

        Schau mal nach ob da ein Wert vorhanden ist !?

        P 1 Reply Last reply Reply Quote 0
        • P
          passuff @Glasfaser last edited by

          @Glasfaser
          Der Datenpunkt ist ein Homematic Schaltaktor. Der hat, wie andere Geräte auch, keinen Batteriestatus. Warum stört sich das Skript daran?
          Darüber hinaus funktioniert die Bedingung ( == true) nicht. Es werden schlussendlich alle Homematicgeräte mit LOWBAT gelistet, auch die die false sind...

          Glasfaser P 2 Replies Last reply Reply Quote 0
          • Glasfaser
            Glasfaser @passuff last edited by

            @passuff

            Sieht es nicht bei dir so aus !?

            www.JPG

            P 1 Reply Last reply Reply Quote 0
            • P
              passuff @Glasfaser last edited by

              @Glasfaser

              Nein, wie gesagt das Gerät ist eine Steckdose. Diese hat keine Batterie und daher auch keinen Batteriestatus...

              Glasfaser 1 Reply Last reply Reply Quote 0
              • Glasfaser
                Glasfaser @passuff last edited by

                @passuff

                Sorry ...mit der Angabe " Homematic Schaltaktor " konnte ich leider nicht erlesen , das es sich um eine Steckdose handelt .

                Glasfaser 1 Reply Last reply Reply Quote 0
                • Glasfaser
                  Glasfaser @Glasfaser last edited by

                  @Glasfaser

                  Hier die HM Steckdose ( Keine IP )

                  Es gibt da ein Datenpunkt !

                  steckdose.JPG

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    passuff @Glasfaser last edited by

                    @Glasfaser
                    Muss mich entschuldigen. Ich habe mich im Gerät geirrt. Du hattest völlig recht:

                    2019-08-04_22-38-43.jpg

                    Scheint als hat de Fernbedienung keinen Empfang und sendet daher weder true noch false.

                    Glasfaser 1 Reply Last reply Reply Quote 0
                    • Glasfaser
                      Glasfaser @passuff last edited by

                      @passuff

                      Richtig … kein Empfang ….

                      fern.JPG

                      1 Reply Last reply Reply Quote 0
                      • P
                        passuff @passuff last edited by

                        @passuff sagte in Script Xiaomi Battery leer ?:

                        Darüber hinaus funktioniert die Bedingung ( == true) nicht. Es werden schlussendlich alle Homematicgeräte mit LOWBAT gelistet, auch die die false sind...

                        Das erschließt sich mir allerdings immer noch nicht...

                        Glasfaser 1 Reply Last reply Reply Quote 0
                        • Glasfaser
                          Glasfaser @passuff last edited by

                          @passuff

                          Kann leider nicht testen , da ich gerade keine leere Batterie habe , aber dein Script läuft ohne Fehler bei mir im LOG .

                          P 1 Reply Last reply Reply Quote 0
                          • P
                            passuff @Glasfaser last edited by

                            @Glasfaser

                            Ich habe auch keine leere Batterie. Dennoch habe ich im erzeugten Datenpunkt alle HM Geräte gelistet..

                            Glasfaser 1 Reply Last reply Reply Quote 0
                            • Glasfaser
                              Glasfaser @passuff last edited by Glasfaser

                              @passuff

                              Habe mal den Wert Lowbat händisch auf true gesetzt .
                              Und die gleiche Fehlermeldungen wie bei Dir !!!

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

                                @passuff sagte:

                                warn getState "hm-rpc.0.PEQ0508233.0.LOWBAT" not found (3) states[id]=null

                                Anscheinend hat das Objekt noch keinen Zustand ? Dann gib mal manuell den Wert false ein.

                                1 Reply Last reply Reply Quote 0
                                • P
                                  passuff last edited by

                                  Das führt lediglich dazu, dass die Fehlermeldungen verschwinden. Die Bedingung wird immer noch falsch ausgewertet bzw alle Sensoren werden als lowbat = true erkannt.

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

                                    @passuff sagte:

                                    alle Sensoren werden als lowbat = true erkannt.

                                    Wie sieht das Log aus, wenn in Zeile 10 ein zusätzliches Log eingefügt wird ?

                                        batt.each(function (id, i) {
                                            log(id + ': ' + getState(id).val);
                                    
                                    P 1 Reply Last reply Reply Quote 0
                                    • P
                                      passuff @paul53 last edited by passuff

                                      @paul53 sagte in Script Xiaomi Battery leer ?:

                                      log(id + ': ' + getState(id).val);


                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: lowbat Homematic wird ausgeführt
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0672249.0.LOWBAT: false
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0672249.1.LOWBAT: false
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0672249.2.LOWBAT: false
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0672249.3.LOWBAT: false
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0672249.4.LOWBAT: false
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0672249.5.LOWBAT: false
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0708741.0.LOWBAT: true
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0708741.1.LOWBAT: false
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0708748.0.LOWBAT: true
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0708748.1.LOWBAT: false
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0709520.0.LOWBAT: true
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0709520.1.LOWBAT: false
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0709589.0.LOWBAT: true
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0709589.1.LOWBAT: false
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0860057.0.LOWBAT: true
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1359645.0.LOWBAT: true
                                      23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1360423.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1424242.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1424242.1.LOWBAT: false
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1424270.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1424270.1.LOWBAT: false
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1424271.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1424271.1.LOWBAT: false
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1424294.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1424294.1.LOWBAT: false
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1675616.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1676108.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1711771.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1711789.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1711802.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1711818.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1711819.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1711829.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1711834.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1711836.0.LOWBAT: true
                                      23:57:50.015 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1714864.0.LOWBAT: true
                                      23:57:50.016 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1715250.0.LOWBAT: true
                                      23:57:50.016 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1959899.0.LOWBAT: true
                                      23:57:50.016 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ1959979.0.LOWBAT: true
                                      23:57:50.016 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.PEQ0508233.0.LOWBAT: false
                                      23:57:50.016 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.PEQ1921813.0.LOWBAT: true
                                      23:57:53.261 info javascript.0 Stop script script.js.common.Batteriestatus.Batteriestatus_Homematic

                                      "23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0708741.0.LOWBAT: true"

                                      2019-08-04_23-59-45.jpg

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

                                        @passuff
                                        Es liefern zwar viele, aber nicht alle LOWBAT true. Es liegt nicht am Skript. Hast Du mal die JS-Instanz neu gestartet ?

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

                                          @paul53
                                          Js, iobroker und auch die VM...

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

                                            @passuff
                                            Und trotzdem weicht die Log-Ausgabe so stark von den angezeigten Werten im Reiter "Objekte" (auch in der Statusansicht) ab ? Dann bin ich mit meinem Latein am Ende 😢

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            424
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            19
                                            93
                                            8822
                                            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