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.
    • 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
                                          • K
                                            Kueppert @Kuddel last edited by

                                            @kuddel Chrome zerhakkt bei copy-paste den Inhalt

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            862
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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