Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [super gelöst] Unterschied Datenpunkt, Variable, Zustand?

    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

    [super gelöst] Unterschied Datenpunkt, Variable, Zustand?

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

      Es ist eine absolute Anfängerfrage, aber ich komme nach zwei Stunden suchen nicht weiter. 😞

      Was genau ist der Unterschied zwischen einem Datenpunkt, einer Variablen und einem erzeugten Zustand?

      Hintergrund meiner Frage ist, daß ich meine Rolladensteuerung von der CCU auf iobroker mit Blockly umziehen will. Auf der CCU habe ich bisher Systemvariablem verwendet und dann bspw. abgefragt, ob die Systemvariable "Rollo-Automatik" auf wahr gesetzt ist, um dann bei vorliegen anderer Bedingungen die Rollos automatisch hoch und runter zu fahren. Eine andere Systemvariable war "Rollo-Schatten-setzen". Diese ging auf true, wenn es draussen wärmer als 24°C war und der Sonnensensor wahr war.

      Irgendwie sehe ich nun den Wald vor lauter Bäumen in blockly nicht.

      Wann lege ich mir im Reiter Objekte einen Datenpunkt per Hand an, den ich dann in blockly bei Eintreten von bestimmten Bedingungen auf true/fals setze?

      Wann und Warum nutze ich Variablen?

      Was hat es mit dem "Zustand erzeugen" Blockly auf sich?

      Ein ratloser Andreas

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

        @weimaraner:

        Was genau ist der Unterschied zwischen einem Datenpunkt, einer Variablen und einem erzeugten Zustand? `

        Ein Datenpunkt besteht aus einem Objekt (statischer Teil), zu sehen im Reiter "Objekte" und einem Zustand (dynamischer Teil: https://github.com/ioBroker/ioBroker/blob/master/doc/SCHEMA.md#states). Eine Variable existiert nur innerhalb eines Skriptes.
        @weimaraner:

        Was hat es mit dem "Zustand erzeugen" Blockly auf sich? `

        Richtig wäre eigentlich "Datenpunkt erzeugen": Es wird ein Datenpunkt-Objekt under der aktiven Javascript-Instanz (javascript.0) erzeugt: Name "xyz" bildet Objekt-ID "javascript.0.xyz".
        @weimaraner:

        Auf der CCU habe ich bisher Systemvariablem verwendet `

        Das sind ebenfalls (virtuelle) Datenpunkte so wie die unter "javascript.0" erstellten Datenpunkte.

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

          Danke Paul!

          Super erklärt - mir fielen die richtigen Worte nicht ein!

          Und ohne die wäre es noch verwirrender gewesen.

          @paul53:

          Richtig wäre eigentlich "Datenpunkt erzeugen" `
          Wäre was für ein Issue oder einen PR 😉

          Gruß

          Rainer

          1 Reply Last reply Reply Quote 0
          • W
            weimaraner last edited by

            Vielen Dank für die Erklärung. Das "Zustand erzeugen" blockly hat mich gänzlich verwirrt.

            D.h., ob ich einen Datenpunkt in blockly oder im Reiter Objekte neu erzeuge, macht keinen Unterschied'?

            Eine Variable ist also ähnlich einem Datenpunkt und kann einen Zustand haben, exisiert aber nur in dem Skript, in dem ich es gerade brauche?

            Wenn ich also eine gleiche Variable in mehreren Blockly brauche, dann kommt "global" ins Spiel. Richtig?

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

              @weimaraner:

              D.h., ob ich einen Datenpunkt in blockly oder im Reiter Objekte neu erzeuge, macht keinen Unterschied'? `

              Im Prinzip nicht, außer dass Du in Blockly auf die Javascript-Instanz eingeschränkt bist. Außerdem kannst Du bei manueller Erstellung im Reiter "Objekte" gleich sinnvolle Objekteigenschaften (z.B. "Einheit", "min", "max", …) angeben.
              @weimaraner:

              Eine Variable ist also ähnlich einem Datenpunkt und kann einen Zustand haben, `

              Nein, eine Variable kann nur einen Wert haben, der auch ein Objekt (im Sinne von Javascript - nicht von ioBroker) sein kann.
              @weimaraner:

              Wenn ich also eine gleiche Variable in mehreren Blockly brauche, dann kommt "global" ins Spiel. Richtig? `

              Nein, "global" ist nur für eigene, häufig verwendete Funktionen gedacht. Die Kommunikation zwischen Skripten muss über Datenpunkte erfolgen.

              EDIT:
              @Homoran:

              Wäre was für ein Issue oder einen PR `

              PR ist erfolgt.

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

                @weimaraner:

                dann kommt "global" ins Spiel. `
                nein!

                globale Skripte werden vor JEDEM Skript ausgeführt

                @weimaraner:

                Wenn ich also eine gleiche Variable in mehreren Blockly brauche `
                Dann erstellst du dir einen Datenpunkt (analog zu einer Systemvariable bei HM) und befüllst diesen Datenpunkt mit dem gewünschten Zustand.

                Alle Skripte (und auch z.B. vis) können dann auf diesen Datenpunkt zugreifen.

                Gruß

                Rainer

                1 Reply Last reply Reply Quote 0
                • W
                  weimaraner last edited by weimaraner

                  Jungs! Ihr seid Super!!!! 🙂

                  Vielen Dank für die erschöpfenden Antworten und die Geduld.

                  Grüße Andreas

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

                    Ergänzende Erläuterung für Blockly-Programmierer anhand der Eigenschaften des Trigger-Datenpunktes:
                    493_blockly_dp_props.jpg
                    .

                    Die Objekt ID ist quasi die "Adresse" des Datenpunktes. Die folgenden Eigenschaften sind statisch. Die letzten 12 Eigenschaften (ab Wert) bilden den Zustand des Datenpunktes.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    871
                    Online

                    31.8k
                    Users

                    79.9k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    1096
                    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