Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. (Gelöst) Absoluten Wert eines Objekts anzeigen

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    (Gelöst) Absoluten Wert eines Objekts anzeigen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @amg_666 last edited by

      @amg_666 arbeitest du da mit Vorzeichen als String?
      Multiplikation mit -1 wäre korrekt

      amg_666 1 Reply Last reply Reply Quote 0
      • amg_666
        amg_666 @haus-automatisierung last edited by

        @haus-automatisierung Ne die ist da nur in der vis angehängt

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

          @homoran sagte in Absoluten Wert eines Objekts anzeigen:

          arbeitest du da mit Vorzeichen als String?

          Das ist erstmal nur ein Test, ob das mit math.abs überhaupt klappt, hier wird einfach ein Vorzeichen davor geschrieben, eigentlich will ich nur den absoluten Wert ausgeben, ich hatte aus dem alten Thread die Lösung (mit Vorzeichen als String) kopiert und schon die funktioniert nicht.
          Der Datenpunkt ist eine "number", von daher müsste die Funktion math.abs eigentlich greifen, oder?

          {
            "_id": "mqtt.0.iot.smartmeter.sensor.1.obis.1-0:16.7.0.255.value",
            "common": {
              "name": "iot/smartmeter/sensor/1/obis/1-0:16.7.0/255/value",
              "write": true,
              "read": true,
              "role": "variable",
              "desc": "mqtt server variable",
              "type": "number",
              "custom": {
                "history.0": {
                  "enabled": true
                }
              }
            },
            "native": {
              "topic": "iot/smartmeter/sensor/1/obis/1-0:16.7.0/255/value"
            },
            "type": "state",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            },
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1716028810331
          }
          
          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @amg_666 last edited by haus-automatisierung

            @amg_666 Für mich sieht das richtig aus. Geht es so?

            {wert:mqtt.0.iot.smartmeter.sensor.1.obis.1-0:16.7.0.255.value;wert < 0 ? `-${Math.abs(wert)}` : `+${Math.abs(wert)}`}
            

            Mich wundert dass NaN rauskommt. Welches Widget verwendest Du denn? Eventuell wird versucht das Ergebnis vom Binding (was ja ein String ist) irgendwie wieder zu parsen.

            amg_666 1 Reply Last reply Reply Quote 0
            • amg_666
              amg_666 @haus-automatisierung last edited by

              @haus-automatisierung sagte in Absoluten Wert eines Objekts anzeigen:

              {wert:mqtt.0.iot.smartmeter.sensor.1.obis.1-0:16.7.0.255.value;wert < 0 ? -${Math.abs(wert)} : +${Math.abs(wert)}}

              Das ergibt
              d6f27903-85fa-439a-9463-0df6d93b6d57-grafik.png

              ich benutze das "normale" html widget:

              [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"{wert:mqtt.0.iot.smartmeter.sensor.1.obis.1-0:16.7.0.255.value;wert<0 ? \"-\"+Math.abs(wert): \"+\"+Math.abs(wert)} "},"style":{"left":"1776px","top":"425px","color":"#ffffff","font-family":"\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif","text-align":"right","background":"#000000","width":"122px","height":"44px","z-index":"1"},"widgetSet":"basic"}]
              
              amg_666 1 Reply Last reply Reply Quote 0
              • amg_666
                amg_666 @amg_666 last edited by

                @amg_666 Update : Ich hab das jetzt ans Laufen bekommen, allerdings über den Umweg eines alias.
                html widgt und da dann

                {wert:alias.0.testtest.value;Math.abs(wert)}
                

                zeigt mir den absoluten Betrag des Wertes an. Aber verstehen tue ich es nicht, beide Werte (DP und Alias) sind Zustandstyp "Zahl". Der originale Datenpunkt (funktioniert nicht) hat die Objektdaten

                {
                  "_id": "mqtt.0.iot.smartmeter.sensor.1.obis.1-0:16.7.0.255.value",
                  "common": {
                    "name": "iot/smartmeter/sensor/1/obis/1-0:16.7.0/255/value",
                    "write": true,
                    "read": true,
                    "role": "variable",
                    "desc": "mqtt server variable",
                    "type": "number",
                    "custom": {
                      "history.0": {
                        "enabled": true
                      }
                    }
                  },
                  "native": {
                    "topic": "iot/smartmeter/sensor/1/obis/1-0:16.7.0/255/value"
                  },
                  "type": "state",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  },
                  "from": "system.adapter.admin.0",
                  "user": "system.user.admin",
                  "ts": 1716028810331
                }
                
                

                Der Alias (funktioniert) hat die 1:1 übernommen:

                {
                  "type": "state",
                  "common": {
                    "name": "iot/smartmeter/sensor/1/obis/1-0:16.7.0/255/value",
                    "role": "variable",
                    "type": "number",
                    "read": true,
                    "write": true,
                    "alias": {
                      "id": "mqtt.0.iot.smartmeter.sensor.1.obis.1-0:16.7.0.255.value"
                    },
                    "custom": {
                      "history.0": {
                        "enabled": true
                      }
                    }
                  },
                  "_id": "alias.0.testtest.value",
                  "native": {},
                  "from": "system.adapter.admin.0",
                  "user": "system.user.admin",
                  "ts": 1716308213191,
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  }
                }
                

                Hat hier jemand eine Idee, woran es liegen könnte? Ich kann da zwar so mit leben, aber schön ist irgendwie anders 😉

                liv-in-sky jogibear9988 2 Replies Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @amg_666 last edited by liv-in-sky

                  @amg_666

                  ginge:

                  {wert:mqtt.0.iot.smartmeter.sensor.1.obis.1-0:16.7.0.255.value;wert<0 ? "-"+String(Math.abs(wert)):  "+"+String(Math.abs(wert))} 
                  
                  amg_666 1 Reply Last reply Reply Quote 0
                  • jogibear9988
                    jogibear9988 @amg_666 last edited by

                    @amg_666

                    Ist der orginale Wert vlt. vom Typ Zahl, aber als string gespeichert und enthält dann ein , statt einen . ?
                    Das würde es erklären:

                    b8e672ea-e3e0-47d1-9dc9-9b7935e2ccaa-image.png

                    amg_666 1 Reply Last reply Reply Quote 1
                    • amg_666
                      amg_666 @liv-in-sky last edited by

                      @liv-in-sky sagte in Absoluten Wert eines Objekts anzeigen:

                      {wert:mqtt.0.iot.smartmeter.sensor.1.obis.1-0:16.7.0.255.value;wert<0 ? "-"+String(Math.abs(wert)): "+"+String(Math.abs(wert))}

                      Nein, das spuckt in der vis "+NaN" aus

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @amg_666 last edited by

                        @amg_666 vis 1 oder vis 2

                        1 Reply Last reply Reply Quote 0
                        • amg_666
                          amg_666 @jogibear9988 last edited by amg_666

                          @jogibear9988 Wenn ich in die Objekte schau, dann ist das "type: number" (siehe auch oben die geposteten Objektdaten) und der Wert ist mit einem Punkt, kein Komma:
                          Momentan z.B. -446.6

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @amg_666 last edited by

                            @amg_666

                            mal ne andere frage - warum machst du das - ein minus-wert wird doch als minus angezeigt - bei einem normalen binding ?

                            {mqtt.0.iot.smartmeter.sensor.1.obis.1-0:16.7.0.255.value}
                            

                            müßte doch reichen

                            amg_666 1 Reply Last reply Reply Quote 0
                            • amg_666
                              amg_666 @liv-in-sky last edited by

                              @liv-in-sky Nee, wie oben geschrieben, ich hab diesen +/- thread genommen um zu schauen ob das überhaupt funktioniert (tut es nicht), was ich wirklich will ist "nur" den absoluten Wert darstellen, also z.B. 446 wenn es **-**446 sind.
                              Was ich also will ist Math.abs(xyz) als binding und das funktioniert jetzt bei mir nur mit Alias, nicht mit direktem DP

                              liv-in-sky 2 Replies Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @amg_666 last edited by

                                @amg_666 nochmal : vis1 oder vis2

                                1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @amg_666 last edited by

                                  @amg_666

                                  {wert1:0_userdata.0.CONTROL-OWN.AAATEST.TestStart; Math.abs(wert1)  }
                                  

                                  vis1: bei mir geht das ohne probleme

                                  amg_666 1 Reply Last reply Reply Quote 0
                                  • amg_666
                                    amg_666 @liv-in-sky last edited by

                                    @liv-in-sky vis1

                                    liv-in-sky 2 Replies Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @amg_666 last edited by liv-in-sky

                                      @amg_666

                                      was sagt den die entwicklungsumgebung von chrome, wenn du die seite refresht ?

                                      1 Reply Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @amg_666 last edited by liv-in-sky

                                        @amg_666

                                        falsche antwort

                                        amg_666 1 Reply Last reply Reply Quote 0
                                        • amg_666
                                          amg_666 @liv-in-sky last edited by amg_666

                                          @liv-in-sky ich wll ja eigentlich "nur"

                                          {wert:mqtt.0.iot.smartmeter.sensor.1.obis.1-0:16.7.0.255.value;Math.abs(wert)} 
                                          

                                          also ohne irgendwelche String Additionen, das funktioniert schon nicht.
                                          Ich weiss nicht was genau aus Chrome ich hier posten soll, der html Quelltext liefert schon das "NaN":
                                          2b2e0240-d364-4d74-8ae9-80ef820d50cd-grafik.png

                                          Ich nutze auch eigentlich Firefox, habs jetzt in Chrome geladen, selbes Ergebnis (math.abs mit direktem Datenpunkt geht nicht, Math.abs mit Alias-Datenpunkt geht

                                          liv-in-sky jogibear9988 2 Replies Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @amg_666 last edited by

                                            @amg_666

                                            du musst in den console tab gehen in den entwicklertools

                                            Image 040.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            811
                                            Online

                                            32.1k
                                            Users

                                            80.7k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            25
                                            880
                                            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