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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

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

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

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

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

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

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

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

      s.bormannS 1 Antwort Letzte Antwort
      0
      • K Kueppert

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

        F Offline
        F Offline
        fredje
        schrieb am zuletzt editiert von
        #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 Antworten Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • K Kueppert

                @s-bormann funktioniert bei mir mit meinem Datenpunkt jetzt :D 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
                schrieb am zuletzt editiert von
                #5013

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

                @s-bormann funktioniert bei mir mit meinem Datenpunkt jetzt :D 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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • s.bormannS s.bormann

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

                    @s-bormann funktioniert bei mir mit meinem Datenpunkt jetzt :D 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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antworten Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antworten Letzte Antwort
                                    2
                                    • 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

                                      s.bormannS Offline
                                      s.bormannS Offline
                                      s.bormann
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #5024

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

                                      @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

                                      Hast Recht, wird in der nächsten Version geändert.

                                      1 Antwort Letzte Antwort
                                      0
                                      • s.bormannS Offline
                                        s.bormannS Offline
                                        s.bormann
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #5025

                                        https://youtu.be/p4rAC10cWjM

                                        ea054192-4c2e-4bdb-bb5a-b599b7c58b31-image.png

                                        iQontrol Tutorial 7 - Automatische Ansichten und Geräte erstellen

                                        1 Antwort Letzte Antwort
                                        3
                                        • S siedi

                                          @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 Offline
                                          T Offline
                                          Tschaeens
                                          schrieb am zuletzt editiert von
                                          #5026

                                          @siedi Danke für die Info! Ich würde gern die views vom Logparser einbinden. Ich probiers mal mit deinem Weg.
                                          Lg

                                          M S 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          821

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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