Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [GELÖST] Frage: Batteriestatus bzw. Ladezustand

    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

    [GELÖST] Frage: Batteriestatus bzw. Ladezustand

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 last edited by

      @tomdeboom:

      Gibt es vielleicht schon ein ähnliches Script das lauscht und dann die Angaben ausrechnet und einen State in ein Var setzt? `
      Vorschlag:

      const idBatt = '...'; // Batterielevel in %
      const idPlug = '...'; // Ladegerät ein
      const idVis = 'Vis.Batterieanzeige';  // Für Vis
      
      createState(idVis, 0, {
         type: 'number',
         min: 0,
         max: 7,
         role: 'level',
         states: {
            0: 'leer',
            1: '10 %',
            2: '20 %',
            3: '40 %',
            4: '60 %',
            5: '80 %',
            6: 'voll',
            7: 'Ladegerät'
         }   
      });
      
      var level = getState(idBatt).val;
      var plug = getState(idPlug).val;
      
      function batt() {
         var state = 6;  // full
         if(level < 100) state = 5;  // 80 %
         if(level < 80) state = 4;
         if(level < 60) state = 3;
         if(level < 40) state = 2; // 20 %
         if(level < 20) state = 1; // 10 %
         if(level < 10) state = 0; // empty
         if(plug) state = 7;  // Ladegerät ein
         setState(idVis, state, true);
      }
      
      batt(); // Skriptstart
      
      on(idBatt, function(dp) {
         level = dp.state.val;
         batt();
      });
      
      on(idPlug, function(dp) {
         plug = dp.state.val;
         batt();
      });
      

      EDIT: Skriptstart ergänzt

      1 Reply Last reply Reply Quote 0
      • T
        tempestas last edited by

        Der Paul machts wieder eleganter und denkt wie immer eine Ecke weiter.

        durch seine Reihenfolge brauchst du meine Version mit den zwei Sichtbarkeiten nicht machen. Ergo: nimm seine Version

        1 Reply Last reply Reply Quote 0
        • T
          tomdeboom last edited by

          Recht Herzlichen Dank an euch beide!!!! Genau das war es 🙂

          Ergebnis:
          5104_akkustand.jpg

          Ich habe das Script noch ein wenig angepasst, da meine Steuerung bei 20 % Akku Ladet und bei 80 % den Ladevorgang wieder beendet:
          ` > const idBatt = 'paw.0.FlurTab.info.battery.level'; // Batterielevel in %

          const idPlug = 'hm-rpc.1.OEQ0171991.1.STATE'; // Ladegerät ein

          const idVis = 'Vis.Batterieanzeige'; // Für Vis

          createState(idVis, 0, {

          type: 'number',

          min: 0,

          max: 7,

          role: 'level',

          states: {

          0: 'leer',

          1: '20 %',

          2: '40 %',

          3: '60 %',

          4: '80 %',

          5: 'voll',

          6: 'Ladegerät'

          }

          });

          var level = getState(idBatt).val;

          var plug = getState(idPlug).val;

          function batt() {

          var state = 5; // full 80 %

          if(level <= 79) state = 4; // 79 %

          if(level <= 60) state = 3; // 60 %

          if(level <= 40) state = 2; // 40 %

          if(level <= 30) state = 1; // 20 %

          if(level <= 22) state = 0; // empty 20 %

          if(plug) state = 6; // Ladegerät ein

          setState(idVis, state, true);

          }

          batt(); // Skriptstart

          on(idBatt, function(dp) {

          level = dp.state.val;

          batt();

          });

          on(idPlug, function(dp) {

          plug = dp.state.val;

          batt();

          }); `

          Also nochmal super vielen Dank und ich stelle die Frage als gelöst! 😉

          Schönes Wochenende

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

            @tomdeboom

            Woher hast du die Grafiken für die Batterie?

            Irgendwie finde ich nichts das so aussieht.

            Wie sieht dann dein Script in VIS aus?

            Kannst du da eventuell mal das script zeigen wie du das umgesetzt hast?

            1 Reply Last reply Reply Quote 0
            • T
              tempestas last edited by

              das Skript steht doch direkt über deinem Posting. Mit dem Skript setzt du einen Wert in den Objekten, der dann ein image8 widget steuert

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

                :!: Ah, jetzt verstehe ich das.

                Sorry, aber mir war die Funktion von einem Image8 Widget nicht klar und deshalb meine vielleicht blöd klingende Frage.

                Da ich mich erst in VIS einarbeite werden von mir sicher noch ein paar so blöde Fragen kommen :oops:

                1 Reply Last reply Reply Quote 0
                • T
                  tempestas last edited by

                  Dafür ist das Forum ja da 🙂

                  Ich war nur verwirrt wegen der Frage nach dem Skript, das ja direkt oben steht 😉

                  1 Reply Last reply Reply Quote 0
                  • T
                    tomdeboom last edited by

                    Hi,

                    sorry eben erst gesehen, also hier erstmal das Widget:

                    Zitat:

                    [{"tpl":"tplStatefulImage8","data":{"oid":"javascript.0.Batterieanzeige","g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","count":"6","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"src_0":"/vis.0/main/Icon/Batterie/battery_horizontal_10percent.png","src_1":"/vis.0/main/Icon/Batterie/battery_horizontal_20percent.png","src_2":"/vis.0/main/Icon/Batterie/battery_horizontal_40percent.png","src_3":"/vis.0/main/Icon/Batterie/battery_horizontal_60percent.png","src_4":"/vis.0/main/Icon/Batterie/battery_horizontal_80percent.png","src_5":"/vis.0/main/Icon/Batterie/battery_horizontal_full.png","src_6":"/vis.0/main/Icon/Batterie/battery_horizontal_charging.png","src_7":"/icons-addictive-flavour-png/battery/battery_horizontal_charging.png"},"style":{"left":"1090px","top":"-8px","width":"40px","height":"40px","z-index":"2","font-family":"RobotoCondensed-Regular","font-variant":"small-caps","font-style":"normal","font-weight":"normal"},"widgetSet":"basic"}]
                    

                    Hier das Script:

                    // Batterieanzeige
                    "*/20 * * * *"
                    const idBatt = 'paw.0.FlurTab.info.battery.level'; // Batterielevel in %
                    const idPlug = 'hm-rpc.1.OEQ0171991.1.STATE'; // Ladegerät ein
                    const idVis = 'Batterieanzeige'; // Für Vis
                    
                    createState(idVis, 0, {
                    type: 'number',
                    min: 0,
                    max: 7,
                    role: 'level',
                    states: {
                    0: 'leer',
                    1: '20 %',
                    2: '40 %',
                    3: '60 %',
                    4: '50 %',
                    5: 'voll',
                    6: 'Ladegerät'
                    }
                    });
                    
                    var level = getState(idBatt).val;
                    var plug = getState(idPlug).val;
                    
                    function batt() {
                    var state = 5; // full
                    if(level <= 80) state = 4; // 80 %
                    if(level <= 60) state = 3; // 60 %
                    if(level <= 40) state = 2; // 40 %
                    if(level <= 30) state = 1; // 20 %
                    if(level <= 22) state = 0; // empty
                    if(plug) state = 6; // Ladegerät ein
                    setState(idVis, state, true);
                    }
                    
                    batt(); // Skriptstart
                    
                    on(idBatt, function(dp) {
                    level = dp.state.val;
                    batt();
                    });
                    
                    on(idPlug, function(dp) {
                    plug = dp.state.val;
                    batt();
                    });
                    

                    Das Script habe ich folgendermaße abgespeichert:

                    5104_akku.png.png

                    Die icons findest du unter: /opt/iobroker/iobroker-data/files/icons-addictive-flavour-png/bbattery

                    die Abfrage des Akkustand läuft über PAW. "paw.0.FlurTab.info.battery.level"

                    siehe hier: http://forum.iobroker.net/viewtopic.php?f=24&t=6274

                    Über mein Scirpt wird dann ein Schaltaktor "hm-rpc.1.OEQ0171991", Ein bzw. Aus geschaltet, der wiederum versorgt mein USB Netzteil.

                    Gruß Tom

                    1 Reply Last reply Reply Quote 0
                    • B
                      bimbes112 last edited by

                      Hallo,

                      erstmal Danke für die Erklärungen.

                      Habe versucht dieses auch bei mir einzurichten.

                      Leider mag es noch nicht ganz. 😮

                      Unter Objekte, PAW.0 ist der Level auf dem aktuell ausgelesenen Stand des Tablets.

                      Die Funktion der verschiedenen Batterieanzeigen auf der VIS Oberfläche funktioniert aus.

                      Was noch nicht geht ist das die HM-Steckdose eingeschaltet wird.

                      Habt Ihr eine Idee woran es liegen könnte?

                      // Batterieanzeige
                      "*/20 * * * *"
                      const idBatt = 'paw.0.Tablet.info.battery.level'; // Batterielevel in %
                      const idPlug = 'hm-rpc.2.MEQ0257599.1.STATE'; // Ladegerät ein
                      const idVis = 'Batterieanzeige'; // Für Vis
                      
                      createState(idVis, 0, {
                      type: 'number',
                      min: 0,
                      max: 7,
                      role: 'level',
                      states: {
                      0: 'leer',
                      1: '20 %',
                      2: '40 %',
                      3: '60 %',
                      4: '50 %',
                      5: 'voll',
                      6: 'Ladegerät'
                      }
                      });
                      
                      var level = getState(idBatt).val;
                      var plug = getState(idPlug).val;
                      
                      function batt() {
                      var state = 5; // full
                      if(level <= 80) state = 4; // 80 %
                      if(level <= 60) state = 3; // 60 %
                      if(level <= 40) state = 2; // 40 %
                      if(level <= 30) state = 1; // 20 %
                      if(level <= 22) state = 0; // empty
                      if(plug) state = 6; // Ladegerät ein
                      setState(idVis, state, true);
                      }
                      
                      batt(); // Skriptstart
                      
                      on(idBatt, function(dp) {
                      level = dp.state.val;
                      batt();
                      });
                      
                      on(idPlug, function(dp) {
                      plug = dp.state.val;
                      batt();
                      });
                      

                      Vielen Dank

                      Gruß

                      Jürgen

                      1 Reply Last reply Reply Quote 0
                      • T
                        tomdeboom last edited by

                        Hallo Jürgen,

                        "MEQ0257599" ist doch ein Fenstersensor??? Oder was ist das für ein Gerät?

                        Gruß Tom

                        1 Reply Last reply Reply Quote 0
                        • B
                          bimbes112 last edited by

                          Hallo Tom,

                          nein das ist eine HM-ES-PMSw1-Pl. Das ist die schaltbare Homematic Steckdose.

                          Gruß

                          Jürgen

                          1 Reply Last reply Reply Quote 0
                          • T
                            tomdeboom last edited by

                            Hi Jürgen,

                            ok, dann sollte es gehen.

                            Kannst du mal ein Bildschirmfoto von dem Objekt in iobroker für die Steckdose hier posten?

                            Gruß,

                            Tom

                            1 Reply Last reply Reply Quote 0
                            • B
                              bimbes112 last edited by

                              Hallo,

                              ist zwar kein Screenshot hoffe aber das es auch geht:

                              INHIBIT HM-ES-PMSw1-Pl MEQ0257599:1.INHIBIT state state.inhibit Treppenhaus Strom false

                              INSTALL_TEST HM-ES-PMSw1-Pl MEQ0257599:1.INSTALL_TEST state indicator Treppenhaus Strom

                              ON_TIME HM-ES-PMSw1-Pl MEQ0257599:1.ON_TIME state timer.off Treppenhaus Strom 0 s

                              STATE HM-ES-PMSw1-Pl MEQ0257599:1.STATE state state Treppenhaus Strom false

                              WORKING HM-ES-PMSw1-Pl MEQ0257599:1.WORKING state indicator.working Treppenhaus Strom false

                              Danke

                              Gruß

                              Jürgen

                              1 Reply Last reply Reply Quote 0
                              • T
                                tomdeboom last edited by

                                Hi Jürgen,

                                und das steht bei dir alles unter "hm-rpc.2" ?

                                Gruß,

                                Tom

                                1 Reply Last reply Reply Quote 0
                                • B
                                  bimbes112 last edited by

                                  Hallo,

                                  wenn ich die Steckdose von Hand einschalte zeigt die VIS Oberfläche an das der Akku geladen wird.

                                  Es geht somit nur das Einsachalten und vermutlich das Ausschalten der HM Steckdose nicht.

                                  Muss ich in der HM noch was einstellen?

                                  Danke

                                  Gruß

                                  Jürgen

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    tomdeboom last edited by

                                    Hi,

                                    wenn du die Stechkdose per Hand einschaltest, welcher State zeigt "true" an?

                                    Gruß,

                                    Tom

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      bimbes112 last edited by

                                      welchen State meinst Du ?

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        tomdeboom last edited by

                                        Hi Jürgen,

                                        das meinte ich mit State, dort wo jetzt "false" steht müsste bei einschalten der Steckdose nach einer gewissen Zeit "true" stehen.

                                        @bimbes112:

                                        Hallo,

                                        ist zwar kein Screenshot hoffe aber das es auch geht:

                                        INHIBIT HM-ES-PMSw1-Pl MEQ0257599:1.INHIBIT state state.inhibit Treppenhaus Strom false

                                        INSTALL_TEST HM-ES-PMSw1-Pl MEQ0257599:1.INSTALL_TEST state indicator Treppenhaus Strom

                                        ON_TIME HM-ES-PMSw1-Pl MEQ0257599:1.ON_TIME state timer.off Treppenhaus Strom 0 s

                                        STATE HM-ES-PMSw1-Pl MEQ0257599:1.STATE state state Treppenhaus Strom false

                                        WORKING HM-ES-PMSw1-Pl MEQ0257599:1.WORKING state indicator.working Treppenhaus Strom false

                                        Danke

                                        Gruß

                                        Jürgen `

                                        oder so:

                                        5104_steckdose.png

                                        Gruß,

                                        Tom

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          bimbes112 last edited by

                                          Hallo,

                                          wie bei Dir. State geht auf true die beiden anderen bleiben auf false.

                                          Danke

                                          Gruß

                                          Jürgen

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            tomdeboom last edited by

                                            Hallo Jürgen,

                                            was wird bei dir unter "Objekte/Javascript.0/Batterieanzeige" angezeigt?

                                            Ist hier im Bild blau markiert:
                                            5104_akku.png

                                            Gruß,

                                            Tom

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            721
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            68
                                            21656
                                            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