Tes {chaine_xxx} mais ça corresponds à rien, même si c’est une variable, il faut à minina la créer, et la valoriser qq part
De toute façon, la doc des scripts indique explicitement comment passer une variable à un script
et comment les utiliser dans le script
J’en conclue que ce que tu me montres c’est la deuxième partie
C’est chiant à lire sur ta capture d’écran mais tu as des quotes qui servent à rien à l’intérieur des moustaches
{{'chaine_n'}}
au lieu de
{{chaine_n}}
vincen
Juillet 15, 2022, 8:21
22
Pulpy-Luke:
Tes {chaine_xxx} mais ça corresponds à rien, même si c’est une variable, il faut à minina la créer, et la valoriser qq part
De toute façon, la doc des scripts indique explicitement comment passer une variable à un script
Ben oui c’est bien gentil tous ces exemples que j’ai déja vu mais ce sont tous des cas d’utilisation du script appelé par une automation hors moi mon script il sera directement appelé par une carte Image En plus la rubrique Scripts dans HA c’est un enfer ce truc Si tu fais en GUI tu es trop limité au niveau édition et si j’essaye de faire le script directement en yaml il apparait même pas dans le GUI
ça change absolument rien… La section « action » est identique … Les 3 élements service, target et data sont exactement les même avec ta carte
Et puis bon du point de vue pratique : 1 automatisation + 10 boutons avec 10 triggers comparé à 10 boutons avec 10 actions c’est pas forcement plus compliqué, juste une question de goût
Là tu résumes le truc. La gui c’est pas pour faire des trucs avancés…
A la place de la gui, mets l’add-on visualstudio. Il est très bien pour visualiser la syntaxe yaml (et les erreurs)
vincen
Juillet 15, 2022, 12:57
24
Pulpy-Luke:
ça change absolument rien… La section « action » est identique … Les 3 élements service, target et data sont exactement les même avec ta carte
Et puis bon du point de vue pratique : 1 automatisation + 10 boutons avec 10 triggers comparé à 10 boutons avec 10 actions c’est pas forcement plus compliqué, juste une question de goût
Sauf que l’automatisation va se déclencher comment ? parce que tu peux pas conditionner ça à un/des bouton(s) non ?
Euh merci mais les cochonneries micro$oft non merci j’utilise mon éditeur habituel sous Linux qui va très bien Toute façon là vu le temps perdu pour trouver une solution à un problème très basique je vais juste faire autant de scnipts que de presets Ça sera inergonomique au possible et pas du tout pratique à mettre en oeuvre mais bon ça marchera…
J’ai réexploré la voie ESPHome aussi avec ça qui est quasiment bon mais visiblement il est impossible de concaténer variable et texte comme j’essaye de le faire
api:
reboot_timeout: 10min
services:
- service: favorites
variables:
millier: Int
centaine: Int
dizaine: Int
unite: Int
then:
- button.press: bd{{millier}}
- delay: 0.1s
- button.press: bd5
- delay: 0.1s
- button.press: bd1
- delay: 0.1s
- button.press: bd7
- delay: 0.1s
- button.press: bok
Venant du monde de la domotique classique (AMX, Crestron,…) c’est assez surprenant comment il y a beaucoup de choses tellement plus simple en HA mais comment on peut se prendre le choux sur des détails à la c*n qui sont super faciles à gérer dans les domotiques traditionnelles…
C’est un peu le principe des automatisations quand même, et je l’ai écrit : autant de triggers que de boutons
Soit, mais c’est un apriori, même dans le monde linux on utilise VSC
Se passer d’un outil pratique c’est dommage à mon avis
C’est tout sauf de l’usage basique ça, ça reste de l’usage intelligent pour éviter de dupliquer des dizaines de lignes.
Et comme tout le reste, le temps que tu perds à construire un truc un peu sympa/efficace, tu le gagnes en maintenance
Même s’il y a des similitudes, la syntaxe ESP/HA n’est pas la même…
Il y a forcement un moyen puisque ça fonctionne sur ce principe pour les substitutions par exemple
substitutions:
devicename: dragonportail
esphome:
name: ${devicename}
et pour les variables gloables
C’est parce qu’en amont de ça quelqu’un a pensé et a préparé les fonctions prévues pour (créer/modifier/jouer/supprimer une séquence de touches)… C’est facile dans un ecosystème limité/maitrisé… C’est d’ailleurs certainement en partie à cause de ce périmètre trop petit que tu utilises HA , parce que ça marche avec pleins d’autres trucs et c’est bien pratique
vincen
Juillet 16, 2022, 5:02
26
Oui pour l’utilisation sous Linux mais l’a-priori non ! Ca reste de la cochonnerie (regarde déja la licence du bordel sans même parler d’informatique…) tous ce qui sort de chez eux !
Sinon pour revenir au sujet j’ai réussi à torcher le truc dans ESPHome avec les lambdas ! Je vais regarder quand j’aurais un peu plus le temps à optimiser mieux le truc mais déja ça marche nickel comme ça
Merci encore pour toute ton aide et tes suggestions
substitutions:
friendly_name: kincony-k868-ag
source_name: maison
esphome:
name: $friendly_name
esp32:
board: esp32dev
framework:
type: arduino
logger:
web_server:
ota:
wifi:
networks:
- ssid: !secret wifi_ssid
password: !secret wifi_passwd
- ssid: !secret wifi_puppy
password: !secret wifi_puppy_passwd
- ssid: !secret wifi_cstj
password: !secret wifi_cstj_passwd
ap:
ssid: $friendly_name
captive_portal:
globals:
- id: chiffre
type: int
restore_value: no
initial_value: '0'
api:
reboot_timeout: 10min
services:
- service: favorites
variables:
millier: Int
centaine: Int
dizaine: Int
unite: Int
then:
- lambda: |-
id(chiffre) = millier;
- switch.turn_on: composition
- delay: 0.08s
- lambda: |-
id(chiffre) = centaine;
- switch.turn_on: composition
- delay: 0.08s
- lambda: |-
id(chiffre) = dizaine;
- switch.turn_on: composition
- delay: 0.08s
- lambda: |-
id(chiffre) = unite;
- switch.turn_on: composition
- delay: 0.08s
- button.press: bok
switch:
- platform: template
id: composition
turn_on_action:
then:
- if:
condition:
lambda: |-
if (id(chiffre)==0) {
return true;
} else {
return false;
}
then:
- button.press: bd0
- if:
condition:
lambda: |-
if (id(chiffre)==1) {
return true;
} else {
return false;
}
then:
- button.press: bd1
- if:
condition:
lambda: |-
if (id(chiffre)==2) {
return true;
} else {
return false;
}
then:
- button.press: bd2
- if:
condition:
lambda: |-
if (id(chiffre)==3) {
return true;
} else {
return false;
}
then:
- button.press: bd3
- if:
condition:
lambda: |-
if (id(chiffre)==4) {
return true;
} else {
return false;
}
then:
- button.press: bd4
- if:
condition:
lambda: |-
if (id(chiffre)==5) {
return true;
} else {
return false;
}
then:
- button.press: bd5
- if:
condition:
lambda: |-
if (id(chiffre)==6) {
return true;
} else {
return false;
}
then:
- button.press: bd6
- if:
condition:
lambda: |-
if (id(chiffre)==7) {
return true;
} else {
return false;
}
then:
- button.press: bd7
- if:
condition:
lambda: |-
if (id(chiffre)==8) {
return true;
} else {
return false;
}
then:
- button.press: bd8
- if:
condition:
lambda: |-
if (id(chiffre)==9) {
return true;
} else {
return false;
}
then:
- button.press: bd9
sensor:
- platform: wifi_signal
name: $friendly_name WiFi Signal
update_interval: 60s
- platform: uptime
name: $friendly_name Uptime
filters:
- lambda: return x / 60.0;
unit_of_measurement: minutes
remote_transmitter:
pin: GPIO2
carrier_duty_percent: 50%
button:
- platform: template
name: $source_name Power
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 0041 0020 0021 0040 0021 0020 06C3"
- platform: template
name: $source_name TV Power
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000A 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0041 0040 0041 0020 0021 0040 0041 0020 06C3"
- platform: template
name: $source_name A/V
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0020 0021 0040 06C3"
- platform: template
name: $source_name Red
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000A 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0041 0020 0021 0040 0021 0020 0041 0040 06C3"
- platform: template
name: $source_name Green
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0041 0020 0020 0041 0020 0021 0020 0021 0040 0041 0020 0021 0040 0021 0020 0021 0020 0041 0020 06C3"
- platform: template
name: $source_name Yellow
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0041 0020 06C3"
- platform: template
name: $source_name Blue
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000A 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0041 0040 06C3"
- platform: template
name: $source_name Mute
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0021 0020 0020 0021 0040 0041 0021 0020 0020 0021 0040 0041 0020 0021 0040 0021 0020 0021 0020 0021 0020 06C3"
- platform: template
name: $source_name TV
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000A 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0041 0020 0021 0040 0041 0040 0041 0020 06C3"
- platform: template
name: $source_name EPG
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000A 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0041 0020 0021 0040 0041 0020 0021 0040 06C3"
- platform: template
name: $source_name Settings
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0041 0020 0021 0040 0021 0020 0041 0020 0021 0020 06C3"
- platform: template
name: $source_name i
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0041 0020 06C3"
- platform: template
name: $source_name Vol +
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000A 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0041 0040 0021 0020 0041 0040 06C3"
- platform: template
name: $source_name Vol -
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0021 0020 0041 0041 0020 0020 0041 0021 0020 0020 06C3"
- platform: template
name: $source_name CH +
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0020 0021 0040 0021 0020 06C3"
- platform: template
name: $source_name CH -
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0021 0020 0041 0040 0021 0020 0021 0020 0041 0020 06C3"
- platform: template
name: $source_name Up
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0020 0021 0040 0041 0020 06C3"
- platform: template
name: $source_name Down
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0021 0020 0020 0021 0040 0041 0020 0021 0020 0021 0020 0021 0021 0020 0040 06C3"
- platform: template
name: $source_name Left
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000C 0000 0021 0020 0021 0020 0040 0041 0020 0021 0020 0021 0040 0041 0021 0020 0020 0021 0021 0020 0020 0021 0020 0021 0020 06C3"
- platform: template
name: $source_name Right
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000A 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0041 0040 0041 0040 0041 0020 0021 0020 06C3"
- platform: template
name: $source_name OK
id: "bok"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000A 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0041 0040 0041 0020 0021 0040 0021 0020 06C3"
- platform: template
name: $source_name Home
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 0041 0020 0021 0040 0041 0020 06C3"
- platform: template
name: $source_name Return
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000C 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 0041 0020 0021 0020 0021 0020 0021 0020 06C3"
- platform: template
name: $source_name APP
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 06C3"
- platform: template
name: $source_name PIP
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000A 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0041 0040 0041 0020 0021 0020 0021 0040 06C3"
- platform: template
name: $source_name Menu
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000A 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 0041 0040 0041 0041 06C3"
- platform: template
name: $source_name Rewind
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000A 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0021 0020 0041 0040 0041 0020 0021 0040 06C3"
- platform: template
name: $source_name Play/Pause
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 0041 0040 0041 0020 0021 0020 06C3"
- platform: template
name: $source_name Forward
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0021 0020 0041 0040 0021 0020 0021 0021 0020 0020 06C3"
- platform: template
name: $source_name 1
id: "bd1"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000C 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 0021 0020 0021 0020 0021 0020 0041 0020 06C3"
- platform: template
name: $source_name 2
id: "bd2"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0021 0020 0020 0021 0040 0021 0020 0021 0020 0021 0020 0021 0020 0041 0040 06C3"
- platform: template
name: $source_name 3
id: "bd3"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000C 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 0021 0020 0021 0020 0041 0020 0021 0020 06C3"
- platform: template
name: $source_name 4
id: "bd4"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 0021 0020 0041 0040 0021 0020 06C3"
- platform: template
name: $source_name 5
id: "bd5"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 0021 0020 0041 0040 0041 0020 06C3"
- platform: template
name: $source_name 6
id: "bd6"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0041 0020 0020 0021 0020 0021 0020 0041 0020 0021 0040 06C3"
- platform: template
name: $source_name 7
id: "bd7"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000C 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0021 0021 0020 0021 0040 0021 0020 0021 0020 0020 06C3"
- platform: template
name: $source_name 8
id: "bd8"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 0041 0040 0021 0020 0021 0020 06C3"
- platform: template
name: $source_name 9
id: "bd9"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 0041 0040 0021 0020 0041 0020 06C3"
- platform: template
name: $source_name 0
id: "bd0"
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000C 0000 0020 0021 0040 0021 0020 0041 0020 0021 0020 0021 0040 0021 0020 0021 0020 0021 0020 0021 0020 0021 0020 0021 0020 06C3"
- platform: template
name: $source_name Resize
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0020 0021 0040 0041 0020 0021 0020 0021 0040 0021 0020 0041 0040 0041 0020 0021 0020 0021 0020 06C3"
- platform: template
name: $source_name Keyboard
on_press:
- remote_transmitter.transmit_pronto:
data: "0000 006D 000B 0000 0020 0021 0040 0021 0020 0041 0021 0020 0020 0021 0040 0021 0020 0041 0020 0021 0040 0021 0020 0021 0020 06C3"
1 « J'aime »
C’est tout vu, c’est MIT
Visual Studio Code
En tout cas, cool pour ton objectif
En tant qu’anti-microsoft primaire, je souscris (presque) à cela. Les versions windows et leur stratégie de mise à jour sont à pleurer.
Mais, VSC c’est différent. C’est du vrai open source depuis toujours. C’est bien conçu. Il y a plein de plugin/extension pour faire plein de trucs. Markdown, asciidoc, yaml, json, mermaid,…
En tant que vieil aficionado de vi, essayer VSC (malgré les préjugés) c’est l’adopter
vincen
Juillet 17, 2022, 8:04
29
golfvert:
Mais, VSC c’est différent. C’est du vrai open source depuis toujours. C’est bien conçu. Il y a plein de plugin/extension pour faire plein de trucs. Markdown, asciidoc, yaml, json, mermaid,…
En tant que vieil aficionado de vi, essayer VSC (malgré les préjugés) c’est l’adopter
Ben Perso Atom me convenait très bien même s’il est abandonné maintenant
Bob
Juillet 19, 2022, 9:02
30
Bonjour,
Personnellement je n’ai absolument pas vu le but de ce post, afficher ses favoris radios ?
vincen
Juillet 19, 2022, 10:37
31
Alors ça pourrait s’utiliser pour la radio aussi si tuner en IR, mais là c’est pour gérer des pages de favoris télé sur Lovelace
Bob
Juillet 19, 2022, 10:46
32
OK, merci, je ne regarde jamais la télé , et pour la musique Denon / HEOS, Spotify font le boulot
Bob
vincen
Juillet 19, 2022, 10:59
33
pareil ici c’est pour une install ailleurs !