Commentaires Article Intégrer Balances Xiaomi

Elle se coupe automatiquement après 5 minutes mais dès que tu remontes dessus ta pesé est bien reprise.

Ok je pense que c’est un problème avec l puce bluetooth du rpi j’avais déjà entendu parlé de ça.

En tout cas merci pour la proposition je testerais j’ai une V2

Combien d’utilisateurs peut on gérer ?

Je gère les utilisateurs avec une fourchette de poids.
Utilisateur 1 = entre 10 et 20
Utilisateur 2 = entre 30 et 40
Utilisateur 3 = entre 45 et 55
Utilisateur 4 = entre 56 et 65
Utilisateur 5 = entre 66 et 75

Après si deux utilisateurs sont dans la même fourchette ca ne fonctionne pas.

Exemple pour un utilisateur

- platform: template
  sensors:
    poids_aurelien:
      friendly_name: "Poids Aurélien"
      value_template: >-
        {% if states('sensor.xiaomi_mi_scale_weight') | float >= 69 and states('sensor.xiaomi_mi_scale_weight') | float <= 72.99 %}
          {{ states("sensor.xiaomi_mi_scale_weight") }}
        {% else %}
          {{ states("sensor.poids_aurelien") }}
        {% endif %}
      unit_of_measurement: 'kg'
      icon_template: mdi:weight-kilogram
- platform: template
  sensors:
    imc_aurelien:
        friendly_name: 'IMC Aurélien'
        value_template: >-
          {% set HEIGHT = (1.76)|float %}
          {% set WEIGHT = states('sensor.poids_aurelien')|float %}
          {{- (WEIGHT/(HEIGHT*HEIGHT))|float|round(1) -}}
        icon_template: >
          {{ 'mdi:human' }}
- platform: template
  sensors:
    # Indice de masse corporelle (IMC)	Interprétation (d'après l'OMS)
    imc_aurelien_interpretation:
      friendly_name: "Interprétation IMC Aurélien"
      value_template: >-
        {% if states("sensor.imc_aurelien") | float < 18.4 %}
          Insuffisance pondérale
        {% elif states("sensor.imc_aurelien") | float >= 18.5 and states("sensor.imc_aurelien") | float <= 25 %}  
          Corpulence normale
        {% elif states("sensor.imc_aurelien") | float >= 25.1 and states("sensor.imc_aurelien") | float <= 30 %}
          Surpoids
        {% elif states("sensor.imc_aurelien") | float >= 30.1 and states("sensor.imc_aurelien") | float <= 35 %}  
          Obésité modérée
        {% elif states("sensor.imc_aurelien") | float >= 35.1 and states("sensor.imc_aurelien") | float <= 40 %}  
          Obésité sévère
        {% else %}  
          Obésité morbide
        {% endif %}````

Cool ça va faire plaisir a @Clemalex

Non, car tu peux pas l’utiliser si tu pèses pareil que ton/ta compagnon/compagne…

C’est sûr que c’est mieux que rien, mais bon. pour palier à ce problème, je serais obligé de rajouter une interaction opérateur (bouton/cube/voix) pour signaler qui se pèse (avant la pesée)

Salut ben j’ai essayé, il me dit platform no found sensor.xiaomi_miscale2

Une idée, voici le code sensor.

sensor:
# Qualité du signal
  - platform: wifi_signal
    name: "Signal Wifi"
    update_interval: 60s
# Temps de fonctionnement
  - platform: uptime
    name: "Allumé depuis (s)"
    id: uptime_sec
  - platform: xiaomi_miscale2
    mac_address: '0C:95:41:AC:AF:B8'
    weight:
      name: "Xiaomi Mi Scale Weight"
    impedance:
      name: "Xiaomi Mi Scale Impedance"

Tu as bien installer Esphome dev avec dans configuration esphome_version: 'dckiller51:dckiller51'

Ah ba non, je débute sur esphome jebte contact en MP

Il me met ca maintenant lorsque je valide ma config.

INFO Reading configuration /config/esphome/Passerelle Multi 1.yaml...
Failed config

sensor.xiaomi_miscale2: [source /config/esphome/Passerelle Multi 1.yaml:40]
  
  Component sensor.xiaomi_miscale2 requires component esp32_ble_tracker.
  platform: xiaomi_miscale2
  mac_address: 0C:95:41:AC:AF:B8
  weight: 
    name: Xiaomi Mi Scale Weight
  impedance: 
    name: Xiaomi Mi Scale Impedance
esphome:
  name: ble_gateway_salon
  platform: ESP32
  board: nodemcu-32s

wifi:
  ssid: !secret ssid
  password: !secret wpa2
  fast_connect: true

# Enable the captive portal for inital WiFi setup
captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

# Enable OTA upgrade
ota:

esp32_ble_tracker:

sensor:
  - platform: xiaomi_miscale2
    mac_address: 'C8:47:8C:9F:7B:0A'
    weight:
      name: "Xiaomi Mi Scale Weight"
      accuracy_decimals: 2
    impedance: 
      name: "Xiaomi Mi Scale Impedance"

Lol j’ai oublié le esp32 blé tracker lol

Merci je pense que tu devrais ouvrir un tuto dans #diy:esphome

Bonjour,

Je n’ai plus les informations non plus juste le poids.

Voici la conf de mon sensor :

  ### Template pour l'affichage des attributs
  #### 1 par user
            #IMC
  - platform: mqtt
    name: "chris Poids"
    state_topic: "miscale/chris/weight"
    value_template: "{{ value_json['weight'] }}"
    unit_of_measurement: "kg"
    json_attributes_topic: "miscale/chris/weight"
    icon: mdi:scale-bathroom
        
  - platform: mqtt
    name: "chris BMI"
    state_topic: "miscale/chris/weight"
    value_template: "{{ value_json['bmi'] }}"
    icon: mdi:human-pregnant
    unit_of_measurement: "kg/m2"
  - platform: template
    sensors:
      chris_poids_imc:
        friendly_name: 'Mon IMC'
        value_template: "{{ state_attr('sensor.chris_poids', 'bmi') }}" #ici, on indique que la valeur de cette entité correspond à la valeur de l'attribut 'bmi' de l'entité 'sensor.mon_poids'
        attribute_templates:
          unit_of_measurement: "kg/m²"
          icon: 'mdi:human-pregnant'
                      
  #MB
  - platform: template
    sensors:
      chris_poids_mb:
        friendly_name: 'Mon Métabolisme de Base'
        value_template: "{{ state_attr('sensor.chris_poids', 'basal_metabolism') }}" #ici, on indique que la valeur de cette entité correspond à la valeur de l'attribut 'basal_metabolism' de l'entité 'sensor.mon_poids'
        attribute_templates:
          unit_of_measurement: "kcal/j"
          icon: 'mdi:food'
                      
  #graisse viscérale
  - platform: template
    sensors:
      chris_poids_gv:
        friendly_name: 'Ma Graisse Viscérale'
        value_template: "{{ state_attr('sensor.chris_poids', 'visceral_fat') }}" #ici, on indique que la valeur de cette entité correspond à la valeur de l'attribut 'visceral_fat' de l'entité 'sensor.mon_poids'
        attribute_templates:
          icon: 'mdi:water-percent'
            
  #date
  - platform: template
    sensors:
      chris_poids_date_locale: 
    # ici, on transforme la valeur de l'attribut 'timestamp' de l'entité 'sensor.user1_poids' afin de la rendre plus agréable à lire
    # '2020-10-17-11:00:11' devient '17/10/2020 11:00'
        friendly_name: 'Date locale'
        value_template: >-
          {% set annee =  state_attr('sensor.chris_poids', 'timestamp').split('-')[0] %}
          {% set mois =  state_attr('sensor.chris_poids', 'timestamp').split('-')[1] %}
          {% set jour =  state_attr('sensor.chris_poids', 'timestamp').split('-')[2] %}
          {% set heure =  state_attr('sensor.chris_poids', 'timestamp').split('-')[3] %}
          {% set date_formatee = annee + "-" + mois + "-" + jour + "T" + heure %}
          {{as_timestamp(date_formatee) | int | timestamp_custom('%d/%m/%Y %H:%M', true)}}
        attribute_templates:
          icon: 'mdi:calendar-clock'

La conf de l’addon :

HCI_DEV: hci1
MISCALE_MAC: '88:0f:10:9d:e6:ad'
MQTT_PREFIX: miscale
MQTT_HOST: 10.0.0.45
MQTT_USERNAME: chris
MQTT_PASSWORD: mqtt
MQTT_PORT: 1883
TIME_INTERVAL: 30
MQTT_DISCOVERY: true
MQTT_DISCOVERY_PREFIX: homeassistant
USER1_GT: 85
USER1_SEX: male
USER1_NAME: Chris
USER1_HEIGHT: 178
USER1_DOB: '1974-12-26'
USER2_LT: 70
USER2_SEX: female
USER2_NAME: Sara
USER2_HEIGHT: 170
USER2_DOB: '1990-05-29'
USER3_SEX: female
USER3_NAME: Mamie
USER3_HEIGHT: 150
USER3_DOB: '1951-08-07'

Le hci1 fonctionne bien j’ai mis 2 clé bluetooth, 1 pour mes lampes awox qui est en cours de développement en hc0

Et le code de la carte :

type: vertical-stack
cards:
  - type: entities
    entities:
      - entity: sensor.sara_poids_date_locale
        name: Dernière pesée
      - entity: sensor.chris_poids
        name: Poids
      - entity: sensor.chris_poids_imc
        name: IMC
      - entity: sensor.chris_poids_gv
        name: ' Graisse viscérale'
      - entity: sensor.chris_poids_mb
        name: Besoin calorique
    title: Poids de Chris
    show_header_toggle: false
    state_color: false
  - type: horizontal-stack
    cards:
      - type: sensor
        entity: sensor.chris_weight
        graph: line
        name: Poids
        hours_to_show: 720
      - type: sensor
        entity: sensor.chris_poids_imc
        graph: line
        name: IMC
        hours_to_show: 720

Une idée d’où viens le soucis?

On en avais parlé dans ce post donc je rebondis sur tes dires :

Comment as tu fais pour déterminer le numéro de hc<X> ?

Avec la commande hcitool dev

1 « J'aime »

J’ai pu corriger l’affichage avec ce sensor:

  - platform: mqtt
    name: "chris Poids"
    state_topic: "miscale/Chris/weight"
    value_template: "{{ value_json['weight'] }}"
    unit_of_measurement: "kg"
    json_attributes_topic: "miscale/chris/weight"
    icon: mdi:scale-bathroom

  - platform: mqtt
    name: "chris BMI"
    state_topic: "miscale/Chris/weight"
    value_template: "{{ value_json['bmi'] }}"
    icon: mdi:human-pregnant
    unit_of_measurement: "kg/m2"

  - platform: mqtt
    name: "chris Metabolism"
    state_topic: "miscale/Chris/weight"
    value_template: "{{ value_json['basal_metabolism'] }}"
    icon: mdi:food

  - platform: mqtt
    name: "chris Graisse"
    state_topic: "miscale/Chris/weight"
    value_template: "{{ value_json['visceral_fat'] }}"
    icon: mdi:water-percent

Toutes les infos nécessaires apparaissent dans le topic mqtt donc pas besoin de créer un template.

En revanche pour la date je n’ai pas encore testé mais elle apparait aussi dans le topic. Cependant il faut la formater correctement

Le sensor de la date :

  - platform: mqtt
    name: "chris Poids Date"
    state_topic: "miscale/Chris/weight"
    value_template: "{{ value_json['timestamp'] }}"
    icon: mdi:calendar-clock

et son affichage:

Capture

Avec le code suivant :

  - platform: mqtt
    name: "chris Poids Date"
    state_topic: "miscale/Chris/weight"
    value_template: "{{ value_json['timestamp'] }}"
    device_class: timestamp
    icon: mdi:calendar-clock

ça ressort la date de la pesée dans le format il y a x heures.
A defaut c’est un peu mieux

1 « J'aime »

Bonjour a tous,

Cela fait des heures que je recommence la procedure et que je cherche ce qui ne va pas sans succes malheureusement.

J’ai suivi ce tutoriel :
https://forum.hacf.fr/t/integrer-les-balances-xiaomi-dans-home-assistant/701

vous trouverez ici des screens de mes differentes interfaces.

Si quelqu’un a une petite idée sur ce qui ne va pas je suis prenneur.

Tout d’abord : bienvenue parmi nous :+1:

Ensuite,

Peux tu poster ta configuration ici ?

:information_source: Lorsque tu postes du code (flow, yaml, js, etc.), utilise les blocs codes :computer:

Pour cela, il te suffit de cliquer sur l’outil dédié et de coller ton code à l’endroit indiqué :

L’équipe HACF.

:hacf:

Ps :
Tu peux glisser déposer les images également.

Bonjour,
Merci, je decouvre petit à petit depuis quelques jours, j’espere pouvoir contribuer positivement avec le temps.
j’ai posté en doublon mon problème sur le github du créateur de l’add-on, avec le mode avion les données remontes finalement bien.

1 « J'aime »