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

      Hallo,
      ja es handelt sich um Fensterkontakt Schalter, Raum Temperaturanzeigen und Heizkörper Ventiele, alle mit Batterie.

      gruß
      Matthias

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

        hier mal ein Bild der Hardware:
        3.JPG

        und ein Bild für die Bildersammlung
        1200x630wa.png

        gruß

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

          @luft-post

          so:

          Image 8.png

          im ersten post ist das neue scipt - bitte testen - vergiss nicht die settings (datenpunkjte) anzugleichen nach dem kopieren mit chrome !

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

            @liv-in-sky krass, super schnell 🙂 werde testen und berichten - vielen Dank

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

              Scheint zu Funktionieren

              4.JPG

              vielen Dank nochmal

              1 Reply Last reply Reply Quote 0
              • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            550
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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