Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  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.1k

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

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

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

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

    @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 Offline
    B Offline
    Beowolf
    wrote on last edited by Beowolf
    #5004

    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?

    Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

    M da_WoodyD 2 Replies Last reply
    0
    • s.bormannS s.bormann

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

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

      Hallo in die Runde,
      ich möchte gern einen User-DP manuell mit einer Zahl befüllen können. Wähle ich also Gerät "Wert" aus und verknüpfe "State" mit meinem User-Datenpunkt.
      Hab auch mit dem Schraubenschlüssel was eingetragen:
      3b65bced-dbdd-4bc4-8e1e-663d17f94e5d-image.png
      Allerdings habe ich in iQontrol beim Klicken auf das Icon nur die Möglichkeit, den Wert 0-100 auszuwählen (der kann weg, ich brauche nur ein Eingabefeld) via Regler, keine Möglichkeit, selber einen Wert einzutragen.
      753c08ba-aaae-4819-b2ee-80719010de9a-image.png
      Ziel: Ich möchte über den User-DP meinen Stromzähler vom Haus loggen und den Wert via iQontrol schreiben können.

      Jmd eine Idee, wie ich das bewerkstellige?

      Hi,
      versuch mal, o es geht, wenn man den Type von Nummer auf Zeichenfolge umstellt. Ist dann zwar eigentlich falsch - bringt aber ein Eingabefeld zu Tage 🙂

      Hi,
      habe das jetzt mal selbst getestet - und Du hast Recht:
      Wenn der Wert des Datenpunktes eine Zahl ist und keine spezielle Rolle definiert ist, wird der Typ zu Zahl zurück-konvertiert. Habe das Verhalten jetzt mal in der aktuellen Github-Version geändert, so dass bei mir jetzt das Eingabefeld erscheint.

      @all: Bitte ausführlich testen, ob das zu ungewünschten Seiteneffekten führt (d.h. konkret, ob alle Dialogfelder nach wie vor korrekt funktionieren - bei mir hat alles weiter wie gewohnt funktioniert, aber da es hier praktisch unendlich viele Kombinationsmöglichkeiten gibt, kann es schon sein, dass es in einigen Fällen zu Problemen kommt).

      VG!

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

      @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?

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

      s.bormannS 1 Reply Last reply
      0
      • B 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 Offline
        M Offline
        martinschm
        wrote on last edited by
        #5006

        @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
        0
        • B 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?

          da_WoodyD Offline
          da_WoodyD Offline
          da_Woody
          wrote on last edited by da_Woody
          #5007

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

          gruß vom Woody
          HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

          M 1 Reply Last reply
          0
          • da_WoodyD da_Woody

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

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

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

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

            s.bormannS 1 Reply Last reply
            0
            • K Kueppert

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

              F Offline
              F Offline
              fredje
              wrote on last edited by
              #5009

              @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.bormannS 2 Replies Last reply
              0
              • M martinschm

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

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

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

                @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
                1
                • F fredje

                  @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 Offline
                  K Offline
                  Kueppert
                  wrote on last edited by
                  #5011

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

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

                  F 1 Reply Last reply
                  0
                  • F fredje

                    @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": {}
                    }

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

                    @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
                    0
                    • K 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.bormannS Offline
                      s.bormannS Offline
                      s.bormann
                      Most Active
                      wrote on last edited by
                      #5013

                      @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
                      1
                      • JLegJ JLeg

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

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

                        @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

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

                          @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 Offline
                          K Offline
                          Kueppert
                          wrote on last edited by
                          #5015

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

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

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

                            @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 Offline
                            F Offline
                            fredje
                            wrote on last edited by
                            #5016

                            @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
                            0
                            • F fredje

                              @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 Offline
                              K Offline
                              Kueppert
                              wrote on last edited by
                              #5017

                              @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

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

                              1 Reply Last reply
                              0
                              • K Kueppert

                                @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 Offline
                                F Offline
                                fredje
                                wrote on last edited by
                                #5018

                                @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
                                0
                                • F fredje

                                  @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 Offline
                                  K Offline
                                  Kueppert
                                  wrote on last edited by
                                  #5019

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

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

                                  F 1 Reply Last reply
                                  0
                                  • K Kueppert

                                    @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 Offline
                                    F Offline
                                    fredje
                                    wrote on last edited by
                                    #5020

                                    @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
                                    0
                                    • s.bormannS s.bormann

                                      @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

                                      JLegJ Offline
                                      JLegJ Offline
                                      JLeg
                                      wrote on last edited by
                                      #5021

                                      @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.bormannS 2 Replies Last reply
                                      0
                                      • JLegJ JLeg

                                        @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 Offline
                                        T Offline
                                        Tschaeens
                                        wrote on last edited by Tschaeens
                                        #5022

                                        @s-bormann
                                        Erstmal vielen Dank für den geilen Adapter!
                                        Kurze Frage, kann auch ohne eine Umwandlung eine json Tabelle in iQontrol genutzt werden? oder muss ich diese erst in eine html Tabelle umwandeln?
                                        Lg

                                        S 1 Reply Last reply
                                        0
                                        • T Tschaeens

                                          @s-bormann
                                          Erstmal vielen Dank für den geilen Adapter!
                                          Kurze Frage, kann auch ohne eine Umwandlung eine json Tabelle in iQontrol genutzt werden? oder muss ich diese erst in eine html Tabelle umwandeln?
                                          Lg

                                          S Offline
                                          S Offline
                                          siedi
                                          wrote on last edited by
                                          #5023

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

                                          Kurze Frage, kann auch ohne eine Umwandlung eine json Tabelle in iQontrol genutzt werden? oder muss ich diese erst in eine html Tabelle umwandeln?

                                          Wie sieht denn deine Json-Tabelle aus?
                                          Schau mal in github issue #152, hab da mal meinen letzten Stand meines Widgets hochgeladen.

                                          Das Widget (also als html auspacken) einfach in iQontrol unter "Bilder/Widgets" in das Verzeichnis /userwidgets (musst du ggf. vorher erstellen) hochladen. Dann eine neue Kachel mit Typ Widget erstellen und unter BACKGROUND_URL dann dein hochgeladenes Widget auswählen. Über den Stift dahinter bekommst du dann ein paar grundlegende Einstellungen für das Widget und kannst den Datenpunkt auswählen, wo dein JSON hinterlegt ist.

                                          Ist bislang noch sehr rudimentär. Es unterstützt mehrere Spalten im Json, ist dahingehend dynamisch. Als Typ wird nur String und Boolean unterstützt. Für den Boolean-Wert wird dann ein Icon dargestellt, welches du in den Widget-Einstellungen auswählen kannst.

                                          Sieht dann in etwa so aus:
                                          Bildschirmfoto 2021-03-20 um 17.53.18.png

                                          T B 2 Replies Last reply
                                          2
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          275

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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