Después de probar el NSPanel decidí integrarlo completamente en Home Assistant con algunos de los dispositivos que tengo , por limitaciones del tamaño de la pantalla las cardEntities solo permiten cuatro entidades y las cardGrid seis entidades , hay algunos iconos mdi que aun no están implementados pero de todas maneras hay una gran cantidad para dejarlo a nuestro gusto.
Si se declaran en la sección hiddenCards automáticamente desaparecerán en la pantalla principal y cuando las llamemos nos aparecerá la opción de volver al nivel superior en lugar de pagina adelante / pagina atrás , para llamar a estar tarjetas usaremos la entidad navigate seguida del tipo y acabando con la clave , por ejemplo navigate.cardEntities_banyo
Este es el contenido de mi apps.yml que puede servir de base
nspanel-1: module: nspanel-lovelace-ui class: NsPanelLovelaceUIManager config: panelRecvTopic: "tele/tasmota_0CBAFC/RESULT" panelSendTopic: "cmnd/tasmota_0CBAFC/CustomSend" updateMode: "auto-notify" sleepTimeout: 10 sleepBrightness: 10 sleepBrightness: - time: "7:00:00" value: 10 - time: "23:00:00" value: 0 locale: "es_ES" # used for translations in translations.py and for localized date if babel python package is installed screensaver: entity: weather.aemet_daily cards: - type: cardGrid title: Estancias entities: - entity: navigate.cardEntities_comedor name: Comedor icon: silverware - entity: navigate.cardEntities_cocina name: Cocina icon: pasta - entity: navigate.cardEntities_estudio name: Estudio icon: book-open-variant - entity: navigate.cardEntities_matrimonio name: Hab. mat. icon: bed-king - entity: navigate.cardEntities_oriol name: Oriol icon: bed-outline - entity: navigate.cardEntities_banyo name: Baños icon: toilet key: estancias - type: cardThermo entity: climate.calefaccion_casa - type: cardMedia entity: media_player.tv_salon hiddenCards: - type: cardEntities title: Oriol entities: - entity: light.luz_oriol name: Techo icon: ceiling-light - entity: light.tira_led_cama_oriol name: Led cama icon: led-strip-variant - entity: light.tira_led_mesa_oriol name: Led mesa icon: led-strip-variant - entity: cover.window_oriol_cover name: Persiana icon: window-shutter # - entity: navigate.cardGrid_estancias # name: Inicio # icon: home key: oriol - type: cardEntities title: Cocina entities: - entity: light.luz_cocina name: Techo icon: ceiling-light - entity: light.tira_led_cocina name: Tira led icon: led-strip-variant - entity: sensor.enchufe_14_nevera_power name: Nevera icon: fridge - entity: light.luz_lavadero name: Lavadero icon: ceiling-light # - entity: navigate.cardGrid_estancias # name: Inicio # icon: home key: cocina - type: cardEntities title: Estudio entities: - entity: light.luz_estudio name: Techo icon: ceiling-light - entity: light.tira_led_estudio name: Tira led icon: led-strip-variant - entity: light.gateway_light_286c07f0b574 name: Gateway icon: blur-radial - entity: switch.enchufe_12 name: Enchufe NUC icon: power-socket-eu # - entity: navigate.cardGrid_estancias # name: Inicio # icon: home key: estudio - type: cardEntities title: Baños entities: - entity: light.luz_banyo_techo name: Techo icon: ceiling-light - entity: light.luz_banyo_espejo name: Espejo icon: mirror - entity: light.luz_aseo name: Aseo icon: toilet - entity: light.gateway_light_286c07f0e736 name: Gateway icon: blur-radial # - entity: navigate.cardGrid_estancias # name: Inicio # icon: home key: banyo - type: cardEntities title: Matrimonio entities: - entity: light.luz_matrimonio name: Techo icon: ceiling-light - entity: cover.window_matrimonio_cover name: Persiana icon: window-shutter - entity: switch.enchufe_tv_matrimonio name: TV icon: television - entity: sensor.temperatura_matrimonio_calibrada name: Temperatura icon: thermometer key: matrimonio - type: cardEntities title: Comedor entities: - entity: light.luz_sofa name: Sofa icon: floor-lamp - entity: light.luz_comedor_centro name: Centro icon: lightbulb-group-outline - entity: light.luz_comedor_mesa name: Mesa icon: lightbulb-group-outline - entity: sensor.temperatura_comedor_calibrada name: Temperatura icon: thermometer key: comedor
El resultado final seria este
Ya que la pantalla dispone de dos teclas , las usaremos para darle funcionalidad dentro de nuestra domótica
Lo primero es crear los dos switchs mqtt que nos permitirán crear las automatizaciones posteriormente
#MSPanel - platform: mqtt name: nspanel_salida_1 state_topic: "stat/tasmota_0CBAFC/POWER1" command_topic: "cmnd/tasmota_0CBAFC/POWER1" availability_topic: "tele/tasmota_0CBAFC/LWT" payload_on: "ON" payload_off: "OFF" payload_available: "Online" payload_not_available: "Offline" retain: true qos: 0 - platform: mqtt name: nspanel_salida_2 state_topic: "stat/tasmota_0CBAFC/POWER2" command_topic: "cmnd/tasmota_0CBAFC/POWER2" availability_topic: "tele/tasmota_0CBAFC/LWT" payload_on: "ON" payload_off: "OFF" payload_available: "Online" payload_not_available: "Offline" retain: true qos: 0
Los vestimos adecuadamente en nuestro customize.yaml
switch.nspanel_salida_1: friendly_name: Panel tecla 1 icon: mdi:toggle-switch switch.nspanel_salida_2: friendly_name: Panel tecla 2 icon: mdi:toggle-switch
Y creamos las automatizaciones para darles uso , yo en este caso he usado la tecla izquierda para controlar la luz del sofá y la derecha para controla la luz de la cocina , además de encender y apagar hay que poner el estado de las teclas según este el la luz al arrancar el sistema o al cambiar de estado por cualquiera de los otros elementos que controlan dichas luces , quedaría algo similar a esto
############################## ##### TECLAS NSPANEL ##### ############################## - alias: NSPanel 1 Tecla 1 ON initial_state: 'on' trigger: platform: state entity_id: switch.nspanel_salida_1 to: 'on' action: service: light.turn_on entity_id: light.luz_sofa - alias: NSPanel 1 Tecla 1 OFF initial_state: 'on' trigger: platform: state entity_id: switch.nspanel_salida_1 to: 'off' action: service: light.turn_off entity_id: light.luz_sofa - alias: NSPanel 1 Tecla 1 TO ON initial_state: 'on' trigger: platform: state entity_id: light.luz_sofa to: 'on' action: service: switch.turn_on entity_id: switch.nspanel_salida_1 - alias: NSPanel 1 Tecla 1 TO OFF initial_state: 'on' trigger: platform: state entity_id: light.luz_sofa to: 'off' action: service: switch.turn_off entity_id: switch.nspanel_salida_1 - alias: NSPanel 1 Tecla 2 ON initial_state: 'on' trigger: platform: state entity_id: switch.nspanel_salida_2 to: 'on' action: service: light.turn_on entity_id: light.luz_cocina - alias: NSPanel 1 Tecla 2 OFF initial_state: 'on' trigger: platform: state entity_id: switch.nspanel_salida_2 to: 'off' action: service: light.turn_off entity_id: light.luz_cocina - alias: NSPanel 1 Tecla 2 TO ON initial_state: 'on' trigger: platform: state entity_id: light.luz_cocina to: 'on' action: service: switch.turn_on entity_id: switch.nspanel_salida_2 - alias: NSPanel 1 Tecla 2 TO OFF initial_state: 'on' trigger: platform: state entity_id: light.luz_cocina to: 'off' action: service: switch.turn_off entity_id: switch.nspanel_salida_2
Y para rizar el rizo al final este primer NSPanel lo pondré como pantalla sin estar empotrado en la pared , para ello encontré este diseño para imprimir en3D que tiene una pinta espectacular , para empotrar en la pared pediré una segunda unidad del NSPanel estos días.
Este seria el resultado final , hay que alimentarlo con 5V directamente sobre el conector que lleva.
Y con esto y un bizcocho …………