Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. #solved / Datenpunkt auslesen um Rechnung zu erstellen

    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

    #solved / Datenpunkt auslesen um Rechnung zu erstellen

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

      Guten tag Ihr Lieben.

      Ich habe da mal eine Blockly/Datenpunkt Frage:

      Ich errechne mit einem Blockly Script einen kWh Wert.
      (Impulse pro kWh, Offset, etc..)

      Wenn ich in Blockly diese Konstellation benutze, geht es!

      logikesp3.PNG

      Dort gebe ich den Offset Wert im Script direkt ein.

      Wenn ich diesen Offset allerdings von "außen" eintragen möchte, dachte ich an das hier an der gleichen Stelle:

      logikesp.PNG

      Die Datenpunkte sehen so aus:

      logikesp2.PNG

      Wenn ich die Blockly Aufgabe mit "außen" einstellbare Funktion betreibe, sieht man in dem Datenpunkt Bild, das dass Ergebnis mit (null) deklariert wird.
      Ohne diese Änderung bekomme ich einen echten Wert, also das was ich möchte.

      Wie verändere ich den Datenpunkt "faktor", damit dieser vom Blockly Script anerkannt wird?!

      Der Datenpunkt "faktor" hat:

      {
        "common": {
          "name": "faktor",
          "desc": "Manuell erzeugt",
          "role": "value",
          "type": "number",
          "read": true,
          "write": true,
          "def": false
        },
        "type": "state",
        "_id": "0_userdata.0.faktor",
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1629555179671
      }
      

      Der Datenpunkt "Zahl" hat:

      {
        "common": {
          "name": "Zahl",
          "desc": "Manuell erzeugt",
          "role": "value",
          "type": "number",
          "read": true,
          "write": true,
          "def": 0,
          "color": "#11d80e"
        },
        "type": "state",
        "_id": "0_userdata.0.Zahl",
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1629554525604
      }
      

      Zusammengefasst:

      Warum geht das Script nicht, wenn ich den Wert von "außen" hole und wenn ich den "factor" direkt im Script eingebe, es geht?!

      Hilfe :(((

      Euer Dice

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

        @dices
        Füge mal nach x = x + Wert von faktor eine Log-Ausgabe von x ein, um zu sehen, was das Ergebnis der Addition (oder String-Verkettung) ist.

        D 1 Reply Last reply Reply Quote 0
        • D
          Dices @paul53 last edited by

          @paul53

          Oke gute Idee:

          debugout.PNG

          Nach dem Runden auf 3 Nachkommastellen ist das Ergebnis NaN

          Davor ist es eine echte Dezimalzahl.

          Was geschieht da?

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

            @dices sagte: Davor ist es eine echte Dezimalzahl.

            Mit 2 Punkten? Das ist eine String-Verkettung von 5.924 + "28.701". Wandle mal den "Wert von faktor" nach Zahl.

            D 1 Reply Last reply Reply Quote 0
            • D
              Dices @paul53 last edited by

              @paul53

              Nun:

              1.PNG

              Das Objekt "faktor" ist:

              {
                "common": {
                  "name": "faktor",
                  "desc": "Manuell erzeugt",
                  "role": "value",
                  "type": "number",
                  "read": true,
                  "write": true,
                  "def": 0
                },
                "type": "state",
                "_id": "0_userdata.0.faktor",
                "from": "system.adapter.admin.0",
                "user": "system.user.admin",
                "ts": 1629558831100
              }
              

              Das Objekt "Zahl ist:

              {
                "common": {
                  "name": "Zahl",
                  "desc": "Manuell erzeugt",
                  "role": "value",
                  "type": "number",
                  "read": true,
                  "write": true,
                  "def": 0,
                  "color": "#11d80e"
                },
                "type": "state",
                "_id": "0_userdata.0.Zahl",
                "from": "system.adapter.admin.0",
                "user": "system.user.admin",
                "ts": 1629558820447
              }
              

              Das Ergebnis ist imme rnoch seltsam.
              Die Funktion:

              2.PNG

              Wo X auf den Wert + den Anderen Wert gesetzt wird mit diesem "+" ist das auch als Addition gemeint oder nur als "Füge zusammen?!"

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

                @dices sagte: ist das auch als Addition gemeint oder nur als "Füge zusammen?!"

                Wenn ein Wert vom Typ "string" ist, erfolgt bei + immer eine String-Verkettung.
                So passiert es nicht:

                Bild_2021-08-21_172203.png

                D 1 Reply Last reply Reply Quote 1
                • D
                  Dices @paul53 last edited by

                  @paul53

                  Ach sooo, also muss die Addition "als ZAHL" addiert werden!

                  Warte...

                  SO!
                  Ich glaube jetzt geht es...:

                  4.PNG

                  Ergebnis:
                  5.PNG

                  Scheint mir auf den Ersten Blick richtg.

                  Aber warum muss ich diesen Baustzein "nach Zahl" dazu geben?
                  Werden dann nicht die beiden Werte addiert "von Haus aus"?

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

                    @dices sagte: Werden dann nicht die beiden Werte addiert "von Haus aus"?

                    28.701 wird anscheinend als String eingelesen. Keine Ahnung weshalb. Vielleicht ein unsichtbares Zeichen oder ein Leerzeichen hinten dran?

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      Dices @paul53 last edited by

                      @paul53

                      Das werde ich noch genauer verfolgen warum das so ist.

                      Jetzt geht es, also mein Problem ist dank dir gelöst!

                      Danke dir ❤

                      Grüße und /closed

                      Dices

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      933
                      Online

                      31.8k
                      Users

                      80.0k
                      Topics

                      1.3m
                      Posts

                      2
                      9
                      356
                      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