Ankündigung
Einklappen
Keine Ankündigung bisher.
Szenen-Widget mit Aktivstatus
Einklappen
X
-
Hier ist der Code, erst der Aufruf
Code:<table width="33%"> <tr> <td>{{ mydevice.shutter ('dg_rollade_sued', 'Sued', 'Sued.Rollade.AufAb', 'Sued.Rollade.Stop', 'Sued.Rollade.Position' ) }}</td> <td>{{ mydevice.shutter ('dg_rollade_west', 'West', 'West.Rollade.AufAb', 'West.Rollade.Stop', 'West.Rollade.Position', 'West.Rollade.Automatik' ) }}</td> <td valign="bottom" align="right"> {{ basic.button(dg_fenster, 'Fenster.Rolladenautomatik', '', 'time_automatic.svg', 1, 'mini') }} </td> </table>
Code:{% macro shutter (id, txt, gad_move, gad_stop, gad_pos, gad_auto) %} {% import "basic.html" as basic %} /** Design */ <div class="blind"> <table width="125" cellspacing="5" cellpadding="0"> <tr> <td valign="top" align="center"> {% if gad_auto %} {{ basic.symbol(id|_('auto_on'), gad_auto, '', 'fts_shutter_automatic.svg') }} {{ basic.symbol(id|_('auto_off'), gad_auto, '', 'fts_shutter_manual.svg', 0, 'or', 'icon1') }} {% else %} <img class="icon" src="{{ icon0 }}fts_shutter_40.svg" /> {% endif %} </td> <td rowspan="3" align="left" class="pos"> {{ basic.slider(id|_('pos'), gad_pos, 0, 255, 5, 'vertical') }} </td> <td rowspan="3" align="left" class="pos"></td> </tr> <tr> <td valign="top" align="center"> {{ txt }} </td> </tr> <tr> <td valign="buttom" align="center"> <span data-role="controlgroup" data-type="vertical"> {{ basic.button(id|_('up'), gad_move, '', 'control_arrow_up.svg', 0, 'mini') }} {% if gad_stop %} {{ basic.button(id|_('stop'), gad_stop, '', 'audio_stop.svg', 1, 'mini') }} {% endif %} {{ basic.button(id|_('down'), gad_move, '', 'control_arrow_down.svg', 1, 'mini') }} </span> </td> </tr> </table> </div> {% endmacro %}
Ralf.
Kommentar
-
So, basic.select ist im develop committed. Danke ralf9000 für die Grundidee und ivande für die Implementierung mit stateswitch.
Weil das widget verschiedene Modi unterstützt, ist der Aufruf ist noch etwas erweitert:
Code:{{ basic.select(id, item, type, value, icon, text, color_on, group) }}
id: unique id for this widget (optional)
item: a gad/item
type: 'menu', 'micro', 'mini', 'midi', 'icon' (optional, default: menu)
value: list of values (optional, default [0,1])
icon: list of icons for every button (optional) - not supported for type 'menu'
text: list of texts for every menu entry or button (optional)
color_on: the color for the on state of the buttons (optional, default: icon1) - not supported for type 'menu'
group: orientation of the controlgroup: 'horizontal', 'vertical' or 'none' for seperate buttons (optional, default: 'horizontal') - not supported for type 'menu'
screenshot.png
Bitte testen und berichten.
Kommentar
-
Zitat von smai Beitrag anzeigenWeil das widget verschiedene Modi unterstützt, ist der Aufruf ist noch etwas erweitert:
Zitat von smai Beitrag anzeigenBitte testen und berichten.
Code:git clone -b develop https://github.com/Martin-Gleiss/smartvisu.git
Zuletzt geändert von ralf9000; 08.03.2017, 18:04.
Kommentar
-
... habe das jetzt mal gegen mein altes laufen lassen:
Code:{{ mydevice.scenes('szene', 'Szene', [1, 31, 4, 19, 6], 0 , ['scene_day.svg', 'scene_night.svg', 'scene_party.svg', 'scene_sleeping.svg', 'light_light_dim_100.svg' ] ) }} <br></br> {{ basic.select('szene_neu', 'Szene', 'midi', [1, 31, 4, 19, 6], ['scene_day.svg', 'scene_night.svg', 'scene_party.svg', 'scene_sleeping.svg', 'light_light_dim_100.svg' ], '', 'icon1') }}
Nachtrag: Habe mir das mal auf dem KNX-Bus angeguckt, es wird beim Drücken eines der unteren Buttons zweimal die GA von smarthome.py gesendet. Kommt dazwischen eine Meldung von einem Taster, also gesendet zu smarthome.py kommt irgendwas durcheinander. Wenn ich "enforce_updates = yes" weg nehme, stimmt es wieder. Aber "enforce_updates = yes" brauche ich bei Szenen. ....
Weitere Beobachtung: es kommt auch zu dem Verhalten, wenn von zwei Browsern gleichzeitig und kurz hintereinander gedrückt wird, bevor die Rückmeldung da ist. Nach Refresh ist immer nur ein Buttom orange.
Habe auch mein Widget rausgebaut, daran liegt es nicht. Die GA und das SH-Item ist auch nun nur alleine von dem Widget in Gebrauch.Zuletzt geändert von ralf9000; 08.03.2017, 20:09.
Kommentar
-
hab SmartVISU gepullt und das neue Widget eingepflanzt. Da die Rundung am Linken Rand immer noch fehlte, und orientierung vertical nicht funktionierte musste ich zuerst in den Einstellungen den Cache leeren, obwohl Cache auf OFF steht..
Hab auf die schnelle type, color und group ein wenig getestet (gespielt), und bis jetzt scheint (fast) alles zu passen: SzenenWidgetSzene0.jpg
Wenn ich im text-Parameter eine '0' eingebe, erscheint der Text in der Mitte des Buttons/Rechtsbündig nicht wie die anderen Zahlen Unten und Zentriert.
Zuletzt geändert von ivande; 08.03.2017, 21:33.
Kommentar
-
Danke für euer Feedback.
ralf9000 ich fürchte, dass dies auch beim nirmalen stateswitch auftreten könnte, da es sich ja einfach um mehrere stateswitch handelt. Ich versuche mal, ob ich das nachvollziehen kann.
ivande bei cache=off wird in der smartVISU definitiv nichts aus dem Pagecache gelesen. Ich denke eher, dass dein Browsercache schuld war. Ctrl+F5 hilft in solchen Fällen.
Das mit der 0 ist sehr speziell. Liegt es evtl. daran, dass diese im ersten Button der Gruppe steht?
Kommentar
-
Zitat von smai Beitrag anzeigenich fürchte, dass dies auch beim nirmalen stateswitch auftreten könnte, da es sich ja einfach um mehrere stateswitch handelt. Ich versuche mal, ob ich das nachvollziehen kann.
Das Argument mit dem stateswitch könnte ich verstehen, aber es laufen ja beide Funktionen gleichzeitig, die eine, die nur "Taster-Funktionalität" (neu ein value) von stateswitch nutzt, die andere die die "Schalter-Funktionalität" (zwei values, die gleich sind) verwendet.
Übrigens die Verschluckerwahrscheinlichkeit wird deutlich größer je langsamer die VM bei mir eingestellt ist. Es scheint also eine instabile Zeitspanne zu geben, wo auf dem Item nichts passieren darf, um ein stabiles Verhalten zu gewährleisten.
Kommentar
Kommentar