Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter stiebel-isg v1.4.x GitHub

    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

    Test Adapter stiebel-isg v1.4.x GitHub

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

      Wegen der Groß-/Kleinschreibung hatte ich ursprünglich mal angefangen, die Namen zu übersetzen auch auf Englisch. Aber mit immer mehr Dynamik hab ich das wieder entfernt und offensichtlich den Eintrag vergessen.

      Hat aber keine Auswirkungen.

      1 Reply Last reply Reply Quote 0
      • S
        SaschaS @unltdnetworx last edited by

        @unltdnetworx try und catch bringen nichts. Sobald ich getState().val verwende und bei den unten abgebildeten Werten kein State vorhanden ist, erhalte ich Warnings im Log. Egal ob getstate().val/.lc/.ack/.q/ts

        javascript.0	2020-02-01 15:14:36.341	warn	(25315) at script.js.ISG.Test:5:28
        javascript.0	2020-02-01 15:14:36.341	warn	(25315) getState "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE" not found (3)
        javascript.0	2020-02-01 15:14:36.340	info	(25315) script.js.ISG.Test: Ausgabe5: undefined
        javascript.0	2020-02-01 15:14:36.340	warn	(25315) at script.js.ISG.Test:4:28
        javascript.0	2020-02-01 15:14:36.339	warn	(25315) getState "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE" not found (3)
        javascript.0	2020-02-01 15:14:36.339	info	(25315) script.js.ISG.Test: Ausgabe3: undefined
        javascript.0	2020-02-01 15:14:36.339	warn	(25315) at script.js.ISG.Test:3:28
        javascript.0	2020-02-01 15:14:36.338	warn	(25315) getState "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE" not found (3)
        javascript.0	2020-02-01 15:14:36.338	info	(25315) script.js.ISG.Test: Ausgabe2: null
        javascript.0	2020-02-01 15:14:36.337	warn	(25315) at script.js.ISG.Test:2:28
        javascript.0	2020-02-01 15:14:36.337	warn	(25315) getState "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE" not found (3)
        javascript.0	2020-02-01 15:14:36.336	info	(25315) script.js.ISG.Test: Ausgabe1: undefined
        javascript.0	2020-02-01 15:14:36.336	warn	(25315) at script.js.ISG.Test:1:28
        javascript.0	2020-02-01 15:14:36.335	warn	(25315) getState "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE" not found (3)
        

        Wurden in früheren Versionen vom Adapter für das ISG nicht auch "false"-Werte geschrieben?

        bd623804-69d8-43fb-97cf-68f9a15fa68a-image.png

        unltdnetworx 1 Reply Last reply Reply Quote 0
        • unltdnetworx
          unltdnetworx Developer @SaschaS last edited by

          @SaschaS
          Nein, können sie nicht, weil das ISG den Wert einfach nicht mehr anzeigt. Daher kann ich ihn auch nicht auf false setzen lassen.

          Zeig bitte mal deinen Code.

          S 1 Reply Last reply Reply Quote 0
          • S
            SaschaS @unltdnetworx last edited by

            @unltdnetworx
            Hm..ist ja doof.

            Mein Code ist noch am Entstehen. Prinzipiell geht es mir aber darum, dass ich auf Änderungen von stiebel-isg.0.Info.IST_SOLLWERTE.STATUS.HEIZKREISPUMPE oder stiebel-isg.0.Info.IST_SOLLWERTE.STATUS.HEIZEN reagieren möchte. Ist dazu greife ich eben mit getState() auf die Variable vom ISG Adapter zu.

            schedule("* * * * *", function () {
                const HEIZKREISPUMPE = "stiebel-isg.0.Info.IST_SOLLWERTE.STATUS.HEIZKREISPUMPE";
                var VORLAUFTEMP = getState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.VORLAUFTEMP').val;
                var RÜCKLAUFTEMP = getState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.RÜCKLAUFTEMP').val;
                var SPREIZUNG = getState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.SPREIZUNG').val;
                var ISTWERT_HK1 = getState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.ISTWERT_HK1').val;
                var VOLUMENSTROM = getState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.VOLUMENSTROM').val;
                //var HEIZKREISPUMPE = false;
             
                // pump active, valid temperatures only
                if (getState(HEIZKREISPUMPE).notExist) {
                setState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.HKP_VORLAUFTEMP',0,true);
                setState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.HKP_RÜCKLAUFTEMP',0,true);
                setState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.HKP_SPREIZUNG',0,true);
                setState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.HKP_ISTWERT_HK1',0,true);
                setState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.HKP_VOLUMENSTROM',0,true);
                
                console.log("Die HKP läuft aktuell nicht. ");
                }
                else
                {
                setState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.HKP_VORLAUFTEMP',VORLAUFTEMP,true);
                setState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.HKP_RÜCKLAUFTEMP',RÜCKLAUFTEMP,true);
                setState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.HKP_SPREIZUNG',SPREIZUNG,true);
                setState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.HKP_ISTWERT_HK1',ISTWERT_HK1,true);
                setState('stiebel-isg.0.Info.IST_SOLLWERTE.HEIZUNG.HKP_VOLUMENSTROM',VOLUMENSTROM,true);
             
                console.log("Die HKP ist aktiv. Die VL beträgt " + VORLAUFTEMP);    
                }; 
            }; 
            
            unltdnetworx 1 Reply Last reply Reply Quote 0
            • unltdnetworx
              unltdnetworx Developer @SaschaS last edited by

              @SaschaS
              Und wenn du meinen Vorschlag mal probierst?

              S 1 Reply Last reply Reply Quote 0
              • S
                SaschaS @unltdnetworx last edited by SaschaS

                @unltdnetworx Sorry, dass hatte ich nicht explizit erwähnt. Auch hierbei gibts einen Eintrag...

                try {
                   var VAL1 = getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZEN').val;
                   console.log('try');
                }
                catch  (e) {
                   console.log('case');
                }
                

                führt zu

                17:57:56.304	info	javascript.0 (25315) Stop script script.js.ISG.Test
                17:58:13.848	info	javascript.0 (25315) Stop script script.js.ISG.Test
                17:58:22.988	info	javascript.0 (25315) Start javascript script.js.ISG.Test
                17:58:23.004	warn	javascript.0 (25315) at script.js.ISG.Test:7:15
                17:58:23.005	info	javascript.0 (25315) script.js.ISG.Test: try
                17:58:23.005	info	javascript.0 (25315) script.js.ISG.Test: registered 0 subscriptions and 0 schedules
                17:58:29.994	info	javascript.0 (25315) Stop script script.js.ISG.Test
                
                javascript.0	2020-02-01 17:58:23.004	warn	(25315) at script.js.ISG.Test:7:15
                javascript.0	2020-02-01 17:58:23.003	warn	(25315) getState "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZEN" not found (3)
                
                1 Reply Last reply Reply Quote 0
                • S
                  SaschaS last edited by

                  Kann ich dem Wert 'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZEN' zufällig einen default-Wert zuweisen, so dass dieser immer gesetzt wird, außer dein Adapter meldet ein "true"?
                  Nur so eine Idee..

                  unltdnetworx 1 Reply Last reply Reply Quote 0
                  • unltdnetworx
                    unltdnetworx Developer @SaschaS last edited by

                    @SaschaS
                    Ein Standardwert wird mit dem ersten Aktualisieren überschrieben, also wird es wenig bringen.

                    1 Reply Last reply Reply Quote 0
                    • S
                      SaschaS last edited by

                      Gibt es eine andere Möglichkeit? Ich werde ja nicht der einzige mit solch einer Anforderung sein 😄

                      unltdnetworx 1 Reply Last reply Reply Quote 0
                      • unltdnetworx
                        unltdnetworx Developer @SaschaS last edited by

                        @SaschaS
                        Das ist kein direktes Adapterproblem. Evtl. kannst du einen Thread im JS Bereich aufmachen, wie man mit Werten umgehen kann, deren Gültigkeit abgelaufen ist. So werden die Werte nämlich behandelt. Kommt nach der doppelten Abrufzeit vom ISG kein Wert, verfällt die Gültigkeit.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          SaschaS @unltdnetworx last edited by

                          @unltdnetworx Ok. Wenn es kein direkts Adapterproblem ist, muss ich an entsprechender anderer Stelle schauen.

                          Ich habe nun auch versucht z.B. den Datenpunkt 'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE' zu klonen (also seperat zu erzeugt) und mittels

                          on ({id : "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE", change: "any"}, function(obj)
                          {
                          console.log("Es wurde eine Änderung festgestellt -> update2");
                          update2();
                          });
                          

                          Änderungen festzustellen und in der Funktion update2() false/true für mein eigens angelegte Variable zu setzen.
                          Allerdings wird jeder Refresh (ca. 60 Sekunden) als Änderung interpretiert. Kann das sein?

                          21:02:10.612	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: Update3:Die HKP ist aktiv
                          21:02:10.613	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: !Wert: false
                          21:02:10.614	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: Der Status der HKP wurde gewechselt!
                          21:03:13.763	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: Es wurde eine Änderung festgestellt -> update
                          21:03:13.764	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: try
                          21:03:13.769	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: Es wurde eine Änderung festgestellt -> update2
                          21:03:13.770	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: Update2:try
                          21:03:13.770	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: Es wurde eine Änderung festgestellt -> update3
                          21:03:13.771	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: VAL1: true
                          21:03:13.774	warn	javascript.0 (1102) at update3 (script.js.ISG.TestHeizenIndicator:29:5)
                          21:03:13.777	warn	javascript.0 (1102) at Object.<anonymous> (script.js.ISG.TestHeizenIndicator:52:1)
                          21:03:13.783	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: Update3:Die HKP ist aktiv
                          21:03:13.784	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: !Wert: true
                          21:03:13.784	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: Der Status der HKP wurde gewechselt!
                          21:04:10.578	info	javascript.0 (1102) script.js.ISG.TestHeizenIndicator: Es wurde eine Änderung festgestellt -> update
                          
                          unltdnetworx 1 Reply Last reply Reply Quote 0
                          • S
                            SaschaS last edited by

                            @unltdnetworx Und eine technische Frage zum Adapter selbst. Kann man den Adapter eigentlich auch dafür verwenden um gezielt Wert ans ISG zu senden?
                            z.B. Wenn ich "stiebel-isg.0.Einstellungen.HEIZEN.HEIZKURVE HK1.val35" anpassen möchte. Kann ich das dann direkt in ioBroker machen, oder würde der Wert nach dem nächsten Refresh des Adapters wieder überschrieben werden.
                            Habe es bislang noch nicht getestet. Danke 🙂

                            unltdnetworx 1 Reply Last reply Reply Quote 0
                            • unltdnetworx
                              unltdnetworx Developer @SaschaS last edited by

                              @SaschaS
                              Es wird der Wert des States geschrieben, scheinbar wird es nicht überprüft, ob der Wert geändert wurde.

                              1 Reply Last reply Reply Quote 0
                              • unltdnetworx
                                unltdnetworx Developer @SaschaS last edited by

                                @SaschaS
                                Ja, du kannst gezielt Werte abändern. Es dauert aber dann ein wenig, bis das ISG reagiert. Die Werte werden aber sofort geschrieben.

                                1 Reply Last reply Reply Quote 0
                                • M
                                  maodch last edited by

                                  @SaschaS

                                  und falls der Wert mal nicht übernommen wird (für längere Zeit), strom raus und rein beim ISG.
                                  Ich habe mir immer die HK anzeigen lassen, dann siehst du schön, ob das ISG gerade am sterben ist, wenn längere Zeit keine Änderung mehr passiert ... immer ein guter Indikator.

                                  in 80% rebootet die ISG selber, oder entstresst sich, aber manchmal hilft nur "unplug"

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    SaschaS last edited by

                                    @unltdnetworx
                                    Ich klinke mich hier noch einmal ein.

                                    Gerne würde ich mit

                                    console.log($('state[state.id=stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.]'));
                                    

                                    die nachstehenden Objekte auslesen:
                                    5604eb9d-d5c3-4ace-9ce6-cc3ca5927b2b-image.png

                                    Merkwürdigerweise habe ich gestern Abend allerdings folgende Ausgabe erhalten. Es wurden also auch Objekte ausgelesen, die nicht auf 'true' standen:

                                    18:40:38.156 info javascript.0 (13463) script.js.Tests.Statusabfrage: {'0':'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.ABTAUEN_VERDAMPFER','1':'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZEN','2':'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.SCHALTPROGRAMM_AKTIV','length':3}
                                    

                                    und heute früh, erhalte ich lediglich, obwohl weitere Objekte auf 'true' stehen.

                                    07:31:21.722 info javascript.0 (13463) script.js.Tests.Statusabfrage: {'0':'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.SCHALTPROGRAMM_AKTIV','length':1}
                                    

                                    Es passt also mMn hinten und vorne nicht zusammen. Kann mir jemand die Logik davon erklären?

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      SaschaS @SaschaS last edited by

                                      @SaschaS Ich habe nichts gesagt. Der Cache des Browers hat mich in die Irre geleitet.

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        SaschaS last edited by

                                        Falls ein interessierten Leser zu einem späteren Zeitpunkt über ähnliche Probleme stößt. Es gibt eine recht simple Lösung um zu überprüfen, ob ein Objekt im Moment existiert oder nicht.

                                        /**
                                        * Checks if the state with the given ID exists
                                        */
                                        function existsState(id: string): boolean;
                                        /**
                                        * Checks if the object with the given ID exists
                                        */
                                        function existsObject(id: string): boolean;
                                        

                                        Das Beispiel

                                        console.log(existsState("stiebel-isg.0.Info.STATUS.ANLAGENSTATUS.HEIZEN"));
                                        

                                        liefert entweder 'true' oder 'false'.

                                        unltdnetworx 1 Reply Last reply Reply Quote 2
                                        • unltdnetworx
                                          unltdnetworx Developer @SaschaS last edited by

                                          @SaschaS
                                          Danke für den Hinweis. Das dürfte diverse Probleme mut diesen true/false Werten lösen.

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

                                            Hallo Michael @unltdnetworx

                                            ich habe mal eine profane Frage: wie löst man denn (über welche Objekte den Heizbetrieb/Warmwasserbetrieb) aus?

                                            Ich bin auch gerade dabei, meinen PV-Eigenverbrauch zu erhöhen und frage mich, wie ich meine LWZ 404 Trend über die Objekte zum Heizen bzw. Warmwasserbereitung bewege?

                                            Einfach die Raumtemperatur per Objekt erhöhen oder gibt es da noch einen "richtigen" Trigger in den Objekten, den ich nicht finde?

                                            Danke und beste Grüße

                                            Kai

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            509
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            stiebel-isg test
                                            12
                                            203
                                            18484
                                            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