Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst} Addition von 0.01 fehlerhaft

    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

    [gelöst} Addition von 0.01 fehlerhaft

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

      Moin,

      ich habe einen eigenen DP als "Number" angelegt. Sobald eine Aktualisierung via MQTT kommt, soll dieser DP mit 0.01 addiert werden. Das klappt nicht. Das Script macht komische Sachen und plötzlich ist die Zahl "krumm" 3086b1c0-dc60-4d3a-8e08-304750983b67-image.png

      Ich hatte vorher versehentlich im Script nur "+1" gewählt. Da hat die Addition die ganze Zeit wunderbar geklappt. Der händisch eingegebene Startwert war 9xx.75. Heute morgen war dieser dann 10xx.75.

      Ich tippe mal dass der Datentyp "number" falsch ist, oder? Welcher wäre besser?

      Hier mein DP:

      {
        "_id": "0_userdata.0.Gaszaehler.Zaehlerstand",
        "type": "state",
        "common": {
          "name": "Zaehlerstand",
          "role": "value",
          "type": "number",
          "unit": "m³",
          "read": true,
          "write": true,
          "desc": "Manuell erzeugt",
          "def": false,
          "custom": {
            "sql.0": {
              "enabled": true,
              "changesOnly": true,
              "debounce": "1000",
              "retention": "31536000",
              "changesRelogInterval": "3600",
              "changesMinDelta": 0.1,
              "storageType": "",
              "aliasId": ""
            }
          }
        },
        "native": {},
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1576885539099,
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        }
      }
      

      Hier mein Blockly:

      dc913552-0f23-46de-b778-5cf740c5d816-image.png

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

        @oberfragger sagte:

        Ich tippe mal dass der Datentyp "number" falsch ist, oder?

        Der Datentyp "number" ist richtig ! Es ist normal, dass eine mathematische Gleitkomma-Operation viele Nachkommastellen erzeugen kann. In diesem Fall muss man das Ergebnis der Operation auf 2 Nachkommastellen runden.

        oberfragger 1 Reply Last reply Reply Quote 1
        • oberfragger
          oberfragger @paul53 last edited by

          @paul53 Vielen Dank. Das war es vermutlich. Läuft nun 2h fehlerfrei.

          d6e4d4fd-0ccc-4068-b51e-14173b725946-image.png

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

          Support us

          ioBroker
          Community Adapters
          Donate

          610
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          blockly heating
          2
          3
          460
          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