Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. ZigBee neue Version 1.6.x

    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

    ZigBee neue Version 1.6.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      diwoma @arteck last edited by

      @arteck
      Danke, hat funktioniert.

      Vor allem, als ich erkannt habe, das die Instanz ja auf dem PI läuft.

      1 Reply Last reply Reply Quote -1
      • D
        diwoma @arteck last edited by

        @arteck said in ZigBee neue Version 1.6.x:

        auf GIT liegt täglich eine neue Version .. kannst also von da installieren wenn du auf dem neusten bleiben willst.
        ABER kann sein das diese nicht lauffähig ist (eher unwarscheinlich aber ich mach dich drauf aufmerksam)

        Hi, da wir nun die Adapter-Frage gelöst haben, zurück zum eigentlichen Ausgangspunkt meiner Frage:
        Soll ich warten, bis ein Zigbee-Update kommt, das die Converterliste akualisiert?
        Soll ich den gesamten Converter per npm aktualisieren?
        Oder (eine andere Idee) nur den einen Fingerprint in der moes.js nachtragen? Beim vergeich mit der Datei auf GIT habe ich gesehen, dass nur dieser zusätzlich hinzugegeben wurde und ich könnte mir denken, dass der Rest so generisch aufgebaut ist, dass es reicht.

        P arteck Asgothian 3 Replies Last reply Reply Quote 0
        • P
          pk68 @diwoma last edited by

          Hallo, hat sich in der letzten Zeit etwas an der Berechnung des Batteriestatus bei Aquara Geräten geändert?
          Habe gestern diverse Adapter geupdatet, u.a. auch den Zigbee-Adapter von 1.6.16 auf 1.6.18. Danach habe alle Aquara Geräte 100% Batteriestand. Bin mir sicher, dass zwei Temperatursensoren und der Lichtsensor vorher weniger als 100% hatten. Bei den Tradfri Geräten habe ich den Effekt nicht.
          Auf Git bei Koenkk/zigbee2mqtt hatte ich vor einiger Zeit folgende Berechnung gefunden:
          Implemented the improved calculation:
          2850 mV or lower = 0%
          3200 mV or higher = 100%
          2850-3200 mV = linear calculation
          Die scheint aber nicht mehr aktuell zu sein, denn bei mir wird bei einer Spannung von 3025 mV 100% Batterie angegeben.

          1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active @diwoma last edited by arteck

            @diwoma auch für dich ..das wird alles automatisch aktualisiert wenn du den adapter aktualisiesrt.. nimm den von GIT da ist es immer aktuell

            @pk68 hier it die Berechung .. die wir auch so 1 zu 1 übernehmen

            ? P 2 Replies Last reply Reply Quote 1
            • ?
              A Former User @arteck last edited by

              @arteck
              Ich bin erst mit 1.6.18 dazugekommen aber bei 2.975V sollten es dann keine 99% sein:
              7886bbcc-a77c-4f46-92d5-526320cea9f1-image.png

              arteck P 2 Replies Last reply Reply Quote 0
              • arteck
                arteck Developer Most Active @Guest last edited by arteck

                @brainbug ich seh das Gerät nicht, kein Plan, um welches Modell sich da handelt und wie das range ist für die Spannungsauswertung

                habe mir die Berchnung nie angeschaut.. da es hierzu eine Grundsatzdiskussion gab.. der eine wollte so der andere so...
                wir haben es bei converter belassen.. also wenn da was nicht stimmt.. bitte da ein issue erstellen

                Nachtrag : gestern ist eine korrektur für Xiaomi Geräte reingekommen.. bitte Adapter von GIT installieren

                ? 1 Reply Last reply Reply Quote 0
                • ?
                  A Former User @arteck last edited by A Former User

                  @arteck

                  Nachtrag : gestern ist eine korrektur für Xiaomi Geräte reingekommen.. bitte Adapter von GIT installieren

                  Gemacht aber bisher keine wirkliche Änderung.

                  arteck 1 Reply Last reply Reply Quote 0
                  • arteck
                    arteck Developer Most Active @Guest last edited by arteck

                    @brainbug hier auch nochmal WIR BERECHNEN NIX..
                    erstelle bitte ein issue auf der herdsman seite .. bitte dann in englisch.. https://github.com/Koenkk/zigbee-herdsman-converters/

                    ? 1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User @arteck last edited by A Former User

                      @arteck sagte in ZigBee neue Version 1.6.x:

                      @brainbug hier auch nochmal WIR BERECHNEN NIX..
                      erstelle bitte ein issue auf der herdsman seite .. bitte dann in englisch.. https://github.com/Koenkk/zigbee-herdsman-converters/

                      Sorry das hab ich FASLCH verstanden!!! Ich dachte der Issue soll zum Adapter. Und nochmals, ICH HABE ES FALSCH VERSTANDEN....
                      Da ich die Anzeige nicht brauche werde ich dort auch kein Issue erstellen.

                      Asgothian 1 Reply Last reply Reply Quote 0
                      • Asgothian
                        Asgothian Developer @diwoma last edited by

                        @diwoma sagte in ZigBee neue Version 1.6.x:

                        @arteck said in ZigBee neue Version 1.6.x:

                        auf GIT liegt täglich eine neue Version .. kannst also von da installieren wenn du auf dem neusten bleiben willst.
                        ABER kann sein das diese nicht lauffähig ist (eher unwarscheinlich aber ich mach dich drauf aufmerksam)

                        Hi, da wir nun die Adapter-Frage gelöst haben, zurück zum eigentlichen Ausgangspunkt meiner Frage:
                        Soll ich warten, bis ein Zigbee-Update kommt, das die Converterliste akualisiert?

                        das ist die einfachste Lösung. Updates am Zigbee Adapter kommen aktuell täglich (courtesy of @arteck) - du musst also nicht lange warten

                        Soll ich den gesamten Converter per npm aktualisieren?

                        Nein. Grund hab ich bereits weiter oben im Thead ausgeführt.

                        Oder (eine andere Idee) nur den einen Fingerprint in der moes.js nachtragen? Beim vergeich mit der Datei auf GIT habe ich gesehen, dass nur dieser zusätzlich hinzugegeben wurde und ich könnte mir denken, dass der Rest so generisch aufgebaut ist, dass es reicht.

                        Das ist die schnelle Lösung, die so lange funktioniert bis du den Adapter aktualisierst.

                        A.

                        D 1 Reply Last reply Reply Quote 1
                        • Asgothian
                          Asgothian Developer @Guest last edited by Asgothian

                          @brainbug sagte in ZigBee neue Version 1.6.x:

                          Sorry das hab ich FASLCH verstanden!!! Ich dachte der Issue soll zum Adapter. Und nochmals, ICH HABE ES FALSCH VERSTANDEN....
                          Da ich die Anzeige nicht brauche werde ich dort auch kein Issue erstellen.

                          Immer ruhig mit den jungen Pferden. Hier ist niemand über die Frage und/oder den Issue ungehalten.
                          Generell ist es korrekt einen Issue am Adapter zu erstellen wenn der Adapter sich nicht so verhält wie gedacht. In einigen Fällen werden wir das dann selber weiter verfolgen und entsprechende Issues anlegen. In diesem Fall (sehr breit im Forum und mit Issues im Adapter bereits diskutiert) tun wir das nicht.

                          Daher die deutliche Aussage von @arteck was da wie passiert / passieren muss wenn das Verhalten für Dich wichtig ist.

                          A.

                          tldr: Alles gut. Keine Aufregung bitte. 🙂

                          ? 1 Reply Last reply Reply Quote 1
                          • ?
                            A Former User @Asgothian last edited by A Former User

                            @asgothian

                            Immer ruhig mit den jungen Pferden.
                            So jung ist es nicht mehr 😉

                            tldr: Alles gut. Keine Aufregung bitte. 🙂
                            Aber sicher keine Aufregung.
                            Wie gesagt ich bin erst seid 1.16.18 mit Zigbee dabei und in der Regel lagen meine Probleme beim Fehler 60 / layer 8. Somit danke für das Engagement um den Adapter auf dem neusten Stand zu halten.

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

                              @arteck sagte in ZigBee neue Version 1.6.x:

                              @pk68 hier it die Berechung .. die wir auch so 1 zu 1 übernehmen

                              Danke für den Link. Kann es sein, dass bei manchen Geräte z.B. Ikea Trädfri Fernbedienungen der Batteriestand nicht berechnet wird, sondern vom Gerät selbst gesendet wird. Konnte in dem
                              zigbee-herdsman-converters Quellcode dazu nichts finden.

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

                                @brainbug sagte in ZigBee neue Version 1.6.x:

                                @arteck
                                Ich bin erst mit 1.6.18 dazugekommen aber bei 2.975V sollten es dann keine 99% sein:
                                7886bbcc-a77c-4f46-92d5-526320cea9f1-image.png

                                Der Screenshot ist wohl von einem Xiaomi/Aquara Türsensor. Bei dem ist es so, das bei Spannungen bis 3V 100% angezeigt wird. Bei einer Batteriespannung von 2,85 bis 3,0V wird dann gerechnet. Die Rechnung geht dann so:
                                norm = (voltage[mV] - 2850) / (3000 - 2850)
                                percentage = norm * (1 - log(norm))
                                Bei 2,975V sollten es 90% Batteriekapazität sein.

                                arteck ? 2 Replies Last reply Reply Quote 0
                                • arteck
                                  arteck Developer Most Active @pk68 last edited by arteck

                                  @pk68 sagte in ZigBee neue Version 1.6.x:

                                  Bei dem ist es so, das bei Spannungen bis 3V 100% angezeigt wird. Bei einer Batteriespannung von 2,85 bis 3,0V wird dann gerechnet.

                                  und das weisst du weil ?? hast du die Hersteller vorgabe Werte von dem Gerät ?

                                  Ikea Trädfri Fernbedienungen

                                  welche genau meinst du.. es gibt mehrere davon

                                  P 2 Replies Last reply Reply Quote 0
                                  • ?
                                    A Former User @pk68 last edited by A Former User

                                    @pk68
                                    Ich prüfe den Zeitstempel der jeweiligen Geräte alle 3 Stunden was für mich mehr Sinn macht als eine Battery Anzeige. Für mich ist die Anzeige der Battery nur Info und keine Auswertung.

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

                                      @arteck sagte in ZigBee neue Version 1.6.x:

                                      und das weisst du weil ?? hast du die Hersteller vorgabe Werte von dem Gerät ?

                                      Weil ich Deinem Link gefolgt bin, von Git den Quellcode heruntergeladen habe und mit meinem Halbwissen in dem Code rumgeschnarcht habe.
                                      Der Türsensor hat die Typbezeichnung MCCGQ11LM. In der devices\xiaomi.js steht zu dem Gerät

                                      meta: {battery: {voltageToPercentage: '3V_2850_3000_log'}},
                                      

                                      Das heißt die Funktion "batteryVoltageToPercentage" wird mit der Option "3V_2850_3000_log" aufgerufen.

                                          } else if (option === '3V_2850_3000_log') {
                                              percentage = toPercentage(voltage, 2850, 3000, true);
                                      

                                      Und die Funktion "toPercentage" sieht so aus:

                                      function toPercentage(value, min, max, log=false) {
                                          if (value > max) {
                                              value = max;
                                          } else if (value < min) {
                                              value = min;
                                          }
                                      
                                          const normalised = (value - min) / (max - min);
                                          let percentage;
                                          if (log == true) {
                                              percentage = normalised === 0 ? 0 : normalised * (1 - Math.log( normalised ));
                                          } else {
                                              percentage = normalised;
                                          }
                                          return Math.round(percentage * 100);
                                      }
                                      
                                      arteck 1 Reply Last reply Reply Quote 0
                                      • P
                                        pk68 @arteck last edited by

                                        @arteck sagte in ZigBee neue Version 1.6.x:

                                        Ikea Trädfri Fernbedienungen

                                        welche genau meinst du.. es gibt mehrere davon

                                        Ich meine diese hier.

                                        1 Reply Last reply Reply Quote 0
                                        • arteck
                                          arteck Developer Most Active @pk68 last edited by arteck

                                          @pk68 kannst ja alles schöb durchrechnen lassen

                                          direkt in der ersten zeile ist die funktion mit den werten die aufgerufen werden ...

                                          also 2975 dein wert mit den daten die du gefunden hast also 3V_2850_3000_log
                                          als ergebniss siehst du im LOG 99 %

                                          20:47:09.324	info	javascript.1 (1576) script.js.common.Skript1: ---------------------> batterie test 99%
                                          

                                          den script kannst du unter javascript einfügen und selber testen..

                                          const per = batteryVoltageToPercentage(2975,'3V_2850_3000_log');    // hier wird die funktion aufgerufen 
                                          
                                          console.log('--------------------->   batterie test ' + per);
                                          
                                          
                                          function batteryVoltageToPercentage(voltage, option) {
                                              let percentage = null;
                                              if (option === '3V_2100') {
                                                  if (voltage < 2100) {
                                                      percentage = 0;
                                                  } else if (voltage < 2440) {
                                                      percentage = 6 - ((2440 - voltage) * 6) / 340;
                                                  } else if (voltage < 2740) {
                                                      percentage = 18 - ((2740 - voltage) * 12) / 300;
                                                  } else if (voltage < 2900) {
                                                      percentage = 42 - ((2900 - voltage) * 24) / 160;
                                                  } else if (voltage < 3000) {
                                                      percentage = 100 - ((3000 - voltage) * 58) / 100;
                                                  } else if (voltage >= 3000) {
                                                      percentage = 100;
                                                  }
                                                  percentage = Math.round(percentage);
                                              } else if (option === '3V_2500') {
                                                  percentage = toPercentage(voltage, 2500, 3000);
                                              } else if (option === '3V_2500_3200') {
                                                  percentage = toPercentage(voltage, 2500, 3200);
                                              } else if (option === '3V_1500_2800') {
                                                  percentage = 235 - 370000 / (voltage + 1);
                                                  if (percentage > 100) {
                                                      percentage = 100;
                                                  } else if (percentage < 0) {
                                                      percentage = 0;
                                                  }
                                                  percentage = Math.round(percentage);
                                              } else if (option === '3V_2850_3200') {
                                                  percentage = toPercentage(voltage, 2850, 3200);
                                              } else if (option === '3V_2850_3000_log') {
                                                  percentage = toPercentage(voltage, 2850, 3000, true);
                                              } else if (option === '4LR6AA1_5v') {
                                                  percentage = toPercentage(voltage, 3000, 4200);
                                              } 
                                          
                                              return percentage;
                                          }
                                          function  toPercentage(value, min, max, log=false) {
                                              if (value > max) {
                                                  value = max;
                                              } else if (value < min) {
                                                  value = min;
                                              }
                                          
                                              const normalised = (value - min) / (max - min);
                                              let percentage;
                                              if (log == true) {
                                                  percentage = normalised === 0 ? 0 : normalised * (1 - Math.log( normalised ));
                                              } else {
                                                  percentage = normalised;
                                              }
                                              return Math.round(percentage * 100);
                                          }
                                          
                                          P 1 Reply Last reply Reply Quote 0
                                          • P
                                            pk68 @arteck last edited by

                                            @arteck

                                            Ich habe es heute Mittag auf Arbeit mit Excel ausgerechnet. Habe angenommen Math.log ist der Logarithmus zur Basis 10. Pech gehabt.

                                            Kannst Du noch die Frage zu der Tradfri Fernbedienung beantworten (sendet Batteriestatus ja/nein)?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            644
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            61
                                            509
                                            86829
                                            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