@if (config) { {{"CHANNELS.ADD_CHANNEL" | translate}} @for (entry of (config.components | keys); track entry) { {{ entry.value.id }} ({{ entry.value.alias }}) } @if (selectedComponentId?.value) { @for (entry of channelsPerComponent.get(selectedComponentId.value).channels | keyvalue; track entry) { {{ entry.key }} } } @if (selectedComponentId && selectedComponentId.value && selectedChannelId && selectedChannelId.value) { CHANNELS.ADD } {{"CHANNELS.SAVE" | translate}} @if (edge.id) { CHANNELS.SAVE } {{"CHANNELS.SAVE_DESCRIPTION" | translate: { edgeShortName: environment.edgeShortName } }} @if (!isLoading && selectedComponentChannels && edge?.currentData | async; as currentData) { @for (component of (selectedComponentChannels | keyvalue); track component) { {{component.key}} @for (channel of component.value | keyvalue; track channel) { CHANNELS.CHANNEL: {{channel.key}} @if (channelsPerComponent.get(component.key).channels[channel.key]; as channelConfig) {
Meta 
Type: {{ channelConfig.type.toLowerCase() }} / Access-Mode: {{ channelConfig.accessMode }}   @if (channelConfig.text) { / Text:{{ channelConfig.text }} }
@if (channelConfig.accessMode !== 'WO') { {{"CHANNELS.VALUE" | translate}} {{ currentData.channel[component.key + '/' + channel.key] }} {{ channelConfig.unit }} @if (channelConfig.category === 'ENUM') { @for (option of (channelConfig.options | keys); track option) { @if (option.value === currentData.channel[component.key + '/' + channel.key]) { ({{ option.key }}) } } } @if (channelConfig.category === 'STATE') { @if (currentData.channel[component.key + '/' + channel.key] === 1) { (State is SET) } @if (currentData.channel[component.key + '/' + channel.key] === 0) { (State is not set) } } @if (channelConfig.category === 'OPENEMS_TYPE' && channelConfig.type === 'BOOLEAN') { @if (currentData.channel[component.key + '/' + channel.key] === 1) { (On) } @if (currentData.channel[component.key + '/' + channel.key] === 0) { (Off) } } } @if (['RW', 'WO'].includes(channelConfig.accessMode)) { {{"CHANNELS.SET_VALUE" | translate}} @if (channelConfig.type === 'BOOLEAN') { } @else { } } @if (channel.value.showPersistencePriority) { Warnung: Channelwert wird nicht sekündlich zum Online-Monitoring übertragen }
} } @if (component.key) { @for (entry of channelsPerComponent.get(component.key).channels | keyvalue; track entry) { {{ entry.key }} } } @if (selectedChannelId?.value) { CHANNELS.ADD }
} }
} @if (isAtLeastOneChannelExistingInEdgeConfig) { A component couldn't be found! }