Hallo,
noch ne richtige Anfängerfrage, aber ich suche jetzt schon zwei Tage vergeblich im Forum und Web:
Wie kann ich statt der webCmd Texte icons für die einzelnen Steuerbefehle konfigurieren?
Beispiel:
attr Markise webCmd on:off:up:down:stop:statusRequest
und ich hätte gern ein:
attr Markise webCmd on<control_arrow_downward>:off<control_arrow_upward>:up<control_arrow_up>:down<control_arrow_down>:stop<irgendein_icon>:statusRequest<irgendein_icon>
Kann mir jemand helfen?
Viele Grüße und Danke
das geht zur zeit nicht direkt. du kannst aber das remotecontroll modul dazu verwenden dir so etwas zusammen zu bauen.
gruss
andre
Funktioniert das hier mittlerweile eigentlich?
Wenn nicht, welche Alternativen hat man ausser Floorplan und remotecontrol?
Warum sollte das nicht mit devStateIcon klappen?
DevState klappt schon, aller dings will ich bei meinem AVR zum Beispiel das volumeUP Command mit einem Button steuern!
schau dir mal readingsGroup an. damit geht sowas inzwischen auch. im wiki sind beispiele.
gruss
andre
@p.a.trick
Warum baust du dir kein dummy und bei auslösen setzt du VolumeUp
Zitat von: justme1968 am 21 April 2014, 20:55:59
schau dir mal readingsGroup an. damit geht sowas inzwischen auch. im wiki sind beispiele.
gruss
andre
Danke für die den Tipp das werde ich mal ausprobieren.
@Paul: Ich ersaufe schon in Dummies :D
Dann nimmt remotecontrol
mit remotecontroll kannst du dir ein statisches layout konfigurieren.
mit readingsGroup kannst du das ganze dynamisch abhängig von device status machen.
gruss
andre
Danke Andre, ich werde das mit den RG probieren.
Frage anderrum:
Kann man mit readingsGroup Icons anstatt der webcmd Befehle anzeigen in einem "bestehenem Dummy" (ohne neue Ansicht!) ??
define Yamaha dummy
attr Yamaha eventMap Lauter:VolumeUp Leiser:VolumeDown
attr Yamaha webCmd PowerToggle:SpeakerA:SpeakerB:Lauter:Leiser
Würde hier die ganzen Commands (für Hub Harmony) gerne mit Icons ersetzen. (zumindest für den Floorplan)
http://www.bilder-upload.eu/show.php?file=262d9c-1417952952.png (http://www.bilder-upload.eu/show.php?file=262d9c-1417952952.png)
du kannst mit readingsGroup icons für alles verwenden.
aber nicht 'in' einem anderen device sondern du zeigst die reafingsGroup anstelle des anderen device.
wenn es um ein device geht das du mit der harmony steuerst kannst du vermutlich statt dem dummy auch ein device per harmony autocreate erzeugen.
ohne genau zu wissen was dein dummy macht: ich glaube den brauchst du hier garnicht. die readingsGroup alleine reicht.
die baust dir eine readingsGroup mit den icons die du möchtest und konfigurierst über das commands mapping direkt das kommando das beim klicken ausgeführt werden soll. kein notify nötig.
gruß
andre
Zitat von: justme1968 am 07 Dezember 2014, 13:18:56
du kannst mit readingsGroup icons für alles verwenden.
die baust dir eine readingsGroup mit den icons die du möchtest und konfigurierst über das commands mapping direkt das kommando das beim klicken ausgeführt werden soll. kein notify nötig.
Klingt gut, jedoch scheitere ich schon am zuweisen des Icons:
define fp_yamaha readingsGroup fp_yamaha
attr fp_yamaha icon control_on_off
attr command set hub command Yamaha PowerToggle
zum beispiel so:define fp_yamaha readingsGroup <%icon1>,<%icon2>,<%icon3>,...
attr fp_yamaha attr commands {'fp_yamaha.icon1' => 'set hub command Yamaha PowerToggle',... }
statt icon1, icon2, ... nimmst du den namen des icons das du verwenden willst.
oder so:define fp_yamaha readingsGroup fp_yamaha:!onoff,!up,!down
attr fp_yamaha attr valueIcon { 'onoff' => 'control_on_off', ...}
attr fp_yamaha attr commands {'onoff' => 'set hub command Yamaha PowerToggle',... }
hier nimmst du 'symbolische' namen und setzt das icon über das valueIcon mapping.
wenn du den verstärker auch per activity einschalterst kannst du ihn per set hub autocreate Yamaha
als 'echtes' fhem device anzulegen. dann hast du ein power reading und kannst das icon bei on und off unterschiedlich anzeigen und siehst ob er über eine activity schon eingeschaltet ist.
das wäre dann etwa so:define fp_yamaha readingsGroup Yamaha:power,<%icon2>,<%icon3>,...
attr fp_yamaha valueIcon { 'power.on' => 'control_on_off@red', 'power.off' => 'control_on_off@green' }
attr fp_yamaha commands {power => 'set $DEVICE PowerToggle',... }
gruss
andre
Andre, Danke !
Jetzt komme ich weiter.
Ich habe noch versucht die Grösse der Icons per style Attribut anzupassen was so aber anscheinend nicht geht:
attr fp_yamaha valueStyle style="width:20px; height:20px"
Gibt es eine Möglichkeit ?
die icon größe musst du direkt über das/die stylesheets steuern. das geht nicht über die readingsGroup attribute.
gruß
andre
OK, im svg Teil der css gehts.
Eine Frage noch zum Parameter "commands".
Wie muss hier eine SUB in myUtils aufgerufen werden ?
....'fp_multimedia.rc_VOLPLUS' => '{Lauter}'....
wird sofort beim laden ausgeführt..
was soll die sub tun?
das kommando liefern das ausgefürt wird? dann so: => '{mySub()}'. diese muss dann das kommando als string zurück liefern.
zur laufzeit durch den klick aufgerufen werden? das geht in dem du im command per trigger ein event erzeugst => 'trigger myNotify <param>' auf das du dann mit einem notify reagieren kannst define myNotify myNotify {mySub($EVENT) }
gruss
andre
Mehr Details: :)
Meine ReadingsGroup:
define fp_multimedia readingsGroup <%control_on_off>,<%control_standby>,<%rc_TV>,<%rc_RADIO>,<%rc_LEFT>,<%rc_RIGHT>,<%rc_VOLMINUS>,<%rc_VOLPLUS>,<%rc_MUTE>
attr fp_multimedia commands {'fp_multimedia.control_on_off' => 'set hub command Yamaha PowerToggle', 'fp_multimedia.rc_RADIO' => 'set hub activity Radio', 'fp_multimedia.rc_TV' => 'set hub activity Fernsehen', 'fp_multimedia.rc_LEFT' => 'set hub command Yamaha SpeakerB', 'fp_multimedia.rc_RIGHT' => 'set hub command Yamaha SpeakerA', 'fp_multimedia.rc_VOLMINUS' => '{Leiser()}', 'fp_multimedia.rc_VOLPLUS' => '{Lauter()}', 'fp_multimedia.rc_MUTE' => 'set hub command XTrend mute' }
Wenn ich commands so definiere werden die Funktionen {Leiser} und {Lauter} (die ich in myUtils definiert habe) schon beim definieren ausgeführt, klick auf ICON bewirkt jedoch nichts. Mit trigger wirds endlos abgefeuert..
lies noch mal genau was ich geschrieben habe.
die erste version wird beim anzeigen ausgeführt. das ist die die du ausgesucht hat.
du brauchst variante zwei. was heisst endlos?
gruss
andre
Achso OK (werde nochmals genau lesen, sorry).
Endlosschleife wenn:
..., 'fp_multimedia.rc_VOLMINUS' => 'trigger {Leiser()}',...
Das ist Variante 2:
Zitat von: justme1968 am 07 Dezember 2014, 14:38:57
oder so:define fp_yamaha readingsGroup fp_yamaha:!onoff,!up,!down
attr fp_yamaha attr valueIcon { 'onoff => 'control_on_off', ...}
attr fp_yamaha attr commands {'onoff' => 'set hub command Yamaha PowerToggle',... }
hier nimmst du 'symbolische' namen und setzt das icon über das valueIcon mapping.
Hier bekomme ich keine Icons, und habe dasselbe Problem. (Funktion wird sofort ausgeführt).
ich meinte diese zweite version:
Zitatzur laufzeit durch den klick aufgerufen werden? das geht in dem du im command per trigger ein event erzeugst => 'trigger myNotify <param>' auf das du dann mit einem notify reagieren kannst define myNotify myNotify {mySub($EVENT) }
das heisst es muss so aussehen:
..., 'fp_multimedia.rc_VOLMINUS' => 'trigger myNotify leiser',...
und du brauchst ein notify in dieser art:
define myNotify myNotify {if($EVENT eq "leiser") {Leiser()} else {Lauter()} }
gruss
andre
Andre Danke, ReadingsGroup gefällt nun ;D
(http://img5.fotos-hochladen.net/uploads/20141208111vkh3768cdi.png) (http://www.fotos-hochladen.net)
Ich versuche nun noch bei meiner ReadingsGroup die svg Icon über myUtils einzufärben, das funktioniert aber wohl nicht so ?
DEF:
define fp_multimedia readingsGroup <%control_on_off>,<%control_standby>,<%rc_LEFT>,<%rc_RIGHT>,<%rc_VOLMINUS>,<%rc_VOLPLUS>,<%rc_MUTE>,<%rc_UP>
Die Zeile in myUtils:
fhem("attr fp_multimedia valueIcon { 'control_on_off\@EBBB00' }");
da gehört kein \ rein.
gruß
andre
Zitat von: justme1968 am 20 Dezember 2014, 17:18:39
da gehört kein \ rein.
99_myUtils benötigt ein escape ?
Steht dann ja so in valueIcon, wirkt aber nicht. Habe schon einige verschiedene Schreibweisen versucht, ich kann reinschreiben was ich will Icon bleibt weiss.
(http://img5.fotos-hochladen.net/uploads/201412201741g0y2ftkwv.png) (http://www.fotos-hochladen.net)
du schmeisst gerade zwei dinge durcheinander.
mit ...,<%control_on_off>,...
definierst du direkt das icon das angezeigt werden soll. wenn es farbig sein soll schreib es direkt hier hin: ...,<%control_on_off@EBBB00>,...
valueIcon ist zum zuordnen eines icons zu einem reading. hier musst du es so schreiben:attr fp_multimedia valueIcon { 'onoff' => 'control_on_off\@EBBB00' }
entweder nimmst du die <%...> schreibweise oder du nimmst readings und valueIcon.
hatte vorhin auf die schnelle nicht gesehen das noch mehr an der syntax nicht richtig ist.
gruss
andre
Ok, ich benötige dann aber in meiner Dummy ReadingsGroup eigentlich ein Reading das in der ReadingGroup nicht vorhanden ist.
Entweder den State aus dem Presence oder Enigma Modul, geht das ?
Dann müsste ich es auch nicht in myUtils einbauen, weil es die ReadingsGroup selbst auswertet..
{ '[t5.ping.xt] eq "presence"' => 'control_on_off@EBBB00' }
oder
{ '[t5.wz.receiver] eq "on"' => 'control_on_off@EBBB00' }
was möchtest du denn genau machen?
wenn es einfach nur state eines anderen device ist schreib es so in deine readingsGroup:...,state@t5.ping.xt,...
oder ...,state@t5.wz.receiver,...
das geht mit jedem reading aus jedem device. wenn es nicht das aktuelle device der zeile ist dann einfach @<device> an den reading namen anhängen.
und ein passendes mapping für valueIcon. falls deine devices schon ein passendes icon aber devStateIcon haben kannst du in valueIcon einfach { state => '%devStateIcon' } verwenden und das icon wird übernommen.
gruss
andre
Ich möchte das erste Icon (control_on_off) einfärben wenn eingeschaltet, also das Enigma-Modul "state:on" ist.
Ich möchte das zweite Icon (control_standby) einfärben wenn Enigma im Standby, also das Enigma-Modul im "state:standby" ist.
Hier nochmal die vollständige ReadingsGroup:
define fp_multimedia readingsGroup define fp_multimedia readingsGroup <%control_on_off>,<%control_standby>,<%rc_LEFT>,<%rc_RIGHT>,<%rc_VOLMINUS>,<%rc_VOLPLUS>,<%rc_MUTE>,<%rc_UP>\
define fp_multimedia readingsGroup <%rc_TV>,<%rc_RADIO>,<>,<>,<>,<>,<>,<%rc_DOWN>
attr fp_multimedia alias Multimedia Steuerung
attr fp_multimedia commands {'fp_multimedia.control_on_off' => 'trigger fp.notify onoff', 'fp_multimedia.control_standby' => 'trigger fp.notify standby', 'fp_multimedia.rc_RADIO' => 'set hub activity Radio', 'fp_multimedia.rc_TV' => 'set hub activity Fernsehen', 'fp_multimedia.rc_LEFT' => 'set hub command Yamaha SpeakerB', 'fp_multimedia.rc_RIGHT' => 'set hub command Yamaha SpeakerA', 'fp_multimedia.rc_VOLMINUS' => 'trigger fp.notify leiser', 'fp_multimedia.rc_VOLPLUS' => 'trigger fp.notify lauter', 'fp_multimedia.rc_MUTE' => 'trigger fp.notify mute', 'fp_multimedia.rc_UP' => 'trigger fp.notify up', 'fp_multimedia.rc_DOWN' => 'trigger fp.notify down' }
attr fp_multimedia eventMap { eventdescription => 'colspan="2"' }
attr fp_multimedia fp_tabl1 290,18,0,
attr fp_multimedia noheading 1
wenn du ein icon abhängig vom state eines device anzeigen möchtest ist es immer am besten den state dieses device wie oben beschrieben direkt zu verwenden.
das geht aber nur dann wenn es eine postion für alle zustände ist. gibt es einen grund das du zwei icons haben möchtest die nebeneinander sind statt nur ein icons das jeweils den gültigen zustand anzeigt?
zwei unterschiedliche icons würde so gehen:myEnigma:<{stateToIcon1($VALUE)}@state>,<{stateToIcon2($VALUE)}@state>,<%rc_LEFT>,<%rc_RIGHT>,<%rc_VOLMINUS>,...
und dann in stateToIcon1 und stateToIcon2 jeweils die passenden icon namen mit vorangestelltem % und angehängtem @color zurück geben.
gruss
andre
control_on_off, schaltet die HM-Steckdose ein ODER macht ein Enigma Shutdown (wenn Steckdose state:on)
control_standby, schickt Enigma in Standby (wenn state:on), oder eben wieder nach On(wenn state:standby)
In diesem Fall wäre es vielleicht doch am besten ich überschreibe (ausgelöst aus myUtils) die gesamte DEF der Readingsgroup, eben mit gewünschter Farbe der Icons..?
wenn du die def überschreibst statt etwas in der art:myEnigma:<{stateToIcon1($VALUE)}@state>,<{stateToIcon2($VALUE)}@state>,<%rc_LEFT>,<%rc_RIGHT>,<%rc_VOLMINUS>,...
zu machen hast du keine longpoll updates und die icons ändern sich nicht ohne das du die seite neu aufbauen musst.
wenn das für dich kein nachteil ist warum nicht.
gruss
andre
Zitat von: Simon74 am 08 Dezember 2014, 11:15:50
(http://img5.fotos-hochladen.net/uploads/20141208111vkh3768cdi.png) (http://www.fotos-hochladen.net)
Sind die Kacheln unter "Beleuchtung" auch mit readingsGroup umgesetzt?
Das geht in dem Thread nicht so ganz hervor.
darkfloorplanstyle.css:
/* Überschriften */
#fp_text_Beleuchtung { border:none; border-color: none; background-image:none; font-family:Arial;font-size:26px;color: gray; }
/* Buttons */
#div-t5\.ez\.ws1 { border:1px; width:120px; height:90px; -moz-border-radius:2px; border-radius:2px; background-image:url(../images/default/button.png); background-repeat:repeat; }