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.
    • haus-automatisierung
      haus-automatisierung Developer Most Active @legro last edited by

      @legro Seit fast 8 Jahren erscheint diese Meldung im Editor, dass man das nicht mehr nutzen sollte. Wie lang sollte die Übergangsfrist deiner Meinung nach noch andauern?

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

        @legro sagte in durchgestrichener Feldname:

        Danke für deine ausführliche Antwort.👍 Aber: Ich brauche keine Beispiele à la „Wie sage ich meinem Kind“. 🙂 Ich habe über Jahrzehnte große Projekte nicht nur geplant, sondern auch realisiert

        Aber dann sollte dir doch eigentlich auch der Begriff der systempflege geläufig sein. Klar hier ist man in einem Community Projekt und da laufen nicht alle Prozesse nicht immer so wie sie im Profi Umfeld laufen sollten. (Auch dort nicht immer perfekt)

        Unternehmen wenden einiges an Zeit auf um changelogs / Release notes / Security bulltins / etc. zu lesen und dann Aktivitäten davon ableiten. Insbesondere bei major releases gibt es immer Dinge, die man beachten sollte, selbst ohne das es die eigene Funktionalität direkt betrifft.
        Macht man das nicht veraltet die eigene Software und irgendwann ist das Drama groß. Für einige Dinge meldet der iobroker ja bereits selbst im log warnhinweise, das etwas nicht mehr verwendet werden soll.

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

          @legro sagte in durchgestrichener Feldname:

          Wenn ich nicht auf die hier diskutierte Weise auf den Wegfall alter Bezeichnungen aufmerksam gemacht worden wäre, hieße dies doch im schlimmsten Fall, dass mein System aufgrund veralteter Datenpunkte irgendwann nicht mehr das tut, wofür es erstellt wurde.

          Was für veraltete Datenpunkte? Die haben nichts damit zu tun. Das wird im Trigger zusammengebaut. Dynamisch zur Laufzeit. Es gibt nichts zu tun für dich und alles wird problemlos weiterlaufen, wenn Du in deinen Scripts nirgendwo . newState verwendest, sondern stattdessen .state. Fertig. Das ist alles. Das betrifft ausschließlich Scripts.

          Was müssen die Nutzer ggf. tun und haben dazu jetzt fast 8 Jahre Zeit gehabt? In allen Triggern .newState durch .state ersetzen. Fertig. Nichts an Datenpunkten, an der Objekt-Datenbank oder State-Datenbank.

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

            @legro sagte in durchgestrichener Feldname:

            dass mein System aufgrund veralteter Datenpunkte

            Was hast du immer mit den Datenpunkten??

            es geht um einen javascript Befehl den du nutzt um Datenpunkte abzufragen!
            Der Befehl ist veraltet, nicht die Datenpunkte!!

            1 Reply Last reply Reply Quote 1
            • L
              legro @haus-automatisierung last edited by legro

              @haus-automatisierung sagte in durchgestrichener Feldname:

              @legro Seit fast 8 Jahren erscheint diese Meldung im Editor, dass man das nicht mehr nutzen sollte. Wie lang sollte die Übergangsfrist deiner Meinung nach noch andauern?

              Selbstverständlich lebenslang!🙂

              Es wird ja nur allzu gerne über M$ gelästert, aber hier habe ich nie damit rechnen müssen, dass meine Algorithmen und Datenstrukturen von einem Verfallsdatum bedroht waren. Es mag ja sein, dass ich schon zu alt bin und die Welt ganz anders sehe - da kommen wir beide wohl nicht auf einen Nenner. Zum Glück hat dieser Thread mir die Augen geöffnet, mit was man heutzutage rechnen muss. Mit derartigem hätte ich nie und nimmer gerechnet. Ich tröste mich damit, dass ich das Ganze ja nur für den Hausgebrauch - Pardon: Hausautomatisierung - benötige.😉

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

                @legro sagte in durchgestrichener Feldname:

                Es mag ja sein, dass ich schon zu alt bin und die Welt ganz anders sehe

                so sieht es im Moment wirklich aus!
                Du missverstehst hier anscheinend alle Aussagen, nur weil du auf einer falschen Fährte abgebogen vist, von der du dich nicht mehr zurückbringen lässt.

                Deine Struktur und deine Datenpunkte haben nichts zu befürchten

                OliverIO 1 Reply Last reply Reply Quote 1
                • OliverIO
                  OliverIO @Homoran last edited by

                  @homoran

                  Oh du erinnerst mich. Ich muss meine Windows. 3.11 Anwendungen neu starten. Die wollen seit kurze, nicht mehr ganz so wie ich will.
                  Manchmal kann mir da auch die DunningKruger Hotline helfen.
                  Aber alles nur Spaß

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

                    @oliverio

                    Ich sollte also das Ganze künftig nicht mit Bierernst, sondern besser bloß mit Bier ernst angehen.😂

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

                      @legro
                      Nochmal zurück zum eigentlichen Thema:

                      Wenn du kein Typescript benutzt sollten die Skripte über Jahre stabil und ohne Änderung laufen, solange du nichts einbaust das als veraltet markiert ist. Und halt changelog lesen, wenn der Javascript adapter ne 10, 11, 12 usw. vorne bekommt.

                      Bei Typescript kann die immer besser werdende Fehlererkennung, das transpilieren verhindern, in dem sie dich auf einen alten aber jetzt gefunden Fehler hinweist.

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

                        @legro sagte in durchgestrichener Feldname:

                        Es wird ja nur allzu gerne über M$ gelästert, aber hier habe ich nie damit rechnen müssen, dass meine Algorithmen und Datenstrukturen von einem Verfallsdatum bedroht waren.

                        Welche Datenstruktur ist denn konkret bedroht?!

                        Hier übrigens noch die (sehr lange) Liste an Windows deprecated Features, welche bald rausfliegen: https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features

                        L 1 Reply Last reply Reply Quote 1
                        • L
                          legro @haus-automatisierung last edited by

                          @haus-automatisierung

                          Danke, dass du nochmals nachfragst. Bedroht ist (hoffentlich) konkret nichts. Mir hat die hier im Thread gewonnene Erkenntnis, dass offenbar Teile von Objekten veralten können, einen gehörigen Schreck eingejagt. An so etwas hätte ich nicht im Traum gedacht.

                          Oh je, was habe ich hier losgetreten.😨 Nun will ich hier keine Grundsatzdiskussion führen, dazu habe ich in Sachen JavaScript viel zu wenig Grundlagenwissen.🙁 Es ist müßig, die einzelnen Systeme gegeneinander aufrechnen zu wollen. So habe ich als Anfänger in JavaScript innerhalb eines guten halben Jahres dank der Mächtigkeit von JavaScript Lösungen umsetzen können, die ich mit den mir vertrauten Sprachen wohl kaum in so kurzer Zeit hinbekommen hätte. Ich habe mir nun vorgenommen, alles nicht so ernst zu nehmen, schließlich ist es ja nur ein Hobby für mich.

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

                            @legro sagte in durchgestrichener Feldname:

                            dass offenbar Teile von Objekten veralten können,

                            Da bist du auf dem Holzweg!
                            Wo steht das???

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

                            mit den Objekten, oder Teilen davon, passiert gar nichts

                            Was, bitte, müssen wir tun, damit du dieses Missverständnis, auf das du deine Argumentationen aufbaust, erkennst, damit sich alle deine Bedenken in Wohlgefallen auflösen?

                            edit: korrigiert

                            L 1 Reply Last reply Reply Quote 0
                            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            397
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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