FHEM Forum

FHEM => Automatisierung => Thema gestartet von: piet_pit am 09 Februar 2026, 21:31:26

Titel: Readingsproxy: Shelly Pro Dual Cover
Beitrag von: piet_pit am 09 Februar 2026, 21:31:26
Ich habe einen Shelly Pro Dual Cover. Dieser hat zwei Kanäle. Um diese getrennt anzusprechen, habe ich für jeden Kanal einen Readingsproxy definiert:


define Dachgeschoss_Rollo_Vorne readingsProxy Dachgeschoss_Rollo:pct_1
define Dachgeschoss_Rollo_Hinten readingsProxy Dachgeschoss_Rollo:pct_0

Damit kann ich beide Kanäle getrennt steuern:
set Dachgeschoss_Rollo_Hinten closed schliesst das hintere Rollo.

Was aber nicht klappt über das Readingsproxy ist der Befehl mit pct, der das Rollo auf eine bestimmte Position fahren lässt!

Der Befehl

set Dachgeschoss_Rollo 50 0 funktioniert!

Der Befehl über das Readingsproxy...
set Dachgeschoss_Rollo_Hinten pct 50 leider nicht.

Ich habe versucht, das Thema mit ChatGBT zu lösen, die kommt aber nach vielen Vorschlägen auch nicht weiter, schlägt mir jetzt vor, lieber einen Dummy zu nehmen!

Hier noch die setFn, die ich mit ChatGBT "erarbeitet" habe, die aber nicht klappt.
{
  my ($hash, $name, $cmd, @args) = @_;

  return "Unknown argument $cmd"
    unless $cmd =~ /^(open|closed|stop|pos)$/;

  # Parent-Device aus DEF ermitteln (vor dem :)
  my ($parent) = split(":", $hash->{DEF});

  return "Parent device not found" unless $parent;

  if ($cmd eq "pos") {
    return "pos needs a value (0-100)" unless defined $args[0];
    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 { # stop
    fhem("set $parent stop 0");
  }

  return undef;
}

Habt ihr noch eine Idee?
Grüße
Pit