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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • Stefan-Berlin1
      Stefan-Berlin1 @Stefan-Berlin1 last edited by Stefan-Berlin1

      @stefan-berlin1 sagte in Steuerung Gecko in Touch 2 per iob möglich? (Wellis):

      error: externally-managed-environment

      der Fehler ist aufzuheben mit:

      sudo rm /usr/lib/python3.11/EXTERNALLY-MANAGED
      

      nun geht es auch geckolib lässt sich installieren.

      So nun die IoBroker Logfile da hab ich noch 1 Fehler:

      2024-04-29 22:19:00.062 - info: host.buanet-iobroker-1 instance system.adapter.javascript.0 started with pid 2577
      2024-04-29 22:19:01.237 - info: javascript.0 (2577) starting. Version 7.8.0 in /opt/iobroker/node_modules/iobroker.javascript, node: v18.20.2, js-controller: 5.0.19
      2024-04-29 22:19:01.881 - info: javascript.0 (2577) requesting all states
      2024-04-29 22:19:01.882 - info: javascript.0 (2577) requesting all objects
      2024-04-29 22:19:02.453 - info: javascript.0 (2577) received all objects
      2024-04-29 22:19:02.456 - info: javascript.0 (2577) received all states
      2024-04-29 22:19:04.540 - info: javascript.0 (2577) Start javascript script.js.common.Spa.SpaVariablen
      2024-04-29 22:19:04.563 - info: javascript.0 (2577) script.js.common.Spa.SpaVariablen: *** start: createDatapoints(nDevCnt: 1, nPumpCnt: 3, createWaterfall: true) v0.2.5
      2024-04-29 22:19:04.567 - info: javascript.0 (2577) script.js.common.Spa.SpaVariablen: *** end: createDatapoints
      2024-04-29 22:19:04.567 - info: javascript.0 (2577) script.js.common.Spa.SpaVariablen: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      2024-04-29 22:19:04.581 - info: javascript.0 (2577) Start javascript script.js.common.Spa.LightToggle
      2024-04-29 22:19:04.583 - info: javascript.0 (2577) script.js.common.Spa.LightToggle: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      2024-04-29 22:19:04.589 - info: javascript.0 (2577) Start javascript script.js.common.Spa.PumpSwitches
      2024-04-29 22:19:04.591 - info: javascript.0 (2577) script.js.common.Spa.PumpSwitches: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      2024-04-29 22:19:04.592 - info: javascript.0 (2577) Start javascript script.js.common.Spa.SpaMoveTargetTemp
      2024-04-29 22:19:04.629 - info: javascript.0 (2577) script.js.common.Spa.SpaMoveTargetTemp: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
      2024-04-29 22:19:04.629 - info: javascript.0 (2577) Start javascript script.js.common.Spa.SpaUpdateConfig
      2024-04-29 22:19:04.633 - info: javascript.0 (2577) script.js.common.Spa.SpaUpdateConfig: start
      2024-04-29 22:19:04.634 - info: javascript.0 (2577) script.js.common.Spa.SpaUpdateConfig: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
      2024-04-29 22:19:04.636 - info: javascript.0 (2577) script.js.common.Spa.SpaUpdateConfig: *** executing: python3 /SpaController/spa_config.py 7a1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa
      2024-04-29 22:19:04.647 - info: javascript.0 (2577) script.js.common.Spa.SpaVariablen: *** leaving guid unchanged
      2024-04-29 22:19:04.649 - info: javascript.0 (2577) Start javascript script.js.common.Spa.SpaUpdateValues
      2024-04-29 22:19:04.657 - info: javascript.0 (2577) script.js.common.Spa.SpaUpdateValues: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
      2024-04-29 22:19:04.658 - info: javascript.0 (2577) Start javascript script.js.common.Spa.SpaVariablen
      2024-04-29 22:19:04.660 - info: javascript.0 (2577) script.js.common.Spa.SpaVariablen: *** start: createDatapoints(nDevCnt: 1, nPumpCnt: 3, createWaterfall: true) v0.2.5
      2024-04-29 22:19:04.662 - info: javascript.0 (2577) script.js.common.Spa.SpaVariablen: *** end: createDatapoints
      2024-04-29 22:19:04.662 - info: javascript.0 (2577) script.js.common.Spa.SpaVariablen: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      2024-04-29 22:19:04.662 - info: javascript.0 (2577) Start javascript script.js.common.Spa.TargetTemp
      2024-04-29 22:19:04.665 - info: javascript.0 (2577) script.js.common.Spa.TargetTemp: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      2024-04-29 22:19:04.717 - info: javascript.0 (2577) Start javascript script.js.common.Spa.WatercareMode
      2024-04-29 22:19:04.719 - info: javascript.0 (2577) script.js.common.Spa.WatercareMode: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      2024-04-29 22:19:04.751 - info: javascript.0 (2577) script.js.common.Spa.SpaVariablen: *** leaving guid unchanged
      2024-04-29 22:19:13.132 - info: admin.0 (142) <== Disconnect system.user.admin from ::ffff:172.17.0.1 javascript
      2024-04-29 22:19:14.933 - info: javascript.0 (2577) script.js.common.Spa.SpaUpdateConfig: end
      2024-04-29 22:20:00.012 - info: javascript.0 (2577) script.js.common.Spa.SpaUpdateValues: start
      2024-04-29 22:20:00.022 - info: host.buanet-iobroker-1 instance system.adapter.dwd.0 started with pid 2594
      2024-04-29 22:20:00.019 - info: javascript.0 (2577) script.js.common.Spa.SpaUpdateValues: *** executing: python3 /SpaController/spa_updateBulk.py 7a1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa
      2024-04-29 22:20:00.253 - info: javascript.0 (2577) script.js.common.Spa.SpaUpdateValues: *** stderr: Error: Command failed: python3 /SpaController/spa_updateBulk.py 7a1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa
      2024-04-29 22:20:00.253 - info: javascript.0 (2577) script.js.common.Spa.SpaUpdateValues: end
      

      Dort macht er
      python3 /SpaController

      Ein Leerzeichen nach dem phyton3 hab in der SpaGlobal kein Leerzeichen drin:

      // Pfade für die Datenpunkablage
      const BASE_ADAPTER = "javascript.0";
      const BASE_FOLDER = "Datenpunkte.SwimSpa";
      const SPA_EXECUTEABLE = "python3"
      const PY_SCRIPTS_FOLDER = "/SpaController"
      

      wo ist noch etwas konfiguriert?
      wie verbindet er sich mit dem Pool?

      Stefan-Berlin1 1 Reply Last reply Reply Quote 0
      • Stefan-Berlin1
        Stefan-Berlin1 @Stefan-Berlin1 last edited by

        @rrov1

        Leider zeigt er mir in den Objekten noch keine Änderung:

        Aktuell sieht der Log so aus:

        2024-05-01 01:29:00.004 - info: javascript.0 (2931) script.js.common.Spa.SpaUpdateValues: start
        2024-05-01 01:29:00.006 - info: javascript.0 (2931) script.js.common.Spa.SpaUpdateValues: *** executing: python3 /SpaController/spa_updateBulk.py 7a1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa
        2024-05-01 01:29:00.179 - info: javascript.0 (2931) script.js.common.Spa.SpaUpdateValues: *** stderr: Error: Command failed: python3 /SpaController/spa_updateBulk.py 7a1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa
        2024-05-01 01:29:00.179 - info: javascript.0 (2931) script.js.common.Spa.SpaUpdateValues: end
        2024-05-01 01:30:00.008 - info: javascript.0 (2931) script.js.common.Spa.SpaUpdateValues: start
        2024-05-01 01:30:00.012 - info: javascript.0 (2931) script.js.common.Spa.SpaUpdateValues: *** executing: python3 /SpaController/spa_updateBulk.py 7a1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa
        2024-05-01 01:30:00.021 - info: host.buanet-iobroker-1 instance system.adapter.dwd.0 started with pid 11321
        2024-05-01 01:30:00.029 - info: javascript.0 (2931) script.js.common.Spa.SpaMoveTargetTemp: automatic temperature tracking target with 4 exceeds the min (12) or max (28) value
        2024-05-01 01:30:00.029 - warn: javascript.0 (2931) getState "javascript.0.Datenpunkte.SwimSpa.1.AktuelleTemperatur" not found (3)
        2024-05-01 01:30:00.030 - warn: javascript.0 (2931) at checkAndSetSpaTemp (script.js.common.Spa.SpaMoveTargetTemp:19:22)
        2024-05-01 01:30:00.030 - warn: javascript.0 (2931) at Object. (script.js.common.Spa.SpaMoveTargetTemp:6:5)
        2024-05-01 01:30:00.030 - warn: javascript.0 (2931) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1620:34)
        2024-05-01 01:30:00.030 - warn: javascript.0 (2931) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15)
        2024-05-01 01:30:00.030 - warn: javascript.0 (2931) at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28
        2024-05-01 01:30:00.030 - warn: javascript.0 (2931) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7)
        2024-05-01 01:30:00.030 - warn: javascript.0 (2931) at listOnTimeout (node:internal/timers:569:17)
        2024-05-01 01:30:00.030 - warn: javascript.0 (2931) at processTimers (node:internal/timers:512:7)
        2024-05-01 01:30:00.031 - warn: javascript.0 (2931) getState "javascript.0.Datenpunkte.SwimSpa.1.ZielTemperatur" not found (3)
        2024-05-01 01:30:00.031 - warn: javascript.0 (2931) at checkAndSetSpaTemp (script.js.common.Spa.SpaMoveTargetTemp:20:18)
        2024-05-01 01:30:00.031 - warn: javascript.0 (2931) at Object. (script.js.common.Spa.SpaMoveTargetTemp:6:5)
        2024-05-01 01:30:00.031 - warn: javascript.0 (2931) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1620:34)
        2024-05-01 01:30:00.031 - warn: javascript.0 (2931) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15)
        2024-05-01 01:30:00.031 - warn: javascript.0 (2931) at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28
        2024-05-01 01:30:00.032 - warn: javascript.0 (2931) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7)
        2024-05-01 01:30:00.032 - warn: javascript.0 (2931) at listOnTimeout (node:internal/timers:569:17)
        2024-05-01 01:30:00.032 - warn: javascript.0 (2931) at processTimers (node:internal/timers:512:7)
        2024-05-01 01:30:00.032 - warn: javascript.0 (2931) State "javascript.0.Datenpunkte.SwimSpa.1.ZielTemperatur" not found
        2024-05-01 01:30:00.032 - warn: javascript.0 (2931) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1819:20)
        2024-05-01 01:30:00.032 - warn: javascript.0 (2931) at checkAndSetSpaTemp (script.js.common.Spa.SpaMoveTargetTemp:31:17)
        2024-05-01 01:30:00.033 - warn: javascript.0 (2931) at Object. (script.js.common.Spa.SpaMoveTargetTemp:6:5)
        2024-05-01 01:30:00.033 - warn: javascript.0 (2931) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1620:34)
        2024-05-01 01:30:00.033 - warn: javascript.0 (2931) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15)
        2024-05-01 01:30:00.033 - warn: javascript.0 (2931) at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28
        2024-05-01 01:30:00.033 - warn: javascript.0 (2931) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7)
        2024-05-01 01:30:00.033 - warn: javascript.0 (2931) at listOnTimeout (node:internal/timers:569:17)
        2024-05-01 01:30:00.033 - warn: javascript.0 (2931) at processTimers (node:internal/timers:512:7)
        2024-05-01 01:30:00.033 - info: javascript.0 (2931) script.js.common.Spa.SpaMoveTargetTemp: automatic temperature tracking target with 5 exceeds the min (12) or max (37) value
        2024-05-01 01:30:00.360 - info: javascript.0 (2931) script.js.common.Spa.SpaUpdateValues: *** stderr: Error: Command failed: python3 /SpaController/spa_updateBulk.py 7a1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa
        2024-05-01 01:30:00.361 - info: javascript.0 (2931) script.js.common.Spa.SpaUpdateValues: end
        

        Ich hoffe wir nähern uns, Minütlich scheint er auch das Skript auszuführen

        Danke für die Hilfe Gruß Stefan

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

          @stefan-berlin1 Hallo Stefan,
          hm, wir konzentrieren uns mal auf das Skript SpaUpdateValues, welches minütlich läuft. Es gibt jedes mal den Fehler:

          script.js.common.Spa.SpaUpdateValues: *** stderr: Error: Command failed: python3 /SpaController/spa_updateBulk.py 7a1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087
          

          zurück. Beim "Command failed" würde ich vermuten, das er "python3" auf deinem Zielsystem nicht findet (installiert ist es ja, das hat ja dein Beitrag vom 29.04. bewiesen). Melde dich mal lokal an der Shell an und führe mal aus:

          which python3
          

          das sollte dir den vollständigen Pfad ausgeben (bei mir: /usr/bin/python3). In der Datei SpaGlobal.js dann bitte in der Variable: SPA_EXECUTEABLE diesen Pfad eintragen und die Datei speichern (keine Leerzeichen am Ende nötig).

          Danach 1 Minute warten und ins Log schauen ob sich der Zustand bessert, ggf. das Logfile noch mal hier bereitstellen.

          PS: Wenn du gerade eine Shell zur Hand hast, kannst du den Python Aufruf auch mal direkt ausprobieren, also in deinem Fall:

          python3 /SpaController/spa_updateBulk.py 7a1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa
          

          Dann siehst du gleich mal was passiert, die Werte an den Objekten sollten dadurch auch aktualisiert werden, wenn es läuft.

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

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

            /SpaController/spa_updateBulk.py 7a1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087

            So es liegt unter:

            /usr/bin/python3  
            

            was mich verwundert wo das Leerfeld herkommt zwischen phython3 und dem /SpaController

            script.js.common.Spa.SpaUpdateValues: *** stderr: Error: Command failed: python3 /SpaController/spa_updateBulk.py
            

            angegeben hab ich es richtig:

            const BASE_ADAPTER = "javascript.0";
            const BASE_FOLDER = "Datenpunkte.SwimSpa";
            const SPA_EXECUTEABLE = "python3"
            const PY_SCRIPTS_FOLDER = "/SpaController"
            

            hab alle Java Skripte und Pyhton Scripte nochmals neu hochgeladen und auch die Hauptordner kontrolliert

            Terminal Ausführung sagt:

            root@buanet-iobroker-1:/opt/iobroker# python3 /SpaController/spa_updateBulk.py 7a
            1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087                        
            /SpaController/spa_updateBulk.py Version: 0.2.5                                  
            *** Wrong number of script arguments.                                            
                                                                                             
            *** call example: /SpaController/spa_updateBulk.py clientId ioBrSimpleRestApiUrl 
            spaIds dpBasePath                                                                
            root@buanet-iobroker-1:/opt/iobroker#                                         
            
            

            schreib ich die Abfrage python3/SpaController ..... ohne Leerzeichen kommt das raus:

            root@buanet-iobroker-1:/opt/iobroker# python3/SpaController/spa_updateBulk.py 7a 
            bash: python3/SpaController/spa_updateBulk.py: No such file or directory         
            root@buanet-iobroker-1:/opt/iobroker#                                            
            root@buanet-iobroker-1:/opt/iobroker# 1a567f-b6d9-411c-bff5-f81387a86134 http://1
            72.17.0.4:8087                                                                   
            bash: 1a567f-b6d9-411c-bff5-f81387a86134: command not found                      
            root@buanet-iobroker-1:/opt/iobroker# python3/SpaController/spa_updateBulk.py 7a1
            a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087                         
            bash: python3/SpaController/spa_updateBulk.py: No such file or directory         
            
            

            Hier auch gerne die Ordner Struktur als Bild
            1.jpg
            2.jpg
            3.jpg
            4.jpg

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

              @stefan-berlin1 Hallo Stefan,
              also das Leerzeichen zwischen "python3" und dem jeweiligen Skript füge ich ein. Das ist nicht steuerbar. Python ist eine interpretierte Sprache, sprich mit "python3" wird der Python-Interpreterprozess gestartet. Das erste Argument des Interpreterprozesses ist dann immer die Datei mit dem Code der ausgeführt werden soll. Danach kommen, Leerzeichen getrennt, weitere Parameter für das Skript.
              Also bitte bei manuellen Tests immer ein Leerzeichen zwischen "python3" und dem "Skriptnamen" einfügen.

              Leider ist mir in meinem vorherigen Post ein Fehler unterlaufen beim Kommando zum Test an der Kommandozeile. Beim prüfen jetzt eben ist mir aufgefallen, das da noch mehr fehlt, weil der Aufruf zur Aktualisierung der Konfiguration auch nicht funktioniert hat.

              Prüfe mal den Datenpunkt:
              javascript.0.Datenpunkte.SwimSpa.0.ID
              Enthält der schon einen Wert?

              Wenn nein, führe mal:

              python3 /SpaController/spa_config.py 7a1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa
              

              an der Kommandozeile aus. Wenn das erfolgreich ist sollte in dem Datenpunkt ein Wert stehen.
              Ich vermute aber, das geht nicht. Ich tue mich mangels Docker Kenntnissen/Erfahrungen etwas schwer mit der Interpretation der Pfade wo die Skripte liegen. Der Screenshot aus dem Datei-GUI zeigt einen Pfad docker/iobroker/SwimSpa/Python3/SpaController an. Das entspricht nicht dem was ich erwarte und zwar ein Ordner direkt unter der Wurzel des Dateisystems, aber vielleicht ist dem auch so, weil das im Docker da so hingemappt wird.
              Wenn es nicht geht, wechsle in der Shell des Containers mal in das Verzeichnis wo die *.py Skripte liegen und schicke mir die Ausgabe von:

              pwd
              
              Stefan-Berlin1 1 Reply Last reply Reply Quote 0
              • Stefan-Berlin1
                Stefan-Berlin1 @rrov1 last edited by Stefan-Berlin1

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

                python3 /SpaController/spa_config.py 7a1a567f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa

                Mit dem Docker die Pfade verhalten sich als wären Sie nicht da.

                In der ID steht nichts drin bei Objekten

                Wenn ich den Befehl ausführe kommt:

                root@buanet-iobroker-1:/opt/iobroker# python3 /SpaController/spa_config.py 7a1a56
                7f-b6d9-411c-bff5-f81387a86134 http://172.17.0.4:8087 javascript.0.Datenpunkte.Sw
                imSpa                                                                            
                /SpaController/spa_config.py Version: 0.2.2                                      
                total arguments passed: 4                                                        
                Connect using client id: 7a1a567f-b6d9-411c-bff5-f81387a86134                    
                ioBroker Simple Rest API URL: http://172.17.0.4:8087                             
                Base path to datapoints: javascript.0.Datenpunkte.SwimSpa                        
                *** looking for spas on your network ...                                         
                *** there were no spas found on your network.
                

                muss ich irgendwo noch eine IP eingeben? oder ne Mac damit er den Spa findet?

                so hier die Abfrage:

                root@buanet-iobroker-1:/opt/iobroker/SwimSpa# cd Python3                         
                root@buanet-iobroker-1:/opt/iobroker/SwimSpa/Python3# cd SpaController           
                root@buanet-iobroker-1:/opt/iobroker/SwimSpa/Python3/SpaController# pwd          
                /opt/iobroker/SwimSpa/Python3/SpaController                                      
                root@buanet-iobroker-1:/opt/iobroker/SwimSpa/Python3/SpaController#            
                
                
                rrov1 1 Reply Last reply Reply Quote 0
                • rrov1
                  rrov1 @Stefan-Berlin1 last edited by

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

                  *** looking for spas on your network ...
                  *** there were no spas found on your network.

                  Hallo Stefan,
                  die Fehlermeldung ist suboptimal. Normalerweise findet die geckolib den SpaController im lokalen Subnetz von ganz alleine. Dadurch, das es bei dir in einem Docker Container läuft scheitert das, weil nach meinem (bescheidenen) Wissen über Docker die Container in einem eigenen Subnetz laufen. Jetzt müssen wir erst kurz prinzipiell was Testen. Mit der geckolib kommt auch ein geckoshell. Starte mal eine shell im Container und dann führe da mal aus:

                  python3
                  

                  Dann sollte sich das Prompt ändern und:

                  from geckolib import GeckoShell
                  GeckoShell.run(["logfile client.log", "discover IP.vom.Spa.Controller"])
                  

                  Spannend wäre ob er mit der IP-Adresse den SpaController findet. Wenn nicht wäre es gut, wenn du mal das Logfile bereitstellen kannst.

                  Momentan habe ich keine Funktion vorgesehen um die IP-Adresse zu konfigurieren, aber wenn's sein soll kann ich das schon noch ergänzen.

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

                    @rrov1

                    ok folgendes spuckt er aus : hoffe hab alles

                    
                    
                    root@buanet-iobroker-1:/opt/iobroker# python3                                    
                    Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux                
                    Type "help", "copyright", "credits" or "license" for more information.           
                    >>> from geckolib import GeckoShell                                              
                    >>>                                                                              
                    >>> GeckoShell.run(["logfile client.log", "discover IP.vom.Spa.Controller"])     
                                                                                                     
                                                                                                     
                            <Disclaimer>                                                             
                            ----------------------------- USE AT YOUR OWN RISK ----------------------
                    -------                                                                          
                                                                                                     
                            This code will allow you to make changes to your spa configuration that i
                    s                                                                                
                            outside of what the app, top panel and side panel settings allow. I've no
                    t                                                                                
                            tested every setting and it might be that you prevent your spa pack from 
                            operating as it used to do.                                              
                                                                                                     
                            I strongly suggest dumping the configuration values with the "config" com
                    mand                                                                             
                            and recording them somewhere safe.                                       
                                                                                                     
                            </Disclaimer>                                                            
                                                                                                     
                                                                                                     
                    Starting discovery process...LOG> ERROR Exception during send processing                                                                                          
                    Starting discovery process...LOG> ERROR Exception during send processing         
                    Traceback (most recent call last):                                               
                      File "/usr/local/lib/python3.11/dist-packages/geckolib/driver/udp_socket.py", l
                    ine 162, in _process_send_requests                                               
                        self._socket.sendto(send_bytes, destination)                                 
                    socket.gaierror: [Errno -2] Name or service not known                            
                    LOG> ERROR Exception during send processing                                      
                    Traceback (most recent call last):                                               
                      File "/usr/local/lib/python3.11/dist-packages/geckolib/driver/udp_socket.py", l
                    ine 162, in _process_send_requests                                               
                        self._socket.sendto(send_bytes, destination)                                 
                    socket.gaierror: [Errno -2] Name or service not known                            
                    LOG> ERROR Exception during send processing                                      
                    Traceback (most recent call last):                                               
                      File "/usr/local/lib/python3.11/dist-packages/geckolib/driver/udp_socket.py", l
                    ine 162, in _process_send_requests                                               
                        self._socket.sendto(send_bytes, destination)                                 
                    socket.gaierror: [Errno -2] Name or service not known                            
                    LOG> ERROR Exception during send processing                                      
                    Traceback (most recent call last):                                               
                      File "/usr/local/lib/python3.11/dist-packages/geckolib/driver/udp_socket.py", l
                    ine 162, in _process_send_requests                                               
                        self._socket.sendto(send_bytes, destination)                                 
                    socket.gaierror: [Errno -2] Name or service not known                            
                    LOG> ERROR Exception during send processing                                      
                    Traceback (most recent call last): 
                    
                        self._socket.sendto(send_bytes, destination)                                 
                    socket.gaierror: [Errno -2] Name or service not known                            
                    LOG> ERROR Exception during send processing                                      
                    Traceback (most recent call last):                                               
                      File "/usr/local/lib/python3.11/dist-packages/geckolib/driver/udp_socket.py", l
                    ine 162, in _process_send_requests                                               
                        self._socket.sendto(send_bytes, destination)                                 
                    socket.gaierror: [Errno -2] Name or service not known                            
                    LOG> ERROR Exception during send processing                                      
                    Traceback (most recent call last):                                               
                      File "/usr/local/lib/python3.11/dist-packages/geckolib/driver/udp_socket.py", l
                    ine 162, in _process_send_requests                                               
                        self._socket.sendto(send_bytes, destination)                                 
                    socket.gaierror: [Errno -2] Name or service not known                            
                    LOG> ERROR Exception during send processing                                      
                    Traceback (most recent call last):                                               
                      File "/usr/local/lib/python3.11/dist-packages/geckolib/driver/udp_socket.py", l
                    ine 162, in _process_send_requests                                               
                        self._socket.sendto(send_bytes, destination)                                 
                    socket.gaierror: [Errno -2] Name or service not known                            
                    LOG> ERROR Exception during send processing                                      
                    Traceback (most recent call last):                                               
                      File "/usr/local/lib/python3.11/dist-packages/geckolib/driver/udp_socket.py", l
                    ine 162, in _process_send_requests                                               
                        self._socket.sendto(send_bytes, destination)                                 
                    socket.gaierror: [Errno -2] Name or service not known                            
                    Found 0 spas   
                    LOG> WARNING Try using the iOS or Android app to confirm they are functioning cor
                    rectly                                                                           
                    root@buanet-iobroker-1:/opt/iobroker#                                                                                                                 
                    

                    Welches Logfile meinst Du direkt? bzw. wo finde ich dies?

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

                      @Stefan-Berlin1
                      Der Theorie nach sollte es eine Datei:

                      client.log

                      im Ausführungsverzeichnis geben, aber die brauchen wir nicht. Bitte führe es noch mal aus, ersetze vor dem ausführen die Zeichenkette: IP.vom.Spa.Controller mit der richtigen IP von deinem SpaController. Hätte ich vielleicht dazuschreiben sollen 😇 .

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

                        @rrov1
                        Das hätte ich aber auch sehen können das die IP da rein kommt 😖

                        from geckolib import GeckoShell
                        GeckoShell.run(["logfile client.log", "192.168.188.68"])
                        
                        
                        
                        
                        >>>                                                                              
                        >>> GeckoShell.run(["logfile client.log", "192.168.188.68"])                     
                                                                                                         
                                                                                                         
                                <Disclaimer>                                                             
                                ----------------------------- USE AT YOUR OWN RISK ----------------------
                        -------                                                                          
                                                                                                         
                                This code will allow you to make changes to your spa configuration that i
                        s                                                                                
                                outside of what the app, top panel and side panel settings allow. I've no
                        t                                                                                
                                tested every setting and it might be that you prevent your spa pack from 
                                operating as it used to do.                                              
                                                                                                         
                                I strongly suggest dumping the configuration values with the "config" com
                        mand                                                                             
                                and recording them somewhere safe.                                       
                                                                                                         
                                </Disclaimer>                                                            
                                                                                                         
                                                                                                         
                        *** Unknown syntax: 192.168.188.68                                               
                        Starting discovery process...Found 0 spas                                        
                        LOG> WARNING Try using the iOS or Android app to confirm they are functioning cor
                        rectly                                                                           
                               
                        

                        Sieht irgendwie nicht gut aus das er ein findet. Aber vielleicht nicht richtig da ja syntax Error kommt :
                        *** Unknown syntax: 192.168.188.68

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

                          @stefan-berlin1 Wir kommen der Sache näher, vor die IP muss noch: "discover " (mit Leerzeichen).

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

                            @rrov1
                            JAAAAAAAA er hat Ihn gefunden. Du bist ein Genie.

                            from geckolib import GeckoShell
                            GeckoShell.run(["logfile client.log", "discover 192.168.188.68"])
                            
                            
                            Starting discovery process...Found 1 spas                                        
                            Connecting to spa `Kirschpool ??` at 192.168.188.68 ... connected!               
                            Heater: Temperature 38.0°C, SetPoint 38.0°C, Real SetPoint 26.9°C, Operation Cool
                            ing                                                                              
                            Pump 1: OFF                                                                      
                            Waterfall: OFF                                                                   
                            Pump 2: OFF                                                                      
                            Lights: OFF                                                                      
                            WaterCare: Waiting...                                                            
                            
                            
                            
                            Suche
                            192.168.188.224, 172.30.32.1, 172.30.232.1
                            
                                                                                                             
                                                                                                             
                            Starting discovery process...Found 1 spas                                        
                            Connecting to spa `Kirschpool ??` at 192.168.188.68 ... connected!               
                            Heater: Temperature 38.0°C, SetPoint 38.0°C, Real SetPoint 26.9°C, Operation Cool
                            ing                                                                              
                            Pump 1: OFF                                                                      
                            Waterfall: OFF                                                                   
                            Pump 2: OFF                                                                      
                            Lights: OFF                                                                      
                            WaterCare: Waiting...                                                            
                            Smart Winter Mode:Risk: NO                                                       
                            Circulating Pump: OFF                                                            
                            Ozone: OFF                                                                       
                            Smart Winter Mode:Active: False                                                  
                            Filter Status:Clean: False                                                       
                            Filter Status:Purge: False                                                       
                            Economy Mode: True                                                               
                            Error Sensor: VSP1CommLost, VSP2CommLost                                         
                            Welcome to the Gecko shell. Type help or ? to list commands.                     
                                                                                                             
                            (Gecko)                                                                          
                            (Gecko) Traceback (most recent call last):                                       
                              File "<stdin>", line 1, in <module>                                            
                              File "/usr/local/lib/python3.11/dist-packages/geckolib/utils/shared_command.py"
                            , line 36, in run                                                                
                                cmd.cmdloop()       
                             File "/usr/lib/python3.11/cmd.py", line 126, in cmdloop                        
                                line = input(self.prompt)                                                    
                                       ^^^^^^^^^^^^^^^^^^                                                    
                            KeyboardInterrupt                                                                
                                                                                     
                            
                            rrov1 1 Reply Last reply Reply Quote 0
                            • rrov1
                              rrov1 @Stefan-Berlin1 last edited by

                              @stefan-berlin1
                              OK, dann funktioniert erst mal die geckolib Installation bei dir im Container. Ich muss mir mal Gedanken machen wie ich die Scripte so anpasse, das es auch mit der IP-Adresse funktioniert. Außerdem brauche ich noch eine ioBroker Testinstanz im Container bei mir. Gib mir bitte mal ein paar Tage Zeit.

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

                                @rrov1
                                Danke Dir vielmals. Ich glaube das es immer mehr werden die es im Docker laufen lassen.
                                Na klar verständlich das Du dafür Zeit brauchst. Aber das wäre wirklich sehr toll wenn Du das hinbekommst.

                                Ich hab als erstes beim Pool geschaut ob es eine Schnittstelle gibt lach

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

                                  @stefan-berlin1 Hallo Stefan,
                                  ich habe einen ersten Wurf an Änderungen erstellt, damit das auch in einem ioBroker der in einem Docker Container läuft geht. Perfekt ist es noch nicht, an einer Stelle muss du momentan in einem Python Skript noch direkt was ändern. Praktisch ist ein Komplettupdate fast aller Skripte nötig (im Javascript Adapter, aber auch der Python Skripte) nötig. Bitte gehe wie folgt vor:

                                  • Alle Skripte im Ordner Spa pausieren (schalten wir nach und nach wieder an)
                                  • im ioBroker anmelden, ins Verzeichnis SwimSpa wechseln und "git pull" aufrufen. Der git-Client sollte einige Skripte aktualisieren
                                  • Python Skripte aktualisieren: "cp ./Python/*.py /SpaController/"
                                  • Skript: spa_config.py anpassen, es muss an einer Stelle die IP des SpaController ergänzt werden (tausche einfach den ganzen Text aus und trage die IP von deinem SpaController ein):
                                    • Zeile 34: async with SampleSpaMan(CLIENT_ID, spa_address="Deine.Spa.Controller.IP") as spaman:
                                  • Damit wären wir mit den Python Skripten fertig, ab jetzt passiert alles im Javascript Adapter
                                  • Als erstes muss ein neuer Datenpunkt für die IP-Adresse angelegt werden, öffne das Skript "SpaVariablen.js", lösche es komplett und füge den Inhalt aus SpaVariablen.js von git ein. Konfiguriere in Zeile 2 deine Werte (meist nur 1 SpaController), speichere es und führe es aus.
                                  • Prüfe ob ein neuer Datenpunkt: javascript.0.Datenpunkte.SwimSpa.0.IPAddresse existiert, wenn ok, Skript schließen
                                  • Skript: SpaUpdateConfig.js öffnen, Inhalt löschen und mit dem aus git: SpaUpdateConfig.js ersetzen, speichern und ausführen.
                                  • Prüfe ob jetzt im Datenpunkt: javascript.0.Datenpunkte.SwimSpa.0.IPAddresse eine IP-Adresse hinterlegt ist, wenn ok, Skript schließen
                                  • Skript: SpaUpdateValues.js öffnen, Inhalt löschen und mit dem aus git: SpaUpdateValues.js ersetzen, speichern und ausführen.
                                  • Warten bis die nächste volle Minute angebrochen ist, dann wird es ausgeführt. Es sollten jetzt Werte wie die aktuelle Temperatur in den Datenpunkten stehen. Wenn Ok, Skript schließen.
                                  • Jetzt das gleiche mit den restlichen Skripten im Ordner Spa machen. Ob sie funktionieren siehst du, wenn du Licht einschaltest, die Pumpen startest (meist nur OFF und HIGH, LOW geht bei mir nicht, ist aber als Option da), die Zieltemperatur anpasst oder den Wasserpflegemodus änderst.

                                  Ich habe Ende nächster Woche Urlaub, da werde ich mich weiter mit den Anpassungen beschäftigen, damit es im Container läuft. Bis dahin sollte das aber so gehen (hoffe ich). Schreib mal ob du Erfolg hattest.

                                  Stefan-Berlin1 1 Reply Last reply Reply Quote 1
                                  • Stefan-Berlin1
                                    Stefan-Berlin1 @rrov1 last edited by Stefan-Berlin1

                                    @rrov1
                                    Hallo Stefan, wow so viel Dateien umgeändert. Super.

                                    den Datenpunkt IP Adresse hat er hinzugefügt. Bleibt aber auch leer der Wert.

                                    Bekomme aber noch folgenden Fehler aus der Spa Update Value:

                                    javascript.0 (31123) script.js.common.Spa.SpaUpdateValues: *** stderr: Error: Command failed: python3 /SpaController/spa_updateBulk.py b7031c49-70a1-4f9b-917b-24df54c20973 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa *** Wrong number of script arguments. *** call example: /SpaController/spa_updateBulk.py clientId ioBrSimpleRestApiUrl spaIds spaIPs dpBasePath
                                    

                                    und aus der Spa Update Config:

                                    	javascript.0 (31123) script.js.common.Spa.SpaUpdateConfig: *** stderr: Error: Command failed: python3 /SpaController/spa_config.py b7031c49-70a1-4f9b-917b-24df54c20973 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa *** there were no spas found on your network.
                                    

                                    bzw. der Fehler aus dem Skript ansicht debugger:

                                    23:59:30.414	error	javascript.0 (31302) script.js.common.Spa.SpaUpdateConfig: ReferenceError: BASE_ADAPTER is not defined
                                    23:59:30.415	error	javascript.0 (31302) at updateSpaConfig (script.js.common.Spa.SpaUpdateConfig:12:22)
                                    23:59:30.415	error	javascript.0 (31302) at script.js.common.Spa.SpaUpdateConfig:8:1
                                    23:59:30.415	error	javascript.0 (31302) at script.js.common.Spa.SpaUpdateConfig:49:3
                                    

                                    Als IP übernimmt er scheinbar die Simple API aber nicht die manuelle IP aus der spa_config.py

                                    Dort hab ich das eingetragen:

                                    async with SampleSpaMan(CLIENT_ID, spa_address="192.168.188.68") as spaman:
                                    
                                    rrov1 1 Reply Last reply Reply Quote 0
                                    • rrov1
                                      rrov1 @Stefan-Berlin1 last edited by

                                      @stefan-berlin1 Hallo Stefan,
                                      hm, deaktiviere bitte im Javascript Adapter im Ordner Spa alle Skripte bis auf SpaUpdateConfig.js. Dieses Script ruft spa_config.py auf, welches dann (neben anderem) erst mal im Datenpunkt:

                                      javascript.0.Datenpunkte.SwimSpa.0.IPAddresse
                                      

                                      die IP-Adresse ergänzt. Solange wie dieser Datenpunkt leer ist, werden alle anderen Skripte nicht laufen.

                                      Den Fehler:

                                      ReferenceError: BASE_ADAPTER is not defined
                                      

                                      bekomme ich, wenn im Ordner "global scripts (global)" das Skript SpaGlobal.js deaktiviert ist.

                                      Bitte prüfe dort mal ob da ein rotes Dreieck dran ist. Wenn ja aktivieren und 1 Minute warten (die Instanz des Javascript Adapters wird danach einmal neu gestartet). Danach starte das Skript SpaUpdateConfig.js. Es sollte jetzt ohne den Fehler laufen und die IP-Adresse im Datenpunkt "IPAdresse" eintragen.

                                      Danach und nur wenn die IP im Datenpunkt ist, bitte erst SpaUpdateValues.js aktivieren und auf die nächste volle Minute warten. Wenn das läuft den Rest der Skripte aktivieren.

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

                                        @rrov1 ich teste mal 😉

                                        Stefan-Berlin1 1 Reply Last reply Reply Quote 0
                                        • Stefan-Berlin1
                                          Stefan-Berlin1 @Stefan-Berlin1 last edited by Stefan-Berlin1

                                          @stefan-berlin1
                                          so habs genauso gemacht:

                                          
                                          javascript.0
                                          2024-05-06 22:54:38.970	info	script.js.common.Spa.SpaUpdateConfig: end
                                          
                                          javascript.0
                                          2024-05-06 22:54:38.970	info	script.js.common.Spa.SpaUpdateConfig: *** stderr: Error: Command failed: python3 /SpaController/spa_config.py b7031c49-70a1-4f9b-917b-24df54c20973 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa *** there were no spas found on your network.
                                          
                                          javascript.0
                                          2024-05-06 22:54:28.785	info	script.js.common.Spa.SpaUpdateConfig: *** executing: python3 /SpaController/spa_config.py b7031c49-70a1-4f9b-917b-24df54c20973 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa
                                          
                                          javascript.0
                                          2024-05-06 22:54:28.783	info	script.js.common.Spa.SpaUpdateConfig: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                                          
                                          javascript.0
                                          2024-05-06 22:54:28.783	info	script.js.common.Spa.SpaUpdateConfig: start
                                          
                                          javascript.0
                                          2024-05-06 22:54:28.730	info	Start javascript script.js.common.Spa.SpaUpdateConfig
                                          
                                          javascript.0
                                          2024-05-06 22:54:26.690	info	received all states
                                          
                                          javascript.0
                                          2024-05-06 22:54:26.654	info	received all objects
                                          
                                          javascript.0
                                          2024-05-06 22:54:26.013	info	requesting all objects
                                          
                                          javascript.0
                                          2024-05-06 22:54:26.013	info	requesting all states
                                          
                                          javascript.0
                                          2024-05-06 22:54:25.540	info	starting. Version 7.8.0 in /opt/iobroker/node_modules/iobroker.javascript, node: v18.20.2, js-controller: 5.0.19
                                          
                                          javascript.0
                                          2024-05-06 22:53:54.234	info	terminating
                                          
                                          javascript.0
                                          2024-05-06 22:53:53.737	info	Terminated (NO_ERROR): Without reason
                                          
                                          javascript.0
                                          2024-05-06 22:53:53.736	info	terminating
                                          
                                          javascript.0
                                          2024-05-06 22:53:53.732	info	Stop script script.js.common.Spa.SpaUpdateConfig
                                          
                                          javascript.0
                                          2024-05-06 22:53:53.731	warn	Restart initiated
                                          
                                          javascript.0
                                          2024-05-06 22:53:53.730	info	Global Script script.js.global.SpaGlobal updated. Restart instance.
                                          

                                          die global Spa ist aktiviert

                                          hier mal die updateconfig auswertung:

                                          23:02:01.914	info	javascript.0 (4092) Debugging of script.js.common.Spa.SpaUpdateConfig was stopped, because started in normal mode
                                          23:02:01.915	info	javascript.0 (4092) Start javascript script.js.common.Spa.SpaUpdateConfig
                                          23:02:01.935	info	javascript.0 (4092) script.js.common.Spa.SpaUpdateConfig: start
                                          23:02:01.935	info	javascript.0 (4092) script.js.common.Spa.SpaUpdateConfig: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                                          23:02:25.699	info	javascript.0 (4092) Stop script script.js.common.Spa.SpaUpdateConfig
                                          23:03:04.144	info	javascript.0 (4160) Start javascript script.js.common.Spa.SpaUpdateConfig
                                          23:03:04.223	info	javascript.0 (4160) script.js.common.Spa.SpaUpdateConfig: start
                                          23:03:04.223	info	javascript.0 (4160) script.js.common.Spa.SpaUpdateConfig: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                                          23:03:04.224	info	javascript.0 (4160) script.js.common.Spa.SpaUpdateConfig: resetting scriptRunning, because it's false since more than 5 minutes
                                          23:03:04.226	info	javascript.0 (4160) script.js.common.Spa.SpaUpdateConfig: *** executing: python3 /SpaController/spa_config.py b7031c49-70a1-4f9b-917b-24df54c20973 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa
                                          23:03:14.882	info	javascript.0 (4160) script.js.common.Spa.SpaUpdateConfig: *** stderr: Error: Command failed: python3 /SpaController/spa_config.py b7031c49-70a1-4f9b-917b-24df54c20973 http://172.17.0.4:8087 javascript.0.Datenpunkte.SwimSpa *** there were no spas found on your network.
                                          23:03:14.883	info	javascript.0 (4160) script.js.common.Spa.SpaUpdateConfig: end
                                          
                                          rrov1 1 Reply Last reply Reply Quote 0
                                          • rrov1
                                            rrov1 @Stefan-Berlin1 last edited by

                                            @stefan-berlin1 Hallo Stefan,
                                            ärgerlich, der ReferenceError ist jetzt zwar weg, aber er findet den SpaController immer noch nicht

                                            *** there were no spas found on your network.
                                            

                                            Bitte prüfe noch mal die Datei /SpaController/spa_config.py, ob da wirklich in Zeile 34 die Änderung drinnen steht. Ich füge hier mal eine von mir vorbereitete Version ein: spa_config.py , es wäre mir am liebsten du nimmst die mal. Ich habe die richtige IP schon eingetragen. Danach bitte SpaUpdateConfig.js noch mal ausführen und den Datenpunkt mit der IP-Adresse prüfen. Falls es nicht klappt bitte noch mal die Einträge aus dem Logfile schicken.

                                            Stefan-Berlin1 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            903
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            169
                                            17681
                                            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