Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. [Neuer Adapter] Poolcontroller

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Neuer Adapter] Poolcontroller

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sucht last edited by

      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 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        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

        1 Reply Last reply Reply Quote 0
        • S
          sucht last edited by

          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 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 last edited by

            @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.

            1 Reply Last reply Reply Quote 0
            • S
              sven12 last edited by

              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 Reply Last reply Reply Quote 0
              • S
                sven12 last edited by

                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 Reply Last reply Reply Quote 1
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                999
                Online

                31.6k
                Users

                79.4k
                Topics

                1.3m
                Posts

                3
                6
                1595
                Loading More Posts
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes
                Reply
                • Reply as topic
                Log in to reply
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                The ioBroker Community 2014-2023
                logo