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.
    • 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
                                      • jogibear9988
                                        jogibear9988 @amg_666 last edited by

                                        @amg_666 said in Absoluten Wert eines Objekts anzeigen:

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

                                        was steht da wenn du es so machst (oder geht das bei vis überhaupt??)

                                         {wert:mqtt.0.iot.smartmeter.sensor.1.obis.1-0:16.7.0.255.value;wert}
                                        1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky last edited by liv-in-sky

                                          also:

                                          nochmal getestet - das funktioniert bei mir damit:

                                          {wert11:0_userdata.0.CONTROL-OWN.AAATEST.TestStart; wert11 > 0 ? '+'+ String(Math.abs(wert11)) : '-' + String(Math.abs(wert11))}
                                          

                                          smiler12.gif

                                          mit dem alias geht das wahrscheinlich nur - weil du keine doppelpunkte in der object id haben darfst - ist ein fehler auf github und wurde nie repariert

                                          da ist der fehler drin vor 0:16

                                          .1.obis.1-0:16.7.
                                          
                                          amg_666 1 Reply Last reply Reply Quote 2
                                          • amg_666
                                            amg_666 @liv-in-sky last edited by

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

                                            weil du keine doppelpunkte in der object id haben darfst

                                            Dann ist das die Antwort, die ich gesucht habe (die ich aber nicht hören will 🙂 )
                                            Die mqtt Datenpunkte kommen von einem Lesekopf für meinen Smartmeter, da kann ich am Namen nichts anpassen, also muss ich wohl mit dem Alias leben.

                                            Danke an alle

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            962
                                            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