Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    249

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

Scheduled Pinned Locked Moved Tester
appdark-modeiqontrolresponsivevisvisualisierungvisualizationwidget
7.6k Posts 296 Posters 7.2m Views 201 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • s.bormannS s.bormann

    @martinschm sagte in Test Adapter iQontrol 1.5.x:

    @s-bormann said in Test Adapter iQontrol 1.5.x:

    @martinschm Ja, geht mir leider auch so. Ich vermute die Editable-Table von ioBroker (damit werden die ganzen Tabellen in iQontrol erstellt) als Ursache - bin mir da aber nicht ganz sicher. Wahrscheinlich läuft irgendwo eine Speicher voll oder es werden zu viele Event-Listener generiert...?
    Hätte ich mal gaaanz viel Zeit, würde ich das Tabellen-Plugin entfernen und durch ein eigenes ersetzen... Bis dahin reloade ich einfach immer mal wieder.

    Hab jetzt mal geschaut. Direkt nach dem Laden sind es 385MB Speicherbelegung gewesen, 30 min später sind es bereits 703MB.

    Das spricht ja für die Theorie. Kann man irgendwie sehen, womit der Speicher belegt wird? Kenne mich da leider nicht so aus...

    M Offline
    M Offline
    martinschm
    wrote on last edited by
    #4610

    @s-bormann said in Test Adapter iQontrol 1.5.x:

    @martinschm sagte in Test Adapter iQontrol 1.5.x:

    @s-bormann said in Test Adapter iQontrol 1.5.x:

    @martinschm Ja, geht mir leider auch so. Ich vermute die Editable-Table von ioBroker (damit werden die ganzen Tabellen in iQontrol erstellt) als Ursache - bin mir da aber nicht ganz sicher. Wahrscheinlich läuft irgendwo eine Speicher voll oder es werden zu viele Event-Listener generiert...?
    Hätte ich mal gaaanz viel Zeit, würde ich das Tabellen-Plugin entfernen und durch ein eigenes ersetzen... Bis dahin reloade ich einfach immer mal wieder.

    Hab jetzt mal geschaut. Direkt nach dem Laden sind es 385MB Speicherbelegung gewesen, 30 min später sind es bereits 703MB.

    Das spricht ja für die Theorie. Kann man irgendwie sehen, womit der Speicher belegt wird? Kenne mich da leider nicht so aus...

    Weiß ich leider auch nicht. Hab nur die Zahlen aus dem Task Manager gelesen. Aber wäre das nicht was für die iobroker Core Entwickler?
    Besonders wenn es evtl von einer ihrer Komponenten verursacht wird.

    1 Reply Last reply
    0
    • s.bormannS s.bormann

      Jetzt auf Github: Glow-Effekt

      f24866b2-3265-48ab-8402-324e4f947e03-image.png

      M Offline
      M Offline
      mikweb
      wrote on last edited by mikweb
      #4611

      @s-bormann
      Wie funktioniert das? Irgendwie habe ich das nicht verstanden, es klappt nicht bei Mir:male-detective:
      Glow-Effekt meinte ich

      s.bormannS 1 Reply Last reply
      0
      • M mikweb

        @s-bormann
        Wie funktioniert das? Irgendwie habe ich das nicht verstanden, es klappt nicht bei Mir:male-detective:
        Glow-Effekt meinte ich

        s.bormannS Offline
        s.bormannS Offline
        s.bormann
        Most Active
        wrote on last edited by s.bormann
        #4612

        @mikweb sagte in Test Adapter iQontrol 1.5.x:

        @s-bormann
        Wie funktioniert das? Irgendwie habe ich das nicht verstanden, es klappt nicht bei Mir:male-detective:
        Glow-Effekt meinte ich

        In der Gerätekonfiguration gibt es drei neue Datenpunkte:
        GLOW_ACTIVE_COLOR, GLOW_INACTIVE_COLOR und GLOW_HIDE.

        Bei den ersten beiden kann man eine Farbe angeben, die dann als Glow-Effekt dargestellt wird (je nach dem, ob das Gerät aktiv oder eben inaktiv ist). Mögliche Werte sind alle HTML-Kompatiblen Farbwerte, also z.B. "red", "#FF0000" etc.

        Wenn keine Farbe angegeben wird (also das Feld leer ist), wird der Glow-Effekt wieder entfernt.

        Die Farbe kann entweder als Konstante angegeben werden, oder aus einem Datenpunkt geholt werden (linked State), dann hat man z.B. über Blockly die Möglichkeit, die Farbe während der Laufzeit zu ändern.

        Alternativ kann man die Farbe bei RGB-Lampen auch aus HUE und SATURATION generieren lassen (dazu gibt es eine Option).

        Möchte man z.B. per Blockly den Glow-Effekt an- und ausschalten, kann man den Datenpunkt GLOW_HIDE verwenden (dieser kann auch per Option invertiert werden, so dass bei true Glow-Effekt ein- und bei false ausgeblendet wird).

        M 1 Reply Last reply
        0
        • s.bormannS s.bormann

          @mikweb sagte in Test Adapter iQontrol 1.5.x:

          @s-bormann
          Wie funktioniert das? Irgendwie habe ich das nicht verstanden, es klappt nicht bei Mir:male-detective:
          Glow-Effekt meinte ich

          In der Gerätekonfiguration gibt es drei neue Datenpunkte:
          GLOW_ACTIVE_COLOR, GLOW_INACTIVE_COLOR und GLOW_HIDE.

          Bei den ersten beiden kann man eine Farbe angeben, die dann als Glow-Effekt dargestellt wird (je nach dem, ob das Gerät aktiv oder eben inaktiv ist). Mögliche Werte sind alle HTML-Kompatiblen Farbwerte, also z.B. "red", "#FF0000" etc.

          Wenn keine Farbe angegeben wird (also das Feld leer ist), wird der Glow-Effekt wieder entfernt.

          Die Farbe kann entweder als Konstante angegeben werden, oder aus einem Datenpunkt geholt werden (linked State), dann hat man z.B. über Blockly die Möglichkeit, die Farbe während der Laufzeit zu ändern.

          Alternativ kann man die Farbe bei RGB-Lampen auch aus HUE und SATURATION generieren lassen (dazu gibt es eine Option).

          Möchte man z.B. per Blockly den Glow-Effekt an- und ausschalten, kann man den Datenpunkt GLOW_HIDE verwenden (dieser kann auch per Option invertiert werden, so dass bei true Glow-Effekt ein- und bei false ausgeblendet wird).

          M Offline
          M Offline
          mikweb
          wrote on last edited by
          #4613

          @s-bormann said in Test Adapter iQontrol 1.5.x:

          @mikweb sagte in Test Adapter iQontrol 1.5.x:

          @s-bormann
          Wie funktioniert das? Irgendwie habe ich das nicht verstanden, es klappt nicht bei Mir:male-detective:
          Glow-Effekt meinte ich

          In der Gerätekonfiguration gibt es drei neue Datenpunkte:
          GLOW_ACTIVE_COLOR, GLOW_INACTIVE_COLOR und GLOW_HIDE.

          Bei den ersten beiden kann man eine Farbe angeben, die dann als Glow-Effekt dargestellt wird (je nach dem, ob das Gerät aktiv oder eben inaktiv ist). Mögliche Werte sind alle HTML-Kompatiblen Farbwerte, also z.B. "red", "#FF0000" etc.

          Wenn keine Farbe angegeben wird (also das Feld leer ist), wird der Glow-Effekt wieder entfernt.

          Die Farbe kann entweder als Konstante angegeben werden, oder aus einem Datenpunkt geholt werden (linked State), dann hat man z.B. über Blockly die Möglichkeit, die Farbe während der Laufzeit zu ändern.

          Alternativ kann man die Farbe bei RGB-Lampen auch aus HUE und SATURATION generieren lassen (dazu gibt es eine Option).

          Möchte man z.B. per Blockly den Glow-Effekt an- und ausschalten, kann man den Datenpunkt GLOW_HIDE verwenden (dieser kann auch per Option invertiert werden, so dass bei true Glow-Effekt ein- und bei false ausgeblendet wird).

          :+1:

          1 Reply Last reply
          0
          • K Offline
            K Offline
            Kueppert
            wrote on last edited by
            #4614

            ALL: gibt es eigentlich die Möglichkeit, dass durch den Klick auf meine Sprit-Kachel nicht die kleine weiße Leiste aufgeht, sondern direkt der Chart?
            Hab Gerätetyp "Wert" genommen, den Spritpreis vom Tankerkönig als "State" und den eChart bei "Background_URL" hinterlegt
            iQontrol-Spritpreis.gif

            UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

            dslraserD 1 Reply Last reply
            0
            • K Kueppert

              ALL: gibt es eigentlich die Möglichkeit, dass durch den Klick auf meine Sprit-Kachel nicht die kleine weiße Leiste aufgeht, sondern direkt der Chart?
              Hab Gerätetyp "Wert" genommen, den Spritpreis vom Tankerkönig als "State" und den eChart bei "Background_URL" hinterlegt
              iQontrol-Spritpreis.gif

              dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              wrote on last edited by dslraser
              #4615

              @kueppert sagte in Test Adapter iQontrol 1.5.x:

              ALL: gibt es eigentlich die Möglichkeit, dass durch den Klick auf meine Sprit-Kachel nicht die kleine weiße Leiste aufgeht, sondern direkt der Chart?
              Hab Gerätetyp "Wert" genommen, den Spritpreis vom Tankerkönig als "State" und den eChart bei "Background_URL" hinterlegt

              Ich denke es wird wie immer verschiedene Wege geben, aber alle Einstellungen zu zeigen und zu schreiben ist sehr Mühsam.🤔
              Ich habe mal mit anderen Werten und Datenpunkten rumgespielt, weil ich keine Charts habe...Aber meinst Du so, vom Prinzip her ?

              20210127_120920.gif

              Vielleicht mal kurz mit Teamviewer oder anydesk ?

              K 2 Replies Last reply
              1
              • dslraserD dslraser

                @kueppert sagte in Test Adapter iQontrol 1.5.x:

                ALL: gibt es eigentlich die Möglichkeit, dass durch den Klick auf meine Sprit-Kachel nicht die kleine weiße Leiste aufgeht, sondern direkt der Chart?
                Hab Gerätetyp "Wert" genommen, den Spritpreis vom Tankerkönig als "State" und den eChart bei "Background_URL" hinterlegt

                Ich denke es wird wie immer verschiedene Wege geben, aber alle Einstellungen zu zeigen und zu schreiben ist sehr Mühsam.🤔
                Ich habe mal mit anderen Werten und Datenpunkten rumgespielt, weil ich keine Charts habe...Aber meinst Du so, vom Prinzip her ?

                20210127_120920.gif

                Vielleicht mal kurz mit Teamviewer oder anydesk ?

                K Offline
                K Offline
                Kueppert
                wrote on last edited by Kueppert
                #4616

                @dslraser jaaa, genau. Ich will das 1X1-Widget haben um direkt den Spritpreis zu sehen. Beim Klick auf das Widget soll nicht der State angezeigt werden, sondern das Widget sich maximieren und mir den Inhalt (bei mir Chart) anzeigen, dass ich in der URL hinterlegt habe.

                PS: Ich lade gerade mal Teamviewer runter, den kenne ich ;)

                UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                1 Reply Last reply
                0
                • dslraserD dslraser

                  @kueppert sagte in Test Adapter iQontrol 1.5.x:

                  ALL: gibt es eigentlich die Möglichkeit, dass durch den Klick auf meine Sprit-Kachel nicht die kleine weiße Leiste aufgeht, sondern direkt der Chart?
                  Hab Gerätetyp "Wert" genommen, den Spritpreis vom Tankerkönig als "State" und den eChart bei "Background_URL" hinterlegt

                  Ich denke es wird wie immer verschiedene Wege geben, aber alle Einstellungen zu zeigen und zu schreiben ist sehr Mühsam.🤔
                  Ich habe mal mit anderen Werten und Datenpunkten rumgespielt, weil ich keine Charts habe...Aber meinst Du so, vom Prinzip her ?

                  20210127_120920.gif

                  Vielleicht mal kurz mit Teamviewer oder anydesk ?

                  K Offline
                  K Offline
                  Kueppert
                  wrote on last edited by
                  #4617

                  @dslraser vielen Dank für die Hilfe via Teamviewer :D

                  UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                  M 1 Reply Last reply
                  1
                  • K Offline
                    K Offline
                    Kueppert
                    wrote on last edited by
                    #4618

                    @s-bormann kannst du mir ggf mitteilen, ob die Felder Info_A und Badge eine Beschränkung der Länge von Zahlen haben? Ich möchte da gern meinen Spritpreis stehen haben, die Zahl wird aber auf 1 NKS gerundet. Ich kann mich auf den Kopf stellen und meinen Namen hüpfen...der Spritpreis mit 2 NKS wird mir nicht ausgegeben ^^
                    c48aeb00-b5f5-4541-9dbf-d5e1cdbc7cf4-image.png

                    UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                    dslraserD s.bormannS 2 Replies Last reply
                    0
                    • K Kueppert

                      @s-bormann kannst du mir ggf mitteilen, ob die Felder Info_A und Badge eine Beschränkung der Länge von Zahlen haben? Ich möchte da gern meinen Spritpreis stehen haben, die Zahl wird aber auf 1 NKS gerundet. Ich kann mich auf den Kopf stellen und meinen Namen hüpfen...der Spritpreis mit 2 NKS wird mir nicht ausgegeben ^^
                      c48aeb00-b5f5-4541-9dbf-d5e1cdbc7cf4-image.png

                      dslraserD Offline
                      dslraserD Offline
                      dslraser
                      Forum Testing Most Active
                      wrote on last edited by
                      #4619

                      @kueppert
                      Das liegt am Format...(zeig mal den RAW von dem DP) Das ist wahrscheinlich eine Zahl mit Punkt...Als Text würde es angezeigt werden. Zur Not erstellst Du Dir einen Alias der die Zahl in Text umwandelt.

                      Bildschirmfoto 2021-01-27 um 16.06.45.png

                      K 1 Reply Last reply
                      0
                      • dslraserD dslraser

                        @kueppert
                        Das liegt am Format...(zeig mal den RAW von dem DP) Das ist wahrscheinlich eine Zahl mit Punkt...Als Text würde es angezeigt werden. Zur Not erstellst Du Dir einen Alias der die Zahl in Text umwandelt.

                        Bildschirmfoto 2021-01-27 um 16.06.45.png

                        K Offline
                        K Offline
                        Kueppert
                        wrote on last edited by
                        #4620

                        @dslraser jup, ist ne Zahl mit Punkt...dann mache ich mir mal nen Alias. Danke :)

                        UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                        dslraserD F 2 Replies Last reply
                        0
                        • K Kueppert

                          @dslraser jup, ist ne Zahl mit Punkt...dann mache ich mir mal nen Alias. Danke :)

                          dslraserD Offline
                          dslraserD Offline
                          dslraser
                          Forum Testing Most Active
                          wrote on last edited by
                          #4621

                          @kueppert sagte in Test Adapter iQontrol 1.5.x:

                          @dslraser jup, ist ne Zahl mit Punkt...dann mache ich mir mal nen Alias. Danke :)

                          Hier hatte ich mal sowas (alias) für Temperaturen benutzt

                          https://forum.iobroker.net/post/456537

                          K 1 Reply Last reply
                          1
                          • dslraserD dslraser

                            @kueppert sagte in Test Adapter iQontrol 1.5.x:

                            @dslraser jup, ist ne Zahl mit Punkt...dann mache ich mir mal nen Alias. Danke :)

                            Hier hatte ich mal sowas (alias) für Temperaturen benutzt

                            https://forum.iobroker.net/post/456537

                            K Offline
                            K Offline
                            Kueppert
                            wrote on last edited by
                            #4622

                            @dslraser sehr sehr schön. Ich erweitere meine Doku um immer mehr Konvertierungen :) Hab nur auf 2 NKS erweitert: read = "val.toFixed(2).replace('.',',')"

                            UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                            dslraserD 1 Reply Last reply
                            1
                            • K Kueppert

                              @dslraser sehr sehr schön. Ich erweitere meine Doku um immer mehr Konvertierungen :) Hab nur auf 2 NKS erweitert: read = "val.toFixed(2).replace('.',',')"

                              dslraserD Offline
                              dslraserD Offline
                              dslraser
                              Forum Testing Most Active
                              wrote on last edited by
                              #4623

                              @kueppert
                              Nur daran denken das es dann Text ist und keine Zahl mehr. Mit einer Zahl könntest Du etwas berechnen, mit Text nicht. Also sowas nur zur Anzeige benutzen und nicht um mit dem Wert etwas zu berechnen.

                              K 1 Reply Last reply
                              1
                              • dslraserD dslraser

                                @kueppert
                                Nur daran denken das es dann Text ist und keine Zahl mehr. Mit einer Zahl könntest Du etwas berechnen, mit Text nicht. Also sowas nur zur Anzeige benutzen und nicht um mit dem Wert etwas zu berechnen.

                                K Offline
                                K Offline
                                Kueppert
                                wrote on last edited by
                                #4624

                                @dslraser irgendwas stimmt da nicht...

                                javascript.0	2021-01-27 16:59:15.965	error	(17209) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                web.0	2021-01-27 16:59:15.962	error	(556) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                admin.0	2021-01-27 16:59:15.906	error	(16712) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                javascript.0	2021-01-27 16:59:15.904	error	(17209) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                web.0	2021-01-27 16:59:15.898	error	(556) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                

                                Habs...im Tankerkönig ist der Preis bereits eine Zeichenkette. Die kann ich leider nicht mit val.tofixed konvertieren...

                                RAW:

                                {
                                  "from": "system.adapter.tankerkoenig.0",
                                  "ts": 1611763152474,
                                  "user": "system.user.admin",
                                  "common": {
                                    "name": "diesel short",
                                    "desc": "Preis Diesel (e.ee) zwei Dezimalstellen (nicht gerundet)",
                                    "type": "string",
                                    "role": "value",
                                    "read": true,
                                    "write": false,
                                    "custom": {
                                      "sql.0": {
                                        "enabled": true,
                                        "changesOnly": true,
                                        "debounce": "10000",
                                        "maxLength": 10,
                                        "retention": 0,
                                        "changesRelogInterval": 0,
                                        "changesMinDelta": 0,
                                        "storageType": "",
                                        "aliasId": "",
                                        "counter": false
                                      }
                                    }
                                  },
                                  "native": {},
                                  "acl": {
                                    "object": 1636,
                                    "owner": "system.user.admin",
                                    "ownerGroup": "system.group.administrator",
                                    "state": 1636
                                  },
                                  "_id": "tankerkoenig.0.stations.1.diesel.short",
                                  "type": "state"
                                }
                                

                                UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                                dslraserD 2 Replies Last reply
                                0
                                • K Kueppert

                                  @dslraser irgendwas stimmt da nicht...

                                  javascript.0	2021-01-27 16:59:15.965	error	(17209) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                  web.0	2021-01-27 16:59:15.962	error	(556) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                  admin.0	2021-01-27 16:59:15.906	error	(16712) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                  javascript.0	2021-01-27 16:59:15.904	error	(17209) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                  web.0	2021-01-27 16:59:15.898	error	(556) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                  

                                  Habs...im Tankerkönig ist der Preis bereits eine Zeichenkette. Die kann ich leider nicht mit val.tofixed konvertieren...

                                  RAW:

                                  {
                                    "from": "system.adapter.tankerkoenig.0",
                                    "ts": 1611763152474,
                                    "user": "system.user.admin",
                                    "common": {
                                      "name": "diesel short",
                                      "desc": "Preis Diesel (e.ee) zwei Dezimalstellen (nicht gerundet)",
                                      "type": "string",
                                      "role": "value",
                                      "read": true,
                                      "write": false,
                                      "custom": {
                                        "sql.0": {
                                          "enabled": true,
                                          "changesOnly": true,
                                          "debounce": "10000",
                                          "maxLength": 10,
                                          "retention": 0,
                                          "changesRelogInterval": 0,
                                          "changesMinDelta": 0,
                                          "storageType": "",
                                          "aliasId": "",
                                          "counter": false
                                        }
                                      }
                                    },
                                    "native": {},
                                    "acl": {
                                      "object": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator",
                                      "state": 1636
                                    },
                                    "_id": "tankerkoenig.0.stations.1.diesel.short",
                                    "type": "state"
                                  }
                                  
                                  dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  wrote on last edited by dslraser
                                  #4625

                                  @kueppert
                                  Du hast ja die Antwort im anderen Beitrag schon bekommen, geht es damit ? (deswegen wollte ich auch den RAW sehen 😀)

                                  K 1 Reply Last reply
                                  0
                                  • dslraserD dslraser

                                    @kueppert
                                    Du hast ja die Antwort im anderen Beitrag schon bekommen, geht es damit ? (deswegen wollte ich auch den RAW sehen 😀)

                                    K Offline
                                    K Offline
                                    Kueppert
                                    wrote on last edited by Kueppert
                                    #4626

                                    @dslraser YEEES, endlich...iQontrol will also keinen Text mit Punkt, sondern nen Text mit Komma ^^
                                    4dd76a3e-88b6-45aa-971d-f1b69d8d46c1-image.png

                                    das Alias-Skript für die Konvertierung vom Tankerkönig-Feed sieht bei mir wie folgt aus:

                                    ///https://forum.iobroker.net/topic/27295/vorlage-alias-per-skript-erzeugen
                                    ///VAR-Konvertierung: https://forum.iobroker.net/topic/33747/alias-best-practices-wie-kann-man-es-besser-machen/39
                                    
                                    // Original-Datenpunkt
                                    const idOrigin = 'tankerkoenig.0.stations.1.diesel.short'/*diesel short*/;
                                    
                                     
                                    // Alias-Datenpunkt
                                    const idAlias = 'Spritpreise.ESSODiesel';
                                    var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom;
                                    // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                                    nameAlias = 'ESSODiesel';
                                    // desc = 'per Script erstellt';
                                    typeAlias = 'string'; // 'boolean' oder 'number' oder 'switch' oder 'state' oder 'string'
                                    read = "val.replace('.', ',')"; // Erkennung "Aus" --> false erfolgt automatisch  
                                    // write = "val ? 'Ein' : 'Aus'";
                                    // role = 'indicator.lowbat'; // 'switch.light' oder 'value.temperature' oder 'window.value' oder 'indicator.lowbat'
                                    // min = 0; // nur Zahlen
                                    // max = 100; // nur Zahlen
                                    unit = '€'; // nur für Zahlen, z.B. '%' oder '°C' oder ' ' wenn keine Unit!
                                    // states = {true: 'leer', false: 'voll'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                                    custom = []; // verhindert doppelte Ausführung von history, telegram, mqtt-client, ...
                                     
                                    function createAlias(idSrc, idDst) {
                                       if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                                       else {
                                          var obj = {};
                                          obj.type = 'state';
                                          obj.common = getObject(idSrc).common;
                                          obj.common.alias = {};
                                          obj.common.alias.id = idSrc;
                                          if(typeAlias) obj.common.type = typeAlias;
                                          if(obj.common.read !== false && read) obj.common.alias.read = read;
                                          if(obj.common.write !== false && write) obj.common.alias.write = write;
                                          if(nameAlias) obj.common.name = nameAlias;
                                          if(role) obj.common.role = role;
                                          if(desc) obj.common.desc = desc;
                                          if(min !== undefined) obj.common.min = min;
                                          if(max !== undefined) obj.common.max = max;
                                          if(unit) obj.common.unit = unit;
                                          if(states) obj.common.states = states;
                                          if(custom && obj.common.custom) obj.common.custom = custom;
                                          if(obj.common.icon) delete obj.common.icon;
                                          obj.native = {};
                                          setObject(idDst, obj);
                                       } 
                                    }
                                     
                                    createAlias(idOrigin, 'alias.0.' + idAlias);
                                    

                                    UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                                    dslraserD 2 Replies Last reply
                                    1
                                    • K Kueppert

                                      @dslraser YEEES, endlich...iQontrol will also keinen Text mit Punkt, sondern nen Text mit Komma ^^
                                      4dd76a3e-88b6-45aa-971d-f1b69d8d46c1-image.png

                                      das Alias-Skript für die Konvertierung vom Tankerkönig-Feed sieht bei mir wie folgt aus:

                                      ///https://forum.iobroker.net/topic/27295/vorlage-alias-per-skript-erzeugen
                                      ///VAR-Konvertierung: https://forum.iobroker.net/topic/33747/alias-best-practices-wie-kann-man-es-besser-machen/39
                                      
                                      // Original-Datenpunkt
                                      const idOrigin = 'tankerkoenig.0.stations.1.diesel.short'/*diesel short*/;
                                      
                                       
                                      // Alias-Datenpunkt
                                      const idAlias = 'Spritpreise.ESSODiesel';
                                      var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom;
                                      // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                                      nameAlias = 'ESSODiesel';
                                      // desc = 'per Script erstellt';
                                      typeAlias = 'string'; // 'boolean' oder 'number' oder 'switch' oder 'state' oder 'string'
                                      read = "val.replace('.', ',')"; // Erkennung "Aus" --> false erfolgt automatisch  
                                      // write = "val ? 'Ein' : 'Aus'";
                                      // role = 'indicator.lowbat'; // 'switch.light' oder 'value.temperature' oder 'window.value' oder 'indicator.lowbat'
                                      // min = 0; // nur Zahlen
                                      // max = 100; // nur Zahlen
                                      unit = '€'; // nur für Zahlen, z.B. '%' oder '°C' oder ' ' wenn keine Unit!
                                      // states = {true: 'leer', false: 'voll'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                                      custom = []; // verhindert doppelte Ausführung von history, telegram, mqtt-client, ...
                                       
                                      function createAlias(idSrc, idDst) {
                                         if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                                         else {
                                            var obj = {};
                                            obj.type = 'state';
                                            obj.common = getObject(idSrc).common;
                                            obj.common.alias = {};
                                            obj.common.alias.id = idSrc;
                                            if(typeAlias) obj.common.type = typeAlias;
                                            if(obj.common.read !== false && read) obj.common.alias.read = read;
                                            if(obj.common.write !== false && write) obj.common.alias.write = write;
                                            if(nameAlias) obj.common.name = nameAlias;
                                            if(role) obj.common.role = role;
                                            if(desc) obj.common.desc = desc;
                                            if(min !== undefined) obj.common.min = min;
                                            if(max !== undefined) obj.common.max = max;
                                            if(unit) obj.common.unit = unit;
                                            if(states) obj.common.states = states;
                                            if(custom && obj.common.custom) obj.common.custom = custom;
                                            if(obj.common.icon) delete obj.common.icon;
                                            obj.native = {};
                                            setObject(idDst, obj);
                                         } 
                                      }
                                       
                                      createAlias(idOrigin, 'alias.0.' + idAlias);
                                      
                                      dslraserD Offline
                                      dslraserD Offline
                                      dslraser
                                      Forum Testing Most Active
                                      wrote on last edited by
                                      #4627

                                      @kueppert sagte in Test Adapter iQontrol 1.5.x:

                                      YEEES, endlich...iQontrol will also keinen Text mit Punkt, sondern nen Text mit Komma ^^

                                      Jupp, sieht so aus. Aber gut das es geht. Schreibe bitte für die Nachwelt noch in Deinen Beitrag wie Du den alias eingestellt hast, am Besten das ganze alias Script mit den passenden Einstellungen.

                                      1 Reply Last reply
                                      2
                                      • K Kueppert

                                        @dslraser irgendwas stimmt da nicht...

                                        javascript.0	2021-01-27 16:59:15.965	error	(17209) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                        web.0	2021-01-27 16:59:15.962	error	(556) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                        admin.0	2021-01-27 16:59:15.906	error	(16712) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                        javascript.0	2021-01-27 16:59:15.904	error	(17209) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                        web.0	2021-01-27 16:59:15.898	error	(556) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function
                                        

                                        Habs...im Tankerkönig ist der Preis bereits eine Zeichenkette. Die kann ich leider nicht mit val.tofixed konvertieren...

                                        RAW:

                                        {
                                          "from": "system.adapter.tankerkoenig.0",
                                          "ts": 1611763152474,
                                          "user": "system.user.admin",
                                          "common": {
                                            "name": "diesel short",
                                            "desc": "Preis Diesel (e.ee) zwei Dezimalstellen (nicht gerundet)",
                                            "type": "string",
                                            "role": "value",
                                            "read": true,
                                            "write": false,
                                            "custom": {
                                              "sql.0": {
                                                "enabled": true,
                                                "changesOnly": true,
                                                "debounce": "10000",
                                                "maxLength": 10,
                                                "retention": 0,
                                                "changesRelogInterval": 0,
                                                "changesMinDelta": 0,
                                                "storageType": "",
                                                "aliasId": "",
                                                "counter": false
                                              }
                                            }
                                          },
                                          "native": {},
                                          "acl": {
                                            "object": 1636,
                                            "owner": "system.user.admin",
                                            "ownerGroup": "system.group.administrator",
                                            "state": 1636
                                          },
                                          "_id": "tankerkoenig.0.stations.1.diesel.short",
                                          "type": "state"
                                        }
                                        
                                        dslraserD Offline
                                        dslraserD Offline
                                        dslraser
                                        Forum Testing Most Active
                                        wrote on last edited by dslraser
                                        #4628

                                        @kueppert sagte in Test Adapter iQontrol 1.5.x:

                                        Habs...im Tankerkönig ist der Preis bereits eine Zeichenkette. Die kann ich leider nicht mit val.tofixed konvertieren...

                                        ich habe mir eben mal Tankerkönig wieder installiert (hatte ich schon mal)
                                        Noch zur Info was der Adapter für Datenpunkte zur Verfügung stellt (etwas verwirrend :face_with_rolling_eyes: )

                                        Der feed Datenpunkt ist übrigens number

                                        {
                                         "_id": "tankerkoenig.0.stations.0.diesel.feed",
                                         "type": "state",
                                         "common": {
                                           "name": "diesel  feed",
                                           "desc": "Preis Diesel (e.eee) wie im Feed",
                                           "type": "number",
                                           "unit": "€",
                                           "role": "value",
                                           "read": true,
                                           "write": false
                                         },
                                         "native": {},
                                         "from": "system.adapter.tankerkoenig.0",
                                         "ts": 1611770936040,
                                         "acl": {
                                           "object": 1636,
                                           "state": 1636,
                                           "owner": "system.user.admin",
                                           "ownerGroup": "system.group.administrator"
                                         },
                                         "user": "system.user.admin"
                                        }
                                        

                                        und der short Datenpunkt ist string

                                        {
                                         "_id": "tankerkoenig.0.stations.0.diesel.short",
                                         "type": "state",
                                         "common": {
                                           "name": "diesel short",
                                           "desc": "Preis Diesel (e.ee) zwei Dezimalstellen (nicht gerundet)",
                                           "type": "string",
                                           "role": "value",
                                           "read": true,
                                           "write": false
                                         },
                                         "native": {},
                                         "from": "system.adapter.tankerkoenig.0",
                                         "ts": 1611770936047,
                                         "acl": {
                                           "object": 1636,
                                           "state": 1636,
                                           "owner": "system.user.admin",
                                           "ownerGroup": "system.group.administrator"
                                         },
                                         "user": "system.user.admin"
                                        }
                                        

                                        1 Reply Last reply
                                        0
                                        • K Kueppert

                                          @dslraser YEEES, endlich...iQontrol will also keinen Text mit Punkt, sondern nen Text mit Komma ^^
                                          4dd76a3e-88b6-45aa-971d-f1b69d8d46c1-image.png

                                          das Alias-Skript für die Konvertierung vom Tankerkönig-Feed sieht bei mir wie folgt aus:

                                          ///https://forum.iobroker.net/topic/27295/vorlage-alias-per-skript-erzeugen
                                          ///VAR-Konvertierung: https://forum.iobroker.net/topic/33747/alias-best-practices-wie-kann-man-es-besser-machen/39
                                          
                                          // Original-Datenpunkt
                                          const idOrigin = 'tankerkoenig.0.stations.1.diesel.short'/*diesel short*/;
                                          
                                           
                                          // Alias-Datenpunkt
                                          const idAlias = 'Spritpreise.ESSODiesel';
                                          var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom;
                                          // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                                          nameAlias = 'ESSODiesel';
                                          // desc = 'per Script erstellt';
                                          typeAlias = 'string'; // 'boolean' oder 'number' oder 'switch' oder 'state' oder 'string'
                                          read = "val.replace('.', ',')"; // Erkennung "Aus" --> false erfolgt automatisch  
                                          // write = "val ? 'Ein' : 'Aus'";
                                          // role = 'indicator.lowbat'; // 'switch.light' oder 'value.temperature' oder 'window.value' oder 'indicator.lowbat'
                                          // min = 0; // nur Zahlen
                                          // max = 100; // nur Zahlen
                                          unit = '€'; // nur für Zahlen, z.B. '%' oder '°C' oder ' ' wenn keine Unit!
                                          // states = {true: 'leer', false: 'voll'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                                          custom = []; // verhindert doppelte Ausführung von history, telegram, mqtt-client, ...
                                           
                                          function createAlias(idSrc, idDst) {
                                             if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                                             else {
                                                var obj = {};
                                                obj.type = 'state';
                                                obj.common = getObject(idSrc).common;
                                                obj.common.alias = {};
                                                obj.common.alias.id = idSrc;
                                                if(typeAlias) obj.common.type = typeAlias;
                                                if(obj.common.read !== false && read) obj.common.alias.read = read;
                                                if(obj.common.write !== false && write) obj.common.alias.write = write;
                                                if(nameAlias) obj.common.name = nameAlias;
                                                if(role) obj.common.role = role;
                                                if(desc) obj.common.desc = desc;
                                                if(min !== undefined) obj.common.min = min;
                                                if(max !== undefined) obj.common.max = max;
                                                if(unit) obj.common.unit = unit;
                                                if(states) obj.common.states = states;
                                                if(custom && obj.common.custom) obj.common.custom = custom;
                                                if(obj.common.icon) delete obj.common.icon;
                                                obj.native = {};
                                                setObject(idDst, obj);
                                             } 
                                          }
                                           
                                          createAlias(idOrigin, 'alias.0.' + idAlias);
                                          
                                          dslraserD Offline
                                          dslraserD Offline
                                          dslraser
                                          Forum Testing Most Active
                                          wrote on last edited by dslraser
                                          #4629

                                          @kueppert

                                          Noch was zu den iQontrol Einstellungen. Hier kannst Du es z.B. so machen, dann wird gleich der Name der Tanke den Du im Tankerkönig Adapter vergeben hast in die iQontrol Kachel übernommen. (Also die Verlinkung zum Datenpunkt)

                                          Bildschirmfoto 2021-01-27 um 19.42.30.png

                                          Tanke|{tankerkoenig.0.stations.0.name}

                                          sieht dann so aus (ich habe noch keinen alias erstellt, deswegen noch die Punktanzeige)

                                          Bildschirmfoto 2021-01-27 um 19.39.55.png


                                          Bildschirmfoto 2021-01-27 um 19.51.15.png

                                          Edit: diese Art der "Namensvergabe" hat auch den Vorteil, wenn Du mal den Namen der Tanke im Adapter änderst, dann wir der in der iQontrol Kachel direkt übernommen und Du kannst/musst den dort nicht auch noch ändern.
                                          Wenn es sinnvolle Namen gibt, denn geht das ja auch mit anderen Adaptern, oder mit alias.

                                          K 2 Replies Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          465

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe