Modul 36_Shelly.pm

Begonnen von Prof. Dr. Peter Henning, 15 November 2018, 10:24:39

Vorheriges Thema - Nächstes Thema

majestro84

Zitat von: majestro84 am 18 Januar 2020, 21:12:38
Ok es steht denke ich fest es liegt am https.
Es verwundet mich aber schon das es kurzzeitig funtioniert hat trotz https
Guck Mal ab Beitrag 440 hatte das selbe Problem mit https.
VG Alex
Server: Fujitsu ESPRIMO Q920 - aktuellen FHEM-Docker Image:Z-Wave (RollerShutter,DoorWindow,Socket,PIR,....) | ENIGMA2 | EGPM2LAN | BLE-Tag(PRESENCE) | HUE | alexa-fhem | Shelly | MQTT2
1.Pi-Zero:Viessmann(optolink) mit 89_VCONTROL300.pm
2.Pi3 Dongle Server: Zigbee2MQTT(CC1352P-2), Z-Wave(UZB1), BT

THZ_Haus

Hallo, bekomme diese Meldung:
PERL WARNING: Argument "open" isn't numeric in numeric gt (>) at (eval 373823) line 1
Im DIOF sieht es so aus:

([MQTT2_publishing_client:PAC] < 450 and not [Jalo_EG_2:position]eq"open" and not [Jalo_EG_2:position]eq"closed") (set Jalo_EG_2 open) DOELSEIF ([netatmo_D70_ee_50_04_a2_32:temperature] >22 and [MQTT2_publishing_client:PAC] > 1800 and not [Jalo_EG_2:position]eq "closed" and not [Jalo_EG_2:position]>45 )(set Jalo_EG_2 pct 46)

Solarview mit SAM BT, FHEM mit THZ 403 SOL, EDIMAX

Chris8888

Zitat von: majestro84 am 21 April 2020, 07:41:50
Guck Mal ab Beitrag 440 hatte das selbe Problem mit https.
VG Alex

Danke. Werde ich mal umstellen und testen...
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

Mezzanine

#513
Hi,

ich verwende seit gefühlt ewig einen shelly rgbw2 für mein Treppenlicht.
Da ich nun noch einen Bewegungsmelder mit eingebaut habe, wollte ich darüber die Helligkeit
wenn Bewegung detektiert wurde auf 100% stellen.

Allerdings passiert nix wenn ich

set Treppenlicht pct 100

eingebe.

Passt doch aber so, oder?

Der shelly ist so angelegt:

defmod Treppenlicht Shelly x.x.x.x
attr Treppenlicht mode color
attr Treppenlicht model shellyrgbw
attr Treppenlicht room 1_Treppe
attr Treppenlicht webCmd rgb
attr Treppenlicht widgetOverride rgb:colorpicker,rgb


Vielen dank schonmal!

LG Manuel

SouzA

Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

Mezzanine

Hi SouzA,

die Lampe ist bereits eingeschaltet.
Aber trotzdem funktioniert das dimmen nicht  :-[

Ich nutze zuerst
set Treppenlicht on

Dadurch geht der LED-Strip schonmal an.

Aber ein

set Treppenlicht pct 100

ändert nicht die Helligkeit?

SouzA

Zitat von: Mezzanine am 22 April 2020, 16:13:11
Hi SouzA,

die Lampe ist bereits eingeschaltet.
Aber trotzdem funktioniert das dimmen nicht  :-[

Ich nutze zuerst
set Treppenlicht on

Dadurch geht der LED-Strip schonmal an.

Aber ein

set Treppenlicht pct 100

ändert nicht die Helligkeit?

Aus der commandref kann ich nicht ersehen, dass der RGBW dimmen kann. Zumindest nicht mit pct.
For Shelly RGBW devices (model=shellyrgbw and mode=color)
set <name> on|off
switches device <channel> on or off
set <name> on-for-timer|off-for-timer <time>
switches device on or off for <time> seconds.
set <name> hsv <hue value 0..360>,<saturation value 0..1>,<brightness value 0..1>
comma separated list of hue, saturation and value to set the color
set <name> rgb <rrggbb>
6-digit hex string to set the color
set <name> rgbw <rrggbbww>
8-digit hex string to set the color and white value
set <name> white <integer>
number 0..255 to set the white value


Ich denke, du musst mit hsv hantieren.

Bis denn
SouzA
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

Mezzanine

Hi SouzA,

ich glaube du hast recht...
Habe zwar schon x-mal die ref durchgelesen, aber anscheinend hatte ich Tomaten auf den Augen...

hier steht ganz klar:
For Shelly dimmer devices model=shellydimmer or (model=shellyrgbw and mode=white)
Ich wollte dass hier aber color steht...

::)

Danke für den Hinweis.

Schlimbo

Hallo Pah,

vielen Dank für die Entwicklung das Shelly Moduls, ich verwende es aktuell um ein Shelly RGBW2 anzusteuern, was auch bestens funktioniert.

Einen wünsch hatte ich allerdings noch:
Wenn der RGBW2 "aus" geschaltet ist (Status "off") und ich setze einen RGB Werte über "set <name> rgb" bleibt der Stripe dunkel, erst nach einem zusätzlichen "set <name> on" werden die LEDs angesteuert. Hier fände ich es hilfreich wenn im Modul eine Attribute (z.b. "automaticMode") eingebaut werden könnte, welches wenn aktiviert den "on" Befehl automatisch sendet, sobald ein Farbwerte vorgegeben wird und wenn alle Farbwerte auf 00 stehen automatisch ein "set off".
Somit würde sich die Ansteuerung nicht von den HUE Lampen unterscheiden --> ist die HUE Lampe aus und ich sende einen Farbwerte geht sie auch direkt an.
Hilfreich wäre diese Funktion z.b. bei der Nutzung von Alexa, da aktuell ein "Alexa schalte <AlexaName> auf grün" nicht funktioniert wenn der Shelly gerade aus ist.
Ließe sich zwar auch alles irgendwie außenherum programmieren, aber direkt im Modul fände ich das sinnvoller aufgehoben.
Würde mich freuen wenn du diese Funktion in das Modul aufnehmen würdest.

Beste Grüße
Schlimbo



Prof. Dr. Peter Henning

Zitatfände ich das sinnvoller aufgehoben
Ich nicht, sorry.

LG

pah

andies

Mach Dir doch ein cmdalias, damit kriegst du das in einen Befehl:
create new FHEM commands or replace internal ones.
define <name> cmdalias <cmd_to_be_replaced or new_cmd> [parameter] AS <existing_cmd>
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Schlimbo

@andies: danke für den Tipp, hab das mal so umgesetzt:
defmod ShellyPower cmdalias set LEDstripe_Bad rgb .* AS {\
  my $name = $EVTPART0;;\
  my $rgb = $EVTPART2;;\
  fhem "set $name rgb $rgb";;\
  fhem "set $name:FILTER=state!=on on" if ($rgb ne "000000");;\
  fhem "set $name:FILTER=state!=off off" if ($rgb eq "000000")\
  }


@pah:
Bei "set <name> rgbw" ist mir noch ein kleiner Fehler aufgefallen:
Der weiße Kanal wird auf den Wert von blau gesetzt:
    }elsif( $cmd eq "rgbw" ){
      my $red=hex(substr($value,0,2));
      my $green=hex(substr($value,2,2));
      my $blue=hex(substr($value,4,2));
      my $white=hex(substr($value,4,2));


Beste Grüße
Schlimbo

Prof. Dr. Peter Henning

OK, werde ich umgehend korrigieren.

LG

pah

Schlimbo

Hi Pah,
du hattest heute früh ja eine Änderung eingecheckt, hier wurde das Problem aber noch nicht behoben.
Mir ist gerade auch noch ein Fehler im Slider von "set white" aufgefallen:
--- 36_Shelly_org.pm 2020-05-15 07:58:19.641836655 +0200
+++ 36_Shelly.pm 2020-05-15 13:09:15.000000000 +0200
@@ -93,7 +93,7 @@
   "rgbw"          => "A",
   "hsv"           => "H",
   "rgb:colorpicker,HSV" => "R",
-  "white:slider,0,1,100" => "W"
+  "white:slider,0,1,255" => "W"
);

my %shelly_models = (
@@ -726,7 +726,7 @@
       my $red=hex(substr($value,0,2));
       my $green=hex(substr($value,2,2));
       my $blue=hex(substr($value,4,2));
-      my $white=hex(substr($value,4,2));
+      my $white=hex(substr($value,6,2));
       $cmd=sprintf("red=%d&green=%d&blue=%d&white=%d",$red,$green,$blue,$white);
       Shelly_dim($hash,"color/0","?".$cmd);
     }elsif( $cmd eq "white" ){


Gruß Schlimbo

Schlimbo

#524
Hallo pah,
Als Gegenstück zu "set rgbw" würde ich mir noch ein Reading "rgbw" wünschen, dies wäre bei der Verwendung von FILTER sehr nützlich:
set LEDstripe_Bad:FILTER=rgbw!=00FF0000 rgbw 00FF0000
Spricht da etwas dagegen?

Gruß
Schlimbo