Verketten von FHEM Befehlen - in "at" & "notify" korrektes Verhalten?

Begonnen von RalfRog, 11 Dezember 2025, 23:39:16

Vorheriges Thema - Nächstes Thema

RalfRog

Hallo
Ich habe zur Verkettung eine Frage/unerklärliches Verhalten. Bei mir funktioniert zwar alles (zufällig?) seit Langem, aber ich bin über leicht merkwürdige Logeinträge gestolpert.

Ich habe versucht es in einen einfachen Testfall herunterzubrechen, bei dem nur die Reihenfolge der Verkettung geändert wird.

  • In der Befehlszeile von FHEMWEB funktionieren folgende Kommandos (Perl-Modus) erwartungsgemäß und ohne Auffälligkeiten.
Befehlszeile:
{fhem("msg push Logtest;;set LampeHighboard off")}

Log:
2025.12.11 22:40:08.913 3: msg globalMsg: ID=1765489208.90265.1 TYPE=push ROUTE=telegram STATUS=OK PRIORITY=0 TITLE='' MSG='Logtest'
2025.12.11 22:40:08.915 3: cubeCUL_stk2 IT_set: LampeHighboard off
  Ebenfalls wenn die Reihenfolge der Kommandos gedreht wird:
Befehlszeile:
{fhem("set LampeHighboard on;;msg push Logtest")}

Log:
2025.12.11 22:39:46.093 3: cubeCUL_stk2 IT_set: LampeHighboard on
2025.12.11 22:39:46.432 3: msg globalMsg: ID=1765489186.42412.1 TYPE=push ROUTE=telegram STATUS=OK PRIORITY=0 TITLE='' MSG='Logtest'



  • In einem "at" oder "notify" funktioniert aber nur die obere Reihenfolge   (komplette Lists der Devices am Ende).
das at:     DEF   *03:00 {fhem("msg push Logtest;;set LampeHighboard off")}
oder
das notify: DEF   LampeTerasseStand:on {fhem("msg push Logtest;;set LampeHighboard off")}

Log:
2025.12.11 23:02:40.074 3: cubeCUL_stk2 IT_set: LampeHighboard off
2025.12.11 23:02:40.404 3: msg globalMsg: ID=1765490560.06424.1 TYPE=push ROUTE=telegram STATUS=OK PRIORITY=0 TITLE='' MSG='Logtest;set LampeHighboard off'
=> Besonderheit (und das war mir aufgefallen) ist im Log:   MSG='Logtest;set LampeHighboard off'

   anderherum gibt es eine Fehlermeldug im Log
das at:     DEF   *03:00 {fhem("set LampeHighboard off;;msg push Logtest")}

Log:
2025.12.11 23:13:25.295 3: set LampeHighboard off;;msg push Logtest : Unknown argument off;msg, choose one of off:noArg on:noArg  toggle off-till off-for-timer on-till-overnight intervals off-till-overnight on-for-timer on-till blink
2025.12.11 23:13:25.296 3: SaveDB_test: Unknown argument off;msg, choose one of off:noArg on:noArg  toggle off-till off-for-timer on-till-overnight intervals off-till-overnight on-for-timer on-till blink
das notify:  LampeTerasseStand:on {fhem("set LampeHighboard off;;msg push Logtest")}

Log:
2025.12.11 23:18:48.611 3: set LampeHighboard off;;msg push Logtest : Unknown argument off;msg, choose one of off:noArg on:noArg  blink off-till-overnight intervals on-till on-for-timer toggle off-for-timer off-till on-till-overnight
2025.12.11 23:18:48.612 3: LampeHighboard_notify_1 return value: Unknown argument off;msg, choose one of off:noArg on:noArg  blink off-till-overnight intervals on-till on-for-timer toggle off-for-timer off-till on-till-overnight




Hier die vollständigen Lists:
define SaveDB_test at *03:00 {\
fhem("set LampeHighboard off;;;;msg push Logtest")\
}
attr SaveDB_test room Dbase
#   CFGFN     
#   COMMAND    {
#fhem("set LampeHighboard off;;msg push Logtest")
#}
#   DEF        *03:00 {
#fhem("set LampeHighboard off;;msg push Logtest")
#}
#   FUUID      693b227f-f33f-76ac-2156-d46975aabc5fad3d
#   NAME       SaveDB_test
#   NR         332
#   PERIODIC   yes
#   RELATIVE   no
#   REP        -1
#   STATE      Next: 03:00:00
#   TIMESPEC   03:00
#   TRIGGERTIME 1765504800
#   TRIGGERTIME_FMT 2025-12-12 03:00:00
#   TYPE       at
#   eventCount 14
#   READINGS:
#     2025-12-11 23:11:51   state           Next: 03:00:00
#
setstate SaveDB_test Next: 03:00:00
setstate SaveDB_test 2025-12-11 23:11:51 state Next: 03:00:00
define LampeHighboard_notify_1 notify LampeTerasseStand:on {fhem("set LampeHighboard off;;;;msg push Logtest")}
#   CFGFN     
#   DEF        LampeTerasseStand:on {fhem("set LampeHighboard off;;msg push Logtest")}
#   FUUID      693b2a00-f33f-76ac-8025-e50583d743d45439
#   NAME       LampeHighboard_notify_1
#   NOTIFYDEV  LampeTerasseStand
#   NR         333
#   NTFY_ORDER 50-LampeHighboard_notify_1
#   REGEXP     LampeTerasseStand:on
#   STATE      2025-12-11 23:18:48
#   TRIGGERTIME 1765491528.60314
#   TYPE       notify
#   eventCount 6
#   READINGS:
#     2025-12-11 23:18:23   state           active
#     2025-12-11 23:18:48   triggeredByDev  LampeTerasseStand
#     2025-12-11 23:18:48   triggeredByEvent on
#
setstate LampeHighboard_notify_1 2025-12-11 23:18:48
setstate LampeHighboard_notify_1 2025-12-11 23:18:23 state active
setstate LampeHighboard_notify_1 2025-12-11 23:18:48 triggeredByDev LampeTerasseStand
setstate LampeHighboard_notify_1 2025-12-11 23:18:48 triggeredByEvent on

FHEM VM Debian13 (trixie) auf Proxmox VE9  (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

RalfRog

Addon
Wechselt man nicht mit {fhem("..")} nach Perl sondern bleibt auf FHEM-Ebene funktioniert es komplett und ohne die Merkwürdigkeit im Log.

Oft hat man aber den Wechsel in den Perl-Modus und ich hab das Verhalten so nicht erwartet.
Mache ich etwas falsch oder liegts am at/notify?

Gruß Ralf
FHEM VM Debian13 (trixie) auf Proxmox VE9  (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen