Fehlermeldung bei WP-Integration über Modbus

Oberhesse

Member
Habe meine WP über Modbus TCP integriert, soweit, so gut.
In der configuration.yaml eine wpumps.yaml über include eingebunden.
Bekomme allerdings bei der Prüfung der Konfiguration folgende Fehlermeldung:
YAML:
Invalid config for [sensor]: required key not provided @ data['platform']. Got None. (See /config/configuration.yaml, line 40)
Diese bezieht sich auf die wpumps.yaml.
Hier die Datei. Fällt jemandem mein Fehler auf?
YAML:
- name: wpump
  type: tcp
  host: 192.XXX.XX.XX
  port: 502
  climates:
      - name: "WP_Warmwasser"
        address: 42103
        input_type: holding
        count: 1
        data_type: int16
        max_temp: 50
        min_temp: 15
        offset: 0
        precision: 1
        scale: 0.1
        target_temp_register: 42103
        temp_step: 1
        temperature_unit: C
        unique_id: wpump.wwnormal
  sensors:
#Warmwasser
    - name: WP_Warmwassersolltemperatur
      slave: 1
      address: 32101
      input_type: input
      unit_of_measurement: °C
      state_class: measurement
      count: 1
      scale: 0.1
      offset: 0
      precision: 1
      data_type: int16
      unique_id: wpump.wwsolltemp
    - name: WP_Warmwassertemperatur
      slave: 1
      address: 32102
      input_type: input
      unit_of_measurement: °C
      state_class: measurement
      count: 1
      scale: 0.1
      offset: 0
      precision: 1
      data_type: int16
      unique_id: wpump.wwtemp
#System
    - name: WP_Betrieb
      slave: 1
      address: 30006
      input_type: input
      count: 1
      scale: 1
      offset: 0
      precision: 0
      data_type: int16
      unique_id: wpump.betrieb
    - name: WP_Stoerungsfrei
      slave: 1
      address: 30005
      input_type: input
      count: 1
      scale: 1
      offset: 0
      precision: 0
      data_type: int16
    - name: WP_Außentemperatur
      slave: 1
      address: 30001
      input_type: input
      unit_of_measurement: °C
      state_class: measurement
      count: 1
      scale: 0.1
      offset: 0
      precision: 1
      data_type: int16
#Heizkreis
    - name: WP_Raumsolltemperatur
      slave: 1
      address: 31101
      input_type: input
      unit_of_measurement: °C
      state_class: measurement
      count: 1
      scale: 0.1
      offset: 0
      precision: 1
      data_type: int16
    - name: WP_Vorlaufsolltemperatur
      slave: 1
      address: 31104
      input_type: input
      unit_of_measurement: °C
      state_class: measurement
      count: 1
      scale: 0.1
      offset: 0
      precision: 1
      data_type: int16
    - name: WP_Vorlauftemperatur
      slave: 1
      address: 33104
      input_type: input
      unit_of_measurement: °C
      state_class: measurement
      count: 1
      scale: 0.1
      offset: 0
      precision: 1
      data_type: int16
    - name: WP_Rücklauftemperatur
      slave: 1
      address: 33105
      input_type: input
      unit_of_measurement: °C
      state_class: measurement
      count: 1
      scale: 0.1
      offset: 0
      precision: 1
      data_type: int16
    - name: WP_Leistungsanforderung
      slave: 1
      address: 33103
      input_type: input
      unit_of_measurement: '%'
      state_class: measurement
      count: 1
      scale: 1
      offset: 0
      precision: 1
      data_type: int16
    - name: WP_Heizkurve
      slave: 1
      address: 41108
      input_type: holding
      state_class: measurement
      count: 1
      scale: 0.01
      offset: 0
      precision: 2
      data_type: int16
# 2. WEZ
    - name: WP_E1_Status
      slave: 1
      address: 34104
      input_type: input
      count: 1
      scale: 1
      offset: 0
      precision: 0
      data_type: int16
    - name: WP_E2_Status
      slave: 1
      address: 34105
      input_type: input
      count: 1
      scale: 1
      offset: 0
      precision: 0
      data_type: int16
    - name: WP_E1_Stunden
      slave: 1
      address: 34106
      input_type: input
      unit_of_measurement: h
      state_class: measurement
      count: 1
      scale: 1
      offset: 0
      precision: 0
      data_type: int16
    - name: WP_E2_Stunden
      slave: 1
      address: 34107
      input_type: input
      unit_of_measurement: h
      state_class: measurement
      count: 1
      scale: 1
      offset: 0
      precision: 0
      data_type: int16
#Stats
    - name: WPST_Gesamt_Tag
      slave: 1
      address: 36101
      input_type: input
      unit_of_measurement: kWh
      state_class: total_increasing
      device_class: energy
      count: 1
      scale: 1
      offset: 0
      precision: 1
      data_type: int16
    - name: WPST_Gesamt_Monat
      slave: 1
      address: 36103
      input_type: input
      unit_of_measurement: kWh
      state_class: total_increasing
      device_class: energy
      count: 1
      scale: 1
      offset: 0
      precision: 1
      data_type: int16
    - name: WPST_Gesamt_Jahr
      slave: 1
      address: 36104
      input_type: input
      unit_of_measurement: kWh
      state_class: total_increasing
      device_class: energy
      count: 1
      scale: 1
      offset: 0
      precision: 1
      data_type: int16
    - name: WPST_Heizen_Tag
      slave: 1
      address: 36201
      input_type: input
      unit_of_measurement: kWh
      state_class: total_increasing
      device_class: energy
      count: 1
      scale: 1
      offset: 0
      precision: 1
      data_type: int16
    - name: WPST_Heizen_Monat
      slave: 1
      address: 36203
      input_type: input
      unit_of_measurement: kWh
      state_class: total_increasing
      device_class: energy
      count: 1
      scale: 1
      offset: 0
      precision: 1
      data_type: int16
    - name: WPST_Heizen_Jahr
      slave: 1
      address: 36204
      input_type: input
      unit_of_measurement: kWh
      state_class: total_increasing
      device_class: energy
      count: 1
      scale: 1
      offset: 0
      precision: 1
      data_type: int16
    - name: WPST_WW_Tag
      slave: 1
      address: 36301
      input_type: input
      unit_of_measurement: kWh
      state_class: total_increasing
      device_class: energy
      count: 1
      scale: 1
      offset: 0
      precision: 1
      data_type: int16
    - name: WPST_WW_Monat
      slave: 1
      address: 36303
      input_type: input
      unit_of_measurement: kWh
      state_class: total_increasing
      device_class: energy
      count: 1
      scale: 1
      offset: 0
      precision: 1
      data_type: int16
    - name: WPST_WW_Jahr
      slave: 1
      address: 36304
      input_type: input
      unit_of_measurement: kWh
      state_class: total_increasing
      device_class: energy
      count: 1
      scale: 1
      offset: 0
      precision: 1
      data_type: int16
 
Zuletzt bearbeitet von einem Moderator:
climates ist falsch eingerückt - immer und ausschließlich 2 Leerzeichen / Einrückebene verwenden.
 
climates ist falsch eingerückt - immer und ausschließlich 2 Leerzeichen / Einrückebene verwenden.
rücke ich climates 2 zeichen weiter ein bekomme ich diese Meldung im fileeditor:
bad indentation of a mapping entry (5:13)

2 | type: tcp
3 | host: 192.XXX.XXX.XX
4 | port: 502
5 | climates:
-----------------^
6 | - name: "WP_Warmwasser"
möglicherweise habe ich dich da falsch verstanden....
 
Danke. Habe jetzt entsprechend geändert. Aber,
Fehlermeldung bleibt:
Invalid config for [sensor]: required key not provided @ data['platform']. Got None. (See /config/configuration.yaml, line 40).
Das macht mich ratlos, irgendeine andere Idee?
 
Was steht den bei Dir bei Zeile 40 ?
Code:
  sensors:
#Warmwasser
    - name: WP_Warmwassersolltemperatur
      slave: 1
Wenn Du das in
Code:
#Warmwasser
  sensors:
    - name: WP_Warmwassersolltemperatur
      slave: 1
änderst, was passiert dann ?
 
Sorry, das Einrücken ist immer noch verkehrt.
Code:
#Warmwasser
  sensors:
  - name: WP_Warmwassersolltemperatur
    slave: 1
MAXIMAL 2 Leerzeichen. Nicht mehr und nicht weniger.
 
Geduld müsste man haben. Ich poste hier nochmal die aktuelle version der wpumps.yaml, leider ist die Fehlermeldung immer noch da.
YAML:
- name: wpump
  type: tcp
  host: 192.168.178.78
  port: 502
  climates:
  - name: "WP_Warmwasser"
    address: 42103
    input_type: holding
    count: 1
    data_type: int16
    max_temp: 50
    min_temp: 15
    offset: 0
    precision: 1
    scale: 0.1
    target_temp_register: 42103
    temp_step: 1
    temperature_unit: C
    unique_id: wpump.wwnormal     
#Warmwasser
  sensors:
  - name: WP_Warmwassersolltemperatur
    slave: 1
    address: 32101
    input_type: input
    unit_of_measurement: °C
    state_class: measurement
    count: 1
    scale: 0.1
    offset: 0
    precision: 1
    data_type: int16
    unique_id: wpump.wwsolltemp
  - name: WP_Warmwassertemperatur
    slave: 1
    address: 32102
    input_type: input
    unit_of_measurement: °C
    state_class: measurement
    count: 1
    scale: 0.1
    offset: 0
    precision: 1
    data_type: int16
    unique_id: wpump.wwtemp
#System
  - name: WP_Betrieb
    slave: 1
    address: 30006
    input_type: input
    count: 1
    scale: 1
    offset: 0
    precision: 0
    data_type: int16
    unique_id: wpump.betrieb
  - name: WP_Stoerungsfrei
    slave: 1
    address: 30005
    input_type: input
    count: 1
    scale: 1
    offset: 0
    precision: 0
    data_type: int16
  - name: WP_Außentemperatur
    slave: 1
    address: 30001
    input_type: input
    unit_of_measurement: °C
    state_class: measurement
    count: 1
    scale: 0.1
    offset: 0
    precision: 1
    data_type: int16
#Heizkreis
  - name: WP_Raumsolltemperatur
    slave: 1
    address: 31101
    input_type: input
    unit_of_measurement: °C
    state_class: measurement
    count: 1
    scale: 0.1
    offset: 0
    precision: 1
    data_type: int16
  - name: WP_Vorlaufsolltemperatur
    slave: 1
    address: 31104
    input_type: input
    unit_of_measurement: °C
    state_class: measurement
    count: 1
    scale: 0.1
    offset: 0
    precision: 1
    data_type: int16
  - name: WP_Vorlauftemperatur
    slave: 1
    address: 33104
    input_type: input
    unit_of_measurement: °C
    state_class: measurement
    count: 1
    scale: 0.1
    offset: 0
    precision: 1
    data_type: int16
  - name: WP_Rücklauftemperatur
    slave: 1
    address: 33105
    input_type: input
    unit_of_measurement: °C
    state_class: measurement
    count: 1
    scale: 0.1
    offset: 0
    precision: 1
    data_type: int16
  - name: WP_Leistungsanforderung
    slave: 1
    address: 33103
    input_type: input
    unit_of_measurement: '%'
    state_class: measurement
    count: 1
    scale: 1
    offset: 0
    precision: 1
    data_type: int16
  - name: WP_Heizkurve
    slave: 1
    address: 41108
    input_type: holding
    state_class: measurement
    count: 1
    scale: 0.01
    offset: 0
    precision: 2
    data_type: int16
# 2. WEZ
  - name: WP_E1_Status
    slave: 1
    address: 34104
    input_type: input
    count: 1
    scale: 1
    offset: 0
    precision: 0
    data_type: int16
  - name: WP_E2_Status
    slave: 1
    address: 34105
    input_type: input
    count: 1
    scale: 1
    offset: 0
    precision: 0
    data_type: int16
  - name: WP_E1_Stunden
    slave: 1
    address: 34106
    input_type: input
    unit_of_measurement: h
    state_class: measurement
    count: 1
    scale: 1
    offset: 0
    precision: 0
    data_type: int16
  - name: WP_E2_Stunden
    slave: 1
    address: 34107
    input_type: input
    unit_of_measurement: h
    state_class: measurement
    count: 1
    scale: 1
    offset: 0
    precision: 0
    data_type: int16
#Stats
  - name: WPST_Gesamt_Tag
    slave: 1
    address: 36101
    input_type: input
    unit_of_measurement: kWh
    state_class: total_increasing
    device_class: energy
    count: 1
    scale: 1
    offset: 0
    precision: 1
    data_type: int16
  - name: WPST_Gesamt_Monat
    slave: 1
    address: 36103
    input_type: input
    unit_of_measurement: kWh
    state_class: total_increasing
    device_class: energy
    count: 1
    scale: 1
    offset: 0
    precision: 1
    data_type: int16
  - name: WPST_Gesamt_Jahr
    slave: 1
    address: 36104
    input_type: input
    unit_of_measurement: kWh
    state_class: total_increasing
    device_class: energy
    count: 1
    scale: 1
    offset: 0
    precision: 1
    data_type: int16
  - name: WPST_Heizen_Tag
    slave: 1
    address: 36201
    input_type: input
    unit_of_measurement: kWh
    state_class: total_increasing
    device_class: energy
    count: 1
    scale: 1
    offset: 0
    precision: 1
    data_type: int16
  - name: WPST_Heizen_Monat
    slave: 1
    address: 36203
    input_type: input
    unit_of_measurement: kWh
    state_class: total_increasing
    device_class: energy
    count: 1
    scale: 1
    offset: 0
    precision: 1
    data_type: int16
  - name: WPST_Heizen_Jahr
    slave: 1
    address: 36204
    input_type: input
    unit_of_measurement: kWh
    state_class: total_increasing
    device_class: energy
    count: 1
    scale: 1
    offset: 0
    precision: 1
    data_type: int16
  - name: WPST_WW_Tag
    slave: 1
    address: 36301
    input_type: input
    unit_of_measurement: kWh
    state_class: total_increasing
    device_class: energy
    count: 1
    scale: 1
    offset: 0
    precision: 1
    data_type: int16
  - name: WPST_WW_Monat
    slave: 1
    address: 36303
    input_type: input
    unit_of_measurement: kWh
    state_class: total_increasing
    device_class: energy
    count: 1
    scale: 1
    offset: 0
    precision: 1
    data_type: int16
  - name: WPST_WW_Jahr
    slave: 1
    address: 36304
    input_type: input
    unit_of_measurement: kWh
    state_class: total_increasing
    device_class: energy
    count: 1
    scale: 1
    offset: 0
    precision: 1
    data_type: int16
 
Ich habe von Modbus keinen blasen Schimmer, kann also nur die Doku studieren.
Bei ModBus handelt es sich um einen Integration.
Also entweder trägst Du das hier in die configuration.yaml ein.

YAML:
modbus:
  - name: wpump
    type: tcp
    host: 192.168.178.78
    port: 502
    climates:
      - name: "WP_Warmwasser"
        address: 42103
        input_type: holding
        count: 1
        data_type: int16
        max_temp: 50
        min_temp: 15
        offset: 0
        precision: 1
        scale: 0.1
        target_temp_register: 42103
        temp_step: 1
        temperature_unit: C
        unique_id: wpump.wwnormal    
  #Warmwasser
    sensors:
      - name: WP_Warmwassersolltemperatur
        slave: 1
        address: 32101
        input_type: input
        unit_of_measurement: °C
        state_class: measurement
        count: 1
        scale: 0.1
        offset: 0
        precision: 1
        data_type: int16
        unique_id: wpump.wwsolltemp
...

Oder, wenn Du die ModBus Konfiguration in einen separate yaml auslagern willst.

YAML:
#configuration.yaml
modbus: !include modbus.yaml

Und
Code:
#modbus.yaml
- name: wpump
  type: tcp
  host: 192.168.178.78
  port: 502
  climates:
    - name: "WP_Warmwasser"
      address: 42103
      input_type: holding
      count: 1
      data_type: int16
      max_temp: 50
      min_temp: 15
      offset: 0
      precision: 1
      scale: 0.1
      target_temp_register: 42103
      temp_step: 1
      temperature_unit: C
      unique_id: wpump.wwnormal    
#Warmwasser
  sensors:
    - name: WP_Warmwassersolltemperatur
      slave: 1
      address: 32101
      input_type: input
      unit_of_measurement: °C
      state_class: measurement
      count: 1
      scale: 0.1
      offset: 0
      precision: 1
      data_type: int16
      unique_id: wpump.wwsolltemp
...
 
Ich habe es ausgelagert,
in der configuration.yaml steht:
modbus: !include wpumps.yaml
in der wpumps.yaml die Konfiguration wie oben beschrieben.....
 
Ich habe es ausgelagert,
in der configuration.yaml steht:
modbus: !include wpumps.yaml
in der wpumps.yaml die Konfiguration wie oben beschrieben.....
Das war leider nirgends ersichtlich.
Du hast immer nur von einer wpumps.yaml geschrieben.

Trotzdem hat Dein zuletzt eingestellter YAML Code aber immer noch Formatierungsfehler! Einrückungen!!
Jede Konfiguration-Ebenen wird mit 2 Leerzeichen getrennt.
Siehe mein code oben.

In dem Fall einfach in der wpumps.yaml den code richtig formatieren.

Ein kleiner Tipp:
Verwende einen anständigen Code Editor, wie z.B. Visual Studio Code, dann passieren solche Fehler nicht.
 
Also ich würde mich mal langsam daran tasten rauszufinden wo der Fehler genau liegt.
Speicher dir die wpumos.yaml weg und lösche alles daraus außer der Climate Definition also alle Sensoren. Wenn dann der Fehler immer noch da ist weißt du erstmal ob du bei Climate suchen musst oder bei den Sensoren. Wenn Climate geht ohne Fehler nimm mal nur einen Sensor rein und dann sehen wir weiter.
 
Wobei ich grade mal in meine „modbus.yaml“ geguckt habe, und da tatsächlich auch 4 Leerzeichen sind nach
Sensors:
- name: xxxx.

in deinem ersten Post hast du in der Zeile nach Climate ja auch 4 Leerzeichen vor der Namensdefinition, nach „Sensors:“ aber nur 2.
Mach da auch mal überall 4 Leerzeichen hin.
Ist bei mir tatsächlich auch so, und ich weiß das ich so ein Problem auch mal hatte.
Ich habe tatsächlich auch noch eine alte modbus.yaml Datei mit nur 2 Leerzeichen und die macht auch Fehler.
 
Danke, werde ich mal versuchen, sobald ich wieder zuhause bin.....
Ich melde mich wieder wenns geklappt hat - auch wenn nicht.
 
So, habe die Lösung gefunden:
Die wpumps.yaml war o.k.
Ich habe die Daten aus der sensors.yaml komplett in die template.yaml verschoben, Fehlermeldung war weg. Problem war, dass in der sensors.yaml eine template: - Definition drin war, also im Grunde 2x template, 1x in der sensors 1x natürlich (dafür ist sie ja da) in der template.yaml.
Die Fehlermeldung mit Bezug zur wpumps.yaml war einfach irritierend und nur indirekt richtig.
Trotzdem danke für alle Hinweise!
 
Okay, aber verstehen tue ich das nicht.
Weil die Sensoren die du dort definierst sind ja kein Template Sensoren.
Zumindest nicht die hier aus der wpump.yaml.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.115
Beiträge
59.428
Mitglieder
6.162
Neuestes Mitglied
jurik
Zurück
Oben