Suite à la migration sur Home Assistant 2023.8.3, les « Sensors » créés par l’intégration Modbus ne fonctionnement plus.
Les « Switches » et « Covers » fonctionnent toujours parfaitement.
configuration.yaml:
# Home Manager through Modbus
modbus:
- name: HomeManager
type: serial
port: /dev/ttyUSB0
baudrate: 19200
bytesize: 8
parity: E
stopbits: 1
method: rtu
delay: 5
close_comm_on_error: false
retry_on_empty: true
retries: 5
sensors:
- name: ZcTemp
unique_id: ZcTemp_01_16
slave: 1
address: 0x4600
count: 16
scan_interval: 30
data_type: custom
structure: ">16h"
- name: ZcDI
unique_id: ZcDI_01_16
slave: 1
address: 0x9000
count: 16
scan_interval: 5
data_type: custom
structure: ">16h"
J’ai ce message d’erreur lorsque je vérifie la configuration:
J’ai tenté sans succès de déplacer les « sensors » dans la section « sensor » du fichier configuration.yaml:
sensor:
- platform: modbus
registers:
- name: ZcTemp
unique_id: ZcTemp_01_16
slave: 1
address: 0x4600
count: 16
scan_interval: 30
data_type: custom
structure: ">16h"
- name: ZcDI
unique_id: ZcDI_01_16
slave: 1
address: 0x9000
count: 16
scan_interval: 5
data_type: custom
structure: ">16h"
Salut,
As-tu regardé le changelog de la version 2023.8.3 ?
papoo
Août 20, 2023, 6:20
3
pour ma part ça fonctionne bien avec la version 2023.8.3
avec cette config
modbus: # https://www.home-assistant.io/integrations/modbus/
# https://www.home-assistant.io/integrations/sensor.modbus/
- name: schneider
type: tcp
host: !secret schneider_host
port: 502
sensors: # https://www.home-assistant.io/integrations/modbus#configuring-platform-sensor
- name: Compteur Lave Linge
unique_id: compteur_lave_linge
unit_of_measurement: kWh
slave: 152
address: 3203
input_type: holding
data_type: int64
scale: 0.001
precision: 3
- name: "Compteur Sèche Linge"
unit_of_measurement: kWh
slave: 153
address: 3203
input_type: holding
data_type: int64
scale: 0.001
precision: 3
Bonjour
Meme probleme pour moi.
Cela semble venir du fait de lire plusieurs registres sur une seul lecture (avec count: XX)
Mais je n’ai pas compris le principe avec slave_count et count. Pour ma part, je lisais plusieurs registres en une foi et je splitais la réponse dans un template sensor pour eviter les surcharges de lecture de registre mais cela ne fonctionne plus.
Si vous avez des pistes, je suis preneur
Le problème a été remonté sous Github:
opened 01:32AM - 20 Aug 23 UTC
closed 06:00AM - 20 Aug 23 UTC
integration: modbus
### The problem
``The Update of 2023.8.3 broke my modbus configuration which I'… ve used to Connect to a Siemens LOGO.
The config was working until the Update, No issues where detected.
Now, the system can't load the configuration anymore.
```
Logger: homeassistant.config
Source: config.py:878
First occurred: 19. August 2023 um 18:48:07 (1 occurrences)
Last logged: 19. August 2023 um 18:48:07
Invalid config for [modbus]: Error in sensor Luftfeuchtigkeit (t1) swap(word) not possible due to the registers count: 1, needed: 2 @ data['modbus'][0]['sensors'][1]. Got {'name': 'Luftfeuchtigkeit (t1)', 'unique_id': 't1_am1', 'address': 528, 'input_type': 'holding', 'unit_of_measurement': '%', 'device_class': 'humidity', 'state_class': 'measurement', 'scan_interval': 30, 'swap': 'word', 'scale': 0.1, 'precision': 1} Error in sensor Sonnenaufgang (t1) swap(word) not possible due to the registers count: 1, needed: 2 @ data['modbus'][0]['sensors'][2]. Got {'name': 'Sonnenaufgang (t1)', 'unique_id': 't1_sunrise', 'address': 1, 'input_type': 'holding', 'scan_interval': 10, 'swap': 'word'} Error in sensor Sonnenuntergang (t1) swap(word) not possible due to the registers count: 1, needed: 2 @ data['modbus'][0]['sensors'][3]. Got {'name': 'Sonnenuntergang (t1)', 'unique_id': 't1_sunset', 'address': 2, 'input_type': 'holding', 'scan_interval': 10, 'swap': 'word'} Error in sensor Temperatur (t1) swap(word) not possible due to the registers count: 1, needed: 2 @ data['modbus'][0]['sensors'][0]. Got {'name': 'Temperatur (t1)', 'unique_id': 't1_am2', 'address': 529, 'input_type': 'holding', 'unit_of_measurement': '°C', 'device_class': 'temperature', 'state_class': 'measurement', 'scan_interval': 30, 'swap': 'word', 'scale': 0.1, 'precision': 1}. (See /config/configuration.yaml, line 53). Please check the docs at https://www.home-assistant.io/integrations/modbus
```
### What version of Home Assistant Core has the issue?
2023.8.3
### What was the last working version of Home Assistant Core?
_No response_
### What type of installation are you running?
Home Assistant OS
### Integration causing the issue
Morbus
### Link to integration documentation on our website
_No response_
### Diagnostics information
_No response_
### Example YAML snippet
_No response_
### Anything in the logs that might be useful for us?
_No response_
### Additional information
_No response_
Ce sera corrigé dans la prochaine version 2023.8.4
Solution:
revenir à la version 2023.8.2
passer à la version « dev »
Je suis revenu à la version 2023.8.2
System Information
version
core-2023.8.2
installation_type
Home Assistant OS
dev
false
hassio
true
docker
true
user
root
virtualenv
false
python_version
3.11.4
os_name
Linux
os_version
6.1.21-v8
arch
aarch64
timezone
Europe/Paris
config_dir
/config
Home Assistant Community Store
GitHub API
ok
GitHub Content
ok
GitHub Web
ok
GitHub API Calls Remaining
4726
Installed Version
1.32.1
Stage
running
Available Repositories
1284
Downloaded Repositories
42
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 10.5
update_channel
beta
supervisor_version
supervisor-2023.08.1
agent_version
1.5.1
docker_version
23.0.6
disk_total
457.7 GB
disk_used
13.9 GB
healthy
true
supported
true
board
rpi4-64
supervisor_api
ok
version_api
ok
installed_addons
File editor (5.6.0), Samba share (10.0.2), Advanced SSH & Web Terminal (15.0.7), Tailscale (0.11.1), ESPHome (2023.8.2), Mosquitto broker (6.2.1), Samba Backup (5.2.0), Terminal & SSH (9.7.1), MyElectricalData (0.9.0), Gazpar2mqtt (0.8.2-5), Duck DNS (1.15.0), SQLite Web (3.9.2)
Dashboards
dashboards
2
resources
23
views
15
mode
storage
Recorder
oldest_recorder_run
12 août 2023 à 20:51
current_recorder_run
22 août 2023 à 09:06
estimated_db_size
847.90 MiB
database_engine
sqlite
database_version
3.41.2
Mais, le problème persiste:
Mon fichier configuration.yaml:
modbus:
- name: HomeManager
type: serial
port: /dev/ttyUSB0
baudrate: 19200
bytesize: 8
parity: E
stopbits: 1
method: rtu
delay: 5
close_comm_on_error: false
retry_on_empty: true
retries: 5
sensors:
- name: ZcTemp
unique_id: ZcTemp_01_16
slave: 1
address: 0x4600
count: 16
scan_interval: 30
data_type: custom
structure: ">16h"
- name: ZcDI
unique_id: ZcDI_01_16
slave: 1
address: 0x9000
count: 16
scan_interval: 5
data_type: custom
structure: ">16h"