Add release.nix

0xee 2019-10-31 16:29:31 +01:00
parent 6e762316c8
commit b561c71bf2
3 changed files with 66 additions and 46 deletions

96
app.py
View File

@ -37,8 +37,11 @@ def button_widget(topic, label, pub_value):
template = ''' template = '''
<input type="button" class="button is-large is-info is-outlined" value="{{label}}" onclick="publish('{{topic}}', '{{pub_value}}');"/> <input type="button" class="button is-large is-info is-outlined" value="{{label}}" onclick="publish('{{topic}}', '{{pub_value}}');"/>
''' '''
return make_widget( return make_widget(template,
template, 'button', label=label, pub_value=pub_value, topic=topic) 'button',
label=label,
pub_value=pub_value,
topic=topic)
def slider_widget(label, def slider_widget(label,
@ -61,17 +64,16 @@ def slider_widget(label,
</div> </div>
<div>{{label}}</div> <div>{{label}}</div>
''' '''
return make_widget( return make_widget(template,
template, 'slider',
'slider', sub_topic=sub_topic,
sub_topic=sub_topic, label=label,
label=label, min_val=min_val,
min_val=min_val, max_val=max_val,
max_val=max_val, value_path=value_path,
value_path=value_path, topic=topic,
topic=topic, unit=unit,
unit=unit, id_=id_)
id_=id_)
def label_widget(topic, label, unit=''): def label_widget(topic, label, unit=''):
@ -82,13 +84,12 @@ def label_widget(topic, label, unit=''):
</div> </div>
<div>{{label}}</div> <div>{{label}}</div>
''' '''
return make_widget( return make_widget(template,
template, 'label',
'label', sub_topic=topic,
sub_topic=topic, topic=topic,
topic=topic, unit=unit,
unit=unit, label=label)
label=label)
def log_widget(topic, label): def log_widget(topic, label):
@ -106,8 +107,12 @@ def log_widget(topic, label):
</div> </div>
<div>{{label}}<button id="{{id_}}" class="delete log-delete"></button></div> <div>{{label}}<button id="{{id_}}" class="delete log-delete"></button></div>
''' '''
return make_widget( return make_widget(template,
template, "log", sub_topic=topic, topic=topic, label=label, id_=id_) "log",
sub_topic=topic,
topic=topic,
label=label,
id_=id_)
def row_layout(title, *elems): def row_layout(title, *elems):
@ -157,27 +162,24 @@ def home():
widgets=[ widgets=[
column_layout( column_layout(
"Light", "Light",
slider_widget( slider_widget("Küche",
"Küche", "hue/set/lights/Ku",
"hue/set/lights/Ku", "hue/status/lights/Ku",
"hue/status/lights/Ku", value_path='val'),
value_path='val'), slider_widget("WZ1",
slider_widget( "hue/set/lights/WZ1",
"WZ1", "hue/status/lights/WZ1",
"hue/set/lights/WZ1", value_path='val'),
"hue/status/lights/WZ1", slider_widget("WZ2",
value_path='val'), "hue/set/lights/WZ2",
slider_widget( "hue/status/lights/WZ2",
"WZ2", value_path='val'),
"hue/set/lights/WZ2", slider_widget("Vorzimmer",
"hue/status/lights/WZ2", "hue/set/lights/Vorzimmer",
value_path='val'), "hue/status/lights/Vorzimmer",
slider_widget( value_path='val'),
"Vorzimmer",
"hue/set/lights/Vorzimmer",
"hue/status/lights/Vorzimmer",
value_path='val'),
slider_widget("Schlafzimmer", slider_widget("Schlafzimmer",
"home/devices/192.168.1.214/override",
"home/devices/192.168.1.214/brightness")), "home/devices/192.168.1.214/brightness")),
row_layout( row_layout(
"Temperature", "Temperature",
@ -187,8 +189,14 @@ def home():
"°C"), "°C"),
label_widget("home/sensors/bedroom/temperature", "Bedroom", label_widget("home/sensors/bedroom/temperature", "Bedroom",
"°C")), "°C")),
row_layout("Device logs", log_widget("test", "test log"), row_layout(
log_widget("test2", "test log 2")), "Device logs", log_widget("test", "test log"), *[
log_widget(f"home/devices/{ip}/log", name)
for ip, name in [("192.168.1.214", "Bedroom lamp"),
("192.168.1.213", "Sensor office"),
("192.168.1.212", "Sensor livingroom"),
("192.168.1.211", "Sensor bedroom")]
]),
row_layout("Some buttons", button_widget("test", "set to 1", 1), row_layout("Some buttons", button_widget("test", "set to 1", 1),
button_widget("test", "set to foo", 'foo')) button_widget("test", "set to foo", 'foo'))
]) ])

View File

@ -1,5 +1,5 @@
with import <nixpkgs> {}; with python3Packages; { pkgs ? (import <nixpkgs> {}) }:
with pkgs.python3Packages;
buildPythonPackage rec { buildPythonPackage rec {
name = "mqtt-dash"; name = "mqtt-dash";
src = ./.; src = ./.;

12
release.nix Normal file
View File

@ -0,0 +1,12 @@
{
mqtt-dash =
{ system ? builtins.currentSystem }:
let
pkgs = import <nixpkgs> { inherit system; };
in
pkgs.releaseTools.nixBuild {
name = "mqtt-dash";
src = <mqtt-dash-src>;
};
}