Autor Thema: readingsGroup: commands soll den "setreading" statt "set" Befehl verwenden  (Gelesen 56 mal)

Offline All-Ex

  • Developer
  • Full Member
  • ****
  • Beiträge: 207
Hallo zusammen,

ich habe eine readingsGroup, mit der ich verschiedene Readings meiner Rollladensteuerung ändern möchte. Die Definition lautet:
<Gerät>,<Level_pct >,<A_pct_half >,<A_pct_hotnight >,<A_pct_sunnyday > (rol\..*)..:level,!A_pct_half,!A_pct_hotnight,!A_pct_sunnyday
Die Readings, die mit A_ beginnen möchte ich in der readingsGroup ändern können. Dazu habe ich das commands-Attribut definiert:
{
level => 'pct:textFieldNL',
A_pct_half => 'A_pct_half:textFieldNL',
A_pct_hotnight => 'A_pct_hotnight:textFieldNL',
A_pct_sunnyday => 'A_pct_sunnyday:textFieldNL',
}

Nun führt commands immer einen set-Befehl aus, was bei level auch korrekt funktioniert und die Rollläden auf eine andere Position fährt.

Bei A_pct_half geht das jedoch nicht, denn dort soll der Inhalt des Readings A_pct_half aktualisiert werden. Es müsste also "setreading <device> A_pct_half xx" statt "set <device> xx" heißen.

Gibt es die Möglichkeit, dass commands auch Readings im entsprechenden Device ändert?


Offline OdfFhem

  • Hero Member
  • *****
  • Beiträge: 1013
@All-Ex

Zwei Beispiele, bei denen die Aktion selbst festgelegt wird:
commands { "ON" => "set $DEVICE OFF" }

commands { 'S1.on'  => 'setreading %DEVICE myReading off ' }

Im Prinzip könnte man auch -  durch ;; getrennt - mehrere FHEM-Kommandos absetzen.

Offline All-Ex

  • Developer
  • Full Member
  • ****
  • Beiträge: 207
Danke!

Aber wie kann ich im 2. Beispiel den Wert übergeben, der über das Webinterface im textField eingetragen wird?

Also etwas so:
commands { 'S1.on'  => 'setreading %DEVICE myReading <Inhalt von textField> ' }

 

decade-submarginal