FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: TubeHead am 20 Februar 2026, 20:29:28

Titel: set "lampe 1 bis 3" ?
Beitrag von: TubeHead am 20 Februar 2026, 20:29:28
Hallo liebe Leute,

nur mal schnell eine Frage zwischendurch; fällt mir einfach nicht mehr ein...

Es gibt doch eine Möglichkeit, im Ausführungsteil mehrere Geräte (ohne Modul "structure") mit fortlaufender Nummerierung gemeinsam anzusprechen, oder?

Beispiel:
Ich habe lampe1, lampe2 und lampe3

Jetzt könnte ich sagen "set lampe1 on, set lampe2 on, ..."

Kann man nicht irgendwie sagen "set lampe{1-3} on" ???
Das ging doch irgendwie, oder habe ich da gerade einen Knoten im Hirn?

Titel: Aw: set "lampe 1 bis 3" ?
Beitrag von: Otto123 am 20 Februar 2026, 22:45:49
nahe dran: lampe[1-3] :)
Titel: Aw: set "lampe 1 bis 3" ?
Beitrag von: TubeHead am 20 Februar 2026, 23:47:27
Danke Dir  8)
... immer drum rum geeiert ... Aber so ist das manchnal ^^

Ähhh... ne... geit net... Gerade mal bei einem MQTT-"machmal" getestet:

(set MQTT publish pixel[1-3]/custom/TMP {"icon":"tmp_ani_out_01","text":"[TMP]"})
generiert ein "Gerät" /pixel[1-3]


Gugst Du, was da so luschtiges auf dem MQTT-Explorer auftaucht... habe also schon reichlich Kombinationen durch  :))  :))  :))
Titel: Aw: set "lampe 1 bis 3" ?
Beitrag von: Per am 21 Februar 2026, 00:25:33
In fhem kannst du das machen, auch
 Lampe.
würde gehen. Was MQTT draus macht, ist was ganz anderes.
Titel: Aw: set "lampe 1 bis 3" ?
Beitrag von: Otto123 am 21 Februar 2026, 10:18:13
Zitat von: TubeHead am 20 Februar 2026, 23:47:27set MQTT publish pixel[1-3] /custom/TMP...
Das ist ein string in dem publish Befehl, was Du gefragt hast war set devspec Befehl. Siehe in der commandref unter Geräte-Spezifikation (devspec)
Also in deinem Fall ginge
(set MQTT[1-3] publish pixel/custom/TMP {"icon":"tmp_ani_out_01","text":"[TMP]"})aber das willst Du nicht. Die beschrieben Ersetzung funktioniert bei der "Suche" nach dem Device, Du willst die Ersetzung im Befehl.
Sorry, aber das was Du jetzt willst geht so einfach nicht.

Und die ganze Frage hat mMn nichts mit DOIF zu tun, ist hier im Board also ziemlich verkehrt ;)
Titel: Aw: set "lampe 1 bis 3" ?
Beitrag von: TomLee am 21 Februar 2026, 14:42:34
Hallo,

es gibt doch bestimmt eine Ulanzi-MQTT2_DEVICE Definition?

Hier zwei Lösungsansätze mit zusätzlichen settern in der Ulanzi Definition:
bli:noArg {for(1..3){fhem("set $NAME bla $_")}}
bla pixel$EVTPART1/custom/TMP {"icon":"tmp_ani_out_01","text":"[TMP]"}

in deinem DOIF machst dann ein
set <ulanzidevice> bli
oder nur mit einem setter:
blub:noArg {for (1..3) {fhem (qq(set MQTT publish pixel$_/custom/TMP {"icon":"tmp_ani_out_01","text":"[TMP]"}))}}
im DOIF macht dann
set <ulanzidevice> blub
Geht bestimmt auch noch anders...

Gruß Thomas
Titel: Aw: set "lampe 1 bis 3" ?
Beitrag von: TubeHead am 21 Februar 2026, 16:46:04
Zitat von: TomLee am 21 Februar 2026, 14:42:34es gibt doch bestimmt eine Ulanzi-MQTT2_DEVICE Definition?

Öhhh... nö. Braucht man das?
Scherz beiseite... Habe ich noch nie eine Notwendigkeit für gesehen. Die MQTT Nachrichten landen alle in einem großen Topf.

Dein Lösungsansatz verstehe ich leider nur rudimentär. Wenn ich das richtig sehe, wird auf PERL-Ebene Name und Zäher zusammengesetzt und dann angestoßen? Perl resp. wie man aus Fhem heraus direkt in Perl rumwurschtelt, habe ich noch nie wirklich verstanden...

Zwischenzeitlich habe ich es aber auch so gelöst. Damit ich nicht jedes mal für jeweils eine Uhr den ganzen Payload mitschreiben muss, habe ich den einfach in eine Readinglist gepackt und muss, im Fall der Fälle, nur diese Zeile ändern. Ist so'n bisschen von hinten durch's Auge, aber das kann ich auch in einem Jahr noch nachvollziehen  8)