Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Skript zur dynamischen Generierung Batterie/Akku Symbol

    NEWS

    • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar

    • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    Skript zur dynamischen Generierung Batterie/Akku Symbol

    This topic has been deleted. Only users with topic management privileges can see it.
    • sigi234
      sigi234 Forum Testing Most Active @Asgothian last edited by sigi234

      @asgothian sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:

      Besser nicht in einem externen Skript.

      Habe ein extra Skipt erstellt.
      Edit:
      Kaum macht man es Richtig läuft es auch. (VIS-2) 😀

      M 1 Reply Last reply Reply Quote 1
      • Ro75
        Ro75 last edited by

        Ich habe eine geänderte / korrigierte Version in den ersten Beitrag gestellt. In manchen Fällen wurde der Rahmen und der Hintergrund der Batterie nicht korrekt oder gar nicht gezeichnet. Das ist damit behoben.

        Ro75.

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

          bf8c56cd-8471-4e4b-8c43-5ff36097a835-image.png

          Jetzt auch mit Ladesymbol und wahlweise kräftigeren Farben. Einfach den Hauptcode aus erstem Post übernehmen und Beispiel ansehen.

          Ro75.

          sigi234 1 Reply Last reply Reply Quote 0
          • sigi234
            sigi234 Forum Testing Most Active @Ro75 last edited by sigi234

            @ro75 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:

            bf8c56cd-8471-4e4b-8c43-5ff36097a835-image.png

            Jetzt auch mit Ladesymbol und wahlweise kräftigeren Farben. Einfach den Hauptcode aus erstem Post übernehmen und Beispiel ansehen.

            Ro75.

            Super, Ladesymbol würde eher Links passen?
            Warum nimmst du das Beispiel nicht gleich in den Code?

            Ro75 1 Reply Last reply Reply Quote 0
            • Ro75
              Ro75 @sigi234 last edited by

              @sigi234 das Ladesymbol ist im Code - ist bereits integriert. Nur nicht die Option links, rechts - noch nicht

              Ro75.

              sigi234 1 Reply Last reply Reply Quote 0
              • sigi234
                sigi234 Forum Testing Most Active @Ro75 last edited by

                @ro75 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:

                @sigi234 das Ladesymbol ist im Code - ist bereits integriert. Nur nicht die Option links, rechts - noch nicht

                Ro75.

                Ja, aber ich meine das:

                @ro75 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:

                Der eigentliche Aufruf - ein BEISPIEL

                Ro75 1 Reply Last reply Reply Quote 0
                • Ro75
                  Ro75 @sigi234 last edited by

                  @sigi234 das Beispiel ist doch auch angepasst.

                  Ro75.

                  sigi234 1 Reply Last reply Reply Quote 0
                  • BananaJoe
                    BananaJoe Most Active @Ro75 last edited by

                    @ro75 Sehr cool, danke für das teilen!

                    1 Reply Last reply Reply Quote 1
                    • sigi234
                      sigi234 Forum Testing Most Active @Ro75 last edited by

                      @ro75

                      Hallo, also brauche ich für jedes Gerät ein Skript?
                      Kannst du noch die Einheit konfigurierbar machen? (Volt statt %)
                      Ev. noch die Zahl ohne runden und mit Dezimal?
                      Die Range einstellbar?

                      Screenshot (1385).png

                      Ro75 1 Reply Last reply Reply Quote 0
                      • Ro75
                        Ro75 @sigi234 last edited by

                        @sigi234 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:

                        Hallo, also brauche ich für jedes Gerät ein Skript?

                        Nein. Du rufst die Funktion nur mit anderen Werten, sprich Datenpunkt (Batteriestand Gerät 2 auf) für Batteriestand und DP für SVG auf.

                        Ro75.

                        sigi234 Rene55 2 Replies Last reply Reply Quote 0
                        • sigi234
                          sigi234 Forum Testing Most Active @Ro75 last edited by

                          @ro75 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:

                          @sigi234 sagte in Skript zur dynamischen Generierung Batterie/Akku Symbol:

                          Hallo, also brauche ich für jedes Gerät ein Skript?

                          Nein. Du rufst die Funktion nur mit anderen Werten, sprich Datenpunkt (Batteriestand Gerät 2 auf) für Batteriestand und DP für SVG auf.

                          Ro75.

                          Ok, begriffen

                          1 Reply Last reply Reply Quote 0
                          • Rene55
                            Rene55 @Ro75 last edited by

                            @ro75 Wie kommt man nur auf solche Ideen. Tolle Leistung - bin begeistert.

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

                              eace03e9-3cb1-4cdc-ac89-5b1bb4ac4a99-image.png

                              neue Funktionalitäten.

                              • Ladesymbol frei beweglich

                              • freies Suffix, alternativ komplett freier Text

                              • Kommastellen möglich

                              Funktion und Beispiel im ersten Post aktualisiert. Viel Spaß

                              Ro75.

                              1 Reply Last reply Reply Quote 1
                              • Ro75
                                Ro75 last edited by Ro75

                                473754d2-1ed2-4e4b-92a8-05be890848e5-image.png
                                1.0.6: Sortierung der Parameter, Ladesymbol kann auf Wunsch sanft blinken, Dokumentation und Beispiel angepasst

                                WICHTIG: Wird der Code ausgetauscht- MUSS der Aufruf mit geändert werden! - BEISPIEL ansehen!

                                Ro75.

                                sigi234 1 Reply Last reply Reply Quote 0
                                • sigi234
                                  sigi234 Forum Testing Most Active @Ro75 last edited by sigi234

                                  @ro75

                                  Kannst du mir bitte mal deinen Aufruf mit mehreren Symbolen zeigen?

                                  Ro75 1 Reply Last reply Reply Quote 0
                                  • Ro75
                                    Ro75 @sigi234 last edited by Ro75

                                    @sigi234 zum Beispiel so. Musst es für dich halt anpassen

                                    Deklaration

                                    const ZielDPHW = '0_userdata.0.Batterie_Heizung_WZ';
                                    const ZielDPHK = '0_userdata.0.Batterie_Heizung_KZ';
                                    const ZielDPHB = '0_userdata.0.Batterie_Heizung_Bad';
                                     
                                    const dValueW = 'fritzdect.0.DECT_099950330172.battery';
                                    const dValueK = 'fritzdect.0.DECT_099950346641.battery';
                                    const dValueB = 'fritzdect.0.DECT_099950325774.battery';
                                    
                                    const decimalPlaces = 0; // bitte anpassen
                                    const labelSuffix = '%'; // bitte anpassen
                                    const customLabel = null; // bitte anpassen
                                    const showPercent = true; // bitte anpassen
                                    const strongColors = true; // bitte anpassen
                                    const colorScheme = 'default'; // bitte anpassen
                                    const showBolt = false; // bitte anpassen
                                    const boltPos = 100; // bitte anpassen
                                    const blinkBolt = false; // bitte anpassen
                                    

                                    //einfacher Funktionsaufruf mit Speicherung der SVG in einen Datenpunkt

                                    setState(ZielDPHW, generateBatterySvg(getState(dValueW).val, decimalPlaces, labelSuffix, customLabel, showPercent, strongColors, colorScheme, showBolt, boltPos, blinkBolt), true);
                                    setState(ZielDPHK, generateBatterySvg(getState(dValueK).val, decimalPlaces, labelSuffix, customLabel, showPercent, strongColors, colorScheme, showBolt, boltPos, blinkBolt), true);
                                    setState(ZielDPHB, generateBatterySvg(getState(dValueB).val, decimalPlaces, labelSuffix, customLabel, showPercent, strongColors, colorScheme, showBolt, boltPos, blinkBolt), true);
                                    

                                    //Auf Änderung reagieren und Speicherung der SVG in einen Datenpunkt

                                    on({ id: dValueW, change: 'ne' }, dp => {
                                        setState(ZielDPHW, generateBatterySvg(dp.state.val, decimalPlaces, labelSuffix, customLabel, showPercent, strongColors, colorScheme, showBolt, boltPos, blinkBolt), true);
                                    });
                                    on({ id: dValueK, change: 'ne' }, dp => {
                                        setState(ZielDPHK, generateBatterySvg(dp.state.val, decimalPlaces, labelSuffix, customLabel, showPercent, strongColors, colorScheme, showBolt, boltPos, blinkBolt), true);
                                    });
                                    on({ id: dValueB, change: 'ne' }, dp => {
                                        setState(ZielDPHB, generateBatterySvg(dp.state.val, decimalPlaces, labelSuffix, customLabel, showPercent, strongColors, colorScheme, showBolt, boltPos, blinkBolt), true);
                                    });
                                    

                                    Ro75.

                                    1 Reply Last reply Reply Quote 1
                                    • Ro75
                                      Ro75 last edited by

                                      c307a50d-756d-4dfc-8cf4-ba363e3cacb6-image.png

                                      Und es lässt sich auch alles zentral konfigurieren, sodass Änderungen zentral vorgenommen, gespeichert und sofort in Kraft treten.

                                      Ro75.

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        Maxtor62 @sigi234 last edited by

                                        @sigi234
                                        hast Du den Aufruf mit einem extra Skript gestartet?

                                        Bei mir wird kein Datenpunkt erstellt.
                                        Grüße

                                        Ro75 1 Reply Last reply Reply Quote 0
                                        • Ro75
                                          Ro75 @Maxtor62 last edited by Ro75

                                          @maxtor62 in meinem Beispiel (Post 1) wird auch kein Datenpunkt automatisch erstellt. Im Beispiel wird auf einen bereits existierenden Datenpunkt verwiesen.

                                          Ro75.

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            Maxtor62 @Ro75 last edited by

                                            @ro75

                                            Hi, danke für Deine Hilfe. Bin halt kein Java-Scripter.

                                            Meine Datenpunkte:

                                            const ZielDP = '"0_userdata.0.vis.VIS-Batterie.Batt'; // bitte anpassen
                                             
                                            const dValue = getState('ecoflow-mqtt.0.D3M1ZE1A9H8G0082.DisplayPropertyUpload.bmsBattSoc').val; // bitte anpassen
                                            const decimalPlaces = 0; // bitte anpassen
                                            const labelSuffix = '%'; // bitte anpassen
                                            const customLabel = null; // bitte anpassen
                                            const showPercent = true; // bitte anpassen
                                            const strongColors = true; // bitte anpassen
                                            const colorScheme = 'default'; // bitte anpassen
                                            const showBolt = false; // bitte anpassen
                                            const boltPos = 100; // bitte anpassen
                                            const blinkBolt = false; // bitte anpassen
                                             
                                            //Funktionsaufruf mit Speicherung der SVG in einen Datenpunkt
                                            setState(ZielDP, generateBatterySvg(dValue, decimalPlaces, labelSuffix, customLabel, showPercent, strongColors, colorScheme, showBolt, boltPos, blinkBolt), true);
                                            
                                            
                                            Ro75 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            801
                                            Online

                                            32.4k
                                            Users

                                            81.3k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring
                                            8
                                            48
                                            794
                                            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