[ CARTE ] Cartes diverses ( Livebox, NAS, RPI, BLE Proxy...)

@WarC0zes , je voudrais te demandé a quoi ca ser ce morceux de code

 - type: vertical-stack
    cards:
      - type: entities
        header:
          image: /local/images/ds214+logo2.png
          type: picture
        entities:
          - entity: sensor.diskstation_last_boot
            type: custom:multiple-entity-row
            name: IP
            icon: mdi:ip
            show_state: false
            entities:
              - entity: device_tracker.diskstation
                name: Interne
                attribute: ip
              - entity: binary_sensor.wan_status_2
                name: Externe
                attribute: wan_ipaddress
          - entity: sensor.diskstation_drive_1_status
            type: custom:multiple-entity-row
            name: Statut
            icon: mdi:web-clock
            show_state: false
            tap_action:
              action: fire-dom-event
              browser_mod:
                service: browser_mod.popup
                data:
                  browser_id: THIS
                  size: normal
                  title: HDD Statut
                  style: |-
                    --popup-border-radius: 10px;
                    --popup-border-width: 1px;
                    --popup-padding-x: 4px;
                    --popup-padding-y: 4px;                    
                  content:
                    type: entities
                    entities:
                      - entity: >-
                          binary_sensor.diskstation_drive_1_exceeded_max_bad_sectors
                        type: custom:multiple-entity-row
                        name: Max Bad Sector
                        icon: mdi:harddisk
                        show_state: false
                        entities:
                          - entity: >-
                              binary_sensor.diskstation_drive_1_exceeded_max_bad_sectors
                            name: HDD 1
                          - entity: >-
                              binary_sensor.diskstation_drive_1_exceeded_max_bad_sectors
                            name: HDD 2
                      - entity: >-
                          binary_sensor.diskstation_drive_1_below_min_remaining_life
                        type: custom:multiple-entity-row
                        name: Min Remaining Life
                        icon: mdi:harddisk
                        show_state: false
                        entities:
                          - entity: >-
                              binary_sensor.diskstation_drive_1_below_min_remaining_life
                            name: HDD 1
                          - entity: >-
                              binary_sensor.diskstation_drive_2_below_min_remaining_life
                            name: HDD 2
                      - entity: sensor.diskstation_drive_1_status
                        type: custom:multiple-entity-row
                        name: État
                        icon: mdi:harddisk
                        show_state: false
                        entities:
                          - entity: sensor.diskstation_drive_1_status
                            name: HDD 1
                          - entity: sensor.diskstation_drive_2_status
                            name: HDD 2
                      - entity: sensor.diskstation_drive_1_status_smart
                        type: custom:multiple-entity-row
                        name: État (Intelligent)
                        icon: mdi:harddisk
                        show_state: false
                        entities:
                          - entity: sensor.ds918_drive_1_etat_intelligent
                            name: HDD 1
                          - entity: sensor.ds918_drive_2_etat_intelligent
                            name: HDD 2
            entities:
              - entity: sensor.ds918_dernier_demarrage
                name: Uptime
                format: total
              - entity: sensor.ds918_volume_1_etat
                name: HDD
              - entity: binary_sensor.ds918_etat_de_securite
                name: Sécurity Statut

Salut, tu me fais mal a la tête de bon matin. Ta pas mis le code dans la balise texte préformaté :face_with_head_bandage:

La partie du code que tu montre correspond a la partie encadrer en rouge, et tu a une carte popup quand tu clique sur statut ( encadrer en rouge ). C’est carte popup affiche le statut des HDD.
code action,

carte popup:
carte popup hdd statut

1 « J'aime »

ok merci a toi @WarC0zes, ches mois quand je clique sur satut ca fonctionne pas comme toi, c’est pour ca que je te demandes , je dus passe sur un truc avec le mode Browsers pop, il etait pas activée lol


Voila ce que j’ai fais avec toute les question que j’ai posé, ca m’a permis d’apprendre et de suprimée ce que je voulé pas.

3 « J'aime »

Bonjour,
comment obtiens tu le rpi cooling fan ? à partir de quelle intégration svp?
merci

J’ai fais un tuto sur ce post Controle de la vitesse du ventilateur avec GPIO sur RPi4 - #3 par WarC0zes

Merci beaucoup. Bonne journée

@barto_95

peux tu nous donner le code de cette partie ? :
image

mettre plusieurs info sur une seule ligne m’intéresse.
merci par avance.

Avec cette carte GitHub - benct/lovelace-multiple-entity-row: Show multiple entity states and attributes on entity rows in Home Assistant's Lovelace UI

1 « J'aime »

Voici le code

      - type: custom:fold-entity-row
        head:
          entity: sensor.nas_1621_volume_1_status
          name: Volume 1
          type: custom:multiple-entity-row
          show_state: false
          entities:
            - entity: sensor.nas_1621_volume_1_volume_used
              name: Utilisé
              format: precision2
              styles:
                color: var(--my-font01-color)
            - entity: sensor.nas_1621_volume_1_average_disk_temp
              name: Température
              format: precision2
              styles:
                color: var(--my-font02-color)
            - entity: sensor.nas_1621_volume_1_status
              name: Etat
              format: precision2
              styles:
                color: var(--my-font03-color)
        group_config: null
        secondary_info: last-changed
        padding: 5
        entities:
          - entity: sensor.nas_1621_drive_1_status
            type: custom:multiple-entity-row
            entities:
              - entity: sensor.nas_1621_drive_1_temperature
                name: false
          - entity: sensor.nas_1621_drive_2_status
            type: custom:multiple-entity-row
            entities:
              - entity: sensor.nas_1621_drive_2_temperature
                name: false
          - entity: sensor.nas_1621_drive_3_status
            type: custom:multiple-entity-row
            entities:
              - entity: sensor.nas_1621_drive_3_temperature
                name: false
          - entity: sensor.nas_1621_drive_4_status
            type: custom:multiple-entity-row
            entities:
              - entity: sensor.nas_1621_drive_4_temperature
                name: false
          - entity: sensor.nas_1621_drive_5_status
            type: custom:multiple-entity-row
            entities:
              - entity: sensor.nas_1621_drive_5_temperature
                name: false
          - entity: sensor.nas_1621_drive_6_status
            type: custom:multiple-entity-row
            entities:
              - entity: sensor.nas_1621_drive_6_temperature
                name: false

Pas mal du tout ta carte HA @barto_95 :clap: :heart:

1 « J'aime »

merci @barto_95
voici la mienne avec l’ajout des volumes

2 « J'aime »

Je fournirais le code complet des deux card si vous le souhaitez

2 « J'aime »

effectivement, toujours intéressant d’avoir des bout des code, pour le certif par exemple.
merci :slight_smile:

Ca serait toujours intéressant de voir ce que tu as fait oui @barto_95 afin de nous donner tout pleins d’idée :wink:

Bonjour a tous,
petite modification sur la carte RPI. J’y est pas fait attention, mais le mot 2 days ago est manger sur la carte POWER. C’est juste dans la partie card_mod, qui il y a une modification. Le post principal est corriger aussi pour les nouveaux.

avant:

    card_mod:
      style: |
        :host {
          font-size: 15px;
          height: 114px;
        }
        ha-card {
          top: -17px;
          margin-left: -7px;
          background: none;
        }

après:

    card_mod:
      style: |
        :host {
          font-size: 15px;
        }
        ha-card {
          top: -17px;
          margin-left: -7px;
          margin-bottom: -25px;
          background: none;
        }

code de la carte RPi4 Power:

  - type: custom:uptime-card
    entity: binary_sensor.rpi_power_status
    title_template: RPi4 Power
    ok: 'off'
    ko: 'on'
    bar:
      amount: 48
      round: 1
      height: 29
    hours_to_show: 48
    init:
      animation: raise
    color:
      title: rgb(68, 115, 158)
      ko: rgb(250, 0, 1)
      ok: green
    title_adaptive_color: false
    icon_adaptive_color: true
    tooltip_adaptive_color: true
    status_adaptive_color: true
    show:
      header: true
      title: true
      timeline: true
      footer: true
      average: true
    tooltip:
      hour24: true
      animation: true
    alias:
      ok: OK
      ko: Danger
    tap_action:
      action: more-info
    alignment:
      icon_first: true
      status: left
      tooltip_first: true
      header: spaced
    card_mod:
      style: |
        :host {
          font-size: 15px;
        }
        ha-card {
          top: -17px;
          margin-left: -7px;
          margin-bottom: -25px;
          background: none;
        }

fix:

2 « J'aime »

Voici la card au complet


type: custom:vertical-stack-in-card
card_mod:
  style: |
    ha-card {
      margin-top: 0em;
        }         
mode: vertical
cards:
  - type: picture-entity
    entity: climate.thermostat_nest
    image: /local/img/home-assistant_image.png
    show_name: true
    show_state: false
    name: Serveur HASS
    state_image:
      Sécurisé: /local/img/radio/home-assistant_image.png
      'off': //local/img/radio/home-assistant_image.png
    tap_action:
      action: url
      confirmation:
        text: de vouloir accéder à Home Assistant
      url_path: https://ha.worldgeekwide.fr
    hold_action:
      action: none
  - type: entities
    entities:
      - entity: sensor.uptime
      - type: divider
        style:
          height: 1px
          width: 90%
          margin-left: auto
          margin-right: auto
          background: '#62717b'
  - type: entities
    card_mod:
      style:
        .: |
          #states {
            margin-top: -0.5em;
          }
          #states > div > button-card {
            margin: -0.5em 0 1.4em 1.05em;
          }
        '#states>div>hui-element>hui-markdown-card':
          $:
            ha-card>ha-markdown:
              $: |
                ha-markdown-element {
                  cursor: default;
                }
                ha-markdown-element>p>span {
                  font-family: Raleway;
                  font-size: 1.5em;
                  font-weight: 500;
                  vertical-align: 30%;
                }
                ha-markdown-element>p>span>ha-icon {
                  vertical-align: 10%;
                  opacity: 0.5;
                }
                ha-markdown-element>p>b {
                  font-family: Raleway;
                  font-size: 1.2em;
                  font-weight: 500;
                  line-height: 1.9em;
                  opacity: 0.5;
                }
                ha-markdown-element>ul {
                  font-family: SF Display;
                  font-size: 1.1em;
                  padding-left: 2.5em;
                }
                ha-markdown-element>ul>li {
                  margin-bottom: 0.4em;
                }
                ha-markdown-element>ul>li:last-child {
                  margin-bottom: 0px;
                }
    entities:
      - type: custom:hui-element
        card_type: markdown
        content: >
          {% if states('sensor.home_assistant_operating_system_version') |
          regex_search('b') %} <span><ha-icon
          icon="mdi:home-assistant"></ha-icon> Home Assistant {{
          states('sensor.home_assistant_operating_system_version') }}</span><br>
          {% if states('sensor.home_assistant_operating_system_version') ==
          states('sensor.sensor.home_assistant_operating_system_newest_version')
          %} <b>Aucune mise à jour</b> {% else %} <b>{{
          states('sensor.home_assistant_operating_system_newest_version') }}
          disponible</b> {{ '\U0001f389' }}

          {% if states('sensor.home_assistant_operating_system_newest_version')
          == states('sensor.sensor.home_assistant_operating_system_version') %}
          {{- state_attr('sensor.hass_release_notes_rc', 'body') }} {% endif %}
          {% endif %} {% else %} <span><ha-icon
          icon="mdi:home-assistant"></ha-icon> Home Assistant {{
          states('sensor.home_assistant_operating_system_version') }}</span><br>
          {% if states('sensor.home_assistant_operating_system_version') ==
          states('sensor.home_assistant_operating_system_newest_version') %}
          <b>Aucune mise à jour</b> {% else %} <b>{{
          states('sensor.home_assistant_operating_system_newest_version') }}
          disponible</b> {{ '\U0001f389' }}

          {% if states('sensor.home_assistant_operating_system_newest_version')
          == states('sensor.hass_release_notes') %} {{-
          state_attr('sensor.hass_release_notes', 'body') }} {% endif %} {%
          endif %} {% endif %}
      - type: custom:hui-element
        card_type: markdown
        content: >
          <span><ha-icon icon="hacs:hacs"></ha-icon> Community Store </span><br>
          {% if is_state('sensor.hacs', '0') or is_state('sensor.hacs',
          'unknown') %} <b>Aucune mise à jour</b> {% else %} <b>{{
          states('sensor.hacs') }} {{ 'mise à jour disponible' if
          is_state('sensor.hacs', '1') else 'mises à jour disponibles' }}</b> {{
          '\U0001f389' }}

          {% for repo in state_attr('sensor.hacs', 'repositories') %} * {{
          repo.display_name }} - Version {{ repo.available_version }} ([{{
          repo.installed_version }}](https://github.com/{{ repo.name
          }}/releases))

          {% endfor %} {% endif %}
      - type: divider
        style:
          height: 1px
          width: 90%
          margin-left: auto
          margin-right: auto
          background: '#62717b'
      - entity: sensor.disk_use_percent_config
      - entity: sensor.memory_free
      - type: divider
        style:
          height: 1px
          width: 90%
          margin-left: auto
          margin-right: auto
          background: '#62717b'
      - entity: sensor.cert_expiry_timestamp_ha_worldgeekwide_fr
        name: Certificat
        card_mod:
          style:
            hui-generic-entity-row:
              $: |
                /* Couleur de l'icône */ state-badge{
                  color: green;
                }
                /* Couleur de l'état */ .info {
                  color: green;
                  text-transform: uppercase;
                }
            .: |
              /* Couleur de l'état */ .text-content {
                color: green;
              }
  - type: divider
    style:
      height: 1px
      width: 90%
      margin-left: auto
      margin-right: auto
      background: '#62717b'
  - type: horizontal-stack
    cards:
      - type: horizontal-stack
        cards:
          - type: custom:mini-graph-card
            card_mod:
              style: |
                ha-card {
                  font-family: var(--primary-font-family);
                }
                .graph {
                  padding-top: 0px;
                  padding-bottom: 0px;
                }
                .info {
                  padding-bottom: 0px;
                }
                .flex {
                  padding-bottom: 10px;
                }
            entities:
              - sensor.glances_cpu_used
            name: CPU
            align_state: center
            align_icon: right
            font_size: 100
            font_size_header: 11
            hours_to_show: 24
            color_thresholds:
              - color: '#ef1d0f'
                value: 100
              - color: '#ef5a0f'
                value: 75
              - color: '#f0da11'
                value: 50
              - color: '#11f13a'
                value: 20
              - color: '#1da4f2'
                value: 0
            line_color: var(--accent-color)
            line_width: 4
            animate: true
            points_per_hour: 2
            show:
              fill: false
              graph: line
              extrema: true
              icon: true
              name: true
          - type: custom:mini-graph-card
            card_mod:
              style: |
                ha-card {
                  font-family: var(--primary-font-family);
                }
                .graph {
                  padding-top: 0px;
                  padding-bottom: 0px;
                }
                .info {
                  padding-bottom: 0px;
                }
                .flex {
                  padding-bottom: 10px;
                }
            entities:
              - sensor.glances_ram_used_percent
            name: RAM
            align_state: center
            align_icon: right
            font_size: 100
            font_size_header: 11
            hours_to_show: 24
            color_thresholds:
              - color: '#ef1d0f'
                value: 100
              - color: '#ef5a0f'
                value: 75
              - color: '#f0da11'
                value: 50
              - color: '#11f13a'
                value: 20
              - color: '#1da4f2'
                value: 0
            line_color: var(--accent-color)
            line_width: 4
            animate: true
            points_per_hour: 2
            show:
              fill: false
              graph: line
              extrema: true
              icon: true
              name: true

3 « J'aime »

Merci pour toutes ces ressources qui sont fortes utiles !

  • Sur la carte du Raspberry Pi, j’ai rajouter l’info de la fréquence du CPU
    il y a bien une intégration CPU Speed mais chez moi, il indique toujours 1700Ghz …
    Je récuperer l’info via ces 2 sensors :
    • command_line.yaml :
- sensor:
    name: "RPi CPU freq"
    unique_id: rpi_cpu_freq
    command: 'cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq'
    unit_of_measurement: 'MHz'
    value_template: '{{ value | multiply(0.001) }}'
  • sensor.yaml : ( pour lisser le fréquence car il passe souvent de 800 a 1700 )
- platform: filter
  name: RPI average Freq
  entity_id: sensor.rpi_cpu_freq
  filters:
    - filter: time_simple_moving_average
      window_size: "00:10"
      precision: 0
  • Sur la livebox :
    • malheureusement, le nombre de clients connectées (Filaire & Wifi) sont faux, je pense qu’il s’agit du nombre totale d’équipement qui se sont déjà connecter à la livebox. Mais ça on peut rien faire je pense
    • je trouvé la carte trop grande, je l’ai compacter de 3 lignes via :
      • uptime dans la ligne du dessus (‹ connection ›) ( Ok c’est pas tout a fait une connection mais bon)
      • J’ai regrouper sur une seul ligne, Clients Filaire, Client Wifi et Wifi Switch

J’ai remarquer pareille pour le nombre d’appareil, c’est bien le nombre de tout les appareils qui ont été connecter a la Livebox mais pas ceux en cours.

Pour connection c’est Link type et Link state, après le titre n’est peu être pas approprier mais ca me convenais.

Pour nettoyer et oublié les appareils connectés a la livebox, on peut passer par Livebox monitor : Weiterleitungshinweis

Tester et ça baisse bien le nombre dans l’intégration HA

1 « J'aime »