-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvmc_clona.yaml
More file actions
145 lines (136 loc) · 14 KB
/
vmc_clona.yaml
File metadata and controls
145 lines (136 loc) · 14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
###########################################################################################################################################################################################################################
# #
# CLONA o CANCELLA VMC HELTY FLOW PLUS RELEASE [V2.1.0] #
# #
# SVILUPPATO DA ING. DANILO ROBOTTI, ALLE PRIME ARMI CON HOME ASSISTANT :) #
# #
# LICENZA D'USO – USO PERSONALE NON COMMERCIALE #
# #
# COPYRIGHT © ING. DANILO ROBOTTI #
# #
# TUTTI I DIRITTI RISERVATI. #
# #
# QUESTA LICENZA SI APPLICA A TUTTE LE VERSIONI DEL PRESENTE SOFTWARE CHE INCLUDE I SEGUENTI FILES: #
# - VMC_CLONA.YAML #
# - VMC_CLONA_SCHEDA_MANUALE_INTERFACCIA.TXT #
# - VMC_MASTER.YAML #
# - VMC_MASTER_AUTOMAZIONE.TXT #
# - VMC_MASTER_SCHEDA_MANUALE_INTERFACCIA.TXT #
# - VMC_MASTER_SCRIPT_CAMBIO_IP.SH #
# - VMC_MASTER_SCRIPT_CAMBIO_NOME.SH #
# - VMC_SCRIPT_CLONA.SH #
# A PARTIRE DALLA PRIMA VERSIONE PUBBLICATA E SUCCESSIVE #
# #
# È CONCESSO: #
# - L'UTILIZZO DEL SOFTWARE ESCLUSIVAMENTE PER FINI PERSONALI E NON COMMERCIALI #
# - LA DISTRIBUZIONE LIBERA, PURCHÉ VENGA MANTENUTO IL PRESENTE TESTO DI LICENZA E SIA RISPETTATO IL DIVIETO D'USO COMMERCIALE #
# #
# QUALSIASI USO NON AUTORIZZATO AD USO COMMERCIALE COSTITUISCE VIOLAZIONE DEL DIRITTO D'AUTORE E POTRÀ ESSERE PERSEGUITO LEGALMENTE #
# #
# PER RICHIESTE DI LICENZA COMMERCIALE O USI PARTICOLARI, CONTATTARE L’AUTORE: danilo.robotti@gmail.com #
# #
# VERSIONE LICENZA: 1.0 #
# DATA: 30 APRILE 2025 #
# #
# Esonero di Responsabilità #
# In nessun caso lo sviluppatore sarà responsabile di danneggiamenti diretti, indiretti o conseguenti, correlati a difetti del presente software #
# L’usufruitore ha l’onere e la responsabilità della scelta, dell’installazione, dell’uso e della gestione del software al fine del raggiungimento del risultato prefissatosi #
# #
###########################################################################################################################################################################################################################
template:
- sensor:
- default_entity_id: sensor.vmc_master_slave_verifica_nome_inserito # [CONFIGURAZIONE PIU' RICHIAMI]
unique_id: vmc_master_slave_verifica_nome_inserito
state: >
{% set nome_inserito = states.input_text.vmc_master_slave_nome_insert.state %}
{% set directory_proibite = ['config', 'share', 'addons', 'backup', 'media', 'ssl', 'www', 'deps', 'blueprints', 'lovelace', 'tts', '.storage', '.cloud'] %}
{% if nome_inserito | regex_match('^[a-z]{1,10}$') and
nome_inserito | replace(' ', '') == nome_inserito and
nome_inserito | lower not in ['master', 'clona'] and
nome_inserito not in directory_proibite %}
ok
{% else %}
not ok
{% endif %}
icon: mdi:check-circle
- sensor:
- default_entity_id: sensor.vmc_master_slave_verifica_ip_inserito # [CONFIGURAZIONE PIU' RICHIAMI]
name: "Verifica IP"
unique_id: vmc_master_slave_verifica_ip_inserito
state: >
{% if states.input_text.vmc_master_slave_ip_insert.state is match("^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$") %}
{{ states.input_text.vmc_master_slave_ip_insert.state }}
{% else %}
not ok
{% endif %}
icon: mdi:ip
input_text:
vmc_master_slave_nome_insert: # [CONFIGURAZIONE PIU' RICHIAMI] [AUTOMAZIONE 0 RICHIAMI] [INTERFACCIA PIU' RICHIAMI]
name: Nome VMC
initial: ""
min: 0
max: 10
vmc_master_slave_ip_insert: # [CONFIGURAZIONE PIU' RICHIAMI] [AUTOMAZIONE 0 RICHIAMI] [INTERFACCIA PIU' RICHIAMI]
name: IP VMC su Porta 5001
initial: ""
input_boolean:
vmc_master_slave_check_avvio_clonazione: # [CONFIGURAZIONE 0 RICHIAMI] [AUTOMAZIONE 0 RICHIAMI] [INTERFACCIA, PIU' RICHIAMI]
name: Mostra/Nascondi - Clona o Cancella VMC
initial: false
icon: mdi:cog
vmc_master_slave_check_avvio_script_vmc_master_slave_duplica_vmc: # [CONFIGURAZIONE PIU' RICHIAMI] [AUTOMAZIONE 0 RICHIAMI] [INTERFACCIA, PIU' RICHIAMI]
name: Check Avvio Scipt Clonazione VMC
initial: false
icon: mdi:check-circle
shell_command: # [CONFIGURAZIONE PIU' RICHIAMI] [AUTOMAZIONE 0 RICHIAMI] [INTERFACCIA 0 RICHIAMI]
vmc_master_slave_rimuovi_caratteri_di_ritorno: find /config/packages/vmc_helty_flow/master -type f -name "*.sh" -exec sed -i 's/\r$//' {} \; # TROVA E RIMUOVE CARATTERI DI RITORNO IN TUTTI I FILES *.sh CONTENUTI NELLA CARTELLA
vmc_master_slave_clona: bash /config/packages/vmc_helty_flow/master/vmc_script_clona.sh {{ states('input_text.vmc_master_slave_nome_insert') }} {{ states('input_text.vmc_master_slave_ip_insert') }}
vmc_master_slave_cancella_cartella: bash -c 'rm -rf /config/packages/vmc_helty_flow/{{ states("input_text.vmc_master_slave_nome_insert") }}'
script:
vmc_master_slave_duplica_vmc: # [CONFIGURAZIONE 0 RICHIAMI] [AUTOMAZIONE 0 RICHIAMI] [INTERFACCIA, PIU' RICHIAMI]
alias: VMC Master - Avvio Clona VMC
sequence:
- condition: and
conditions:
- condition: template
value_template: "{{ is_state('sensor.vmc_master_slave_verifica_nome_inserito', 'ok') }}"
- condition: template
value_template: "{{ not is_state('sensor.vmc_master_slave_verifica_ip_inserito', 'not ok') }}"
- service: shell_command.vmc_master_slave_rimuovi_caratteri_di_ritorno
- service: shell_command.vmc_master_slave_clona
- service: input_boolean.turn_on
entity_id: input_boolean.vmc_master_slave_check_avvio_script_vmc_master_slave_duplica_vmc
icon: mdi:cursor-pointer
vmc_master_slave_restart_ha: # [CONFIGURAZIONE 0 RICHIAMI] [AUTOMAZIONE 0 RICHIAMI] [INTERFACCIA, PIU' RICHIAMI]
alias: VMC Master - Riavvio H.A.
sequence:
- service: input_text.set_value
target:
entity_id:
- input_text.vmc_master_slave_nome_insert
- input_text.vmc_master_slave_ip_insert
data:
value: ''
- service: input_boolean.turn_off
entity_id: input_boolean.vmc_master_slave_check_avvio_script_vmc_master_slave_duplica_vmc
- service: homeassistant.restart
icon: mdi:cursor-pointer
vmc_master_slave_cancella_cartella: # [CONFIGURAZIONE 0 RICHIAMI] [AUTOMAZIONE 0 RICHIAMI] [INTERFACCIA, PIU' RICHIAMI]
alias: VMC Master - Cancella VMC
sequence:
- service: shell_command.vmc_master_slave_cancella_cartella
- service: input_text.set_value
target:
entity_id:
- input_text.vmc_master_slave_nome_insert
- input_text.vmc_master_slave_ip_insert
data:
value: ''
- service: input_boolean.turn_off
entity_id: input_boolean.vmc_master_slave_check_avvio_script_vmc_master_slave_duplica_vmc
- service: persistent_notification.create
data:
title: "Attenzione"
message: "Ricordati di cancellare manualmente l'automazione e la scheda correlata nell'interfaccia."
notification_id: "vmc_master_slave_cancella_cartella"
icon: mdi:delete