Bonjour,
Mon problème
Je possède un compteur électrique avec un port P1 et le protocole Emucs que je lis avec un dongle P1 homewizard Emucs est un complément au protocole DSMR.
Malheureusement tous les code OBIS ne se trouve pas dans l’intégration homeassistant, ni dans api/data qui est du JSON.
Je joint un extrait du telegram ce qui m’intéresse c’est l’historique des pointes quart horaire. C’est le code OBIS 0-0:98.1.0, la pointe 1/4h du mois courant est le code OBIS 1-0:1.6.0 Il y a jusqu’a 13 mesures enregistrée, j’en ai que 1+2 (3) puisque je n’ai que le compteur depuis deux mois plein.
Je commence à créer des sensor en YAML, j’ai plusieurs calculs à effectuer (max puissance, date du max, moyenne, moyenne avec un minima de valeur,
J’ai donc certain décodage que j’utilise plusieurs fois.
Par exemple le nombre de mois enregistré (3), voir la séquence ((date)(date)(puissance))*
- Y a t’il moyen d’utiliser la valeur d’un sensor dans value template: > d’un autre ?
- Y a t’il moyen de communaliser l’écriture l’appel à la platform , la ressource , définir les constantes regex une seule fois…
- Y at’il un traitement d’erreur à prévoir si le telegram n’est pas dispo, ,e contient pas le code OBIS décodé
Je débute avec YAML et home assistant.
Merci de l’aide
BG
1-0:1.6.0(240901103000S)(01.897*kW)
0-0:98.1.0(3)(1-0:1.6.0)(1-0:1.6.0)(231201000000W)(231101000000W)(00.000*kW)(240801000000S)(240728104500S)(03.163*kW)(240901000000S)(240827210000S)(02.660*kW)
1-0:1.7.0(00.023*kW)
- platform: rest
resource: http://192.168.1.22/api/v1/telegram#
method: GET
scan_interval: 5
# Capteur 1 : P1 Count Month
name: P1 Count Month
value_template: >
{%- set rgx_98_Cnt_1 = '0\-0\:98\.1\.0\([0-9]*\)' -%}
{%- set rgx_98_Cnt_2 = '\(\d+\)' -%}
{%- set rgx_98_Cnt_3 = '\d+' -%}
{%- set cnt_month = value
| regex_findall(rgx_98_Cnt_1)
| regex_findall(rgx_98_Cnt_2)
| regex_findall_index(rgx_98_Cnt_3,0) | int()
%}
{{ cnt_month }}
Ma configuration
System Information
version | core-2024.9.0 |
---|---|
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.46-haos |
arch | x86_64 |
timezone | Europe/Brussels |
config_dir | /config |
Home Assistant Community Store
GitHub API | ok |
---|---|
GitHub Content | ok |
GitHub Web | ok |
HACS Data | ok |
GitHub API Calls Remaining | 5000 |
Installed Version | 2.0.1 |
Stage | running |
Available Repositories | 1392 |
Downloaded Repositories | 2 |
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 13.1 |
---|---|
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 | 6.0 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 | 26 août 2024 à 20:31 |
---|---|
current_recorder_run | 5 septembre 2024 à 19:42 |
estimated_db_size | 44.48 MiB |
database_engine | sqlite |
database_version | 3.45.3 |