Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Boost Zeit anzeigen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Boost Zeit anzeigen

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

      Und diese Zeit bleibt fast immer gleich. Einmal ist es bis 297 heruntergelaufen und 1x von 300 auf 12 gesprungen.

      1 Reply Last reply Reply Quote 0
      • Jeeper.at
        Jeeper.at last edited by

        Hm, ich verwende dazu das Basic-Number Widget. Ansonsten habe ich auch keine Idee mehr.

        1 Reply Last reply Reply Quote 0
        • K
          Karl_999 last edited by

          @Georgius:

          Und diese Zeit bleibt fast immer gleich. Einmal ist es bis 297 heruntergelaufen und 1x von 300 auf 12 gesprungen. `
          Ich gehe zunächst einmal davon aus, dass du über ein Homematic-Thermostat (HKT) mit CCU sprichst (da wurde nichts genaues dazu gesagt).

          Hier ist es so, dass das HKT nicht permanent sendet. Dies ist zum einen der 1%-Regelung (nein, keine 5% wie im Wahlrecht) geschuldet. Auf den genutzten Frequenzen dürfen Geräte maximal 1% der Zeit pro Stunde senden (das sind 36 Sekunden). Zum anderen dient es natürlich auch dazu, die Batterien des HKT zu schonen.

          Durch die mehr oder weniger getaktete Übertragung ändert sich natürlich auch der Wert immer nur sporadisch (nach einer Übertragung).

          Wann das passiert ist völlig undefiniert.

          Das kannst du direkt in den ioBroker-Objekten überprüfen: Auch dort wird sich der Wert der Restzeit nur sporadisch ändern.

          Schön sehen kann man das auch in Aufzeichnungen der CCU selbst (wenn man z.B. die Ventilstellung mitschreibt).

          1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active last edited by

            Guten Abend,

            ich benutze dazu den üblichen "Counter-Script".

            Folgender On startet den Counter:

            on({id: 'javascript.0.Status.Heizung.Boost_Mode.Bad_EG', change: "ne"}, function(obj) { 
                if (obj.state.val) {
                    setState('hm-rpc.0.KEQ0576469.4.BOOST_MODE', true);
                    setState('javascript.0.Countdown.Heizung_Boost.Bad_EG.countTrigger', true);    // Countdown starten
                } else {
                    setState('hm-rpc.0.KEQ0576469.4.BOOST_MODE', false);
                    setState('hm-rpc.0.KEQ0576469.4.SET_TEMPERATURE', getState('hm-rpc.0.KEQ0576469.4.SET_TEMPERATURE').val);
                    setState('javascript.0.Countdown.Heizung_Boost.Bad_EG.countTrigger', false);    // Countdown stoppen
                }
            }); 
            

            Folgendes Script ändert den Count:

            // Countdown Heizung_Boost - Bad_EG
            
            var count,timer;
            
            function countdown(){
                count--;
                if(count > 0) setState('javascript.0.Countdown.Heizung_Boost.Bad_EG.countdown', count);
                else {
                    setState('javascript.0.Countdown.Heizung_Boost.Bad_EG.countTrigger', false );
                    setState('javascript.0.Status.Heizung.Boost_Mode.Bad_EG', false);
                }
            }
            
            on({id: "javascript.0.Countdown.Heizung_Boost.Bad_EG.countTrigger", change: "ne"}, function(obj){
                if(obj.state.val) { 
                    count = 300;  // in Sekunden
                    setState('javascript.0.Countdown.Heizung_Boost.Bad_EG.countdown', count);
                    timer = setInterval(countdown, 1000);   // 1000 = 1 Sek. ;  60000 = 60 Sek.
                } else {
                    clearInterval(timer);
                    setState('javascript.0.Countdown.Heizung_Boost.Bad_EG.countdown', 0 );
                }
            });
            
            

            Die Objekte musst du manuell erzeugen.

            Auf der View benutze ich

            a) basic bulb on/off -> um Boost anzuschalten (dann auf true)

            b) basic number -> um die Zahl (count) darzustellen.

            Sieht dann so in vis aus:
            1540_bild1.jpg

            mfg

            Dieter

            1 Reply Last reply Reply Quote 0
            • Jeeper.at
              Jeeper.at last edited by

              @Karl_999:

              Hier ist es so, dass das HKT nicht permanent sendet. `

              Der Thermostat sendet ziemlich genau alle drei Minuten.

              1 Reply Last reply Reply Quote 0
              • K
                Karl_999 last edited by

                @Jeeper.at:

                Der Thermostat sendet ziemlich genau alle drei Minuten. `
                Und dazwischen gibt's keine Aktualisierung im ioBroker …

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

                  @Karl_999:

                  Und dazwischen gibt's keine Aktualisierung im ioBroker … `
                  Nein, für die Raumtemperatur ist das ausreichend. Nur bei Tasten-/Sollwertstellerbetätigung wird auch zwischendurch gesendet.

                  1 Reply Last reply Reply Quote 0
                  • G
                    Georgius last edited by

                    @bahnuhr:

                    Guten Abend,

                    ich benutze dazu den üblichen "Counter-Script".

                    Folgender On startet den Counter:

                    on({id: 'javascript.0.Status.Heizung.Boost_Mode.Bad_EG', change: "ne"}, function(obj) { 
                        if (obj.state.val) {
                            setState('hm-rpc.0.KEQ0576469.4.BOOST_MODE', true);
                            setState('javascript.0.Countdown.Heizung_Boost.Bad_EG.countTrigger', true);    // Countdown starten
                        } else {
                            setState('hm-rpc.0.KEQ0576469.4.BOOST_MODE', false);
                            setState('hm-rpc.0.KEQ0576469.4.SET_TEMPERATURE', getState('hm-rpc.0.KEQ0576469.4.SET_TEMPERATURE').val);
                            setState('javascript.0.Countdown.Heizung_Boost.Bad_EG.countTrigger', false);    // Countdown stoppen
                        }
                    }); 
                    

                    Folgendes Script ändert den Count:

                    // Countdown Heizung_Boost - Bad_EG
                    
                    var count,timer;
                    
                    function countdown(){
                        count--;
                        if(count > 0) setState('javascript.0.Countdown.Heizung_Boost.Bad_EG.countdown', count);
                        else {
                            setState('javascript.0.Countdown.Heizung_Boost.Bad_EG.countTrigger', false );
                            setState('javascript.0.Status.Heizung.Boost_Mode.Bad_EG', false);
                        }
                    }
                    
                    on({id: "javascript.0.Countdown.Heizung_Boost.Bad_EG.countTrigger", change: "ne"}, function(obj){
                        if(obj.state.val) { 
                            count = 300;  // in Sekunden
                            setState('javascript.0.Countdown.Heizung_Boost.Bad_EG.countdown', count);
                            timer = setInterval(countdown, 1000);   // 1000 = 1 Sek. ;  60000 = 60 Sek.
                        } else {
                            clearInterval(timer);
                            setState('javascript.0.Countdown.Heizung_Boost.Bad_EG.countdown', 0 );
                        }
                    });
                    
                    ```` `  
                    

                    Also ich sehe da Verbesserungsmöglichkeiten. (allerdings spreche ich nicht JS, lesen geht aber)

                    Das Skript funktioniert nur wenn man den boost in der VIS startet, am Gerät wird es ignoriert. Und wozu diese Zeile da ist ist mir unklar

                    setState('hm-rpc.0.KEQ0576469.4.SET_TEMPERATURE', getState('hm-rpc.0.KEQ0576469.4.SET_TEMPERATURE').val);
                    

                    Da wird doch nur der Wert auf den selben Platz zurückgeschrieben.

                    1 Reply Last reply Reply Quote 0
                    • bahnuhr
                      bahnuhr Forum Testing Most Active last edited by

                      Musst das script ja nicht nehmen.

                      Funktioniert bei mir aber einwandfrei.

                      Und ja, die von dir genannten Zeile ist unlogisch.

                      mfg

                      1 Reply Last reply Reply Quote 0
                      • G
                        Georgius last edited by

                        Bitte nicht eingeschnappt sein, wollte ja nur eine Verbesserung anbringen

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        818
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        5
                        14
                        812
                        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