(erledigt) AttrTemplate - Dialog aufblenden trotz vorgegebenem Wert für par

Begonnen von OdfFhem, 29 Januar 2023, 09:23:38

Vorheriges Thema - Nächstes Thema

OdfFhem

Durch par werden Parameter festgelegt, denen nach Möglichkeit ein autom. Wert vorgegeben wird:
- gelingt dies nicht, wird ein Dialog aufgeblendet, in dem ein Wert für Parameter festgelegt werden kann/muss.
- gelingt dies, wird der autom. vorgegebene Wert "ungefragt" übernommen.

Frage wäre jetzt, ob eine "kleine" Erweiterung die Möglichkeit schaffen könnte, alle oder nur bestimmte Parameter auf jeden Fall im Dialog aufzublenden ?

Beta-User

@Rudi: Falls das ohne allzugroßen Aufwand ginge (oder per neuem "pardefault:"-Parameter stressfrei umgesetzt werden könnte):
Das wäre eine Sache, die gelegentlich hilfreich wäre.

Bei den Sprachsteuerungs-add-ons ging das nur mit ziemlichem Gewürge (und Rekursionsgefahr), und z.B. bei der "default-on"-Helligkeit von Leuchten hatten wir (TomLee und ich) neulich schon mal rumüberlegt, wie man das am besten lösen kann.

@OdfFhem: Das Ergebnis der obigen Diskussion war dann, den Wert immer abzufragen und dem User links im Erklärtext den default vorzuschlagen. Falls dir das was hilft - es müßte eine Änderung in den letzten paar Wochen gewesen sein (mqtt2).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

OdfFhem

Zitat von: Beta-User am 29 Januar 2023, 10:57:27
@OdfFhem: Das Ergebnis der obigen Diskussion war dann, den Wert immer abzufragen und dem User links im Erklärtext den default vorzuschlagen. Falls dir das was hilft - es müßte eine Änderung in den letzten paar Wochen gewesen sein (mqtt2).
Mal schauen ...

... bzgl. erwähntem "Umweg" über Erklärtext: wird der integrierte default-Vorschlag dynamisch ermittelt oder ist er fest vorgegeben ?

TomLee

par:<ParameterName>;<Kommentar>;<Perl-Code>

Ein erster Test den default-Wert dynamisch zu ermitteln zeigt mir das in <Kommentar> der <ParameterName> aus einer darüberliegenden par-Zeile nicht aufgelöst wird.
Im Wiki steht dazu:
ZitatParameterName wird in jeder Befehlzeile ersetzt mit dem Wert.
edit: par ist keine Befehlzeile

name:zigbee2mqtt_DEMO
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
order:L_02e5
par:DEMO;bla;{ ReadingsVal('Demo','state','on')}
par:BLI;dynamic default -> DEMO;undef

rudolfkoenig

Habe den Vorschlag als pardefault: implementiert, bitte um Feedback.

ZitatEin erster Test den default-Wert dynamisch zu ermitteln zeigt mir das in <Kommentar> der <ParameterName> aus einer darüberliegenden par-Zeile nicht aufgelöst wird.
Stimmt. par: ist aber auch kein Befehl.

TomLee

Zitatpar: ist aber auch kein Befehl.

Darum hab ich den Kommentar aus dem Wiki zitiert und Befehlzeile fett hervorgehoben, um meine Vermutung zum Ausdruck zu bringen das par nur in diesen evaluiert wird.

rudolfkoenig

Mein Fehler, habe die Vorgeschichte ausgeblendet.
Bei pardefault wird der ermittelte Wert als Default-Text ins Eingabefeld eingetragen, das Ersetzen des Kommentars sollte nicht notwendig sein.

Beta-User

#7
@Rudi: Fettes Danke für den prompten Service!

@TomLee: Magst du bitte testen und es dann in "unseren" Kandidaten einbauen?
EDIT: Und ggf. die Sprachsteuerungstemplates so aufbohren, dass man da auch gefragt wird, ob man "da lassen" will, was da ist? (Eilt selbstredend nicht!)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TomLee

Zitat von: rudolfkoenig am 29 Januar 2023, 12:52:57
Habe den Vorschlag als pardefault: implementiert, bitte um Feedback.

Zitat von: rudolfkoenig am 29 Januar 2023, 13:16:00
Bei pardefault wird der ermittelte Wert als Default-Text ins Eingabefeld eingetragen, das Ersetzen des Kommentars sollte nicht notwendig sein.

Hab es so getetstet:
name:zigbee2mqtt_DEMO
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
order:L_02e5
pardefault:DEMO;bliblablub;{ ReadingsVal('Demo','state','on') }
setreading DEVICE demo DEMO


Der ermittelte Wert aus Demo wird als Default-Text ins Eingabefeld übergeben/eingetragen und mittels setreading, nach dem bestätigen mit OK, auch in das Reading geschrieben.

Wenn man in dem Eingabefeld einen anderen Wert angibt, wird auch der via setreading geschrieben.

Ich meine es so zu verstehen, das alles klappt wie das vorgesehen war.


OdfFhem

Zitat von: rudolfkoenig am 29 Januar 2023, 12:52:57
Habe den Vorschlag als pardefault: implementiert, bitte um Feedback.

Ich habe das neue Schlüsselwort pardefault mit verschiedenen Konstellationen getestet und es funktioniert wie "gewünscht" ... perfekt ... und natürlich VIELEN DANK.