MQTT et Json intégrer un capteur non prid en charge par défaut

Bonjour à tous,
je reviens après un certain temps de découverte de HA, tout se passe pas si mal,
j’ai décider malgré tout de garder un pied sous jeedom, et un autre avec HA,
pour différente raisons, mais MQTT en ai une, et met permets d’avoir le meilleur des 2 mondes,
cela dit malgré ma volonté de passer entièrement sous HA, cela me prend trop de temps,
a décoder les erreurs de yaml, et c’est pourqioi je reviens vers vous,
j’ai un installer un petit hack me permettant la remontée d’informations de mets panneaux solaires,
qui remonte sous MQTT, mais je n’arrive pas à en faire quelques chose. voici les lignes que je recuperes
sous le topic: //homeassistant/APSystem

{"inv_serial":"801000009668","acv":234.8,"freq":50.0,"temp":3.6,"ch0":[37.6,0.0,0.3,106.21],"ch1":[37.5,0.0,0.3,106.48],"ch2":[37.6,0.1,4.3,146.01],"ch3":[37.4,0.1,4.0,139.07],"totals":[9.0,497.77]}
{"inv_serial":"801000010711","acv":234.6,"freq":50.0,"temp":6.6,"ch0":[31.3,0.1,2.9,138.19],"ch1":[31.5,0.1,3.5,138.69],"ch2":[32.0,0.2,5.8,155.10],"ch3":[14.2,0.1,0.0,0.00],"totals":[12.2,431.96]}

j’ai donc 2 remontée d’appareils différents le 801000009668 et le 801000010711
qui correspond à :

{"inv_serial":"numero_inverter","acv":226.2,"freq":50.0,"temp":temperature,"ch0":[dc-volt,dc-current,power,energy],"ch1":[37.0,3.0,123.5,178.44], totals[power, energy]}

j’ai donc mis dans mon fichier mqtt.yml:

sensor:
  - name: "PV Façade"
    unique_id: "801000010711"
    state_topic: "homeasssitant/APSystem"
    value_template: "{{ value_json.801000010711 }}"
    qos: 1
    json_attributes_template: "{{ value_json.freq | tojson }}"
  - name: "PV Jardin"
    unique_id: "801000009668"
    state_topic: "homeasssitant/APSystem"
    json_attributes_topic: "homeasssitant/APSystem"
    json_attributes_template: >
    "{ set value_json =  {{value_json.inv_serial}}
    {{value_json.acv}}
    {{value_json.freq}}
    {{value_json.temp}}
    {{value_json.ch0}}
    {{value_json.ch1}}
    {{value_json.ch2}}
    {{value_json.ch3}}
    {{value_json.totals}}
    }

Mais cela me fais toujours des erreurs lors de la validation.
le nombre d’informations à interpréter n’aide pas !.
auriez vous un début de piste, afin déjà de différencier les 2 appareils, puis interpréter les autres valeurs.
Merci d’avance

Hello

sans nous dire exactement les erreurs que tu as dans le journal de HA , on peux deviné d’ou vient le souci …

Poste les messages d’erreur que tu as !

Error loading /config/configuration.yaml: while scanning a simple key
in « /config/mqtt.yaml », line 15, column 5
could not find expected ‹ : ›
in « /config/mqtt.yaml », line 25, column 8


C'est pas clair sauf a dire que c'est telle ligne
la ligne 15 correspond a la description du json : 
{ set value_json =  {{value_json.inv_serial}}

discovery: true

sensor:

  • name: « PV Façade »
    unique_id: « 801000010711 »
    state_topic: « homeasssitant/APSystem »
    value_template: « {{ value_json.801000010711 }} »
    qos: 1
    json_attributes_template: « {{ value_json.freq | tojson }} »
  • name: « PV Jardin »
    unique_id: « 801000009668 »
    state_topic: « homeasssitant/APSystem »
    json_attributes_topic: « homeasssitant/APSystem »
    json_attributes_template: >
    "{ set value_json = {{value_json.inv_serial}}
    {{value_json.acv}}
    {{value_json.freq}}
    {{value_json.temp}}
    {{value_json.ch0}}
    {{value_json.ch1}}
    {{value_json.ch2}}
    {{value_json.ch3}}
    {{value_json.totals}}
    }
    excuse moi j’ai discovery true devant

Bizarre quand je copie ton mqtt.yaml
je dépasse pas la ligne 22

Capture d’écran 2023-01-23 161038

Capture d’écran 2023-01-23 161038

Trop rapide :wink: ClassicRed :+1:


sans les ‹  › j’ai un missed malgré tout :slight_smile:

faudrait pas les ‹ , › comme dans le Json entre les infos ?

Désolé de cette répondre assez tardive,
j’ai utilisé une autre méthode pour splitter les 2 infos qui était envoyer dans le meme topic :
en faisant un automation qui publie chaque infos dans un nouveau topic propre à chacun :

alias: PV_prod_Facade
description: Production facade
trigger:
  - platform: mqtt
    topic: homeassistant/APSystem/in
    value_template: "{{ value_json.inv_serial }}"
    payload: "801000010711"
condition: []
action:
  - service: mqtt.publish
    data:
      topic: homeassistant/solar/inv0
      payload: "{{ trigger.payload }}"
      retain: true
mode: parallel
max: 2
alias: PV_prod_Jardin
description: Production Jardin
trigger:
  - platform: mqtt
    topic: homeassistant/APSystem/in
    value_template: "{{ value_json.inv_serial }}"
    payload: "801000009668"
condition: []
action:
  - service: mqtt.publish
    data:
      topic: homeassistant/solar/inv1
      payload: "{{ trigger.payload }}"
      retain: true
mode: parallel
max: 2

qui me crée 2 Topic Mqtt pour chaque équipements, avec les infos.
puis je crée mes capteurs mqtt de ce type dans mon mqtt.yaml :

sensor:
  - name: "PV Jardin"
    state_topic: "homeassistant/solar/inv1"
    device_class: Energy
    value_template: "{{ value_json.totals }}"
  - name: "PV Façade"
    state_topic: "homeassistant/solar/inv0"
    device_class: Energy
    value_template: "{{ value_json.totals }}"

cela fonctionne mais la valeur que j’obtiens est sous la forme:
PV Jardin [40.3, 842.57]

PV Façade [62.5, 1309.37]
comment puis-je séparée ces les 2 valeurs ?
la premiere est la production instantanée en W et la seconde, sur la journée en kWh.