Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Problem mit internen Blockly Variablen (gelöst)

    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

    Problem mit internen Blockly Variablen (gelöst)

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      SpacerX @Philipp Pionier last edited by

      @philipp-pionier Die variable Zahl und Bool sind keine Objekt ID.

      Philipp Pionier 1 Reply Last reply Reply Quote 0
      • Philipp Pionier
        Philipp Pionier @SpacerX last edited by

        @spacerx

        Danke für die schnelle Antwort

        habe jetzt nochmal im Internet gesucht

        bsp aus internet.PNG

        sind diese Skripte nur da, dass sie mich verwirren ?
        Funktionieren diese dann nicht?

        Codierknecht 2 Replies Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Philipp Pionier last edited by

          @philipp-pionier sagte in Problem mit internen Blockly Variablen:

          sind diese Skripte nur da, dass sie mich verwirren ?

          Warum sollten sie? Sieht doch gut aus.
          Du darfst halt Variablen nicht mit Datenpunkten verwechseln.

          @philipp-pionier sagte in Problem mit internen Blockly Variablen:

          Funktionieren diese dann nicht?

          Doch, in der Regel schon.

          Homoran 1 Reply Last reply Reply Quote 0
          • S
            SpacerX last edited by

            @philipp-pionier wieso verwirren?
            Hier wird als ObjectID ganz klar ein Objekt ausgewählt. Du gibst als ObjektID in den Variablen entweder eine 10 oder ein wahr vor.
            Du solltest dort schon ein Objekt auswählen oder eins übergeben in vorm "userdata_0.0.WasWeisIch"

            1 Reply Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @Philipp Pionier last edited by

              @philipp-pionier
              In Deinem Eingangspost wolltest Du wohl sowas hier:
              05092d8b-47a2-47c5-bf39-eec971f9b7d1-image.png
              Auch wenn das relativ sinnbefreit ist (außer natürlich um etwas auszutesten)

              Philipp Pionier 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Codierknecht last edited by Homoran

                @codierknecht sagte in Problem mit internen Blockly Variablen:

                Sieht doch gut aus.

                nöö!
                die Zahlen sind als Strings nicht zum Vergleich geeignet.
                und im sonst falls ist kein DP definiert

                Codierknecht 1 Reply Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @Homoran last edited by

                  @homoran sagte in Problem mit internen Blockly Variablen:

                  die Zahlen sind als Strings nicht zum Vergleich geeignet.
                  und im sonst falls ist kein DP definiert

                  nicht schön, aber selten 😁

                  Du bist aber heute wieder kleinlich.
                  Dass da etwas sinnvolles rauskommt war ja nicht gefragt - es sollte aber ohne Fehler laufen.
                  58c65373-8981-46ad-bbe6-01c6e6cbb021-image.png
                  Sinn oder Unsinn lassen wir mal dahingestellt 😉

                  Aber Du hast natürlich Recht:
                  Zahlen vergleicht man mit Zahlen und Strings mit Strings.
                  Und ein "Sonst" ohne dass da etwas passiert ist ebenfalls sinnfrei.

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

                    @codierknecht sagte in Problem mit internen Blockly Variablen:

                    es sollte aber ohne Fehler laufen.

                    hmmm, was meint @Philipp-Pionier eigentlich mit

                    @philipp-pionier sagte in Problem mit internen Blockly Variablen:

                    sind diese Skripte nur da, dass sie mich verwirren ?
                    Funktionieren diese dann nicht?

                    gab es Fehler oder war es nur nicht dass

                    @codierknecht sagte in Problem mit internen Blockly Variablen:

                    da etwas sinnvolles rauskommt

                    :?:

                    Philipp Pionier 1 Reply Last reply Reply Quote 0
                    • Philipp Pionier
                      Philipp Pionier @Homoran last edited by

                      @homoran

                      ich habe schon ein paar Skripte mit Blockly erstellt.

                      Manchmal tritt der Fall ein, dass ich nur für ein Skript extra ObjektID´s anlagen muss (Hilfsmerker).
                      Jetzt wäre mein Gedankte gewesen, das ich hierfür die Variablen nutzen könnte. (wie ich auch schon ein paar mal in anderen Skripts gesehen habe). Um keine ObjektID´s anlegen zu müssen.

                      Codierknecht 1 Reply Last reply Reply Quote 0
                      • Philipp Pionier
                        Philipp Pionier @Codierknecht last edited by

                        @codierknecht

                        Wenn ich die Variable Zahl am Skript Anfang auf "10" setzte und diese 10 auslesen, addieren, usw möchte, bekomme ich jedes mal einen Fehler bzw es funktioniert nicht.

                        Codierknecht Homoran 2 Replies Last reply Reply Quote 0
                        • Codierknecht
                          Codierknecht Developer Most Active @Philipp Pionier last edited by

                          @philipp-pionier
                          Nur als "Hilfsmerker" muss man keine DP anlegen.
                          Zumindest nicht, wenn man die Werte ausschließlich im Script benutzt.
                          Das macht man mit Variablen, so wie in Deinem Eingangspost.

                          Man greift auf diese Variablen aber nicht über "Wert von XXX" zu.
                          Die kann man direkt weiterverwenden.
                          Objekte haben mehr als eine Eigenschaft (Wert, Name, Zeitstempel usw.) - da muss man schon sagen, was man haben will.

                          Hier mal ein Beispiel von heute früh:
                          8c576b78-306f-4abf-b74b-f9eece1e9db3-image.png
                          Hier werden Variablen gesetzt und deren Werte geprüft.
                          An anderen Stellen werden sehr wohl die Werte von Objekten gelesen und auch Objekte gesteuert.

                          1 Reply Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active @Philipp Pionier last edited by

                            @philipp-pionier
                            Weil Du das mit "Wert von" machst.

                            Mit Variablen ist das nicht nötig (oder besser: Falsch!)

                            259925ca-3c05-49e7-a915-f86edd652e7c-image.png
                            Die werden direkt verwendet!

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

                              @philipp-pionier sagte in Problem mit internen Blockly Variablen:

                              bekomme ich jedes mal einen Fehler

                              und welchen?
                              üblicherweise sagt dir der Fehler was du falsch machst.

                              Natürlich kann man Wert von nur bei IDs verwenden, das hat dir @Codierknecht schon geschrieben.
                              ich vermute zwar auch, dass das der Grund sein wird, aber

                              @philipp-pionier sagte in Problem mit internen Blockly Variablen:

                              es funktioniert nicht.

                              ist keine Fehlerbeschreibung!

                              bitte mehr Infos, dann ist das hier flugs erledigt!

                              Philipp Pionier 1 Reply Last reply Reply Quote 0
                              • Philipp Pionier
                                Philipp Pionier @Codierknecht last edited by

                                @codierknecht

                                danke danke

                                habs jetzt gecheckt.

                                Wert von .. braucht man nicht, außerdem darf man nur "setze" und "erhöhe" verwenden und nicht schreibe usw.

                                nochmal vielen Dank

                                Codierknecht 1 Reply Last reply Reply Quote 0
                                • Codierknecht
                                  Codierknecht Developer Most Active @Philipp Pionier last edited by

                                  @philipp-pionier sagte in Problem mit internen Blockly Variablen:

                                  Wert von .. braucht man nicht, außerdem darf man nur "setze" und "erhöhe" verwenden und nicht schreibe usw.

                                  Dafür gibt's diese praktische Farbunterscheidung 😉

                                  1 Reply Last reply Reply Quote 0
                                  • Philipp Pionier
                                    Philipp Pionier @Homoran last edited by

                                    @homoran

                                    hier ist ein Ausschnitt aus einem Skript von mir.

                                    Skript 1.PNG Skript 2.PNG

                                    hier wollt ich eigentlich bei der Variable Temperatur Untergrenze bzw Obergrenze faul sein, und keine Objektid anlagen.

                                    Codierknecht Homoran 2 Replies Last reply Reply Quote 0
                                    • Codierknecht
                                      Codierknecht Developer Most Active @Philipp Pionier last edited by

                                      @philipp-pionier
                                      Du mischt da fleißig Objekte und Einzelwerte.

                                      Variablen können prinzipiell erstmal alles beinhalten - sowohl ganze Objekte als auch einzelne Werte.
                                      Für mich ein großer Nachteil von JS, dass es nicht typsicher ist.
                                      Du musst Dir an den entsprechenden Stellen genau überlegen, was in die Variable rein soll:
                                      Der Wert des Objektes (z.B. eine Temperatur) oder der Name, um damit später das Objekt ansprechen zu können.
                                      Zweiteres macht für mich nicht viel Sinn - das geht genau so einfach mit dem passenden Block ("steuere" oder "aktualisiere").
                                      Wenn Du mit Ersterem auch noch rechnen willst, musst Du die Variable wie folgt besetzen:
                                      19cb6018-98e4-4754-a21e-e4a8745bbbd6-image.png

                                      An Trigger werden grundsätzlich nur Objekte gebunden - keine Variablen!
                                      Also nicht
                                      4377daba-7434-46e0-b9e9-ff2475bd570c-image.png sondern 266f03b4-e714-4634-bd5e-d736cf8229b4-image.png
                                      Und zum Ändern existierender Datenpunkte nimmt man (zumindest ich) das hier:
                                      6f784811-af36-41c2-875a-aa01d1c3cb28-image.png

                                      Ich sehe da noch was von "Grafana" und vermute mal, dass Du dafür DP angelegt hast, über die ein History-Adapter läuft.
                                      Das müssen logischerweise Datenpunkte sein - sonst funktioniert das nicht.

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

                                        @philipp-pionier bei Arbeiten über einen Datenpunkt kannst du Ruckzuck in die Asynchron-Falle laufen.
                                        Wenn du den Wert wieder brauchst kann es sein, dass er noch nicht fertig geschrieben ist.
                                        Deswegen sind Merker, die nur innerhalb eines Skripts benötigt werden, immer als Variablen anzulegen.

                                        was du mir jetzt hier sagen willst

                                        @philipp-pionier sagte in Problem mit internen Blockly Variablen (gelöst):

                                        hier wollt ich eigentlich bei der Variable Temperatur Untergrenze bzw Obergrenze faul sein

                                        erschließt sich mir nicht

                                        1 Reply Last reply Reply Quote 0
                                        • Philipp Pionier
                                          Philipp Pionier @Codierknecht last edited by

                                          @codierknecht

                                          also es funktioniert 😄
                                          Wichtig war für mich, dass das Skript für jeden Raum benutzt werden kann.
                                          Deshalb versuchte ich das Skript so aufzubauen, dass ich nur oben meine ObjektIDs an den Variablen zuweisen muss und nicht im Skript meine ObjektIDs finden muss.

                                          ich hätte oben gleich der Variable den Wert zuweisen können und nicht den Namen, dann hätte ich unten nicht jedes mal "wert von" benutzen müssen. --Verstehe--

                                          Bin froh das es mit dem Trigger so auch funktioniert, wie aus oben genannten Gründen.

                                          Und ja für Grafana habe ich extra DP angelegt, hier wandle ich ein Bool in eine Zahl um (false = 0 true = 10).
                                          Grafana hat bei mir mit den Boolen Werten nicht funktioniert.

                                          try and error

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          843
                                          Online

                                          31.9k
                                          Users

                                          80.2k
                                          Topics

                                          1.3m
                                          Posts

                                          4
                                          20
                                          426
                                          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