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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

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

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
183 Beiträge 8 Kommentatoren 30.6k 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.
  • T tklein

    @chris-1

    hi nochmal,

    hast du vielleicht eine Ahnung, wie ich die benötigte lib installieren kann. Habe python 3.10 installiert.

    c8ce1933-145c-49f4-870e-a5c0f6ace2f2-grafik.png

    rrov1R Online
    rrov1R Online
    rrov1
    schrieb am zuletzt editiert von
    #21

    @tklein Du musst Python auf jeden Fall auf mind. 3.8 aktualisieren (siehe dependencies). Ich habe auf meinem Test-Raspi eben mal schnell ein frisches Raspbian mit python 3.9.2 aufgesetzt, dort lässt es sich installieren.

    Ich bin übrigens einen leicht anderen Weg gegangen. Ich habe mir ein paar states definiert und lasse via cron ein python Script laufen, das ständig meine Gecko Steuerungen abfragt und aktualisiere dann die States per Bulk update (benötigt noch den Simple Rest API Adapter). Den Whirlpool steuern tue ich tatsächlich aus der Ferne nicht (könnte man aber auch machen).

    T 1 Antwort Letzte Antwort
    0
    • rrov1R rrov1

      @tklein Du musst Python auf jeden Fall auf mind. 3.8 aktualisieren (siehe dependencies). Ich habe auf meinem Test-Raspi eben mal schnell ein frisches Raspbian mit python 3.9.2 aufgesetzt, dort lässt es sich installieren.

      Ich bin übrigens einen leicht anderen Weg gegangen. Ich habe mir ein paar states definiert und lasse via cron ein python Script laufen, das ständig meine Gecko Steuerungen abfragt und aktualisiere dann die States per Bulk update (benötigt noch den Simple Rest API Adapter). Den Whirlpool steuern tue ich tatsächlich aus der Ferne nicht (könnte man aber auch machen).

      T Offline
      T Offline
      tklein
      schrieb am zuletzt editiert von tklein
      #22

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

      @tklein Du musst Python auf jeden Fall auf mind. 3.8 aktualisieren (siehe dependencies). Ich habe auf meinem Test-Raspi eben mal schnell ein frisches Raspbian mit python 3.9.2 aufgesetzt, dort lässt es sich installieren.

      -->Vielen Dank für die Info. Python 3.10 habe ich ja bereits installiert, wird aber anscheiniend "nicht genutzt"

      Ich bin übrigens einen leicht anderen Weg gegangen. Ich habe mir ein paar states definiert und lasse via cron ein python Script laufen, das ständig meine Gecko Steuerungen abfragt und aktualisiere dann die States per Bulk update (benötigt noch den Simple Rest API Adapter). Den Whirlpool steuern tue ich tatsächlich aus der Ferne nicht (könnte man aber auch machen).

      --> sorry, da konnte ich dir leider nicht folgen.

      hast du das in mix 300 modul im einsatz? wird das auch supported (brightness/zones etc)?

      rrov1R 1 Antwort Letzte Antwort
      0
      • T tklein

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

        @tklein Du musst Python auf jeden Fall auf mind. 3.8 aktualisieren (siehe dependencies). Ich habe auf meinem Test-Raspi eben mal schnell ein frisches Raspbian mit python 3.9.2 aufgesetzt, dort lässt es sich installieren.

        -->Vielen Dank für die Info. Python 3.10 habe ich ja bereits installiert, wird aber anscheiniend "nicht genutzt"

        Ich bin übrigens einen leicht anderen Weg gegangen. Ich habe mir ein paar states definiert und lasse via cron ein python Script laufen, das ständig meine Gecko Steuerungen abfragt und aktualisiere dann die States per Bulk update (benötigt noch den Simple Rest API Adapter). Den Whirlpool steuern tue ich tatsächlich aus der Ferne nicht (könnte man aber auch machen).

        --> sorry, da konnte ich dir leider nicht folgen.

        hast du das in mix 300 modul im einsatz? wird das auch supported (brightness/zones etc)?

        rrov1R Online
        rrov1R Online
        rrov1
        schrieb am zuletzt editiert von
        #23

        @tklein Brauchst du wirklich zwei Python Versionen (2.x und 3.x) gleichzeitig auf deinem System? Wenn nicht deinstalliere das Python 2. Wenn du Phyton nur für die geckolib brauchst deinstalliere beide Version und danach nur Python 3. Danach sollte das eigentlich klappen.

        >> hast du das in mix 300 modul im einsatz?
        Nein, das habe ich nicht.

        T 1 Antwort Letzte Antwort
        0
        • rrov1R rrov1

          @tklein Brauchst du wirklich zwei Python Versionen (2.x und 3.x) gleichzeitig auf deinem System? Wenn nicht deinstalliere das Python 2. Wenn du Phyton nur für die geckolib brauchst deinstalliere beide Version und danach nur Python 3. Danach sollte das eigentlich klappen.

          >> hast du das in mix 300 modul im einsatz?
          Nein, das habe ich nicht.

          T Offline
          T Offline
          tklein
          schrieb am zuletzt editiert von
          #24

          @rrov1 ich bin da a bissl schissig. zumal mir mal ein dev ops gesagt hat, dass einige teile vom os mit/durch python laufen.
          muss mal schauen, dass evtl. die default 3er version von 3.7 auf 3.10 angehoben wird. alternativ muu ich mal schauen, ob man bei der installation via pip3 die pythonversion mit angeben kann

          rrov1R 1 Antwort Letzte Antwort
          0
          • T tklein

            @rrov1 ich bin da a bissl schissig. zumal mir mal ein dev ops gesagt hat, dass einige teile vom os mit/durch python laufen.
            muss mal schauen, dass evtl. die default 3er version von 3.7 auf 3.10 angehoben wird. alternativ muu ich mal schauen, ob man bei der installation via pip3 die pythonversion mit angeben kann

            rrov1R Online
            rrov1R Online
            rrov1
            schrieb am zuletzt editiert von
            #25

            @tklein Hallo, nun dann mit Netz und doppeltem Boden. Du hast einen Raspberry ich vermute mal mit SD-Karte? In dem Fall:

            • kaufe dir eine zweite, gleich große SD-Karte,
            • erstelle eine Backup vom ioBroker und lege es erst mal auf ein anderes Medium (der dopplete Boden)
            • schalte den Raspi aus und kopiere an deinem PC den Inhalt der SD Karte mit einem geeigneten Tool auf die neue SD-Karte.
            • lege die neue SD-Karte ein und starte den Raspi - sollte laufen, falls nicht hier Stop.
            • deinstalliere python 2.x (es ist m.W. eh EOL seit 01.01.2020, da läuft sicher nichts drüber wenn der Rest von deinem System aktuell ist).
            • wenn python 2.x weg ist probiere alle Systemfunktionen aus.

            Wenn alles geht, lass den Raspi laufen, deine alte SD-Karte ist dein fallback für den worst-case das du ein paar Tage später doch noch ein Problem feststellst.

            T 1 Antwort Letzte Antwort
            1
            • rrov1R rrov1

              @tklein Hallo, nun dann mit Netz und doppeltem Boden. Du hast einen Raspberry ich vermute mal mit SD-Karte? In dem Fall:

              • kaufe dir eine zweite, gleich große SD-Karte,
              • erstelle eine Backup vom ioBroker und lege es erst mal auf ein anderes Medium (der dopplete Boden)
              • schalte den Raspi aus und kopiere an deinem PC den Inhalt der SD Karte mit einem geeigneten Tool auf die neue SD-Karte.
              • lege die neue SD-Karte ein und starte den Raspi - sollte laufen, falls nicht hier Stop.
              • deinstalliere python 2.x (es ist m.W. eh EOL seit 01.01.2020, da läuft sicher nichts drüber wenn der Rest von deinem System aktuell ist).
              • wenn python 2.x weg ist probiere alle Systemfunktionen aus.

              Wenn alles geht, lass den Raspi laufen, deine alte SD-Karte ist dein fallback für den worst-case das du ein paar Tage später doch noch ein Problem feststellst.

              T Offline
              T Offline
              tklein
              schrieb am zuletzt editiert von
              #26

              @rrov1 danke,

              habe die Lib jetzt mit "sudo pip3.10 install ..." installiert bekommen. :-)
              Sicherung der Daten von der SSD Platte hatte ich natürlich zuvor auch gemacht.

              Es wurden sogar die DP im MQTT Adapter angelegt/gefüllt. Es geht voran. :-)
              Nur leider wird der Geckoservice nach kurzer Zeit gekillt. Ein Issue habe ich auf Github dazu aufgemacht.
              --> https://github.com/kalinrow/geckoclient/issues/5

              Meinen Intex Octagon habe ich schneller im iob zum laufen bekommen :-) Da habe ich zumindest beim Testing des Adapters geholfen.

              rrov1R 1 Antwort Letzte Antwort
              0
              • T tklein

                @rrov1 danke,

                habe die Lib jetzt mit "sudo pip3.10 install ..." installiert bekommen. :-)
                Sicherung der Daten von der SSD Platte hatte ich natürlich zuvor auch gemacht.

                Es wurden sogar die DP im MQTT Adapter angelegt/gefüllt. Es geht voran. :-)
                Nur leider wird der Geckoservice nach kurzer Zeit gekillt. Ein Issue habe ich auf Github dazu aufgemacht.
                --> https://github.com/kalinrow/geckoclient/issues/5

                Meinen Intex Octagon habe ich schneller im iob zum laufen bekommen :-) Da habe ich zumindest beim Testing des Adapters geholfen.

                rrov1R Online
                rrov1R Online
                rrov1
                schrieb am zuletzt editiert von
                #27

                @tklein Hallo, habe eben mal schnell den geckoclient auf meinen Test-Raspi aufgesetzt - läuft (also 15 Minuten). Ich lasse ihn mal etwas laufen.

                Ich habe das ganze etwas anders gelöst (ob das die effizienteste Lösung ist sei mal dahingestellt, es liest nur Daten aus, vielleicht auch nicht alle, aber für mich ist das genau das richtige :smiley:) :

                Schritt 1: Ein paar Datenpunkte mit dem Javascript Adapter anlegen: Javasrcipt Datenpunkte erstellen.txt, nicht alle kommen von Gecko
                Schritt 2: Adapter: Simple RESTful API installieren und starten
                Schritt 3: Für das aktualisieren der Datenpunkte nutze ich ein selbstgestricktes Python-Script:

                • auf den Raspi kopieren spa_updateBulk.py
                • Konfiguration anpassen (Zeile 6: eine UUID einfügen, Zeile 7: den Spa Identifier, Zeile 78: die IP vom ioBroker und ggf. den Port anpassen beim simple RESTful API

                Schritt 4: Das Script vom cron aufrufen lassen (minütlich): crontab -e aufrufen und einfügen von "* * * * * python3 ~/spa_updateBulk.py >/dev/null 2>&1"

                Du kannst das Script zum testen auch manuell aufrufen mit: python3 ~/spa_updateBulk.py

                T 2 Antworten Letzte Antwort
                0
                • rrov1R rrov1

                  @tklein Hallo, habe eben mal schnell den geckoclient auf meinen Test-Raspi aufgesetzt - läuft (also 15 Minuten). Ich lasse ihn mal etwas laufen.

                  Ich habe das ganze etwas anders gelöst (ob das die effizienteste Lösung ist sei mal dahingestellt, es liest nur Daten aus, vielleicht auch nicht alle, aber für mich ist das genau das richtige :smiley:) :

                  Schritt 1: Ein paar Datenpunkte mit dem Javascript Adapter anlegen: Javasrcipt Datenpunkte erstellen.txt, nicht alle kommen von Gecko
                  Schritt 2: Adapter: Simple RESTful API installieren und starten
                  Schritt 3: Für das aktualisieren der Datenpunkte nutze ich ein selbstgestricktes Python-Script:

                  • auf den Raspi kopieren spa_updateBulk.py
                  • Konfiguration anpassen (Zeile 6: eine UUID einfügen, Zeile 7: den Spa Identifier, Zeile 78: die IP vom ioBroker und ggf. den Port anpassen beim simple RESTful API

                  Schritt 4: Das Script vom cron aufrufen lassen (minütlich): crontab -e aufrufen und einfügen von "* * * * * python3 ~/spa_updateBulk.py >/dev/null 2>&1"

                  Du kannst das Script zum testen auch manuell aufrufen mit: python3 ~/spa_updateBulk.py

                  T Offline
                  T Offline
                  tklein
                  schrieb am zuletzt editiert von
                  #28

                  @rrov1 vielen lieben Dank für deine Skripte.
                  Werde ich mir anschauen und versuchen mal laufen zu lassen. Das Logging ist für mich auch wichtig.
                  Mich interessiert zb. wie lange die zirkulationspumpe ausserhalb der filterzeiten läuft. wollte evtl. eine stromsparendere laing pumpe verbauen.

                  rrov1R 1 Antwort Letzte Antwort
                  0
                  • T tklein

                    @rrov1 vielen lieben Dank für deine Skripte.
                    Werde ich mir anschauen und versuchen mal laufen zu lassen. Das Logging ist für mich auch wichtig.
                    Mich interessiert zb. wie lange die zirkulationspumpe ausserhalb der filterzeiten läuft. wollte evtl. eine stromsparendere laing pumpe verbauen.

                    rrov1R Online
                    rrov1R Online
                    rrov1
                    schrieb am zuletzt editiert von
                    #29

                    @tklein Dafür habe ich einen Datenpunkt (Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State) vorgesehen. Die Laufzeiten musst du dir dann separat ausrechnen :-).

                    T 1 Antwort Letzte Antwort
                    0
                    • rrov1R rrov1

                      @tklein Dafür habe ich einen Datenpunkt (Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State) vorgesehen. Die Laufzeiten musst du dir dann separat ausrechnen :-).

                      T Offline
                      T Offline
                      tklein
                      schrieb am zuletzt editiert von
                      #30

                      @rrov1 klasse,

                      leider bekomme ich beim aufruf des pyton skript folgende meldung mit der ich als pythonlaie leider nicht viel anfangen kann:

                      pi@raspberrypi-iob:~/wellis $ python spa_updateBulk.py
                        File "spa_updateBulk.py", line 19
                          print(f"Connecting to {facade.name} ", end="", flush=True)
                                                              ^
                      SyntaxError: invalid syntax
                      
                      

                      der "configteil" sieht so aus:

                      #!/usr/bin/python3.10
                      import requests
                      import urllib.parse
                      
                      from geckolib import GeckoLocator
                      
                      CLIENT_ID = "916b0096-ab56-4344-8728-..."
                      lSpas = ["SPAe8:eb:1b:1c:5e:46"]
                      
                      dictEn2De = {'Away From Home': 'Abwesend',
                                'Standard': 'Standard',
                                'Energy Saving': 'Energiesparen',
                                'Super Energy Saving': 'Energiesparen Plus',
                                'Weekender': 'Wochenende'
                      }
                      
                      for nSpaNum in range(len(lSpas)):
                          facade = GeckoLocator.find_spa(CLIENT_ID, lSpas[nSpaNum]).get_facade(False)
                          print(f"Connecting to {facade.name} ", end="", flush=True)
                          while not facade.is_connected:
                              # Could also be `await asyncio.sleep(1)`
                              facade.wait(1)
                              print(".", end="", flush=True)
                          print(" connected")
                      
                          # Do some things with the facade
                          print(f"Water heater : {facade.water_heater}")
                      
                      
                      rrov1R 1 Antwort Letzte Antwort
                      0
                      • rrov1R rrov1

                        @tklein Hallo, habe eben mal schnell den geckoclient auf meinen Test-Raspi aufgesetzt - läuft (also 15 Minuten). Ich lasse ihn mal etwas laufen.

                        Ich habe das ganze etwas anders gelöst (ob das die effizienteste Lösung ist sei mal dahingestellt, es liest nur Daten aus, vielleicht auch nicht alle, aber für mich ist das genau das richtige :smiley:) :

                        Schritt 1: Ein paar Datenpunkte mit dem Javascript Adapter anlegen: Javasrcipt Datenpunkte erstellen.txt, nicht alle kommen von Gecko
                        Schritt 2: Adapter: Simple RESTful API installieren und starten
                        Schritt 3: Für das aktualisieren der Datenpunkte nutze ich ein selbstgestricktes Python-Script:

                        • auf den Raspi kopieren spa_updateBulk.py
                        • Konfiguration anpassen (Zeile 6: eine UUID einfügen, Zeile 7: den Spa Identifier, Zeile 78: die IP vom ioBroker und ggf. den Port anpassen beim simple RESTful API

                        Schritt 4: Das Script vom cron aufrufen lassen (minütlich): crontab -e aufrufen und einfügen von "* * * * * python3 ~/spa_updateBulk.py >/dev/null 2>&1"

                        Du kannst das Script zum testen auch manuell aufrufen mit: python3 ~/spa_updateBulk.py

                        T Offline
                        T Offline
                        tklein
                        schrieb am zuletzt editiert von
                        #31

                        @rrov1

                        beim manuellen Aufruf von http://192.168.0.20:8087/setBulk bekomme ich ein leeres array [] als return. liegt wahrscheinlich daran, dass die daten nnicht übergeben werden.

                        Allerdings ist mir auch nicht klar, wo die funktion oder der dp setBulk genau herkommt, welche aurgerufen wird.

                        rrov1R 1 Antwort Letzte Antwort
                        0
                        • T tklein

                          @rrov1 klasse,

                          leider bekomme ich beim aufruf des pyton skript folgende meldung mit der ich als pythonlaie leider nicht viel anfangen kann:

                          pi@raspberrypi-iob:~/wellis $ python spa_updateBulk.py
                            File "spa_updateBulk.py", line 19
                              print(f"Connecting to {facade.name} ", end="", flush=True)
                                                                  ^
                          SyntaxError: invalid syntax
                          
                          

                          der "configteil" sieht so aus:

                          #!/usr/bin/python3.10
                          import requests
                          import urllib.parse
                          
                          from geckolib import GeckoLocator
                          
                          CLIENT_ID = "916b0096-ab56-4344-8728-..."
                          lSpas = ["SPAe8:eb:1b:1c:5e:46"]
                          
                          dictEn2De = {'Away From Home': 'Abwesend',
                                    'Standard': 'Standard',
                                    'Energy Saving': 'Energiesparen',
                                    'Super Energy Saving': 'Energiesparen Plus',
                                    'Weekender': 'Wochenende'
                          }
                          
                          for nSpaNum in range(len(lSpas)):
                              facade = GeckoLocator.find_spa(CLIENT_ID, lSpas[nSpaNum]).get_facade(False)
                              print(f"Connecting to {facade.name} ", end="", flush=True)
                              while not facade.is_connected:
                                  # Could also be `await asyncio.sleep(1)`
                                  facade.wait(1)
                                  print(".", end="", flush=True)
                              print(" connected")
                          
                              # Do some things with the facade
                              print(f"Water heater : {facade.water_heater}")
                          
                          
                          rrov1R Online
                          rrov1R Online
                          rrov1
                          schrieb am zuletzt editiert von
                          #32

                          @tklein Hallo, ich denke du hast wieder ein Problem mit den Python Versionen auf deinem Raspi. Ich habe mal kurz recherchiert, unter Python 2 war das ein Statement, seit Python 3 ist es eine Funktion (siehe hier). Aufgrund der Funktionsweise des Python Interpreters kann ich einen falschen Interpreter auch nicht abfangen, weil lt. Doku erst das ganze Script auf Syntaxfehler geprüft wird, bevor die erste Zeile Code überhaupt ausgeführt wird. Spontan hätte ich gesagt, tauschen im Aufruf "python spa_updateBulk.py" das "python" durch "python3". Dann sollte es laufen (bin leider auch nicht so der Python Profi, habe mich damit vor etwas mehr als 1 Jahr das erste mal wegen dem SwimSpa etwas beschäftigt).

                          T 2 Antworten Letzte Antwort
                          0
                          • T tklein

                            @rrov1

                            beim manuellen Aufruf von http://192.168.0.20:8087/setBulk bekomme ich ein leeres array [] als return. liegt wahrscheinlich daran, dass die daten nnicht übergeben werden.

                            Allerdings ist mir auch nicht klar, wo die funktion oder der dp setBulk genau herkommt, welche aurgerufen wird.

                            rrov1R Online
                            rrov1R Online
                            rrov1
                            schrieb am zuletzt editiert von
                            #33

                            @tklein Das Rest-API ist eigentlich recht simpel. Es gibt Funktionen zum setzen (set...) und abrufen (get...) von Datenpunkten via HTTP. Um genau einen Datenpunkt zu setzen nimmst du:

                            http://<<iobroker-ip>>:8087/set/javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur?value=20.5
                            

                            Mein Script muss mehrere Datenpunkte setzen, um die Systemlast zu reduzieren habe ich mich deswegen für setBulk entschieden, da setze ich mit einem HTTP-Aufruf gleich mehrere Datenpunkte:

                            http://<<iobroker-ip>>:8087/setBulk/javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur=20.5&javascript.0.Datenpunkte.SwimSpa.1.EchteZielTemperatur=36
                            

                            Doku siehe hier: https://github.com/ioBroker/ioBroker.simple-api

                            T 1 Antwort Letzte Antwort
                            0
                            • rrov1R rrov1

                              @tklein Das Rest-API ist eigentlich recht simpel. Es gibt Funktionen zum setzen (set...) und abrufen (get...) von Datenpunkten via HTTP. Um genau einen Datenpunkt zu setzen nimmst du:

                              http://<<iobroker-ip>>:8087/set/javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur?value=20.5
                              

                              Mein Script muss mehrere Datenpunkte setzen, um die Systemlast zu reduzieren habe ich mich deswegen für setBulk entschieden, da setze ich mit einem HTTP-Aufruf gleich mehrere Datenpunkte:

                              http://<<iobroker-ip>>:8087/setBulk/javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur=20.5&javascript.0.Datenpunkte.SwimSpa.1.EchteZielTemperatur=36
                              

                              Doku siehe hier: https://github.com/ioBroker/ioBroker.simple-api

                              T Offline
                              T Offline
                              tklein
                              schrieb am zuletzt editiert von
                              #34

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

                              @tklein Das Rest-API ist eigentlich recht simpel. Es gibt Funktionen zum setzen (set...) und abrufen (get...) von Datenpunkten via HTTP. Um genau einen Datenpunkt zu setzen nimmst du:

                              http://<<iobroker-ip>>:8087/set/javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur?value=20.5
                              

                              Mein Script muss mehrere Datenpunkte setzen, um die Systemlast zu reduzieren habe ich mich deswegen für setBulk entschieden, da setze ich mit einem HTTP-Aufruf gleich mehrere Datenpunkte:

                              http://<<iobroker-ip>>:8087/setBulk/javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur=20.5&javascript.0.Datenpunkte.SwimSpa.1.EchteZielTemperatur=36
                              

                              Doku siehe hier: https://github.com/ioBroker/ioBroker.simple-api

                              ah, danke, die api nutze ich schon länge, (set/get )habe aber den "batchparametervariante" setBulk nicht auf dem Schirm gehabt bzw als Teil der Api angesehen. :-) Ich hatte nach einem dp unter root geschaut mit dem Namen :-)

                              1 Antwort Letzte Antwort
                              0
                              • rrov1R rrov1

                                @tklein Hallo, ich denke du hast wieder ein Problem mit den Python Versionen auf deinem Raspi. Ich habe mal kurz recherchiert, unter Python 2 war das ein Statement, seit Python 3 ist es eine Funktion (siehe hier). Aufgrund der Funktionsweise des Python Interpreters kann ich einen falschen Interpreter auch nicht abfangen, weil lt. Doku erst das ganze Script auf Syntaxfehler geprüft wird, bevor die erste Zeile Code überhaupt ausgeführt wird. Spontan hätte ich gesagt, tauschen im Aufruf "python spa_updateBulk.py" das "python" durch "python3". Dann sollte es laufen (bin leider auch nicht so der Python Profi, habe mich damit vor etwas mehr als 1 Jahr das erste mal wegen dem SwimSpa etwas beschäftigt).

                                T Offline
                                T Offline
                                tklein
                                schrieb am zuletzt editiert von
                                #35

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

                                @tklein Hallo, ich denke du hast wieder ein Problem mit den Python Versionen auf deinem Raspi. Ich habe mal kurz recherchiert, unter Python 2 war das ein Statement, seit Python 3 ist es eine Funktion (siehe hier). Aufgrund der Funktionsweise des Python Interpreters kann ich einen falschen Interpreter auch nicht abfangen, weil lt. Doku erst das ganze Script auf Syntaxfehler geprüft wird, bevor die erste Zeile Code überhaupt ausgeführt wird. Spontan hätte ich gesagt, tauschen im Aufruf "python spa_updateBulk.py" das "python" durch "python3". Dann sollte es laufen (bin leider auch nicht so der Python Profi, habe mich damit vor etwas mehr als 1 Jahr das erste mal wegen dem SwimSpa etwas beschäftigt).

                                Ich dachte mit

                                #!/usr/bin/python3.10
                                
                                

                                in der ersten Zeile könnte ich den Aufruf von der aktuellesten Pythonversion 3.10 erzwingen.

                                Nachdem ich alle print* auskommentiert hatte, kam folgende Meldung:

                                Traceback (most recent call last):
                                  File "/home/pi/wellis/spa_updateBulk.py", line 2, in <module>
                                    import requests
                                ModuleNotFoundError: No module named 'requests'
                                
                                
                                1 Antwort Letzte Antwort
                                0
                                • rrov1R rrov1

                                  @tklein Hallo, ich denke du hast wieder ein Problem mit den Python Versionen auf deinem Raspi. Ich habe mal kurz recherchiert, unter Python 2 war das ein Statement, seit Python 3 ist es eine Funktion (siehe hier). Aufgrund der Funktionsweise des Python Interpreters kann ich einen falschen Interpreter auch nicht abfangen, weil lt. Doku erst das ganze Script auf Syntaxfehler geprüft wird, bevor die erste Zeile Code überhaupt ausgeführt wird. Spontan hätte ich gesagt, tauschen im Aufruf "python spa_updateBulk.py" das "python" durch "python3". Dann sollte es laufen (bin leider auch nicht so der Python Profi, habe mich damit vor etwas mehr als 1 Jahr das erste mal wegen dem SwimSpa etwas beschäftigt).

                                  T Offline
                                  T Offline
                                  tklein
                                  schrieb am zuletzt editiert von
                                  #36

                                  @rrov1 es hat geklappt, nachdem ich die lib installiert hatte.

                                  pi@raspberrypi-iob:~/wellis $ python3.10 spa_updateBulk.py
                                   connected
                                  200
                                  pi@raspberrypi-iob:~/wellis $
                                  
                                  

                                  Die Daten wurden erfolgreich in die DP geschrieben.

                                  Vielen lieben Dank für deine Geduld & Hilfe!

                                  Grüße
                                  Thomas

                                  rrov1R 1 Antwort Letzte Antwort
                                  0
                                  • T tklein

                                    @rrov1 es hat geklappt, nachdem ich die lib installiert hatte.

                                    pi@raspberrypi-iob:~/wellis $ python3.10 spa_updateBulk.py
                                     connected
                                    200
                                    pi@raspberrypi-iob:~/wellis $
                                    
                                    

                                    Die Daten wurden erfolgreich in die DP geschrieben.

                                    Vielen lieben Dank für deine Geduld & Hilfe!

                                    Grüße
                                    Thomas

                                    rrov1R Online
                                    rrov1R Online
                                    rrov1
                                    schrieb am zuletzt editiert von
                                    #37

                                    @tklein Sorry, das ich das mit der Bibliothek vergessen habe, aber schön das es läuft.

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • rrov1R rrov1

                                      @tklein Sorry, das ich das mit der Bibliothek vergessen habe, aber schön das es läuft.

                                      T Offline
                                      T Offline
                                      tklein
                                      schrieb am zuletzt editiert von
                                      #38

                                      @rrov1 was allerdings komisch ist, dass

                                      1. trotz logginparameter bein influxdb "nur änderungen aufzeichnen" zwei identische werte zeitlich gefolgt sind (A)
                                      2. mein trigger auf veränderung bei dem state licht etliche benachrichtungen in der nacht erfolgten, obwohl werder das log noch die entsprechenden db einträge finden konnte (B)
                                      3. im DB on/off ankommen, aber true/false geloggt werden

                                      Kann es sein, dass auch mal werte != on/off bzw treu/false in die DP geschrieben werden?

                                      Grüße
                                      Thomas

                                      fe81871e-eea8-4271-b2f5-ab3fe13474e4-grafik.png

                                      rrov1R 1 Antwort Letzte Antwort
                                      0
                                      • T tklein

                                        @rrov1 was allerdings komisch ist, dass

                                        1. trotz logginparameter bein influxdb "nur änderungen aufzeichnen" zwei identische werte zeitlich gefolgt sind (A)
                                        2. mein trigger auf veränderung bei dem state licht etliche benachrichtungen in der nacht erfolgten, obwohl werder das log noch die entsprechenden db einträge finden konnte (B)
                                        3. im DB on/off ankommen, aber true/false geloggt werden

                                        Kann es sein, dass auch mal werte != on/off bzw treu/false in die DP geschrieben werden?

                                        Grüße
                                        Thomas

                                        fe81871e-eea8-4271-b2f5-ab3fe13474e4-grafik.png

                                        rrov1R Online
                                        rrov1R Online
                                        rrov1
                                        schrieb am zuletzt editiert von
                                        #39

                                        @tklein Hallo, ich habe mir mein "Machwerk" gleich noch mal angeschaut:

                                        zu 1.: Du hast die Aufzeichnung intuitiv richtig konfiguriert (habe ich auch so, nur SQL-Adapter). Mein Script ist an der Stelle dumm, wenn es läuft, dann sendet es tatsächlich bei jedem Aufruf alle Werte des SwimSpa/Whirlpool an den ioBroker. Es weiß nicht was es im vorigen Aufruf gesendet hat und es fragt die States auch vor dem senden nicht ab und sendet nur die Änderungen. Da verlasse ich mich auf den ioBroker, das er echte Änderungen bemerkt.
                                        Ich habe bei mir kein InfluxDB, sondern eine MariaDB (ist praktisch mySQL) im Einsatz. Damit ich mal testen kann, welche Version von InfluxDB und Adapter verwendest du?

                                        zu 2.: Ok, das ist suboptimal. Ich habe mal bei mir geprüft und festgestellt, dass ich das Licht zuletzt am 31.10. an hatte. Hier hätte ich folgende Idee:

                                        • Ich gehe mal davon aus, das du den REST Api Adapter nur für mein Script nutzt
                                        • Stelle die REST Api Instanz mal für eine Nacht in den Loglevel: DEBUG
                                        • Check die Logfiles zu dem Zeitpunkt wo dein Trigger eine falsche Meldung macht, was über das REST Api für ein Wert reinkam.

                                        Damit könne wir erst mal prüfen, ob die Werte vom Script sauber beim REST Api ankommen.

                                        zu 3.: Die "Is_On"-States sind vom Datentyp her Boolean, sprich ioBroker hält true/false als Wert. Schon On/Off wäre nur eine Interpretation davon aus meiner Sicht. In mySQL landet wirklich nur true/false in der DB, das Python Script schickt auch nur diesen Wert an das REST Api.

                                        >> Kann es sein, dass auch mal werte != on/off bzw treu/false in die DP geschrieben werden?
                                        Theoretisch nein, also 99,99%, ist ein Stück Python Code drinnen, das ist nicht so meine Welt ;-) .

                                        T 3 Antworten Letzte Antwort
                                        0
                                        • rrov1R rrov1

                                          @tklein Hallo, ich habe mir mein "Machwerk" gleich noch mal angeschaut:

                                          zu 1.: Du hast die Aufzeichnung intuitiv richtig konfiguriert (habe ich auch so, nur SQL-Adapter). Mein Script ist an der Stelle dumm, wenn es läuft, dann sendet es tatsächlich bei jedem Aufruf alle Werte des SwimSpa/Whirlpool an den ioBroker. Es weiß nicht was es im vorigen Aufruf gesendet hat und es fragt die States auch vor dem senden nicht ab und sendet nur die Änderungen. Da verlasse ich mich auf den ioBroker, das er echte Änderungen bemerkt.
                                          Ich habe bei mir kein InfluxDB, sondern eine MariaDB (ist praktisch mySQL) im Einsatz. Damit ich mal testen kann, welche Version von InfluxDB und Adapter verwendest du?

                                          zu 2.: Ok, das ist suboptimal. Ich habe mal bei mir geprüft und festgestellt, dass ich das Licht zuletzt am 31.10. an hatte. Hier hätte ich folgende Idee:

                                          • Ich gehe mal davon aus, das du den REST Api Adapter nur für mein Script nutzt
                                          • Stelle die REST Api Instanz mal für eine Nacht in den Loglevel: DEBUG
                                          • Check die Logfiles zu dem Zeitpunkt wo dein Trigger eine falsche Meldung macht, was über das REST Api für ein Wert reinkam.

                                          Damit könne wir erst mal prüfen, ob die Werte vom Script sauber beim REST Api ankommen.

                                          zu 3.: Die "Is_On"-States sind vom Datentyp her Boolean, sprich ioBroker hält true/false als Wert. Schon On/Off wäre nur eine Interpretation davon aus meiner Sicht. In mySQL landet wirklich nur true/false in der DB, das Python Script schickt auch nur diesen Wert an das REST Api.

                                          >> Kann es sein, dass auch mal werte != on/off bzw treu/false in die DP geschrieben werden?
                                          Theoretisch nein, also 99,99%, ist ein Stück Python Code drinnen, das ist nicht so meine Welt ;-) .

                                          T Offline
                                          T Offline
                                          tklein
                                          schrieb am zuletzt editiert von
                                          #40

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

                                          @tklein Hallo, ich habe mir mein "Machwerk" gleich noch mal angeschaut:

                                          zu 1.: Du hast die Aufzeichnung intuitiv richtig konfiguriert (habe ich auch so, nur SQL-Adapter). Mein Script ist an der Stelle dumm, wenn es läuft, dann sendet es tatsächlich bei jedem Aufruf alle Werte des SwimSpa/Whirlpool an den ioBroker. Es weiß nicht was es im vorigen Aufruf gesendet hat und es fragt die States auch vor dem senden nicht ab und sendet nur die Änderungen. Da verlasse ich mich auf den ioBroker, das er echte Änderungen bemerkt.
                                          Ich habe bei mir kein InfluxDB, sondern eine MariaDB (ist praktisch mySQL) im Einsatz. Damit ich mal testen kann, welche Version von InfluxDB und Adapter verwendest du?

                                          --> Ich nutze Influx DB 1.6.4 und der Influxadapter v3.2.0. Sofern es keine Wertänderung gibt, sllte eigentlich kein Wert geschrieben werden. Soweit die Theorie :-)

                                          zu 2.: Ok, das ist suboptimal. Ich habe mal bei mir geprüft und festgestellt, dass ich das Licht zuletzt am 31.10. an hatte. Hier hätte ich folgende Idee:

                                          • Ich gehe mal davon aus, das du den REST Api Adapter nur für mein Script nutzt
                                          • Stelle die REST Api Instanz mal für eine Nacht in den Loglevel: DEBUG
                                          • Check die Logfiles zu dem Zeitpunkt wo dein Trigger eine falsche Meldung macht, was über das REST Api für ein Wert reinkam.

                                          Damit könne wir erst mal prüfen, ob die Werte vom Script sauber beim REST Api ankommen.

                                          --> Habe auf Debug umgestellt. Nutzer die aber noch für weitere Services (geofancy, Shelly i3 triggert dp etc.)
                                          "Damit könne wir erst mal prüfen, ob die Werte vom Script sauber beim REST Api ankommen" --> das log war ja "sauber" dennoch wurde der trigger block aufgerufen. was mir heute u.a aufgefallen ist, dass das licht öfters falsch an/aus per trigger geschaltet wurde, whrend zu der gleichen zeit die zirkuationspumpe wirklich geschaltet wurde

                                          zu 3.: Die "Is_On"-States sind vom Datentyp her Boolean, sprich ioBroker hält true/false als Wert. Schon On/Off wäre nur eine Interpretation davon aus meiner Sicht. In mySQL landet wirklich nur true/false in der DB, das Python Script schickt auch nur diesen Wert an das REST Api.

                                          >> Kann es sein, dass auch mal werte != on/off bzw treu/false in die DP geschrieben werden?
                                          Theoretisch nein, also 99,99%, ist ein Stück Python Code drinnen, das ist nicht so meine Welt ;-) .

                                          Bin gespannt, wie es weitergeht :-)

                                          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

                                          539

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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