Hallo zusammen,
ich versuche einen Shelly Pro Dual Cover (FW 1.7.1) in FHEM so einzubinden, dass beide Kanäle jeweils als eigenes Rollo (für AutoShuttersControl / ASC) nutzbar sind.
Das Shelly-Device selbst funktioniert korrekt:
set Dachgeschoss_Rollo open 0
set Dachgeschoss_Rollo closed 0
set Dachgeschoss_Rollo stop 0
set Dachgeschoss_Rollo pct 50 0
→ alle Befehle funktionieren direkt auf dem Parent-Device.
Ich möchte nun jeden Kanal ein eigenes Device (z. B. per readingsProxy) definieren, das:
• open / closed / stop / pct
• und von ASC genutzt werden kann.
Mein Ansatz mit readingsProxy
define Dachgeschoss_Rollo_Hinten readingsProxy Dachgeschoss_Rollo:pct_0
attr Dachgeschoss_Rollo_Hinten setList \
open:noArg closed:noArg stop:noArg pos:slider,0,1,100
attr Dachgeschoss_Rollo_Hinten setFn {
my ($hash, $name, $cmd, @args) = @_;
return "Unknown argument $cmd"
unless $cmd =~ /^(open|closed|stop|pos)$/;
my ($parent) = split(":", $hash->{DEF});
if ($cmd eq "pos") {
fhem("set $parent pct $args[0] 0");
}
elsif ($cmd eq "open") {
fhem("set $parent open 0");
}
elsif ($cmd eq "closed") {
fhem("set $parent closed 0");
}
else {
fhem("set $parent stop 0");
}
}
Der setFn wird ausgeführt, aber der Shelly-Befehl schlägt fehl:
set Dachgeschoss_Rollo pct 50 0 : not enough parameter
Obwohl derselbe Befehl direkt auf dem Shelly-Device funktioniert.
Zusätzlich:
• disableSetReading wird vom readingsProxy nicht unterstützt
• pct als Set-Befehl kollidiert mit dem readingsProxy
• auch mit alternativem Set-Befehl (pos) bleibt der Fehler bestehen
Meine Fragen
1.Ist es grundsätzlich nicht möglich, pct eines Shelly Pro Dual Cover über readingsProxy + setFn zuverlässig zu setzen?
2.Gibt es einen Weg, beide Kanäle eines Pro Dual Cover ASC-fähig abzubilden?
Vielen Dank für Hinweise
Pit
Vielleicht mal hier anhängen: https://forum.fhem.de/index.php?topic=142739.0
Mein Verständnis von setFn wäre, dass da ein String zurück gegeben werden sollte, den das Modul dann an das Stamm-Device weiterreicht.
Diese fhem()-Anweisungen kommen jedenfalls mir "falsch" vor
Hallo und guten Morgen Beta-User,
vielen Dank für deine Info. Mein Problem aktuell ist wohl erst einmal, dass das Stamm-Device, der Shelly Pro Dual Cover "pct" nicht verarbeitet.
Die Befehle:
set <name> open 1
set <name> closed 0 klappen.
Der Befehl:
set <name> pct 50 1 geht ins Leere...
Fehlermeldung: "not enough parameter".
Ich habe das Problem auch im Support-Thread Shelly geschildert, mal sehen...
Vielen Dank und viele Grüße
Pit