FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Wernieman am 31 Januar 2019, 18:52:37

Titel: im at mehrere befehle ausführen
Beitrag von: Wernieman am 31 Januar 2019, 18:52:37
Hallo Freunde,

trotz intensiven probieren und suchen habe ich jetzt direkt keine Lösung für folgendes Problem gefunden.

Auf ein notify will ich mit mehreren verzögertem Befehlen reagieren, im Prinzip:
defmod Temp at +00:00:10
set Befehl1; set Befehl2; set Befehl3


Wenn man es aber so macht, wird zwar der Befehl1 verzögert ausgeführt, 2 und 3 dagegen sofort. nach der Logic des Programmieren würde man jetzt eine Gruppierung machen, also z.B. mit "", () oder anderen Zeichen. Aber .. wie macht man es mit FHEM?

natürlich könnte man über die Perl ebene gehen {fhem(dkvnnv)} ... aber ist das Sinnvoll? Oder eine direkte Lösung bei FHEM nicht vorgesehen?
Titel: Antw:im at mehrere befehle ausführen
Beitrag von: Byte09 am 31 Januar 2019, 18:59:34
hi,
ich weiss ja , dass ich bei allen usern > 1000 Beiträge gegen windmühlen arbeite , aber hast du dir mein Modul mal angeschaut ( MSwitch) ? . Da ist das im Grunde eine Standartaufgebe und in einem Device, kein notify +at +etc.

gruss Byte09
Titel: Antw:im at mehrere befehle ausführen
Beitrag von: Wernieman am 31 Januar 2019, 19:06:31
Mußgestehen ... nein

Es gibt immer wieder was neues zu entdecken :o)

(Und außerdem bin ich eher der Linux-Tippgeber als der FHEM-Spezialist)
Titel: Antw:im at mehrere befehle ausführen
Beitrag von: justme1968 am 31 Januar 2019, 19:06:48
schau dir nach deinem defmod mal das DEF vom device an :)

die ; verdoppeln sollte helfen.


Titel: Antw:im at mehrere befehle ausführen
Beitrag von: Wernieman am 31 Januar 2019, 19:15:44
Mhhh ... danke, das war es. darauf wäre ich wirklich nicht gekommen ... wieso macht er mit 2;; es, aber mit1 nicht???

P.S. Darauf würde auch kein Anfänger kommen ...
Titel: Antw:im at mehrere befehle ausführen
Beitrag von: justme1968 am 31 Januar 2019, 19:18:56
steht doch sogar in der commandref:Multiple FHEM commands are separated by semicolon (;). In order to use semicolon in perl code or shell programs, they have to be escaped by the double semicolon (;;). See the Notes section of the notify chapter on command parameters and escape rules.
Titel: Antw:im at mehrere befehle ausführen
Beitrag von: Wernieman am 31 Januar 2019, 19:30:42
Ja ... aber das ist weder "shell" noch perl ..... jedenfalls würde ich es, wenn ich es jetzt nicht besser wüste, so sehen ...
Titel: Antw:im at mehrere befehle ausführen
Beitrag von: justme1968 am 31 Januar 2019, 19:35:11
schlag rudi einen patch vor :)
Titel: Antw:im at mehrere befehle ausführen
Beitrag von: Wernieman am 31 Januar 2019, 19:46:05
So war es nicht gemeint .. wüste nicht, wie man es besser macht (bzw. coden könnte)