NEWS
jsonConfig für jsonTab
-
Hallo,
ich hatte bei der neuen Shuttercontrol Version gesehen, das auch ein jsonTab statt "tab_m.html" möglich istNun meine Frage: Hier lässt sich ein ein state definieren, der wohl gesteuert wird:
autoChildren: { newLine: true, type: 'state', label: "Automatic children's area", oid: 'control.autoChildren', ack: true, narrow: true, addColon: true, highlight: true, xs: 12, sm: 12, md: 6, lg: 3, xl: 3, },
Gibt es eine Erklärung, wie die Schemas dazu sind? Auch wüsste ich gerne, ob eine Optionenliste möglich wäre? Ich würde gerne ein Dropdown erstellen, welches verschiedene Werte setzt.
Danke im Voraus!
-
-
Das sind ja die Settings für den Admin Bereich bzw. Adapter-Einstellungen.
Ich suche dies für den Tab, den man links platzieren kann.
-
@skb sagte in jsonConfig für jsonTab:
Ich suche dies für den Tab, den man links platzieren kann.
Wäre mir neu dass das geht. Im Schema der io-package steht auch nicht, dass json da erlaubt wäre:
Oder das Schema ist unvollständig, weil es ja anscheinend hier funktioniert:
https://github.com/simatec/ioBroker.shuttercontrol/blob/master/admin/jsonTab.json5
-
@haus-automatisierung sagte in jsonConfig für jsonTab:
weil es ja anscheinend hier funktioniert:
alter Editeur
das ist ja
@skb sagte in jsonConfig für jsonTab:
bei der neuen Shuttercontrol Version
da kann dann vielleicht @simatec was zu sagen
-
@homoran Ja, wegen dem Hinweise habe ich mir das ja angeschaut. Gibt es wohl erst seit Admin 7.6.1: https://github.com/ioBroker/ioBroker.admin/blob/master/CHANGELOG_OLD.md#761-2025-03-08
Dann ist das Schema noch nicht angepasst worden. Aber das ist doch genau das gleiche wie jsonConfig, oder? Denke nicht dass da andere Elemente genutzt werden.
-
@haus-automatisierung Also, hier kann ich das mit dem "state" erkennen.
https://github.com/ioBroker/ioBroker.admin/blob/master/packages/jsonConfig/README.md#stateAllerdings steht bei "control" auch "select". Jedoch erscheint kein Select.
So, wie ich das dort verstehe, müsste dies doch dann so eigentlich funktionieren:"_mode": { "newLine": true, "type": "state", "label": "tab_mode", "control": "select", "options": [ { "label": "tab_mode_deactivated", "value": 0 }, { "label": "tab_mode_manual", "value": 1 } ], "oid": "control.mode", "size": 2, "xs": 12, "sm": 12, "md": 12, "lg": 12, "xl": 12 }
-
@skb sagte in jsonConfig für jsonTab:
Das sind ja die Settings für den Admin Bereich bzw. Adapter-Einstellungen.
Ich suche dies für den Tab, den man links platzieren kann.
Steht dort auch mit in der Readme.
https://github.com/ioBroker/ioBroker.admin/blob/master/packages/jsonConfig/README.md#json-tab-in-admin -
@simatec Danke, das habe ich dort auch gefunden. Allerdings macht die Syntax nicht mit (oder ich verstehe sie nicht
)
Z.B. ein Slider:
"_chargeCurrent": { "newLine": true, "type": "state", "label": "tab_chargeAmpere", "control": "slider", "controlDelay": 500, "oid": "control.chargeCurrent", "narrow": true, "addColon": true, "min": 6, "max": 32, "size": 2, "xs": 12, "sm": 12, "md": 12, "lg": 12, "xl": 12 }
geht problemlos.
Ein Dropdown, was so aussehen soll, zeigt nur eine "Number" Box an:
"_mode": { "newLine": true, "type": "state", "label": "tab_mode", "control": "select", "oid": "control.mode", "size": 2, "xs": 12, "sm": 12, "md": 12, "lg": 12, "xl": 12 },
Ob nun mit oder ohne options - ich bekomme nur eine Number Box.
-
@skb Zeige mal die komplette json
Hast du dir das mal in shuttercontrol angeschaut -
@simatec Klar.
Also, es sollen insgesamt 3 Felder sein.
Das erste Feld sollte ein "select" sein - wird aber eine Number.
Das zweite Feld ist eigentlich als Text - ist aber ein Number Feld.
Das dritte Feld ist der Slider - der funktioniert.
Das json dazu ist wie folgt:
{ "type": "panel", "i18n": true, "items": { "_logo": { "type": "staticImage", "noTranslation": true, "src": "chargecontrol.png", "newLine": true, "xs": 2, "sm": 2, "md": 1, "lg": 0.33, "xl": 0.33 }, "chargeControlHeader": { "type": "staticText", "text": { "en": "ChargeControl", "de": "Ladesteuerung", "ru": "ChargeControl", "pt": "Controle de Carga", "nl": "ChargeControl", "fr": "Contrôle de charge", "it": "ChargeControl", "es": "ChargeControl", "pl": "ChargeControl", "uk": "Партнерство", "zh-cn": "充电控制" }, "style": { "fontSize": 24 }, "xs": 10, "sm": 10, "md": 11, "lg": 11, "xl": 11 }, "_info": { "newLine": true, "type": "staticText", "text": "tab_intro", "size": 2, "xs": 12, "sm": 12, "md": 12, "lg": 12, "xl": 12 }, "mode": { "type": "state", "label": "tab_mode", "control": "select", "options": [ { "label": "tab_mode_deactivated", "value": 0 }, { "label": "tab_mode_manual", "value": 1 } ], "oid": "control.mode", "xs": 12, "sm": 12, "md": 12, "lg": 12, "xl": 12 }, "chargeCurrentDisplay": { "type": "state", "label": "tab_chargeAmpere", "oid": "control.chargeCurrent", "narrow": true, "addColon": true, "readOnly": true, "blinkOnUpdate": true, "highlight": true, "unit": "A", "xs": 12, "sm": 12, "md": 4, "lg": 3, "xl": 3 }, "chargeCurrent": { "newLine": true, "type": "state", "label": "tab_chargeAmpere", "control": "slider", "controlDelay": 500, "oid": "control.chargeCurrent", "min": 6, "max": 32, "size": "normal", "xs": 12, "sm": 12, "md": 12, "lg": 12, "xl": 12 } } }
Admin Instanz dazu ist: 7.6.3
-
@skb Hast du es mal mit
id: 'shuttercontrol.%INSTANCE%.control.autoAll',
versucht Beim Button muss es z.B. die ID sein -
@simatec Probiert habe ich bereits vieles - leider ohne Erfolg.
Gehen wir mal chronologisch vor und nehmen nur einen Datenpunkt, der als Select fungieren soll.
Die Syntax dazu ist:
"mode": { "type": "state", "label": "tab_mode", "control": "select", "options": [ { "label": "tab_mode_deactivated", "value": 0 }, { "label": "tab_mode_manual", "value": 1 } ], "oid": "control.mode", "xs": 12, "sm": 12, "md": 12, "lg": 12, "xl": 12 },
Dargestellt wird eine Number-Box. Hier kann ich zwar die Werte ändern - jedoch greift das Select nicht.
-
@skb Ich würde
type: 'setState',
nehmen -
@simatec
state
odersetState
funktioniert zum Setzen. Aber beide zeigen keine Select-Box an. -
@skb Zeige mal den State. Der State muss vom Typ her zum json Eintrag passen. Ist da kein select definiert, zeigt er die nur den Wert an. Das würde auch passieren, wenn du einen State vom Type String als Slider integrierst
-
@simatec Ah, ok. Das macht allerdings Sinn. Der state ist tatsächlich eine Number - aber, wie könnte man ihn als "List" passend machen? Dann liegt wohl da der Fehler.
"type": "number", "role": "indicator", "read": true, "write": true, "def": 0, "states": { "0": "Deactivated", "1": "Manual", "2": "Only Surplus", "3": "Minimal + Surplus", "4": "Fast" }
Allerdings steht ja in der Beschreibung der states, das
states
nur bei number oder string gilt. Somit müsste ja dann auch ein select bei jsonTab gültig sein.Was ja auch nicht geht - wie es bei shuttercontrol klappt, eine Zahl ohne Box darzustellen:
"chargeCurrentDisplay": { "newLine": true, "type": "state", "label": "tab_chargeAmpere", "oid": "control.chargeCurrent", "narrow": true, "addColon": true, "readOnly": true, "blinkOnUpdate": true, "highlight": true, "unit": "A", "xs": 12, "sm": 12, "md": 6, "lg": 6, "xl": 6 },
Sollte, wie bei shuttercontrol aussehen:
Edit: Ok, das geht - allerdings nur, wenn der state auch auf
write: false
steht. Sollte das dann nicht eher immer so sein, wenn ich dies aufreadOnly: true
stelle? -
@skb said in jsonConfig für jsonTab:
"type": "number", "role": "indicator", "read": true, "write": true, : : }
Bitte korrigiere die ROLE des States:
role indicator erfordert type BOOLEAN, READ-ONLY.
siehe https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md#indicators-boolean-read-onlyHier würde wahrscheinlich value[.xxx] oder info.status passen oder wenns schreibbar sein soll level[.x]
-
@mcm1957 Kann ich machen - ändert jedoch nichts an den o.g. "Problemen".
-
@skb
Ja ist schon klar - war nur als ein Hinweis gedacht weil ichs gesehen habe.
Sorry für Unterbrechung /Randanmerkung.An sich sollte aber - weil du in einer der ersten Beiträge gefragt hast - das oben angeführte README auch für tab passen. Wenn was nicht funktioniert wär es ein Issue im admin Adapter Repo. Funktionalität sollte mit admin ausgeliefert werden. Also ggF den aktuellsten Admin gegentesten wenn du nicht eh am latest bin (stable wurde heute aktualissiert).
Die Komponents der jsconConfig sind übrigends da (https://github.com/ioBroker/ioBroker.admin/tree/master/packages/jsonConfig/src/JsonConfigComponent) kodiert. Falls du selbst suchen / schaun willst was da wie implementiert ist.