In Automation rest_command mit secrets aufrufen

Hallo,

ich habe eine secrets.yaml mit folgendem Inhalt:

controme_user: "user@url.de"
controme_password: "PASSWORT"

Außerdem habe ich in der configuration.yaml folgenden Befehl definiert:

rest_command:
  controme_set_temperaturszene_urlaub_arbeitszimmer:
    url: "http://192.168.175.8/set/json/v1/1/temperaturszenen/4/"
    method: POST
    content_type: "application/x-www-form-urlencoded"
    payload: "user={{ username }}&password={{ password }}&room_id=2"

Nun versuche ich eine Automation zu erstellen, in der ich diesen Befehl aufrufe und den Verweis auf die in der secrets.yaml stehenden Username und Passwort mitzugeben:

action: rest_command.controme_set_temperaturszene_urlaub_arbeitszimmer
metadata: {}
data:
  username: "!secret controme_user"
  password: "!secret controme_password"

Das funktioniert jedoch nicht. Was hingegen geht, ist, Benutzername und Passwort in Klartext in die Automation einzutragen:

action: rest_command.controme_set_temperaturszene_urlaub_arbeitszimmer
metadata: {}
data:
  username: "user@url.de"
  password: "PASSWORT"

Aber das ist natürlich ungünstig.

Hat einer von Euch einen Tipp, wie ich die Secret-Informationen in der Automation übergeben kann? Ich wäre Euch sehr dankbar!

Jan

Es betrifft zwar nicht direkt Deine Frage, aber warum nutzt Du für das Controme-System micht diese HACS-Integration:

oder aber HomeKit?

Hallo, Harry,

weil ich mir bei der Controme-Integration nicht sicher bin, ob die dauerhaft gepflegt bzw. bei Inkompatibilitäten geupdatet wird und ich die paar Dinge, die ich damit mache, eigentlich auch selbst hin bekomme. Dachte ich zumindest. :wink:

Ich würde es wirklich lieber ohne Integration machen, Insofern bleib ich bei meiner Frage. :wink:

Viele Grüße,

Jan

Ja, gutes Argument, zumal der HACS-Entwickler momentan nicht auf Issues und Feature-Requests reagiert.

Bei mir läuft seit einem Wechsel des Miniservers die HomeKit-Integration nicht mehr sauber (ich kann keine feste und temporäre Temperatursollwerte mehr setzen), deshalb mache ich aktuell alles mit der HACS-Integration.

Es gibt hier noch ein paar Controme-Nutzer, evtl. kann Dir ja einer weiter helfen.

Ja, das mit der mangelnden Reaktion war mir halt auch aufgefallen.

Im Grunde ist das ja auch kein reines Controme-Problem. Ich hatte den Support sogar schon wegen es grundsätzlicheren Problems angeschrieben, der überaus vorbildlich und schnell schrieb:

In Ihren HA-Skripten oder -Automatisierungen können Sie den Befehl dann sauber mit Ihren Secrets aufrufen:


yaml
service: rest_command.controme_set_temperaturszene_urlaub_arbeitszimmer
data:
  username: "!secret controme_user"
  password: "!secret controme_password"

Ich verstehe nicht, was der service-Aufruf da soll. Vielleicht ist das ja auch der Schlüssel zum Erfolg. Ich hab da ja nun mal ne action. “Service” sagt mir nichts. Euch?

Früher war bei HA der Befehl für „Action“ noch „service“, dass wurde mit einem Release in 2025 geändert.

1 „Gefällt mir“

Okay, dann müsste das ja eigentlich so wie von mir verwendet funktionieren…

PS: Tut es aber nicht… :grinning_face:

1 „Gefällt mir“

So, Problem gelöst: Die secrets in der Automation müssen ohne Anführungszeichen gesetzt werden, also so:

action: rest_command.controme_set_temperaturszene
metadata: {}
data:
  room_id: 2
  scene_id: 1
  username: !secret controme_user
  password: !secret controme_password

Dann meckert allerdings die GUI und will den !secret-Befehl ums Verrecken nicht ohne Anführungszeichen akzeptieren. Das gilt leider auch für den yaml-Modus der GUI.

Man muss die Bearbeitung also direkt über den File-Editor in der automations.yaml vornehmen und die Änderungen dort speichern. Nach einem Neustart funktioniert alles. :+1:

Danke an @harryp für die tolle Unterstützung! :slight_smile: