Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Script fürTabelle der Batterie Zustände

    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

    Script fürTabelle der Batterie Zustände

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

      wäre es vermessen, wenn ich dich fragen würde ob du auch noch die Rademacher Produkte mit reinnehmen würdest? 😇

      Hier gibt es Sensoren (z.B. Rauchmelder, Wettersensor) und Fernbedienungen (Transmitter) mit Batteriebetrieb. Die anderen Komponenten z.B. Kurzwickler sind soweit ich weiß an 230V dran.

      Die Transmitter haben ein "batteryLow" flag (false/true)
      Die Rauchmelder zusätzlich noch "batteryStatus" in [%]

      Anbei mal die json Datei zum anschauen...

      LG Matthias

      homepilot20.0.json

      liv-in-sky 2 Replies Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @luft-post last edited by

        @luft-post ich schau mal morgen

        1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @luft-post last edited by

          @luft-post

          update erster post - same procedure as last time 🙂

          Image 11.png

          1 Reply Last reply Reply Quote 0
          • L
            luft-post last edited by

            👍 👏 😊

            Super, saubere Arbeit, sieht sehr gut aus

            1.JPG

            vielen Dank

            Bjoern77 1 Reply Last reply Reply Quote 0
            • Bjoern77
              Bjoern77 @luft-post last edited by

              Moin
              Klasse Script. Vielen Dank für die Arbeit.
              Es läuft bei mir mit 11 FritzDect301, diversen Zigbee und 2 Homematic Heizungs-Thermostaten.
              Leider zeigt mir der eine Homematic Thermostat in rot 3,3V an. Der andere ist grün bei 3,2V.
              Was muss ich tun?
              Danke und Gruß
              Björn

              liv-in-sky 1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @Bjoern77 last edited by

                @bjoern77

                das script hat folgendes problem:

                es kann 3 verschiedene batterien geben. bis 1.5V, bis 3.3V und bis 4.5(5) V

                ich habe aber die info nicht, welches gerät, welche batteriegröße hat

                das bedeutet: jede batterie-möglichkeit hat einen bereich, welche immer die untere größe als grenze hat

                das scripts prüft die größe und kommt daher in einen bereich

                beispiel batterie hat am anfang 4.5V ist also grün für den bereich von 4.5V
                unter 3.3V denkt das script, es ist im bereich der 3.3V batterie und wird daruch wieder grün, weil es nicht weiß, dass es eine 4.5V batterie hat

                ich bin davon ausgegagen, dass man beim erscheinen des roten bereichs und der alarmierung die batterie wechselt - dann paßt es wieder - das ist ja auch der sinn des scriptes

                ein umschreiben des scriptes werde ich wohl nicht machen. ich müßte dann eine art eigene datenbank erstellen und beim ersten erkennen des gerätes dem gerät einen bereich zuweisen (wenn batterie voll ist)- aber wie erwähnt - ist die batterie einmal rot, sollte man sie eh wechseln

                Bjoern77 1 Reply Last reply Reply Quote 0
                • Bjoern77
                  Bjoern77 @liv-in-sky last edited by

                  @liv-in-sky Moin
                  Danke, das waren die entscheidenen Tips. Ich hatte im Scipt nach "3.3" gesucht. Du hast aber ">3.2" im Scipt stehen.
                  Ich habe jetzt Zeile 770 geändert auf "if (val1helper>3.3){" und schon klappt es.
                  Danke und Gruß
                  Björn

                  liv-in-sky 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @Bjoern77 last edited by

                    @bjoern77

                    ja für dich kannst du das machen, da du nur 4,5 volt hast - wenn du weitere devices mit 3.3 installierst, hast du wieder ein ähnliches problem

                    hauptsache es läuft

                    Bjoern77 1 Reply Last reply Reply Quote 0
                    • Bjoern77
                      Bjoern77 @liv-in-sky last edited by

                      @liv-in-sky Ganz klar ist mir das noch nicht: Die Thermostaten haben 2 AA Batterien mit je 1.5V.
                      Der Datenpunkt sagt bei einem 3.2V und beim anderen 3.3V. Wie kommst du auf 4.5V?

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @Bjoern77 last edited by

                        @bjoern77 weil er über 3.2 sein müsste, um rot anzuzeigen - dann ist er im schwachbereich der 4.5v rechnung (3*1.5)

                        ist schon alles sehr lange her - hoffe ich erinnere mich richtig

                        K Bjoern77 2 Replies Last reply Reply Quote 0
                        • K
                          Kueppert @liv-in-sky last edited by Kueppert

                          Ich habe mir extra für vershiedene Batterien Alias angelegt...die zeigen mir jeweils - abhängig von der Batterie - an ob voll/leer...

                          Bjoern77 1 Reply Last reply Reply Quote 0
                          • Bjoern77
                            Bjoern77 @liv-in-sky last edited by

                            @liv-in-sky Ahh, ok. Dann rutsche ich mit dem einen Thermostat auf Grund von einem kleinen Messfehler oder etwas zu hoher Anfangsbatteriespannung in den 4.5V Bereich. Nun habe auch ich es verstanden. Danke und Gruß
                            Björn

                            1 Reply Last reply Reply Quote 0
                            • Bjoern77
                              Bjoern77 @Kueppert last edited by

                              @kueppert Moin
                              Hast du da ein Beispiel? Ich kann mir das schwer vorstellen.
                              Danke und Gruß
                              Björn

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                Kueppert @Bjoern77 last edited by

                                @bjoern77 Klar, hab ich (anbei). Ich nutze dann noch das Blockly von DSLraser https://forum.iobroker.net/post/273896 (vorher hatte ich auch das hier in Nutzung). Sieht dann in iQontrol zzB so aus:

                                b15f0744-9ddc-477f-966e-23fccac62982-image.png

                                zB für ZigBee das ALias-Skript (hab dort auch noch Links zu Beiträgen verlinkt):

                                ///https://forum.iobroker.net/topic/27295/vorlage-alias-per-skript-erzeugen
                                ///VAR-Konvertierung: https://forum.iobroker.net/topic/33747/alias-best-practices-wie-kann-man-es-besser-machen/39
                                
                                // Original-Datenpunkt
                                const idOrigin = 'zigbee.0.00158d00034XYZXY.battery'/*EG WHZ Fenster L Battery percent*/;
                                
                                 
                                // Alias-Datenpunkt
                                const idAlias = 'Batterie.Wohnzimmer_Fenster_links';
                                var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom;
                                // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                                nameAlias = 'Wohnzimmer Fenster links';
                                // desc = 'per Script erstellt';
                                typeAlias = 'boolean'; // 'boolean' oder 'number' oder 'switch' oder 'state'
                                read = "val < 15"; // Erkennung "Aus" --> false erfolgt automatisch  
                                // write = "val ? 'Ein' : 'Aus'";
                                role = 'indicator.lowbat'; // 'switch.light' oder 'value.temperature' oder 'window.value' oder 'indicator.lowbat'
                                // min = 0; // nur Zahlen
                                // max = 100; // nur Zahlen
                                // unit = '°C'; // nur für Zahlen, z.B. '%' oder '°C' oder ' ' wenn keine Unit!
                                states = {true: 'leer', false: 'voll'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                                custom = []; // verhindert doppelte Ausführung von history, telegram, mqtt-client, ...
                                 
                                function createAlias(idSrc, idDst) {
                                   if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                                   else {
                                      var obj = {};
                                      obj.type = 'state';
                                      obj.common = getObject(idSrc).common;
                                      obj.common.alias = {};
                                      obj.common.alias.id = idSrc;
                                      if(typeAlias) obj.common.type = typeAlias;
                                      if(obj.common.read !== false && read) obj.common.alias.read = read;
                                      if(obj.common.write !== false && write) obj.common.alias.write = write;
                                      if(nameAlias) obj.common.name = nameAlias;
                                      if(role) obj.common.role = role;
                                      if(desc) obj.common.desc = desc;
                                      if(min !== undefined) obj.common.min = min;
                                      if(max !== undefined) obj.common.max = max;
                                      if(unit) obj.common.unit = unit;
                                      if(states) obj.common.states = states;
                                      if(custom && obj.common.custom) obj.common.custom = custom;
                                      if(obj.common.icon) delete obj.common.icon;
                                      obj.native = {};
                                      setObject(idDst, obj);
                                   } 
                                }
                                 
                                createAlias(idOrigin, 'alias.0.' + idAlias);
                                
                                Bjoern77 1 Reply Last reply Reply Quote 0
                                • Bjoern77
                                  Bjoern77 @Kueppert last edited by

                                  @kueppert Klasse. Danke!
                                  Gruß
                                  Björn

                                  1 Reply Last reply Reply Quote 0
                                  • Gargano
                                    Gargano last edited by Gargano

                                    @liv-in-sky Kann es sein , daß im Script in Zeile 932 und 1057 für json3 anstatt symbolOK symbolKO eingetragen wurde ?

                                    if (val1help) {val2="<font color=\"red\">"+symbolKO;json3=symbolKO} else{val2=symbolOK;json3=symbolKO}
                                    
                                    liv-in-sky 1 Reply Last reply Reply Quote 1
                                    • liv-in-sky
                                      liv-in-sky @Gargano last edited by

                                      @gargano

                                      da hst du wohl recht - anscheinend hat niemand mit diesem device ein material design in benutzung.

                                      danke habe es im script im ersten post ausgebessert - du kannst das ja in deinem script machen - kein download bei dir nötig

                                      Gargano 1 Reply Last reply Reply Quote 0
                                      • Gargano
                                        Gargano @liv-in-sky last edited by

                                        @liv-in-sky Habe ich schon bei mir geändert, hab mich nur gewundert daß alle meine alten RPC Devices rot markiert waren. Ich tret aber immer in sowas rein 😊

                                        liv-in-sky 1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @Gargano last edited by

                                          @gargano solange du immer eine lösung findest, ist das ja nicht wild

                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            Kuddel @liv-in-sky last edited by

                                            @liv-in-sky erstmal viele Dank für deine Arbeit.

                                            Ich habe mir das Skript per Chrome kopiert.

                                            Dabei ist direkt aufgefallen, dass alle Umlaute falsch dargestellt werden,

                                            So sieht dann entsprechend auch im ersten Versuch mit der Tabelle aus:

                                            eb854f66-d011-4137-89cc-3339ddfbd05d-grafik.png

                                            K liv-in-sky 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            908
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring template
                                            67
                                            1379
                                            416585
                                            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