Aucun des deux ne fonctionne ?
Comme ça, rapidement, il manque un point virgule en fin de code.
Et je ne couperais pas la ligne de condition (je ne sais pas comment le gère l’interpréteur), je la présenterais ainsi :
switch.shelly_shsw_1_f4cfa2ecec7b:
templates:
friendly_name: if (entities['binary_sensor.shelly_shsw_1_f4cfa2ecec7b_switch'].state === 'on') return 'Ouvrir le portail';
if (entities['binary_sensor.shelly_shsw_1_f4cfa2ecec7b_switch'].state === 'off') return 'Fermer le portail';
else return 'Perte Capteur !';
icon: if (entities['binary_sensor.shelly_shsw_1_f4cfa2ecec7b_switch'].state === 'on') return 'mdi:gate';
if (entities['binary_sensor.shelly_shsw_1_f4cfa2ecec7b_switch'].state === 'off') return 'mdi:gate-open';
else return 'mdi:alert-circle-outline';
Concernant customize
tu trouveras plein d’exemple dans ce post :