Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Steuerung Gecko in Touch 2 per iob möglich? (Wellis)

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Steuerung Gecko in Touch 2 per iob möglich? (Wellis)

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

      Es gibt wieder mal ein Update auf github, welches u.a. dafür sorgt, dass die Werte für Erinnerungen aktualisiert werden. Beim Einspielen vorgehen wie dort als Installation/Update beschrieben, die Datenpunkte müssen aktualisiert werden und alle Skripte ausgetauscht (JavaScript und Python).

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

        Hallo rrov1,
        ich habe lt. Deiner Anleitung mein Gecko in.Touch2 unter ioBroker zum laufen gebracht.
        Dafür schicke ich Dir ein ganz großes Dankeschön für die reingesteckte Arbeit.
        Tolle Leistung!! Vielen Dank.
        Noch einen schönen RestSonntag 😉

        Bernd

        rrov1 1 Reply Last reply Reply Quote 0
        • rrov1
          rrov1 @Bernie last edited by

          @bernie Schön, dann hat sich der Aufwand ins aufhübschen der Anleitung ja schon gelohnt 🙂 . Bis letztes Jahr dachte ich noch, ich wäre der Einzige hier der so eine Steuerung hat/nutzt, denn auch bei den Adapter Requests auf github (https://github.com/ioBroker/AdapterRequests/issues/720) haben bisher nur 3 den Daumen hochgehoben.

          Konni1234 created this issue in ioBroker/AdapterRequests

          open Gecko intouch2 Whirlpoolcontrol #720

          B 1 Reply Last reply Reply Quote 0
          • B
            Bernie @rrov1 last edited by

            @rrov1 Hallo, sehr gerne. Es sollten jetzt mehr Daumen sein 🙂
            Ich habe gerade gesehen, dass ich relativ viele (jede Minute) einen Fehlereintrag im LOG sehe:
            State value to set for "javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeSwitch" has to be type "string" but received type "number"
            Kannst Du damit was anfangen?
            Und noch eine Frage: kann ich den Wasserpflegeindex per Script ändern z.B. von 3 auf 1 oder so?
            Das hat bei mir bisher nicht geklappt. Muss ich da noch irgendein Script zusätzlich irgendwo reinpacken?

            Herzliche Grüße
            Bernd

            rrov1 1 Reply Last reply Reply Quote 0
            • rrov1
              rrov1 @Bernie last edited by

              @bernie Hallo,
              ja, mit der Meldung kann ich was anfangen und ich muss gerade feststellen, das du einen Bug gefunden hast :-(.

              Ist aber ganz leicht zu beheben für dich:

              • suche den Datenpunkt in den Objekten raus und klicke rechts auf den Stift zum bearbeiten
              • wechsle bitte den Datentyp auf "number" so wie hier:
                c4042f4e-a125-4440-9f28-43e83a2e7df3-image.png
              • danach speichern

              Ab diesem Zeitpunkt sollte der Fehler nicht mehr auftauchen.

              Ich werde eine neue Version des Skriptes SpaVariablen.js zum anlegen/updaten der Datenpunkte in github hochladen die das behebt. Ist mir glatt peinlich, das ich das übersehen habe.

              Zu deiner zweiten Frage:
              Nein, der Datenpunkt Wasserpflegeindex ist kein Datenpunkt um eine Steuerungsfunktion auszulösen, es ist ein read-only Datenpunkt. Den Wasserpflegemodus kannst du nur über den Datenpunkt "WasserpflegeSwitch" (was ein denglich von mir) ändern, weil nur auf diesen Datenpunkt ein Skript achtet und dem SpaController Bescheid gibt. Wenn du diesen Datenpunkt per Skript änderst sollte das ganz normal mit setState() gehen, achte bitte darauf, dass ack=false mitgegeben wird (nur dann reagiert mein Skript).
              Beispiel:

              setState("javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeSwitch", {val: 3, ack: false});
              

              Ich hoffe das hilft Dir weiter.

              rrov1

              B 1 Reply Last reply Reply Quote 0
              • B
                Bernie @rrov1 last edited by

                @rrov1 Hallo,

                ja, das Thema mit den Fehlermeldungen im LOG ist weg - Danke dafür 🙂

                Das mit dem WasserpflegeSwitch hab ich noch nicht verstanden.
                Ich versuche mal ein Bild hochzuladen, sodass wir vom gleichen sprechen:SpaControl1.png

                wenn ich hier z.B. auf 1 per Auswahlfeld ändere, dann dauert es ein wenig (das Feld ist rot) und dann wird es grün und die Anzeige springt auf - in meinem Fall 2 - zurück.
                Muss ich noch irgend etwas einstellen? Die Temperaturverstellung und Pumpen und Licht funktionieren einwandfrei.
                LG
                Bernd

                rrov1 1 Reply Last reply Reply Quote 0
                • rrov1
                  rrov1 @Bernie last edited by

                  @bernie Hallo,

                  hm, also das von dir geschilderte Verhalten kann, geschuldet der Art und Weise wie ich das implementiert habe, tatsächlich auftreten. Ich hole mal kurz aus, damit du das nachvollziehen kannst, danach musst du mal ins Protokoll schauen und einen Auszug bereitstellen.

                  1. Die Implementierung nutzt ja die geckolib im Hintergrund. Mit jedem Aufruf eines Skriptes muss eine Verbindung zum SpaController aufgebaut werden. Das dauert bei mir so ca. 14 Sekunden, die eigentliche Aktion (Status auslesen oder etwas Schalten) ca. 1 Sekunde.
                  2. Exakt jede Minute läuft das Skript: SpaUpdateValues.js, zur Aktualisierung der Datenpunkte, d.h. die ersten 15 Sekunden einer jeden Minute sind grundsätzlich von dem Skript blockiert.
                  3. Wenn du jetzt den Datenpunkt "WasserpflegeSwitch" veränderst, dann wird richtiger Weise zuerst mal der neue Wert in der Farbe rot dargestellt (rot, weil ack=false, also von dir manuell oder per VIS wurde der Datenpunkt geändert). Jetzt kommt es darauf an, wann du den Datenpunkt geändert hast:
                    A) Zwischen Sekunde 0 und 15: Dann muss das Skript zum ändern des Wasserpflegemodus erst mal warten bis das minütliche Update durch ist, welches blöder Weise auch noch den aktuellen Wert des SpaControllers einstellt (und in grün, weil dieses Skript darf ack=true setzen). Erst danach kann das Skript zum ändern des Wasserpflegemodus loslaufen und diesen verändern und sollte, wenn es sauber läuft auch den von dir gewünschten Wasserpflegemodus im SpaController aktivieren und im Datenpunkt setzen.
                    B) Zwischen Sekunde 16 und 59: Dann läuft das Skript zum ändern des Wasserpflegemodus halt sofort los, braucht ca. 15 Sekunden um dies am SpaController zu setzen und im Datenpunkt einzustellen.

                  Das wie es "normal" tickt. Das ist nicht so prickelnd, weil man wirklich 15 Sekunden warten muss, aber es geht erst mal nicht besser, weil ich sonst irgendwie dauerhaft eine Verbindung mit der geckolib zum SpaController aufrecht erhalten müsste. Das muss ich aber erst mal erforschen, ganz ehrlich, Python ist nicht die Programmiersprache.

                  Aber egal, um herauszubekommen was passiert brauche ich vom ioBroker-Protokoll mal einen Auszug. Stelle mal folgenden Filter ein:
                  2f00b779-7c7c-490a-8e67-7fc06f6afc5a-image.png
                  und poste mal den Auszug aus dem Protokoll hier, also + - 2 Minuten herum um das ändern vom Wasserpflegemodus.

                  rrov1

                  B 1 Reply Last reply Reply Quote 0
                  • T
                    tklein last edited by

                    hey, ist ja schön, dass die software ja doch noch von weiteren usern benutzt wird und sind diene bemühungen lohnen 🙂 @rrov1

                    1 Reply Last reply Reply Quote 0
                    • B
                      Bernie @rrov1 last edited by

                      @rrov1 said in Steuerung Gecko in Touch 2 per iob möglich? (Wellis):

                      @bernie Hallo,

                      hm, also das von dir geschilderte Verhalten kann, geschuldet der Art und Weise wie ich das implementiert habe, tatsächlich auftreten. Ich hole mal kurz aus, damit du das nachvollziehen kannst, danach musst du mal ins Protokoll schauen und einen Auszug bereitstellen.

                      1. Die Implementierung nutzt ja die geckolib im Hintergrund. Mit jedem Aufruf eines Skriptes muss eine Verbindung zum SpaController aufgebaut werden. Das dauert bei mir so ca. 14 Sekunden, die eigentliche Aktion (Status auslesen oder etwas Schalten) ca. 1 Sekunde.
                      2. Exakt jede Minute läuft das Skript: SpaUpdateValues.js, zur Aktualisierung der Datenpunkte, d.h. die ersten 15 Sekunden einer jeden Minute sind grundsätzlich von dem Skript blockiert.
                      3. Wenn du jetzt den Datenpunkt "WasserpflegeSwitch" veränderst, dann wird richtiger Weise zuerst mal der neue Wert in der Farbe rot dargestellt (rot, weil ack=false, also von dir manuell oder per VIS wurde der Datenpunkt geändert). Jetzt kommt es darauf an, wann du den Datenpunkt geändert hast:
                        A) Zwischen Sekunde 0 und 15: Dann muss das Skript zum ändern des Wasserpflegemodus erst mal warten bis das minütliche Update durch ist, welches blöder Weise auch noch den aktuellen Wert des SpaControllers einstellt (und in grün, weil dieses Skript darf ack=true setzen). Erst danach kann das Skript zum ändern des Wasserpflegemodus loslaufen und diesen verändern und sollte, wenn es sauber läuft auch den von dir gewünschten Wasserpflegemodus im SpaController aktivieren und im Datenpunkt setzen.
                        B) Zwischen Sekunde 16 und 59: Dann läuft das Skript zum ändern des Wasserpflegemodus halt sofort los, braucht ca. 15 Sekunden um dies am SpaController zu setzen und im Datenpunkt einzustellen.

                      Das wie es "normal" tickt. Das ist nicht so prickelnd, weil man wirklich 15 Sekunden warten muss, aber es geht erst mal nicht besser, weil ich sonst irgendwie dauerhaft eine Verbindung mit der geckolib zum SpaController aufrecht erhalten müsste. Das muss ich aber erst mal erforschen, ganz ehrlich, Python ist nicht die Programmiersprache.

                      Aber egal, um herauszubekommen was passiert brauche ich vom ioBroker-Protokoll mal einen Auszug. Stelle mal folgenden Filter ein:
                      2f00b779-7c7c-490a-8e67-7fc06f6afc5a-image.png
                      und poste mal den Auszug aus dem Protokoll hier, also + - 2 Minuten herum um das ändern vom Wasserpflegemodus.

                      rrov1

                      Hallo rrov1,
                      ich hab jetzt eine ganze Zeit rumprobiert aber bisher keine Werte vom Spa gesehen. In deinem Skript sind die Zeilen //console.log("*** pyScriptFolder: " + pyScriptFolder); ja noch auskommentiert. Muss ich die aktivieren?
                      Mit einem kleinen Blockly Script hab ich es probiert. Der Wert ändert sich auf z.B. 3 - aber bleibt die ganze Zeit rot. WIrd also anscheinend nicht verarbeitet.
                      LG
                      Bernd

                      rrov1 1 Reply Last reply Reply Quote 0
                      • rrov1
                        rrov1 @Bernie last edited by

                        @bernie Ok, bitte prüfe mal ob die wie in der Anleitung unter Schritt 4 beschrieben das Skript: WatercareMode.js in JavaScript Adapter importiert und auch aktiviert hast. Das Skript ist dafür zuständig, auf die Änderung des Datenpunktes zu reagieren (Zeile 2-4). Evtl. kannst du mal einen Screenshot aus dem JavaScript Adapter beilegen, es müsste so aussehen:
                        1c85032e-6b3f-4881-b775-9a3321ea67e0-image.png

                        Die Kommentare kannst du gerne entfernen (also Zeilen 12, 15, 17 und auch 22), allerdings ist schon in Zeile 8 ein console.log()-Aufruf drinnen der, wenn der Trigger auf Zeile 2 funktioniert zu einer Protokollausgabe der Form: "script.js.Spa.WatercareMode: start" führen sollte.

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          Bernie @rrov1 last edited by

                          @rrov1 Hallo, Asche auf mein Haupt.....😖 Ich hatte das Skript natürlich nicht angelegt 🙄
                          Nachdem ich es lt. Anleitung angelegt habe, funktionierte es auf Anhieb.
                          Also ein großes Sorry wenn ich Dir Kopfzerbrechen bereitet habe.
                          Nochmals vielen Dank für die Skripte und die Zeit die Du dafür und jetzt auch noch für meine Fragen aufgewendet hast.
                          Viele herzliche Grüße
                          Bernd

                          rrov1 1 Reply Last reply Reply Quote 0
                          • rrov1
                            rrov1 @Bernie last edited by rrov1

                            @bernie Kein Problem, sowas bereitet mir noch nicht ansatzweise Kopfschmerzen, da habe ich schlimmeres erlebt 🙂 .

                            Momentan sieht's leider so aus, als das ich es bei der bestehenden Logik und damit etwas behäbigen "Schaltgeschwindigkeit" belasse. Ich habe am letzten WE mal MQTT geckoclient ausprobiert, welcher auch grundsätzlich funktioniert und schneller schaltet bei mir aber auch erheblich mehr CPU Last verursacht als meine Skripte. Warum kann ich mir ad hoc nicht erklären, aber das Jahr hat ja noch ein paar Wochenenden, vielleicht kann ich da mal noch Licht ins Dunkel bringen.

                            rrov1 1 Reply Last reply Reply Quote 0
                            • rrov1
                              rrov1 @rrov1 last edited by

                              @rrov1 Ich hatte wieder mal etwas Zeit zum experimentieren und habe an der Performanceschraube der Skripte erfolgreich gedreht. Alle aktualisierten Python-Skripte laufen jetzt erheblich schneller (unter 12 Sekunden bei mir), so dass die Reaktionsgeschwindigkeit auf Schaltbefehle jetzt in einem brauchbareren Rahmen liegt. Nebenbei konnte ich auf meinem System auch 50% weniger CPU-Last für die Python-Skripte beobachten (von 5% auf ~2,5%).

                              Ein Update (Quelle: github) lohnt sich denk ich.

                              Vorgehensweise beim Update siehe: github, die Kurzversion:

                              • SpaVariablen.js ersetzen und laufen lassen (aufpassen auf die Parameter)
                              • alle Python-Skripte ersetzen
                                Breaking changes:
                              • Die read only Datenpunkte: WasserpflegeIndex und Wasserpflege sind entfallen. Als Ersatz dient: WasserpflegeSwitch. Wenn die DP irgendwo verwendet wurden, muss das umgestellt werden.
                              1 Reply Last reply Reply Quote 0
                              • T
                                tklein last edited by tklein

                                konnte ich hier nicht die zirkulationspumpe schalten? ist bei mir read only.

                                a97f9cfe-527e-4205-be72-4c455fb92aed-grafik.png

                                ist a bissl her. habe auch nicht die aktuelleste version. sollte aber eigenlich doch klappen oder?

                                Brauche das, da ich nur dann den Gasdurchlauferhitzer anschalten kann.

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  tklein @tklein last edited by

                                  ah sehe gearde, man konnte licht und die pumpen schalten. bis jetzt nicht die zirkulationspumpe.
                                  @rrov1 ist das geplant/möglich?

                                  rrov1 1 Reply Last reply Reply Quote 0
                                  • rrov1
                                    rrov1 @tklein last edited by

                                    @tklein Die Zirkulationspumpe kann man leider überhaupt nicht einzeln schalten. Die geckolib, welche als Basis dient hat keine Funktion dafür und mir ist aus meiner in.touch 2 App auch keine Funktion dafür bekannt. Aus dem Grund ist der Datenpunkt auch nur read only.

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      tklein @rrov1 last edited by

                                      @rrov1 ja, habe ein issue auf github bei der geckolib aufgemacht. Ich kann die bei mir per App separat schalten.
                                      Bei einem Adapterentwickler ist der entsprechende Adapter auf Platz 4. 🙂 Ich hoffe, dass wir demnächst den Adapter direkt nutzen können. Wobei deren Gecko-Api nicht so pralle sein sollen.

                                      C 1 Reply Last reply Reply Quote -1
                                      • C
                                        csp @tklein last edited by

                                        @tklein Moin,
                                        lange nichts passiert hier. Bekomme demnächst meine Gecko in touch 2 und würde die natürlich gerne iobrokern.
                                        Gibr's was Neues zum Thema Adapter?
                                        Thomas

                                        I 1 Reply Last reply Reply Quote 0
                                        • I
                                          IObroker-Neuling @csp last edited by

                                          Hallo Zusammen,
                                          ich bin ein kompletter Neueinsteieger im iobroker. Ich kenne mich weder mit Linux, noch mit Phyton aus, rudimentär mit JavaScript.
                                          Ich habe auch einen in touch 2 Adapter. Weiterhin habe ich eine PV. Ziel soll sein, die Temperatur hochzusetzen (aufheizen) wenn Überschussstrom in der PV existiert und Heizen ausschalten wenn die Sonne wieder weg ist. Ich habe meine PV bereits abfragen können und die aktuellen Werte im VIS anzeigen können. die Datenpunkte werden ständig aktualisiert. Bei diesem Adapter (in touch 2) bin ich nur zu dem Punkt gekommen, dass ich mit eurem Script die leeren Datenpunkte anlegen konnte, sie werden allerdings nicht befüllt.

                                          1. Wie kann ich die Datenpunkte mit aktuellen Werten aus der In touch 2 aktualisieren? Ich habe leider mit der Suche noch nichts passendes gefunden.
                                          2. Wie kann ich Werte in eine Datenbank schreiben und wieder abrufen (welche DB ist da zu empfehlen? influxDB?)

                                          Ich hoffe ich stelle mich nicht zu dumm an und ihr könnt mir helfen, bzw. einen Tipp geben wo ich weitere Infos finden kann.
                                          VG

                                          T 2 Replies Last reply Reply Quote 0
                                          • T
                                            tklein @IObroker-Neuling last edited by

                                            @iobroker-neuling hi, willkommen im club 🙂

                                            welchen "in touch 2 Adapter" meinst du genau?

                                            Meinst du evtl. diese DP?

                                            99ce8ef0-be1e-45f3-ad18-063517115fc7-grafik.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            733
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            167
                                            15221
                                            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