Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.5k

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

Geplant Angeheftet Gesperrt Verschoben Tester
appdark-modeiqontrolresponsivevisvisualisierungvisualizationwidget
7.6k Beiträge 296 Kommentatoren 7.0m Aufrufe 201 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • K Offline
      K Offline
      Kueppert
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            1
            • K Offline
              K Offline
              Kueppert
              schrieb am zuletzt editiert von
              #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 Antworten Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antworten Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antworten Letzte Antwort
                          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
                            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                                    1
                                    • dslraserD dslraser

                                      @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 Offline
                                      K Offline
                                      Kueppert
                                      schrieb am zuletzt editiert von
                                      #4630

                                      @dslraser sagte in Test Adapter iQontrol 1.5.x:

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

                                      sehr cool, hab ich direkt auch mal mit übernommen :)
                                      eb81a00a-475d-4861-860c-12a197381882-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+

                                      M 1 Antwort Letzte Antwort
                                      1
                                      • K Kueppert

                                        @dslraser sagte in Test Adapter iQontrol 1.5.x:

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

                                        sehr cool, hab ich direkt auch mal mit übernommen :)
                                        eb81a00a-475d-4861-860c-12a197381882-image.png

                                        M Offline
                                        M Offline
                                        martinschm
                                        schrieb am zuletzt editiert von
                                        #4631

                                        @s-bormann : Wenn ich die Option "Mauszeiger Events ignorieren wenn das Gerät aktiv ist" aktiviere um den Zoom Effekt des Icons zu verhindern, dann lässt sich das Icon auch nicht mehr zum Klicken verwenden.

                                        Ist das so richtig?
                                        Ich muß dann die Option aktiviere das die ganze Kachel ein Klick ist.

                                        Bei einer einfachen Lampe ok, aber wenn ich mehr Optionen hab kann ich das Gerät dann nur noch über den Dialog schalten und gar nicht mehr das Icon als Shortcut nutzen und die Kachel nur für die erweiterten Optionen, was schade wäre.

                                        M dslraserD s.bormannS 4 Antworten Letzte Antwort
                                        0
                                        • M martinschm

                                          @s-bormann : Wenn ich die Option "Mauszeiger Events ignorieren wenn das Gerät aktiv ist" aktiviere um den Zoom Effekt des Icons zu verhindern, dann lässt sich das Icon auch nicht mehr zum Klicken verwenden.

                                          Ist das so richtig?
                                          Ich muß dann die Option aktiviere das die ganze Kachel ein Klick ist.

                                          Bei einer einfachen Lampe ok, aber wenn ich mehr Optionen hab kann ich das Gerät dann nur noch über den Dialog schalten und gar nicht mehr das Icon als Shortcut nutzen und die Kachel nur für die erweiterten Optionen, was schade wäre.

                                          M Offline
                                          M Offline
                                          martinschm
                                          schrieb am zuletzt editiert von
                                          #4632

                                          @s-bormann:

                                          Hab grade noch etwas komisches bemerkt. Ich verwende ja Aliase für meine Geräte und hab viele der Lampen über iQontrol automatisch erkennen lassen. Dabei wird immer State und Level gefüllt. Ich hatte dann das Problem, das in der Kachel immer nur 0 und 1 angezeigt wurde.

                                          Wenn ich Level rausnehme, wird mir plötzlich Ein und Aus angezeigt.
                                          Wir in der Kachel zuerst Level angezeigt und wenn das nicht vorhanden ist State?

                                          Level ist für dimmbare Lampen, oder?

                                          s.bormannS 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          534

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe