helper_last_stop_at: { execute: setLastStopAt, domain: 'input_datetime', service: 'set_datetime', data: { entity_id: 'input_datetime.victron_evcs_last_stop_at', datetime: lastStopAtToWrite } }, helper_signature: { execute: true, domain: 'input_text', service: 'set_value', data: { entity_id: 'input_text.victron_evcs_control_last_signature', value: signature } }, helper_block_reason: { execute: needsBlockReasonUpdate || !parsed.controllerEnabled, domain: 'input_text', service: 'set_value', data: { entity_id: 'input_text.victron_evcs_last_block_reason', value: decision.nextBlockReason } }, helper_blocked_until: { execute: true, domain: 'input_datetime', service: 'set_datetime', data: { entity_id: 'input_datetime.victron_evcs_blocked_until', datetime: blockedUntilToWrite } }, helper_probe_started_at: { execute: decision.setProbeStartedAt, domain: 'input_datetime', service: 'set_datetime', data: { entity_id: 'input_datetime.victron_evcs_probe_started_at', datetime: probeStartedAtToWrite } }, helper_evcs_priority_active: { execute: true, domain: 'input_boolean', service: evcsPriorityActive ? 'turn_on' : 'turn_off', data: { entity_id: 'input_boolean.victron_evcs_priority_active' } }, helper_energy_priority_mode: { execute: true, domain: 'input_select', service: 'select_option', data: { entity_id: 'input_select.victron_energy_priority_mode', option: energyPriorityMode } }, helper_energy_priority_reason: { execute: true, domain: 'input_text', service: 'set_value', data: { entity_id: 'input_text.victron_energy_priority_reason', value: energyPriorityReason } }, helper_evcs_priority_until: { execute: true, domain: 'input_datetime', service: 'set_datetime', data: { entity_id: 'input_datetime.victron_evcs_priority_until', datetime: evcsPriorityUntil } }, evcs_auto_start_off: { execute: autoStartAction === 'turn_off', domain: 'switch', service: 'turn_off', data: { entity_id: 'switch.victron_evcs_auto_start' } }, evcs_charging: { execute: chargingAction !== 'none', domain: 'switch', service: decision.desiredCharging ? 'turn_on' : 'turn_off', data: { entity_id: 'switch.victron_evcs_charging' } }, helper_permission: { execute: permissionAction !== 'none', domain: 'input_boolean', service: decision.desiredPermission ? 'turn_on' : 'turn_off', data: { entity_id: 'input_boolean.victron_evcs_charge_permission_now' } }, helper_latch: { execute: latchAction !== 'none', domain: 'input_boolean', service: decision.desiredLatch ? 'turn_on' : 'turn_off', data: { entity_id: 'input_boolean.victron_evcs_control_latch' } }, evcs_set_current: { execute: currentAction === 'set', domain: 'number', service: 'set_value', data: { entity_id: 'number.victron_evcs_set_current_command', value: round1(desiredCurrentA) } }, logbook: { execute: signatureChanged, domain: 'logbook', service: 'log', data: { name: 'Victron EVCS Surplus', message: shortReason } }, mobile_notification: { execute: notifyWanted, domain: cfg.mobileNotifyDomain, service: cfg.mobileNotifyService, data: { title: notifyTitle, message: notifyMessage || shortReason } } } } }];