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.
    • T
      tklein @rrov1 last edited by

      @rrov1 Hi, es wird immer besser.Jetzt klappt das schalten prinzipiell per DP. Nur nicht jedes mal. Kann es sein, dass es Probleme gibt, wenn gerade der minütliche Updatecron läuft?

      Kommandozeile (noch mit meinen Debug LOG-Ausgaben:

      pi@raspberrypi-iob:~/wellis/v4 $ python3.10 /home/pi/wellis/v4/spa_switchPump.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 1 0 javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Switch
      pfad: ['/home/pi/wellis/v4', '/usr/local/lib/python310.zip', '/usr/local/lib/python3.10', '/usr/local/lib/python3.10/lib-dynload', '/home/pi/.local/lib/python3.10/site-packages', '/usr/local/lib/python3.10/site-packages']
      current version: 3.10.9 (main, Jan  7 2023, 17:15:23) [GCC 8.3.0]
      interpreter directory: /usr/local/bin/python3.10
      Log 1
      Log 2
      Log 3
      Log 4
      Total arguments passed: 6
      Log 5
      Connecting using client id 916b0096-ab56-4344-8728-43a8259c63c2
      Connecting to spa id SPAe8:eb:1b:1c:5e:46
      Switching pump id 1
      Switching pump to state id 0
      Got channel for update: javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Switch
      Log A
      Looking for spas on your network ...
      2023-02-23 08:40:42,631> INFO Found 1 spas ... [Wellness(SPAe8:eb:1b:1c:5e:46)]
      *** connecting to spa
      *** pump name: Pump 2
      *** pump modes: ['OFF', 'LO', 'HI']
      *** current pump mode: OFF
      *** new pump state name: OFF
      *** found: 3 pumps
      *** nothing to do, pump mode is already: OFF
      *** end
      

      DP:

      31288	2023-02-23 08:43:19.604	info	script.js.common.Draussen.Wellis_Whirlpool.PumpSwitches: *** setting state of:javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Switch to old value: 2
      31288	2023-02-23 08:43:19.603	info	script.js.common.Draussen.Wellis_Whirlpool.PumpSwitches: *** stderr: Error: Command failed: /usr/local/bin/python3.10 /home/pi/wellis/v4/spa_switchPump.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 0 0 javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1 2023-02-23 08:43:08,684> INFO Found 1 spas ... [Wellness(SPAe8:eb:1b:1c:5e:46)] 2023-02-23 08:43:18,691> ERROR Exception during spa connection Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/geckolib/async_spa.py", line 367, in connect await self._connect() File "/usr/local/lib/python3.10/site-packages/geckolib/async_spa.py", line 334, in _connect if not await self.struct.get( File "/usr/local/lib/python3.10/site-packages/geckolib/driver/async_spastruct.py", line 75, in get if await request.wait_for_response(protocol): File "/usr/local/lib/python3.10/site-packages/geckolib/driver/udp_protocol_handler.py", line 143, in wait_for_response await asyncio.sleep(GeckoConstants.ASYNCIO_SLEEP_TIMEOUT_FOR_YIELD) File "/usr/local/lib/python3.10/asyncio/tasks.py", line 605, in sleep return await future asyncio.exceptions.CancelledError Traceback (most recent call last): File "/home/pi/wellis/v4/spa_switchPump.py", line 132, in <module> asyncio.run(main()) File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/home/pi/wellis/v4/spa_switchPump.py", line 76, in main print(f"*** pump name: {spaman.facade.pumps[PUMP_ID].name}") AttributeError: 'NoneType' object has no attribute 'pumps'
      31288	2023-02-23 08:43:19.602	info	script.js.common.Draussen.Wellis_Whirlpool.PumpSwitches: *** stdout: pfad: ['/home/pi/wellis/v4', '/usr/local/lib/python310.zip', '/usr/local/lib/python3.10', '/usr/local/lib/python3.10/lib-dynload', '/usr/local/lib/python3.10/site-packages'] current version: 3.10.9 (main, Jan 7 2023, 17:15:23) [GCC 8.3.0] interpreter directory: /usr/local/bin/python3.10 Log 1 Log 2 Log 3 Log 4 Total arguments passed: 6 Log 5 Connecting using client id 916b0096-ab56-4344-8728-43a8259c63c2 Connecting to spa id SPAe8:eb:1b:1c:5e:46 Switching pump id 0 Switching pump to state id 0 Got channel for update: javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1 Log A Looking for spas on your network ... *** connecting to spa
      31288	2023-02-23 08:43:03.936	info	script.js.common.Draussen.Wellis_Whirlpool.PumpSwitches: *** new pump state: 0
      31288	2023-02-23 08:43:03.936	info	script.js.common.Draussen.Wellis_Whirlpool.PumpSwitches: *** pump id: 0
      31288	2023-02-23 08:43:03.936	info	script.js.common.Draussen.Wellis_Whirlpool.PumpSwitches: *** spaId: SPAe8:eb:1b:1c:5e:46
      31288	2023-02-23 08:43:03.935	info	script.js.common.Draussen.Wellis_Whirlpool.PumpSwitches: *** clientId: 916b0096-ab56-4344-8728-43a8259c63c2
      31288	2023-02-23 08:43:00.103	info	script.js.common.Draussen.Wellis_Whirlpool.get_updates_by_cron: exec: python3 /home/pi/wellis/v4/spa_updateBulk.py
      31288	2023-02-23 08:42:33.054	info	script.js.common.Draussen.Wellis_Whirlpool.PumpSwitches: *** stdout: pfad: ['/home/pi/wellis/v4', '/usr/local/lib/python310.zip', '/usr/local/lib/python3.10', '/usr/local/lib/python3.10/lib-dynload', '/usr/local/lib/python3.10/site-packages'] current version: 3.10.9 (main, Jan 7 2023, 17:15:23) [GCC 8.3.0] interpreter directory: /usr/local/bin/python3.10 Log 1 Log 2 Log 3 Log 4 Total arguments passed: 6 Log 5 Connecting using client id 916b0096-ab56-4344-8728-43a8259c63c2 Connecting to spa id SPAe8:eb:1b:1c:5e:46 Switching pump id 0 Switching pump to state id 1 Got channel for update: javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1 Log A Looking for spas on your network ... *** connecting to spa *** pump name: Pump 1 *** pump modes: ['OFF', 'LO', 'HI'] *** current pump mode: HI *** new pump state name: LO *** found: 3 pumps *** pump mode is now: HI *** end
      

      Hier hatte es nicht geklappt.

      Blockly:

      31288	2023-02-23 08:47:22.093	warn	script.js.common.Draussen.Wellis_Whirlpool.Pumpe_1_schalten: pfad: ['/home/pi/wellis/v4', '/usr/local/lib/python310.zip', '/usr/local/lib/python3.10', '/usr/local/lib/python3.10/lib-dynload', '/usr/local/lib/python3.10/site-packages'] current version: 3.10.9 (main, Jan 7 2023, 17:15:23) [GCC 8.3.0] interpreter directory: /usr/local/bin/python3.10 Log 1 Log 2 Log 3 Log 4 Total arguments passed: 6 Log 5 Connecting using client id 916b0096-ab56-4344-8728-43a8259c63c2 Connecting to spa id SPAe8:eb:1b:1c:5e:46 Switching pump id 1 Switching pump to state id 2 Got channel for update: javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Switch Log A Looking for spas on your network ... *** connecting to spa
      31288	2023-02-23 08:47:07.243	info	script.js.common.Draussen.Wellis_Whirlpool.Pumpe_1_schalten: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      31288	2023-02-23 08:47:07.242	warn	script.js.common.Draussen.Wellis_Whirlpool.Pumpe_1_schalten: exec: /usr/local/bin/python3.10 /home/pi/wellis/v4/spa_switchPump.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 1 2 javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Switch
      31288	2023-02-23 08:47:07.106	info	Start javascript script.js.common.Draussen.Wellis_Whirlpool.Pumpe_1_schalten
      

      Es wird 🙂 Juhu!!

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

        @rrov1 für das Licht, werde ich die neuese Version ziehen.

        Versuch A:

        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:14:15.874	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: *** setting state of:javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Switch to old value: true
        31288	2023-02-23 09:14:15.873	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: *** stderr: Error: Command failed: /usr/local/bin/python3.10 /home/pi/wellis/v4/spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI 2023-02-23 09:14:05,767> INFO Found 1 spas ... [Wellness(SPAe8:eb:1b:1c:5e:46)] 2023-02-23 09:14:15,772> ERROR Exception during spa connection Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/geckolib/async_spa.py", line 367, in connect await self._connect() File "/usr/local/lib/python3.10/site-packages/geckolib/async_spa.py", line 334, in _connect if not await self.struct.get( File "/usr/local/lib/python3.10/site-packages/geckolib/driver/async_spastruct.py", line 75, in get if await request.wait_for_response(protocol): File "/usr/local/lib/python3.10/site-packages/geckolib/driver/udp_protocol_handler.py", line 143, in wait_for_response await asyncio.sleep(GeckoConstants.ASYNCIO_SLEEP_TIMEOUT_FOR_YIELD) File "/usr/local/lib/python3.10/asyncio/tasks.py", line 605, in sleep return await future asyncio.exceptions.CancelledError Traceback (most recent call last): File "/home/pi/wellis/v4/spa_toggleLight.py", line 103, in <module> asyncio.run(main()) File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/home/pi/wellis/v4/spa_toggleLight.py", line 55, in main if len(spaman.facade.lights) > 0: AttributeError: 'NoneType' object has no attribute 'lights'
        31288	2023-02-23 09:14:15.872	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: *** stdout: pfad: ['/home/pi/wellis/v4', '/usr/local/lib/python310.zip', '/usr/local/lib/python3.10', '/usr/local/lib/python3.10/lib-dynload', '/usr/local/lib/python3.10/site-packages'] current version: 3.10.9 (main, Jan 7 2023, 17:15:23) [GCC 8.3.0] interpreter directory: /usr/local/bin/python3.10 Total arguments passed: 5 Connecting using client id 916b0096-ab56-4344-8728-43a8259c63c2 Connecting to spa id SPAe8:eb:1b:1c:5e:46 Switching light: LI Got channel for update: javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI Looking for spas on your network ... *** connecting to spa
        31288	2023-02-23 09:14:01.016	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:14:01.016	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: *** light key: LI
        31288	2023-02-23 09:14:01.016	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: *** spaId: SPAe8:eb:1b:1c:5e:46
        31288	2023-02-23 09:14:01.015	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: *** clientId: 916b0096-ab56-4344-8728-43a8259c63c2
        

        Versuch B:

        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:12:48.661	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: python3 spa_toggleLight.py 916b0096-ab56-4344-8728-43a8259c63c2 SPAe8:eb:1b:1c:5e:46 LI javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI
        31288	2023-02-23 09:15:34.232	info	script.js.common.Draussen.Wellis_Whirlpool.LightToggle: *** stdout: pfad: ['/home/pi/wellis/v4', '/usr/local/lib/python310.zip', '/usr/local/lib/python3.10', '/usr/local/lib/python3.10/lib-dynload', '/usr/local/lib/python3.10/site-packages'] current version: 3.10.9 (main, Jan 7 2023, 17:15:23) [GCC 8.3.0] interpreter directory: /usr/local/bin/python3.10 Total arguments passed: 5 Connecting using client id 916b0096-ab56-4344-8728-43a8259c63c2 Connecting to spa id SPAe8:eb:1b:1c:5e:46 Switching light: LI Got channel for update: javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI Looking for spas on your network ... *** connecting to spa *** light count: 1 *** found light with key LI and name: Lights with state True *** switching light off *** light mode is now: False *** end
        
        
        rrov1 1 Reply Last reply Reply Quote 0
        • rrov1
          rrov1 @tklein last edited by

          @tklein Na sieht doch gut aus. Ich habe mir die beiden Fehler angeschaut, da kannst du momentan nichts machen, die passieren ggf. in allen *.py-Skripten. Hier muss ich noch das Fehlerhandling verbessern, steht auf der ToDo Liste als nächstes, weil mich das auch nervt. Ich würde dieses WE aber erst mal das Ändern des Wasserpflegemodus noch fertig machen, weil das schon halbfertig rumliegt und ich dann glaub ich erst mal alle grundsätzlichen Sachen die man man so können muss fertig habe.

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

            @rrov1 ok, bei den remindern gibt es auch noch herausforderungen bei mir. 🙂 da kommt immer anzahl 0

            Es wird nicht langweilig. 🙂
            Was hälst du von Versionsnummern in den Skripten?

            LG
            Thomas

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

              @tklein Dringe

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

              @rrov1 ok, bei den remindern gibt es auch noch herausforderungen bei mir. 🙂 da kommt immer anzahl 0
              Es wird nicht langweilig. 🙂
              Was hälst du von Versionsnummern in den Skripten?

              Jup, dringend nötig :-), sowohl auf Javascript als auch auf Python Ebene.

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

                @rrov1 So, den Wasserpflegemodus kann man jetzt auch setzen:

                • Im Javascript Adapter: WatercareMode.js hinzufügen
                • Neues Script: spa_setWatercareMode.py (Parameter: ClientGUID SpaId waterCareModeIdx DevicePath) bereitstellen und die IP vom ioBroker nicht vergessen dort einzutragen.

                Wichtig: Ich habe gesehen, das es eine neue Version 0.4.8 der geckolib gibt. Ich werde diese einsetzen (ab nächste Woche), bitte mal aktualisieren. Bei mir war ein:

                pip install geckolib --upgrade
                

                fällig, bei Dir evtl. mit vorangestellten "sudo"...

                Ich werde

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

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

                  pip install geckolib --upgrade

                  thx, das update hat geklappt. Habe jetzt auch die 0.4.8 Version. WaterCareMode werde ich wahrscheinlich erst später mal mit einer PV Anlage nutzen.

                  Kannst du mir bitte dennoch einen exemplarischen Aufruf zum Wassermode posten? Das kann ich nicht so richtig greifen?
                  --> "waterCareModeIdx" Wäre das z.B. Energy Saving. Müssen die in "" stehen?
                  --> ist das der korrekte/angedachte Devicepath? javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeSwitch

                   sudo pip3 install geckolib --upgrade
                  Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
                  Collecting geckolib
                    Downloading https://files.pythonhosted.org/packages/95/b5/6b1293493ddbcef8c576a68adf05cdcc40b9387619507179d3b4607beabd/geckolib-0.4.8-py3-none-any.whl (1.2MB)
                      100% |████████████████████████████████| 1.2MB 341kB/s
                  Requirement already satisfied, skipping upgrade: python-version>="3.7" in /usr/local/lib/python3.7/dist-packages (from geckolib) (0.0.2)
                  Installing collected packages: geckolib
                    Found existing installation: geckolib 0.4.7
                      Uninstalling geckolib-0.4.7:
                        Successfully uninstalled geckolib-0.4.7
                  Successfully installed geckolib-0.4.8
                  
                  
                  T rrov1 2 Replies Last reply Reply Quote 0
                  • T
                    tklein @tklein last edited by

                    Der Teufel steckt im Detail.

                    Wenn ich die Zeiltemp per DP ändere, wird der immer mit dem Ergebnis aus dem API Call überschrieben. (A,B,D)
                    Wenn die Zieltemp per Kommandozeile geändert wird, bleibt der Wert. (C)

                    6ef0253b-46d8-4bda-8b0a-dda865249245-grafik.png

                    Dann muss ich noch die Herausforderung meistern, dass Alexa den Temeperaturwert (per iot Adapter als Thermostat) nicht korrekt übernimmt. Wert sollte z.B. 38 Grad sein, dann wird der auf 24,5 gesetzt. Das hat aber ja nix mit deinem Code zu tun.

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

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

                      Kannst du mir bitte dennoch einen exemplarischen Aufruf zum Wassermode posten? Das kann ich nicht so richtig greifen?

                      waterCareModeIdx: Schau mal in den Datenpunkt "WasserpflegeModi". Dort sollten 5 Werte drinnen stehen, das sind die wählbaren Wasserpflegemodi. Der Index ist praktisch 0 basiert, also der erste Wert "Away from Home" == 0, die weiteren dann 1-4.
                      185ebbaa-c90b-4d88-8dfe-8330bf616ab0-image.png

                      devicePath: Schau mal im Objektbaum die Spalte Type an, das Device ist der Pfad: javascript.0.Datenpunkte.SwimSpa.0
                      e364a9e4-7942-4050-a3fb-bf9b01c95e74-image.png
                      ioBroker kennt da einige Typen, bei mir kommen 4 vor:
                      folder - einfach nur eine Ebene im Baum
                      device - der Pfad zum Spa Controller Gerät
                      channel - ein Pfad unter dem einige states gleichen Typs gruppiert werden, z.B. Pumpen, Erinnerungen, Lichter, ...
                      state - der Datenpunkt der einen tatsächlichen Wert enthält.

                      Manchmal, wenn ich in meinen Scripten mehrere States auf einmal setzen möchte (in dem Fall die DP Wasserpflege und WasserpflegeSwitch), dann übergebe ich dem Script den übergeordneten Pfad und ergänze dann nur noch die Namen der Datenpunkte. Wenn ich nur einen Datenpunkt aktualisieren will (Zieltemperatur), dann übergebe ich dem Skript den Namen des Datenpunktes.

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

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

                        Wenn ich die Zeiltemp per DP ändere, wird der immer mit dem Ergebnis aus dem API Call überschrieben. (A,B,D)
                        Wenn die Zieltemp per Kommandozeile geändert wird, bleibt der Wert. (C)

                        Ich bin mir gerade nicht sicher ob ich dich richtig verstehe. Meine Vermutung ist, das du beim setzen des Datenpunktes zusätzlich ack=true mitgibst (zumindest die Fälle A&D). Da passiert aber nichts. Ich halte mich an die ioBroker Logik, nach der ein "GUI"-Element den Datenpunkt setzt mit ack=false (das ist der Default, wenn man nichts mitgibt). Nur in dem Fall wird über die on()-Subscription ein Script ausgelöst, was tatsächlich eine Aktion auf dem Zielgerät (Spa Controller) auslöst und, wenn erfolgreich, den Datenpunkt noch mal mit dem neuen Wert und ack=true setzt.

                        Prüfe bitte auch im Protokoll, ob mein Script nach setzen der neuen Zieltemperatur wirklich aufgerufen wird.

                        Alexa igrnoriere ich seit über einen Jahr, die ist so umständlich und versteht mich nicht zuverlässig genug.

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

                          @rrov1 ja es war ack = true das Problem. Wie immer sehr gut und verständlich erklärt.

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

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

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

                            Kannst du mir bitte dennoch einen exemplarischen Aufruf zum Wassermode posten? Das kann ich nicht so richtig greifen?

                            waterCareModeIdx: Schau mal in den Datenpunkt "WasserpflegeModi". Dort sollten 5 Werte drinnen stehen, das sind die wählbaren Wasserpflegemodi. Der Index ist praktisch 0 basiert, also der erste Wert "Away from Home" == 0, die weiteren dann 1-4.
                            185ebbaa-c90b-4d88-8dfe-8330bf616ab0-image.png

                            devicePath: Schau mal im Objektbaum die Spalte Type an, das Device ist der Pfad: javascript.0.Datenpunkte.SwimSpa.0
                            e364a9e4-7942-4050-a3fb-bf9b01c95e74-image.png
                            ioBroker kennt da einige Typen, bei mir kommen 4 vor:
                            folder - einfach nur eine Ebene im Baum
                            device - der Pfad zum Spa Controller Gerät
                            channel - ein Pfad unter dem einige states gleichen Typs gruppiert werden, z.B. Pumpen, Erinnerungen, Lichter, ...
                            state - der Datenpunkt der einen tatsächlichen Wert enthält.

                            Manchmal, wenn ich in meinen Scripten mehrere States auf einmal setzen möchte (in dem Fall die DP Wasserpflege und WasserpflegeSwitch), dann übergebe ich dem Script den übergeordneten Pfad und ergänze dann nur noch die Namen der Datenpunkte. Wenn ich nur einen Datenpunkt aktualisieren will (Zieltemperatur), dann übergebe ich dem Skript den Namen des Datenpunktes.

                            ach so, quasi ein batchänderung wobei der passenste "root"-ordner übergeben wird.

                            Fühl dich eingeladen, wenn du mal im Raum MS/OS unterwegs bist. Lege gerne etwas auf den Grill oder es gibt einen Cappuchino etc. Danke für die unzähligen erstklassigen Hilfestellungen!

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

                              @tklein Danke für die Einladung. Ich helfe doch gerne und das Forum ist ja auch dazu da etwas Wissen zu teilen. Wenn ich mal ne Frage habe, hoffe ich ja auch, das man mir hilft. Außerdem habe ich so einen Grund an der Steuerung zu feilen, nur für mich hätte wahrscheinlich das auslesen der Parameter gereicht und es hätte so noch die nächsten x Jahre rumgelegen.
                              Ich versuche jetzt erst mal die gleichzeitigen Abfragen auszuschließen, so das keine Fehler mehr bei den Aufrufen auftreten. Ich denke ich habe da einen Ansatz.

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

                                @tklein Hallo, es hat zwar ein bisschen gedauert, aber ich habe jetzt ein größeres Update der Skripte fertig, das ein die aus meiner Sicht wichtigsten Defizite erst mal bereinigt:

                                • keine Konstanten in den Python Skripten mehr (alles wird per Parameter übergeben)
                                • kein cron Schedule mehr, sondern alles in ioBroker-Schedules
                                • Die Skripte passen auf, das nicht mehrere gleichzeitig laufen (da der Spa Controller mit mehreren gleichzeitigen Anfragen nicht zurecht kommt)

                                Das Update liegt auf github. Beim Einspielen vorgehen wie dort beschrieben:

                                1. SpaGlobal.js bereitstellen
                                2. SpaVariablen.js aktualisieren und ausführen, da sich die Datenpunkte geändert haben
                                3. Die Skripte für die Konfiguration (SpaUpdateConfig.js + spa_config.py, sowie SpaUpdateValues.js + spa_updateBulk.px) austauschen und testen
                                4. Weitere Skripte für das Schalten verschiedener Funktionen austauschen (jeweils Javascript und Python, wie in der Doku) und testen

                                Was noch nicht geht sind die Erinnerungen. Ich habe leider auch kein Feedback auf meine Frage bekommen, die geckolib kann die Werte nicht auslesen 😞 .

                                Schönes WE,

                                rrov1

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

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

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

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

                                    Bernd

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

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

                                      Konni1234 created this issue in ioBroker/AdapterRequests

                                      open Gecko intouch2 Whirlpoolcontrol #720

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

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

                                        Herzliche Grüße
                                        Bernd

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

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

                                          Ist aber ganz leicht zu beheben für dich:

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

                                          Ab diesem Zeitpunkt sollte der Fehler nicht mehr auftauchen.

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

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

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

                                          Ich hoffe das hilft Dir weiter.

                                          rrov1

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

                                            @rrov1 Hallo,

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

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

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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            795
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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