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 Vielen Dank und liebe Grüße
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…
maxe
22. Juli 2024 um 08:48
4
Ä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…
maxe
22. Juli 2024 um 09:34
6
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
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
maxe
22. Juli 2024 um 10:16
11
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: