Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Einführung in JavaScript - Diskussionsthread

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Einführung in JavaScript - Diskussionsthread

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 last edited by

      @gst666:

      Es gibt folgende primitiven Datentypen:

      • Boolean

      • Undefined

      • Null

      • Number

      • String Du solltest Javascript-Schlüsselworte generell so schreiben, wie sie in Javascript zu schreiben sind (also klein), da es Anfänger sonst verwirren könnte > Es gibt folgende primitiven Datentypen:

      • 'boolean'

      • 'undefined'

      • null ??

      • 'number'

      • 'string' `
        Ist null wirklich ein Datentyp ? Meiner Meinung nach ist null ein spezieller Wert und typeof null liefert 'object' .
        @gst666:

      Boolean:

      Der Datentyp Boolean stellt einen logischen Wert: „true“ oder „false“. Man kann sich das vorstellen wie Licht an/aus. "true" und "false" sind Strings, was ebenfalls zur Annahme führen könnte, dass es auch so verwendet werden kann. Besser: > boolean:

      Der Datentyp 'boolean' stellt einen logischen Wert: true oder false. Man kann sich das vorstellen wie Licht an/aus. `
      Um Schlüsselwörter hervorzuheben, besser eine andere Schriftart verwenden als die normale, aber bitte keine Anführungszeichen.

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

        Hallo gst666;

        ich muss da paul53 recht geben, auch ich versuche immer Anführungszeichen wo sie nicht hingehören zu vermeiden und durch andere Hilfsmittel den entsprechenden Text hervorzuheben.

        Apropos Anführungszeichen:

        Ich habe heute morgen deinen Text von gestern und soeben deinen aktuellen Text auf die Website kopiert und dabei gesehen, dass wieder (ohne System) typographische An- und Abführungszeichen vorkamen - warum auch immer :?:

        Diesmal waren dann in dem letzten Beispiel sogar andere Hochkommata drin (IMHO diesmal korrekt)

        Ich muss beizeiten nochmal den gesamten Text (zumindest auf der Website) danach durchflöhen und ändern.

        Für heute las ich es noch.

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • G
          gst666 last edited by

          @paul53

          Macht Sinn den Datentyp genauso zu schreiben wie das Schlüsselwort, um Verwirrungen zu vermeiden. Werde ich ändern.

          null ist laut Definition ein primitiven Datentyp. In der Spezifikation von Javascript kann man es nachlesen: http://www.ecma-international.org/ecma- … null-value.

          Die Idee Schlüsselwörter hervorzuheben finde ich gut. Mit den Anführungszeichen bin ich nicht glücklich. Mal sehen, ob das auch so einfach in das Wiki kopiert werden kann. Übrigens „true“ oder „false“ sind gerade keine Strings. Nur die Zeichen " oder ' begrenzen einen String. Die Zeichenkombination „“ begrenzt keinen String.

          @Homoran

          Die blöden „“ zaubert mir die Autokorrektur rein. Der Vorschlag von Paul möglichst auf Anführungszeichen zu verzichten ist sicherlich der Königsweg. Im Forum würde ich solche Worte einfach so kennzeichnen.

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

            @gst666:

            null ist laut Definition ein primitiven Datentyp. In der Spezifikation von Javascript kann man es nachlesen: http://www.ecma-international.org/ecma- … null-value. `
            Das stimmt laut ECMA-Definition zwar, aber ich würde als Datentyp nur die Sachen bezeichnen, die typeof Wert liefert. null ist hingegen ein Wert und wird ohne Hochkomma verwendet, während typeof immer einen String liefert.
            @gst666:

            Übrigens „true“ oder „false“ sind gerade keine Strings. `
            Stimmt, kann man aber leicht übersehen (wie mir geschehen).

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

              @gst666:

              Die blöden „“ zaubert mir die Autokorrektur rein. Der Vorschlag von Paul möglichst auf Anführungszeichen zu verzichten ist sicherlich der Königsweg. `
              Mir geht es nicht um den Text sondern um die Codebeispiele.

              dort müssen ja Stringerkennungszeichen 😉 den String eingrenzen, egal ob es einfache oder doppelte Hochkommata sind.

              Die An- und Abführungszeichen habe ich auf der Website bereits gegen dopppelte Hochkommata ersetzt, jedoch scheinen es sich bei den einfachen Hochkommata zu 95% ebenfalls um typographische An-und Abführungszeichen (allerdings einfache) zu handeln. Ich habe das bereits früher vermutet, weil An- und Ab- sahen unterschiedlich aus, jetzt bin ich mir sicher, da im letzten Beispiel des letzten Teils tatsächlich echte Hochkommata verwendet wurden.
              144_einfache_hochkommata.jpg
              Wie gesagt, da muss ich die Seite noch mal durcharbeiten. Ich hoffe nur, dass bei cut and paste in einen Linuxeditor das sowieso automatisch korrigiert wird.

              Gruß

              Rainer

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

                @gst666:

                ts: Zeitstempel, wann der Wert geändert wurde

                q: nicht bekannt

                from: Instanz des Adapter, der die Meldung in ioBroker gesetzt hat

                lc: Zeitstempel, des davor liegenden letzten Änderung des Wertes `
                ts: Zeitstempel, wann der Wert aktualisiert wurde (auch ohne Wertänderung)

                lc: Zeitstempel, wann der Wert geändert wurde

                from: Adapter-Instanz, die den Wert zuletzt aktualisiert hat

                q: Qualität - Nummer mit folgenden Zuständen:
                ` > 0x00 - 00000000 - gut (kann auch undefined oder null sein)

                0x01 - 00000001 - generell schlecht, generelles Problem

                0x41 - 01000001 - generelles Problem mit dem Gerät

                0x81 - 10000001 - generelles Problem mit dem Sensor

                0x42 - 01000010 - Gerät nicht verbunden

                0x82 - 10000010 - Sensor nicht verbunden

                0x44 - 01000100 - Fehlermeldung aus dem Gerät

                0x84 - 10000100 - Fehlermeldung aus dem Sensor `

                1 Reply Last reply Reply Quote 0
                • G
                  gst666 last edited by

                  @paul53

                  Danke für Deine Hinweise. lc hatte ich falsch verstanden. Habe Deine Anmerkung in die Doku eingearbeitet.

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    Habe alles auf der Webseite eingepflegt. Es ist ein sehr gute Einleitung geworden.

                    Danke.

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

                      :oops: Bin zum Schluss nicht mehr dazu gekommen :oops:

                      Zu viele Baustellen

                      1 Reply Last reply Reply Quote 0
                      • D
                        dtp last edited by

                        Auch von meiner Seite ein riesengroßes Dankeschön an steinwedel/gst666 für die tolle Doku. Konnte da schon einiges rausziehen für meine ersten Javascript-Gehversuche. Sehr gut finde ich die direkten Bezüge in der Anleitung zum ioBroker.

                        Gruß,

                        Thorsten

                        1 Reply Last reply Reply Quote 0
                        • M
                          Mihaeru last edited by

                          Ich bin beeindruckt vom Umfang und der Aufmachung der Einführung. Vielen Dank dafür!

                          Ich komme aus der C\C++\C# Entwicklung und überfliege gerade mal die Doku, da ich mit Javascript bisher nichts zu tun hatte.

                          Mir sind da ein paar Kleinigkeiten aufgefallen:
                          > Wenn es wärmer als 25°C sind sollen sich die Fenster öffnen (1\. Punkt). Erst wenn es 20°C sind, sollen sie sich wieder schließen (2\. Punkt).
                          Im Code schließen die Fenster nicht bei 20°C, sondern wenn es unter 25°C ist.

                          if (temp>25) {
                          setState("hm-rpc.1.IEQ057xxxx.3.State",true); //Fenster öffnen
                          } else if (temp<25) {
                          setState("hm-rpc.1.IEQ057xxxx.3.State",true); //Fenster schließen
                          

                          Weiter unten bei 'Logische Operatoren' ist die Darstellung etwas verunglückt und dadurch haben sich auch zwei Fehler eingeschlichen:
                          ` > A B A && B A || B !A

                          false false true false true

                          false true false true false

                          true false false true false

                          true true true true false `

                          > In der ersten Zeile wird das Modul util geladen. Was es damit auf sich hat, lassen wir mal offen.
                          Ein kurzer Hinweis, dass util ein Javascript Modul (oder wie auch immer man das nennt) ist und 'Inspect' einen string ausgibt, der das Objekt repräsentiert, wäre schon hilfreich. Ich hatte mich jedenfalls erst mal gewundert, da ich keine Ahnung hatte, ob es etwas ioBroker spezifisches ist oder mit einem Adapter zu tun hat oder was auch immer.

                          Noch eine letzte Sache. Bei der Beschreibung von Funktionen wird in den Code Beispielen an mehreren Stellen '<' statt '<' angezeigt.

                          Bin jetzt damit durch und habe wirklich eine Menge gelernt. Prima Einführung und vielen Dank nochmal!

                          Viele Grüße

                          Michael

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          488
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

                          9
                          23
                          3704
                          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