Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kueppert @dslraser last edited by

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

      dslraser 1 Reply Last reply Reply Quote 1
      • dslraser
        dslraser Forum Testing Most Active @Kueppert last edited by

        @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 Reply Quote 1
        • K
          Kueppert @dslraser last edited by

          @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"
          }
          
          dslraser 2 Replies Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @Kueppert last edited by dslraser

            @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 Reply Quote 0
            • K
              Kueppert @dslraser last edited by 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);
              
              dslraser 2 Replies Last reply Reply Quote 1
              • dslraser
                dslraser Forum Testing Most Active @Kueppert last edited by

                @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 Reply Quote 2
                • dslraser
                  dslraser Forum Testing Most Active @Kueppert last edited by dslraser

                  @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 🙄 )

                  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 Reply Quote 0
                  • dslraser
                    dslraser Forum Testing Most Active @Kueppert last edited by 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 2 Replies Last reply Reply Quote 1
                    • K
                      Kueppert @dslraser last edited by

                      @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 1 Reply Last reply Reply Quote 1
                      • M
                        martinschm @Kueppert last edited by

                        @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 dslraser s.bormann 4 Replies Last reply Reply Quote 0
                        • M
                          martinschm @martinschm last edited by

                          @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.bormann 1 Reply Last reply Reply Quote 0
                          • dslraser
                            dslraser Forum Testing Most Active @martinschm last edited by

                            @martinschm sagte in Test Adapter iQontrol 1.5.x:

                            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?

                            bin ich heute auch drüber gestolpert.

                            da_Woody 1 Reply Last reply Reply Quote 1
                            • M
                              mikweb @Kueppert last edited by

                              @kueppert said in Test Adapter iQontrol 1.5.x:

                              @dslraser vielen Dank für die Hilfe via Teamviewer 😄
                              interessant kannst du auch die Lösung posten 🕵️‍♀️

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                Kueppert @mikweb last edited by

                                @mikweb hab ich oben geostet:
                                https://forum.iobroker.net/topic/22039/test-adapter-iqontrol-1-5-x/4626?_=1611813374068
                                wenn du Hilfe brauchst, sag Bescheid 🙂

                                M 1 Reply Last reply Reply Quote 0
                                • da_Woody
                                  da_Woody @dslraser last edited by

                                  @dslraser das fällt mir schon seit einiger zeit bei dem garagentor auf. aber egal was ich einstelle, es geht immer die box auf.
                                  das war mal anders.

                                  M 1 Reply Last reply Reply Quote 1
                                  • K
                                    Kueppert @dslraser last edited by

                                    @dslraser ich hab deinen Hinweis einmal Zweckentfremdet 😄 so ist der Spritprei besser lesbar, da bold:
                                    71825181-d317-48d3-a5bc-c03e61aaba04-image.png

                                    Der Name vom Schalter sieht bei mir jetzt so aus (vor dem | hab ich nur ein Leerzeichen gesetzt)

                                     |{alias.0.Spritpreise.ESSODiesel}
                                    
                                    H 1 Reply Last reply Reply Quote 1
                                    • dslraser
                                      dslraser Forum Testing Most Active last edited by

                                      @s-bormann

                                      Das Blockly zur Adapterüberwachung hat ein Problem. Wenn Adapter deinstalliert werden, dann hagelt es erstmal Fehler. z.B.

                                      javascript.0	2021-01-28 12:25:16.875	error	(1191) at Object.<anonymous> (script.js.19iQontrol.Adapterliste-iQontrol:541:9)
                                      javascript.0	2021-01-28 12:25:16.874	error	(1191) at checkAdapters (script.js.19iQontrol.Adapterliste-iQontrol:456:88)
                                      javascript.0	2021-01-28 12:25:16.874	error	(1191) at subsequenceFromStartLast (script.js.19iQontrol.Adapterliste-iQontrol:395:22)
                                      javascript.0	2021-01-28 12:25:16.873	error	(1191) script.js.19iQontrol.Adapterliste-iQontrol: TypeError: Cannot read property 'length' of null
                                      javascript.0	2021-01-28 12:25:16.866	error	(1191) script.js.19iQontrol.Adapterliste-iQontrol: Cannot get _id of null
                                      javascript.0	2021-01-28 12:25:16.865	warn	(1191) Object "system.adapter.history.0" does not exist
                                      javascript.0	2021-01-28 12:25:16.864	error	(1191) script.js.19iQontrol.Adapterliste-iQontrol: Cannot get common of null
                                      javascript.0	2021-01-28 12:25:16.860	warn	(1191) Object "system.adapter.history.0" does not exist
                                      

                                      Das nächste Problem, wenn neue Adapter installiert werden, dann bekommt es das Blockly (wenn es läuft) auch nicht mit.
                                      Bei mir hilft dann nur ein Neustart der JS-Instanz, dann geht es wieder. Sicher wieder irgend so ein Pufferproblem...?

                                      M da_Woody 2 Replies Last reply Reply Quote 1
                                      • M
                                        martinschm @dslraser last edited by

                                        @dslraser said in Test Adapter iQontrol 1.5.x:

                                        @s-bormann

                                        Das Blockly zur Adapterüberwachung hat ein Problem. Wenn Adapter deinstalliert werden, dann hagelt es erstmal Fehler. z.B.

                                        javascript.0	2021-01-28 12:25:16.875	error	(1191) at Object.<anonymous> (script.js.19iQontrol.Adapterliste-iQontrol:541:9)
                                        javascript.0	2021-01-28 12:25:16.874	error	(1191) at checkAdapters (script.js.19iQontrol.Adapterliste-iQontrol:456:88)
                                        javascript.0	2021-01-28 12:25:16.874	error	(1191) at subsequenceFromStartLast (script.js.19iQontrol.Adapterliste-iQontrol:395:22)
                                        javascript.0	2021-01-28 12:25:16.873	error	(1191) script.js.19iQontrol.Adapterliste-iQontrol: TypeError: Cannot read property 'length' of null
                                        javascript.0	2021-01-28 12:25:16.866	error	(1191) script.js.19iQontrol.Adapterliste-iQontrol: Cannot get _id of null
                                        javascript.0	2021-01-28 12:25:16.865	warn	(1191) Object "system.adapter.history.0" does not exist
                                        javascript.0	2021-01-28 12:25:16.864	error	(1191) script.js.19iQontrol.Adapterliste-iQontrol: Cannot get common of null
                                        javascript.0	2021-01-28 12:25:16.860	warn	(1191) Object "system.adapter.history.0" does not exist
                                        

                                        Das nächste Problem, wenn neue Adapter installiert werden, dann bekommt es das Blockly (wenn es läuft) auch nicht mit.
                                        Bei mir hilft dann nur ein Neustart der JS-Instanz, dann geht es wieder. Sicher wieder irgend so ein Pufferproblem...?

                                        Wenn man Objekte einer Aufzählung hinzufügt muss man den JS Adapter auch neustarten wenn du ein Skript hast, das auf dieser Aufzählung basiert. Vermutlich hier das gleiche.

                                        Die Datenpunkte werden ja vom Skript "abonniert", wenn man Datenpunkte hinzugefügt oder löscht muss man das Abo erneuern. Nicht cool, aber ist halt so

                                        dslraser s.bormann 2 Replies Last reply Reply Quote 0
                                        • dslraser
                                          dslraser Forum Testing Most Active @martinschm last edited by dslraser

                                          @martinschm sagte in Test Adapter iQontrol 1.5.x:

                                          Nicht cool, aber ist halt so

                                          ist aber keine schöne Lösung...

                                          Edit: mal schauen ob man wenigstens die Fehlermeldung abfangen kann, wenn ein Adapter nicht mehr existiert, das sollte gehen.

                                          1 Reply Last reply Reply Quote 2
                                          • M
                                            mikweb @Kueppert last edited by

                                            @kueppert said in Test Adapter iQontrol 1.5.x:

                                            @mikweb hab ich oben geostet:
                                            https://forum.iobroker.net/topic/22039/test-adapter-iqontrol-1-5-x/4626?_=1611813374068
                                            wenn du Hilfe brauchst, sag Bescheid 🙂

                                            ich meinte wie hast du hinbekommen, sofort die echarts angezeigt statt den Wert

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            706
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            app dark-mode iqontrol responsive vis visualisierung visualization widget
                                            295
                                            7633
                                            5865298
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo