@sternmiere sagte in SONOFF NSPanel mit Lovelace UI:
<PageItem>{ id: "alias.0.Kontaktsensoren.Garage", offColor: MSGreen, onColor: MSRed, name: "Garagentor", icon: "garage", icon2: "garage-open" }
| function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean = false): string { |
| .... |
| .... |
| case 'blind': |
| type = 'shutter'; |
| iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('window-open'); |
| iconColor = GetIconColor(pageItem, existsState(pageItem.id + '.ACTUAL') ? getState(pageItem.id + '.ACTUAL').val : true, useColors); |
| |
| return '~' + type + '~' + pageItem.id + '~' + iconId + '~' + iconColor + '~' + name + '~'; |
| |
| case 'gate': |
| type = 'text'; |
| if (existsState(pageItem.id + '.ACTUAL')) { |
| if (getState(pageItem.id + '.ACTUAL').val == 0 || getState(pageItem.id + '.ACTUAL').val === false) { |
| iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('garage'); |
| iconColor = GetIconColor(pageItem, false, useColors); |
| var gateState = findLocale('window', 'closed'); |
| } else { |
| iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('garage-open'); |
| iconId = pageItem.icon2 !== undefined ? Icons.GetIcon(pageItem.icon2) : Icons.GetIcon('garage-open'); |
| iconColor = GetIconColor(pageItem, true, useColors); |
| var gateState = findLocale('window', 'opened'); |
| } |
| |
| RegisterEntityWatcher(pageItem.id + '.ACTUAL'); |
| |
| } |
| |
| return '~' + type + '~' + pageItem.id + '~' + iconId + '~' + iconColor + '~' + name + '~' + gateState; |
| |
| case 'door': |
| case 'window': |
| type = 'text'; |
Irgendwo in der "function CreateEntity" gibt es de Typen 'blind' und 'door'
dazwischen (siehe oben) den case 'gate': einbauen. Dann sollte es funktionieren.
Es wird auf boolean oder number geprüft, deshalb sollte auch ein Reed-Kontakt mit true/false funktionieren.