Seite 1 von 1
OH3 wie komme ich im eigenen Widget an die Item-Werte ?
Verfasst: 18. Apr 2022 20:18
von guinnes
Moin
Im Titel steht schon fast alles :
Wie komme ich an die einzelnen Daten eines Items ?
state und displayState ist klar, aber wie komme ich an das Label des Items oder an das Icon ?
Re: OH3 wie komme ich im eigenen Widget an die Item-Werte ?
Verfasst: 19. Apr 2022 01:13
von scotty
Das ist davon abhängig wie das Widget aufgebaut ist. Man kann oh und f7 icons einbauen. Ich habe mir mal ein eigenes Widget gebaut, um mir den Netzwerk-Status verschiedener Geräte anzeigen zu lassen. Hier mal ein Codeschnipsel, vielleicht hilft er dir weiter:
Code: Alles auswählen
uid: Netzwerk_Status_v1
tags: []
props:
parameters:
- description: Item-Bezeichnung oder leer wenn disabled (<u>Vorschlag:</u> <b>Synology NAS</b>)
label: Synology NAS
name: prop12
required: true
type: TEXT
- context: item
description: Item wählen oder leer wenn disabled (<u>Beispiel:</u> <b>NAS</b>)
label: Synology NAS
name: item12
required: false
type: TEXT
- description: oh-icon wählen oder leer wenn disabled (<u>Vorschlag:</u> <b>oh:network</b>)
label: oh icon name
name: icon12
required: false
type: TEXT
parameterGroups: []
timestamp: Feb 19, 2022, 4:54:26 AM
component: oh-list-Card
config:
mediaList: true
simpleList: false
title: =props.prop1
slots:
default:
- component: oh-label-item
config:
icon: =props.icon12
iconUseState: true
item: =props.item12
title: =props.prop12
Oder du stellst mal deinen Code hier rein. Es gibt bestimmt noch andere User, die dir helfen können.
Re: OH3 wie komme ich im eigenen Widget an die Item-Werte ?
Verfasst: 19. Apr 2022 10:40
von guinnes
scotty hat geschrieben: ↑19. Apr 2022 01:13
Das ist davon abhängig wie das Widget aufgebaut ist. Man kann oh und f7 icons einbauen. Ich habe mir mal ein eigenes Widget gebaut, um mir den Netzwerk-Status verschiedener Geräte anzeigen zu lassen. Hier mal ein Codeschnipsel, vielleicht hilft er dir weiter:
Hallo und danke für deine Antwort, aber ich denke, da haben wir uns mißverstanden :
Ich hab nicht vor, ein Widget zu bauen, in daß ich
händisch Informationen eingebe, die schon im Item vorhanden sind. In meinen Items sind schon Icons eingetragen, die will ich nicht nochmal in ein Widget eintragen, sondern aus dem Item auslesen. Dafür hat die Klasse sogar schon eine Funktion : Item.getCategory. Nur ist diese Funktion scheinbar nicht bis zum UI durchverdrahtet.
Genau so sieht es mit dem Label des Items aus. Dafür gibts die Funktion Item.getLabel, Aber auch die kann man innerhalb eines Widgets nicht aufrufen
Ich möchte einfach einem Widget einen Item-Namen übergeben und dann innerhalb des Widgets mir z.B. das Label aus dem Item auslesen und anzeigen oder aber das Icon aus dem Item auslesen und anzeigen
Re: OH3 wie komme ich im eigenen Widget an die Item-Werte ?
Verfasst: 19. Apr 2022 14:06
von peter-pan
... das geht in den Standard-Widgets leider nicht, soweit ich weiss.
Re: OH3 wie komme ich im eigenen Widget an die Item-Werte ?
Verfasst: 19. Apr 2022 17:25
von guinnes
peter-pan hat geschrieben: ↑19. Apr 2022 14:06
... das geht in den Standard-Widgets leider nicht, soweit ich weiss.
Danke
Das ist natürlich mehr als dumm. Mal sehen, ob ich da vielleicht mit JS was machen kann. Wenn ja, melde ich mich hier
Re: OH3 wie komme ich im eigenen Widget an die Item-Werte ?
Verfasst: 29. Apr 2022 21:40
von guinnes
Moin
Ich habe jetzt alles probiert, ausser state und displayState ist aus einem Item nix rauszuholen, es sei denn ..
man geht über einen Repeater und liesst über ItemInGroup das Item aus !!
Wenn ich die Items aus einer Gruppe auslese, kann ich sowohl auf das Label als auch auf das Icon zugreifen. Da frage ich mich, was hat die Entwickler/innen da nur geritten ? Oder haben die es schlicht und ergreifend vergessen ?
Über einen Repeater komme ich an das ganze Objekt, über items[itemname] nur an ein abgespecktes. Warum ?