Package Multipresa Wi-Fi
Dopo aver acquistato la multipresa Wi-Fi della Houzetek e aver scoperto che monta lo stesso ESP di altre prese Wi-Fi compatibili con Tasmota, quindi sarà mia gioia provare a sostituire prossimamente il Firmware originale con quello Tasmota, ho voluto creare un Package e una card Lovelace personalizzata.
La presa l’ho acquistata da Amazon a 23€
È possibile comandare singolarmente le 4 prese schuko mentre le 3 prese USB solo insieme. Ha un tasto power generale che le spegne o le accende tutte assieme, nell’integrazione in Home Assistant, che vedremo più avanti, non sarà presente l’entità del pulsante generale, infatti viene fatto uno switch che va ad azionare le 5 entità delle prese.
La multipresa Wi-Fi è integrabile in Home Assistent tramite il component Tuya https://www.home-assistant.io/components/tuya/
Per prima cosa da fare è scaricate l’app Tuya Smart per Android o iOS ed associate la nuova multipresa Wi-Fi
PACKAGE
Passiamo ora al package, se non li avete ancora configurati seguite la guida: Package Configurazione.
Create un file di nome pkg_multipresa_1_0.yaml ed inserite dentro i codici sottostanti, scaricatevi ance il file Multipresa.zip dove troverete il package anche tutta la parte di Lovelace.
Il package prevede che ci sia già il sensore time_date, lo potete trovare su https://www.home-assistant.io/components/sensor.time_date/
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 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 |
####################################################################### # In questo package dovrete sostituire le seguenti entità con le vostre # usando trova e sostituisci: # switch.AAAAAA_1 # switch.AAAAAA_2 # switch.AAAAAA_3 # switch.AAAAAA_4 # switch.AAAAAA_7 # # # ed inserire e compilare le credenziali di tuya # e le vostre entity nel file secret # tuya_username: email di registrazione tuya # tuya_password: password di registrazione # multipresa1_sw1: switch.AAAAAA_1 # multipresa1_sw2: switch.AAAAAA_2 # multipresa1_sw3: switch.AAAAAA_3 # multipresa1_sw4: switch.AAAAAA_4 # multipresa1_sw7: switch.AAAAAA_7 # ######################################################################## homeassistant: customize: # ┌┐┌┌─┐┌┬┐┌─┐ ┌─┐┌┐┌┌─┐┬ ┬┌─┐┬─┐┌─┐ # ││││ │ ││├┤ ├─┤││││ ├─┤│ │├┬┘└─┐ # ┘└┘└─┘─┴┘└─┘ ┴ ┴┘└┘└─┘┴ ┴└─┘┴└─└─┘ package.node_anchors: customize: &customize package: 'multipresa' expose: &expose <<: *customize haaska_hidden: false homebridge_hidden: false # ┌─┐┬ ┬┌─┐┌┬┐┌─┐┌┬┐┬┌─┐┌─┐ ┌─┐┬ ┌─┐┌┐ # │ │ │└─┐ │ │ │││││┌─┘├┤ │ ┬│ │ │├┴┐ # └─┘└─┘└─┘ ┴ └─┘┴ ┴┴└─┘└─┘───└─┘┴─┘└─┘└─┘ #qui è possibile personalizzare i nomi di tutte le entità che verranno visualizzate in Lovelace input_datetime.multi1_sw1_on: friendly_name: "Presa 1 on" icon: mdi:clock-start input_datetime.multi1_sw1_off: friendly_name: "Presa 1 off" icon: mdi:clock-end input_datetime.multi1_sw2_on: friendly_name: "Presa 2 on" icon: mdi:clock-start input_datetime.multi1_sw2_off: friendly_name: "Presa 2 off" icon: mdi:clock-end input_datetime.multi1_sw3_on: friendly_name: "Presa 3 on" icon: mdi:clock-start input_datetime.multi1_sw3_off: friendly_name: "Presa 3 off" icon: mdi:clock-end input_datetime.multi1_sw4_on: friendly_name: "Presa 4 on" icon: mdi:clock-start input_datetime.multi1_sw4_off: friendly_name: "Presa 4 off" icon: mdi:clock-end input_datetime.multi1_sw7_on: friendly_name: "Prese USB on" icon: mdi:clock-start input_datetime.multi1_sw7_off: friendly_name: "Prese USB off" icon: mdi:clock-end !secret multipresa1_sw1: friendly_name: "Presa 1" !secret multipresa1_sw2: friendly_name: "Presa 2" !secret multipresa1_sw3: friendly_name: "Presa 3" !secret multipresa1_sw4: friendly_name: "Presa 4" !secret multipresa1_sw7: friendly_name: "Prese USB" switch.multipresa1_power: friendly_name: "Power" icon: mdi:power input_boolean.att_progr_presa: friendly_name: "Programmazione" # ┌─┐┌─┐┌┬┐┌─┐┌─┐┌┐┌┌─┐┌┐┌┌┬┐ # │ │ ││││├─┘│ ││││├┤ │││ │ # └─┘└─┘┴ ┴┴ └─┘┘└┘└─┘┘└┘ ┴ tuya: username: !secret tuya_username password: !secret tuya_password country_code: '39' # ┌─┐┬─┐┌─┐┬ ┬┌─┐ # │ ┬├┬┘│ ││ │├─┘ # └─┘┴└─└─┘└─┘┴ #il gruppo ha solo lo scopo di raggruppare tutte le entity group: multipresa: name: Multipresa WiFi view: no entities: - !secret multipresa1_sw1 - !secret multipresa1_sw2 - !secret multipresa1_sw3 - !secret multipresa1_sw4 - !secret multipresa1_sw7 - input_boolean.att_progr_presa - switch.multipresa1_power - input_datetime.multi1_sw1_on - input_datetime.multi1_sw1_off - input_datetime.multi1_sw2_on - input_datetime.multi1_sw2_off - input_datetime.multi1_sw3_on - input_datetime.multi1_sw3_off - input_datetime.multi1_sw4_on - input_datetime.multi1_sw4_off - input_datetime.multi1_sw7_on - input_datetime.multi1_sw7_off - sensor.multi1_power - sensor.multi1_sw1 - sensor.multi1_sw2 - sensor.multi1_sw3 - sensor.multi1_sw4 - sensor.multi1_sw7 # ┬┌┐┌┌─┐┬ ┬┌┬┐ ┌┬┐┌─┐┌┬┐┌─┐┌┬┐┬┌┬┐┌─┐ # ││││├─┘│ │ │ ││├─┤ │ ├┤ │ ││││├┤ # ┴┘└┘┴ └─┘ ┴ ─┴┘┴ ┴ ┴ └─┘ ┴ ┴┴ ┴└─┘ #orari on e off prese input_datetime: multi1_sw1_on: has_date: false has_time: true multi1_sw1_off: has_date: false has_time: true multi1_sw2_on: has_date: false has_time: true multi1_sw2_off: has_date: false has_time: true multi1_sw3_on: has_date: false has_time: true multi1_sw3_off: has_date: false has_time: true multi1_sw4_on: has_date: false has_time: true multi1_sw4_off: has_date: false has_time: true multi1_sw7_on: has_date: false has_time: true multi1_sw7_off: has_date: false has_time: true input_boolean: att_progr_presa: icon: mdi:alarm-check # ┌─┐┌─┐┌┐┌┌─┐┌─┐┬─┐ # └─┐├┤ │││└─┐│ │├┬┘ # └─┘└─┘┘└┘└─┘└─┘┴└─ sensor: #sensori per estrarre l'attibuto friendly_name che potremmo personalizzare in customize_glob - platform: template sensors: multi1_sw1: entity_id: sensor.time value_template: "{{ state_attr('switch.AAAAAA_1', 'friendly_name') }}" - platform: template sensors: multi1_sw2: entity_id: sensor.time value_template: "{{ state_attr('switch.AAAAAA_2', 'friendly_name') }}" - platform: template sensors: multi1_sw3: entity_id: sensor.time value_template: "{{ state_attr('switch.AAAAAA_3', 'friendly_name') }}" - platform: template sensors: multi1_sw4: entity_id: sensor.time value_template: "{{ state_attr('switch.AAAAAA_4', 'friendly_name') }}" - platform: template sensors: multi1_sw7: entity_id: sensor.time value_template: "{{ state_attr('switch.AAAAAA_7', 'friendly_name') }}" #sensore complessivo dello stato multipresa - platform: template sensors: multi1_power: entity_id: - !secret multipresa1_sw1 - !secret multipresa1_sw2 - !secret multipresa1_sw3 - !secret multipresa1_sw4 - !secret multipresa1_sw7 value_template: >- {% if is_state("switch.AAAAAA_1", "on") or is_state("switch.AAAAAA_2", "on") or is_state("switch.AAAAAA_3", "on") or is_state("switch.AAAAAA_4", "on") or is_state("switch.AAAAAA_7", "on") -%} on {%- else -%} off {%- endif %} # ┌─┐┬ ┬┌┬┐┌─┐┌┬┐┌─┐┌┬┐┬┌─┐┌┐┌ # ├─┤│ │ │ │ ││││├─┤ │ ││ ││││ # ┴ ┴└─┘ ┴ └─┘┴ ┴┴ ┴ ┴ ┴└─┘┘└┘ #Accensioni spegnimento prese in base a orari impostati automation: - alias: Accensione Presa 1 trigger: - platform: template value_template: "{{ states('sensor.time') == states('input_datetime.multi1_sw1_on')[0:5] or states('sensor.time') == states('input_datetime.multi1_sw1_off')[0:5]}}" condition: condition: and conditions: - condition: template value_template: "{{ (states('input_datetime.multi1_sw1_on')[0:5]) != '00:00' and (states('input_datetime.multi1_sw1_off')[0:5]) != '00:00' }}" - condition: state entity_id: 'input_boolean.att_progr_presa' state: 'on' action: - service_template: > {% if states('sensor.time') == states('input_datetime.multi1_sw1_on')[0:5] %} switch.turn_on {% elif states('sensor.time') == states('input_datetime.multi1_sw1_off')[0:5] %} switch.turn_off {% endif %} entity_id: !secret multipresa1_sw1 - service: notify.telegram data_template: title: '*-- Multipresa Wi-Fi --*' message: > {% if states('sensor.time') == states('input_datetime.multi1_sw1_on')[0:5] %} {{now().strftime("%H:%M")}}: {{ states.sensor.multi1_sw1.state }} ACCESA, si spegnerà alle {{states('input_datetime.multi1_sw1_off')[0:5]}} {% elif states('sensor.time') == states('input_datetime.multi1_sw1_off')[0:5] %} {{now().strftime("%H:%M")}}: {{ states.sensor.multi1_sw1.state }} SPENTA {% endif %} - alias: Accensione Presa 2 trigger: - platform: template value_template: "{{ states('sensor.time') == states('input_datetime.multi1_sw2_on')[0:5] or states('sensor.time') == states('input_datetime.multi1_sw2_off')[0:5]}}" condition: condition: and conditions: - condition: template value_template: "{{ (states('input_datetime.multi1_sw2_on')[0:5]) != '00:00' and (states('input_datetime.multi1_sw2_off')[0:5]) != '00:00' }}" - condition: state entity_id: 'input_boolean.att_progr_presa' state: 'on' action: - service_template: > {% if states('sensor.time') == states('input_datetime.multi1_sw2_on')[0:5] %} switch.turn_on {% elif states('sensor.time') == states('input_datetime.multi1_sw2_off')[0:5] %} switch.turn_off {% endif %} entity_id: !secret multipresa1_sw2 - service: notify.telegram data_template: title: '*-- Multipresa Wi-Fi --*' message: > {% if states('sensor.time') == states('input_datetime.multi1_sw2_on')[0:5] %} {{now().strftime("%H:%M")}}: {{ states.sensor.multi1_sw2.state }} ACCESA, si spegnerà alle {{states('input_datetime.multi1_sw2_on')[0:5]}} {% elif states('sensor.time') == states('input_datetime.multi1_sw2_off')[0:5] %} {{now().strftime("%H:%M")}}: {{ states.sensor.multi1_sw2.state }} SPENTA {% endif %} - alias: Accensione Presa 3 trigger: - platform: template value_template: "{{ states('sensor.time') == states('input_datetime.multi1_sw3_on')[0:5] or states('sensor.time') == states('input_datetime.multi1_sw3_off')[0:5]}}" condition: condition: and conditions: - condition: template value_template: "{{ (states('input_datetime.multi1_sw3_on')[0:5]) != '00:00' and (states('input_datetime.multi1_sw3_off')[0:5]) != '00:00' }}" - condition: state entity_id: 'input_boolean.att_progr_presa' state: 'on' action: - service_template: > {% if states('sensor.time') == states('input_datetime.multi1_sw3_on')[0:5] %} switch.turn_on {% elif states('sensor.time') == states('input_datetime.multi1_sw3_off')[0:5] %} switch.turn_off {% endif %} entity_id: !secret multipresa1_sw3 - service: notify.telegram data_template: title: '*-- Multipresa Wi-Fi --*' message: > {% if states('sensor.time') == states('input_datetime.multi1_sw3_on')[0:5] %} {{now().strftime("%H:%M")}}: {{ states.sensor.multi1_sw3.state }} ACCESA, si spegnerà alle {{states('input_datetime.multi1_sw3_off')[0:5]}} {% elif states('sensor.time') == states('input_datetime.multi1_sw3_off')[0:5] %} {{now().strftime("%H:%M")}}: {{ states.sensor.multi1_sw3.state }} SPENTA {% endif %} - alias: Accensione Presa 4 trigger: - platform: template value_template: "{{ states('sensor.time') == states('input_datetime.multi1_sw4_on')[0:5] or states('sensor.time') == states('input_datetime.multi1_sw4_off')[0:5]}}" condition: condition: and conditions: - condition: template value_template: "{{ (states('input_datetime.multi1_sw4_on')[0:5]) != '00:00' and (states('input_datetime.multi1_sw4_off')[0:5]) != '00:00' }}" - condition: state entity_id: 'input_boolean.att_progr_presa' state: 'on' action: - service_template: > {% if states('sensor.time') == states('input_datetime.multi1_sw4_on')[0:5] %} switch.turn_on {% elif states('sensor.time') == states('input_datetime.multi1_sw4_off')[0:5] %} switch.turn_off {% endif %} entity_id: !secret multipresa1_sw4 - service: notify.telegram data_template: title: '*-- Multipresa Wi-Fi --*' message: > {% if states('sensor.time') == states('input_datetime.multi1_sw4_on')[0:5] %} {{now().strftime("%H:%M")}}: {{ states.sensor.multi1_sw4.state }} ACCESA, si spegnerà alle {{states('input_datetime.multi1_sw4_off')[0:5]}} {% elif states('sensor.time') == states('input_datetime.multi1_sw4_off')[0:5] %} {{now().strftime("%H:%M")}}: {{ states.sensor.multi1_sw4.state }} SPENTA {% endif %} - alias: Accensione Presa USB trigger: - platform: template value_template: "{{ states('sensor.time') == states('input_datetime.multi1_sw7_on')[0:5] or states('sensor.time') == states('input_datetime.multi1_sw7_off')[0:5]}}" condition: condition: and conditions: - condition: template value_template: "{{ (states('input_datetime.multi1_sw7_on')[0:5]) != '00:00' and (states('input_datetime.multi1_sw7_off')[0:5]) != '00:00' }}" - condition: state entity_id: 'input_boolean.att_progr_presa' state: 'on' action: - service_template: > {% if states('sensor.time') == states('input_datetime.multi1_sw7_on')[0:5] %} switch.turn_on {% elif states('sensor.time') == states('input_datetime.multi1_sw7_off')[0:5] %} switch.turn_off {% endif %} entity_id: !secret multipresa1_sw7 - service: notify.telegram data_template: title: '*-- Multipresa Wi-Fi --*' message: > {% if states('sensor.time') == states('input_datetime.multi1_sw7_on')[0:5] %} {{now().strftime("%H:%M")}}: {{ states.sensor.multi1_sw7.state }} ACCESA, si spegnerà alle {{states('input_datetime.multi1_sw7_off')[0:5]}} {% elif states('sensor.time') == states('input_datetime.multi1_sw7_off')[0:5] %} {{now().strftime("%H:%M")}}: {{ states.sensor.multi1_sw7.state }} SPENTA {% endif %} # ┌─┐┬ ┬┬┌┬┐┌─┐┬ ┬ # └─┐││││ │ │ ├─┤ # └─┘└┴┘┴ ┴ └─┘┴ ┴ #Tasto Power generale on off multipresa switch: - platform: template switches: multipresa1_power: value_template: "{{ is_state('sensor.multi1_power', 'on') }}" turn_on: service: switch.turn_on data: entity_id: - !secret multipresa1_sw1 - !secret multipresa1_sw2 - !secret multipresa1_sw3 - !secret multipresa1_sw4 - !secret multipresa1_sw7 turn_off: service: switch.turn_off data: entity_id: - !secret multipresa1_sw1 - !secret multipresa1_sw2 - !secret multipresa1_sw3 - !secret multipresa1_sw4 - !secret multipresa1_sw7 |
Dovrete sostituire la parola switch.AAAAAA con l’entità del vostro dispositivo es: switch.00011244dc4g12ea81e6, queste entità dovranno essere create anche nel file secret.yaml in questo modo si ridurranno i nomi da sostituire, inoltre aggiungiamo le credenziali di Tuya.
Inoltre viene utilizzato il servizio di notifica di Telegram quindi verificate se il nome che avete dato al servizio è corretto se no andate a rinominarlo nel package le righe contenenti: notify.telegram
Salvate il tutto e riavviate Home Assistant.
Questo package vi offre molteplici possibilità:
– programmazione della singola presa in modo che si accenda e si spenga all’orario voluto, unica nota molto impostante per poter disabilitare la programmazione ad una singola presa sarà quella di impostare l’accensione e lo spegnimento alle ore 00:00 in questo modo la presa non si accenderà, l’orario è stato scelto per comodità
– uno switch che disabilita l’intera programmazione ad orario
– uno switch per accendere o spegnere l’intera multipresa oltre al pulsante cliccabile nella parte grafica
– la possibilità di azionare la presa in maniera grafica cliccando sull’immagine che rappresenta la presa: sarà scollegata se spenta, con la spina collegata se accesa
– a fianco di ogni presa si trova un’etichetta personalizzabile in modo da sapere cosa ci sia collegato a quella presa, questa personalizzazione la si ottiene modificando le righe 83/91 nella parte customize_glob del package
– una notifica Telegram di avvenuta accensione e anche con l’ora in cui si spegnerà e una notifica di avvenuto spegnimento.
LOVELACE
All’interno del file Multipresa.zip troverete oltre che al codice per Lovelace anche le immagini (che dovrete copiare nella cartella www/lovelace/multipresa) già posizionate nella cartella di destinazione sul Raspberry
Di seguito riporto la versione grafica
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 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
cards: - entities: - entity: input_boolean.att_progr_presa - switch.multipresa1_power - style: background: 'rgba(0,0,0,0.0)' height: 10px margin-left: auto margin-right: auto width: 100% type: divider - style: background: '#62717b' height: 1px margin-left: auto margin-right: auto width: 100% type: divider - entity: input_datetime.multi1_sw7_on - entity: input_datetime.multi1_sw7_off - style: background: '#62717b' height: 1px margin-left: auto margin-right: 2 width: 90% type: divider - entity: input_datetime.multi1_sw1_on - entity: input_datetime.multi1_sw1_off - style: background: '#62717b' height: 1px margin-left: auto margin-right: 2 width: 90% type: divider - entity: input_datetime.multi1_sw2_on - entity: input_datetime.multi1_sw2_off - style: background: '#62717b' height: 1px margin-left: auto margin-right: 2 width: 90% type: divider - entity: input_datetime.multi1_sw3_on - entity: input_datetime.multi1_sw3_off - style: background: '#62717b' height: 1px margin-left: auto margin-right: 2 width: 90% type: divider - entity: input_datetime.multi1_sw4_on - entity: input_datetime.multi1_sw4_off - style: background: '#62717b' height: 1px margin-left: auto margin-right: 2 width: 90% type: divider type: entities - elements: - entity: switch.AAAAAA_7 image: /local/lovelace/multipresa/lampo.png state_filter: 'off': brightness(100%) saturate(0.5) opacity(0.0) 'on': brightness(110%) drop-shadow(0px 0px 8px gold) opacity(0.8) style: left: 63% top: 26% width: 46% tap_action: action: toggle type: image - entity: switch.multipresa1_power image: /local/lovelace/multipresa/Tasto Power.png state_filter: 'off': opacity(0.0) 'on': brightness(110%) drop-shadow(0px 0px 1px gold) style: left: 63% top: 12% width: 18% tap_action: action: toggle type: image - entity: switch.AAAAAA_1 image: /local/lovelace/multipresa/Spina.png state_filter: 'off': brightness(100%) saturate(0.5) opacity(0.0) 'on': brightness(110%) drop-shadow(0px 0px 1px gold) style: left: 75% top: 45% width: 73% tap_action: action: toggle type: image - entity: switch.AAAAAA_2 image: /local/lovelace/multipresa/Spina.png state_filter: 'off': brightness(100%) saturate(0.5) opacity(0.0) 'on': brightness(110%) drop-shadow(0px 0px 1px gold) style: left: 75% top: 60.5% width: 73% tap_action: action: toggle type: image - entity: switch.AAAAAA_3 image: /local/lovelace/multipresa/Spina.png state_filter: 'off': brightness(100%) saturate(0.5) opacity(0.0) 'on': brightness(110%) drop-shadow(0px 0px 1px gold) style: left: 75% top: 76.5% width: 73% tap_action: action: toggle type: image - entity: switch.AAAAAA_4 image: /local/lovelace/multipresa/Spina.png state_filter: 'off': brightness(100%) saturate(0.5) opacity(0.0) 'on': brightness(110%) drop-shadow(0px 0px 1px gold) style: left: 75% top: 92% width: 73% tap_action: action: toggle type: image - entity: sensor.multi1_sw7 style: color: white font-size: 13px left: 13% opacity: 0.8 pointer-events: none text-align: right top: 26% type: state-label - entity: sensor.multi1_sw1 style: color: white font-size: 13px left: 13% opacity: 0.8 pointer-events: none text-align: right top: 40% type: state-label - entity: sensor.multi1_sw2 style: color: white font-size: 13px left: 13% opacity: 0.8 pointer-events: none text-align: right top: 56% type: state-label - entity: sensor.multi1_sw3 style: color: white font-size: 13px left: 13% opacity: 0.8 pointer-events: none text-align: right top: 72% type: state-label - entity: sensor.multi1_sw4 style: color: white font-size: 13px left: 13% opacity: 0.8 pointer-events: none text-align: right top: 88% type: state-label image: /local/lovelace/multipresa/Multipresa.png type: picture-elements type: horizontal-stack |
Anche in questo codice dovrete sostituire il nome dell’entity switch.AAAAAA con l’entity del vostro dispositivo.
Ecco il risultato finale con le due immagini: completamente spenta e completamente accesa.
37 risposte
Segnalo che il pacchetto Multipresa.zip non si scarica, da inesistente
https://hassiohelp.eu/wp-content/uploads/2019/01/Multipresa.zip
ciao
BePPe
Sistemato grazie.
Ciao! Vorrei capire se con la sostituzione del firmware é possibile fare in modo che in mancanza di elettricità, una volta ripristinata, la ciabatta ritorni nello stato in cui era prima? Perché attualmente se la ciabatta é accesa e va via la corrente, é necessario riaccenderla manualmente. Grazie mille ?
ciao non ho ben capito dove devo inserire le immagini… il percorso è local/lovelace/multipresa ecc..
ma non trovo la cartella local?!!?
Grazie
Ciao il percorso per richiamarle è quello ma la cartella sul raspy è www/lovelace/multipresa dove per hassio local=www
GRazie per la risposta… ma da samba non trovo neanche la cartella http://www... come faccio ad inserirle?
Grazie
La cartella è /www scusa
Devi creare una cartella in config con nome www
il risultato che otterrai sarà config/www/lovelace/multipresa
Ciao e grazie per la guida..
Volevo chiedere un info:
Sto usando la ciabatta per il mio acquario e siccome ho una delle prese sempre accesa sul motorino del filtro, a me serve ricevere una notifica telegram solo in caso la presa passi da ON a OFF (è successo che senza accorgermene si è spenta da sola).
Qualcuno mi può aiutare nella modifica del pakage?
Grazie…
Ciao e grazie per la guida.
Volevo chiedere un info:
Sto usando la ciabatta per il mio acquario e siccome ho una delle prese sempre accesa sul motorino del filtro, a me serve ricevere una notifica telegram solo in caso la presa passi da ON a OFF (è successo che senza accorgermene si è spenta da solo).
Qualcuno mi può aiutare nella modifica del pakage?
Grazie…
Ho integrato questo package e funziona tutto o quasi.Se imposto la programamzione per le prese non si accende all’ora impostata ed ovviamente nemmeno si spegne. Come mai?
Hai il sensore data.time?
Si
Nei log trovi qualche errore?
No nulla
Ciao a tutti..
Dopo aver aggiornato il phyton ho una serie di errori nel log file.. Uno di questi è riferito a questo packages, vi posto qui sotto il dettaglio.. Spero qualcuno mi possa aiutare..
Log Details (ERROR)
Tue Jul 16 2019 22:35:32 GMT+0200 (Ora legale dell’Europa centrale)
Error doing job: Future exception was never retrieved
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.7/site-packages/urllib3/connection.py”, line 160, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw)
File “/srv/homeassistant/lib/python3.7/site-packages/urllib3/util/connection.py”, line 57, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File “/usr/local/lib/python3.7/socket.py”, line 748, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.7/site-packages/urllib3/connectionpool.py”, line 603, in urlopen
chunked=chunked)
File “/srv/homeassistant/lib/python3.7/site-packages/urllib3/connectionpool.py”, line 344, in _make_request
self._validate_conn(conn)
File “/srv/homeassistant/lib/python3.7/site-packages/urllib3/connectionpool.py”, line 843, in _validate_conn
conn.connect()
File “/srv/homeassistant/lib/python3.7/site-packages/urllib3/connection.py”, line 316, in connect
conn = self._new_conn()
File “/srv/homeassistant/lib/python3.7/site-packages/urllib3/connection.py”, line 169, in _new_conn
self, “Failed to establish a new connection: %s” % e)
urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.7/site-packages/requests/adapters.py”, line 449, in send
timeout=timeout
File “/srv/homeassistant/lib/python3.7/site-packages/urllib3/connectionpool.py”, line 641, in urlopen
_stacktrace=sys.exc_info()[2])
File “/srv/homeassistant/lib/python3.7/site-packages/urllib3/util/retry.py”, line 399, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=’px1.tuyaeu.comhomeassistant’, port=443): Max retries exceeded with url: /access.do?grant_type=refresh_token&refresh_token=EUheu1548178116439kivnmuMfeTr5E6X (Caused by NewConnectionError(‘: Failed to establish a new connection: [Errno -2] Name or service not known’))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/tuya/__init__.py”, line 85, in poll_devices_update
tuya.poll_devices_update()
File “/srv/homeassistant/lib/python3.7/site-packages/tuyapy/tuyaapi.py”, line 104, in poll_devices_update
self.check_access_token()
File “/srv/homeassistant/lib/python3.7/site-packages/tuyapy/tuyaapi.py”, line 88, in check_access_token
self.refresh_access_token()
File “/srv/homeassistant/lib/python3.7/site-packages/tuyapy/tuyaapi.py”, line 94, in refresh_access_token
+ “?” + data)
File “/srv/homeassistant/lib/python3.7/site-packages/requests/api.py”, line 75, in get
return request(‘get’, url, params=params, **kwargs)
File “/srv/homeassistant/lib/python3.7/site-packages/requests/api.py”, line 60, in request
return session.request(method=method, url=url, **kwargs)
File “/srv/homeassistant/lib/python3.7/site-packages/requests/sessions.py”, line 533, in request
resp = self.send(prep, **send_kwargs)
File “/srv/homeassistant/lib/python3.7/site-packages/requests/sessions.py”, line 646, in send
r = adapter.send(request, **kwargs)
File “/srv/homeassistant/lib/python3.7/site-packages/requests/adapters.py”, line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host=’px1.tuyaeu.comhomeassistant’, port=443): Max retries exceeded with url: /access.do?grant_type=refresh_token&refresh_token=EUheu1548178116439kivnmuMfeTr5E6X (Caused by NewConnectionError(‘: Failed to establish a new connection: [Errno -2] Name or service not known’))
Ciao Enrico, ho notato da qualche giorno dei problemi nel package (da Tuya Smart funziona tutto correttamente). Accendo una presa, non viene il simbolo della spina inserita, e non riesco più a spegnerla. Ho notato che anche i vocali funzionano.
Possibile che ci sia da fare qualche integrazione o aggiornamento?
Grazie
Ciao, anch’io ho lo stesso problema di visualizzazione spina inserita e sembra che graficamente non funzionino i comandi.. Però sembra che il timer invece funzioni.. Hai trovato una soluzione?
Io purtroppo non ho ancora trovato nulla.. sto pensando di mettere il FW Tasmota…
Da app Tuya funziona perfettamente, da Hassio praticamente è diventata inutilizzabile
Aggiornate all’ultima versione.. Tutto ritorna com’era..
Ciao a tutti.
ho comprato una seconda ciabatta..
come devo fare per configurane un’altra all’interno di HA??
grazie a tutti…
Devi cambiare il topic su tasmota è di conseguenza modificare il pkg e la parte di lovelace con le nuove entità
Devi dare un topic diverso alla multipresa in tasmota e di conseguenza modificare il package inserendo il nuovo topic e modificando i rispettivi nomi poi anche su lovelace modifichi le entity appena create
Buona sera, trovo interessante l’argomento trattato ma ho difficoltà nell’installare i packages in generale. Uso hassio lovelace installo i packages in config ma non succede nulla. come devo attivare i packages percè li possa vedere nel front end di hassio? Sarò banale ma proprio non risolvo. Grazie in anticipo a chi mi può dare qualche dritta. Buonasera a tutti
Hai abilitato i package nel file configuration.yaml? Leggi la guida su come configurare i package
in configuration.yaml ho inserito
customize: !include customize.yaml
customize_glob: !include customize_glob.yaml
packages: !include_dir_named packages
In controlla la configurazione mi viene fuoti il seguente errore.
Error loading /config/configuration.yaml: in “/config/configuration.yaml”, line 33, column 12: Unable to read file /config/customize.yaml.
HA ti sta dicendo che non riesce ha trovare il file custumize che stai includendo forse xché è vuoto o non lo hai creato, se non ti servono quei tiles per il momento non includerli.
#customize: !include customize.yaml
#customize_glob: !include customize_glob.yaml
packages: !include_dir_named packages
ho dovuto decommentare i primi due, poi quando controllo la configurazione viene fuori:
Component error: packages – Integration ‘packages’ not found.
La cartella packages è presente. Cosa non va?
Salve,
ho configurato tutto come descritto nel Vostro articolo, complimenti ancora, ma al riavvio HA mi restituisce questo errore:
ERROR (MainThread) [homeassistant.components.hassio] Invalid config for [automation]: invalid template (TemplateSyntaxError: unexpected char ‘&’ at 55) for dictionary value @ data[‘action’][0][‘data_template’][‘message’]. Got None. (See /config/configuration.yaml, line 45). Please check the docs at https://home-assistant.io/integrations/automation/
da cosa può dipendere?
È il primo package che installi? Hai già alcune automazioni in automation.yaml?
Ciao! Vorrei capire se con la sostituzione del firmware é possibile fare in modo che in mancanza di elettricità, una volta ripristinata, la ciabatta ritorni nello stato in cui era prima? Perché attualmente se la ciabatta é accesa e va via la corrente, é necessario riaccenderla manualmente. Grazie mille ?
Certo con tasmota c’è il parametro poweronstate
https://github.com/arendst/Tasmota/wiki/Commands
salve, io ho la stessa scarpetta, l’avevo flashata per homekit ma purtroppo non so perché non funziona più. Vorrei rifare la procedura, ma stavolta mettere un firmware compatibile alexa, magari se qualcuno ha l’originale, anche andrebbe bene. io eventualmente ne ho un’altra, sapete se posso estrarre il firmware da lì e metterlo su quest’altra? se si come fare?
Con l’ultimo aggiornamento non funziona più sul front-end..
Buongiorno e grazie per il lavoro! Segano che il link del package non funziona..
il file multipresa.zip non è esistente
il file multipresa zip non e’ piu’ disponibile,
qualcuno lo potrebbe reperire nel proprio Pi perfavore e farlo tornare on line?
Grazie mille a chi lo fara