Button erzeugen für Schaltbare Steckdose

Begonnen von Jackie, 05 November 2017, 14:28:10

Vorheriges Thema - Nächstes Thema

Jackie

Hallo,

zunächst: sorry für die dumme Frage, ich habe gerade erst FHEM auf meinem Raspi 3 aufgesetzt, und erfolgreich ein Gerät für meine Fritz Dect 200 (schaltbare Steckdose) erzeugt, dabei hat FHEM; gleich automatisch ein Icon in Form einer Glühbirne die den Schaltzustand anzeigt, und einen Link "on" sowie "off" erzeugt, um die Steckdose zu schalten.

Wie kann ich jetzt einen eigenen Link bzw. "Button" anlegen? Ich möchte also in der Oberfläche einen Link mit dem Text "An für 5 Minuten", und bei Klick darauf das Attribut on-for-timer auf 300 setzen. Wie muss ich vorgehen?
Raspi 3 mit FHEM, LWZ 304 Trend, Fronius Symo 10.0-3-M, Conbee II Stick, Optokoppler (USB, FTDI), diverse Ikea Tradfri Komponenten,...

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Jackie

So, danke für die Antwort, ich habe etwas mit der Syntax gekämpft, aber wie folgt das Verhalten honbekommen. Das einzige, was ich jetzt noch unschön finde ist, dass die "Lampe" neben dem Schalter on:off nicht automatisch aus geht, wenn die Steckdose nach 3 Minuten ausschält, sondern erst wenn ich mit Off ausschalte. Die Steckdose funktioniert. Wie lasse ich die "Lampe" die neben dem Dummy angezeigt wird wieder mit dem tatsächlichen Schaltstatus der Steckdose synchronisieren? Hier mal mein Code:

define OnFor3Minutes dummy
attr OnFor3Minutes room Hauswirtschaftsraum
attr OnFor3Minutes webCmd on:off

define OnFor3MinutesNotifyON notify OnFor3Minutes:on set DECT200 on-for-timer 180
define OnFor3MinutesNotifyOFF notify OnFor3Minutes:off set DECT200 off
Raspi 3 mit FHEM, LWZ 304 Trend, Fronius Symo 10.0-3-M, Conbee II Stick, Optokoppler (USB, FTDI), diverse Ikea Tradfri Komponenten,...

Beta-User

Warum nutzt du dafür einen dummy :o ?

Einfach den webCmd des zu schaltenden Devices bearbeiten, wie in der verlinkten Commandref als Beispiel hinterlegt:

webCmd
Durch Doppelpunkte getrennte Auflistung von Befehlen, die für ein bestimmtes Gerät gelten sollen.  Funktioniert nicht mit smallscreen, ein Ersatz dafür ist der devStateIcon Befehl.
Beispiel: attr lamp webCmd on:off:on-for-timer 10

Wobei statt lamp dann halt DECT200 stehen solle....

https://forum.fhem.de/index.php/topic,68310.msg597944.html#msg597944 kennst Du?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Jackie

Danke für den Tipp, ich habe halt mal mit verschiedenen Varianten rumgespielt, und der Dummy gefiel mir ganz gut, wobei ich gerne ein anderes Gerät hätte, das nicht Dummy heisst. Angenommen, ich behalte den Dummy: kannst du der Vollständigkeit halber noch erklären, wie man das Lampen-Icon vom Dummy mit den tatsächlichen Schaltzuständen der DECT200 verknüpft? Ich will ja was lernen ;)
Raspi 3 mit FHEM, LWZ 304 Trend, Fronius Symo 10.0-3-M, Conbee II Stick, Optokoppler (USB, FTDI), diverse Ikea Tradfri Komponenten,...

Beta-User

 :(
OK, vielleicht nochmal die Kurzfassung dessen, was es m.E. zu verstehen galt:

Es macht in der Regel wenig Sinn, irgendein Device (hier: DECT200) durch irgend ein anderes Pseudo-Device (Dummy) zu repräsentieren, wenn man genauso gut das Device an sich nutzen kann.

Die m.E. einzige Ausnahme hierzu sind komplexe Devices, die mehrere Informationen oder  Schaltmöglichkeiten beinhalten, die aus der Sicht eines Benutzers gar nichts miteinander zu tun haben, nur eben dummerweise auf demselben physischen Device vereint sind. Das mag abstrakt klingen, aber ich habe z.B. einen MySensors-Arduino, der mir mehrere Meßwerte liefert, die "zufällig" eben über den Arduino kommen (konkret: div. Außentemperaturen und Temperaturen an der Heizungsanlage, den Gaszähler usw.). Dann will ich gelegentlich eine einzelne Temperatur wie die Außentemperatur auch einzeln in einen anderen Raum anzeigen lassen, ohne gleich die ganze Heizungsanlage durchzusehen. Oder einen 2-kanaligen Homematic-Switch, der zwei völlig unterschiedliche Seiten des Hauses mit Außenlicht versorgt.

In solchen Konstellationen verwende ich tatsächlich teilweise eine Zwischeninstanz, nämlich einen redingsProxy. Wenn ich unterschiedliche Info-Quellen (oder auch mehrere solcher logisch zusammengehörender Infos aus derselben Quelle) zusammenstellen will, auch mal eine readingsGroup.

Aber wie man diese bereits vorhandene Funktionalität mit einem Dummy nachbildet: keine Ahnung...
Das will und muß ich m.E. gar nicht wissen ::) . (Bevor hier diesbezüglich Einwände kommen: Das mag etwas anderes sein, wenn man nicht FHEMWEB als Frontend hat).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors