Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Steuerung Gecko in Touch 2 per iob möglich? (Wellis)

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    9
    1
    60

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    554

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
189 Beiträge 8 Kommentatoren 30.8k Aufrufe 6 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Stefan-Berlin1S Stefan-Berlin1

    @rrov1

    Hallo hoffe Du hattest ein angenehmen Urlaub. Ich hab dies mal getestet und auch nochmal komplett neu gemacht.

    Im Datenpunkt taucht es auf. Wenn ich die Spa Update Config Starte kommt noch ein Fehler:

    javascript.0	01:58:42.668	info	Stopping script script.js.common.Spa.SpaUpdateConfig
    javascript.0	01:59:07.571	info	Stopping script script.js.common.Spa.SpaUpdateConfig
    javascript.0	01:59:13.261	info	Start JavaScript script.js.common.Spa.SpaUpdateConfig (Javascript/js)
    javascript.0	01:59:13.302	info	script.js.common.Spa.SpaUpdateConfig: start
    javascript.0	01:59:13.302	info	script.js.common.Spa.SpaUpdateConfig: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
    javascript.0	01:59:13.303	info	script.js.common.Spa.SpaUpdateConfig: *** IP(s) to disover: 192.168.188.68
    javascript.0	01:59:13.303	info	script.js.common.Spa.SpaUpdateConfig: resetting scriptRunning, because it's false since more than 5 minutes
    javascript.0	01:59:13.303	info	script.js.common.Spa.SpaUpdateConfig: *** discovering IP: 0 => 192.168.188.68
    javascript.0	01:59:13.304	info	script.js.common.Spa.SpaUpdateConfig: *** executing: python /SpaController/spa_config.py 4d9a30ec-aea3-4a77-af1a-01d1ea71c336 http://172.17.0.6:8087 javascript.0.Datenpunkte.SwimSpa 0 192.168.188.68
    javascript.0	01:59:13.313	info	script.js.common.Spa.SpaUpdateConfig: *** stderr: Error: Command failed: python /SpaController/spa_config.py 4d9a30ec-aea3-4a77-af1a-01d1ea71c336 http://172.17.0.6:8087 javascript.0.Datenpunkte.SwimSpa 0 192.168.188.68 /bin/sh: 1: python: not found
    javascript.0	01:59:13.313	info	script.js.common.Spa.SpaUpdateConfig: end
    

    Ich hab nochmal die befehle ausgeführt und er findet den Spa:

    python3
    from geckolib import GeckoShell
    GeckoShell.run(["logfile client.log", "discover 192.168.188.68"])
    

    Gruß Stefan

    rrov1R Offline
    rrov1R Offline
    rrov1
    schrieb am zuletzt editiert von
    #158

    @stefan-berlin1 Hallo Stefan,
    ja, der Urlaub war schon gut, nur das Wetter war dieses Jahr an der Costa Brava nicht so gut, ich musste die Tagesaktivitäten etwas aktiver gestalten ;-) .

    Die Shell sagt: /bin/sh: 1: python: not found
    Der Python Interpreter sollte auf den Namen "python3" hören (vgl. dein manueller Test). Bitte prüfe in SpaGlobal.js noch mal die Zeile 4, Variable: SPA_EXECUTEABLE, dort sollte "python3" drinnen stehen.

    Stefan-Berlin1S 1 Antwort Letzte Antwort
    0
    • rrov1R rrov1

      @stefan-berlin1 Hallo Stefan,
      ja, der Urlaub war schon gut, nur das Wetter war dieses Jahr an der Costa Brava nicht so gut, ich musste die Tagesaktivitäten etwas aktiver gestalten ;-) .

      Die Shell sagt: /bin/sh: 1: python: not found
      Der Python Interpreter sollte auf den Namen "python3" hören (vgl. dein manueller Test). Bitte prüfe in SpaGlobal.js noch mal die Zeile 4, Variable: SPA_EXECUTEABLE, dort sollte "python3" drinnen stehen.

      Stefan-Berlin1S Offline
      Stefan-Berlin1S Offline
      Stefan-Berlin1
      schrieb am zuletzt editiert von Stefan-Berlin1
      #159

      @rrov1

      das ist ärgerlich das das Wetter so schlecht war. Dafür fährt man ja weg um dem Wetter hier zu entgehen.

      Es hat geklappt es sind Daten zu sehen :+1: huchu . Dann werde ich mal sehen wie ich die in meine Loxone wertvoll weiter verarbeiten kann.

      whirli.jpg

      Bekomme in kürze dann auch noch eine Wellis Wärmepumpe mal schauen wie die funktioniert und wie man diese nun wieder einbindet.

      rrov1R 1 Antwort Letzte Antwort
      0
      • Stefan-Berlin1S Stefan-Berlin1

        @rrov1

        das ist ärgerlich das das Wetter so schlecht war. Dafür fährt man ja weg um dem Wetter hier zu entgehen.

        Es hat geklappt es sind Daten zu sehen :+1: huchu . Dann werde ich mal sehen wie ich die in meine Loxone wertvoll weiter verarbeiten kann.

        whirli.jpg

        Bekomme in kürze dann auch noch eine Wellis Wärmepumpe mal schauen wie die funktioniert und wie man diese nun wieder einbindet.

        rrov1R Offline
        rrov1R Offline
        rrov1
        schrieb am zuletzt editiert von
        #160

        @stefan-berlin1 Hallo Stefan,
        schön zu hören, das es jetzt doch klappt :-) .

        Ich habe hier auch eine Loxone Anlage. Ich habe die Integration über den Simple Rest API Adapter gelöst, sprich virtuelle Eingänge für z.B. die Temperaturen gleich über ein "getBulk" und virtuelle Ausgänge mit "set" auf Datenpunkte. Funktioniert einwandfrei.

        Viel Erfolg noch.

        Stefan-Berlin1S 2 Antworten Letzte Antwort
        0
        • rrov1R rrov1

          @stefan-berlin1 Hallo Stefan,
          schön zu hören, das es jetzt doch klappt :-) .

          Ich habe hier auch eine Loxone Anlage. Ich habe die Integration über den Simple Rest API Adapter gelöst, sprich virtuelle Eingänge für z.B. die Temperaturen gleich über ein "getBulk" und virtuelle Ausgänge mit "set" auf Datenpunkte. Funktioniert einwandfrei.

          Viel Erfolg noch.

          Stefan-Berlin1S Offline
          Stefan-Berlin1S Offline
          Stefan-Berlin1
          schrieb am zuletzt editiert von
          #161

          @rrov1 danke, ja ich hole mir schon diverse Sachen rein in die loxone. Aber meist nur Status. Steuern muss ich mal schauen wie ich das mache.
          Mal schauen wie sich die Wärmepumpe noch ansprechen lässt wenn Sie da ist

          1 Antwort Letzte Antwort
          0
          • rrov1R rrov1

            @stefan-berlin1 Hallo Stefan,
            schön zu hören, das es jetzt doch klappt :-) .

            Ich habe hier auch eine Loxone Anlage. Ich habe die Integration über den Simple Rest API Adapter gelöst, sprich virtuelle Eingänge für z.B. die Temperaturen gleich über ein "getBulk" und virtuelle Ausgänge mit "set" auf Datenpunkte. Funktioniert einwandfrei.

            Viel Erfolg noch.

            Stefan-Berlin1S Offline
            Stefan-Berlin1S Offline
            Stefan-Berlin1
            schrieb am zuletzt editiert von Stefan-Berlin1
            #162

            @rrov1

            Hab noch ein Problem.
            Sagen wir mal 30 Grad ist aktuell. Ich Stelle die Temperatur auf 38 Grad (per App und auch vor Ort). Schau Zeit x später rein steht ne andere eingestellte Temperatur als hätte jemand wieder runter geregelt. 😔

            Zur Info ich hab ein Wellis Life Atlas 2024 Modell.

            Hat 2 Sprudler Pumpen und ein Zirkalations (Filter) Pumpe und ein Wasserfall der mit Pumpe 1 angeht automatisch (bzw.kann man den manuell über Drehknopf Mischer ausmachen)

            1 Spa Controller
            2 Pumpen

            Datenpunkte:
            P1 wäre Sprudel rechte Seite (Liegefläche) inklusive Wasserfall (Wasserfall kann man nur manuell mit Drehrad (Mischer) abstellen)
            P2 ist Sprudler linke Seite (Sitze)

            Beim Datenpunkt Waterfall reagiert er wenn Circulations Pumpe an geht. Da wird es angezeigt und auch unter Punkt Sensoren Circulations Pump

            Kann ich den Datenpunkt (Waterfall) im SpaVariables einfach umbennen in CirculationPump?
            oder gibts noch in anderen Phyton Scripts den Name Waterfall...?

            Kannst Du mir noch ein Tipp geben wie ich die Pumpen an und ausschalten kann muss ich den Modi oder Switch ansteuern per Loxone Virtuellen Ausgang?

            LG

            rrov1R 1 Antwort Letzte Antwort
            0
            • Stefan-Berlin1S Stefan-Berlin1

              @rrov1

              Hab noch ein Problem.
              Sagen wir mal 30 Grad ist aktuell. Ich Stelle die Temperatur auf 38 Grad (per App und auch vor Ort). Schau Zeit x später rein steht ne andere eingestellte Temperatur als hätte jemand wieder runter geregelt. 😔

              Zur Info ich hab ein Wellis Life Atlas 2024 Modell.

              Hat 2 Sprudler Pumpen und ein Zirkalations (Filter) Pumpe und ein Wasserfall der mit Pumpe 1 angeht automatisch (bzw.kann man den manuell über Drehknopf Mischer ausmachen)

              1 Spa Controller
              2 Pumpen

              Datenpunkte:
              P1 wäre Sprudel rechte Seite (Liegefläche) inklusive Wasserfall (Wasserfall kann man nur manuell mit Drehrad (Mischer) abstellen)
              P2 ist Sprudler linke Seite (Sitze)

              Beim Datenpunkt Waterfall reagiert er wenn Circulations Pumpe an geht. Da wird es angezeigt und auch unter Punkt Sensoren Circulations Pump

              Kann ich den Datenpunkt (Waterfall) im SpaVariables einfach umbennen in CirculationPump?
              oder gibts noch in anderen Phyton Scripts den Name Waterfall...?

              Kannst Du mir noch ein Tipp geben wie ich die Pumpen an und ausschalten kann muss ich den Modi oder Switch ansteuern per Loxone Virtuellen Ausgang?

              LG

              rrov1R Offline
              rrov1R Offline
              rrov1
              schrieb am zuletzt editiert von
              #163

              @stefan-berlin1 Hallo Stefan,

              Sagen wir mal 30 Grad ist aktuell. Ich Stelle die Temperatur auf 38 Grad (per App und auch vor Ort). Schau Zeit x später rein steht ne andere eingestellte Temperatur als hätte jemand wieder runter geregelt.

              1. Hast du das Script: SpaMoveTargetTemp.js aktiv? Das wäre dafür verantwortlich die Temperatur nachzuregeln. Bitte den Datenpunkt: javascript.0.Datenpunkte.SwimSpa.automaticTargetTemp mal auf "false" setzen, damit wird diese automatische Temperaturnachführung deaktiviert.
              2. Du kannst im Protokoll vom ioBroker mal nach "spa_setTargetTemp.py" suchen, dann findest du die Aufrufe zum setzen der Zieltemperatur.

              Kann ich den Datenpunkt (Waterfall) im SpaVariables einfach umbennen in CirculationPump?
              oder gibts noch in anderen Phyton Scripts den Name Waterfall...?

              Der "Waterfall" ist noch eher eine Baustelle, da ich sowas nicht habe und bisher nichts testen konnte. Es gibt aktuell auch keine Skripte die auf die Änderung des Datenpunktes reagieren bzw. auch kein Python Skript das die Reaktion an den SpaController weitergibt. Er ist erst mal nur da, weil die geckolib ihn kennt. Den Datenpunkt: javascript.0.Datenpunkte.SwimSpa.0.Pumpen.Waterfall umzubenennen, wäre mir nicht so lieb, weil der Pfad bei einem Update wieder angelegt werden würde und dann evtl. zu Verwirrung führt. Was wäre das Ziel hinter der Umbenennung, die Pfade tauchen in den GUI's ja nicht auf. Zur Not vielleicht lieber einen Alias anlegen?

              Kannst Du mir noch ein Tipp geben wie ich die Pumpen an und ausschalten kann muss ich den Modi oder Switch ansteuern per Loxone Virtuellen Ausgang?

              Um die Pumpen einzuschalten nimmst du den Datenpunkte mit dem Namen "Switch", die anderen beiden Datenpunkte sind für dich Read Only (zu erkennen am Schloss im Icon vor dem Namen des Datenpunkts). Wichtig noch zu wissen, die geckolib kennt pro Pumpe 3 Status:

              • OFF = AUS (logisch)
              • LO oder LOW = kleine Stufe (funktioniert nur, wenn es deine Pumpe unterstützt, meine z.B. nicht)
              • HI oder HIGH = große Stufe
              Stefan-Berlin1S 1 Antwort Letzte Antwort
              0
              • rrov1R rrov1

                @stefan-berlin1 Hallo Stefan,

                Sagen wir mal 30 Grad ist aktuell. Ich Stelle die Temperatur auf 38 Grad (per App und auch vor Ort). Schau Zeit x später rein steht ne andere eingestellte Temperatur als hätte jemand wieder runter geregelt.

                1. Hast du das Script: SpaMoveTargetTemp.js aktiv? Das wäre dafür verantwortlich die Temperatur nachzuregeln. Bitte den Datenpunkt: javascript.0.Datenpunkte.SwimSpa.automaticTargetTemp mal auf "false" setzen, damit wird diese automatische Temperaturnachführung deaktiviert.
                2. Du kannst im Protokoll vom ioBroker mal nach "spa_setTargetTemp.py" suchen, dann findest du die Aufrufe zum setzen der Zieltemperatur.

                Kann ich den Datenpunkt (Waterfall) im SpaVariables einfach umbennen in CirculationPump?
                oder gibts noch in anderen Phyton Scripts den Name Waterfall...?

                Der "Waterfall" ist noch eher eine Baustelle, da ich sowas nicht habe und bisher nichts testen konnte. Es gibt aktuell auch keine Skripte die auf die Änderung des Datenpunktes reagieren bzw. auch kein Python Skript das die Reaktion an den SpaController weitergibt. Er ist erst mal nur da, weil die geckolib ihn kennt. Den Datenpunkt: javascript.0.Datenpunkte.SwimSpa.0.Pumpen.Waterfall umzubenennen, wäre mir nicht so lieb, weil der Pfad bei einem Update wieder angelegt werden würde und dann evtl. zu Verwirrung führt. Was wäre das Ziel hinter der Umbenennung, die Pfade tauchen in den GUI's ja nicht auf. Zur Not vielleicht lieber einen Alias anlegen?

                Kannst Du mir noch ein Tipp geben wie ich die Pumpen an und ausschalten kann muss ich den Modi oder Switch ansteuern per Loxone Virtuellen Ausgang?

                Um die Pumpen einzuschalten nimmst du den Datenpunkte mit dem Namen "Switch", die anderen beiden Datenpunkte sind für dich Read Only (zu erkennen am Schloss im Icon vor dem Namen des Datenpunkts). Wichtig noch zu wissen, die geckolib kennt pro Pumpe 3 Status:

                • OFF = AUS (logisch)
                • LO oder LOW = kleine Stufe (funktioniert nur, wenn es deine Pumpe unterstützt, meine z.B. nicht)
                • HI oder HIGH = große Stufe
                Stefan-Berlin1S Offline
                Stefan-Berlin1S Offline
                Stefan-Berlin1
                schrieb am zuletzt editiert von Stefan-Berlin1
                #164

                @rrov1
                Danke,
                so Waterfall / Zirkulations Pumpe sind das gleiche in meinem Fall.
                ok SpaMoveTargetTemp.js den Datenpunkt hab ich auf false gesetzt.

                Ich hab mal beobachtet bei OZON Status wird auch immer off angezeigt. Setzt er den nicht ein zur Reinigung wenn Zirkulationspumpe an ist und Filterdurchlauf läuft?

                Dann noch eine Sache zu Wasserpflege Modi,
                dort steht auch immer " Away from home" . Bei Wasserpflege Switch hab ich nun mal auf Standart (1) gesetzt manuell. Der ist immer aktiv (APP). Sollte sich dann aber nicht auch Der Modi Name ändern?

                rrov1R 1 Antwort Letzte Antwort
                0
                • Stefan-Berlin1S Stefan-Berlin1

                  @rrov1
                  Danke,
                  so Waterfall / Zirkulations Pumpe sind das gleiche in meinem Fall.
                  ok SpaMoveTargetTemp.js den Datenpunkt hab ich auf false gesetzt.

                  Ich hab mal beobachtet bei OZON Status wird auch immer off angezeigt. Setzt er den nicht ein zur Reinigung wenn Zirkulationspumpe an ist und Filterdurchlauf läuft?

                  Dann noch eine Sache zu Wasserpflege Modi,
                  dort steht auch immer " Away from home" . Bei Wasserpflege Switch hab ich nun mal auf Standart (1) gesetzt manuell. Der ist immer aktiv (APP). Sollte sich dann aber nicht auch Der Modi Name ändern?

                  rrov1R Offline
                  rrov1R Offline
                  rrov1
                  schrieb am zuletzt editiert von
                  #165

                  @stefan-berlin1 Hallo Stefan,

                  OZON Status immer OFF: Das habe ich auch schon beobachtet. Das war bei mir noch nie ON. Ich vermute die zugrundeliegende geckolib liefert den Wert nicht. Der Entwickler hat aber leider nur ganz wenig Zeit.

                  WasserpflegeModi: Der Status ändert sich nicht, das ist eine Liste der verfügbaren Wasserpflegestatusnamen, bei mir: ['Away From Home', 'Standard', 'Energy Saving', 'Super Energy Saving', 'Weekender']. Das ist vorgesehen, falls das jemand zur Visualisierung braucht.

                  Stefan-Berlin1S 1 Antwort Letzte Antwort
                  0
                  • rrov1R rrov1

                    @stefan-berlin1 Hallo Stefan,

                    OZON Status immer OFF: Das habe ich auch schon beobachtet. Das war bei mir noch nie ON. Ich vermute die zugrundeliegende geckolib liefert den Wert nicht. Der Entwickler hat aber leider nur ganz wenig Zeit.

                    WasserpflegeModi: Der Status ändert sich nicht, das ist eine Liste der verfügbaren Wasserpflegestatusnamen, bei mir: ['Away From Home', 'Standard', 'Energy Saving', 'Super Energy Saving', 'Weekender']. Das ist vorgesehen, falls das jemand zur Visualisierung braucht.

                    Stefan-Berlin1S Offline
                    Stefan-Berlin1S Offline
                    Stefan-Berlin1
                    schrieb am zuletzt editiert von Stefan-Berlin1
                    #166

                    Kannst Du mir irgendwie ein Rat geben für die Loxone Bausteine
                    Wenn PV Überschuss dann stell die temperatur auf z.b 38 Grad
                    Wenn kein Überschuss ist stell die Temeratur auf 25 Grad.

                    rrov1R 1 Antwort Letzte Antwort
                    0
                    • Stefan-Berlin1S Stefan-Berlin1

                      Kannst Du mir irgendwie ein Rat geben für die Loxone Bausteine
                      Wenn PV Überschuss dann stell die temperatur auf z.b 38 Grad
                      Wenn kein Überschuss ist stell die Temeratur auf 25 Grad.

                      rrov1R Offline
                      rrov1R Offline
                      rrov1
                      schrieb am zuletzt editiert von
                      #167

                      @stefan-berlin1
                      Hallo Stefan,

                      das habe ich tatsächlich nicht mit Loxone geregelt sondern mit einem Script oder besser mit 2 Scripten.
                      Script 1: SpaMoveTargetTemp.js (im Repo enthalten), das führt die Zieltemperatur immer 5 Grad höher als die aktuelle Temperatur nach und zwar zwischen der Minimaltemperatur von 12 Grad (Konstante im Script) und einer gewünschten Maximaltemperatur wie z.B. 38 Grad). Das Script läuft einfach aller 20 Minuten. Wenn du das einsetzt, dann schau in die schedule-Funktion, Zeilen 5 & 6, das ist für meine 2 Spa's du brauchst nur Zeile 5, Zieltemperatur natürlich anpassen nach Wunsch.
                      Script 2: Ist nicht im Repo enthalten. Das Script ist spezifisch für meine Solaranlage und Schaltet den Wasserpflegemodus ein, wenn meine Batterie in den letzten 10 Minuten über 70% gefüllt ist und genug Überschuss da ist. Natürlich schaltet das dann den Wasserpflegemodus auch wieder aus.

                      Vieleicht reicht dir aber schon das Script mit der Zieltemperatur.

                      rrov1

                      Stefan-Berlin1S 1 Antwort Letzte Antwort
                      0
                      • rrov1R rrov1

                        @stefan-berlin1
                        Hallo Stefan,

                        das habe ich tatsächlich nicht mit Loxone geregelt sondern mit einem Script oder besser mit 2 Scripten.
                        Script 1: SpaMoveTargetTemp.js (im Repo enthalten), das führt die Zieltemperatur immer 5 Grad höher als die aktuelle Temperatur nach und zwar zwischen der Minimaltemperatur von 12 Grad (Konstante im Script) und einer gewünschten Maximaltemperatur wie z.B. 38 Grad). Das Script läuft einfach aller 20 Minuten. Wenn du das einsetzt, dann schau in die schedule-Funktion, Zeilen 5 & 6, das ist für meine 2 Spa's du brauchst nur Zeile 5, Zieltemperatur natürlich anpassen nach Wunsch.
                        Script 2: Ist nicht im Repo enthalten. Das Script ist spezifisch für meine Solaranlage und Schaltet den Wasserpflegemodus ein, wenn meine Batterie in den letzten 10 Minuten über 70% gefüllt ist und genug Überschuss da ist. Natürlich schaltet das dann den Wasserpflegemodus auch wieder aus.

                        Vieleicht reicht dir aber schon das Script mit der Zieltemperatur.

                        rrov1

                        Stefan-Berlin1S Offline
                        Stefan-Berlin1S Offline
                        Stefan-Berlin1
                        schrieb am zuletzt editiert von
                        #168

                        @rrov1
                        danke Dir, ich hab das schon relativ hinbekommen.

                        Ich habe irgendwie jedoch im io ne Fehlermeldung:

                        script.js.common.Spa.SpaUpdateValues: *** stderr: Error: Command failed: python3 /SpaController/spa_updateBulk.py 54657**********a2d3-7b6acda379a4 http://172.17.0.4:8087 SPA80:********:2c 192.168.188.68 javascript.0.Datenpunkte.SwimSpa 2025-07-09 21:48:42,362> ERROR Cannot get full struct, protocol retry count exceeded 2025-07-09 21:49:30,203> ERROR Exception during spa connection Traceback (most recent call last): File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/asyncio/base_events.py", line 640, in run_until_complete self.run_forever() File "/usr/lib/python3.11/asyncio/base_events.py", line 607, in run_forever self._run_once() File "/usr/lib/python3.11/asyncio/base_events.py", line 1884, in _run_once event_list = self._selector.select(timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/selectors.py", line 468, in select fd_event_list = self._selector.poll(timeout, max_ev) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/SpaController/spa_updateBulk.py", line 52, in alarm raise SystemExit("Timed out: Maximum script runtime reached.") SystemExit: Timed out: Maximum script runtime reached. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.11/dist-packages/geckolib/async_spa.py", line 367, in connect await self._connect() File "/usr/local/lib/python3.11/dist-packages/geckolib/async_spa.py", line 239, in _connect config_file_handler = await self._protocol.get( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/geckolib/driver/async_udp_protocol.py", line 146, in get await config_sleep(GeckoConfig.PAUSE_BETWEEN_RETRIES_IN_SECONDS) File "/usr/local/lib/python3.11/dist-packages/geckolib/config.py", line 105, in config_sleep await asyncio.wait([ConfigChange], timeout=delay) File "/usr/lib/python3.11/asyncio/tasks.py", line 418, in wait return await _wait(fs, timeout, return_when, loop) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/asyncio/tasks.py", line 525, in _wait await waiter asyncio.exceptions.CancelledError Timed out: Maximum script runtime reached.
                        

                        Kannst Du damit zufällig was anfangen?

                        rrov1R 1 Antwort Letzte Antwort
                        0
                        • Stefan-Berlin1S Stefan-Berlin1

                          @rrov1
                          danke Dir, ich hab das schon relativ hinbekommen.

                          Ich habe irgendwie jedoch im io ne Fehlermeldung:

                          script.js.common.Spa.SpaUpdateValues: *** stderr: Error: Command failed: python3 /SpaController/spa_updateBulk.py 54657**********a2d3-7b6acda379a4 http://172.17.0.4:8087 SPA80:********:2c 192.168.188.68 javascript.0.Datenpunkte.SwimSpa 2025-07-09 21:48:42,362> ERROR Cannot get full struct, protocol retry count exceeded 2025-07-09 21:49:30,203> ERROR Exception during spa connection Traceback (most recent call last): File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/asyncio/base_events.py", line 640, in run_until_complete self.run_forever() File "/usr/lib/python3.11/asyncio/base_events.py", line 607, in run_forever self._run_once() File "/usr/lib/python3.11/asyncio/base_events.py", line 1884, in _run_once event_list = self._selector.select(timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/selectors.py", line 468, in select fd_event_list = self._selector.poll(timeout, max_ev) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/SpaController/spa_updateBulk.py", line 52, in alarm raise SystemExit("Timed out: Maximum script runtime reached.") SystemExit: Timed out: Maximum script runtime reached. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.11/dist-packages/geckolib/async_spa.py", line 367, in connect await self._connect() File "/usr/local/lib/python3.11/dist-packages/geckolib/async_spa.py", line 239, in _connect config_file_handler = await self._protocol.get( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/geckolib/driver/async_udp_protocol.py", line 146, in get await config_sleep(GeckoConfig.PAUSE_BETWEEN_RETRIES_IN_SECONDS) File "/usr/local/lib/python3.11/dist-packages/geckolib/config.py", line 105, in config_sleep await asyncio.wait([ConfigChange], timeout=delay) File "/usr/lib/python3.11/asyncio/tasks.py", line 418, in wait return await _wait(fs, timeout, return_when, loop) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/asyncio/tasks.py", line 525, in _wait await waiter asyncio.exceptions.CancelledError Timed out: Maximum script runtime reached.
                          

                          Kannst Du damit zufällig was anfangen?

                          rrov1R Offline
                          rrov1R Offline
                          rrov1
                          schrieb am zuletzt editiert von
                          #169

                          @stefan-berlin1 Hallo, "Timed out: Maximum script runtime reached." ist eine Sicherheitsmaßnahme in den Python-Skripten. Es gibt Situationen wo die geckolib nicht mit dem SpaController kommunizieren kann und dann "hängen bleibt". Da die Scripte aller 30 Sekunden aufgerufen werden, wäre das wie das Märchen vom süßen Brei. Es würden schnell, immer mehr Python-Prozesse gestartet die nie beendet werden, die irgendwann den ioBroker-Host vollstopfen. Um das zu verhindern, ist der Timeout nach 90 Sekunden eingebaut.

                          Jetzt wäre meine Frage, wie oft tritt der Fehler auf? 1-10x am Tag -> ignorieren. Häufiger -> da müssen wir die Ursache ermitteln.

                          rrov1

                          Stefan-Berlin1S 1 Antwort Letzte Antwort
                          0
                          • rrov1R rrov1

                            @stefan-berlin1 Hallo, "Timed out: Maximum script runtime reached." ist eine Sicherheitsmaßnahme in den Python-Skripten. Es gibt Situationen wo die geckolib nicht mit dem SpaController kommunizieren kann und dann "hängen bleibt". Da die Scripte aller 30 Sekunden aufgerufen werden, wäre das wie das Märchen vom süßen Brei. Es würden schnell, immer mehr Python-Prozesse gestartet die nie beendet werden, die irgendwann den ioBroker-Host vollstopfen. Um das zu verhindern, ist der Timeout nach 90 Sekunden eingebaut.

                            Jetzt wäre meine Frage, wie oft tritt der Fehler auf? 1-10x am Tag -> ignorieren. Häufiger -> da müssen wir die Ursache ermitteln.

                            rrov1

                            Stefan-Berlin1S Offline
                            Stefan-Berlin1S Offline
                            Stefan-Berlin1
                            schrieb am zuletzt editiert von
                            #170

                            @rrov1
                            Sorry, hatte ich nicht gesehen das Du geantwortet hast. Ich war etwas beschäftigt, jetzt wollte ich nachdem ich die Daten Abfrage auch steuern. Die Pumpen kann ich anschalten, sowie Licht.

                            Sag mal ich hab echtes Problem die Temperatur anzusteuern.
                            Ich versuche es erstmal über den Browser:
                            http://iobroker:****/set/javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur?value=37,5&ack=true

                            Ich mache sogar bestätigen - trotzdem nimmt er es nur kurz an im IO Brocker Objekt. Trägt es ein es steht grün da und kurz danach geht es auf rot und ist wieder zurück geändert....

                            Der Punkt: javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur
                            dieser ist ja schreibgeschützt.

                            funkt da das script rein?
                            Hab alles an bis auf das script : AutomatictargetTemp

                            Was mache ich falsch?

                            LG Stefan

                            rrov1R 1 Antwort Letzte Antwort
                            0
                            • Stefan-Berlin1S Stefan-Berlin1

                              @rrov1
                              Sorry, hatte ich nicht gesehen das Du geantwortet hast. Ich war etwas beschäftigt, jetzt wollte ich nachdem ich die Daten Abfrage auch steuern. Die Pumpen kann ich anschalten, sowie Licht.

                              Sag mal ich hab echtes Problem die Temperatur anzusteuern.
                              Ich versuche es erstmal über den Browser:
                              http://iobroker:****/set/javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur?value=37,5&ack=true

                              Ich mache sogar bestätigen - trotzdem nimmt er es nur kurz an im IO Brocker Objekt. Trägt es ein es steht grün da und kurz danach geht es auf rot und ist wieder zurück geändert....

                              Der Punkt: javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur
                              dieser ist ja schreibgeschützt.

                              funkt da das script rein?
                              Hab alles an bis auf das script : AutomatictargetTemp

                              Was mache ich falsch?

                              LG Stefan

                              rrov1R Offline
                              rrov1R Offline
                              rrov1
                              schrieb am zuletzt editiert von
                              #171

                              @stefan-berlin1 said in Steuerung Gecko in Touch 2 per iob möglich? (Wellis):
                              Hallo Stefan,

                              bitte auf keinen Fall ack=true verwenden. In der Entwicklerdoku steht:
                              ack - Flag indicating that the value has been acknowledged by the target system
                              d.h. nur meine Scripte nutzen ack=true, wenn ich sicher bin, dass der SpaController den Wert übernommen hat. Meine Scripte reagieren auch nicht, wenn ack=true, auch VIS-Controls setzen den Wert ausschließlich mit ack=false.

                              Als nächste ändere mal die Zieltemperatur und prüfe danach das ioBroker-Log. Filter setzen:

                              • Adapter: javascript und
                              • Message: TargetTemp

                              Es müssten dann 3 Einträge zu sehen sein:
                              24f600a3-2220-4fc4-ba07-e1635cac0ef2-image.png

                              Ist dem so?

                              Stefan-Berlin1S 1 Antwort Letzte Antwort
                              0
                              • rrov1R rrov1

                                @stefan-berlin1 said in Steuerung Gecko in Touch 2 per iob möglich? (Wellis):
                                Hallo Stefan,

                                bitte auf keinen Fall ack=true verwenden. In der Entwicklerdoku steht:
                                ack - Flag indicating that the value has been acknowledged by the target system
                                d.h. nur meine Scripte nutzen ack=true, wenn ich sicher bin, dass der SpaController den Wert übernommen hat. Meine Scripte reagieren auch nicht, wenn ack=true, auch VIS-Controls setzen den Wert ausschließlich mit ack=false.

                                Als nächste ändere mal die Zieltemperatur und prüfe danach das ioBroker-Log. Filter setzen:

                                • Adapter: javascript und
                                • Message: TargetTemp

                                Es müssten dann 3 Einträge zu sehen sein:
                                24f600a3-2220-4fc4-ba07-e1635cac0ef2-image.png

                                Ist dem so?

                                Stefan-Berlin1S Offline
                                Stefan-Berlin1S Offline
                                Stefan-Berlin1
                                schrieb am zuletzt editiert von Stefan-Berlin1
                                #172

                                @rrov1

                                OK dann schaue ich mal ob das im Log kommt.
                                Muss target temp Script dann an sein?
                                Ja ich versucht mit ack weil er es zwar eingetragen hat aber es ist nie drin geblieben.

                                Aber der Datenpunkt ist richtig zur Setzung der Temperatur ja?

                                Ich teste es heute Abend mal.
                                Für die PV überschuss programmierung hatte ich auch alles fertig. Ist quasi nur noch der heiz Befehl offen bzw. Die Temperatur Anhebung.

                                rrov1R 1 Antwort Letzte Antwort
                                0
                                • Stefan-Berlin1S Stefan-Berlin1

                                  @rrov1

                                  OK dann schaue ich mal ob das im Log kommt.
                                  Muss target temp Script dann an sein?
                                  Ja ich versucht mit ack weil er es zwar eingetragen hat aber es ist nie drin geblieben.

                                  Aber der Datenpunkt ist richtig zur Setzung der Temperatur ja?

                                  Ich teste es heute Abend mal.
                                  Für die PV überschuss programmierung hatte ich auch alles fertig. Ist quasi nur noch der heiz Befehl offen bzw. Die Temperatur Anhebung.

                                  rrov1R Offline
                                  rrov1R Offline
                                  rrov1
                                  schrieb am zuletzt editiert von
                                  #173

                                  @stefan-berlin1

                                  Aber der Datenpunkt ist richtig zur Setzung der Temperatur ja?

                                  Ja!

                                  Muss target temp Script dann an sein?

                                  Ja, das Script TargetTemp.js ist dafür verantwortlich, dass die Änderung des Datenpunktes an den SpaController gesendet wird.

                                  Ja ich versucht mit ack weil er es zwar eingetragen hat aber es ist nie drin geblieben.

                                  Das Verhalten ist richtig so. Grundsätzlich steht im Datenpunkt die Temperatur, die der SpaController hat. Du könntest ja auch mal am Gerät die Temperatur verändern, das muss ioBroker ja mitbekommen und das würde dann in einer VIS auch mit angezeigt. Wenn du im ioBroker die Temperatur veränderst wird sie an den SpaController übertragen. Wenn das klappt dann wird der Datenpunkt mit ack=true bestätigt, falls das aber mal nicht klappt, wird wieder die im SpaController hinterlegte Temperatur eingetragen.

                                  1 Antwort Letzte Antwort
                                  0
                                  • Stefan-Berlin1S Offline
                                    Stefan-Berlin1S Offline
                                    Stefan-Berlin1
                                    schrieb am zuletzt editiert von Stefan-Berlin1
                                    #174

                                    Gab wohl ein größeres Update?
                                    Ich hab mein IOBroker geupdatet (zwangsmässig):

                                    docker (official image - v11.0.0) - buanet
                                    js-controller: 7.1.0

                                    Dann dachte ich na das wird lustig.

                                    Und es war auch so.

                                    1 Antwort Letzte Antwort
                                    0
                                    • Stefan-Berlin1S Offline
                                      Stefan-Berlin1S Offline
                                      Stefan-Berlin1
                                      schrieb am zuletzt editiert von Stefan-Berlin1
                                      #175

                                      es hat sich was geändert laut Github....

                                      Python3 mind. v3.13 & Pip
                                      Wichtig: Die geckolib ab v1.0.0 benötigt Python 3.13

                                      So nun hab ich mal geupdatet:
                                      python3 --version :Python 3.13.0
                                      pip 25.3 from /usr/local/lib/python3.13/site-packages/pip (python 3.13)

                                      pip show geckolib
                                      

                                      Name: geckolib
                                      Version: 1.0.15
                                      Summary: An async library to interface with Gecko Alliance products using in.touc
                                      h2
                                      Home-page: https://github.com/gazoodle/geckolib
                                      Author: Gazoodle
                                      Author-email:
                                      License: GPLv3
                                      Location: /usr/local/lib/python3.13/site-packages
                                      Requires:
                                      Required-by:

                                      Scripte alle geupdatet:

                                      2025-12-16 03:19:00.245 - error: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: *** stderr: Error: Command failed: python3 /SpaController/spa_updateBulk.py 182b4fed-6c8e-4ec3-b7ad-b33e60d4d5f3 http://172.17.0.3:8087 192.168.188.68 javascript.0.Datenpunkte.SwimSpa
                                      *** Wrong number of script arguments.
                                      *** call example: /SpaController/spa_updateBulk.py clientId ioBrSimpleRestApiUrl spaIds spaIPs dpBasePath
                                      2025-12-16 03:19:00.245 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: end
                                      

                                      SpaUpdateConfig -> scheint sauber zu sein:

                                      2025-12-16 03:27:00.317 - error: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: *** stderr: Error: Command failed: python3 /SpaController/spa_updateBulk.py 182b4fed-6c8e-4ec3-b7ad-b33e60d4d5f3 http://172.17.0.3:8087 192.168.188.68 javascript.0.Datenpunkte.SwimSpa
                                      *** Wrong number of script arguments.
                                      *** call example: /SpaController/spa_updateBulk.py clientId ioBrSimpleRestApiUrl spaIds spaIPs dpBasePath
                                      2025-12-16 03:27:00.318 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: end
                                      2025-12-16 03:28:00.006 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: start
                                      2025-12-16 03:28:00.010 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: *** executing: python3 /SpaController/spa_updateBulk.py 182b4fed-6c8e-4ec3-b7ad-b33e60d4d5f3 http://172.17.0.3:8087 192.168.188.68 javascript.0.Datenpunkte.SwimSpa
                                      2025-12-16 03:28:00.247 - error: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: *** stderr: Error: Command failed: python3 /SpaController/spa_updateBulk.py 182b4fed-6c8e-4ec3-b7ad-b33e60d4d5f3 http://172.17.0.3:8087 192.168.188.68 javascript.0.Datenpunkte.SwimSpa
                                      *** Wrong number of script arguments.
                                      *** call example: /SpaController/spa_updateBulk.py clientId ioBrSimpleRestApiUrl spaIds spaIPs dpBasePath
                                      2025-12-16 03:28:00.247 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: end
                                      2025-12-16 03:28:23.927 - info: admin.0 (173) ==> Connected system.user.admin from ::ffff:172.17.0.1
                                      2025-12-16 03:28:35.744 - info: javascript.0 (2262) script.js.common.Spa.SpaMoveTargetTemp: Stopping script
                                      2025-12-16 03:28:37.713 - info: javascript.0 (2262) script.js.common.Spa.TargetTemp: Stopping script
                                      2025-12-16 03:28:39.021 - info: javascript.0 (2262) script.js.common.Spa.TargetTemp: start JavaScript (Javascript/js)
                                      2025-12-16 03:28:39.034 - info: javascript.0 (2262) script.js.common.Spa.TargetTemp: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                      2025-12-16 03:28:40.504 - info: javascript.0 (2262) script.js.common.Spa.SpaMoveTargetTemp: start JavaScript (Javascript/js)
                                      2025-12-16 03:28:40.508 - info: javascript.0 (2262) script.js.common.Spa.SpaMoveTargetTemp: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                                      2025-12-16 03:28:50.938 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateConfig: Stopping script
                                      2025-12-16 03:28:50.944 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateConfig: start JavaScript (Javascript/js)
                                      2025-12-16 03:28:50.947 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateConfig: start
                                      2025-12-16 03:28:50.947 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateConfig: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                                      2025-12-16 03:28:50.952 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateConfig: *** IP(s) to disover: 192.168.188.68
                                      2025-12-16 03:28:50.953 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateConfig: no disabled controller, doing standard discovery
                                      2025-12-16 03:28:50.953 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateConfig: *** discovering IP: 0 => 192.168.188.68
                                      2025-12-16 03:28:50.953 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateConfig: *** executing: python3 /SpaController/spa_config.py 182b4fed-6c8e-4ec3-b7ad-b33e60d4d5f3 http://172.17.0.3:8087 javascript.0.Datenpunkte.SwimSpa 0 192.168.188.68
                                      2025-12-16 03:29:00.004 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: start
                                      2025-12-16 03:29:20.018 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: timeout waiting for an execution timeslot
                                      2025-12-16 03:30:00.004 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: start
                                      2025-12-16 03:30:00.028 - info: javascript.0 (2262) script.js.common.Spa.SpaMoveTargetTemp: automatic temperature tracking target with 4 exceeds the min (12) or max (30) value
                                      2025-12-16 03:30:00.031 - warn: javascript.0 (2262) getState "javascript.0.Datenpunkte.SwimSpa.1.AktuelleTemperatur" not found (3)
                                      2025-12-16 03:30:00.182 - warn: javascript.0 (2262) at checkAndSetSpaTemp (script.js.common.Spa.SpaMoveTargetTemp:20:22)
                                      2025-12-16 03:30:00.182 - warn: javascript.0 (2262) at Object. (script.js.common.Spa.SpaMoveTargetTemp:7:5)
                                      2025-12-16 03:30:00.182 - warn: javascript.0 (2262) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:2389:34)
                                      2025-12-16 03:30:00.182 - warn: javascript.0 (2262) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15)
                                      2025-12-16 03:30:00.182 - warn: javascript.0 (2262) at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28
                                      2025-12-16 03:30:00.182 - warn: javascript.0 (2262) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7)
                                      2025-12-16 03:30:00.182 - warn: javascript.0 (2262) at listOnTimeout (node:internal/timers:588:17)
                                      2025-12-16 03:30:00.182 - warn: javascript.0 (2262) at processTimers (node:internal/timers:523:7)
                                      2025-12-16 03:30:00.183 - warn: javascript.0 (2262) getState "javascript.0.Datenpunkte.SwimSpa.1.ZielTemperatur" not found (3)
                                      2025-12-16 03:30:00.183 - warn: javascript.0 (2262) at checkAndSetSpaTemp (script.js.common.Spa.SpaMoveTargetTemp:21:18)
                                      2025-12-16 03:30:00.183 - warn: javascript.0 (2262) at Object. (script.js.common.Spa.SpaMoveTargetTemp:7:5)
                                      2025-12-16 03:30:00.183 - warn: javascript.0 (2262) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:2389:34)
                                      2025-12-16 03:30:00.183 - warn: javascript.0 (2262) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15)
                                      2025-12-16 03:30:00.183 - warn: javascript.0 (2262) at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28
                                      2025-12-16 03:30:00.183 - warn: javascript.0 (2262) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7)
                                      2025-12-16 03:30:00.183 - warn: javascript.0 (2262) at listOnTimeout (node:internal/timers:588:17)
                                      2025-12-16 03:30:00.184 - warn: javascript.0 (2262) at processTimers (node:internal/timers:523:7)
                                      2025-12-16 03:30:00.184 - warn: javascript.0 (2262) State "javascript.0.Datenpunkte.SwimSpa.1.ZielTemperatur" not found
                                      2025-12-16 03:30:00.184 - warn: javascript.0 (2262) at setState (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:2661:20)
                                      2025-12-16 03:30:00.184 - warn: javascript.0 (2262) at checkAndSetSpaTemp (script.js.common.Spa.SpaMoveTargetTemp:32:17)
                                      2025-12-16 03:30:00.184 - warn: javascript.0 (2262) at Object. (script.js.common.Spa.SpaMoveTargetTemp:7:5)
                                      2025-12-16 03:30:00.184 - warn: javascript.0 (2262) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:2389:34)
                                      2025-12-16 03:30:00.184 - warn: javascript.0 (2262) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15)
                                      2025-12-16 03:30:00.184 - warn: javascript.0 (2262) at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28
                                      2025-12-16 03:30:00.184 - warn: javascript.0 (2262) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7)
                                      2025-12-16 03:30:00.184 - warn: javascript.0 (2262) at listOnTimeout (node:internal/timers:588:17)
                                      2025-12-16 03:30:00.185 - info: javascript.0 (2262) script.js.common.Spa.SpaMoveTargetTemp: automatic temperature tracking target with 5 exceeds the min (12) or max (38) value
                                      2025-12-16 03:30:00.196 - info: javascript.0 (2262) script.js.common.Spa.TargetTemp: start
                                      2025-12-16 03:30:20.018 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: timeout waiting for an execution timeslot
                                      2025-12-16 03:30:25.026 - debug: hass.0 (301) HASS-Message: State Changed: {"entity_id":"weather.forecast_home","state":"partlycloudy","attributes":{"temperature":2.3,"dew_point":0.4,"temperature_unit":"°C","humidity":86,"cloud_coverage":96.9,"uv_index":0,"pressure":1018.3,"pressure_unit":"hPa","wind_bearing":181.8,"wind_speed":10.4,"wind_speed_unit":"km/h","visibility_unit":"km","precipitation_unit":"mm","attribution":"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.","friendly_name":"Forecast Home","supported_features":3},"last_changed":"2025-12-15T23:36:25.020576+00:00","last_reported":"2025-12-16T02:30:25.026574+00:00","last_updated":"2025-12-16T02:30:25.026574+00:00","context":{"id":"01KCJFX7G2AN9CNT2P4MFK1BX5","parent_id":null,"user_id":null}}
                                      2025-12-16 03:30:32.215 - info: javascript.0 (2262) script.js.common.Spa.TargetTemp: timeout waiting for an execution timeslot
                                      2025-12-16 03:30:41.012 - info: host.buanet-iobroker-1 instance system.adapter.dwd.0 in version "2.8.5" started with pid 3088
                                      2025-12-16 03:30:43.816 - info: host.buanet-iobroker-1 instance system.adapter.dwd.0 having pid 3088 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
                                      2025-12-16 03:31:00.007 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: start
                                      2025-12-16 03:31:20.021 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: timeout waiting for an execution timeslot
                                      2025-12-16 03:32:00.004 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: start
                                      2025-12-16 03:32:20.020 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: timeout waiting for an execution timeslot
                                      2025-12-16 03:32:27.312 - info: admin.0 (173) <== Disconnect system.user.admin from ::ffff:172.17.0.1 javascript
                                      2025-12-16 03:33:00.003 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: start
                                      2025-12-16 03:33:20.015 - info: javascript.0 (2262) script.js.common.Spa.SpaUpdateValues: timeout waiting for an execution timeslot
                                      
                                      

                                      Mir fällt auch auf das er "Datenpunkte.SwimSpa.1.AktuelleTemperatur" Dabei ist es doch eigentlich SwimSpa.0.

                                      Mhmm sehr korrios was übersehe ich schon wieder?

                                      Er findet auch den SPA:
                                      mit dem befehl:

                                      python3
                                      from geckolib import GeckoShell
                                      GeckoShell.run(["logfile client.log", "discover 192.168.188.68"])

                                      kommen auch ein Paar werte und dann:

                                      Welcome to the Gecko shell. Type help or ? to list commands.                                                                     
                                                                                                                                                                       
                                      (Gecko) Starting discovery process...Found 1 spas                                                                                
                                                                                       Connecting to spa `Kirschpool ??` at 192.168.188.68 ... connected to Kirschpool 
                                      ??!                                                                                                                              
                                         Smart Winter Mode:Risk: NO                                                                                                    
                                                                   Pump 1 State: OFF                                                                                   
                                                                                    Pump 2 State: OFF                                                                  
                                                                                                     Waterfall State: ON                                               
                                                                                                                        Circulating Pump: True                         
                                                                                                                                              Ozone: False             
                                                                                                                                                          Heater: Tempe
                                      rature 31.0°C, SetPoint 27.5°C, Real SetPoint 27.5°C, Operation Cooling                                                          
                                                                                                             Pump 1: OFF                                               
                                                                                                                        Pump 2: OFF                                    
                                                                                                                                   Waterfall: OFF                      
                                                                                                                                                 Light: OFF            
                                                                                                                                                           WaterCare: W
                                      aiting...                                                                                                                        
                                               Smart Winter Mode:Active: False                                                                                         
                                                                              Filter Status:Clean: True                                                                
                                                                                                       Filter Status:Purge: False                                      
                                                                                                                                 Heating: False                        
                                                                                                                                               Economy Mode: False     
                                                                                                                                                                  Error
                                       Sensor: OverTemp, VSP1CommLost, VSP2CommLost                                                                                    
                                                                                   Heating Management: Smart                                                           
                                                                                                            GeckoInMix watched by=[](name=inMix, parent=Kirschpool ?? k
                                      ey=INMIX)                                                                                                                        
                                               Kirschp(Gecko) exit                                                                                                     
                                      
                                      
                                       LOG> WARNING Dropping packet from ('192.168.188.68', 10022, b'SPA80:3                                                
                                      4:28:20:e3:2c', b'IOS182b4fed-6c8e-4ec3-b7ad-b33e60d4d5f3') because it didn't mat                                                
                                      ch ('192.168.188.68', 10022, b'SPA80:34:28:20:e3:2c', b'IOS02ac6d28-42d0-41e3-ad2                                                
                                      2-274d0aa491da')     
                                      
                                      1 Antwort Letzte Antwort
                                      0
                                      • Stefan-Berlin1S Offline
                                        Stefan-Berlin1S Offline
                                        Stefan-Berlin1
                                        schrieb am zuletzt editiert von
                                        #176

                                        Scheinbar hat er ein Problem beim SpaUpdateValues:

                                        javascript.0	13:44:00.007	info	
                                        start
                                        javascript.0	13:44:00.011	info	
                                        *** executing: python3 /SpaController/spa_updateBulk.py 360a38b2-93fb-42c7-9284-d67af6991a5a http://172.17.0.3:8087  192.168.188.68 javascript.0.Datenpunkte.SwimSpa
                                        javascript.0	13:44:00.235	error	
                                        *** stderr: Error: Command failed: python3 /SpaController/spa_updateBulk.py 360a38b2-93fb-42c7-9284-d67af6991a5a http://172.17.0.3:8087  192.168.188.68 javascript.0.Datenpunkte.SwimSpa
                                        *** Wrong number of script arguments.
                                        *** call example: /SpaController/spa_updateBulk.py clientId ioBrSimpleRestApiUrl spaIds spaIPs dpBasePath
                                        javascript.0	13:44:00.235	info	
                                        end
                                        

                                        Die anderen scheinen ohne Fehler zu laufen.

                                        Aber hab auch keine Werte. Und alles nur wegen nem Update. Hätte ich das Bloß nicht mehr angefasst vor Weihnachten

                                        1 Antwort Letzte Antwort
                                        0
                                        • rrov1R Offline
                                          rrov1R Offline
                                          rrov1
                                          schrieb am zuletzt editiert von
                                          #177

                                          Hallo,

                                          oje, sorry wegen des suboptimalen Erlebnisses beim Update, aber besser im Winter denn im Sommer. Das bekommen wir schon wieder hin. Die Fehlermeldungen deuten darauf hin, das die Javascripts und die Python-Scripts unterschiedliche Versionsstände haben, die nicht kompatibel sind. Ich musste die Parameter die von Javascript an Python übergeben werden anpassen :-(.

                                          Das Update funktioniert im Prinzip wie die Installation. Hast du im Zuge der Aktualisierung:

                                          • im Javascript Adapter erst mal alle Script angehalten.
                                          • im Dateisystem alle Python Scripte ausgetauscht?
                                          • im Javascript Adapter alle Javascripts mit den aktuellen Versionen ersetzt? Auch bitte an global denken.
                                          • Wenn du nach dem Update von SpaVariablen.js auf einmal 2 SpaController hast, dann hast du in diesem Script vergessen in Zeile 4 den Aufruf anzupassen. Das macht aber nix, lösche einfach den zusätzlichen Zweig (javascript.0.Datenpunkte.SwimSpa.1) mit Datenpunkten. Ich habe bei mir 2 Controller, deswegen ist das dort immer auf 2 :-/
                                          • Danach als erstes SpaUpdateConfig aktivieren und (noch mal) ausführen.
                                          • Danach die anderen Scripte wieder aktivieren. Wenn eins nen Fehler hat erst mal aufhören und die Meldung hier posten.

                                          VG

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          687

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe