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 last edited by

      @luft-post nochmal nachgefragt - sind das schalter mit batterien oder stell ich mich d.. an ?

      ich werd mal schauen, ob ich es noch hinbekommen, das einzupflegen - lowbat und highbat sollte einfach sein

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            874
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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