Hallo,
ich komme derzeit mit der Syntax für Bedingungen in einem Notify nicht weiter. Kurz was ich machen will: abhängig vom Schaltzustand einer Steckdose (Huedevice) soll ein MQTT publish ausgelöst werden an ein AWTRIXLight Device (Ulanzi Pixel Clock). In einem ersten Schritt soll hier mal nur "on" und "off" angezeigt werden, in einem späteren Schritt soll dann beik Zustand "off" eine leere MQTT Message versendet werden um die Seite zu löschen, aber so weit komme ich erst gar nicht. Mein bisheriger Versuch sieht so aus:
define notify_Display_SteckdoseDrucker notify SteckdoseDrucker.* {\
fhem(qq(set MQTT2_FHEM_Server publish awtrix_52/custom/SteckdoseDruckerOn {"icon": "56378","duration":"5","text": "on"}))) if ($EVENT eq "on");;\
fhem(qq(set MQTT2_FHEM_Server publish awtrix_52/custom/SteckdoseDruckerOn {"icon": "56378","duration":"5","text": "off"})) if ($EVENT eq "off");;\
}
Edit: hier das angeforderte Listing:
Internals:
DEF 8 IODev=deCONZ
FUUID 62c3bb85-f33f-6bf2-d738-2aeaff976a460038
FVERSION 31_HUEDevice.pm:0.282220/2023-11-28
ID 8
INTERVAL
IODev deCONZ
NAME SteckdoseDrucker
NR 269
STATE off
TYPE HUEDevice
desired 0
eventCount 81
has_events 1
manufacturername IKEA of Sweden
modelid TRADFRI control outlet
name On/Off plug-in unit 8
productid E1703
swversion 2.0.024
type On/Off plug-in unit
uniqueid 84:fd:27:ff:fe:cd:e6:83-01
READINGS:
2024-01-30 08:22:11 IODev deCONZ
2024-01-30 08:22:12 alert none
2024-01-30 09:40:11 lastseen 2024-01-30T08:39Z
2024-01-30 08:27:26 onoff 0
2024-01-30 08:27:26 pct 0
2024-01-30 08:22:12 reachable 1
2024-01-30 08:27:26 state off
helper:
alert none
battery -1
bri -1
colormode
ct -1
devtype
dynamics_status
effect
hue -1
lastseen
mode
on 0
pct 0
reachable 1
rgb
sat -1
update_timeout -1
v2effect
xy
capabilities:
alerts:
none
select
lselect
json:
e changed
id 8
r lights
source event
t event
uniqueid 84:fd:27:ff:fe:cd:e6:83-01
attr:
id 8
lastannounced
lastseen 2024-01-30T08:40Z
manufacturername IKEA of Sweden
modelid TRADFRI control outlet
name On/Off plug-in unit 8
productid E1703
swversion 2.0.024
type On/Off plug-in unit
uniqueid 84:fd:27:ff:fe:cd:e6:83-01
Attributes:
IODev deCONZ
alias Steckdose5
color-icons 2
devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
group HUEDevice
model TRADFRI control outlet
room HUEDevice
subType switch
webCmd toggle:on:off
Wo genau liegt mein Denkfehler? Wie sollte die Syntax aussehen wenn der state vom SteckdoseDrucker "on" oder "off" sein kann? Danke für alle Tipps!
Es heißt hier in der "Bedienungsanleitung" zum Forum nicht umsonst, dass man ein "list" ALLER beteiligten Devices posten soll...
Zitat von: Jackie am 30 Januar 2024, 07:10:29Mein bisheriger Versuch sieht so aus:
define notify_Display_SteckdoseDrucker notify HUEDevice3.* {\
fhem(qq(set MQTT2_FHEM_Server publish awtrix_52/custom/SteckdoseDruckerOn {"icon": "56378","duration":"5","text": "on"}))) if ($EVENT eq "on");;\
fhem(qq(set MQTT2_FHEM_Server publish awtrix_52/custom/SteckdoseDruckerOn {"icon": "56378","duration":"5","text": "off"})) if ($EVENT eq "off");;\
}
... HueDevice3....
Also was jetzt: HUEDevice316, HUEDevice3, HUEDevice35 oder HueDevice3?
Und. Wo hast du den Code rausgeschnippselt? Würde mich wundern, wenn es ein Modul mit "SteckdoseDrucker" gäbe...
(Lt. commandref zu notify ist die Syntax:
define <name> notify <pattern> <command>
Zusätzlich denke ich, dass bei dieser Definition
Zitatdefine notify_Display_SteckdoseDrucker notify HUEDevice3.*
in $EVENT nur "on" bzw. "off" steht, weil das prüfst du ja ab:
Zitatif ($EVENT eq "on")
.
Besser das notify aus dem Eventmonitor erzeugen lassen: https://wiki.fhem.de/wiki/Event_monitor
Und auch nicht "nur" .* -> alle Events!
Dann per Logausgabe mal prüfen, was tatsächlich in $EVENT (oder $EVTPARTx: $EVTPART1, $EVTPART2, ...) steht: https://forum.fhem.de/index.php?topic=102513.0
Ob dann der Aufruf
Zitatfhem(qq(set MQTT2_FHEM_Server publish awtrix_52/custom/SteckdoseDruckerOn {"icon": "56378","duration":"5","text": "on"})))
funktioniert?
Aber das kannst du ja im FhemWeb-Eingabefenster ausprobieren...
Wobei ich das "Konstrukt" eh eigenartig finde...
Gruß, Joachim
Zitat von: MadMax-FHEM am 30 Januar 2024, 08:26:40Ob dann der Aufruf Zitatfhem(qq(set MQTT2_FHEM_Server publish awtrix_52/custom/SteckdoseDruckerOn {"icon": "56378","duration":"5","text": "on"})))
funktioniert?
Wobei ich das "Konstrukt" eh eigenartig finde...
Und inhaltlich falsch. Zahlenwerte werden in json nicht in Anführungszeichen übergeben.
Zitatfhem(qq(set MQTT2_FHEM_Server publish awtrix_52/custom/SteckdoseDruckerOn {"icon": "56378","duration":"5","text": "on"}))) if ($EVENT eq "on")
Hast Du eigentlich mal die Klammern gezählt?
Sowohl die öffnenden als auch die schließenden?
Probier doch mal so:
fhem('set MQTT2_FHEM_Server publish awtrix_52/custom/SteckdoseDruckerOn {"icon": 56378,"duration":5,"text":"on"}') if ($EVENT eq "on");