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.
    • JLeg
      JLeg last edited by

      @s-bormann Dank Iqontrol habe ich nun auch endlich eine Visualisierung, die trotz völligen Talentmangels in Sachen "Layout" sogar von der besseren Hälfte akzeptiert wird - danke dafür! 🙂
      Ein kleines Problem habe ich allerdings aktuell mit der Anzeige des DWD-Adapters (Wetter-Warnmeldungen) - ich bin mir sicher, dass das anfangs einwandfrei klappte, plötzlich jetzt aber nicht mehr. Ich benutze das Gerät "Popup", und habe in "additional_info" die Datenpunkte
      dwd.0.warning.begin
      dwd.0.warning.end

      Während in den Objekten die Zeiten normal angezeigt werden

      Fri Mar 12 2021 10:00:00 GMT+0100 (Mitteleuropäische Normalzeit)
      

      steht nun im Iqontrol Popup nur noch

      Beginn: aN.aN.NaN, aN:aN
      Ende: aN.aN.NaN, aN:aN
      

      Der Datentyp ist timestamp - und das offenbar "schon immer" (RAW: "ts": 1612643567563).
      Ich dachte erst, ich könnte die Anzeige per "Schraubenschlüssel" korrigieren - dort gibt's aber nur "String", "Nummer" oder "Bool". Übersehe ich da was, oder geht das schlicht nicht (mehr)?

      B s.bormann 2 Replies Last reply Reply Quote 0
      • B
        Beowolf @JLeg last edited by

        @jleg sagte in Test Adapter iQontrol 1.6.x Vis:

        in Sachen "Layout" sogar von der besseren Hälfte akzeptiert wird - danke dafür!

        Jepp - kann ich bestätigen. Der "WAF" ist sehr hoch.👍

        B 1 Reply Last reply Reply Quote 1
        • B
          Beowolf @Beowolf last edited by Beowolf

          Habe da noch eine Frage.

          Wie bekomme ich vor dem Datum einen Text. Datum ist ein Wert unter "INFO_A" im Gerätetyp "Info-Text".

          "ist die nächste Leerung" ist unter "Array bearbeiten: INFO_A", dann Schraubenschlüssel, eingetragen unter "Einheit".

          restm.jpg

          Ich hätte gerne das der Text so aussieht "Am 17.02.2021 ist die nächste Leerung".

          Geht das?

          M da_Woody 2 Replies Last reply Reply Quote 0
          • K
            Kueppert @s.bormann last edited by Kueppert

            @s-bormann funktioniert bei mir mit meinem Datenpunkt jetzt 😄 vielen Dank

            NACHTRAG: Kommnando zurück...war mein TestDP, der eh schon auf Zeichenfolge stand. Bei dem anderen, der auf Number steht, gehts noch nicht. Hab von Git installiert, Versionsnummer hat sich nicht geändert. Muss ich einen anderen GIT-Link verwenden für die neue Version?

            s.bormann 1 Reply Last reply Reply Quote 0
            • M
              martinschm @Beowolf last edited by

              @beowolf said in Test Adapter iQontrol 1.6.x Vis:

              Habe da noch eine Frage.

              Wie bekomme ich vor dem Datum einen Text. Datum ist ein Wert unter "INFO_A" im Gerätetyp "Info-Text".

              "ist die nächste Leerung" ist unter "Array bearbeiten: INFO_A", dann Schraubenschlüssel, eingetragen unter "Einheit".

              restm.jpg

              Ich hätte gerne das der Text so aussieht "Am 17.02.2021 ist die nächste Leerung".

              Geht das?

              Musst du dir wahrscheinlich als Text in einem Datenpunkt zusammenbauen und den Datenpunkt dann dort anzeigen.

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

                @beowolf du könntest dir z.b. ein icon mit Am machen...
                Am.png <-- is ein .png
                schriftart latürnich dementsprechend...

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

                  @s-bormann mir ist bei deinem Alias Adapter ein kleiner Bug aufgefallen:

                  cddfc07f-012d-4bed-80c2-15df36e96ca3-image.png

                  s.bormann 1 Reply Last reply Reply Quote 0
                  • F
                    fredje @Kueppert last edited by

                    @kueppert Hallo, habe mein Problem mit der Umwandlung number zu string immer noch nicht gelöst, irgentwie finde ich die Lösung nicht. Habe einen Alias angelegt mit dem Type string. Der Wert wird aber noch immer nicht richtig angezeigt. (Zahl mit Punkt). Muss ich im "alias read" Feld noch einen Javascript Befehl eintragen damit die Zahl in einen String umgewandelt wird.
                    Danke für die Hilfe ...


                    {
                    "type": "state",
                    "common": {
                    "name": "Kennlinie",
                    "type": "string",
                    "role": "",
                    "unit": "",
                    "min": null,
                    "max": null,
                    "read": true,
                    "write": true,
                    "alias": {
                    "id": "fhem.0.Broetje_HK1_OG.HK1_OGKennlinie",
                    "read": "",
                    "write": ""
                    }
                    },
                    "_id": "alias.0.fhem.Broetje_HK1_OG.Kennlinie",
                    "from": "system.adapter.admin.0",
                    "user": "system.user.admin",
                    "ts": 1615912202941,
                    "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                    },
                    "native": {}
                    }

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

                      @martinschm sagte in Test Adapter iQontrol 1.6.x Vis:

                      @s-bormann mir ist bei deinem Alias Adapter ein kleiner Bug aufgefallen:

                      cddfc07f-012d-4bed-80c2-15df36e96ca3-image.png

                      Sehr aufmerksam! Wird korrigiert, danke!

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

                        @fredje ich habe dafür das Skript von paul wie folgt angepasst:

                        ///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.3.diesel.feed'/*diesel feed*/;
                        
                         
                        // Alias-Datenpunkt
                        const idAlias = 'Spritpreise.JETDiesel';
                        var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom;
                        // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                        nameAlias = 'JETDiesel';
                        // desc = 'per Script erstellt';
                        typeAlias = 'string'; // 'boolean' oder 'number' oder 'switch' oder 'state' oder 'string'
                        read = "val.toFixed(2).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);
                        
                        F 1 Reply Last reply Reply Quote 0
                        • s.bormann
                          s.bormann Most Active @fredje last edited by

                          @fredje sagte in Test Adapter iQontrol 1.6.x Vis:

                          @kueppert Hallo, habe mein Problem mit der Umwandlung number zu string immer noch nicht gelöst, irgentwie finde ich die Lösung nicht. Habe einen Alias angelegt mit dem Type string. Der Wert wird aber noch immer nicht richtig angezeigt. (Zahl mit Punkt). Muss ich im "alias read" Feld noch einen Javascript Befehl eintragen damit die Zahl in einen String umgewandelt wird.
                          Danke für die Hilfe ...


                          {
                          "type": "state",
                          "common": {
                          "name": "Kennlinie",
                          "type": "string",
                          "role": "",
                          "unit": "",
                          "min": null,
                          "max": null,
                          "read": true,
                          "write": true,
                          "alias": {
                          "id": "fhem.0.Broetje_HK1_OG.HK1_OGKennlinie",
                          "read": "",
                          "write": ""
                          }
                          },
                          "_id": "alias.0.fhem.Broetje_HK1_OG.Kennlinie",
                          "from": "system.adapter.admin.0",
                          "user": "system.user.admin",
                          "ts": 1615912202941,
                          "acl": {
                          "object": 1636,
                          "state": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator"
                          },
                          "native": {}
                          }

                          Habs nicht selbst getestet, aber versuch vielleicht mal bei alias.read val.toString() einzutragen, ggf. geht das dann?

                          F 1 Reply Last reply Reply Quote 0
                          • s.bormann
                            s.bormann Most Active @Kueppert last edited by

                            @kueppert sagte in Test Adapter iQontrol 1.6.x Vis:

                            @s-bormann funktioniert bei mir mit meinem Datenpunkt jetzt 😄 vielen Dank

                            NACHTRAG: Kommnando zurück...war mein TestDP, der eh schon auf Zeichenfolge stand. Bei dem anderen, der auf Number steht, gehts noch nicht. Hab von Git installiert, Versionsnummer hat sich nicht geändert. Muss ich einen anderen GIT-Link verwenden für die neue Version?

                            Hi,
                            nein, bei den Github-Versionen ändert sich leider die Versionsnummer nicht. Wenn die Installation ohne Probleme durchläuft, dann kann man davon ausgehen, dass es die aktuellste Dev-Version ist.

                            Manchmal muss man allerdings noch ein manuelles Upload machen. Und manchmal den ioBroker neu durchstarten, damit die Caches geleert werden (das kann man umgehen, wenn man in der /opt/iobroker/iobroker-data/iobroker.json den Eintrag "noFileCache" auf true setzt).

                            Ich habe es jetzt bei mir gerade noch mal probiert:
                            Ich habe einen DP vom Typ number angelegt, ihn dann über das Schraubenschlüssel-Symbol für iQontrol auf Zeichenfolge umgestellt und die Option Add option to enter free text aktiviert:

                            {
                              "from": "system.adapter.admin.0",
                              "user": "system.user.admin",
                              "ts": 1615645022314,
                              "common": {
                                "name": "TestInputString",
                                "role": "",
                                "type": "number",
                                "desc": "Manuell erzeugt",
                                "unit": "%",
                                "min": 0,
                                "max": 100,
                                "read": true,
                                "write": true,
                                "def": false,
                                "custom": {
                                  "iqontrol.0": {
                                    "enabled": true,
                                    "readonly": false,
                                    "invert": false,
                                    "confirm": false,
                                    "pincode": "",
                                    "unit": "kWh",
                                    "unit_zero": "kWh",
                                    "unit_one": "kWh",
                                    "min": "",
                                    "max": "",
                                    "step": "",
                                    "type": "string",
                                    "role": "state",
                                    "targetValueId": "",
                                    "statesAddInput": true,
                                    "statesAddInputCaption": "Zählerstand",
                                    "showOnlyTargetValues": false,
                                    "states": {},
                                    "roundDigits": 0
                                  }
                                }
                              },
                              "native": {},
                              "acl": {
                                "object": 1636,
                                "owner": "system.user.admin",
                                "ownerGroup": "system.group.administrator",
                                "state": 1636
                              },
                              "_id": "javascript.0.Test.TestInputString",
                              "type": "state"
                            }
                            

                            69f6351a-252c-4112-b871-28db6fcc767e-image.png

                            Das führt zu folgendem Ergbnis:
                            b210cce5-4fb2-42b8-98f6-d95433f349c3-image.png

                            d7130f02-0e07-49f3-a957-fa7380bc68b7-image.png

                            Und wenn ich auf Zählerstand klicke, kommt ein Eingabefeld.

                            Hilft das?

                            K 1 Reply Last reply Reply Quote 1
                            • s.bormann
                              s.bormann Most Active @JLeg last edited by

                              @jleg sagte in Test Adapter iQontrol 1.6.x Vis:

                              @s-bormann Dank Iqontrol habe ich nun auch endlich eine Visualisierung, die trotz völligen Talentmangels in Sachen "Layout" sogar von der besseren Hälfte akzeptiert wird - danke dafür! 🙂
                              Ein kleines Problem habe ich allerdings aktuell mit der Anzeige des DWD-Adapters (Wetter-Warnmeldungen) - ich bin mir sicher, dass das anfangs einwandfrei klappte, plötzlich jetzt aber nicht mehr. Ich benutze das Gerät "Popup", und habe in "additional_info" die Datenpunkte
                              dwd.0.warning.begin
                              dwd.0.warning.end

                              Während in den Objekten die Zeiten normal angezeigt werden

                              Fri Mar 12 2021 10:00:00 GMT+0100 (Mitteleuropäische Normalzeit)
                              

                              steht nun im Iqontrol Popup nur noch

                              Beginn: aN.aN.NaN, aN:aN
                              Ende: aN.aN.NaN, aN:aN
                              

                              Der Datentyp ist timestamp - und das offenbar "schon immer" (RAW: "ts": 1612643567563).
                              Ich dachte erst, ich könnte die Anzeige per "Schraubenschlüssel" korrigieren - dort gibt's aber nur "String", "Nummer" oder "Bool". Übersehe ich da was, oder geht das schlicht nicht (mehr)?

                              Hi,
                              stimmt, das konnte ich unter bestimmten Vorraussetzungen nachstellen. Ist in der aktuellen Github-Version korrigiert. Bitte noch mal testen, wenn es klappt, mache ich eine offizielle Version draus.

                              LG

                              JLeg 1 Reply Last reply Reply Quote 0
                              • K
                                Kueppert @s.bormann last edited by

                                @s-bormann Aaaaahhhh, die Umstellung auf Zeichenfolge muss weiterhin erfolgen. Geändert und nun kann ich auch ne Zahl eintippen. TOP danke 🙂

                                1 Reply Last reply Reply Quote 1
                                • F
                                  fredje @s.bormann last edited by

                                  @s-bormann sagte in Test Adapter iQontrol 1.6.x Vis:

                                  val.toString()

                                  Hallo, hatte ich auch schon probiert auch val.toFixed(2). Hat leider nichts gebracht.
                                  Danke ...

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

                                    @fredje zeig mal das RAW von deinem Original-DP, zu dem du einen Alias erstellen möchtest. Bei mir funktioniert der ALias mit dem Skript, das ich oben gepostet habe. Da wird eine Zahl zu einem Text mit 2 NKS konvertiert

                                    1 Reply Last reply Reply Quote 0
                                    • F
                                      fredje @Kueppert last edited by

                                      @kueppert sagte in Test Adapter iQontrol 1.6.x Vis:

                                      ///https://forum.iobroker.net/topic/27295/vorlage-alias-per-skript-erzeugen

                                      Hallo, hatte deine Antwort übersehen. Habe nun auch das script angepasst und ausgeführt. Alias wird angelegt. Bekomme folgenden fehler im Log:

                                      javascript.0 2021-03-17 10:40:58.503 error (6142) Invalid read function for undefined: val.toFixed(2).replace('.',',') => TypeError: val.toFixed is not a function

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

                                        @fredje oh, sorry...stimmt...
                                        nimm bitte dieses Skript:

                                        ///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 = 'JETDiesel';
                                        // 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);
                                        
                                        F 1 Reply Last reply Reply Quote 0
                                        • F
                                          fredje @Kueppert last edited by

                                          @kueppert sagte in Test Adapter iQontrol 1.6.x Vis:

                                          val.replace('.', ',')

                                          Hallo, vielen Dank ... mit val.replace('.', ',') funktioniert es. Hatte mit val.replace(/,/g , ".") probiert, funktionierte aber nicht ...

                                          1 Reply Last reply Reply Quote 0
                                          • JLeg
                                            JLeg @s.bormann last edited by

                                            @s-bormann sagte in Test Adapter iQontrol 1.6.x Vis:

                                            Hi,
                                            stimmt, das konnte ich unter bestimmten Vorraussetzungen nachstellen. Ist in der aktuellen Github-Version korrigiert. Bitte noch mal testen, wenn es klappt, mache ich eine offizielle Version draus.

                                            Ja, klappt nun wieder, danke! Kleine weitere "kosmetische Frage": An selber Stelle (gleiches "Popup") ist der Datenpunkt "dwd.0.warning.text" (string) als "Info_A" (bzw. Info_B für ...warning1.text) hinterlegt. Wenn der leer ist, macht da Iqontrol leider "0" draus, statt "nix":
                                            a17f46a4-d50e-4197-91fd-a32d5ab85c66-grafik.png

                                            T s.bormann 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            978
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            app dark-mode iqontrol responsive vis visualisierung visualization widget
                                            295
                                            7633
                                            5578360
                                            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