Hello,
when I use ‘Developer Tools/Api Explorer’ for an item it lists ‘stateDescription’ (s. below).
{
“link”: “http://192.168.178.177:8080/rest/items/Manfreds_Music_Current_Media_Id”,
“state”: “0”,
“stateDescription”: {
“pattern”: “%s”,
“readOnly”: false,
“options”: [
{
“value”: “coA07B6A9DDA0027F1”,
“label”: “Album Artist”
},
{
“value”: “coD60E6B3D9901865F”,
“label”: “Artist”
},
{
“value”: “coC2C844CDDBB1CFC8”,
“label”: “Album”
},
}
]
},
“commandDescription”: {
“commandOptions”: [
{
“command”: “coA07B6A9DDA0027F1”,
“label”: “Album Artist”
},
{
“command”: “coD60E6B3D9901865F”,
“label”: “Artist”
},
{
“command”: “coC2C844CDDBB1CFC8”,
“label”: “Album”
},
],
“groupNames”: [
“Manfreds_Music”
]
}
When I try to read these information in a rule, it returns ‘null’.
var vSuchBegriff, vSuchErgebnis, vitemData;
function getItemMetaConfigValue(itemName, namespace, prop) {
console.info('itemName: ' + itemName);
console.info('namespace: ' + namespace);
if (items.metadata.getMetadata(itemName, namespace) === null) {
console.info('namespace leer: ');
return '';
};
let props = prop.split('.');
let value = items.metadata.getMetadata(itemName, namespace).configuration;
console.info('value: ');
console.info(value);
props.forEach(property => {
value = value[property];
console.info('value: ');
console.info(value);
});
return value;
}
vSuchErgebnis = items.getItem('Manfreds_Music_Current_Media_Id').state.toString();
console.info('vSuchErgebnis: ');
console.info(vSuchErgebnis);
console.info(vSuchErgebnis);
vitemData = getItemMetaConfigValue('Manfreds_Music_Current_Media_Id', 'stateDescription', 'options');
console.info('vitemData');
console.info(vitemData);
What is wrong in my code?
Thanks
Manfred