Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. durchgestrichener Feldname

    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

    durchgestrichener Feldname

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      legro @Homoran last edited by legro

      @homoran sagte in durchgestrichener Feldname:

      es geht nur um den Befehl getState im Javascript. Nichts anderes.

      getState(?) bzw. state sollte nach der hier verwendeten Syntax (obj.state.val) doch kein dynamischer Befehl/Funktion sein, sondern ein statisches Feld von obj.

      Jetzt bin ich noch verwirrter. Lassen wir‘s gut sein. Ich weiß ja nun für den hier diskutierten Fall, was zu tun ist.

      1 Reply Last reply Reply Quote 0
      • haus-automatisierung
        haus-automatisierung Developer Most Active @legro last edited by

        @legro sagte in durchgestrichener Feldname:

        Mir hat die hier im Thread gewonnene Erkenntnis, dass offenbar Teile von Objekten veralten können, einen gehörigen Schreck eingejagt.

        Nochmal: Das Objekt, welches dynamisch zusammengebaut wird und zwei identische Eigenschaften hat (state und newState) wird dynamisch vom JavaScript Adapter zusammengebaut und dann an deine definierte Callback-Funktion übergeben.

        Dass die eine Eigenschaft vor gut 8 Jahren umbenannt wurde und man deswegen den alten Namen nicht mehr verwenden sollte, sagt dir der Script Editor schon genau so lange.

        Du müsstest dich jetzt also weiterhin weigern den „neuen“ Namen zu verwenden, dann irgendwann ein Upgrade vom JavaScript Adapter machen (wobei noch nichtmal klar ist, wann das Attribut wirklich entfällt), das Changelog ignorieren und das Upgrade trotzdem machen und dann ein Problem bekommen dass der Wert nicht mehr gelesen werden kann, wenn der Trigger auslöst.

        Heißt: Viel Lärm um nichts. Du hängst das hier viel zu hoch auf. Das ist ein ganz normaler Prozess in jeder Software und man hat wirklich eine Ewigkeit Zeit um die Scripts anzupassen.

        Homoran 1 Reply Last reply Reply Quote 1
        • Homoran
          Homoran Global Moderator Administrators @haus-automatisierung last edited by Homoran

          @haus-automatisierung sagte in durchgestrichener Feldname:

          eine Ewigkeit Zeit um die Scripts anzupassen.

          @legro und wirklich nur diese!

          keine Datenpunkte, keine Strukturen, nur diesen einen Befehl newState, in den Skripten, in denen er verwendet wird,

          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @Homoran last edited by

            @homoran getState hat damit nichts zu tun. Nur Logik innerhalb Trigger

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @haus-automatisierung last edited by Homoran

              @haus-automatisierung sagte in durchgestrichener Feldname:

              @homoran getState hat damit nichts zu tun. Nur Logik innerhalb Trigger

              @legro
              Sorry, ich meinte newState

              werde es nachträglich überall ändern!

              edit
              waren "nur" 2 Stellen.
              Sorry wenn ich dadurch Verwirrung ausgelöst hatte

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

                @haus-automatisierung sagte in durchgestrichener Feldname:

                Heißt: Viel Lärm um nichts. Du hängst das hier viel zu hoch auf. ..

                Du weißt, wie sehr ich dich und deine Arbeiten schätze, aber hier ist mein Empfinden ein völlig anderes.

                Ich bin jetzt fast fünf Jahre dabei. Dank deines hervorragenden Blockly habe ich sehr schnell den Zugang zu ioBroker gefunden und die Einarbeitung in JavaScript immer wieder erfolgreich verschoben. Mein erstes Projekt (vor gut einem drei Viertel Jahr) war eine objektorientierte (OOP) Rollladensteuerung für meinen Schwiegersohn. Fleißig habe ich Objekte mit Feldern und Methoden definiert und diese dann via deinem Blockly bereitgestellt. Obwohl wir mit dem Ergebnis hochzufrieden waren, stimmten mich dann doch die Erkenntnisse der OOP-Implementierung äußerst skeptisch, war ich doch andere Standards gewohnt.

                Und hier liegt nun vermutlich mein Problem: In JavaScript muss der Programmierer weitaus mehr an Verantwortung übernehmen als in anderen Programmiersprachen, die durch ihre strengen, syntaktischen Regeln so manche Fehler verhindern.

                Seit einem guten halben Jahr versuche ich nun, unsere Hausautomatisierung rein in JavaScript zu kodieren. Dank der Mächtigkeit von JavaScript konnte ich Lösungen generieren, die ich mir zuvor nicht einmal habe erträumen können. Der Preis: JavaScript lässt einen nur allzu oft in Fallen tappen, die bei Programmiersprachen mit strenger Syntax und Typisierung einem gar nicht erst begegnen können.

                Wie du siehst, sind wir beide ziemlich verschieden gestrickt. Was mir Angst macht, sind für dich unbedeutende Kleinigkeiten.

                Fazit ..

                Trotz all meiner Kritik an JavaScript & Co. habe ich auf meine alten Tage ein wunderschönes, erfüllendes Hobby gefunden. Den Zugang hierzu fand ich übrigens durch Blockly und deinem hervorragenden ioBroker Masterkurs, den man nur jedem Anfänger empfehlen kann.

                Jetzt aber den Deckel drauf!🙂

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

                  @homoran sagte in durchgestrichener Feldname:

                  Sorry wenn ich dadurch Verwirrung ausgelöst hatte

                  Macht nichts! Was mich verwirrt, kannst du in meiner Antwort zu @haus-automatisierung lesen.

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

                    @legro
                    schau dir typescript an. Da gast du die dir fehlenden strengeren Regeln.

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

                      @mcm1957 sagte in durchgestrichener Feldname:

                      @legro
                      schau dir typescript an. ..

                      Danke für den Tipp. Darin habe ich schon reingeschnuppert. Aber noch eine weitere Sprache .. ? Die Unterschiede zu JavaScript sind in der Tat wohl nicht allzu groß. Aber ich bin in einem Alter, in dem sich die Erkenntnis durchsetzt: Ich kann mir nur noch schlecht etwas merken, aber vergessen kann ich gut.😖

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer @legro last edited by

                        @legro sagte in durchgestrichener Feldname:

                        @mcm1957 sagte in durchgestrichener Feldname:

                        @legro
                        schau dir typescript an. ..

                        Danke für den Tipp. Darin habe ich schon reingeschnuppert. Aber noch eine weitere Sprache .. ? Die Unterschiede zu JavaScript sind in der Tat wohl nicht allzu groß. Aber ich bin in einem Alter, in dem sich die Erkenntnis durchsetzt: Ich kann mir nur noch schlecht etwas merken, aber vergessen kann ich gut.😖

                        Das ist nur Javascript mit den von dir gewünschten strengeren Regeln. Da geht halt:

                        let a = 3;
                        const  b = 'vier';
                        a = b;
                        

                        nicht.

                        Bildschirmfoto 2025-06-28 um 10.07.36.png

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        757
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        7
                        42
                        772
                        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