Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Systemvariable mit Werteliste in Iobroker

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Systemvariable mit Werteliste in Iobroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      fastfoot @Semmy last edited by

      @semmy Vorschlag:
      Liste.PNG

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Semmy last edited by paul53

        @semmy sagte: Wie kann man das lösen?

        Siehe hier.

        oder

        Bild_2021-11-26_233839.png

        Inhalt der JS-Funktion mit Ergebnis stateText():

        return obj.common.states[obj.state.val];
        
        S 1 Reply Last reply Reply Quote 0
        • S
          Semmy @paul53 last edited by

          @paul53 sagte in Systemvariable mit Werteliste in Iobroker:

          @semmy sagte: Wie kann man das lösen?

          Siehe hier.

          Das verstehe ich nicht, wie soll das genau gemacht werden?

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Semmy last edited by

            @semmy sagte: Das verstehe ich nicht, wie soll das genau gemacht werden?

            Die JS-Funktion stateText() liefert den zugehörigen Text der Werteliste innerhalb eines Triggers: Wert = 0 liefert 22.

            S 1 Reply Last reply Reply Quote 0
            • S
              Semmy @paul53 last edited by Semmy

              @paul53 Was muss in der js-funktion statetext eingetragen werden?

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Semmy last edited by

                @semmy sagte: Was muss in statetext eingetragen werden?

                Habe ich gezeigt (3 Punkte rechts):

                return obj.common.states[obj.state.val];
                
                S 1 Reply Last reply Reply Quote 0
                • S
                  Semmy @paul53 last edited by Semmy

                  @paul53 Und da muss dieses rein?
                  return obj.common.states[obj.state.val];
                  Oder fehlt da noch was?

                  Es tut sich nichts.

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Semmy last edited by paul53

                    @semmy sagte: Es tut sich nichts.

                    Ist der Trigger-Datenpunkt die SV und wurde deren Wert einmal geändert (sonst triggerts nicht)?

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      Semmy @paul53 last edited by Semmy

                      @paul53 Ja, kommen immer Error Meldungen:
                      00:17:48.394 error javascript.0 (25467) script.js.Haus.Pelletofen: ReferenceError: obj is not defined
                      00:17:48.397 error javascript.0 (25467) at stateText (script.js.Haus.Pelletofen:5:5)
                      00:17:48.399 error javascript.0 (25467) at Object.<anonymous> (script.js.Haus.Pelletofen:12:22)

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @Semmy last edited by paul53

                        @semmy sagte: kommen immer Error Meldungen:

                        Poste bitte den vom Blockly erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

                        EDIT: Ich meine diesen:

                        var dp, obj;
                        
                        // Beschreibe diese Funktion …
                        async function stateText(dp) {
                            return dp.common.states[dp.state.val];
                        }
                        
                        
                        on({id: 'default', change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          console.log((await stateText(obj)));
                        });
                        
                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Semmy @paul53 last edited by

                          @paul53 Steht doch schon oben

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Semmy last edited by paul53

                            @semmy
                            Wo?

                            Ändere mal die Funktion in eine mit Parameter dp:

                            Blockly_temp.JPG

                            Die Variable obj muss genau so geschrieben werden. Funktion stateText(dp):

                            return dp.common.states[dp.state.val];
                            
                            S 1 Reply Last reply Reply Quote 0
                            • S
                              Semmy @paul53 last edited by

                              @paul53 ```Hat sich nichts geändert
                              27.11.2021, 10:37:14.835 [error]: javascript.0 (25467) script.js.Haus.Pelletofen: ReferenceError: dp is not defined
                              27.11.2021, 10:37:14.836 [error]: javascript.0 (25467) at stateText (script.js.Haus.Pelletofen:5:5)
                              27.11.2021, 10:37:14.837 [error]: javascript.0 (25467) at Object.<anonymous> (script.js.Haus.Pelletofen:12:22)

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @Semmy last edited by

                                @semmy sagte: ReferenceError: dp is not defined

                                Bild_2021-11-27_104001.png

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  Semmy @paul53 last edited by

                                  @paul53 Ok, das war es, jetzt funktioniert es. Vielen Dank

                                  Viele Grüße
                                  Semmy

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    Semmy @Semmy last edited by

                                    @semmy Noch eine Frage. Was muss geändert werden für eine 2. Werteliste?

                                    paul53 1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @Semmy last edited by paul53

                                      @semmy sagte: Was muss geändert werden für eine 2. Werteliste?

                                      Was meinst Du mit 2. Werteliste?
                                      Ein weiterer Datenpunkt mit Werteliste? Dann muss nichts geändert werden, wenn jeder Datenpunkt einen eigenen Trigger erhält, in dem jeweils die JS-Funktion stateText(dp) aufgerufen wird.

                                      Bild_2021-11-27_121201.png

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        Semmy @paul53 last edited by

                                        @paul53 Genau, jetzt passt es. Danke

                                        Gruß
                                        Semmy

                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          Semmy @Semmy last edited by Semmy

                                          @semmy Hallo
                                          Ist das folgende Blockly so in Ordnung, kommt immer mal vor, dass sich der Ofen nicht ab- oder anschaltet
                                          Ofen.jpg
                                          Mit diesen Einstellungen funktioniert es immer
                                          Ofen1.jpg
                                          Viele Grüße
                                          Semmy

                                          paul53 1 Reply Last reply Reply Quote 0
                                          • paul53
                                            paul53 @Semmy last edited by

                                            @semmy
                                            Die beiden Grenzwertvariablen müssen bei Skriptstart initialisiert werden. Dafür benötigt man eine andere JS-Funktion getStateText(id) mit folgendem Inhalt:

                                            return getObject(id).common.states[getState(id).val];
                                            

                                            Blockly_temp.JPG

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            435
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            24
                                            999
                                            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