31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
from mqtt_dash.widgets import column_layout, row_layout, slider_widget, \
 | 
						|
    label_widget, button_widget, log_widget
 | 
						|
 | 
						|
URL = "https://dashboard.example.com"
 | 
						|
MQTT_BROKER = "ws://example.com/mqtt"
 | 
						|
 | 
						|
PAGE_TITLE = 'MQTT Dashboard'
 | 
						|
 | 
						|
WIDGETS = [
 | 
						|
    column_layout("Light", [
 | 
						|
        slider_widget(room,
 | 
						|
                      f"hue/set/lights/{room}",
 | 
						|
                      f"hue/status/lights/{room}",
 | 
						|
                      value_path='val')
 | 
						|
        for room in ('livingroom', 'bedroom', 'kitchen')
 | 
						|
    ]),
 | 
						|
    row_layout("Temperature", [
 | 
						|
        label_widget(f"home/sensors/{room}/temperature", room, "°C")
 | 
						|
        for room in ('livingroom', 'bedroom', 'kitchen')
 | 
						|
    ]),
 | 
						|
    row_layout("Device logs", [
 | 
						|
        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),
 | 
						|
                                button_widget("test", "set to foo", 'foo')])
 | 
						|
]
 |