antibill51 / rika-firenet-custom-component

Gestion d'un poêle RIKA équipé d'un Firenet
MIT License
11 stars 3 forks source link

Installation Lovelace #4

Closed samyHA56 closed 7 months ago

samyHA56 commented 8 months ago

@antibill51 J'ai une question, je souhaite installer le Lovelace dans mon HA j'ai copié le dossier "Packages" et les fichiers "automations.yaml" , "lovelace.yaml" dans le dossier config de mon Home assistant mais je ne suis pas sur que c'est la bonne méthode car je ne retrouve pas le lovelace dans le menu de mon tableau de bord Mon poêle est un Rika Induo Peux tu m'aider ? Merci capture

antibill51 commented 8 months ago

@samyHA56 Salut, désolé, je n'ai pas pris le temps de te répondre plus tôt. Ce n'est pas aussi simple. que ce que tu as fait malheureusement. Dans un premier temps, on va voir sans l'usine a gaz de ma régulation PID, a voir si cela t'intéresse?

Tout d'abord, as tu paramétré un dossier packages dans ton configuration.yaml ?

homeassistant:
  packages: !include_dir_named packages

Une fois fait, tu peux créer ce dossier "packages" dans ton dossier config. Tous les fichiers .yaml que tu insèreras dans ce dossier seront pris en charge par HA après un simple redémarrage.

Dans ce dossier, tu peux créer un fichier rika.yaml contenant :

sensor:
  - platform: template
    sensors:
      stove_activity:
        friendly_name: Stove activity
        value_template: >
          {% if states.sensor.salon_stove_burning.state == 'True' %}
            {{states.number.salon_heating_power.state}}
          {%else %}
            {{0}}
          {% endif %}
        unit_of_measurement: "%"

salon étant le nom de mon poêle, a remplacer en fonction de ta config. Sinon, tu peux juste ajouter ça dans un fichier existant dans la partie sensors:

Ce code permet d'avoir un affichage de la puissance du poêle sur lovelace, mais d'avoir 0% si le poêle est éteint.

Ensuite, sur lovelace, ajoutes une carte, choisi en une au hasard, affiche l'éditeur de code, et remplace le code entier par :

type: custom:config-template-card
variables:
  IMG: states['climate.salon'].attributes.entity_picture
  POWER: |
    { (states['number.salon_heating_power'].state)*1 }
  STEP: states['number.salon_heating_power'].attributes.step
entities:
  - climate.salon
  - number.salon_heating_power
card:
  type: custom:stack-in-card
  cards:
    - type: picture-elements
      image: https://upload.wikimedia.org/wikipedia/commons/5/59/Empty.png
      elements:
        - type: image
          entity: climate.salon
          image: ${IMG}
          filter: none
          style:
            top: 42%
            left: 50%
            width: 30%
        - type: state-label
          entity: sensor.salon_stove_status
          tap_action: none
          hold_action: none
          style:
            top: 17%
            left: 50%
            font-size: 15px
        - type: state-label
          entity: climate.salon
          attribute: friendly_name
          tap_action: none
          hold_action: none
          style:
            top: 08%
            left: 17%
            font-size: 18px
        - type: state-label
          entity: sensor.stove_activity
          prefix: 'Puissance de chauffe : '
          tap_action: none
          hold_action: none
          style:
            top: 97%
            left: 50%
            font-size: 15px
            color: red
        - type: state-label
          entity: sensor.salon_pellets_before_service
          prefix: 'Service : '
          tap_action: none
          hold_action: none
          style:
            top: 97%
            left: 90%
            font-size: 11px

        - type: state-label
          entity: climate.salon
          attribute: current_temperature
          suffix: °C
          tap_action: none
          hold_action: none
          style:
            color: '#3498db'
            top: 88%
            left: 50%
            font-size: 27px
        - type: state-label
          entity: number.salon_heating_power
          tap_action: none
          hold_action: none
          style:
            top: 42%
            left: 85%
            font-size: 35px
            color: orange
        - type: icon
          icon: mdi:chevron-up
          title: ${POWER+STEP}
          tap_action:
            action: call-service
            service: number.set_value
            service_data:
              entity_id: number.salon_heating_power
              value: ${POWER+STEP}
          hold_action: none
          style:
            top: 20%
            left: 79%
            transform: scale(1,1)
        - type: icon
          icon: mdi:chevron-down
          title: ${POWER-STEP}
          tap_action:
            action: call-service
            service: number.set_value
            service_data:
              entity_id: number.salon_heating_power
              value: ${POWER-STEP}
          hold_action: none
          style:
            top: 54%
            left: 79%
            transform: scale(1,1)
    - type: custom:simple-thermostat
      style: |
        ha-card {
          --st-spacing: 1.5px;
        }
      entity: climate.salon
      show_header: true
      decimals: '1'
      unit: °c
      step_size: '0.5'
      setpoints: false
      header: false
      control: true
      hide:
        state: true
        temperature: true
      layout:
        mode:
          names: true
          icons: false
          headings: false
      control:control:
        - hvac
        - preset
      step_layout: column
    - type: entities
      entities:
        - entity: switch.salon_eco_mode

Ici aussi, tu remplaces "salon" par le nom de ton poêle. Ca ne te donneras pas la même interface que sur la capture, mais une interface pour le mode manuel du poele, avec réglage de la puissance. J'ai également supprimé toute la partie convection fan que tu n'as pas sur ton poêle.

Ce sera déjà un bon début pour toi, pour comprendre comment cela fonctionne, et tu pourras comparer avec les fichiers présents sur ici pour le modifier en fonction du mode que tu utilises.

Le fichier automations.yaml sert uniquement a la gestion de mes canalisations d'air, de la régulation PID, et du niveau de pellet approximatif dans le réservoir, nécessitant l'utilisation de GSG. Ne t'en soucie pas pour le moment.

Il te faudra, si ce n'est pas déjà fait, installer HACS et les modules suivant : simple-thermostat stack-in-card config-template-card

Je penses ne rien avoir oublié, n'hésite pas a revenir vers moi si besoin. Bonnes fêtes de fin d'année.

samyHA56 commented 8 months ago

@antibill51, Bonsoir, tout d'abord merci de ton aide et de ce tuto très détaillé. je suis bloqué au niveau du lovelace, comme tu me l'as demandé j'ai créé une carte type calendar "carte sam"

          dy='.3em'%3Em%3C/text%3E%3C/g%3E%3C/svg%3E
  - initial_view: dayGridMonth
    type: calendar
    entities: []
    title: carte sam

et ensuite remplacer le code de la carte. Mais à l'enregistrement de la nouvelle configuration du fichier, j'obtiens le message d'erreur suivant:

Impossible d'analyser le YAML : YAMLException: bad indentation of a mapping entry (316:3) 313 | - type: entities 314 | entities: 315 | - entity: switch.salon_ec ... 316 | - title: 'Home2 ' ---------^ 317 | path: home2 318 | badges: []

ci joint le fichier complet modifié, peut être trouveras tu l'erreur. nvelle conf Lovelace.txt

J'ai réussi à installer simple-thermostat à travers HACS par contre impossible d'ajouter des dépôts personnalisés pour installer stack-in-card et config-template-card apparemment ils sont dans le store mais impossible de les trouver "Repository 'iantrich/config-template-card' exists in the store."

En attendant je te souhaite également de très bonnes fêtes de fin d'année.

samyHA56 commented 8 months ago

@antibill51, j'ai progressé. J'ai réussi à installer la carte ainsi que stack-in-card et config-template-card. Mauvaise manipulation de ma part. Par contre j'ai une erreur maintenant avec simple Thermostat

image

samyHA56 commented 8 months ago

@antibill51, Bonjour tout fonctionne. Je n'avais pas installé le bon dépôt simple thermostat.

image L'interface graphique est vraiment jolie par contre j'ai remarqué qu'il n'y a pas d'image lors du mode contrôle présence bois possible de la rajouter si elle n'existe pas ?

image

Encore merci et bonnes fêtes de fin d'année

antibill51 commented 8 months ago

@samyHA56 Content que tu t'en sois sorti, Je viens de voir qu'il y avait un soucis d'URL pour certaines images, je viens de corriger. Fais la mise a jour et confirme moi si tout est OK.

samyHA56 commented 8 months ago

@antibill51 Ca marche, j'ai récupéré l'image du "contrôle de la présence bois" J'ai remarqué que le texte déborde de l'image du poêle, crois tu qu'il est possible de faire un retour à la ligne facilement ? image

Nota : en analysant le code, j'ai réussi à customiser un peu l'affichage

antibill51 commented 8 months ago

A ma connaissance, le retour à la ligne n'est pas géré. Par contre, je peux modifier le message affiché avec des abréviations. Tu peux faire des essais en modifiant le fichier custom_components\rika_firenet\translations\fr.json et me faire un retour de ce qui te parait correct? (Ce sera appliqué après un redémarrage)

Ou bien modifier la taille du texte de 15px à plus petit?


                style:
                  top: 17%
                  left: 50%
                  font-size: 15px
antibill51 commented 8 months ago

@samyHA56 , as tu vu mon précédent message?

samyHA56 commented 7 months ago

@antibill51 Désolé de ne pas t'avoir répondu avant. Je suis toujours en cours de tests mais je ne suis pas satisfait des résultats. Même si je tronque et diminue la taille de la police, le message déborde. En cherchant sur le net, j'ai essayé le retour à la ligne avec le \n. dans "Cont\n présence bois". Home assistant l'interprète bien car à l'affichage du message, je ne retrouve pas le \n dans la phrase mais pour autant il n'applique pas le retour à la ligne. Pas simple.

image

samyHA56 commented 7 months ago

@antibill51 j'ai remarqué que le message "split_log_stop_refuel" n'apparait pas le fichier de traduction fr.json "split_log_stop_refuel": "Ne pas réalimenter", Je l'ai rajouté manuellement, est il possible de l'intégrer officiellement

antibill51 commented 7 months ago

@samyHA56

Tu peux peut être tout simplement modifier l'affichage en réduisant la taille de l'image, statut tout en haut, et descendre légèrement les 2 lignes du bas ? image

Pour la traduction manquante, merci de me l'avoir signalé. Je n'ai pas (malheureusement) de poêle mixte, et a l'époque je n'avais pas pris la peine de rechercher la signification de l'ensemble des statuts. Je m'en occupe rapidement.