Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Supportthread Resol-Adapter

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Supportthread Resol-Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • Grizzelbee
      Grizzelbee Developer @Gargano last edited by Grizzelbee

      @gargano

      Freut mich riesig, dass ihr das klären konntet.
      War schon interessant so als Zuschauer am Spielfeldrand zu stehen. 😉

      @Gargano schrieb:

      Ich habe ein Issue bei Daniel aufgemacht, daß mit den 2 verschiedenen Adressen (32273 und 32289) ist mir unbekannt.

      das war ein etwas fummeliger Act mit dem MX-Controller, da der ja 2 Dateien hat aber mit der gleichen Adresse.
      Dazu muss man dann im createOptimizer die Version mit angeben.
      Leider gibt der MX Controller keine Info über die Version aus. Eine Lösung wäre das in der Konfiguration wählbar zu machen.

      Hmmm. In der Konfig ginge das natürlich - fände ich aber eher unelegant, weil es ja keine generelle Konfig wäre. Kontextsensitive Einstellungen, die nur bei Auswahl einer bestimmten anderen Einstellung angezeigt werden, habe ich im Broker noch nicht gesehen und auch keine Idee, wie man das realisieren könnte.
      EDIT: Der FullyBrowser-Adapter macht genau das. Da könnte ich also zur Not spicken wie das geht. 🙂
      So als Arbeitshypothese (keine Ahnung ob da etwas dran ist) - ist vielleicht die 32273 die V2 und 32289 die V1??
      Dann könnte man das doch unterscheiden. Zumindest, wenn ich das Ganze Thema beim Mitlesen richtig verstanden habe.

      Bei einem normalen Install vom Vbus befindet sich der VBus aber hier :

      Du meinst vom myVBus Adapter?
      Wenn ja - würde ich tendenziell bei der Variante:

      const vbus = require('resol-vbus');
      

      bleiben wollen, weil die Lib ja ausschließlich vom Resol Adapter verwendet wird, und für meinen Geschmack deshalb genau dorthin (/opt/iobroker/node_modules/iobroker.resol/node_modules/resol-vbus) gehört.
      Zum einen um beim Löschen des Adapters auch richtig erwischt zu werden und zum anderen um sich nicht mit anderen Adaptern (hier speziell myVBus), die die selbe Lib verwenden mit der Version der Lib nicht in die Quere zu kommen. Wäre ja blöd, wenn ein Adapter eine spezielle Version einer Lib benötigt und ein anderer Adapter die plump überschreibt und damit den Adapter kaputt macht. Bei einer seltenen lib wie VBus mag das noch kein (großes) Problem sein, aber stell dir das Problem mal zum Beispiel bei Axios vor - da zerschießt ein allgemeines Update ggf. einen Großteil der Adapter.
      Wenn es eine neue Version der Lib gibt, die der Adapter benötigt, wird die ja mit dem nächsten Release ausgeliefert/installiert und alles ist gut.

      Wie machen wir weiter? Reichst Du einen PR mit den erarbeiteten Änderungen ein? Dann würde ich noch die Abhängigkeiten aktualisieren und ein neues Release bauen - also nachdem wir diesen V1/V2 Problem irgendwie gelöst und ggf. die Konfig angepasst haben - falls nötig.

      viele Grüße
      grizzelbee

      Gargano 1 Reply Last reply Reply Quote 0
      • Gargano
        Gargano @Grizzelbee last edited by

        @grizzelbee
        Da ja V1 und V2 die gleichen Adressen haben (32273) kann ich nicht auf die 32289 gehen.
        Ich kontaktiere nochmal Daniel, um zu klären ob man die deviceMajorVersion aus dem MX Controller auslesen kann.
        Das wäre am besten.
        Falls das nicht geht, bleibt nur eine User Auswahl. Die müsste dann entweder alle Einträge vom Resol-Types anzeigen, oder nach erkennen der Adresse nur die anzeigen, die die Adresse haben. In dem Falle hieße es das die Auswahl erst nach dem Starten der Instanz angezeigt wird. Was aber z.B,. Device Watcher auch macht.
        Im Fall vom MX würden dann 2 Einträge da stehen : V1 und V2, bei allen anderen nur ein Eintrag .

        Ich schick Dir dann ein PR , wenn ich vom Daniel Nachricht habe.

        Grizzelbee 1 Reply Last reply Reply Quote 0
        • Grizzelbee
          Grizzelbee Developer @Gargano last edited by

          @gargano

          Okay. So genau habe ich nicht mitgelesen. Für mich sah das so aus als würden sich die V1 mit der Adresse 32273 und die V2 mit der Adresse 32289 beim Adapter melden.
          Aus dieser Info hätte man dann die passende deviceMajorVersion ableiten und im Code setzen können.
          Gibt es vielleicht irgendeine andere Info, die man auf diese Weise ausbeuten könnte? Die DeviceID vielleicht (deviceId":"007E110010" bei V2), Anzahl irgendwelcher Sensoren, Vorhandensein/Abwesenheit eines Sensors, ...?
          Keine Ahnung. Ich stocher nur im Nebel, weil ich solche Konfigeinstellungen nicht sonderlich mag, weil die supportanfällig sind. Wer achtet schon auf die Hardwarerevision von irgendetwas und ahnt das das einen Unterschied an irgendeiner Stelle machen könnte? Ich sicher nicht. wenn der selbe Name drauf steht, erwarte ich, das alle Versionen identisch funktionieren.

          Aber am Ende: Wenn es nichts gibt, gibt es nichts und dann muss es leider die Konfig retten.

          Gargano 2 Replies Last reply Reply Quote 0
          • Gargano
            Gargano @Grizzelbee last edited by Gargano

            @grizzelbee sagte in Supportthread Resol-Adapter:

            Für mich sah das so aus als würden sich die V1 mit der Adresse 32273 und die V2 mit der Adresse 32289 beim Adapter melden

            Das wäre ja auch zu einfach 😊

            Das habe ich jetzt gesehen auf Git vom Daniel:

            Known issues
            The ConfigurationOptimizers do not yet detect the firmware version running on the controller to be configured. That sometimes causes configuration loads and saves to fail because unknown values are read from or written to (e.g. using the "customizer" example on a DeltaSol MX with firmware version 1.11 or below).

            Short-term plans
            Remove current ConfigurationOptimizer constructs in favor of RESOL's official support.

            Also wenn der sowieso weg fällt und es bis jetzt nur den User faz gibt, der den MX Controller nutzt, denke ich sollte wir warten bis Daniel den Short-term plans umgesetzt hat.

            1 Reply Last reply Reply Quote 0
            • Gargano
              Gargano @Grizzelbee last edited by

              @grizzelbee sagte in Supportthread Resol-Adapter:

              ber am Ende: Wenn es nichts gibt, gibt es nichts und dann muss es leider die Konfig retten.

              Ich habe Antwort vom Daniel : Auslesen der Majorversion ist nicht möglich. Also bleibt nur die Auswahl durch den User.
              Ich mach dann mal die Änderungen und schick Dir eine PR. Du müsstest dann die Auswahl einbauen.
              Kannst ja schon mal schauen wie das geht und mir dann mitteilen, welche Infos in welchem Format Du brauchst. (Am Besten JSON ?)
              Machen wir einen neuen Branch zum Testen ?

              Viele Grüße
              Werner

              Grizzelbee 2 Replies Last reply Reply Quote 0
              • Grizzelbee
                Grizzelbee Developer @Gargano last edited by

                @gargano
                Ich schlage vor, das ich zuerst die Konfig baue - dann kannst Du im Code darauf reagieren. Das dürfte am einfachsten sein. Das werde ich aber frühestens kommende Woche schaffen.

                Ich melde mich, wenn ich soweit bin und einen Branch dafür habe.

                1 Reply Last reply Reply Quote 0
                • Grizzelbee
                  Grizzelbee Developer @Gargano last edited by

                  @gargano

                  Hallo Werner,

                  ich finde gerade ein bisschen Zeit und Ruhe um mich um meine Projekte zu kümmern.
                  Bleibt es dabei, das wir das zusammen mit der Konfig-Option einbauen, oder warten wir auf das Update von Daniel (Was ziemlich lange dauern könnte, wenn ich mir seine Release-Zyklen so anschaue 😉 )?

                  Gargano 1 Reply Last reply Reply Quote 0
                  • Gargano
                    Gargano @Grizzelbee last edited by

                    @grizzelbee
                    Daniel hat ja gesagt, daß Major Version auslesen auch in Zukunft nicht gehen wird.
                    Also machen wir das mit der User Auswahl.
                    Ich benötige dann eine Funktion, in der ich die Auswahl reinschreiben kann (Json) und eine Funktion, die getriggert wird, wenn der User ausgewählt hat mit Rückgabewert der Auswahl oder den Index.

                    Viele Grüße
                    Werner

                    Grizzelbee 1 Reply Last reply Reply Quote 0
                    • Grizzelbee
                      Grizzelbee Developer @Gargano last edited by

                      @gargano

                      Okay. Dann machen wir das so.

                      Die neue Konfig sähe dann so aus:
                      2e8c0137-53fd-4129-9449-63c00afa3c8a-image.png

                      Auf die beiden neuen Werte kann dann über das normale Adapter-Konfig Objekt zugegriffen werden.

                      Passt das für dich?

                      Gargano 1 Reply Last reply Reply Quote 0
                      • Gargano
                        Gargano @Grizzelbee last edited by

                        @grizzelbee Schaut schon gut aus. Machst Du ein Branch ?

                        Grizzelbee 1 Reply Last reply Reply Quote 0
                        • Grizzelbee
                          Grizzelbee Developer @Gargano last edited by

                          @gargano

                          Schaut schon gut aus. Machst Du ein Branch ?

                          Das freut mich - und: Ja - ich mache da in Kürze einen Branch für. Bin (hoffentlich auch in Kürze soweit).
                          Habe da aber noch eine Frage: Kann ich in den Tooltipp der ControllerMajorVersion irgendwas hilfreiches reinschreiben wie man die ermittelt bzw. wo oder wie man die aus-/ablesen kann?

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

                            @grizzelbee
                            In dem File Setup-Resol-Types.js stehen ja die Typen drin mit ID und dann zukünftig auch die Major Version.

                            Z.B. für den MX :

                            {"id":32273,"setup":"deltasol-mx",majorVersion":1,"data":"resol-deltasol-mx-112-data"},
                            {"id":32273,"setup":"deltasol-mx2xx","majorVersion":2,"data":"resol-deltasol-mx-2xx-data"},

                            Identifiziert wird es ja beim Start über die ID. In dem Falle 32273.
                            Kannst Du eine Identifizierungs - Button anlegen, womit der Controller automatisch gesucht und identifiziert wird ?
                            Der Rückgabe Wert muß dann die ID sein.

                            Der Ablauf könnte dann so aussehen :
                            Controller identifizieren
                            Identifizierung über die ID ,
                            Wenn eine Major Version eingetragen ist, dann Auswahl der Version durch den User.
                            Der Controller Type würde automatisch dann richtig identifiziert.
                            In dem Falle brauchen wir die Auswahl MX/Other nicht.
                            Erst dann die Objekte anlegen , da die evtl. sonst falsch sind.

                            oder
                            Auswahl vom Controller Type und Version beim Installieren durch den User.
                            (Ich glaube , das hast Du so vorgesehen, oder ?)

                            Ich bin für die erste Variante, weil bei Erweiterungen der Controller Versionen nur das Setup Type File angepasst werden muss.

                            Grizzelbee 2 Replies Last reply Reply Quote 0
                            • Grizzelbee
                              Grizzelbee Developer @Gargano last edited by

                              @gargano

                              Auswahl vom Controller Type und Version beim Installieren durch den User.
                              (Ich glaube , das hast Du so vorgesehen, oder ?)

                              Ja, das war meine erste Idee, weil mir nicht klar war, das man die Daten automatisch ermitteln kann.
                              Deine Lösung klingt besser.

                              Kannst Du eine Identifizierungs - Button anlegen, womit der Controller automatisch gesucht und identifiziert wird ?

                              Ja - das müsste gehen. Gucke ich mir dann die Tage mal an.

                              1 Reply Last reply Reply Quote 0
                              • Grizzelbee
                                Grizzelbee Developer @Gargano last edited by

                                @gargano

                                So - was lange währt wird endlich was (ob auch gut, wir sich zeigen) 😉 .
                                Schau dir bitte mal im Repo den development Branch an. Da habe ich das mal vorbereitet - in der Hofgfnung das Du darauf aufsetzen kannst.

                                viele Grüße
                                grizzelbee

                                Gargano 1 Reply Last reply Reply Quote 0
                                • Gargano
                                  Gargano @Grizzelbee last edited by

                                  @grizzelbee
                                  Kannst Du ein paar Zeilen zu den Änderungen sagen ?
                                  Ich habe gesehen : Message Funktion ist hinzugekommen und ein 'getControllersForAdminSelect'.

                                  Viele Grüße
                                  Werner

                                  Grizzelbee 1 Reply Last reply Reply Quote 0
                                  • Grizzelbee
                                    Grizzelbee Developer @Gargano last edited by

                                    @gargano

                                    Ähm, entschuldige bitte, ja - natürlich.

                                    Also die Idee ist aktuell, das man im Admin auf Controller erkennen klickt.
                                    Dann erkennt der Adapter den verbauten Controller.

                                    Über adapter.config.controller
                                    kannst Du dann die Werte hier abfragen und darauf reagieren:
                                    cf6ead22-88df-40be-863c-82884ac9f340-image.png

                                    Die Hauptversion kann dann über die Config eingestellt und über adapter.config.controllerMajorVersion abgefragt werden.

                                    Reicht Dir das?

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

                                      @grizzelbee Ich habe mal Deine 1.4.0 gerade ausprobiert. Startet leider nicht und Objekte werden auch keine angelegt.
                                      Kann es sein, daß noch etwas fehlt ? Die 1.3.0 geht.

                                      resol.0
                                      2024-07-16 15:11:45.801	debug	Plugin sentry Initialize Plugin (enabled=true)
                                      
                                      resol.0
                                      2024-07-16 15:11:45.767	debug	States connected to redis: 127.0.0.1:9000
                                      
                                      resol.0
                                      2024-07-16 15:11:45.705	debug	States create User PubSub Client
                                      
                                      resol.0
                                      2024-07-16 15:11:45.703	debug	States create System PubSub Client
                                      
                                      resol.0
                                      2024-07-16 15:11:45.690	debug	Redis States: Use Redis connection: 127.0.0.1:9000
                                      
                                      resol.0
                                      2024-07-16 15:11:45.655	debug	Objects connected to redis: 127.0.0.1:9001
                                      
                                      resol.0
                                      2024-07-16 15:11:45.646	debug	Objects client initialize lua scripts
                                      
                                      resol.0
                                      2024-07-16 15:11:45.598	debug	Objects create User PubSub Client
                                      
                                      resol.0
                                      2024-07-16 15:11:45.597	debug	Objects create System PubSub Client
                                      
                                      resol.0
                                      2024-07-16 15:11:45.594	debug	Objects client ready ... initialize now
                                      
                                      resol.0
                                      2024-07-16 15:11:45.539	debug	Redis Objects: Use Redis connection: 127.0.0.1:9001
                                      
                                      Grizzelbee 1 Reply Last reply Reply Quote 0
                                      • Grizzelbee
                                        Grizzelbee Developer @Gargano last edited by

                                        @gargano

                                        Hmm. Das Log sagt ja leider mal gar nichts aus. Und hochgeladen habe ich auch alles.

                                        Wie hast Du die Version denn "installiert"?
                                        Ich teste solche Versionen in der Regel so, dass ich das letzte npm Paket installiere, dann alle nötigen Dateien und Verzeichnisse aus der neuen Version/Branch drüber kopiere und dann noch einen Adapter Upload mache. Dann klappt das immer.

                                        Gargano 1 Reply Last reply Reply Quote 0
                                        • Gargano
                                          Gargano @Grizzelbee last edited by

                                          @grizzelbee Ich habe mittels Admin vom Github installiert. Mit der 1.3.0 vom Master geht das. Vom development nicht.

                                          Grizzelbee 1 Reply Last reply Reply Quote 0
                                          • Grizzelbee
                                            Grizzelbee Developer @Gargano last edited by

                                            @gargano
                                            Ja - das geht aus irgendwelchen Gründen tatsächlich nicht.
                                            Ich kann nur vorschlagen, das Du meinen Weg probierst.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            814
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            140
                                            10635
                                            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