Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [gelöst]Problem bei Übergabe per Script !Anfänger!

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst]Problem bei Übergabe per Script !Anfänger!

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

      @fastfoot

      Danke, das wars!!

      Habe die Zeile

      var Helligkeit = parseInt(Lichtwert.substr(2,3));
      

      angepasst, jetzt klappts

      1 Reply Last reply Reply Quote 0
      • T
        Torsten_MG @fastfoot last edited by

        @fastfoot sagte in Problem bei Übergabe per Script !Anfänger!:

        @paul53 sagte in Problem bei Übergabe per Script !Anfänger!:

        ... ebenfalls die Variable Lichtwert.

        die muss ja ein String sein. Für die Berechnung von ct braucht es mE die Konvertierung mit parseInt() nicht. Eine Lösung hatte ich nicht angegeben weil ich irgendwie denke dass der TE Blockly verwendet 🙂

        Nein, kein Blockly!
        Javascript. Bin aber noch im Anfängerstadium!

        paul53 F 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @Torsten_MG last edited by

          @torsten_mg sagte: Nein, kein Blockly!

          Du hattest aber mit Blockly begonnen, wie man an den Zeilen 2 bis 4 sieht.

          1 Reply Last reply Reply Quote 0
          • F
            fastfoot @Torsten_MG last edited by

            @torsten_mg sagte in Problem bei Übergabe per Script !Anfänger!:

            Nein, kein Blockly!
            Javascript. Bin aber noch im Anfängerstadium!

            das sieht man, aber ich habe auch mal so angefangen. Noch ein Tipp: Du musst den Wert nicht noch einmal holen, da er bereits im Trigger mit übergeben wird.

            • schmeiss Zeile 3 und 4 weg
            • Ändere Zeile 5 zu var Lichtwert = String(obj.state.val);

            Ändere bitte noch deinen Betreff im ersten Beitrag mit [Gelöst]....

            A 1 Reply Last reply Reply Quote 0
            • A
              Ahnungsbefreit @fastfoot last edited by

              @fastfoot @paul53 ...wo Ihr gerade über JS Optimierung redet: Bin ich eigentlich der Einzige, immer mit "use strict" arbeitet und VAR vermeidet und lieber mit LET und CONST arbeitet?

              paul53 F 2 Replies Last reply Reply Quote 0
              • paul53
                paul53 @Ahnungsbefreit last edited by

                @ahnungsbefreit sagte: Bin ich eigentlich der Einzige, immer mit "use strict" arbeitet und VAR vermeidet und lieber mit LET und CONST arbeitet?

                Nein.

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

                  @paul53 Danke für die ausführliche Antwort 🙂

                  Was würdest Du als der Script-Guru hier im Forum denn empfehlen?

                  1 Reply Last reply Reply Quote 0
                  • F
                    fastfoot @Ahnungsbefreit last edited by

                    @ahnungsbefreit sagte in [gelöst]Problem bei Übergabe per Script !Anfänger!:

                    @fastfoot @paul53 ...wo Ihr gerade über JS Optimierung redet: Bin ich eigentlich der Einzige, immer mit "use strict" arbeitet und VAR vermeidet und lieber mit LET und CONST arbeitet?

                    'use strict' sehe ich hier ganz selten, habe auch noch nicht ganz verstanden wozu es gut ist und verwende es fast nie. schäm....

                    var meide ich gewöhnlich wie der Teufel das Weihwasser, allerdings habe ich mir mit JS angewöhnt meine Variablen auch oft mitten im Code zu deklarieren anstatt zu Beginn einer Funktion. Da streite ich mich immer noch mit mir selbst ob das gut oder böse ist 😰

                    A paul53 2 Replies Last reply Reply Quote 0
                    • A
                      Ahnungsbefreit @fastfoot last edited by Ahnungsbefreit

                      @fastfoot Naja es zwingt Dich, Variablen immer vor der Benutzung zu deklarieren und das hilft ungemein, um Tippfehler zu finden. Und bei const/let ist der Scope (Gültigkeitsbereich) auf den Block limitiert, in der sie deklariert werden und ist daher gerade für Variablen hilfreich, die Du nur in einem kleinen Teilbereich wie z.B. innerhalb einer Schleife oder eines if...else... Statements brauchst. Mit Var ist der Scope nicht beschränkt.

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

                        @fastfoot sagte: 'use strict' sehe ich hier ganz selten... und verwende es fast nie.

                        Geht mir ebenfalls so, wobei "use strict" hilft, Fehler nicht erst zur Laufzeit des Skripts zu erkennen.
                        Wenn möglich, verwende ich const. Für lokale Variablen verwende ich let, für globale Variablen var, wobei es an der Stelle eher eine Kommentarfunktion, als ein Unterschied zu let ist.

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

                          @ahnungsbefreit sagte: Mit Var ist der Scope nicht beschränkt.

                          Das stimmt so nicht: Eine innerhalb einer Funktion mit var deklarierte Variable ist nur innerhalb der Funktion gültig.
                          Wichtiger Unterschied zu const / let: Die Deklaration mit var kann auch nach Verwendung der Variablen erfolgen, was man aber generell vermeiden sollte.

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

                            @paul53 said in [gelöst]Problem bei Übergabe per Script !Anfänger!:

                            Eine innerhalb einer Funktion mit var deklarierte Variable ist nur innerhalb der Funktion gültig.

                            Ja, das schon. Aber Beschränkung der Gültigkeit auf untergeordnete Blöcke wie Schleifen oder sonst alles, was in {Klammern} steht, geht mit var überhaupt nicht.

                            Ok, um diese Off-Topic Diskussion nicht zu lange werden zu lassen: Danke für Eure Antworten, Ihr habt mich eigentlich in meiner Haltung bestätigt, weiterhin 'use strict' zu verwenden und 'var' zu vermeiden.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            820
                            Online

                            31.9k
                            Users

                            80.1k
                            Topics

                            1.3m
                            Posts

                            4
                            17
                            347
                            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