Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Neuer Adapter: ioBroker.stiebel-lwz / ioBroker.stiebel-isg

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Neuer Adapter: ioBroker.stiebel-lwz / ioBroker.stiebel-isg

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

      @JB_Mystery
      Das wäre auch mein Vorschlag gewesen, erst mal mit Blockly testen. Oder den Punkt mal loggen lassen und schauen, ob er überhaupt geschrieben wird.

      Ich schau mir das später mal an, bin gerade unterwegs.

      1 Reply Last reply Reply Quote 0
      • J
        JB_Mystery last edited by

        Habe ein Blockly versucht, leider mit gleichem Ergebnis; keine Mail kam. Wobei ich dazu sagen muss, dass es mein erstes Blockly ist.

        Blockly.jpg
        Habe extra Screenshots gemacht, während Warmwasser erzeugt wurde, damit das true zu sehen ist.

        LOG.jpg
        Verdichter.jpg

        Bin für jeden Tipp bzw. Hilfe dankbar.

        J 1 Reply Last reply Reply Quote 0
        • nik82
          nik82 Most Active last edited by nik82

          Mach doch erstmal eines, mach oben beim Blockly statt "geändert" auf "aktualisiert", dann machst gleich nach dem Verdichter = wahr eine Email und schaust erstmal ob die Email kommt wenn der Verdichter sich ändern und dann gehst den nächsten Schritt.

          P.S. Bei dem Ventil könnte es auch sein das du die 2 nicht als Zahl sondern als Text angeben musst.

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

            Oder statt einer E-Mail ein Log schreiben lassen. Dann hat man sofort Rückmeldung und ein weiteres Problem ausgeschlossen.

            1 Reply Last reply Reply Quote 0
            • J
              JB_Mystery last edited by

              Ich habe jetzt die letzten Tage weiter rum experimentiert. Dabei hat sich rausgestellt, dass ich e-Mails senden kann. Daran liegt es nicht.
              Weder Javascript noch Blockly erkennen die Änderung von Werten. Aber warum verstehe ich nicht, da der Wert WAHR zu sein scheint. Siehe dazu Test-Blockly und Log-Auszug. Da ich nicht jeden Tag Warmwasser erzeuge, bin ich für die Testung auf die Pumpe gewechselt. Sind aber die selben Probleme.
              Habt ihr dazu jetzt noch Ideen? Bin für alles Dankbar.

              Pumpe.jpg
              LOG2.jpg

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

                @JB_Mystery
                Teste doch mal dein erstes Skript mit einem Log nach der ersten Abfrage (Verdichter). Und bau dir ein anderes Skript und teste, ob die Stufen des Ventils auch wirklich als Zahlen abgefragt werden.

                Also lediglich ein Skript, das einmalig beim Ausführen auf 4 bzw. "4" testet.

                Hatte schon öfter das Problem, dass Zahlen als Strings angegeben werden müssen.

                1 Reply Last reply Reply Quote 0
                • J
                  JB_Mystery last edited by

                  Ich bin etwas weiter. Egal wie ich eine Änderung abfrage Blockly oder Javascript, sie wird nicht erkannt. Warum weis ich nicht. Nur Aktualisiert bzw. Vergleich auf Wahr wird ausgeführt.

                  on({id: 'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE', change: "ne"}, function (obj) {
                      log ("Verdichter Änderung");
                      if (getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE').val === true) {
                          log ("Verdichter = TRUE");
                          if (getState('stiebel-isg.0.Info.FACHMANN.PROZESSWERTE.POSITION_VENTIL').val = 2) log ("Verdichter = Heizbetrieb - Vergleich Zahl");
                          if (getState('stiebel-isg.0.Info.FACHMANN.PROZESSWERTE.POSITION_VENTIL').val = 4) log ("Verdichter = Warmwasserbetrieb - Vergleich Zahl");
                          if (getState('stiebel-isg.0.Info.FACHMANN.PROZESSWERTE.POSITION_VENTIL').val = "2") log ("Verdichter = Heizbetrieb - Vergleich String");
                          if (getState('stiebel-isg.0.Info.FACHMANN.PROZESSWERTE.POSITION_VENTIL').val = "4") log ("Verdichter = Warmwasserbetrieb - Vergleich String");
                      }
                  });
                  

                  Hier kam überhaupt kein Log. Die Ventil Geschichte gehe ich an, wenn ich die Änderung Verdichter mitbekomme.

                  Log3.jpg

                  Auch hier wurden immer nur aktualisiert und WAHR ausgegeben im LOG.

                  Kann es sein, dass beides die Änderung von undefiniert zu WAHR nicht als Änderung wahrnimmt?
                  Wie kann ich sonst auf die erstmalige Steigende Flanke von Verdichter reagieren? Außer jetzt eine Variable zu setzen, die die Ausführung des Scriptes verhintert beim erneuten Aufruf. Wenn alles nichts Hilft, dann werde ich natürlich diesen Workaround machen.

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

                    @JB_Mystery
                    Jetzt wird mir gerade klar, wo das Problem bei dir liegt. Stand wohl auf dem Schlauch.

                    Du wirst keine Änderung mitbekommen, da die ISG Oberfläche keine wirkliche Änderung vollzieht. Die Heizkreispumpe wird (meine ich aus dem Kopf) nur mittels eines Symbols auf der Startseite angezeigt oder eben nicht. Daher wird der Datenpunkt nur auf "true" oder eben gar nicht gesetzt. Somit ändert sich der Wert auch nicht sondern wird lediglich ungültig nach einer bestimmten Zeit.

                    1 Reply Last reply Reply Quote 0
                    • J
                      JB_Mystery last edited by

                      Das weis ich ja, deswegen schrieb ich ja undefiniert. Dann verstehe ich aber nicht, warum es bei @nik82 funktioniert und auch bei mir früher mal ging. Versuche gerade den Workaround zu Basteln. Werde berichten.

                      @nik82 sagte in Neuer Adapter: ioBroker.stiebel-lwz / ioBroker.stiebel-isg:

                      @JB_Mystery
                      Ich kenn mich zwar mit Javascript nicht aus, aber ist das normal das du 3 "=" Zeichen nach dem .val schreiben musst?

                      Mach doch mal ein Blockly, das hier funktioniert bei mir einwandfrei:

                      Blockly.JPG

                      1 Reply Last reply Reply Quote 0
                      • nik82
                        nik82 Most Active last edited by

                        Also bei mir wird auch nur WAHR ausgewertet, sonst nichts. Alles andere geht nicht, das haben wir ja alles schon zig seiten vorher mal diskutiert.
                        Werde mal nochmal einen Test machen und gebe dann nochmal Bescheid.

                        1 Reply Last reply Reply Quote 0
                        • J
                          JB_Mystery last edited by

                          @nik82
                          Aber dein Starttrigger ist Elektrische Nacherwärmung geändert, oder bin ich da falsch? Und dies wird nur einmal ausgeführt, oder? Sonst müsstest du ja permanent die Telegramme bekommen.

                          1 Reply Last reply Reply Quote 0
                          • nik82
                            nik82 Most Active last edited by

                            Ja, weil der Zustand von undefiniert in wahr ist ja eine Änderung und von wahr auf undefiniert müsste er auch eine Änderung erkennen. Aber ich werd das mal mit z.B. Warmwasser nochmal testen und gebe Bescheid.
                            Denn der Heizstab wird so schnell hoffentlich nicht einschalten:-)

                            1 Reply Last reply Reply Quote 0
                            • nik82
                              nik82 Most Active last edited by

                              So habe es jetzt getestet und es funktioniert einwandfrei mit diesem Script:

                              1.JPG

                              Ergebniss:

                              2.JPG

                              @JB_Mystery
                              Bei deinem Testscript oben hast du erstens den Trigger auf aktualisiert und nicht auf geändert, dann hast du nochmal eine "falls" Abfrage in der "falls" Abfrage.

                              Jetzt mach doch mal eines, mach GENAU mein Script oben und als Ausgabe wenn du nicht Telegram willst, mach einfach Email oder Debug out, aber mach mal GENAU das Script und gib uns Bescheid was dann passiert.

                              1 Reply Last reply Reply Quote 0
                              • J
                                JB_Mystery last edited by

                                Habe dies getestet:
                                Blockly2.jpg
                                Ergebnis: Es kam kein LOG.

                                Bin dann weiter auf die Suche gegangen. Mein Wert scheint irgendwie auf TRUE zu stehen, obwohl er nirgends als TRUE dargestellt zu sein scheint.
                                Objekte.jpg

                                schedule("*/50 * * * * *", function () { //alle 30 Sek.
                                    if (getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE').val = true) log ("Heizkreispumpe AN = TRUE; " + getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE').val);
                                });
                                

                                Log3.jpg

                                Ich habe jetzt auch die Log Funktion aktiviert und die minimalen Pumpenzyklen erhöht, so dass ich heute mehrmals testen kann. Also mal abwarten. Ich weis nur nicht, was es bringt? Objekte kein Eintrag und auch im Flot sehe ich kein true.

                                Idee: Wie kann ich die undefinierten Werte (bei mir anscheinend TRUE) = false setzen, wenn sie nicht true sind? Oder geht das im Adapter?

                                Ich verzweifel hier noch.

                                unltdnetworx 1 Reply Last reply Reply Quote 0
                                • nik82
                                  nik82 Most Active last edited by

                                  Es geht ja darum mal zu wissen ob bei dir generell etwas nicht stimmt und dann können wir ja weiter schauen.

                                  Wenn die Heizkreispumpe läuft, geht denn dann dein Objekt auf TRUE? Weil laut Screenshot oben ist es ja undefiniert, also steht gar nichts drin. Du loggst ja den Wert mit der History oder? Zeig mal was er da alles drin hat.

                                  Ich hab da auch mal etwas gebastelt um die Werte statt undefiniert auf FALSE zu setzen:

                                  1.JPG

                                  Das funktioniert auch, ABER es ist nicht nötig, denn der TRUE wert wird immer richtig dargestellt und das reicht, deswegen müssen wir ja wissen ob das bei dir der Fall ist, denn wenn der TRUE Wert nicht richtig dargestellt wird, dann ist ja überhaupt was faul.

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

                                    @JB_Mystery
                                    Ich denke, der Wert wird NICHT geändert. Er verliert nur seine Gültigkeit. Vermutlich ist das keine Änderung. Teste doch mal mit aktualisiert und bau eine Prüfung ein, ob der Wert noch gültig ist, falls das geht. Ansonsten ob die letzte Aktualisierung nicht älter ist, als 2x deine eingestellte Aktualisierungszeit aus dem Adapter.

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

                                      @nik82
                                      Genau so meinte ich das. 👍

                                      1 Reply Last reply Reply Quote 0
                                      • nik82
                                        nik82 Most Active last edited by

                                        Also es ist definitiv eine Änderung wenn die Gültigkeit verloren geht, das Beweist ja das Script oben von mir:-)

                                        1 Reply Last reply Reply Quote 0
                                        • J
                                          JB_Mystery @JB_Mystery last edited by

                                          @JB_Mystery sagte in Neuer Adapter: ioBroker.stiebel-lwz / ioBroker.stiebel-isg:

                                          Habe extra Screenshots gemacht, während Warmwasser erzeugt wurde, damit das true zu sehen ist.

                                          Verdichter.jpg

                                          Der Wert von Heizkreispumpe wird TRUE und undefiniert. Beides habe ich ja schon gezeigt. Lediglich die Abfrage auf Änderung funktioniert nicht.
                                          Loggen tue ich nicht mit History, sondern über SQL.

                                          Wie ich ein Objekt auf Gültig abfrage, weis ich allerdings nicht. Kann dies also nicht testen.

                                          Habe mal das nachfolgende gebastelt, vielleicht Hilft es euch. Meine Aktualisierungszeit im Adapter sind 45 sek.

                                          on({id: 'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE', change: "ne"}, function (obj) {
                                              log ("ne");
                                          });
                                          
                                          on({id: 'stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE', change: "any"}, function (obj) {
                                              log ("any");
                                          });
                                          
                                          schedule("*/60 * * * * *", function () { //alle 30 Sek.
                                                  log (getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE').ack + " ack; " + getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE').c + " c; " + getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE').expire + " expire");
                                                  log (getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE').lc + " lc; " + getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE').notExist + " notExist");
                                                  log (getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE').q + " q; " + getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE').ts + " ts; " + getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.HEIZKREISPUMPE').val + " val");
                                          });
                                          

                                          Hier dann der Log über eine Phase Pumpe:
                                          Log5.jpg

                                          1 Reply Last reply Reply Quote 0
                                          • nik82
                                            nik82 Most Active last edited by

                                            Bleib doch jetzt mal bei was simplen und nicht immer wieder was neues machen.

                                            Also du hast dieses Script aktiviert:

                                            1567845224475-blockly2.jpg

                                            Danach siehst du bei der Heizkreispumpe auch das es auf true springt und dann wieder undefiniert wird, richtig?

                                            Dann MUSS das Script funktionieren.

                                            Wenn nicht dann würde ich mal den Stiebel Adapter löschen, dann auch kompletten Verzeichnis-Baum in den Objekten löschen und dann nochmal installieren.
                                            Und danach probierst du nochmal das ganz simple Blockly-Script.

                                            Meiner Meinung bringt es nichts wenn du immer wieder andere Scripte hier reinhaust und nicht bei einem Test mal bleibst. Zumindest kann ich dir dann nicht helfen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            916
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            17
                                            419
                                            63016
                                            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