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
    343

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • 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
184 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.
  • 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
        • 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 tklein
          #41

          @rrov1 zu 2)

          219bf503-5e0e-467c-bf4d-1445af4ea6f5-grafik.png

          Habe die den javascript error drin gelassen und jetzt auch für die zirkulation hinzugefügt (zukünftig sollte dann auch der eintrag "zirkulation wurde.." als eror im log stehen.

          Nicht wundern, Ich trigger per blockly einen minütlichen cron zum aufruf deines scripts. den eintrag mach ich evtl. später in der crontab.

          Hier die Logs dazu:

          2023-01-17 00:00:00.127  - warn: javascript.0 (25569) script.js.common.Draussen.Wellis_Whirlpool.get_updates_by_cron: exec: python3 /home/pi/wellis/spa_updateBulk.py
          2023-01-17 00:00:10.205  - debug: simple-api.0 (28218) POST-setBulk: body = javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit=%C2%B0C& javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur=37.0& javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur=37.0& javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur=37.0& javascript.0.Datenpunkte.SwimSpa.0.Heizer=Idle& javascript.0.Datenpunkte.SwimSpa.0.Wasserpflege=Standard& javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeModi=['Abwesend', 'Standard', 'Energiesparen', 'Energiesparen Plus', 'Wochenende']& javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeIndex=1& javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus=OFF& javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus=OFF& javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On=false& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State=on& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State=off& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State=false& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State=false& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State=false
          2023-01-17 00:00:10.210  - debug: simple-api.0 (28218) POST-setBulk: values = {"user":"system.user.admin","javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit":"°C","javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur":"37.0","javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur":"37.0","javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur":"37.0","javascript.0.Datenpunkte.SwimSpa.0.Heizer":"Idle","javascript.0.Datenpunkte.SwimSpa.0.Wasserpflege":"Standard","javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeModi":"['Abwesend', 'Standard', 'Energiesparen', 'Energiesparen Plus', 'Wochenende']","javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeIndex":"1","javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus":"OFF","javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus":"OFF","javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On":"false","javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State":"on","javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State":"off","javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State":"false","javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State":"false","javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State":"false"}
          2023-01-17 00:00:10.211  - debug: simple-api.0 (28218) 0: "javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit"
          2023-01-17 00:00:10.211  - debug: simple-api.0 (28218) 1: "javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur"
          2023-01-17 00:00:10.211  - debug: simple-api.0 (28218) 2: "javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur"
          2023-01-17 00:00:10.211  - debug: simple-api.0 (28218) 3: "javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur"
          2023-01-17 00:00:10.211  - debug: simple-api.0 (28218) 4: "javascript.0.Datenpunkte.SwimSpa.0.Heizer"
          2023-01-17 00:00:10.211  - debug: simple-api.0 (28218) 5: "javascript.0.Datenpunkte.SwimSpa.0.Wasserpflege"
          2023-01-17 00:00:10.211  - debug: simple-api.0 (28218) 6: "javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeModi"
          2023-01-17 00:00:10.212  - debug: simple-api.0 (28218) 7: "javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeIndex"
          2023-01-17 00:00:10.212  - debug: simple-api.0 (28218) 8: "javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus"
          2023-01-17 00:00:10.212  - debug: simple-api.0 (28218) 9: "javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus"
          2023-01-17 00:00:10.212  - debug: simple-api.0 (28218) 10: "javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On"
          2023-01-17 00:00:10.212  - debug: simple-api.0 (28218) 11: "javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State"
          2023-01-17 00:00:10.212  - debug: simple-api.0 (28218) 12: "javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State"
          2023-01-17 00:00:10.212  - debug: simple-api.0 (28218) 13: "javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State"
          2023-01-17 00:00:10.213  - debug: simple-api.0 (28218) 14: "javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State"
          2023-01-17 00:00:10.213  - debug: simple-api.0 (28218) 15: "javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State"
          2023-01-17 00:00:10.218  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit, oid=Temperatureinheit, used=javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit, value=°C
          2023-01-17 00:00:10.219  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur, oid=AktuelleTemperatur, used=javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur, value=37.0
          2023-01-17 00:00:10.219  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur, oid=ZielTemperatur, used=javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur, value=37.0
          2023-01-17 00:00:10.220  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur, oid=EchteZielTemperatur, used=javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur, value=37.0
          2023-01-17 00:00:10.220  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Heizer, oid=Heizer, used=javascript.0.Datenpunkte.SwimSpa.0.Heizer, value=Idle
          2023-01-17 00:00:10.221  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Wasserpflege, oid=Wasserpflege, used=javascript.0.Datenpunkte.SwimSpa.0.Wasserpflege, value=Standard
          2023-01-17 00:00:10.221  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeModi, oid=WasserpflegeModi, used=javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeModi, value=['Abwesend', 'Standard', 'Energiesparen', 'Energiesparen Plus', 'Wochenende']
          2023-01-17 00:00:10.222  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeIndex, oid=WasserpflegeIndex, used=javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeIndex, value=1
          2023-01-17 00:00:10.223  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus, oid=Modus, used=javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus, value=OFF
          2023-01-17 00:00:10.223  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus, oid=Modus, used=javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus, value=OFF
          2023-01-17 00:00:10.224  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On, oid=Is_On, used=javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On, value=false
          2023-01-17 00:00:10.224  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State, oid=State, used=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State, value=on
          2023-01-17 00:00:10.225  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State, oid=State, used=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State, value=off
          2023-01-17 00:00:10.225  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State, oid=State, used=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State, value=false
          2023-01-17 00:00:10.226  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State, oid=State, used=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State, value=false
          2023-01-17 00:00:10.227  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State, oid=State, used=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State, value=false
          
          2023-01-17 00:00:10.973  - error: javascript.0 (25569) script.js.common.Draussen.Wellis_Whirlpool.status_licht_update: Spalicht wurde geschaltet: on
          
          2023-01-17 00:00:11.039  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit","val":"°C"}
          2023-01-17 00:00:11.040  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur","val":37}
          2023-01-17 00:00:11.041  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur","val":37}
          2023-01-17 00:00:11.041  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur","val":37}
          2023-01-17 00:00:11.041  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Heizer","val":"Idle"}
          2023-01-17 00:00:11.042  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Wasserpflege","val":"Standard"}
          2023-01-17 00:00:11.042  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeModi","val":"['Abwesend', 'Standard', 'Energiesparen', 'Energiesparen Plus', 'Wochenende']"}
          2023-01-17 00:00:11.043  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeIndex","val":1}
          2023-01-17 00:00:11.043  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus","val":"OFF"}
          2023-01-17 00:00:11.043  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus","val":"OFF"}
          2023-01-17 00:00:11.044  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On","val":false}
          2023-01-17 00:00:11.045  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State","val":"on"}
          2023-01-17 00:00:11.045  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State","val":"off"}
          2023-01-17 00:00:11.046  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State","val":false}
          2023-01-17 00:00:11.046  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State","val":false}
          2023-01-17 00:00:11.047  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State","val":false}
          
          2023-01-17 00:00:11.166  - debug: javascript.0 (25569) script.js.common.Draussen.Wellis_Whirlpool.get_updates_by_cron:  connected 200
          
          2023-01-17 00:01:00.094  - warn: javascript.0 (25569) script.js.common.Draussen.Wellis_Whirlpool.get_updates_by_cron: exec: python3 /home/pi/wellis/spa_updateBulk.py
          
          2023-01-17 00:01:10.063  - debug: simple-api.0 (28218) POST-setBulk: body = javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit=%C2%B0C& javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur=37.0& javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur=37.0& javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur=37.0& javascript.0.Datenpunkte.SwimSpa.0.Heizer=Idle& javascript.0.Datenpunkte.SwimSpa.0.Wasserpflege=Standard& javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeModi=['Abwesend', 'Standard', 'Energiesparen', 'Energiesparen Plus', 'Wochenende']& javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeIndex=1& javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus=OFF& javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus=OFF& javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On=false& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State=on& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State=off& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State=false& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State=false& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State=false
          2023-01-17 00:01:10.063  - debug: simple-api.0 (28218) POST-setBulk: values = {"user":"system.user.admin","javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit":"°C","javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur":"37.0","javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur":"37.0","javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur":"37.0","javascript.0.Datenpunkte.SwimSpa.0.Heizer":"Idle","javascript.0.Datenpunkte.SwimSpa.0.Wasserpflege":"Standard","javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeModi":"['Abwesend', 'Standard', 'Energiesparen', 'Energiesparen Plus', 'Wochenende']","javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeIndex":"1","javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus":"OFF","javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus":"OFF","javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On":"false","javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State":"on","javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State":"off","javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State":"false","javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State":"false","javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State":"false"}
          2023-01-17 00:01:10.064  - debug: simple-api.0 (28218) 0: "javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit"
          2023-01-17 00:01:10.064  - debug: simple-api.0 (28218) 1: "javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur"
          2023-01-17 00:01:10.064  - debug: simple-api.0 (28218) 2: "javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur"
          2023-01-17 00:01:10.065  - debug: simple-api.0 (28218) 3: "javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur"
          2023-01-17 00:01:10.065  - debug: simple-api.0 (28218) 4: "javascript.0.Datenpunkte.SwimSpa.0.Heizer"
          2023-01-17 00:01:10.065  - debug: simple-api.0 (28218) 5: "javascript.0.Datenpunkte.SwimSpa.0.Wasserpflege"
          2023-01-17 00:01:10.065  - debug: simple-api.0 (28218) 6: "javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeModi"
          2023-01-17 00:01:10.066  - debug: simple-api.0 (28218) 7: "javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeIndex"
          2023-01-17 00:01:10.066  - debug: simple-api.0 (28218) 8: "javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus"
          2023-01-17 00:01:10.066  - debug: simple-api.0 (28218) 9: "javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus"
          2023-01-17 00:01:10.066  - debug: simple-api.0 (28218) 10: "javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On"
          2023-01-17 00:01:10.066  - debug: simple-api.0 (28218) 11: "javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State"
          2023-01-17 00:01:10.066  - debug: simple-api.0 (28218) 12: "javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State"
          2023-01-17 00:01:10.067  - debug: simple-api.0 (28218) 13: "javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State"
          2023-01-17 00:01:10.067  - debug: simple-api.0 (28218) 14: "javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State"
          2023-01-17 00:01:10.067  - debug: simple-api.0 (28218) 15: "javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State"
          2023-01-17 00:01:10.068  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit, oid=Temperatureinheit, used=javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit, value=°C
          2023-01-17 00:01:10.069  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur, oid=AktuelleTemperatur, used=javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur, value=37.0
          2023-01-17 00:01:10.069  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur, oid=ZielTemperatur, used=javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur, value=37.0
          2023-01-17 00:01:10.070  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur, oid=EchteZielTemperatur, used=javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur, value=37.0
          2023-01-17 00:01:10.070  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Heizer, oid=Heizer, used=javascript.0.Datenpunkte.SwimSpa.0.Heizer, value=Idle
          2023-01-17 00:01:10.071  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Wasserpflege, oid=Wasserpflege, used=javascript.0.Datenpunkte.SwimSpa.0.Wasserpflege, value=Standard
          2023-01-17 00:01:10.072  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeModi, oid=WasserpflegeModi, used=javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeModi, value=['Abwesend', 'Standard', 'Energiesparen', 'Energiesparen Plus', 'Wochenende']
          2023-01-17 00:01:10.072  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeIndex, oid=WasserpflegeIndex, used=javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeIndex, value=1
          2023-01-17 00:01:10.073  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus, oid=Modus, used=javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus, value=OFF
          2023-01-17 00:01:10.073  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus, oid=Modus, used=javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus, value=OFF
          2023-01-17 00:01:10.074  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On, oid=Is_On, used=javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On, value=false
          2023-01-17 00:01:10.075  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State, oid=State, used=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State, value=on
          2023-01-17 00:01:10.076  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State, oid=State, used=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State, value=off
          2023-01-17 00:01:10.077  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State, oid=State, used=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State, value=false
          2023-01-17 00:01:10.077  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State, oid=State, used=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State, value=false
          2023-01-17 00:01:10.078  - debug: simple-api.0 (28218) POST-setBulk for id=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State, oid=State, used=javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State, value=false
          2023-01-17 00:01:10.285  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit","val":"°C"}
          2023-01-17 00:01:10.285  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur","val":37}
          2023-01-17 00:01:10.286  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur","val":37}
          2023-01-17 00:01:10.286  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur","val":37}
          2023-01-17 00:01:10.287  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Heizer","val":"Idle"}
          2023-01-17 00:01:10.287  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Wasserpflege","val":"Standard"}
          2023-01-17 00:01:10.287  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeModi","val":"['Abwesend', 'Standard', 'Energiesparen', 'Energiesparen Plus', 'Wochenende']"}
          2023-01-17 00:01:10.292  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.WasserpflegeIndex","val":1}
          2023-01-17 00:01:10.297  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus","val":"OFF"}
          2023-01-17 00:01:10.298  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus","val":"OFF"}
          2023-01-17 00:01:10.298  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On","val":false}
          2023-01-17 00:01:10.298  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State","val":"on"}
          2023-01-17 00:01:10.299  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State","val":"off"}
          2023-01-17 00:01:10.299  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State","val":false}
          2023-01-17 00:01:10.299  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State","val":false}
          2023-01-17 00:01:10.299  - debug: simple-api.0 (28218) Add to Response: {"id":"javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State","val":false}
          2023-01-17 00:01:10.445  - debug: javascript.0 (25569) script.js.common.Draussen.Wellis_Whirlpool.get_updates_by_cron:  connected 200
          

          Vielleicht wirst du daraus schlau.
          log_0_00.txt

          Brauchst du sonst weitere Infos?

          Gruß
          Thomas

          1 Antwort 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
            #42

            @rrov1 oh mann ich dummbatz. asche über mein haupt, sorry.

            beim durchsehen der logs ist mir aufgefallen, dass ich beim spalicht den falschen trigger/db hatte. den von der zirkulationspumpe. ohje...
            damit sollte der "bug" jetzt behoben sein.

            1 Antwort Letzte Antwort
            0
            • rrov1R Online
              rrov1R Online
              rrov1
              schrieb am zuletzt editiert von
              #43

              @tklein Hallo,
              zu 1: Das Logfile ist leider zu kurz, es enthält nur etwas mehr als 1 Minute, aber keinen Wechsel z.B. von der Filterpumpe. Bei mir im Testsetup mit Influx DB sehe ich "doppelte Datensätze" innerhalb von 1 Minute auch (aber ganz selten). Ich denke das lässt sich das hängt mit dem Intervall zusammen in dem das Script läuft. Ich vermute, die Pumpe läuft nur eine Minute. Deswegen siehst du:
              t == off
              t+1 == on
              t+2 == on
              t+3 == off
              Stell mal probehalber den Intervall im cron auf 15 Sekunden. Damit werden die Datenpunkte häufiger aktualisiert. Rein rechnerisch sollten dann mehrere Auslesevorgänge stattfinden zwischen den Werteänderungen.

              zu 2: :grin:, kann schon mal passieren bei den vielen Datenpunkten. Damit wäre ja auch 3) schon geklärt. Vergiss nicht den Adapter wieder in den Loglevel INFO zurückzustellen.

              War aber trotzdem gut, das ich gleich mal ein neues Testsystem hochgezogen habe, das Script zum erstellen der Datenpunkte ist an mancher Stelle sagen wir mal unsauber (Warnungen bzgl. falscher Datentypen bei den Defaultwerten) und ich habe gesehen, das ein paar States nicht gesetzt sind. Um letzteres zu erreichen lege ich dir mal ein Script bei, welches du sagen wir mal 1x die Woche aufrufen kannst: spa_config.py. Weiterhin habe ich gesehen, das die Reminder noch fehlen, die baue ich mal am WE mit ein und schick ein Update.

              T 1 Antwort Letzte Antwort
              0
              • rrov1R rrov1

                @tklein Hallo,
                zu 1: Das Logfile ist leider zu kurz, es enthält nur etwas mehr als 1 Minute, aber keinen Wechsel z.B. von der Filterpumpe. Bei mir im Testsetup mit Influx DB sehe ich "doppelte Datensätze" innerhalb von 1 Minute auch (aber ganz selten). Ich denke das lässt sich das hängt mit dem Intervall zusammen in dem das Script läuft. Ich vermute, die Pumpe läuft nur eine Minute. Deswegen siehst du:
                t == off
                t+1 == on
                t+2 == on
                t+3 == off
                Stell mal probehalber den Intervall im cron auf 15 Sekunden. Damit werden die Datenpunkte häufiger aktualisiert. Rein rechnerisch sollten dann mehrere Auslesevorgänge stattfinden zwischen den Werteänderungen.

                zu 2: :grin:, kann schon mal passieren bei den vielen Datenpunkten. Damit wäre ja auch 3) schon geklärt. Vergiss nicht den Adapter wieder in den Loglevel INFO zurückzustellen.

                War aber trotzdem gut, das ich gleich mal ein neues Testsystem hochgezogen habe, das Script zum erstellen der Datenpunkte ist an mancher Stelle sagen wir mal unsauber (Warnungen bzgl. falscher Datentypen bei den Defaultwerten) und ich habe gesehen, das ein paar States nicht gesetzt sind. Um letzteres zu erreichen lege ich dir mal ein Script bei, welches du sagen wir mal 1x die Woche aufrufen kannst: spa_config.py. Weiterhin habe ich gesehen, das die Reminder noch fehlen, die baue ich mal am WE mit ein und schick ein Update.

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

                @rrov1 mein Loggingscript kommt auch somit damit klar. (täglicher Reset)

                da39564f-82e0-4b2c-8219-3fd72a0d5202-grafik.png

                Bei der Laufzeit von der Zirkulationspumpe habe ich mir eine andere gekauft, die bei identischer Leistung die Hälfte verbraucht.

                Danke für das wöchentliche Updatescript. Werde ich mir mal anschauen und versuchen zu verstehen, was es macht. Ebenfalls Danke für die zukünftigen Erweiterungen. Eine Steuerung hast du nicht zufällig vor, oder? :-)

                Der DP "javascript.0.Datenpunkte.SwimSpa.actualPowerConsumption" wird bei dir separat von einem Script aktualisiert, oder?
                Der DP "javascript.0.Datenpunkte.SwimSpa.preferredHeating" ist vorhanden, falls mehrere SPA in einem Netzwerk sind?

                Gruß
                Thomas

                rrov1R 1 Antwort Letzte Antwort
                0
                • T tklein

                  @rrov1 mein Loggingscript kommt auch somit damit klar. (täglicher Reset)

                  da39564f-82e0-4b2c-8219-3fd72a0d5202-grafik.png

                  Bei der Laufzeit von der Zirkulationspumpe habe ich mir eine andere gekauft, die bei identischer Leistung die Hälfte verbraucht.

                  Danke für das wöchentliche Updatescript. Werde ich mir mal anschauen und versuchen zu verstehen, was es macht. Ebenfalls Danke für die zukünftigen Erweiterungen. Eine Steuerung hast du nicht zufällig vor, oder? :-)

                  Der DP "javascript.0.Datenpunkte.SwimSpa.actualPowerConsumption" wird bei dir separat von einem Script aktualisiert, oder?
                  Der DP "javascript.0.Datenpunkte.SwimSpa.preferredHeating" ist vorhanden, falls mehrere SPA in einem Netzwerk sind?

                  Gruß
                  Thomas

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

                  @tklein Hallo, ich habe hier einen SwimSpa stehen, der 2 unabhängige Steuerungen hat. Der DP:

                  • actualPowerConsumption wird von einem anderen Script gesetzt (ich fand es nur praktisch den Wert gleich hier mit anzusiedeln),
                  • automaticHeating, preferredHeating und preferredHeatingName brauche ich für ein separates Script mit dem ich je nach Verfügbarkeit von Solarstrom die Heizung aktiviere (automaticHeating), steuere welche der beiden Heizungen aktiviert wird (preferredHeating) und preferredHeatingName ist nur für die Visualiserung.

                  Mit dem letzten Punkt geht eine Steuerung schon einher, sprich ich habe aktuell Python Scripte, die den Wasserpflegemodus setzen (Standard oder Abwesend). Ich hatte sogar die Nachführung der Temperatur schon mit drinnen, hat sich aber als nicht so praktisch erwiesen (der leidige WAF).

                  Was möchtest du denn steuern? Pumpen, Licht? Sollte nicht das Problem darstellen, Template habe ich, muss es nur aufhübschen. Ist alles noch so auf dem Level, geschrieben, getestet, läuft.

                  T 2 Antworten Letzte Antwort
                  0
                  • rrov1R rrov1

                    @tklein Hallo, ich habe hier einen SwimSpa stehen, der 2 unabhängige Steuerungen hat. Der DP:

                    • actualPowerConsumption wird von einem anderen Script gesetzt (ich fand es nur praktisch den Wert gleich hier mit anzusiedeln),
                    • automaticHeating, preferredHeating und preferredHeatingName brauche ich für ein separates Script mit dem ich je nach Verfügbarkeit von Solarstrom die Heizung aktiviere (automaticHeating), steuere welche der beiden Heizungen aktiviert wird (preferredHeating) und preferredHeatingName ist nur für die Visualiserung.

                    Mit dem letzten Punkt geht eine Steuerung schon einher, sprich ich habe aktuell Python Scripte, die den Wasserpflegemodus setzen (Standard oder Abwesend). Ich hatte sogar die Nachführung der Temperatur schon mit drinnen, hat sich aber als nicht so praktisch erwiesen (der leidige WAF).

                    Was möchtest du denn steuern? Pumpen, Licht? Sollte nicht das Problem darstellen, Template habe ich, muss es nur aufhübschen. Ist alles noch so auf dem Level, geschrieben, getestet, läuft.

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

                    @rrov1 alles klar.

                    für die Steuerung wären folgende Befehle top:

                    • Pumpe 1 an/aus
                    • Pumpe 2 an/aus
                    • Zirkulation an/aus
                    • Setzen der Zieltemperatur
                    • evtl global Heizung an/aus
                    • Licht an/aus
                    • Farbe/Helligkeit je Zone (bei Nutzung des Moduls "in mix 300")

                    LG
                    Thomas

                    1 Antwort Letzte Antwort
                    0
                    • rrov1R rrov1

                      @tklein Hallo, ich habe hier einen SwimSpa stehen, der 2 unabhängige Steuerungen hat. Der DP:

                      • actualPowerConsumption wird von einem anderen Script gesetzt (ich fand es nur praktisch den Wert gleich hier mit anzusiedeln),
                      • automaticHeating, preferredHeating und preferredHeatingName brauche ich für ein separates Script mit dem ich je nach Verfügbarkeit von Solarstrom die Heizung aktiviere (automaticHeating), steuere welche der beiden Heizungen aktiviert wird (preferredHeating) und preferredHeatingName ist nur für die Visualiserung.

                      Mit dem letzten Punkt geht eine Steuerung schon einher, sprich ich habe aktuell Python Scripte, die den Wasserpflegemodus setzen (Standard oder Abwesend). Ich hatte sogar die Nachführung der Temperatur schon mit drinnen, hat sich aber als nicht so praktisch erwiesen (der leidige WAF).

                      Was möchtest du denn steuern? Pumpen, Licht? Sollte nicht das Problem darstellen, Template habe ich, muss es nur aufhübschen. Ist alles noch so auf dem Level, geschrieben, getestet, läuft.

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

                      @rrov1 Moinsen,

                      so wie es aussieht, kann der kapazitive Sensor TTP223 an einem ESP z.B. mit Tasmota manuelles Schalten erkennen. Werde jeweils 2x3 unter dem Acryl festkleben. Dann per MQTT kommen die Daten an und ich könnte Pumpe 1 etc steuern ohne mich immer zum Display bewegen zu müssen oder alternativ den Alexabefehl geben zu müssen.

                      rrov1R 1 Antwort Letzte Antwort
                      0
                      • T tklein

                        @rrov1 Moinsen,

                        so wie es aussieht, kann der kapazitive Sensor TTP223 an einem ESP z.B. mit Tasmota manuelles Schalten erkennen. Werde jeweils 2x3 unter dem Acryl festkleben. Dann per MQTT kommen die Daten an und ich könnte Pumpe 1 etc steuern ohne mich immer zum Display bewegen zu müssen oder alternativ den Alexabefehl geben zu müssen.

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

                        @tklein Könnte ein Lösung sein. Ich habe am WE ein bisschen gebastelt, ich bin aber noch nicht so glücklich mit dem Ergebnis, denn mir fehlt noch die nötige Stabilität, nicht jeder Aufruf des Python API führt tatsächlich zu einem erfolgreichen Schaltvorgang an der Pumpe :-| .
                        Zum aktuellen Stand:

                        • ich habe mal auf github ein kleines Repo angelegt: https://github.com/rrov1/SwimSpa - jedes mal hier das Script hochladen ist mir zu mühsam
                        • Doku hat das Repo noch keine, kommt noch
                        • im Ordner Javascript ist das Script zum anlegen bzw. aktualisieren der Datenpunkte - bitte führe es mal aus, damit du den aktuellen Stand der Datenpunkte bekommst, ich habe welche hinzugefügt bzw. auch Anpassungen an den bestehenden vorgenommen (nur bei der Datenpunktdefinition, die DP selbst bleiben alle bestehen)
                        • im Ordner Python findest du die Python Scripte, wenn du die Datenpunkte aktualisierst musst du unbedingt auch spa_updateBulk.py und spa_config.py austauschen (sonst meckert ioBroker im Log über fehlende ack-Attribute beim setzen)
                        • Wenn du die Scripte austauschst, denk denk bitte dran Konstanten im Script anzupassen (hier habe ich etwas optimiert, es ist jetzt alles an einer Stelle am Anfang)
                        • spa_config.py am besten einmal täglich ausführen, damit du die Erinnerungen tagesaktuell hast, einmal die Woche wäre glaube ich zu wenig
                        • das spa_switchPump.py funktioniert, benötigt ein paar Parameter. Die bekommt es von einen Javascript, das bei Veränderung des Datenpunktes über on() getriggert wird, das ist noch nicht fertig, gib mir mal noch etwas Zeit.
                        • in.mix 300 steuern scheint übrigens nicht mit der bestehenden Version der geckolib zu gehen, das Licht an/aus war im ersten Versuch unwillig, den Rest (Temperatur/Heizung) werde ich nach und nach noch ergänzen
                        T 1 Antwort Letzte Antwort
                        0
                        • rrov1R rrov1

                          @tklein Könnte ein Lösung sein. Ich habe am WE ein bisschen gebastelt, ich bin aber noch nicht so glücklich mit dem Ergebnis, denn mir fehlt noch die nötige Stabilität, nicht jeder Aufruf des Python API führt tatsächlich zu einem erfolgreichen Schaltvorgang an der Pumpe :-| .
                          Zum aktuellen Stand:

                          • ich habe mal auf github ein kleines Repo angelegt: https://github.com/rrov1/SwimSpa - jedes mal hier das Script hochladen ist mir zu mühsam
                          • Doku hat das Repo noch keine, kommt noch
                          • im Ordner Javascript ist das Script zum anlegen bzw. aktualisieren der Datenpunkte - bitte führe es mal aus, damit du den aktuellen Stand der Datenpunkte bekommst, ich habe welche hinzugefügt bzw. auch Anpassungen an den bestehenden vorgenommen (nur bei der Datenpunktdefinition, die DP selbst bleiben alle bestehen)
                          • im Ordner Python findest du die Python Scripte, wenn du die Datenpunkte aktualisierst musst du unbedingt auch spa_updateBulk.py und spa_config.py austauschen (sonst meckert ioBroker im Log über fehlende ack-Attribute beim setzen)
                          • Wenn du die Scripte austauschst, denk denk bitte dran Konstanten im Script anzupassen (hier habe ich etwas optimiert, es ist jetzt alles an einer Stelle am Anfang)
                          • spa_config.py am besten einmal täglich ausführen, damit du die Erinnerungen tagesaktuell hast, einmal die Woche wäre glaube ich zu wenig
                          • das spa_switchPump.py funktioniert, benötigt ein paar Parameter. Die bekommt es von einen Javascript, das bei Veränderung des Datenpunktes über on() getriggert wird, das ist noch nicht fertig, gib mir mal noch etwas Zeit.
                          • in.mix 300 steuern scheint übrigens nicht mit der bestehenden Version der geckolib zu gehen, das Licht an/aus war im ersten Versuch unwillig, den Rest (Temperatur/Heizung) werde ich nach und nach noch ergänzen
                          T Offline
                          T Offline
                          tklein
                          schrieb am zuletzt editiert von
                          #49

                          @rrov1 klasse, vielen dank dafür.

                          anbei meine Infos/Bemerkungen/Fragen

                          Zur Info hier ein paar Ausgaben nach dem Aufruf der python skripte:

                          python3.10 spa_updateBulk.py

                          Connecting to Wellness ....... connected
                          Water heater : Heater: Temperature 37.5°C, SetPoint 37.5°C, Real SetPoint 37.5°C, Operation Idle
                          sending temp and heater ops
                          sending water care
                          sending pumps
                          Pump 1
                          Pump 2
                          Waterfall
                          sending lights
                          Lights
                          sending sensors
                          Circulating Pump
                          Ozone
                          Smart Winter Mode:Active
                          Filter Status:Clean
                          Filter Status:Purge
                          javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit=%C2%B0C&ack=true& javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur=37.5&ack=true& javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur=37.5&ack=true& javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur=37.5&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Heizer=Idle&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus=OFF&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus=OFF&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On=false&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State=off&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State=off&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State=true&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State=false&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State=false&ack=true
                          200
                          

                          python3.10 spa_config.py

                          Connecting to Wellness ...... connected
                          identifier Wellness
                          identifier SPAe8:eb:1b:1c:5e:46
                          uid: SPAe8eb1b1c5e46
                          Temperatureinheit °C
                          anzahl pumpen: 3
                          P1
                          Pump 1
                          ['OFF', 'LO', 'HI']
                          P2
                          Pump 2
                          ['OFF', 'LO', 'HI']
                          Waterfall
                          Waterfall
                          ['OFF', 'ON']
                          anzahl blowers: 0
                          anzahl lichter: 1
                          LI
                          Lights
                          ***anzahl Sensoren: 1
                          SMART WINTER MODE:RISK
                          Smart Winter Mode:Risk
                          NO
                          ***anzahl bin. Sensoren: 5
                          CIRCULATING PUMP
                          Circulating Pump
                          OZONE
                          Ozone
                          SMART WINTER MODE:ACTIVE
                          Smart Winter Mode:Active
                          FILTER STATUS:CLEAN
                          Filter Status:Clean
                          FILTER STATUS:PURGE
                          Filter Status:Purge
                          anzahl user devices: 4
                          anzahl reminders: 5
                          reminder: ('Time', '24.01.2023, 08:15:23')
                          reminder: ('RinseFilter', 28)
                          reminder: ('CleanFilter', 26)
                          reminder: ('ChangeWater', 56)
                          reminder: ('CheckSpa', 728)
                          
                          

                          Hier noch ein paar Fragen:

                          1. Wofür wird dieser Wert aus dem DP "javascript.0.Datenpunkte.SwimSpa.ClientGUID" benötigt? In den Dateien habi ch meine drinstehen gelassen

                          2. In der spa_config.py werden die Reminderinfos geladen. Die willst du bei den minütlichen Anfragen in der spa_updateBulk.py nicht jedes mal anfragen, Daher hier die sep Datei/Aufruf?

                          3. @in mix 300: Da habe ich auf Github diesbezüglich eine Frage gestellt aber noch keine Info bekommen. Wenn ich das Licht per Display/App schalte, bekommt das der DP L1 mit

                          4. Fehlen da die Werte? Im "Log" waren welche drin.

                          d937e2bc-56e2-4044-bc8c-0198a96fb17b-grafik.png
                          Muss am Ende des Aufrufs von spa_config.py normalerweise auch ein 200er stehen?

                          1. Zirkuation ist gleich Wasserfall?

                          2. Kannst du deinen Pumpen mit "LO" ansteuern? Das gilt bestimmt nur für mehrstufige Pumpen. Ich habe 0/1, soweit mir bekannt :-)

                          Ich bin gespannt auf die Updates :-)
                          Lass es mich wissen, wenn/wie ich dir helfen kann

                          Bis denne
                          Thomas

                          rrov1R 1 Antwort Letzte Antwort
                          0
                          • T tklein

                            @rrov1 klasse, vielen dank dafür.

                            anbei meine Infos/Bemerkungen/Fragen

                            Zur Info hier ein paar Ausgaben nach dem Aufruf der python skripte:

                            python3.10 spa_updateBulk.py

                            Connecting to Wellness ....... connected
                            Water heater : Heater: Temperature 37.5°C, SetPoint 37.5°C, Real SetPoint 37.5°C, Operation Idle
                            sending temp and heater ops
                            sending water care
                            sending pumps
                            Pump 1
                            Pump 2
                            Waterfall
                            sending lights
                            Lights
                            sending sensors
                            Circulating Pump
                            Ozone
                            Smart Winter Mode:Active
                            Filter Status:Clean
                            Filter Status:Purge
                            javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit=%C2%B0C&ack=true& javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur=37.5&ack=true& javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur=37.5&ack=true& javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur=37.5&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Heizer=Idle&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus=OFF&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus=OFF&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On=false&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State=off&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State=off&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State=true&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State=false&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State=false&ack=true
                            200
                            

                            python3.10 spa_config.py

                            Connecting to Wellness ...... connected
                            identifier Wellness
                            identifier SPAe8:eb:1b:1c:5e:46
                            uid: SPAe8eb1b1c5e46
                            Temperatureinheit °C
                            anzahl pumpen: 3
                            P1
                            Pump 1
                            ['OFF', 'LO', 'HI']
                            P2
                            Pump 2
                            ['OFF', 'LO', 'HI']
                            Waterfall
                            Waterfall
                            ['OFF', 'ON']
                            anzahl blowers: 0
                            anzahl lichter: 1
                            LI
                            Lights
                            ***anzahl Sensoren: 1
                            SMART WINTER MODE:RISK
                            Smart Winter Mode:Risk
                            NO
                            ***anzahl bin. Sensoren: 5
                            CIRCULATING PUMP
                            Circulating Pump
                            OZONE
                            Ozone
                            SMART WINTER MODE:ACTIVE
                            Smart Winter Mode:Active
                            FILTER STATUS:CLEAN
                            Filter Status:Clean
                            FILTER STATUS:PURGE
                            Filter Status:Purge
                            anzahl user devices: 4
                            anzahl reminders: 5
                            reminder: ('Time', '24.01.2023, 08:15:23')
                            reminder: ('RinseFilter', 28)
                            reminder: ('CleanFilter', 26)
                            reminder: ('ChangeWater', 56)
                            reminder: ('CheckSpa', 728)
                            
                            

                            Hier noch ein paar Fragen:

                            1. Wofür wird dieser Wert aus dem DP "javascript.0.Datenpunkte.SwimSpa.ClientGUID" benötigt? In den Dateien habi ch meine drinstehen gelassen

                            2. In der spa_config.py werden die Reminderinfos geladen. Die willst du bei den minütlichen Anfragen in der spa_updateBulk.py nicht jedes mal anfragen, Daher hier die sep Datei/Aufruf?

                            3. @in mix 300: Da habe ich auf Github diesbezüglich eine Frage gestellt aber noch keine Info bekommen. Wenn ich das Licht per Display/App schalte, bekommt das der DP L1 mit

                            4. Fehlen da die Werte? Im "Log" waren welche drin.

                            d937e2bc-56e2-4044-bc8c-0198a96fb17b-grafik.png
                            Muss am Ende des Aufrufs von spa_config.py normalerweise auch ein 200er stehen?

                            1. Zirkuation ist gleich Wasserfall?

                            2. Kannst du deinen Pumpen mit "LO" ansteuern? Das gilt bestimmt nur für mehrstufige Pumpen. Ich habe 0/1, soweit mir bekannt :-)

                            Ich bin gespannt auf die Updates :-)
                            Lass es mich wissen, wenn/wie ich dir helfen kann

                            Bis denne
                            Thomas

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

                            @tklein Hallo, Output sieht gut aus :-)

                            1. Das ist ein Vorbereitung, ich will die GUID perspektivisch in allen Scripten als Parameter ausführen (du kannst "deine" GUID im DP gerne schon mal eintragen). Generell möchte ich den Python Scripten alles per Parameter liefern, wie ich das mit der IP und dem Port vom Rest API mache, muss ich noch erforschen, sollte aber gehen. Das spart mir u.a. den Aufwand, das ich die Scripte vor dem Commit zu Github noch mal säubern muss (dabei können durchaus auch Fehler passieren).
                            2. Korrekt. Das ist ja die Zeit in Tagen, das reicht aus, wenn wir das nur 1x am Tag aktualisieren und nicht jede Minute. Der Rest API Aufruf setBulk ist zwar unheimlich effizient ggü. mehreren set Aufrufen, aber es ist ja sinnlos den Wert für die DP's 1439x am Tag abzufragen und dann auch noch im ioBroker zu setzen. Es spricht auc nichts dagegen spa_config 4x am Tag auszuführen.
                            3. OK, die Lampensteuerung wollte nicht auf Anhieb, mit der setze ich mich noch mal auseinander, das soll ja lt. Beschreibung gehen. Deinen Github Eintrag habe ich gesehen.
                            4. Ja, die drei DP sollten gesetzt sein, weil das Log von spa_config.py diese ja auch enthält. Nimm mal die neue Version von spa_config.py. Diese gibt, wenn der http-Request schief geht, den Error Code mit aus (z.B. 500 == datapoint not found).
                            5. Nein. Ich habe auf meinem Display z.B. eine extra Taste für den Wasserfall (aber ich habe keinen). Deswegen habe ich den Datenpunkt nicht vorgesehen, kann ich aber ergänzen. Das Fehlen von Wasserfall-DP's führt übrigens in spa_config.py momentan zu 2x Error Code 500.
                            6. Nein, "LO" funktioniert bei mir auch nicht, nur "OFF" und "HI".
                            T 1 Antwort Letzte Antwort
                            0
                            • rrov1R rrov1

                              @tklein Hallo, Output sieht gut aus :-)

                              1. Das ist ein Vorbereitung, ich will die GUID perspektivisch in allen Scripten als Parameter ausführen (du kannst "deine" GUID im DP gerne schon mal eintragen). Generell möchte ich den Python Scripten alles per Parameter liefern, wie ich das mit der IP und dem Port vom Rest API mache, muss ich noch erforschen, sollte aber gehen. Das spart mir u.a. den Aufwand, das ich die Scripte vor dem Commit zu Github noch mal säubern muss (dabei können durchaus auch Fehler passieren).
                              2. Korrekt. Das ist ja die Zeit in Tagen, das reicht aus, wenn wir das nur 1x am Tag aktualisieren und nicht jede Minute. Der Rest API Aufruf setBulk ist zwar unheimlich effizient ggü. mehreren set Aufrufen, aber es ist ja sinnlos den Wert für die DP's 1439x am Tag abzufragen und dann auch noch im ioBroker zu setzen. Es spricht auc nichts dagegen spa_config 4x am Tag auszuführen.
                              3. OK, die Lampensteuerung wollte nicht auf Anhieb, mit der setze ich mich noch mal auseinander, das soll ja lt. Beschreibung gehen. Deinen Github Eintrag habe ich gesehen.
                              4. Ja, die drei DP sollten gesetzt sein, weil das Log von spa_config.py diese ja auch enthält. Nimm mal die neue Version von spa_config.py. Diese gibt, wenn der http-Request schief geht, den Error Code mit aus (z.B. 500 == datapoint not found).
                              5. Nein. Ich habe auf meinem Display z.B. eine extra Taste für den Wasserfall (aber ich habe keinen). Deswegen habe ich den Datenpunkt nicht vorgesehen, kann ich aber ergänzen. Das Fehlen von Wasserfall-DP's führt übrigens in spa_config.py momentan zu 2x Error Code 500.
                              6. Nein, "LO" funktioniert bei mir auch nicht, nur "OFF" und "HI".
                              T Offline
                              T Offline
                              tklein
                              schrieb am zuletzt editiert von
                              #51

                              @rrov1

                              zu1) klasse, da können dann ja auch IP etc rein
                              zu3) ich hoffe :-)
                              zu 4) die neue verseion gibt als reminderanzahl 0 zurück, die alte version 5

                              NEU:
                              pi@raspberrypi-iob:~/wellis/v2 $ python3.10 spa_config.py
                              
                              Connecting to Wellness ........... connected
                              identifier Wellness
                              identifier SPAe8:eb:1b:1c:5e:46
                              uid: SPAe8eb1b1c5e46
                              Temperatureinheit °C
                              anzahl pumpen: 3
                              Waterfall
                              Waterfall
                              ['OFF', 'ON']
                              P2
                              Pump 2
                              ['OFF', 'LO', 'HI']
                              P1
                              Pump 1
                              ['OFF', 'LO', 'HI']
                              anzahl blowers: 0
                              anzahl lichter: 1
                              LI
                              Lights
                              ***anzahl Sensoren: 1
                              SMART WINTER MODE:RISK
                              Smart Winter Mode:Risk
                              NO
                              ***anzahl bin. Sensoren: 5
                              CIRCULATING PUMP
                              Circulating Pump
                              OZONE
                              Ozone
                              SMART WINTER MODE:ACTIVE
                              Smart Winter Mode:Active
                              FILTER STATUS:CLEAN
                              Filter Status:Clean
                              FILTER STATUS:PURGE
                              Filter Status:Purge
                              anzahl user devices: 4
                              anzahl reminders: 0
                              
                              ALT:
                              pi@raspberrypi-iob:~/wellis/v2 $ python3.10 spa_config_old.py
                              Connecting to Wellness ...... connected
                              identifier Wellness
                              identifier SPAe8:eb:1b:1c:5e:46
                              uid: SPAe8eb1b1c5e46
                              Temperatureinheit °C
                              anzahl pumpen: 3
                              Waterfall
                              Waterfall
                              ['OFF', 'ON']
                              P1
                              Pump 1
                              ['OFF', 'LO', 'HI']
                              P2
                              Pump 2
                              ['OFF', 'LO', 'HI']
                              anzahl blowers: 0
                              anzahl lichter: 1
                              LI
                              Lights
                              ***anzahl Sensoren: 1
                              SMART WINTER MODE:RISK
                              Smart Winter Mode:Risk
                              NO
                              ***anzahl bin. Sensoren: 5
                              CIRCULATING PUMP
                              Circulating Pump
                              OZONE
                              Ozone
                              SMART WINTER MODE:ACTIVE
                              Smart Winter Mode:Active
                              FILTER STATUS:CLEAN
                              Filter Status:Clean
                              FILTER STATUS:PURGE
                              Filter Status:Purge
                              anzahl user devices: 4
                              anzahl reminders: 5
                              reminder: ('Time', '25.01.2023, 08:17:45')
                              reminder: ('RinseFilter', 27)
                              reminder: ('CleanFilter', 25)
                              reminder: ('ChangeWater', 55)
                              reminder: ('CheckSpa', 727)
                              
                              

                              zu5) Wasserfall separat habe ich eigentlich nicht verbaut. Entsprechend auch kein Icon.Solange bei mir die Zirkulation an ist, funktionieren die Fontänen nebst Wasserfall. DIe 500er Errors habe ich nicht. Evtl. steigt das Skript vorher aus.

                              rrov1R 1 Antwort Letzte Antwort
                              0
                              • T tklein

                                @rrov1

                                zu1) klasse, da können dann ja auch IP etc rein
                                zu3) ich hoffe :-)
                                zu 4) die neue verseion gibt als reminderanzahl 0 zurück, die alte version 5

                                NEU:
                                pi@raspberrypi-iob:~/wellis/v2 $ python3.10 spa_config.py
                                
                                Connecting to Wellness ........... connected
                                identifier Wellness
                                identifier SPAe8:eb:1b:1c:5e:46
                                uid: SPAe8eb1b1c5e46
                                Temperatureinheit °C
                                anzahl pumpen: 3
                                Waterfall
                                Waterfall
                                ['OFF', 'ON']
                                P2
                                Pump 2
                                ['OFF', 'LO', 'HI']
                                P1
                                Pump 1
                                ['OFF', 'LO', 'HI']
                                anzahl blowers: 0
                                anzahl lichter: 1
                                LI
                                Lights
                                ***anzahl Sensoren: 1
                                SMART WINTER MODE:RISK
                                Smart Winter Mode:Risk
                                NO
                                ***anzahl bin. Sensoren: 5
                                CIRCULATING PUMP
                                Circulating Pump
                                OZONE
                                Ozone
                                SMART WINTER MODE:ACTIVE
                                Smart Winter Mode:Active
                                FILTER STATUS:CLEAN
                                Filter Status:Clean
                                FILTER STATUS:PURGE
                                Filter Status:Purge
                                anzahl user devices: 4
                                anzahl reminders: 0
                                
                                ALT:
                                pi@raspberrypi-iob:~/wellis/v2 $ python3.10 spa_config_old.py
                                Connecting to Wellness ...... connected
                                identifier Wellness
                                identifier SPAe8:eb:1b:1c:5e:46
                                uid: SPAe8eb1b1c5e46
                                Temperatureinheit °C
                                anzahl pumpen: 3
                                Waterfall
                                Waterfall
                                ['OFF', 'ON']
                                P1
                                Pump 1
                                ['OFF', 'LO', 'HI']
                                P2
                                Pump 2
                                ['OFF', 'LO', 'HI']
                                anzahl blowers: 0
                                anzahl lichter: 1
                                LI
                                Lights
                                ***anzahl Sensoren: 1
                                SMART WINTER MODE:RISK
                                Smart Winter Mode:Risk
                                NO
                                ***anzahl bin. Sensoren: 5
                                CIRCULATING PUMP
                                Circulating Pump
                                OZONE
                                Ozone
                                SMART WINTER MODE:ACTIVE
                                Smart Winter Mode:Active
                                FILTER STATUS:CLEAN
                                Filter Status:Clean
                                FILTER STATUS:PURGE
                                Filter Status:Purge
                                anzahl user devices: 4
                                anzahl reminders: 5
                                reminder: ('Time', '25.01.2023, 08:17:45')
                                reminder: ('RinseFilter', 27)
                                reminder: ('CleanFilter', 25)
                                reminder: ('ChangeWater', 55)
                                reminder: ('CheckSpa', 727)
                                
                                

                                zu5) Wasserfall separat habe ich eigentlich nicht verbaut. Entsprechend auch kein Icon.Solange bei mir die Zirkulation an ist, funktionieren die Fontänen nebst Wasserfall. DIe 500er Errors habe ich nicht. Evtl. steigt das Skript vorher aus.

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

                                @tklein Hallo, das Mit der Reminderzahl = 0 ist mir auch schon aufgefallen. Ich bekomme selbst mal 5 und mal 0 Reminder von der geckolib zurückgemeldet. Momentan kaschiere ich das mit 4 Aufrufen von spa_config.py pro Tag, sprich aller 6h.

                                T 2 Antworten Letzte Antwort
                                0
                                • rrov1R rrov1

                                  @tklein Hallo, das Mit der Reminderzahl = 0 ist mir auch schon aufgefallen. Ich bekomme selbst mal 5 und mal 0 Reminder von der geckolib zurückgemeldet. Momentan kaschiere ich das mit 4 Aufrufen von spa_config.py pro Tag, sprich aller 6h.

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

                                  @rrov1 ich rufe die auch alle 6 stu auf

                                  1 Antwort Letzte Antwort
                                  0
                                  • rrov1R rrov1

                                    @tklein Hallo, das Mit der Reminderzahl = 0 ist mir auch schon aufgefallen. Ich bekomme selbst mal 5 und mal 0 Reminder von der geckolib zurückgemeldet. Momentan kaschiere ich das mit 4 Aufrufen von spa_config.py pro Tag, sprich aller 6h.

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

                                    @rrov1

                                    hi, was hälst du davon einen dp mit dem jeweils aktuelle status code des calls (spa_updateBulk.py zb. 200 zu schreiben oder alternativ den zeitstempel des letzten erfolgreichen updates. so wie beim reminder.

                                    1 Antwort Letzte Antwort
                                    0
                                    • T Offline
                                      T Offline
                                      tklein
                                      schrieb am zuletzt editiert von
                                      #55

                                      @rrov1 beim manuellen parsen der responseausgabe habe ich folgendes bekommen:

                                      pi@raspberrypi-iob:~/wellis/v2 $ python3.10 spa_updateBulk.py
                                      Connecting to Wellness ........ connected
                                      Water heater : Heater: Temperature 37.0°C, SetPoint 35.0°C, Real SetPoint 35.0°C, Operation Cooling
                                      sending temp and heater ops
                                      sending water care
                                      sending pumps
                                      Waterfall
                                      Pump 1
                                      Pump 2
                                      sending lights
                                      Lights
                                      sending sensors
                                      Circulating Pump
                                      Ozone
                                      Smart Winter Mode:Active
                                      Filter Status:Clean
                                      Filter Status:Purge
                                      javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit=%C2%B0C&ack=true& javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur=37.0&ack=true& javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur=35.0&ack=true& javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur=35.0&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Heizer=Cooling&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus=OFF&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus=OFF&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On=false&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State=off&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State=off&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State=false&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State=false&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State=false&ack=true
                                      Traceback (most recent call last):
                                        File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connection.py", line 174, in _new_conn
                                          conn = connection.create_connection(
                                        File "/home/pi/.local/lib/python3.10/site-packages/urllib3/util/connection.py", line 95, in create_connection
                                          raise err
                                        File "/home/pi/.local/lib/python3.10/site-packages/urllib3/util/connection.py", line 85, in create_connection
                                          sock.connect(sa)
                                      ConnectionRefusedError: [Errno 111] Connection refused
                                      
                                      During handling of the above exception, another exception occurred:
                                      
                                      Traceback (most recent call last):
                                        File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen
                                          httplib_response = self._make_request(
                                        File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 398, in _make_request
                                          conn.request(method, url, **httplib_request_kw)
                                        File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connection.py", line 239, in request
                                          super(HTTPConnection, self).request(method, url, body=body, headers=headers)
                                        File "/usr/local/lib/python3.10/http/client.py", line 1282, in request
                                          self._send_request(method, url, body, headers, encode_chunked)
                                        File "/usr/local/lib/python3.10/http/client.py", line 1328, in _send_request
                                          self.endheaders(body, encode_chunked=encode_chunked)
                                        File "/usr/local/lib/python3.10/http/client.py", line 1277, in endheaders
                                          self._send_output(message_body, encode_chunked=encode_chunked)
                                        File "/usr/local/lib/python3.10/http/client.py", line 1037, in _send_output
                                          self.send(msg)
                                        File "/usr/local/lib/python3.10/http/client.py", line 975, in send
                                          self.connect()
                                        File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connection.py", line 205, in connect
                                          conn = self._new_conn()
                                        File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connection.py", line 186, in _new_conn
                                          raise NewConnectionError(
                                      urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0xb5260a78>: Failed to establish a new connection: [Errno 111] Connection refused
                                      
                                      During handling of the above exception, another exception occurred:
                                      
                                      Traceback (most recent call last):
                                        File "/home/pi/.local/lib/python3.10/site-packages/requests/adapters.py", line 489, in send
                                          resp = conn.urlopen(
                                        File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen
                                          retries = retries.increment(
                                        File "/home/pi/.local/lib/python3.10/site-packages/urllib3/util/retry.py", line 592, in increment
                                          raise MaxRetryError(_pool, url, error or ResponseError(cause))
                                      urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='192.168.0.20', port=8087): Max retries exceeded with url: /setBulk (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xb5260a78>: Failed to establish a new connection: [Errno 111] Connection refused'))
                                      
                                      During handling of the above exception, another exception occurred:
                                      
                                      Traceback (most recent call last):
                                        File "/home/pi/wellis/v2/spa_updateBulk.py", line 79, in <module>
                                          oResponse = requests.post(IOBROKER_BASE_URL, data = sJson2Send)
                                        File "/home/pi/.local/lib/python3.10/site-packages/requests/api.py", line 115, in post
                                          return request("post", url, data=data, json=json, **kwargs)
                                        File "/home/pi/.local/lib/python3.10/site-packages/requests/api.py", line 59, in request
                                          return session.request(method=method, url=url, **kwargs)
                                        File "/home/pi/.local/lib/python3.10/site-packages/requests/sessions.py", line 587, in request
                                          resp = self.send(prep, **send_kwargs)
                                        File "/home/pi/.local/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
                                          r = adapter.send(request, **kwargs)
                                        File "/home/pi/.local/lib/python3.10/site-packages/requests/adapters.py", line 565, in send
                                          raise ConnectionError(e, request=request)
                                      requests.exceptions.ConnectionError: HTTPConnectionPool(host='192.168.0.20', port=8087): Max retries exceeded with url: /setBulk (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xb5260a78>: Failed to establish a new connection: [Errno 111] Connection refused'))
                                      

                                      Mal bekomme ich den 200 mal nicht. Wahrschienlich ähnlich deinem "Wackler", dass nicht immer das geschaltet wird, was eigentlich sollte.

                                      rrov1R 1 Antwort Letzte Antwort
                                      0
                                      • T tklein

                                        @rrov1 beim manuellen parsen der responseausgabe habe ich folgendes bekommen:

                                        pi@raspberrypi-iob:~/wellis/v2 $ python3.10 spa_updateBulk.py
                                        Connecting to Wellness ........ connected
                                        Water heater : Heater: Temperature 37.0°C, SetPoint 35.0°C, Real SetPoint 35.0°C, Operation Cooling
                                        sending temp and heater ops
                                        sending water care
                                        sending pumps
                                        Waterfall
                                        Pump 1
                                        Pump 2
                                        sending lights
                                        Lights
                                        sending sensors
                                        Circulating Pump
                                        Ozone
                                        Smart Winter Mode:Active
                                        Filter Status:Clean
                                        Filter Status:Purge
                                        javascript.0.Datenpunkte.SwimSpa.0.Temperatureinheit=%C2%B0C&ack=true& javascript.0.Datenpunkte.SwimSpa.0.AktuelleTemperatur=37.0&ack=true& javascript.0.Datenpunkte.SwimSpa.0.ZielTemperatur=35.0&ack=true& javascript.0.Datenpunkte.SwimSpa.0.EchteZielTemperatur=35.0&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Heizer=Cooling&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P1.Modus=OFF&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Pumpen.P2.Modus=OFF&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Lichter.LI.Is_On=false&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.CIRCULATING_PUMP.State=off&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.OZONE.State=off&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.SMART_WINTER_MODE_ACTIVE.State=false&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_CLEAN.State=false&ack=true& javascript.0.Datenpunkte.SwimSpa.0.Sensoren.FILTER_STATUS_PURGE.State=false&ack=true
                                        Traceback (most recent call last):
                                          File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connection.py", line 174, in _new_conn
                                            conn = connection.create_connection(
                                          File "/home/pi/.local/lib/python3.10/site-packages/urllib3/util/connection.py", line 95, in create_connection
                                            raise err
                                          File "/home/pi/.local/lib/python3.10/site-packages/urllib3/util/connection.py", line 85, in create_connection
                                            sock.connect(sa)
                                        ConnectionRefusedError: [Errno 111] Connection refused
                                        
                                        During handling of the above exception, another exception occurred:
                                        
                                        Traceback (most recent call last):
                                          File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen
                                            httplib_response = self._make_request(
                                          File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 398, in _make_request
                                            conn.request(method, url, **httplib_request_kw)
                                          File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connection.py", line 239, in request
                                            super(HTTPConnection, self).request(method, url, body=body, headers=headers)
                                          File "/usr/local/lib/python3.10/http/client.py", line 1282, in request
                                            self._send_request(method, url, body, headers, encode_chunked)
                                          File "/usr/local/lib/python3.10/http/client.py", line 1328, in _send_request
                                            self.endheaders(body, encode_chunked=encode_chunked)
                                          File "/usr/local/lib/python3.10/http/client.py", line 1277, in endheaders
                                            self._send_output(message_body, encode_chunked=encode_chunked)
                                          File "/usr/local/lib/python3.10/http/client.py", line 1037, in _send_output
                                            self.send(msg)
                                          File "/usr/local/lib/python3.10/http/client.py", line 975, in send
                                            self.connect()
                                          File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connection.py", line 205, in connect
                                            conn = self._new_conn()
                                          File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connection.py", line 186, in _new_conn
                                            raise NewConnectionError(
                                        urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0xb5260a78>: Failed to establish a new connection: [Errno 111] Connection refused
                                        
                                        During handling of the above exception, another exception occurred:
                                        
                                        Traceback (most recent call last):
                                          File "/home/pi/.local/lib/python3.10/site-packages/requests/adapters.py", line 489, in send
                                            resp = conn.urlopen(
                                          File "/home/pi/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen
                                            retries = retries.increment(
                                          File "/home/pi/.local/lib/python3.10/site-packages/urllib3/util/retry.py", line 592, in increment
                                            raise MaxRetryError(_pool, url, error or ResponseError(cause))
                                        urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='192.168.0.20', port=8087): Max retries exceeded with url: /setBulk (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xb5260a78>: Failed to establish a new connection: [Errno 111] Connection refused'))
                                        
                                        During handling of the above exception, another exception occurred:
                                        
                                        Traceback (most recent call last):
                                          File "/home/pi/wellis/v2/spa_updateBulk.py", line 79, in <module>
                                            oResponse = requests.post(IOBROKER_BASE_URL, data = sJson2Send)
                                          File "/home/pi/.local/lib/python3.10/site-packages/requests/api.py", line 115, in post
                                            return request("post", url, data=data, json=json, **kwargs)
                                          File "/home/pi/.local/lib/python3.10/site-packages/requests/api.py", line 59, in request
                                            return session.request(method=method, url=url, **kwargs)
                                          File "/home/pi/.local/lib/python3.10/site-packages/requests/sessions.py", line 587, in request
                                            resp = self.send(prep, **send_kwargs)
                                          File "/home/pi/.local/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
                                            r = adapter.send(request, **kwargs)
                                          File "/home/pi/.local/lib/python3.10/site-packages/requests/adapters.py", line 565, in send
                                            raise ConnectionError(e, request=request)
                                        requests.exceptions.ConnectionError: HTTPConnectionPool(host='192.168.0.20', port=8087): Max retries exceeded with url: /setBulk (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xb5260a78>: Failed to establish a new connection: [Errno 111] Connection refused'))
                                        

                                        Mal bekomme ich den 200 mal nicht. Wahrschienlich ähnlich deinem "Wackler", dass nicht immer das geschaltet wird, was eigentlich sollte.

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

                                        @tklein Hallo, sorry das ich mich ein paar Tage nicht gemeldet habe, aber jetzt habe ich etwas vom gewünschten Funktionsumfang (Pumpen/Licht) implementiert und es funktioniert auch einigermaßen stabil bei mir. Einigermaßen, weil die geckolib immer mal wieder Verbindungsprobleme hat und dann der Schaltvorgang nicht durchgeführt wird. Ich habe mir erst mal damit beholfen dies im Javascript abzufangen, ich muss mich mal mit dem Fehlerhandling in Python beschäftigen - ist halt nicht so die Programmiersprache mit der ich täglich umgehe. Ggf. muss man halt 2x drücken, ist bei mir noch nicht die Top Prio, weil der Whirlpool momentan kalt ist (steht draußen ).

                                        Zum neue Stand:

                                        • Download von github
                                        • als erstes unbedingt die Struktur der Datenpunkte aktualisieren mit dem Script: SpaVariablen.js, Achtung: Parameter von createDatapoints() anpassen!
                                        • die anderen Javascripte nach Anleitung einspielen
                                        • die Python Scripte aktualisieren (jetzt ebenfalls nach Anleitung im github)

                                        Deinen Vorschlag werde ich aufgreifen, allerdings muss ich erst mal schauen wie ich in Python sauber Fehler abfange. Kommt in der nächsten Version denk ich mit. Das Log schaue ich mir auch noch an.

                                        T 2 Antworten Letzte Antwort
                                        0
                                        • rrov1R rrov1

                                          @tklein Hallo, sorry das ich mich ein paar Tage nicht gemeldet habe, aber jetzt habe ich etwas vom gewünschten Funktionsumfang (Pumpen/Licht) implementiert und es funktioniert auch einigermaßen stabil bei mir. Einigermaßen, weil die geckolib immer mal wieder Verbindungsprobleme hat und dann der Schaltvorgang nicht durchgeführt wird. Ich habe mir erst mal damit beholfen dies im Javascript abzufangen, ich muss mich mal mit dem Fehlerhandling in Python beschäftigen - ist halt nicht so die Programmiersprache mit der ich täglich umgehe. Ggf. muss man halt 2x drücken, ist bei mir noch nicht die Top Prio, weil der Whirlpool momentan kalt ist (steht draußen ).

                                          Zum neue Stand:

                                          • Download von github
                                          • als erstes unbedingt die Struktur der Datenpunkte aktualisieren mit dem Script: SpaVariablen.js, Achtung: Parameter von createDatapoints() anpassen!
                                          • die anderen Javascripte nach Anleitung einspielen
                                          • die Python Scripte aktualisieren (jetzt ebenfalls nach Anleitung im github)

                                          Deinen Vorschlag werde ich aufgreifen, allerdings muss ich erst mal schauen wie ich in Python sauber Fehler abfange. Kommt in der nächsten Version denk ich mit. Das Log schaue ich mir auch noch an.

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

                                          @rrov1 kein ding, gibt ja wichtigere dinge -)

                                          UPDATE: es lag daran, dass der SPA nicht erreichbar war. LED am Intouch war wieder grün anstatt blau, so wie es sollte.

                                          habe das soweit alles gemacht. jedoch bekomme ich bei aufruf von *config und *update folgende meldung:

                                          pi@raspberrypi-iob:~/wellis/v3 $ python3.10 spa_updateBulk.py
                                          Traceback (most recent call last):
                                            File "/home/pi/.local/lib/python3.10/site-packages/geckolib/locator.py", line 133, in get_spa_from_identifier
                                              return next(
                                          StopIteration
                                          
                                          During handling of the above exception, another exception occurred:
                                          
                                          Traceback (most recent call last):
                                            File "/home/pi/wellis/v3/spa_updateBulk.py", line 21, in <module>
                                              facade = GeckoLocator.find_spa(CLIENT_ID, lSpas[nSpaNum]).get_facade(False)
                                            File "/home/pi/.local/lib/python3.10/site-packages/geckolib/locator.py", line 155, in find_spa
                                              return locator.get_spa_from_identifier(spa_identifier)
                                            File "/home/pi/.local/lib/python3.10/site-packages/geckolib/locator.py", line 140, in get_spa_from_identifier
                                              return self.spas[0]
                                          IndexError: list index out of range
                                          pi@raspberrypi-iob:~/wellis/v3 $ python3.10 spa_config.py
                                          Traceback (most recent call last):
                                            File "/home/pi/.local/lib/python3.10/site-packages/geckolib/locator.py", line 133, in get_spa_from_identifier
                                              return next(
                                          StopIteration
                                          
                                          During handling of the above exception, another exception occurred:
                                          
                                          Traceback (most recent call last):
                                            File "/home/pi/wellis/v3/spa_config.py", line 12, in <module>
                                              facade = GeckoLocator.find_spa(CLIENT_ID, lSpas[nSpaNum]).get_facade(False)
                                            File "/home/pi/.local/lib/python3.10/site-packages/geckolib/locator.py", line 155, in find_spa
                                              return locator.get_spa_from_identifier(spa_identifier)
                                            File "/home/pi/.local/lib/python3.10/site-packages/geckolib/locator.py", line 140, in get_spa_from_identifier
                                              return self.spas[0]
                                          IndexError: list index out of range
                                          

                                          Bin mir relativ sicher, dass die uuid, spa id etc passen.

                                          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

                                          766

                                          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