YAML Anfängerfrage

Hallo zusammen. Ich möchte 2 x einen rest Befehl und 2x rest command schreiben.
HA meckert weil die Befehle doppelt sind.
meine YAML mit einerm Sensor sieht wie folgt aus und funktioniert:

 rest:
   scan_interval: 60
   resource: http://192.168.1.46/infos.json
   sensor:
     - name: Zisterne Füllstand in Meter
       value_template: "{{ value_json.payload.measure.level }}"
       unit_of_measurement: Meter
     - name: Zisterne groß Inhalt in Liter
       value_template: "{{ value_json.payload.measure.content }}"
       unit_of_measurement: Liter
 rest_command:
   messung_zisterne:
     url: http://192.168.1.46/command
     method: POST
     payload: '{ "header" : { "namespace" : "Device.Control" , "name" : "StartMeasure" , "messageId" : "1" , "payloadVersion" : "1" } , "payload" : null }'
     content_type: "application/json; charset=utf-8"

Sobald ich den Abschnitt kopiere und mit dem zweiten Sensor verknüpfe kommen die Fehlermeldungen.

DUPLICEATE KEY verstehe ich ja noch. Ich habe probiert die Befehle unterhalb zu schreiben. Ich bekomme es nicht hin.
Kann mir bitte jemand einen Tip geben? Sicherlich ganz einfach wenn man es kann :slight_smile: Vielen Dank und liebe Grüße

:crayon:by HarryP: Codezeilen formatiert (bitte immer in </> einbinden)

Kopierst du alles, also auch rest: und rest_command:? Diese dürfen z. B. in der configuration.yaml nur 1x vorkommen. Versuch es mal so

 rest_command:
   - messung_zisterne:
     ......
     ......
   - messung_2:
     ......
     ......

Edit:
bei rest natürlich das gleiche

 rest:
   - name: xyzabc
     scan_interval: 60
     resource: http://192.168.1.46/infos.json
     sensor:
       ......
       ......
   - name: abcxyz
       ......
       ......

Danke für die Antwort. Das geht so leider nicht da ich ja 2 IP Adressen ansprechen muss. Die Messungen laufen auf 2 Geräten…

Ändert nichts daran, dass nur 1x
rest:
und
rest_command:

in der configuration.yaml vorkommen darf.

Ja danke. Hast du denn eine Idee? Egal wie ich das versuche zu formatieren - die YAML wirft nur Fehler aus…

Wie sieht die yaml komplett aus?

# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
rest:
  scan_interval: 60
  resource: http://192.168.1.46/infos.json
  sensor:
    - name: Zisterne groß Füllstand in Meter
      value_template: "{{ value_json.payload.measure.level }}"
      unit_of_measurement: Meter
    - name: Zisterne groß Inhalt in Liter
      value_template: "{{ value_json.payload.measure.content }}"
      unit_of_measurement: Liter
rest_command:
  messung_zisterne:
    url: http://192.168.1.46/command
    method: POST
    payload: '{ "header" : { "namespace" : "Device.Control" , "name" : "StartMeasure" , "messageId" : "1" , "payloadVersion" : "1" } , "payload" : null }'
    content_type: "application/json; charset=utf-8"

Nachtrag:
Nun habe ich noch die IP
192.168.1.167 bei der ich das allergleiche durchführen möchte…

Vielleicht hast du eine Lösung? DANKE und LG

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)

Nach Doku sollte es so klappen:

rest:
  - scan_interval: 60
    resource: http://192.168.1.46/infos.json
    sensor:
      - name: Zisterne groß Füllstand in Meter 1
        value_template: "{{ value_json.payload.measure.level }}"
        unit_of_measurement: Meter
      - name: Zisterne groß Inhalt in Liter 1
        value_template: "{{ value_json.payload.measure.content }}"
        unit_of_measurement: Liter
  - scan_interval: 60
    resource: http://192.168.1.xx/infos.json
    sensor:
      - name: Zisterne groß Füllstand in Meter 2
        value_template: "{{ value_json.payload.measure.level }}"
        unit_of_measurement: Meter
      - name: Zisterne groß Inhalt in Liter 2
        value_template: "{{ value_json.payload.measure.content }}"
        unit_of_measurement: Liter
rest_command:
  messung_zisterne_1:
    url: http://192.168.1.46/command
    method: POST
    payload: '{ "header" : { "namespace" : "Device.Control" , "name" : "StartMeasure" , "messageId" : "1" , "payloadVersion" : "1" } , "payload" : null }'
    content_type: "application/json; charset=utf-8"
  messung_zisterne_2:
    url: http://192.168.1.xx/command
    method: POST
    payload: '{ "header" : { "namespace" : "Device.Control" , "name" : "StartMeasure" , "messageId" : "1" , "payloadVersion" : "1" } , "payload" : null }'
    content_type: "application/json; charset=utf-8"

Mega. Danke.
Alao war das die Lösung:

 - scan_interval: 60

Welche Doku meinst du? Das Minus muss ja bedeuten, dass eine neue AUfgabe in einer Aufgabe startet…
1000 DANK

um es vielleicht besser für dich lesbar zu machen, kannst du es so schreiben:

rest:
  - sensor:
      - name: Zisterne groß Füllstand in Meter 1
        value_template: "{{ value_json.payload.measure.level }}"
        unit_of_measurement: Meter
      - name: Zisterne groß Inhalt in Liter 1
        value_template: "{{ value_json.payload.measure.content }}"
        unit_of_measurement: Liter
    scan_interval: 60
    resource: http://192.168.1.46/infos.json
  - sensor:
      - name: Zisterne groß Füllstand in Meter 2
        value_template: "{{ value_json.payload.measure.level }}"
        unit_of_measurement: Meter
      - name: Zisterne groß Inhalt in Liter 2
        value_template: "{{ value_json.payload.measure.content }}"
        unit_of_measurement: Liter
    scan_interval: 60
    resource: http://192.168.1.xx/infos.json

Du Doku für rest_commad hat maxe oben verlinkt.

Für rest wäre es diese hier:

perfekt. Vielen DANK