Bonjour,
J’ai rencontré le même problème suite à la mise à jour mais jusque là impossible d’avoir le retour de mes mesures.
Avant j’avais ça dans mon fichier sensor.yaml :
- platform: command_line
name: Tarif en cours
command: curl -s 'http://192.168.1.12/data.json' | jq '.tarif_courant'
scan_interval: 10
- platform: template
sensors:
legrand_hchp:
friendly_name: Tarif en cours
entity_id: sensor.tarif_en_cours
value_template: >
{% if is_state('sensor.tarif_en_cours', '2') %}
HP
{% else %}
HC
{% endif %}
- platform: command_line
name: EcoCompteur Consommation HC
command: curl -s 'http://192.168.1.12/data.json' | jq '.conso_hc |floor/1000'
scan_interval: 1800 #30min
unit_of_measurement: kWh
- platform: command_line
name: EcoCompteur Consommation HP
command: curl -s 'http://192.168.1.12/data.json' | jq '.conso_hp |floor/1000'
scan_interval: 1800 #30min
unit_of_measurement: kWh
- platform: command_line
name: EcoCompteur Abonnement
command: curl -s 'http://192.168.1.12/data.json' | jq '.isousc'
scan_interval: 43200 #12h
unit_of_measurement: A
- platform: command_line
name: EcoCompteur Total
command: curl -s 'http://192.168.1.12/inst.json' | jq '.data1'
scan_interval: 2
unit_of_measurement: W
- platform: command_line
name: EcoCompteur MachineLaver
command: curl -s 'http://192.168.1.12/inst.json' | jq '.data2'
scan_interval: 2
unit_of_measurement: W
- platform: command_line
name: EcoCompteur PAC
command: curl -s 'http://192.168.1.12/inst.json' | jq '.data3'
scan_interval: 2
unit_of_measurement: W
- platform: command_line
name: EcoCompteur data4
command: curl -s 'http://192.168.1.12/inst.json' | jq '.data4'
scan_interval: 2
unit_of_measurement: W
- platform: command_line
name: EcoCompteur data5
command: curl -s 'http://192.168.1.12/inst.json' | jq '.data5'
scan_interval: 2
unit_of_measurement: W
Suivi de ça même si je ne sais plus à quoi ça servait :
- platform: integration
source: sensor.ecocompteur_total
name: conso_total
unit_prefix: k
round: 2
- platform: integration
source: sensor.ecocompteur_pac
name: conso_pac
unit_prefix: k
round: 2
- platform: integration
source: sensor.ecocompteur_machinelaver
name: conso_machinelaver
unit_prefix: k
round: 2
- platform: integration
source: sensor.ecocompteur_data4
name: conso_baie
unit_prefix: k
round: 2
- platform: integration
source: sensor.ecocompteur_data5
name: prod_solaire
unit_prefix: k
round: 2
En me basant sur ton poste j’ai modifié mon code et intégré dans configuration.yaml
command_line:
- sensor:
name: "Tarif en cours"
command: curl -s 'http://192.168.x.x/data.json' | jq '.tarif_courant'
scan_interval: 10
- sensor:
name: "EcoCompteur Consommation HC"
command: curl -s 'http://192.168.x.x/data.json' | jq '.conso_hc |floor/1000'
scan_interval: 1800 #30min
unit_of_measurement: kWh
- sensor:
name: "EcoCompteur Consommation HP"
command: curl -s 'http://192.168.x.x/data.json' | jq '.conso_hp |floor/1000'
scan_interval: 1800 #30min
unit_of_measurement: kWh
- sensor:
name: "EcoCompteur Abonnement"
command: curl -s 'http://192.168.x.x/data.json' | jq '.isousc'
scan_interval: 43200 #12h
unit_of_measurement: A
- sensor:
name: "EcoCompteur Total"
command: curl -s 'http://192.168.x.x/inst.json' | jq '.data1'
scan_interval: 2
unit_of_measurement: W
- sensor:
name: "EcoCompteur MachineLaver"
command: curl -s 'http://192.168.x.x/inst.json' | jq '.data2'
scan_interval: 2
unit_of_measurement: W
- sensor:
name: "EcoCompteur PAC"
command: curl -s 'http://192.168.x.x/inst.json' | jq '.data3'
scan_interval: 2
unit_of_measurement: W
- sensor:
name: "EcoCompteur data4"
command: curl -s 'http://192.168.x.x/inst.json' | jq '.data4'
scan_interval: 2
unit_of_measurement: W
- sensor:
name: "EcoCompteur data5"
command: curl -s 'http://192.168.x.x/inst.json' | jq '.data5'
scan_interval: 2
unit_of_measurement: W
Mais mes sensors sont indiqués indisponibles, j’ai rajouté des unique_id pour chaque car j’ai lu ailleurs que ça pouvait aider mais rien.
J’ai essayer ensuite de mettre la partie commande_line dans un commande_line.yaml et rajouté command_line: !include command_line.yaml dans mon configuration.yaml mais toujours rien.
Voilà ce que ça me mets dans le journal. Et ça pour chacun des sensor :
Détails du journal (ERREUR)
Logger: homeassistant
Source: components/sensor/__init__.py:623
First occurred: 14:39:30 (3 occurrences)
Last logged: 14:39:30
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 616, in state
numerical_value = int(value)
^^^^^^^^^^
ValueError: invalid literal for int() with base 10: ''
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 619, in state
numerical_value = float(value)
^^^^^^^^^^^^
ValueError: could not convert string to float: ''
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 509, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 754, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1024, in add_to_platform_finish
await self.async_added_to_hass()
File "/usr/src/homeassistant/homeassistant/components/command_line/sensor.py", line 126, in async_added_to_hass
await self._update_entity_state(None)
File "/usr/src/homeassistant/homeassistant/components/command_line/sensor.py", line 150, in _update_entity_state
await self._async_update()
File "/usr/src/homeassistant/homeassistant/components/command_line/sensor.py", line 191, in _async_update
self._process_manual_data(value)
File "/usr/src/homeassistant/homeassistant/helpers/trigger_template_entity.py", line 238, in _process_manual_data
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 745, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 845, in _async_write_ha_state
state, attr = self._async_generate_attributes()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 786, in _async_generate_attributes
state = self._stringify_state(available)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 751, in _stringify_state
if (state := self.state) is None:
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 623, in state
raise ValueError(
ValueError: Sensor sensor.ecocompteur_pac has device class 'None', state class 'None' unit 'W' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: '' (<class 'str'>)
Vous auriez une idée ?