Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Bekomme einfache Berechnung nicht hin.

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    320

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

Bekomme einfache Berechnung nicht hin.

Geplant Angeheftet Gesperrt Verschoben Blockly
26 Beiträge 6 Kommentatoren 3.4k Aufrufe 6 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M mehrwiedu

    @RappiRN sagte in Bekomme einfache Berechnung nicht hin.:

    Was mir gerade auffällt, wie ist denn dein Objekt Entfernung_invertiert eingestellt? Auf den Standart beim Erstellen? Dann ist kein Wert von unter "0" möglich. Bei deinem Beispiel kommt ja ein negativer Wert (152-39)raus!

    Enrico

    Das Ergebnis von 152-39 ist bei mir positiv. ;)

    Ich stehe allerdings auch noch am Anfang einer hoffentlich irgendwann routinierten Behandlung von Blockly.
    Daher weiß ich auch den Unterschied zwischen "aktualisiere" und "steuere" nicht genau zu sagen.
    Was ich allerdings bei mir immer wieder festgestellt habe ist, dass "aktualisiere" in den meisten Fällen, wo es mir logisch erschien es anzuwenden, nicht funktioniert hat und ich "steuere" nehmen musste, damit am Datenpunkt ein Ergebis vom Skript ankommt.

    Vielleicht probierst Du das einfach mal aus.

    Ansonsten wäre ich auch von den Wissenden über eine Aufklärung des Unterschieds in der Interpretation durch Blockly von "aktualisiere" und "steuere" interessiert.

    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #8

    @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

    Daher weiß ich auch den Unterschied zwischen "aktualisiere" und "steuere" nicht genau zu sagen.

    aktualisiere sendet ein ACK=true, steuere ein ACK=false, was den Empfänger veranlasst den Wert zu übernehemen und dann erst ACK=true zu setzen.

    @timredlich sagte in Bekomme einfache Berechnung nicht hin.:

    Also wie gesagt ich stehe noch am Anfang

    Es wäre schön, wenn du miene Fraggen beantworten würdest, dann könnte ich gezielter helfen.
    Insbesondere der Einsatz von debug-Blöcken mit einer sinnvollen Ausgabe würde dazugehören

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    M 1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

      Daher weiß ich auch den Unterschied zwischen "aktualisiere" und "steuere" nicht genau zu sagen.

      aktualisiere sendet ein ACK=true, steuere ein ACK=false, was den Empfänger veranlasst den Wert zu übernehemen und dann erst ACK=true zu setzen.

      @timredlich sagte in Bekomme einfache Berechnung nicht hin.:

      Also wie gesagt ich stehe noch am Anfang

      Es wäre schön, wenn du miene Fraggen beantworten würdest, dann könnte ich gezielter helfen.
      Insbesondere der Einsatz von debug-Blöcken mit einer sinnvollen Ausgabe würde dazugehören

      M Offline
      M Offline
      mehrwiedu
      schrieb am zuletzt editiert von
      #9

      @Homoran sagte in Bekomme einfache Berechnung nicht hin.:

      aktualisiere sendet ein ACK=true, steuere ein ACK=false, was den Empfänger veranlasst den Wert zu übernehemen und dann erst ACK=true zu setzen.

      Hehe...ok, danke. ACK = Acknowledgement, richtig?

      Aber das bedeutet in diesem konkreten Fall, bei dem er das Ergebnis aus 152-39 = 113 in einen Datenpunkt schreiben will, genau was?
      Mit "aktualisiere" sollte also 113 in dem Datenpunkt stehen, der dann mit true bestätigt ist und mit steuere steht die 113 dann in dem Datenpunkt, allerdings bestätigt mit false.
      Wenn das so ist, verstehe ich den Unterschied für weitere Vorgehensweisen, bei dem der Wert bestätigt sein muss um weiterhin etwas mit ihm machen zu können, sofern darauf abgefragt wird. Für die reine Anzeige des Wertes, bzw. die weitere Berechnung in % spielt das aber doch keine Rolle.

      Bedeutet aber, "aktualisiere" und "steuere" sind beides identische Befehle mit unterschiedlicher Ausprägung, die im ersten Schritt aber doch dann auf jeden Fall zunächst das Ergebnis in den Datenpunkt schreiben sollten.

      Warum genau bekomme ich dann mit "aktualisiere" so gut wie nie einen Datenpunkt aus einem Skript heraus gefüllt und muss "steuere" stattdessen wählen? Ich vermutete jetzt tatsächlich, dass es sich um unterschiedliche Interpreter handeln muss.

      Oder ich habe das jetzt doch nicht verstanden!

      HomoranH 1 Antwort Letzte Antwort
      0
      • M mehrwiedu

        @Homoran sagte in Bekomme einfache Berechnung nicht hin.:

        aktualisiere sendet ein ACK=true, steuere ein ACK=false, was den Empfänger veranlasst den Wert zu übernehemen und dann erst ACK=true zu setzen.

        Hehe...ok, danke. ACK = Acknowledgement, richtig?

        Aber das bedeutet in diesem konkreten Fall, bei dem er das Ergebnis aus 152-39 = 113 in einen Datenpunkt schreiben will, genau was?
        Mit "aktualisiere" sollte also 113 in dem Datenpunkt stehen, der dann mit true bestätigt ist und mit steuere steht die 113 dann in dem Datenpunkt, allerdings bestätigt mit false.
        Wenn das so ist, verstehe ich den Unterschied für weitere Vorgehensweisen, bei dem der Wert bestätigt sein muss um weiterhin etwas mit ihm machen zu können, sofern darauf abgefragt wird. Für die reine Anzeige des Wertes, bzw. die weitere Berechnung in % spielt das aber doch keine Rolle.

        Bedeutet aber, "aktualisiere" und "steuere" sind beides identische Befehle mit unterschiedlicher Ausprägung, die im ersten Schritt aber doch dann auf jeden Fall zunächst das Ergebnis in den Datenpunkt schreiben sollten.

        Warum genau bekomme ich dann mit "aktualisiere" so gut wie nie einen Datenpunkt aus einem Skript heraus gefüllt und muss "steuere" stattdessen wählen? Ich vermutete jetzt tatsächlich, dass es sich um unterschiedliche Interpreter handeln muss.

        Oder ich habe das jetzt doch nicht verstanden!

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von Homoran
        #10

        @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

        Warum genau bekomme ich dann mit "aktualisiere" so gut wie nie einen Datenpunkt aus einem Skript heraus gefüllt

        Sollte aber immer klappen...
        Der Wert wird in den Datenpunkt eingetragen, erscheint dabei kurz in grün dann ändert sich die Schriftfarbe in schwarz.

        Anders bei Steuere...
        Der Wert wird in den Datenpunkt eingetragen, erscheint dabei kurz in grün und wird dann für immer rot bleiben. Erst wenn er von dem Empfänger abgeholt wird und dieser ihn bestätigt wird ändert sich die Schriftfarbe in schwarz.

        Selbst angelegte Datenpunkte, die als reine Systemvariablen gedacht sind müssen sogar mit aktualisiere befüllt werden

        Wenn du jetzt mit "aktualisiere" einen Datenpunkt eines Gerätes/Adapters befüllst erhält der Empfänger jedoch keine Info, dass dieser Wert für ihn ist und überschreibt postwendend den Wert wieder

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        M 1 Antwort Letzte Antwort
        0
        • MyzerATM Offline
          MyzerATM Offline
          MyzerAT
          schrieb am zuletzt editiert von
          #11

          @timredlich

          darf ich dich fragen, mit was du die Distanz misst, ich würde gerne ähnliches für die Senkgrube benötigen! thx

          lg Rudi

          Master Debian 12 (Wien)
          Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8. 7. als VM

          Slave Debian 12. (TULLN) --> OpenVPN to Vienna
          Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8.7. als VM

          Node 20.19.0
          Nodejs 20.19.0
          npm 10.8.2
          js-controller 7.0.6

          T 1 Antwort Letzte Antwort
          0
          • M mehrwiedu

            @RappiRN sagte in Bekomme einfache Berechnung nicht hin.:

            Was mir gerade auffällt, wie ist denn dein Objekt Entfernung_invertiert eingestellt? Auf den Standart beim Erstellen? Dann ist kein Wert von unter "0" möglich. Bei deinem Beispiel kommt ja ein negativer Wert (152-39)raus!

            Enrico

            Das Ergebnis von 152-39 ist bei mir positiv. ;)

            Ich stehe allerdings auch noch am Anfang einer hoffentlich irgendwann routinierten Behandlung von Blockly.
            Daher weiß ich auch den Unterschied zwischen "aktualisiere" und "steuere" nicht genau zu sagen.
            Was ich allerdings bei mir immer wieder festgestellt habe ist, dass "aktualisiere" in den meisten Fällen, wo es mir logisch erschien es anzuwenden, nicht funktioniert hat und ich "steuere" nehmen musste, damit am Datenpunkt ein Ergebis vom Skript ankommt.

            Vielleicht probierst Du das einfach mal aus.

            Ansonsten wäre ich auch von den Wissenden über eine Aufklärung des Unterschieds in der Interpretation durch Blockly von "aktualisiere" und "steuere" interessiert.

            R Offline
            R Offline
            RappiRN
            Most Active
            schrieb am zuletzt editiert von
            #12

            @mehrwiedu
            stimmt natürlich! :relieved:

            Aber der Wert ist über 100, also mein angesprochenes Problem ist das Gleiche! Standart für ein Zahlenobjekt ist 0-100 (%) also, wenn der Wert über 100 ist, wird er auch nicht geschrieben!

            Enrico

            1 Antwort Letzte Antwort
            0
            • MyzerATM MyzerAT

              @timredlich

              darf ich dich fragen, mit was du die Distanz misst, ich würde gerne ähnliches für die Senkgrube benötigen! thx

              T Offline
              T Offline
              timredlich
              schrieb am zuletzt editiert von
              #13

              @MyzerAT Ich habe folgende Komponeneten benutzt:

              https://www.amazon.de/AZDelivery-NodeMCU-ESP8266-ESP-12E-Development/dp/B074Q2WM1Y/ref=sr_1_3?__mk_de_DE=ÅMÅŽÕÑ&crid=2JU9FJF6LNA0B&keywords=nodemcu+esp8266&qid=1553616513&s=gateway&sprefix=Node+MCU%2Caps%2C158&sr=8-3

              https://www.amazon.de/gp/product/B072L3ZKWZ/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1

              Habe anfänlich nach diesem How to gearbeitet:

              https://arduino-projekte.info/zisterne-fuellstandsanzeige/

              es gibt aber noch andere. Ich habe aber einen NodeMCU genommen und diesen mit ESPeasy geflasht.

              1 Antwort Letzte Antwort
              1
              • T Offline
                T Offline
                timredlich
                schrieb am zuletzt editiert von
                #14

                Leute fragt nicht wie. Aber ich habe es hin bekommen.

                Aktuell sieht es bei mir so aus:
                Bildschirmfoto vom 2019-03-26 19-26-36.png
                Bildschirmfoto vom 2019-03-26 19-26-44.png

                Ich glaube das ich ein Grundsätzliches Problem habe. Ich habe IOBroker auf einem BananaPi neben Openmediavault installiert. Ich habe oft komplette Systemabstürze. Ich glaube das meine Installation nicht OK ist. Als ich die Scripte auf gerufen habe stand oben die Instanz läuft nicht. Obwohl die JavaScript Engine Grün war. ich werde mir wohl doch noch einen Zusätzlichen RaspberryPi anschaffen und alles Ordentlich neu aufsetzen.

                Als nächstes werde ich versuchen Die Prozentabfrage über Alexa hin zu bekommen.

                Ich möchte mich bei allen bedanken. Wird nicht das letzte mal gewesen sein das ich um Hilfe frage.

                Gruß

                Tim

                1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                  Warum genau bekomme ich dann mit "aktualisiere" so gut wie nie einen Datenpunkt aus einem Skript heraus gefüllt

                  Sollte aber immer klappen...
                  Der Wert wird in den Datenpunkt eingetragen, erscheint dabei kurz in grün dann ändert sich die Schriftfarbe in schwarz.

                  Anders bei Steuere...
                  Der Wert wird in den Datenpunkt eingetragen, erscheint dabei kurz in grün und wird dann für immer rot bleiben. Erst wenn er von dem Empfänger abgeholt wird und dieser ihn bestätigt wird ändert sich die Schriftfarbe in schwarz.

                  Selbst angelegte Datenpunkte, die als reine Systemvariablen gedacht sind müssen sogar mit aktualisiere befüllt werden

                  Wenn du jetzt mit "aktualisiere" einen Datenpunkt eines Gerätes/Adapters befüllst erhält der Empfänger jedoch keine Info, dass dieser Wert für ihn ist und überschreibt postwendend den Wert wieder

                  M Offline
                  M Offline
                  mehrwiedu
                  schrieb am zuletzt editiert von mehrwiedu
                  #15

                  @Homoran sagte in Bekomme einfache Berechnung nicht hin.:

                  @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                  Warum genau bekomme ich dann mit "aktualisiere" so gut wie nie einen Datenpunkt aus einem Skript heraus gefüllt

                  Sollte aber immer klappen...
                  Der Wert wird in den Datenpunkt eingetragen, erscheint dabei kurz in grün dann ändert sich die Schriftfarbe in schwarz.

                  Anders bei Steuere...
                  Der Wert wird in den Datenpunkt eingetragen, erscheint dabei kurz in grün und wird dann für immer rot bleiben. Erst wenn er von dem Empfänger abgeholt wird und dieser ihn bestätigt wird ändert sich die Schriftfarbe in schwarz.

                  Selbst angelegte Datenpunkte, die als reine Systemvariablen gedacht sind müssen sogar mit aktualisiere befüllt werden

                  Wenn du jetzt mit "aktualisiere" einen Datenpunkt eines Gerätes/Adapters befüllst erhält der Empfänger jedoch keine Info, dass dieser Wert für ihn ist und überschreibt postwendend den Wert wieder

                  Ich muss mich entschuldigen, aber ich habe das leider immer noch nicht verstanden. insbesondere den Teil, an dem sich der "Empfänger" die Info abholt, bzw. keine Info bekommt, weil er nicht weiß, dass der Wert für ihn ist.

                  In Verbindung mit meinem aktuellen Kenntnisstand kriege ich da keine Logik rein. Was der Unterschied zwischen "aktualisiere" und "steuere" zu sein scheint, habe ich, so wie ich glaube, verstanden. Einmal wird der Wert bestätigt, und einmal eben nicht. Zeigt sich bei mir überall an den Punkten, wo ich die Werte mit "steuere" an den Datenpunkt übergebe eben so:

                  Bildschirmfoto 2019-03-27 um 13.03.20.png

                  Ich habe "unwahr" mit steuere übergeben und der Wert ist nicht bestätigt. Aber was hat das für Konsequenzen, bzw. Auswirkungen?

                  Ein Beispiel, woran man mir das vielleicht erklären kann und ich lerne, was ich hier falsch mache:

                  Ich habe eine Lampe, die ich getriggert nach Astrozeit, oder aber mittels Sprachbefehl über Alexa als Nachtlicht nutze.

                  Hier der Datenpunkt, den ich über die Skripte fülle, oder von Alexa füllen lasse.

                  Bildschirmfoto 2019-03-27 um 13.06.30.png

                  Wenn ich also sage "Alexa, Nachtlicht an", wechselt dieser Datenpunkt auf "true", bleibt aber unbestätigt, demnach rot und es wird folgendes Skript ausgeführt.
                  Ebenso bei "Alexa, Nachtlicht aus", nur dass hier dann der "sonst falls" Block im Skript ausgeführt wird.

                  Bildschirmfoto 2019-03-27 um 13.09.03.png

                  Ich muss aber die Datenpunkte hier im Skript mit "steuere" ansprechen, weil sonst an der Lampe nichts passiert. "aktualisiere" hat hier keine Auswirkung.

                  Getriggert auf die Astrozeit werden die Datenpunkte der Lampe "Nachtlicht_" nun nicht durch den Sprachbefehl und somit durch das Skript oben gefüllt, sondern direkt an den Datenpunkten der Lampe.

                  Bildschirmfoto 2019-03-27 um 13.13.09.png

                  Aber auch hier muss ich "steuere" wählen, weil sonst die Werte nicht dort ankommen.

                  Das morgendliche Ausschalten vom Nachtlicht, passiert dann über eine festgelegte Zeit. Hier nutze ich dann wieder das Skript von ganz oben, aber der Auslöser ist dann hier nicht der Sprachbefehl, sondern eben der Datenpunkt selbst. Ebenfalls, wie man sieht, mit "steuere", weil "aktualisiere" nicht zum Ziel führt.

                  Bildschirmfoto 2019-03-27 um 13.16.17.png

                  Nun schreibst Du, dass man für erstellte Datenpunkte "aktualisiere" nehmen muss. Warum? Und vor allem, wieso kann ich es faktisch nicht nehmen, weil sonst meine Skripte nicht ausgeführt werden, bzw. die von den Skripten gewünschten Werte nicht im Datenpunkt ankommen?

                  Die Datenpunkte der Lampe, die ich auch mit "steuere" über das obige Skript setze, sind i. Ü. nach Ausführung des Skripts bestätigt, demnach schwarz.

                  Bildschirmfoto 2019-03-27 um 13.19.53.png

                  paul53P HomoranH 3 Antworten Letzte Antwort
                  0
                  • M mehrwiedu

                    @Homoran sagte in Bekomme einfache Berechnung nicht hin.:

                    @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                    Warum genau bekomme ich dann mit "aktualisiere" so gut wie nie einen Datenpunkt aus einem Skript heraus gefüllt

                    Sollte aber immer klappen...
                    Der Wert wird in den Datenpunkt eingetragen, erscheint dabei kurz in grün dann ändert sich die Schriftfarbe in schwarz.

                    Anders bei Steuere...
                    Der Wert wird in den Datenpunkt eingetragen, erscheint dabei kurz in grün und wird dann für immer rot bleiben. Erst wenn er von dem Empfänger abgeholt wird und dieser ihn bestätigt wird ändert sich die Schriftfarbe in schwarz.

                    Selbst angelegte Datenpunkte, die als reine Systemvariablen gedacht sind müssen sogar mit aktualisiere befüllt werden

                    Wenn du jetzt mit "aktualisiere" einen Datenpunkt eines Gerätes/Adapters befüllst erhält der Empfänger jedoch keine Info, dass dieser Wert für ihn ist und überschreibt postwendend den Wert wieder

                    Ich muss mich entschuldigen, aber ich habe das leider immer noch nicht verstanden. insbesondere den Teil, an dem sich der "Empfänger" die Info abholt, bzw. keine Info bekommt, weil er nicht weiß, dass der Wert für ihn ist.

                    In Verbindung mit meinem aktuellen Kenntnisstand kriege ich da keine Logik rein. Was der Unterschied zwischen "aktualisiere" und "steuere" zu sein scheint, habe ich, so wie ich glaube, verstanden. Einmal wird der Wert bestätigt, und einmal eben nicht. Zeigt sich bei mir überall an den Punkten, wo ich die Werte mit "steuere" an den Datenpunkt übergebe eben so:

                    Bildschirmfoto 2019-03-27 um 13.03.20.png

                    Ich habe "unwahr" mit steuere übergeben und der Wert ist nicht bestätigt. Aber was hat das für Konsequenzen, bzw. Auswirkungen?

                    Ein Beispiel, woran man mir das vielleicht erklären kann und ich lerne, was ich hier falsch mache:

                    Ich habe eine Lampe, die ich getriggert nach Astrozeit, oder aber mittels Sprachbefehl über Alexa als Nachtlicht nutze.

                    Hier der Datenpunkt, den ich über die Skripte fülle, oder von Alexa füllen lasse.

                    Bildschirmfoto 2019-03-27 um 13.06.30.png

                    Wenn ich also sage "Alexa, Nachtlicht an", wechselt dieser Datenpunkt auf "true", bleibt aber unbestätigt, demnach rot und es wird folgendes Skript ausgeführt.
                    Ebenso bei "Alexa, Nachtlicht aus", nur dass hier dann der "sonst falls" Block im Skript ausgeführt wird.

                    Bildschirmfoto 2019-03-27 um 13.09.03.png

                    Ich muss aber die Datenpunkte hier im Skript mit "steuere" ansprechen, weil sonst an der Lampe nichts passiert. "aktualisiere" hat hier keine Auswirkung.

                    Getriggert auf die Astrozeit werden die Datenpunkte der Lampe "Nachtlicht_" nun nicht durch den Sprachbefehl und somit durch das Skript oben gefüllt, sondern direkt an den Datenpunkten der Lampe.

                    Bildschirmfoto 2019-03-27 um 13.13.09.png

                    Aber auch hier muss ich "steuere" wählen, weil sonst die Werte nicht dort ankommen.

                    Das morgendliche Ausschalten vom Nachtlicht, passiert dann über eine festgelegte Zeit. Hier nutze ich dann wieder das Skript von ganz oben, aber der Auslöser ist dann hier nicht der Sprachbefehl, sondern eben der Datenpunkt selbst. Ebenfalls, wie man sieht, mit "steuere", weil "aktualisiere" nicht zum Ziel führt.

                    Bildschirmfoto 2019-03-27 um 13.16.17.png

                    Nun schreibst Du, dass man für erstellte Datenpunkte "aktualisiere" nehmen muss. Warum? Und vor allem, wieso kann ich es faktisch nicht nehmen, weil sonst meine Skripte nicht ausgeführt werden, bzw. die von den Skripten gewünschten Werte nicht im Datenpunkt ankommen?

                    Die Datenpunkte der Lampe, die ich auch mit "steuere" über das obige Skript setze, sind i. Ü. nach Ausführung des Skripts bestätigt, demnach schwarz.

                    Bildschirmfoto 2019-03-27 um 13.19.53.png

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #16

                    @mehrwiedu sagte:

                    dass man für erstellte Datenpunkte "aktualisiere" nehmen muss.

                    Für selbst erstellte (virtuelle) Datenpunkte (normalerweise unter javascript.N) sollte man aktualisiere nehmen. Für Datenpunkte, die außerhalb von ioBroker eine Reaktion auslösen sollen, muss man steuere nehmen.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    M 1 Antwort Letzte Antwort
                    0
                    • M mehrwiedu

                      @Homoran sagte in Bekomme einfache Berechnung nicht hin.:

                      @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                      Warum genau bekomme ich dann mit "aktualisiere" so gut wie nie einen Datenpunkt aus einem Skript heraus gefüllt

                      Sollte aber immer klappen...
                      Der Wert wird in den Datenpunkt eingetragen, erscheint dabei kurz in grün dann ändert sich die Schriftfarbe in schwarz.

                      Anders bei Steuere...
                      Der Wert wird in den Datenpunkt eingetragen, erscheint dabei kurz in grün und wird dann für immer rot bleiben. Erst wenn er von dem Empfänger abgeholt wird und dieser ihn bestätigt wird ändert sich die Schriftfarbe in schwarz.

                      Selbst angelegte Datenpunkte, die als reine Systemvariablen gedacht sind müssen sogar mit aktualisiere befüllt werden

                      Wenn du jetzt mit "aktualisiere" einen Datenpunkt eines Gerätes/Adapters befüllst erhält der Empfänger jedoch keine Info, dass dieser Wert für ihn ist und überschreibt postwendend den Wert wieder

                      Ich muss mich entschuldigen, aber ich habe das leider immer noch nicht verstanden. insbesondere den Teil, an dem sich der "Empfänger" die Info abholt, bzw. keine Info bekommt, weil er nicht weiß, dass der Wert für ihn ist.

                      In Verbindung mit meinem aktuellen Kenntnisstand kriege ich da keine Logik rein. Was der Unterschied zwischen "aktualisiere" und "steuere" zu sein scheint, habe ich, so wie ich glaube, verstanden. Einmal wird der Wert bestätigt, und einmal eben nicht. Zeigt sich bei mir überall an den Punkten, wo ich die Werte mit "steuere" an den Datenpunkt übergebe eben so:

                      Bildschirmfoto 2019-03-27 um 13.03.20.png

                      Ich habe "unwahr" mit steuere übergeben und der Wert ist nicht bestätigt. Aber was hat das für Konsequenzen, bzw. Auswirkungen?

                      Ein Beispiel, woran man mir das vielleicht erklären kann und ich lerne, was ich hier falsch mache:

                      Ich habe eine Lampe, die ich getriggert nach Astrozeit, oder aber mittels Sprachbefehl über Alexa als Nachtlicht nutze.

                      Hier der Datenpunkt, den ich über die Skripte fülle, oder von Alexa füllen lasse.

                      Bildschirmfoto 2019-03-27 um 13.06.30.png

                      Wenn ich also sage "Alexa, Nachtlicht an", wechselt dieser Datenpunkt auf "true", bleibt aber unbestätigt, demnach rot und es wird folgendes Skript ausgeführt.
                      Ebenso bei "Alexa, Nachtlicht aus", nur dass hier dann der "sonst falls" Block im Skript ausgeführt wird.

                      Bildschirmfoto 2019-03-27 um 13.09.03.png

                      Ich muss aber die Datenpunkte hier im Skript mit "steuere" ansprechen, weil sonst an der Lampe nichts passiert. "aktualisiere" hat hier keine Auswirkung.

                      Getriggert auf die Astrozeit werden die Datenpunkte der Lampe "Nachtlicht_" nun nicht durch den Sprachbefehl und somit durch das Skript oben gefüllt, sondern direkt an den Datenpunkten der Lampe.

                      Bildschirmfoto 2019-03-27 um 13.13.09.png

                      Aber auch hier muss ich "steuere" wählen, weil sonst die Werte nicht dort ankommen.

                      Das morgendliche Ausschalten vom Nachtlicht, passiert dann über eine festgelegte Zeit. Hier nutze ich dann wieder das Skript von ganz oben, aber der Auslöser ist dann hier nicht der Sprachbefehl, sondern eben der Datenpunkt selbst. Ebenfalls, wie man sieht, mit "steuere", weil "aktualisiere" nicht zum Ziel führt.

                      Bildschirmfoto 2019-03-27 um 13.16.17.png

                      Nun schreibst Du, dass man für erstellte Datenpunkte "aktualisiere" nehmen muss. Warum? Und vor allem, wieso kann ich es faktisch nicht nehmen, weil sonst meine Skripte nicht ausgeführt werden, bzw. die von den Skripten gewünschten Werte nicht im Datenpunkt ankommen?

                      Die Datenpunkte der Lampe, die ich auch mit "steuere" über das obige Skript setze, sind i. Ü. nach Ausführung des Skripts bestätigt, demnach schwarz.

                      Bildschirmfoto 2019-03-27 um 13.19.53.png

                      HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #17

                      @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                      Nun schreibst Du, dass man für erstellte Datenpunkte "aktualisiere" nehmen muss.

                      Da fehlt was ;-)

                      @Homoran sagte in Bekomme einfache Berechnung nicht hin.:

                      Selbst angelegte Datenpunkte, die als reine Systemvariablen gedacht sind müssen

                      @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                      Hier der Datenpunkt, den ich über die Skripte fülle

                      Hängt da ein Gerät hinter?
                      oder ist das eine "Systemvariable"?

                      @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                      Ich muss aber die Datenpunkte hier im Skript mit "steuere" ansprechen, weil sonst an der Lampe nichts passiert.

                      Dem entnehme ich, dass da wirklich eine Lampe dranhängt, folglich ist "steuere" ein Muss.

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @mehrwiedu sagte:

                        dass man für erstellte Datenpunkte "aktualisiere" nehmen muss.

                        Für selbst erstellte (virtuelle) Datenpunkte (normalerweise unter javascript.N) sollte man aktualisiere nehmen. Für Datenpunkte, die außerhalb von ioBroker eine Reaktion auslösen sollen, muss man steuere nehmen.

                        M Offline
                        M Offline
                        mehrwiedu
                        schrieb am zuletzt editiert von mehrwiedu
                        #18

                        @paul53 sagte in Bekomme einfache Berechnung nicht hin.:

                        @mehrwiedu sagte:

                        dass man für erstellte Datenpunkte "aktualisiere" nehmen muss.

                        Für selbst erstellte (virtuelle) Datenpunkte (normalerweise unter javascript.N) sollte man aktualisiere nehmen. Für Datenpunkte, die außerhalb von ioBroker eine Reaktion auslösen sollen, muss man steuere nehmen.

                        Ja, das hat ja @Homoran schon gesagt, aber ich verstehe nicht warum, und die Auswirkung der Syntax dahinter. Und wie man sieht, habe ich mich hier ja definitiv nicht an die muss Bedingung gehalten und die Skripte laufen wie gewünscht.
                        Ich mag doch nur die Logik dahinter verstehen. ;)

                        @Homoran
                        Ich habe in meinem obigen Post noch etwas aktualisiert. Da hatte ich die Bilder zu den Texten vertauscht.

                        Zu Deiner Frage: Ja, hinter dem Datenpunkt "Nachtlicht_" steckt nur ein virtuelles Gerät, damit ich es mit Alexa steuern kann. Ich nutze diesen Datenpunkt aber auch als Auslöser für die Skripte, bzw. steuere diesen Datenpunkt über die obigen Skripte.

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • M mehrwiedu

                          @paul53 sagte in Bekomme einfache Berechnung nicht hin.:

                          @mehrwiedu sagte:

                          dass man für erstellte Datenpunkte "aktualisiere" nehmen muss.

                          Für selbst erstellte (virtuelle) Datenpunkte (normalerweise unter javascript.N) sollte man aktualisiere nehmen. Für Datenpunkte, die außerhalb von ioBroker eine Reaktion auslösen sollen, muss man steuere nehmen.

                          Ja, das hat ja @Homoran schon gesagt, aber ich verstehe nicht warum, und die Auswirkung der Syntax dahinter. Und wie man sieht, habe ich mich hier ja definitiv nicht an die muss Bedingung gehalten und die Skripte laufen wie gewünscht.
                          Ich mag doch nur die Logik dahinter verstehen. ;)

                          @Homoran
                          Ich habe in meinem obigen Post noch etwas aktualisiert. Da hatte ich die Bilder zu den Texten vertauscht.

                          Zu Deiner Frage: Ja, hinter dem Datenpunkt "Nachtlicht_" steckt nur ein virtuelles Gerät, damit ich es mit Alexa steuern kann. Ich nutze diesen Datenpunkt aber auch als Auslöser für die Skripte, bzw. steuere diesen Datenpunkt über die obigen Skripte.

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #19

                          @mehrwiedu sagte:

                          Ich mag doch nur die Logik dahinter verstehen

                          Lies das.
                          steuere: ack = false,
                          aktualisiere: ack = true.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          M 1 Antwort Letzte Antwort
                          0
                          • M mehrwiedu

                            @Homoran sagte in Bekomme einfache Berechnung nicht hin.:

                            @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                            Warum genau bekomme ich dann mit "aktualisiere" so gut wie nie einen Datenpunkt aus einem Skript heraus gefüllt

                            Sollte aber immer klappen...
                            Der Wert wird in den Datenpunkt eingetragen, erscheint dabei kurz in grün dann ändert sich die Schriftfarbe in schwarz.

                            Anders bei Steuere...
                            Der Wert wird in den Datenpunkt eingetragen, erscheint dabei kurz in grün und wird dann für immer rot bleiben. Erst wenn er von dem Empfänger abgeholt wird und dieser ihn bestätigt wird ändert sich die Schriftfarbe in schwarz.

                            Selbst angelegte Datenpunkte, die als reine Systemvariablen gedacht sind müssen sogar mit aktualisiere befüllt werden

                            Wenn du jetzt mit "aktualisiere" einen Datenpunkt eines Gerätes/Adapters befüllst erhält der Empfänger jedoch keine Info, dass dieser Wert für ihn ist und überschreibt postwendend den Wert wieder

                            Ich muss mich entschuldigen, aber ich habe das leider immer noch nicht verstanden. insbesondere den Teil, an dem sich der "Empfänger" die Info abholt, bzw. keine Info bekommt, weil er nicht weiß, dass der Wert für ihn ist.

                            In Verbindung mit meinem aktuellen Kenntnisstand kriege ich da keine Logik rein. Was der Unterschied zwischen "aktualisiere" und "steuere" zu sein scheint, habe ich, so wie ich glaube, verstanden. Einmal wird der Wert bestätigt, und einmal eben nicht. Zeigt sich bei mir überall an den Punkten, wo ich die Werte mit "steuere" an den Datenpunkt übergebe eben so:

                            Bildschirmfoto 2019-03-27 um 13.03.20.png

                            Ich habe "unwahr" mit steuere übergeben und der Wert ist nicht bestätigt. Aber was hat das für Konsequenzen, bzw. Auswirkungen?

                            Ein Beispiel, woran man mir das vielleicht erklären kann und ich lerne, was ich hier falsch mache:

                            Ich habe eine Lampe, die ich getriggert nach Astrozeit, oder aber mittels Sprachbefehl über Alexa als Nachtlicht nutze.

                            Hier der Datenpunkt, den ich über die Skripte fülle, oder von Alexa füllen lasse.

                            Bildschirmfoto 2019-03-27 um 13.06.30.png

                            Wenn ich also sage "Alexa, Nachtlicht an", wechselt dieser Datenpunkt auf "true", bleibt aber unbestätigt, demnach rot und es wird folgendes Skript ausgeführt.
                            Ebenso bei "Alexa, Nachtlicht aus", nur dass hier dann der "sonst falls" Block im Skript ausgeführt wird.

                            Bildschirmfoto 2019-03-27 um 13.09.03.png

                            Ich muss aber die Datenpunkte hier im Skript mit "steuere" ansprechen, weil sonst an der Lampe nichts passiert. "aktualisiere" hat hier keine Auswirkung.

                            Getriggert auf die Astrozeit werden die Datenpunkte der Lampe "Nachtlicht_" nun nicht durch den Sprachbefehl und somit durch das Skript oben gefüllt, sondern direkt an den Datenpunkten der Lampe.

                            Bildschirmfoto 2019-03-27 um 13.13.09.png

                            Aber auch hier muss ich "steuere" wählen, weil sonst die Werte nicht dort ankommen.

                            Das morgendliche Ausschalten vom Nachtlicht, passiert dann über eine festgelegte Zeit. Hier nutze ich dann wieder das Skript von ganz oben, aber der Auslöser ist dann hier nicht der Sprachbefehl, sondern eben der Datenpunkt selbst. Ebenfalls, wie man sieht, mit "steuere", weil "aktualisiere" nicht zum Ziel führt.

                            Bildschirmfoto 2019-03-27 um 13.16.17.png

                            Nun schreibst Du, dass man für erstellte Datenpunkte "aktualisiere" nehmen muss. Warum? Und vor allem, wieso kann ich es faktisch nicht nehmen, weil sonst meine Skripte nicht ausgeführt werden, bzw. die von den Skripten gewünschten Werte nicht im Datenpunkt ankommen?

                            Die Datenpunkte der Lampe, die ich auch mit "steuere" über das obige Skript setze, sind i. Ü. nach Ausführung des Skripts bestätigt, demnach schwarz.

                            Bildschirmfoto 2019-03-27 um 13.19.53.png

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von paul53
                            #20

                            @mehrwiedu sagte:

                            Ich habe "unwahr" mit steuere übergeben und der Wert ist nicht bestätigt. Aber was hat das für Konsequenzen, bzw. Auswirkungen?

                            Da es sich um einen virtuellen Datenpunkt handelt, hat es keine Konsequenzen, außer dass der Wert im Reiter "Objekte" immer rot (nicht bestätigt) dargestellt wird.

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @mehrwiedu sagte:

                              Ich mag doch nur die Logik dahinter verstehen

                              Lies das.
                              steuere: ack = false,
                              aktualisiere: ack = true.

                              M Offline
                              M Offline
                              mehrwiedu
                              schrieb am zuletzt editiert von
                              #21

                              @paul53 sagte in Bekomme einfache Berechnung nicht hin.:

                              @mehrwiedu sagte:

                              Ich mag doch nur die Logik dahinter verstehen

                              Lies das.
                              steuere: ack = false,
                              aktualisiere: ack = true.

                              Ok, ich versuche mich mal. ;)
                              Dort steht, dass "Command", also "Steuere" die Bestätigung (ACK - Acknowledgement) = false an den Datenpunkt übermittelt. So wie ich das dort verstehe, ist es also die einzige Möglichkeit für einen Benutzer über z. B. VIS oder ein Skript (Javascript-Adapter) ein physisches Gerät oder einen Adapter zu steuern.
                              Soweit hätte ich es also verstanden. Um meiner Lampe eine andere Helligkeit zu geben, muss also der Button in VIS oder das (wahlweise dahinterliegende) Skript den Wert unbestätigt übergeben, damit der entsprechende Adapter den Befehl ausführt.

                              Und nun bitte helfen: Wenn also ein State ON/OFF = true an ein physisches Gerät übergeben wird, muss dies mit ACK= false geschehen, damit überhaupt geschaltet wird. Command ist in diesem Fall zunächst unbestätigt an den Adapter zu übergeben, der dies dann an die Lampe weitergibt und anschließend, wenn die Lampe ihren Status an den Adapter zurückliefert, überschreibt der den "Status" mit ACK = true und somit auch das Flag vom vorherigen Command.

                              Wird es aber bereits mit ACK = true, also mit "Status", sprich "aktualisiere" an den Adapter übergeben, wird dieser damit nichts anfangen, weil dieser "Status" vom Benutzer und nicht von dem physischen Gerät als Rückmeldung kommt. Respektive, weil der Adapter eine Rückmeldung nicht als Befehl ausführt, weil ACK = true ist. Somit bleibt die Lampe dunkel.

                              Ist das in etwa so richtig? Wenn ja, verstehe ich nun auch, warum virtuelle Datenpunkte mit "aktualisiere" geschaltet werden müssen, da es dahinter keine tatsächliche Rückmeldung gibt, die bestätigt werden könnte. Somit übergibt man sie bereits mit dem Flag ACK=true um dahinter liegenden Abhängigkeiten einen bestätigten Wert zu übergeben. Auch in etwa richtig? Wobei, wenn es keine Abhängigkeiten gibt, die unbedingt einen bestätigten Wert benötigen, ist es faktisch egal, ob der Datenpunkt ACK = true oder false hat.
                              Der Wert darin würde so oder so in VIS angezeigt, ein Skript ausführen, oder Teil einer Berechnung sein können.

                              Wobei mir allerdings hier noch praktische Beispiele fehlen, wo es dann ein Muss ist, den Wert bestätigt zu haben. Das ist bisher nur Theorie. Hast Du ein Beispiel, wo es mit "steuere" bei virtuellen Datenpunkten, sprich unbestätigten Werten Probleme gibt?

                              @paul53 sagte in Bekomme einfache Berechnung nicht hin.:

                              @mehrwiedu sagte:

                              Ich habe "unwahr" mit steuere übergeben und der Wert ist nicht bestätigt. Aber was hat das für Konsequenzen, bzw. Auswirkungen?

                              Da es sich um einen virtuellen Datenpunkt handelt, hat es keine Konsequenzen, außer dass der Wert im Reiter "Objekte" immer rot (nicht bestätigt) dargestellt wird.

                              Hier müsste ich dann doch nochmal ein Verständnisproblem versuchen zu klären.
                              Virtuelle Datenpunkte müssen also, wenn ich das wie oben richtig verstanden und mit meinen Worten richtig wiedergegeben habe, mit "aktualisiere" gesteuert werden, um einen bestätigten Wert zu erhalten, weil es keinen Adapter oder ein physisches Gerät gibt, der den Wert bestätigen kann.

                              Hinter meinem Datenpunkt "Nachtlicht_" steht aber der IoT Adapter. Das virtuelle Gerät in Alexa dürfte doch dann auch bei Nutzung des Sprachbefehls ein ACK= true erhalten, oder?

                              paul53P HomoranH 2 Antworten Letzte Antwort
                              0
                              • M mehrwiedu

                                @paul53 sagte in Bekomme einfache Berechnung nicht hin.:

                                @mehrwiedu sagte:

                                Ich mag doch nur die Logik dahinter verstehen

                                Lies das.
                                steuere: ack = false,
                                aktualisiere: ack = true.

                                Ok, ich versuche mich mal. ;)
                                Dort steht, dass "Command", also "Steuere" die Bestätigung (ACK - Acknowledgement) = false an den Datenpunkt übermittelt. So wie ich das dort verstehe, ist es also die einzige Möglichkeit für einen Benutzer über z. B. VIS oder ein Skript (Javascript-Adapter) ein physisches Gerät oder einen Adapter zu steuern.
                                Soweit hätte ich es also verstanden. Um meiner Lampe eine andere Helligkeit zu geben, muss also der Button in VIS oder das (wahlweise dahinterliegende) Skript den Wert unbestätigt übergeben, damit der entsprechende Adapter den Befehl ausführt.

                                Und nun bitte helfen: Wenn also ein State ON/OFF = true an ein physisches Gerät übergeben wird, muss dies mit ACK= false geschehen, damit überhaupt geschaltet wird. Command ist in diesem Fall zunächst unbestätigt an den Adapter zu übergeben, der dies dann an die Lampe weitergibt und anschließend, wenn die Lampe ihren Status an den Adapter zurückliefert, überschreibt der den "Status" mit ACK = true und somit auch das Flag vom vorherigen Command.

                                Wird es aber bereits mit ACK = true, also mit "Status", sprich "aktualisiere" an den Adapter übergeben, wird dieser damit nichts anfangen, weil dieser "Status" vom Benutzer und nicht von dem physischen Gerät als Rückmeldung kommt. Respektive, weil der Adapter eine Rückmeldung nicht als Befehl ausführt, weil ACK = true ist. Somit bleibt die Lampe dunkel.

                                Ist das in etwa so richtig? Wenn ja, verstehe ich nun auch, warum virtuelle Datenpunkte mit "aktualisiere" geschaltet werden müssen, da es dahinter keine tatsächliche Rückmeldung gibt, die bestätigt werden könnte. Somit übergibt man sie bereits mit dem Flag ACK=true um dahinter liegenden Abhängigkeiten einen bestätigten Wert zu übergeben. Auch in etwa richtig? Wobei, wenn es keine Abhängigkeiten gibt, die unbedingt einen bestätigten Wert benötigen, ist es faktisch egal, ob der Datenpunkt ACK = true oder false hat.
                                Der Wert darin würde so oder so in VIS angezeigt, ein Skript ausführen, oder Teil einer Berechnung sein können.

                                Wobei mir allerdings hier noch praktische Beispiele fehlen, wo es dann ein Muss ist, den Wert bestätigt zu haben. Das ist bisher nur Theorie. Hast Du ein Beispiel, wo es mit "steuere" bei virtuellen Datenpunkten, sprich unbestätigten Werten Probleme gibt?

                                @paul53 sagte in Bekomme einfache Berechnung nicht hin.:

                                @mehrwiedu sagte:

                                Ich habe "unwahr" mit steuere übergeben und der Wert ist nicht bestätigt. Aber was hat das für Konsequenzen, bzw. Auswirkungen?

                                Da es sich um einen virtuellen Datenpunkt handelt, hat es keine Konsequenzen, außer dass der Wert im Reiter "Objekte" immer rot (nicht bestätigt) dargestellt wird.

                                Hier müsste ich dann doch nochmal ein Verständnisproblem versuchen zu klären.
                                Virtuelle Datenpunkte müssen also, wenn ich das wie oben richtig verstanden und mit meinen Worten richtig wiedergegeben habe, mit "aktualisiere" gesteuert werden, um einen bestätigten Wert zu erhalten, weil es keinen Adapter oder ein physisches Gerät gibt, der den Wert bestätigen kann.

                                Hinter meinem Datenpunkt "Nachtlicht_" steht aber der IoT Adapter. Das virtuelle Gerät in Alexa dürfte doch dann auch bei Nutzung des Sprachbefehls ein ACK= true erhalten, oder?

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von paul53
                                #22

                                @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                                Wenn also ein State ON/OFF = true an ein physisches Gerät übergeben wird, muss dies mit ACK= false geschehen, damit überhaupt geschaltet wird. Command ist in diesem Fall zunächst unbestätigt an den Adapter zu übergeben, der dies dann an die Lampe weitergibt und anschließend, wenn die Lampe ihren Status an den Adapter zurückliefert, überschreibt der den "Status" mit ACK = true und somit auch das Flag vom vorherigen Command.
                                Wird es aber bereits mit ACK = true, also mit "Status", sprich "aktualisiere" an den Adapter übergeben, wird dieser damit nichts anfangen, weil dieser "Status" vom Benutzer und nicht von dem physischen Gerät als Rückmeldung kommt. Respektive, weil der Adapter eine Rückmeldung nicht als Befehl ausführt, weil ACK = true ist. Somit bleibt die Lampe dunkel.

                                Korrekt.

                                @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                                Virtuelle Datenpunkte müssen also, wenn ich das wie oben richtig verstanden und mit meinen Worten richtig wiedergegeben habe, mit "aktualisiere" gesteuert werden,

                                Nein, sie sollten mit "aktualisiere" gesetzt werden, wie ich bereits weiter oben geschrieben habe - es ist kein Muss !

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                M 1 Antwort Letzte Antwort
                                0
                                • M mehrwiedu

                                  @paul53 sagte in Bekomme einfache Berechnung nicht hin.:

                                  @mehrwiedu sagte:

                                  Ich mag doch nur die Logik dahinter verstehen

                                  Lies das.
                                  steuere: ack = false,
                                  aktualisiere: ack = true.

                                  Ok, ich versuche mich mal. ;)
                                  Dort steht, dass "Command", also "Steuere" die Bestätigung (ACK - Acknowledgement) = false an den Datenpunkt übermittelt. So wie ich das dort verstehe, ist es also die einzige Möglichkeit für einen Benutzer über z. B. VIS oder ein Skript (Javascript-Adapter) ein physisches Gerät oder einen Adapter zu steuern.
                                  Soweit hätte ich es also verstanden. Um meiner Lampe eine andere Helligkeit zu geben, muss also der Button in VIS oder das (wahlweise dahinterliegende) Skript den Wert unbestätigt übergeben, damit der entsprechende Adapter den Befehl ausführt.

                                  Und nun bitte helfen: Wenn also ein State ON/OFF = true an ein physisches Gerät übergeben wird, muss dies mit ACK= false geschehen, damit überhaupt geschaltet wird. Command ist in diesem Fall zunächst unbestätigt an den Adapter zu übergeben, der dies dann an die Lampe weitergibt und anschließend, wenn die Lampe ihren Status an den Adapter zurückliefert, überschreibt der den "Status" mit ACK = true und somit auch das Flag vom vorherigen Command.

                                  Wird es aber bereits mit ACK = true, also mit "Status", sprich "aktualisiere" an den Adapter übergeben, wird dieser damit nichts anfangen, weil dieser "Status" vom Benutzer und nicht von dem physischen Gerät als Rückmeldung kommt. Respektive, weil der Adapter eine Rückmeldung nicht als Befehl ausführt, weil ACK = true ist. Somit bleibt die Lampe dunkel.

                                  Ist das in etwa so richtig? Wenn ja, verstehe ich nun auch, warum virtuelle Datenpunkte mit "aktualisiere" geschaltet werden müssen, da es dahinter keine tatsächliche Rückmeldung gibt, die bestätigt werden könnte. Somit übergibt man sie bereits mit dem Flag ACK=true um dahinter liegenden Abhängigkeiten einen bestätigten Wert zu übergeben. Auch in etwa richtig? Wobei, wenn es keine Abhängigkeiten gibt, die unbedingt einen bestätigten Wert benötigen, ist es faktisch egal, ob der Datenpunkt ACK = true oder false hat.
                                  Der Wert darin würde so oder so in VIS angezeigt, ein Skript ausführen, oder Teil einer Berechnung sein können.

                                  Wobei mir allerdings hier noch praktische Beispiele fehlen, wo es dann ein Muss ist, den Wert bestätigt zu haben. Das ist bisher nur Theorie. Hast Du ein Beispiel, wo es mit "steuere" bei virtuellen Datenpunkten, sprich unbestätigten Werten Probleme gibt?

                                  @paul53 sagte in Bekomme einfache Berechnung nicht hin.:

                                  @mehrwiedu sagte:

                                  Ich habe "unwahr" mit steuere übergeben und der Wert ist nicht bestätigt. Aber was hat das für Konsequenzen, bzw. Auswirkungen?

                                  Da es sich um einen virtuellen Datenpunkt handelt, hat es keine Konsequenzen, außer dass der Wert im Reiter "Objekte" immer rot (nicht bestätigt) dargestellt wird.

                                  Hier müsste ich dann doch nochmal ein Verständnisproblem versuchen zu klären.
                                  Virtuelle Datenpunkte müssen also, wenn ich das wie oben richtig verstanden und mit meinen Worten richtig wiedergegeben habe, mit "aktualisiere" gesteuert werden, um einen bestätigten Wert zu erhalten, weil es keinen Adapter oder ein physisches Gerät gibt, der den Wert bestätigen kann.

                                  Hinter meinem Datenpunkt "Nachtlicht_" steht aber der IoT Adapter. Das virtuelle Gerät in Alexa dürfte doch dann auch bei Nutzung des Sprachbefehls ein ACK= true erhalten, oder?

                                  HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von
                                  #23

                                  @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                                  Ist das in etwa so richtig?
                                  Ja!

                                  @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                                  Auch in etwa richtig?

                                  Ja, wobei das "muss" sich ausschließlich auf die kosmetische Auswirkung bezieht, da sonst der Wert in den Objekten dauerhaft rot eingefärbt bleibt, was einem ordnungsliebenden Auge als Fehler vorkommen könnte.

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                                    Wenn also ein State ON/OFF = true an ein physisches Gerät übergeben wird, muss dies mit ACK= false geschehen, damit überhaupt geschaltet wird. Command ist in diesem Fall zunächst unbestätigt an den Adapter zu übergeben, der dies dann an die Lampe weitergibt und anschließend, wenn die Lampe ihren Status an den Adapter zurückliefert, überschreibt der den "Status" mit ACK = true und somit auch das Flag vom vorherigen Command.
                                    Wird es aber bereits mit ACK = true, also mit "Status", sprich "aktualisiere" an den Adapter übergeben, wird dieser damit nichts anfangen, weil dieser "Status" vom Benutzer und nicht von dem physischen Gerät als Rückmeldung kommt. Respektive, weil der Adapter eine Rückmeldung nicht als Befehl ausführt, weil ACK = true ist. Somit bleibt die Lampe dunkel.

                                    Korrekt.

                                    @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                                    Virtuelle Datenpunkte müssen also, wenn ich das wie oben richtig verstanden und mit meinen Worten richtig wiedergegeben habe, mit "aktualisiere" gesteuert werden,

                                    Nein, sie sollten mit "aktualisiere" gesetzt werden, wie ich bereits weiter oben geschrieben habe - es ist kein Muss !

                                    M Offline
                                    M Offline
                                    mehrwiedu
                                    schrieb am zuletzt editiert von
                                    #24

                                    @paul53 sagte in Bekomme einfache Berechnung nicht hin.:

                                    Nein, sie sollten mit "aktualisiere" gesetzt werden, wie ich bereits weiter oben geschrieben habe - es ist kein Muss !

                                    Ok, auch verstanden. Dann hatte ich die zuerst genannte Muss-Bedingung falsch eingeordnet.
                                    Gibt es denn tatsächlich so aus dem Ärmel geschüttelt ein Szenario, wo ein bestätigter Wert in einer Variablen ein Muss ist und es dann mit "steuere" dabei ein Problem gibt?

                                    Ich meine, ich werde mir das dann wohl wirklich angewöhnen hierfür (virtuelle Geräte, Variablen) den "aktualisiere" Baustein zu nehmen, aber aus der Erfahrung, die ich damit gemacht hatte, hatte ich ihn quasi schon ausgemustert. ;)
                                    Ich denke, es muss da was geben, was den Baustein außer dem kosmetischen Einsatz rechtfertigt, aber auch jetzt nach der Erklärung, sofern sich da nicht tatsächlich noch ein zwingender Einsatzbereich für diesen Baustein ergeben wird, hätte ich ihn für überflüssig erklärt. :thinking_face:

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • M mehrwiedu

                                      @paul53 sagte in Bekomme einfache Berechnung nicht hin.:

                                      Nein, sie sollten mit "aktualisiere" gesetzt werden, wie ich bereits weiter oben geschrieben habe - es ist kein Muss !

                                      Ok, auch verstanden. Dann hatte ich die zuerst genannte Muss-Bedingung falsch eingeordnet.
                                      Gibt es denn tatsächlich so aus dem Ärmel geschüttelt ein Szenario, wo ein bestätigter Wert in einer Variablen ein Muss ist und es dann mit "steuere" dabei ein Problem gibt?

                                      Ich meine, ich werde mir das dann wohl wirklich angewöhnen hierfür (virtuelle Geräte, Variablen) den "aktualisiere" Baustein zu nehmen, aber aus der Erfahrung, die ich damit gemacht hatte, hatte ich ihn quasi schon ausgemustert. ;)
                                      Ich denke, es muss da was geben, was den Baustein außer dem kosmetischen Einsatz rechtfertigt, aber auch jetzt nach der Erklärung, sofern sich da nicht tatsächlich noch ein zwingender Einsatzbereich für diesen Baustein ergeben wird, hätte ich ihn für überflüssig erklärt. :thinking_face:

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von paul53
                                      #25

                                      @mehrwiedu sagte:

                                      Gibt es denn tatsächlich so aus dem Ärmel geschüttelt ein Szenario, wo ein bestätigter Wert in einer Variablen ein Muss ist und es dann mit "steuere" dabei ein Problem gibt?

                                      Ist mir nicht bekannt.

                                      @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                                      sofern sich da nicht tatsächlich noch ein zwingender Einsatzbereich für diesen Baustein ergeben wird, hätte ich ihn für überflüssig erklärt.

                                      Da man in Blockly nur die Namen der Datenpunkte sieht, sieht man im Programm durch die korrekte Verwendung von "steuere" und "aktualisiere", welche Art Datenpunkt gesetzt wird.

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @mehrwiedu sagte:

                                        Gibt es denn tatsächlich so aus dem Ärmel geschüttelt ein Szenario, wo ein bestätigter Wert in einer Variablen ein Muss ist und es dann mit "steuere" dabei ein Problem gibt?

                                        Ist mir nicht bekannt.

                                        @mehrwiedu sagte in Bekomme einfache Berechnung nicht hin.:

                                        sofern sich da nicht tatsächlich noch ein zwingender Einsatzbereich für diesen Baustein ergeben wird, hätte ich ihn für überflüssig erklärt.

                                        Da man in Blockly nur die Namen der Datenpunkte sieht, sieht man im Programm durch die korrekte Verwendung von "steuere" und "aktualisiere", welche Art Datenpunkt gesetzt wird.

                                        M Offline
                                        M Offline
                                        mehrwiedu
                                        schrieb am zuletzt editiert von
                                        #26

                                        @paul53 sagte in Bekomme einfache Berechnung nicht hin.:

                                        Da man in Blockly nur die Namen der Datenpunkte sieht, sieht man im Programm durch die korrekte Verwendung von "steuere" und "aktualisiere", welche Art Datenpunkt gesetzt wird.

                                        Das würde mir im konkreten Fall bereits reichen, um die vorgesehene Nutzung auch zu verinnerlichen.
                                        Bei vielen Datenpunkten und Skripten hilft das sicherlich schon ungemein, falls mal ein Problem auftritt.

                                        Danke an Dich und @Homoran für die Aufklärung.

                                        Jetzt muss ich mich nur mal bei mir damit beschäftigen, warum ich davon ausgegangen bin, dass ein "aktualisiere" in den selbst erstellten Datenpunkten kein Ergebnis brachte. Ich schätze aber fast, da ich nun die Bedeutung kenne, dass ich bei den Systemdatenpunkten korrekterweise ein "steuere" genutzt habe und dies einfach auf alle Datenpunkte (auch die selbst erstellten) übertragen habe. Dann kommt nämlich mein Eindruck, "aktualisiere" würde nicht schalten, aus der Tatsache, dass ich es zu Anfang bei Systemdatenpunkten genutzt habe und es da natürlich auch genauso ist. ;)

                                        Also eine Annahme aus einer differenten Tatsache gemacht.....ganz klassisches (Halbwissen-gesteuertes) Missverständnis und ein gutes Beispiel dafür, dass sich das Lesen von den ganzen unzähligen Threads hier, definitiv lohnt, um eigene Erkenntnisse zu sammeln und das eigene Wissen anzuheben. :+1:

                                        1 Antwort Letzte Antwort
                                        0
                                        Antworten
                                        • In einem neuen Thema antworten
                                        Anmelden zum Antworten
                                        • Älteste zuerst
                                        • Neuste zuerst
                                        • Meiste Stimmen


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        790

                                        Online

                                        32.5k

                                        Benutzer

                                        81.7k

                                        Themen

                                        1.3m

                                        Beiträge
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Anmelden

                                        • Du hast noch kein Konto? Registrieren

                                        • Anmelden oder registrieren, um zu suchen
                                        • Erster Beitrag
                                          Letzter Beitrag
                                        0
                                        • Home
                                        • Aktuell
                                        • Tags
                                        • Ungelesen 0
                                        • Kategorien
                                        • Unreplied
                                        • Beliebt
                                        • GitHub
                                        • Docu
                                        • Hilfe