Hallo,
ich habe einen RPi mit RaspberryMatic (CCU3) schon seit Jahren am laufen und die Integration in Fhem ist wirklich gut. Nun hänge ich aber an folgendem Verhalten:
set RPi_CCU hmscript [dom.GetObject("BidCos-RF.NEQ1464209:3.SUBMIT").State("0x02,0x0A,0x12,0x5B,0x23,0x24,0x7B,0x7C,0x7D,0x5E,0x3A,0x13,0x81,0x0A,0x0A,0x0A,0x14,0xC0,0x1C,0xD1,0x1D,0xE0,0x16,0xF0,0x03")]
Dieser Aufruf, der einen Text an ein HM-Dis_EP-WM55 schickt funktioniert einwandfrei.
set RPi_CCU hmscript [dom.GetObject("HmIP-RF.001520C9ABBA7E:2.COMBINED_PARAMETER").State("L=60,DU=0,DV=0,RTV=0,R=0,SL=002")]
Dieser Aufruf soll ein SoundFile auf einem Kombisignalgeber HmIP-MP3P abspielen. In der RaspberryMatic Script-Umgebung funktioniert das einwandfrei. Bei Fhem bekomme ich "nur" die möglichen hmscript Aufrufe angezeigt.
Wo liegt nun der Unterschied? Über einen Anstoß würde ich mich freuen.
Grüße Jörg
PS: Die Übergabe des COMBINED_PARAMETER Datenpunkts mittels
set <device> datapoint 2.COMBINED_PARAMETER
funktioniert leider auch nicht bzw. ich verstehe dann wohl nicht, wie:
2.COMBINED_PARAMETER L=60,DU=0,DV=0,RTV=0,R=0,SL=002
im set ... übergeben werden muss
Versuche mal, die Scriptbefehle in einer Datei abzulegen. Die Datei kannst Du dann mit
set xy hmscript Dateiname
ausführen. Leider hat FHEM die Syntax Parameter=Wert,Parameter=Wert,... für sich reserviert. Das kommt so schon gar nicht bei HMCCU an sondern wird in einzelne Befehlsparameter hinterlegt. Ich hatte mal den Vorschlag gemacht das so anzupassen, dass man das Verhalten ändern kann, wenn man die Angaben in doppelte Hochkomma schreibt. Ob das umgesetzt wurde, weiß ich nicht. Du kannst es aber einfach mal testen mit:
set xy 2.COMBINED_PARAMETER "L=60,DU=0,DV=0,RTV=0,R=0,SL=002"
Hallo Zap,
in 88_HMCCU.pm könnte ein:
$script =~ s/=/=/g;
zwischen:
1673 # Execute script
1674 $script =~ s/=/=/g;
1675 $response = HMCCU_HMScriptExt ($hash, $script, $h);
das Problem lösen.
Grüße Jörg
PS: Im Moment löse ich das Problem, in dem ich HMCCU_HMScriptExt() in einer myUtils Sub aufrufe.