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. Entwicklung
  4. [Neuer Adapter] Poolcontroller

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    178

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

[Neuer Adapter] Poolcontroller

Geplant Angeheftet Gesperrt Verschoben Entwicklung
6 Beiträge 3 Kommentatoren 1.8k Aufrufe 3 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.
  • S Offline
    S Offline
    sucht
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich habe einen Adapter entwickelt mit dem man die Daten vom Poolcontroller auslesen kann.

    Nähers über den Poolcontroller erfahrt ihr unter http://www.pooldigital.de.

    Eine Demo findet ihr unter http://demo.poolcontroller.de/gui/phase2/index.htm.

    Alle Werte die der Controller liefert, kann man damit im ioBroker anzeigen lassen.

    der Adapter in in Anlehnung eines Scriptes von Sven aus dem Poolcontroller Forum entstanden.

    auf Github unter https://github.com/sucht3371/ioBroker.poolcontroller.

    Viel Spass beim testen.

    1 Antwort Letzte Antwort
    0
    • apollon77A Offline
      apollon77A Offline
      apollon77
      schrieb am zuletzt editiert von
      #2

      Cool,

      habe mal rein geschaut. Hier ein bissl Feedback:

      • in der iopackage.json sind noch "test1" und "test2" als Konfigparameter eingetragen. Sollte vllt eher raus, oder ?! Statt dessen fehlen die Werte die du eigentlich konfigurierst (host/port und so). Bitte hier die io-package fixen!

      • wenn du keine messages empfängst kannst du auch die "OnMessage Methode und so wegmachen.

      • die ganzen sysinfo Objekts musst DU nicht im code anlegen und auch nicht bei jedem durchlauf. Die können in der io-package.json unter "common.Instanceobjects" angegeben werden. dann macht ioBroker das beim Install von selbst

      • warum du die Daten als Array nimmst in JSON umwandelst und dann direkt wieder zurück in ein Objekt/Array verstehe ich nicht.

      • Bitte bei den State-Namen (vor allem bei denen die ohne weitere behandlung aus dem CSV kommen bitte auf erlaubte Zeichen für Objekt-IDs aufpassen (siehe https://github.com/ioBroker/ioBroker.js … issues/198)

      • VERSION ist auch eine Nummer laut Objektdefinitoon wird aber nicht explizit in eine Nummer umgewandelt

      • Der gesamte Code-Ablauf ist synchron, wobei aber die ganzen Objektanlagen und das setzen der State-Werte immer asynchron erfolgen. Und am Ende wird der Adapter nach 10 Sekunden danach hart beendet. Es kann vorkommen das es werte gibt die noch nicht geschrieben wurden und damit fehlen. Hier wäre der korrekte Ansatz die Objekt und Werte in "Callback-Schleifen" zu setzen und anzulegen. (Beispiel z.B. https://github.com/ioBroker/ioBroker.mo ... in.js#L838)

      Ingo

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        sucht
        schrieb am zuletzt editiert von
        #3

        Hallo

        danke für das Feedback das ist super wenn man nicht so tief in dere Materie drin steckt.

        die meisten Sachen die du angsprochen hast verstehe ich und kann sie auch umsetzen.

        den letzten Punkt mit dem synchron und asynchron verstehe ich nicht. Kannst du mir das erklären.

        die 10 sekunden habe ich eingebaut weil sich der Prozess nicht beendet hat.

        Danke

        1 Antwort Letzte Antwort
        0
        • apollon77A Offline
          apollon77A Offline
          apollon77
          schrieb am zuletzt editiert von
          #4

          @sucht:

          den letzten Punkt mit dem synchron und asynchron verstehe ich nicht. Kannst du mir das erklären. `

          JavaScript ist eine Eventgesteuerte Sprache und macht davon an vielen Stellen Gebrauch. Alle Aktionen die länger dauern können oder "Kommunikation oder I/O" benötigen werden asynchron ausgeführt. Das bedeutet das der Status gesichert wird und dann sobald keine weitere Arbeit anliegt diese "gemerkten Aktionen" ausgeführt werden. Danach wenn etwas fertig ist gibt es dann meistens callbacks die dann mit dem Ergebnis aufgerufen werden wenn die Aktion abgeschlossen ist. Das nutzt Du schon bei dem "request"-Aufruf.

          Alle "setObjectNotExists" oder "setState" aufrufe arbeiten exakt so.

          Das bedeutet, dass wenn dein Code fertig ist das er faktisch 41 setObjectNotExist-Calls hat die noch verarbeitet werden und auch 41 setState calls hat die noch nicht abgearbeitet/bestätigt sind.

          Am besten Google mal ein bissl nach JavaScript und asynchronous und callbacks.

          Da Du 10s wartest und dann den Prozess hart beendest kann es sein das ggf irgendwas von den 82 calls immer noch nicht abgeschlossen ist … das musst Du wissen.

          Wenn Du sicherstellen willst das alles passt dann musst Du die schleifen in "callback-Schleifen" (siehe oben mit Beispiel) umbauen. Die werden dann so abgearbeitet das am Ende einer Aktion erst die nächste angestossen wird. Wenn Du dann "fertig" bist weisst Du das nichts mehr offen ist und kann den Prozess sogar zu sofort beenden.

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            sven12
            schrieb am zuletzt editiert von
            #5

            Hallo,

            danke für den Adapter.

            Eweiterungen sind jetzt verfügbar.

            Nur hier muss noch mal nachgearbeitet werden

            "Der gesamte Code-Ablauf ist synchron"

            Für Optimierungen sind wir dankbar…

            Gruß

            Sven

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              sven12
              schrieb am zuletzt editiert von
              #6

              Hallo,

              heute einge Änderungen im github übernommen.
              Betrifft nur Kompatibilität zur aktuellen iobroker Version.
              Ansonsten leider noch keine neuen Funktionen.
              https://github.com/svenp/ioBroker.poolcontroller

              Gruß
              Sven

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


              Support us

              ioBroker
              Community Adapters
              Donate

              744

              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