[Modul] Shelly

@KaiS

ich habe heute morgen das letzte Update des Shelly Moduls eingespielt bzw. dieses aktualisiert, Danach habe ich festgestellt, das ich meine Dimmer nicht mehr ausschalten konnte, sondern diese nach dem Ausschalten direkt wieder mit 10% Dimmlevel angingen.

Meine Vermutung hatte sich bestätigt, das es an meine Skript „Mindesthelligkeit einhalten“ lag.

<?php

if ($_IPS['VALUE'] < 10){ //Wenn gewählte Helligkeit KLEINER 10%
    RequestAction($_IPS['VARIABLE'], 10); //Helligkeitswert auf 10% setzen
}

Angetriggert wird dieses Skript über Änderung der Helligkeit der Dimmer.

Dieses funktionierte bis zum Einspielen des Shelly-Modul Update einwandfrei.

Nun habe ich Folgendes festgestellt:
Wird ein Dimmer über die STATE (Status) Variable ausgeschaltet, dann wird das Dimmlevel auch auf 0% gefahren. Dieses war vorher definitiv nicht so, hier blieb das Dimmlevel immer auf dem vormals eingestellten Wert.
Weil nun das Dimmlevel mit dem Ausschalten des Dimmers auf 0% gesetzt wird, trat natürlich mein o.g. Skript in Aktion und hat das Dimmlevel wieder auf 10% gesetzt und somit den Aktor wieder eingeschaltet.

Würdest Du dieses bitte einmal überprüfen? Dieses muss eindeutig mit Deinem Modul bzw. mit dem letzten Update aus dem Beta Kanal zusammenhängen.

Das muss ich nochmal überprüfen, wie gesagt bei mir funktioniert das.

Das ist Absicht damit Alexa, HomeKit usw. funktionieren.

Grüße,
Kai

@KaiS:

Würdest oder könntest Du dieses näher erläutern, wieso dieses so sein muss damit Alexa bzw Homekit funktioniert? Ich habe die Dimmer vormals schon über Alexa bzw. das Alexa Modul in Symcon gesteuert, das funktionierte einwandfrei (ohne das die Brightness auf 0% gesetzt wurde wenn der Dimmer ausgeschaltet wurde).

Dann ist bei Alexa / HomeKit aber die Helligkeit immer noch auf dem vorherigen Wert.
Das führt bei HomeKit zum Beispiel dazu, dass die Lampe als eingeschaltet erkannt wird.

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

Das ist aber Käse! Und meiner Meinung nach ein Homekit-Problem, welches man nicht so umgehen sollte.
Beim Alexa Modul (zumindest dem Modul aus Symcon) kann man diese Dimmer als „Licht (Experte)“ anlegen und hat dort sowohl eine Status, als auch eine Level-Variable. Wenn Status = Off, dann ist das Licht aus (egal auf welchem Pegel das Level steht).

Jetzt habe ich nämlich das Problem, das ich meine Dimmer auf <10% über Symcon regeln kann, diese dann augenscheinlich aus sind (Leuchtmittel hat nicht gezündet) in Wirklichkeit aber an sind. Dieses hatte ich vorher über mein o.g. Skript ja verhindert.

Oder man sollte es so machen, das bei reiner Helligkeitsänderung nur das Dimm-Level geändert wird, der Aktor aber nicht einschaltet (aber das ist wohl ein Shelly-Problem).

Weiterer Nachteil nun, das man im Webfront nicht mehr sieht auf welchem Level die Dimmer stehen, erst wenn man die Dimmer einschaltet. Vorher konnte man immer schön die eingestellte Helligkeit sehen, auch wenn die Dimmer aus waren.

Zumal die zuletzt eingestellte Helligkeit ja im Dimmer selbst (also über das WebUI des Dimmers einsehbar) erhalten bleibt (z.B. 55%), im Webfront aber nach dem Ausschalten auf 0% gesetzt wird. Nach dem nächsten Einschalten springt es dann wieder auf den gespeicherten Wert (z.B.55%).

Das sind für mich aber extrem viele Nachteile… :frowning:

@KaiS:
Hast Du auch eine SymBox?
Kann es an der PHP-Version liegen?

Viele Grüße aus dem Unterallgäu
Harry

Hallo Kai,
bei mir zeigt der Shelly Configurator leider den Shelly Dimmer nicht an. Hab diesen auch Versucht manuell hinzuzufügen, leider ohne Erfolg. Kannst du mir weiterhelfen?
Gruß,
Valeri

Hi,
ich reiche mal ein paar details zu meinem Problem nach. Erstmal die Bilder der Konfiguration:




Ich hab die IPS 5.1 auf Raspberry PI.

Gruß
Valeri

Schau bitte mal auf den Port vom IPS MQTT Server. Nicht das der noch auf 1024 steht.

Hi tomgr,
ja der Port ist auf 1883 gesetzt. Ist im Anhang Bild 2 zu sehen.
Danke fürs drüber schauen.

Gruß,
Valeri

Welche IP-Symcon version verwendest du? Du kannst im Debug ja mal schauen, ob das Gerät sich überhaupt an den MQTT Server korrekt verbindet. Evtl. blockiert die Firewall ja Verbindungen?

paresy

Hi Paresy,
ich verwende die 5.1. Im MQTT Server hab ich im Debug geschaut. Da meldet sich das Gerät auch korrekt. Inzwischen konnte ich den Dimmer manuell angelegen ohne Änderungen an der Konfiguration. Im Konfigurator ist er nie aufgetaucht und wird auch nach dem manuellen Anlegen nicht angezeigt. Ich bin froh dass der Dimmer jetzt funktioniert. Macht mir Hoffnung weiter Shelly Geräte zu kaufen.
Noch eine Frage hinterher, gibt es eine Möglichkeit Passwort geschützte Shelly Geräte zu steuern?

Gruß,
Valeri

Ich glaube das Feature kam zur 5.2.

paresy

Ich schaue mir das nochmal an.

Ich kann es mit der SymBox auch nochmal testen.
Da fnmatch auf der SymBox eigentlich nicht existiert und die Funktion hier (IPS-Shelly/ShellyHelper.php at master · Schnittcher/IPS-Shelly · GitHub) nachgebaut wurde könnte es wirklich daran liegen. Ich überprüfe das nochmal. :slight_smile:

Der Dimmer sollte über den Konfigurator angelegt werden.
Sind die Geräte evtl. eine einem anderem Netzwerk, hast du bis jetzt nur einen Dimmer oder noch andere Geräte von Shelly im Einsatz?

Was willst du mit einem Passwort schützen? Nur das Webinterface oder MQTT?
Für MQTT müsstest du einfach mal versuchen beim Shelly Username und Passwort zu hinterlegen und beim MQTT Server in Symcon die selben Zugangsdaten.

Grüße,
Kai

Hallo paresy,

darf ich an dieser Stelle nachfragen, ob ihr auch an dem Problem dran sein, dass der MQTT-Server von IPS hin und wieder mal die Verbindung zu den Shelly-Clients verliert ? Wie beschrieben, kann man im Debug zwar sehen, dass die Shellies weiterhin brav ihre Alive-Meldungen schicken, aber zum einen keine Rückmeldung gemacht wird und zum anderen RequestAction-Befehle solange ins Leere laufen, bis man über einen HTTP-Request die Verbindung wieder hergestellt hat.

Grüße Frank

Hallo Kai,

danke fürs Nachprüfen.

Worum gibt es kein fnmatch in der SymBox? Ist das eine eingeschränkte PHP-Installation?

Gibt es irgendwo eine Übersicht was noch fehlt?

Viele Grüße aus dem Unterallgäu
Harry

Liegt wohl weniger an PHP, als am OS. Eingeschränkt seitens Symcon sind nur die Erweiterungen innerhalb von PHP.
Zu fnmatch steht in der PHP Doku:
Warnung

For now, this function is not available on non-POSIX compliant systems except Windows.

Linux ist nicht vollständig POSIX kompatibel.
Somit sollte man von solchen eingeschränkten PHP Funktionen immer absehen.

Michael

Ich hatte ja auch für Ersatz gesorgt. Es funktioniert auch bis jetzt. Ich muss es mal genauer prüfen.

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

Hi Kai,

der Dimmer ist im selben Netzwerk und ist im Moment das erste Shelly Gerät (PI via LAN und Shelly via WLAN im selben Class C Netz). Ich würde gerne weitere einbinden. Durch die Problematik mit dem ersten Gerät bin ich erstmal vorsichtig mit weiteren Geräten.
Passwort wollte ich für das Webinterface, einfach um eine kleine Hürde zu haben. Ich lasse normalerweise keinen in mein (W)LAN. Alle kommen in das Gäste (W)LAN.
Gruß,
Valeri

Wie hast du den Dimmer manuell angelegt?
Kannst du davon nochmal die Konfiguration zeigen?

Grüße,
Kai

Gesendet von iPhone mit Tapatalk