Mon Problème
Bonjour,
J’utilise Home Assistant pour lire à distance les données de mon compteur électrique fonctionnant avec le protocole e-MUCS/DSMR. J’utilise un dongle P1 Wifi HomeWizard.
Il y a des données que je dois aller chercher dans IP/api/v1/data car non disponible dans l’intégration HomeWizard de HomeAssistant. Mon problème est l’affichage des valeurs.
Je ne parviens pas à afficher dès qu’il y a un calcul ou une carte non spécifique
La virgule décimale et le jour de la semaine.
J’ai transformé la pointe 1/4 horaire de W en kW avec une troncature à 2 décimales et la date de l’évènement.
J’ai chipoté pour afficher virgule comme séparateur décimal à la place d’un point et les jours de la semaine en français. De même pour transformer le timestamp pour tenir compte du fuseau horaire et être en conformité avec ce que le télégramme de l’API donnait comme info.
Est ce la bonne méthode ou bien il y a plus court pour afficher des virgules des jours de la semaine en français?
Ici j’ai fait des substitutions dans des chaines alpha…, les paramètres étant mis sur ‹ européen ›
J’ai un problème identique pour afficher les courants avec des résultats dont le nombre de digit varie en fonction de de la valeur, donc des problèmes pour aligner les unités
3,50 est affiché 3,5 et pas 3,50
Merci de l’aide
BG
Voici mon affichage de la pointe 1/4 horaire
2,29 kW
Samedi 17/8/2024 12h30
Affichage des courants
31.7.0 - 51.7.0 - 71.7.0
L1: 0,10 A
L2: 0,00 A
L3: 0,09 A
Le code de la carte
{% set Puissance_1_4h =states('sensor.p1_meter_peak_demand_current_month')%}
{% set Puissance_1_4h = (Puissance_1_4h|float)/1000 %}
{% set Puissance_1_4h =Puissance_1_4h|round(2)|replace('.',',')%}
{% set Date_Pointe_1_4h = states('sensor.p1_meter_custom_peak_demand_current_month_timestamp')%}
{%set Date_Pointe_1_4h= as_timestamp(Date_Pointe_1_4h,'**') | timestamp_local ('-1-')%}
{%set Date_Pointe_1_4h=as_timestamp(Date_Pointe_1_4h,'**') | timestamp_custom('%A %-d/%-m/%Y %-Hh%-M')%}
{%set Date_Pointe_1_4h=Date_Pointe_1_4h|regex_replace(find='Monday',replace='Lundi',ignorecase=true)%}
{%set Date_Pointe_1_4h=Date_Pointe_1_4h|regex_replace(find='Tuesday',replace='Mardi',ignorecase=true)%}
{%set Date_Pointe_1_4h=Date_Pointe_1_4h|regex_replace(find='Wednesday',replace='Mercredi',ignorecase=true)%}
{%set Date_Pointe_1_4h=Date_Pointe_1_4h|regex_replace(find='Thursday',replace='Jeudi',ignorecase=true)%}
{%set Date_Pointe_1_4h=Date_Pointe_1_4h|regex_replace(find='FRIDAY',replace='Vendredi',ignorecase=true)%}
{%set Date_Pointe_1_4h=Date_Pointe_1_4h|regex_replace(find='SATURDAY',replace='Samedi',ignorecase=true)%}
{%set Date_Pointe_1_4h=Date_Pointe_1_4h|regex_replace(find='SUNDAY',replace='Dimanche',ignorecase=true)%}
## {{Puissance_1_4h }} kW
### {{Date_Pointe_1_4h}}
La définition du capteur
sensor:
- platform: rest
resource: http://192.168.1.22/api/v1/data
name: P1 Meter Custom Peak Demand Current Month Timestamp
unique_id: p1_meter_custom_peak_demand_current_month_timestamp
value_template: >-
{{ strptime(value_json.montly_power_peak_timestamp | string, '%y%m%d%H%M%S' ) | as_local }}
device_class: timestamp
API/data/ avec l’info du timestamp de la pointe 1/4h
{"wifi_ssid":"Proximus-Home-59A0","wifi_strength":48,"smr_version":50,"meter_model":"Fluvius 253967035_D","unique_id":"3153414733323030303532313730","active_tariff":1,"total_power_import_kwh":124.778,"total_power_import_t1_kwh":66.326,"total_power_import_t2_kwh":58.452,"total_power_export_kwh":0.033,"total_power_export_t1_kwh":0,"total_power_export_t2_kwh":0.033,"active_power_w":24,"active_power_l1_w":20,"active_power_l2_w":0,"active_power_l3_w":3,"active_voltage_l1_v":235.8,"active_voltage_l2_v":0,"active_voltage_l3_v":237.4,"active_current_l1_a":0.1,"active_current_l2_a":0,"active_current_l3_a":0.08,"active_power_average_w":9,"montly_power_peak_w":2288,"montly_power_peak_timestamp":240817123000,"external":[]}
Affichage des courants
{% set I1=states('sensor.p1_meter_current_phase_1', with_unit=False)%}
{% set I2=states('sensor.p1_meter_current_phase_2', with_unit=False)%}
{% set I3=states('sensor.p1_meter_current_phase_3', with_unit=False)%}
{% set I1='{:.2f}'.format(I1|float())|replace('.',',')%}{% set I2='{:.2f}'.format(I2|float())|replace('.',',')%}{% set I3='{:.2f}'.format(I3|float())|replace('.',',')%}
31.7.0 - 51.7.0 - 71.7.0
---
### L1: {{I1}} A
### L2: {{I2}} A
### L3: {{I3}} A
---
Ma configuration
[center]## System Information
version | core-2024.8.2 |
---|---|
installation_type | Home Assistant OS |
dev | false |
hassio | true |
docker | true |
user | root |
virtualenv | false |
python_version | 3.12.4 |
os_name | Linux |
os_version | 6.6.33-haos |
arch | x86_64 |
timezone | Europe/Brussels |
config_dir | /config |
Home Assistant Community Store
GitHub API | ok |
---|---|
GitHub Content | ok |
GitHub Web | ok |
GitHub API Calls Remaining | 5000 |
Installed Version | 1.34.0 |
Stage | running |
Available Repositories | 1389 |
Downloaded Repositories | 2 |
HACS Data | ok |
Home Assistant Cloud
logged_in | false |
---|---|
can_reach_cert_server | ok |
can_reach_cloud_auth | ok |
can_reach_cloud | ok |
Home Assistant Supervisor
host_os | Home Assistant OS 12.4 |
---|---|
update_channel | stable |
supervisor_version | supervisor-2024.08.0 |
agent_version | 1.6.0 |
docker_version | 26.1.4 |
disk_total | 30.8 GB |
disk_used | 5.7 GB |
healthy | true |
supported | true |
host_connectivity | true |
supervisor_connectivity | true |
ntp_synchronized | true |
virtualization | oracle |
board | ova |
supervisor_api | ok |
version_api | ok |
installed_addons | File editor (5.8.0), Terminal & SSH (9.14.0) |
Dashboards
dashboards | 5 |
---|---|
resources | 0 |
views | 4 |
mode | storage |
Recorder
oldest_recorder_run | 13 août 2024 à 15:52 |
---|---|
current_recorder_run | 20 août 2024 à 10:25 |
estimated_db_size | 31.32 MiB |
database_engine | sqlite |
database_version | 3.45.3 |