zu bestehendem Gerät eigene Attribute hinzufügen

Begonnen von marc-willmann, 25 Januar 2015, 12:31:32

Vorheriges Thema - Nächstes Thema

marc-willmann

Hallo,

ich habe ein selbstgebautes Ambilight, das auch bereits in FHEM eingebunden ist (schaltet sich selbst ein/aus abhängig vom Schaltzustand der Heimkinoanlage). Nun möchte ich gerne zusätzlich eigene Effekte über FHEM steuerbar machen, um den WAF weiter zu erhöhen.

Also "Ambilight" -> Klick -> Effekte -> rot / ... und das Ambilight macht das dann, unabhängig von den restlichen Schaltzuständen. Das würde der besten Ehefrau von allen Lichtstimmungen auf Knopfdruck ermöglichen. Auf Kommandozeilenebene funktioniert alles.

Meine Frage nun: Was ist der beste/eleganteste Weg, FHEM das entsprechend beizubringen? Dummy-Device mit Notify? Hört sich für mich erstmal umständlich an, gibt's da nicht was einfacheres?

Als Ergebnis stelle ich mir eine Dropdown-Liste vor, die bei Auswahl eines Wertes einen Befehl auf der Kommandozeile absetzt (in meinem Fall sowas wie

ssh -l ambi 192.168.91.137 "LD_LIBRARY_PATH=/storage/hyperion/bin /storage/hyperion/bin/hyperion-remote.sh <EFFECTNAME>"

Da es das Device Ambilight bei mir schon gibt (um eine Steckdose zu schalten), wäre es ideal, dieses zu erweitern. Falls das nicht gehen sollte, für ich dann ein neues Device "AmbilightSteuerung" verwenden...

Vielen Dank für jeden Schubs in die richtige Richtung.

Marc

nesges

Verschiedene Devices haben ein setList-Attribut, das würde dir die Dropdown-Liste erzeugen. Siehe zB http://fhem.de/commandref.html#dummy

Dummy+notify sind gar nicht so unelegant, wie sie vielleicht anfangs wirken. Das notify lässt sich später einfach anpassen und es lassen sich beliebig viele notifys auf einen dummy definieren. Je nachdem wie dein Ambilight-Device definiert ist, gibt's aber verschiedene andere Möglichkeiten. Schau dir zB readingsGroup (http://fhem.de/commandref.html#readingsGroup) und readingsProxy (http://fhem.de/commandref.html#readingsProxy) an und lies dir auch den Abschnitt über setList in http://fhem.de/commandref.html#FHEMWEB durch.

justme1968

schau dir in der aktuellen fhem.cfg.demo mal die beiden readingsProxy demos für farbige lampen an.

vielleicht hilft dir das ja weiter.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

g4cab

Zitat von: marc-willmann am 25 Januar 2015, 12:31:32
ich habe ein selbstgebautes Ambilight, das auch bereits in FHEM eingebunden ist (schaltet sich selbst ein/aus abhängig vom Schaltzustand der Heimkinoanlage).
Moin, habe auch hyperion auf nem RasPi am laufen.

Wie genau hast du das eingebunden?
Könntest deine define Zeile mal posten?

Schlimbo

Hallo zusammen,

zum einbinden von Hyperion habe ich hier schon mal was geschrieben:
//http://forum.fhem.de/index.php/topic,27900.msg252540.html#msg252540

ich habe mir hier auch einfach Dropdown-Listen erstellt, aus denen z.b. die Effekte ausgewählt werden können.

Gruß Schlimbo

g4cab

Danke Schlimbo, hab das ganze soweit definiert und auch die myUtils.pm angelegt.

Ich bekomme aber beim Aufruf nur Fehlereinträge im FHEM Log


2015.02.14 17:50:04 3: Hyperion.ntfy return value: Undefined subroutine &main::Hyperion called at (eval 237) line 1.
2015.02.14 17:50:04 1: devStateIcon Hyperion: Undefined subroutine &main::Color_devStateIcon called at (eval 261) line 1.

g4cab

Hab den Fehler gefunden!

Wenn ich den Code hier aus dem Forum kopiere, schleichen sich irgendwie Sonderzeichen mit rein am Ende einiger Zeilen.

Habe nun jeder Zeile einen neuen CR verpasst und nu klappt es :D