Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Aufzählungen mittels Blockly editieren

    NEWS

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    Aufzählungen mittels Blockly editieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @legro last edited by liv-in-sky

      @legro

      stimme @Homoran zu

      aber mal ein beispiel (als javascript):

      Image 4.png

      letztlich musst du das array bearbeiten und das script muss wissen, wie das aussehen soll

      Image 3.png

      <block xmlns="https://developers.google.com/blockly/xml" type="procedures_defcustomnoreturn" id="QdjLy2IH+?oeWFt^$!lN" x="787" y="412">
       <mutation statements="false">
         <arg name="dasObj" varid="9@JvwwDztWy6Y{O+ga{z"></arg>
         <arg name="dasArray" varid="yyBQDrh1]ngG,Ae~w]p8"></arg>
       </mutation>
       <field name="NAME">setzeMembers</field>
       <field name="SCRIPT">DQoNCmxldCBteU9iaj1nZXRPYmplY3QoZGFzT2JqKQ0KbG9nKG15T2JqLmNvbW1vbi5tZW1iZXJzLnRvU3RyaW5nKCkpDQpteU9iai5jb21tb24ubWVtYmVycz1kYXNBcnJheTsgICAvL25ldWUgZGVmIGbDvHIgZGllIG1lbWJlcnMgLSBkZXIgZHJpdHRlIGRwIGlzdCBuaWNodCBtZWhyIGRhYmVpDQovL215T2JqLm5hdGl2ZS5zZXR0aW5ncyA9IDE7DQpzZXRPYmplY3QoZGFzT2JqLG15T2JqKQ0KbG9nKG15T2JqLmNvbW1vbi5tZW1iZXJzLnRvU3RyaW5nKCkp</field>
       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
      </block>
      

      seltsamerweise bekomme ich (nur) im blockly eine warnung (als pures javascript nicht) - evtl weiß @paul53 warum da die meldung kommt

      
      javascript.0
      2021-09-26 13:36:54.145	warn	This object will not be created in future versions. Please report this to the developer.
      
      javascript.0
      2021-09-26 13:36:54.145	warn	Object enum.functions.Steckdose is invalid: obj.type has to exist
      
      Homoran paul53 2 Replies Last reply Reply Quote 1
      • Homoran
        Homoran Global Moderator Administrators @liv-in-sky last edited by

        @liv-in-sky sagte in Aufzählungen mittels Blockly editieren:

        im blockly eine warnung (als pures javascript nicht)

        @liv-in-sky sagte in Aufzählungen mittels Blockly editieren:

        obj.type has to exist

        Wenn ich es richtig in erinnerung habe kann man mit Blockly keine (???) Objects (korrekt???) erstellen

        liv-in-sky 1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @Homoran last edited by

          @homoran das object wird erstellt und richtig abgespeichert - es funktioniert soweit - das setObject mit dem neuen array wird ja in der javascript function gemacht - daher die verwunderung

          Homoran 1 Reply Last reply Reply Quote 1
          • Homoran
            Homoran Global Moderator Administrators @liv-in-sky last edited by

            @liv-in-sky sagte in Aufzählungen mittels Blockly editieren:

            das object wird erstellt und richtig abgespeichert

            aber laut log fehlt dort der type

            liv-in-sky 1 Reply Last reply Reply Quote 1
            • liv-in-sky
              liv-in-sky @Homoran last edited by

              @homoran
              und da hast du recht - der type fehlt bei mir tatsächlich - ich denke der fehler ist bei mir, dass dieses enum durch einen import von irgendwelchen test-dp kam und schon falsch waren - ich habe einfach irgendein enum zum test genommen, was ich nicht nutze 😞

              daher solle das ganze bei @legro zu keinen fehlern kommen !

              paul53 1 Reply Last reply Reply Quote 1
              • paul53
                paul53 @liv-in-sky last edited by

                @liv-in-sky
                Was hat es mit

                myObj.native.settings = 1;
                

                auf sich?

                liv-in-sky 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @paul53 last edited by

                  @paul53 hatte ich mich auch gefragt - ist so in der beschreibung https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#setobject

                  kann man wohl löschen, wenn du das nicht kennst

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @liv-in-sky last edited by

                    @liv-in-sky
                    Alternative Funktion setMembers(idEnum, members):

                    extendObject(idEnum, {common: {members: members}});
                    
                    liv-in-sky 1 Reply Last reply Reply Quote 1
                    • liv-in-sky
                      liv-in-sky @paul53 last edited by liv-in-sky

                      @paul53

                      ist das besser und bevorzuziehen ?

                      das script macht das, was es soll mit beiden befehlen

                      weißt du, warum das in der beschreibung ist: "myObj.native.settings = 1;" ich hatte das nur reingetan, als ich die warnung erhielt - die hatte aber eine andere ursache gahabt

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @liv-in-sky last edited by

                        @liv-in-sky sagte: warum das in der beschreibung ist: "myObj.native.settings = 1;"

                        Das ist nur ein zufälliges Beispiel.

                        liv-in-sky 1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @paul53 last edited by

                          @paul53 danke - habe es oben rausgenommen

                          1 Reply Last reply Reply Quote 0
                          • L
                            legro @Homoran last edited by

                            @homoran said in Aufzählungen mittels Blockly editieren:
                            .., aber wenn es so sein soll, ..

                            Ich hätte es nunmal gerne möglichst variabel.🙂

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @legro last edited by Homoran

                              @legro sagte in Aufzählungen mittels Blockly editieren:

                              Ich hätte es nunmal gerne möglichst variabel.

                              das ist aber nicht Sinn der Aufzählungen und außerdem:

                              um es variabel zu halten müsstest du ja per Script eh alle Rollläden verwalten und dann diese je nach Bedarf dieser einen Aufzählung zuordnen.

                              Dann kannst du es auch direkt per Blockly über Variablen zuordnen ohne die Aufzählungen zu vergewaltigen

                              L 1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @legro last edited by

                                @legro

                                was du noch testen mußt - kann sein, dass dies kein problem ist aber checken solltest du:

                                evtl ist das problem, dass trigger auf die enums nicht funktionieren, weil zwar das object erneuert wurde aber der trigger selbst auf den cache zugreift - das also die änderung des objects erst durch einen neustart des scriptes richtig reagiert - habe das nicht getestet

                                kann sein - muss nicht - hatte solche themen schon bei anderen abfragen der objecte

                                paul53 1 Reply Last reply Reply Quote 0
                                • L
                                  legro @Homoran last edited by legro

                                  @homoran @liv-in-sky

                                  Oh je, da habe ich aber etwas losgetreten.😮

                                  Vielen Dank für eure Unterstützung. Bitte vergesst nicht: Ich bin in JavaScript noch blutiger Anfänger. Da Aufzählungen im Prinzip als ARRAY daherkommen, wollte ich sie verwenden, kann ich auf diese Weise auch über die Admin-Oberfläche deren Mitglieder verwalten.

                                  Hier meine naive Ideen ..

                                  • Jede Gruppe erfasse ich mit einem ARRAY, dessen Element ich mit der Methode splice verwalten kann. Meine Idee: Warum nicht gleich eine Aufzählung als ARRAY in mein Skript einbinden.
                                  • Im Endausbau erweitere ich die Gruppen zu Objects und weise ihnen Methoden zu, die es erlauben, Zeitsteuerungen, Sonnenstand, Öffnungsgrade, .. zu verwalten.

                                  Wenn ich eure Diskussion so lese, habe ich den Eindruck, dass ich mir zum Einstieg in die Programmierung wohl besser eine einfachere Aufgabe suchen sollte.🙄

                                  1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @liv-in-sky last edited by

                                    @liv-in-sky sagte: trigger auf die enums nicht funktionieren,

                                    Triggern kann man ohnehin nur auf Datenpunkte, da nur Datenpunkte Zustände haben, auf deren Aktualisierung getriggert werden kann.

                                    liv-in-sky 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @paul53 last edited by

                                      @paul53

                                      ich dachte an sowas:

                                      Image 5.png

                                      da wird doch die functions abgefragt? und ich dachte, evtl ist das noch im cache veraltet

                                      oder liege ich völlig falsch ?

                                      L paul53 2 Replies Last reply Reply Quote 0
                                      • L
                                        legro @liv-in-sky last edited by legro

                                        @liv-in-sky @paul53

                                        Bevor die Diskussion völlig an mir vorbeigeht ..

                                        Fürs Erste wäre mir schon geholfen, wenn ich wüsste, wie man eine Referenz einer Aufzählung in eine Variable (z.B. GruppeAbends) speichern kann, um dann diese als ARRAY zu behandeln. Hier sollten wohl die Funktionen GetObject eine Rolle spielen.🤔

                                        liv-in-sky 1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @legro last edited by

                                          @legro hab ich doch gepostet

                                          1 Reply Last reply Reply Quote 0
                                          • paul53
                                            paul53 @liv-in-sky last edited by paul53

                                            @liv-in-sky sagte: da wird doch die functions abgefragt? und ich dachte, evtl ist das noch im cache veraltet

                                            Nicht, wenn es per Javascript verändert wird, denn dann läuft es über den Puffer der Javascript-Instanz. Allerdings wird das Trigger-Array nur bei Skriptstart aus dem Selektor gebildet und verändert sich bei laufendem Skript nicht mehr.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            421
                                            Online

                                            32.2k
                                            Users

                                            80.9k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            30
                                            934
                                            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