Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Checkbox in Adaperkonfiguration deaktivieren

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Checkbox in Adaperkonfiguration deaktivieren

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

      Das mit dem Callback klingt logisch und würde sicherlich bei meinem Problem helfen.

      Allerdings muss ich dazu sagen dass ich leider noch absoluter JavaScript newbie bin und nicht so ganz verstehe wie ich das implementieren kann.

      Der Callback müsste ja quasi über alle setObjects etc. gehen.

      Auch Google hatte mir jetzt nichts brauchbares ausgespuckt, was ich verstehe…

      Hättest Du evtl. ein kurzes Codebeispiel für mich?

      1 Reply Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer last edited by

        @SchuetzeSchulz:

        Hättest Du evtl. ein kurzes Codebeispiel für mich? `
        So ähnlich wie hier http://forum.iobroker.net/viewtopic.php … 66#p112166

        Nur mit setObject statt createState und entsprechend angepassten Definitionen. Und die Funktion main() ersetzt durch deinen Adapter-Neustart.

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

          Das setzt aber voraus, dass ich vorab schon weiß welche/wieviele States ich habe, oder?

          Bei liest der Adapter diese ja erstmal aus dem Gateway aus (setupDevices()) und erzeugt diese dann dynamisch.

          1 Reply Last reply Reply Quote 0
          • AlCalzone
            AlCalzone Developer last edited by

            Wie gesagt, ich weiß nicht wie dein Gateway bzw. die Kommunikation funktioniert und wann du weißt welche States erzeugt werden. Anhand der Gateway-Antwort müsstest du aber ermitteln können wie viele States es werden, oder?

            Im Prinzip kannst du auch deiner Funktion setupDevices() einen Callback übergeben und den dann in setupDevices aufrufen, wenn alle States fertig sind. In diesem Callback gehts dann weiter bzw. startest du den Adapter neu.

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

              Hmm, mir scheint ich habe da ein größeres Problem im Adapter.

              Ich bekomme auch Fehler im Log, wenn ich "nur" den Adapter manuell über den Admin stoppe.

              Und das nicht nur wenn der Adapter nur kurz läuft (dann hätte man ja vermuten können er ist mit den setObject's noch beschäftigt), sondern auch nach längerer Laufzeit 😞

              1 Reply Last reply Reply Quote 0
              • AlCalzone
                AlCalzone Developer last edited by

                @SchuetzeSchulz:

                Ich bekomme auch Fehler im Log `
                Wenn du sie postest, kann man eventuell helfen 😉

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

                  Sind die gleichen wie oben.

                  Quasi keine wirklich Fehler aber halt rot 🙂

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

                    Eigentlich so ein Parameter sollte nicht als Object, sondern als State existieren.

                    Einfach in ip-package.json

                    ein State definieren (z.B. "info.initialized", wie hier https://github.com/ioBroker/ioBroker.mi … e.json#L99 )

                    Und im Adapter dann nach der Initialization auf true setzen.

                    Beim Start dann prüfen ob "info.initialized" true ist.

                    {
                                "_id": "info.initialized",
                                "type": "state",
                                "common": {
                                    "role": "indicator.initialized",
                                    "name": "If all information was read from Gateway",
                                    "type": "boolean",
                                    "read": true,
                                    "write": true,
                                    "def": false
                                },
                                "native": {}
                            }
                    

                    Man muss nur dann den Adapter uploaden und neue Instanz anlegen, dann wird die Variable "info.initialized" automatisch erzeugt.

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

                      Dann geht es aber nicht per Admin zu setzen. Er will den gleichen Mechanismus wir „one time sync“ im hm-Rpc

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

                        @apollon77:

                        Dann geht es aber nicht per Admin zu setzen. Er will den gleichen Mechanismus wir „one time sync“ im hm-Rpc `

                        Genau und das geht meines Wissens mit Bluefox' gepostetem Lösungsvorschlag nicht, oder?

                        1 Reply Last reply Reply Quote 0
                        • AlCalzone
                          AlCalzone Developer last edited by

                          @apollon77:

                          Dann geht es aber nicht per Admin zu setzen. `
                          Ich bin mir nicht 100% sicher, was der Socket im Admin-Interface alles zulässt, aber eventuell per

                          socket.emit("setState", stateID, value, callback);
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • Bluefox
                            Bluefox last edited by

                            @AlCalzone:

                            @apollon77:

                            Dann geht es aber nicht per Admin zu setzen. `
                            Ich bin mir nicht 100% sicher, was der Socket im Admin-Interface alles zulässt, aber eventuell per

                            socket.emit("setState", stateID, value, callback);
                            
                            ```` `  
                            

                            Das geht

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

                              Darf ich fragen, was das socket.emit bewirkt?

                              Soll ich das statt setForeignObject nutzen?

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

                                @Bluefox: Warum kann er es nicht so machen wie auch hm-rpc … bzw warum tut es nicht?

                                1 Reply Last reply Reply Quote 0
                                • AlCalzone
                                  AlCalzone Developer last edited by

                                  @SchuetzeSchulz:

                                  Darf ich fragen, was das socket.emit bewirkt?

                                  Soll ich das statt setForeignObject nutzen? `
                                  Das ist eine Möglichkeit, aus der Admin-Oberfläche bestimmte Adapterfunktionen aufzurufen - mit leicht anderer Syntax.

                                  Ich glaube aber dass bei dem was du vor hast (1x Sync aus Admin anstoßen?) die ursprüngliche Lösung einfacher ist - wenn du denn das Timing des Adapter-Neustarts auf die Reihe bekommst.

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  758
                                  Online

                                  31.7k
                                  Users

                                  79.8k
                                  Topics

                                  1.3m
                                  Posts

                                  4
                                  27
                                  2177
                                  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