mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2026-02-16 18:06:59 +01:00
Merge branch 'main' of github.com:joBr99/nspanel-widget-ui
This commit is contained in:
@@ -217,7 +217,7 @@ nspanel-1:
|
|||||||
config:
|
config:
|
||||||
panelRecvTopic: "tele/tasmota_your_mqtt_topic/RESULT"
|
panelRecvTopic: "tele/tasmota_your_mqtt_topic/RESULT"
|
||||||
panelSendTopic: "cmnd/tasmota_your_mqtt_topic/CustomSend"
|
panelSendTopic: "cmnd/tasmota_your_mqtt_topic/CustomSend"
|
||||||
timeoutScreensaver: 15000
|
timeoutScreensaver: 15 #in seconds, values between 5 and 60 are allowed
|
||||||
#brightnessScreensaver: 10
|
#brightnessScreensaver: 10
|
||||||
brightnessScreensaver:
|
brightnessScreensaver:
|
||||||
- time: "7:00:00"
|
- time: "7:00:00"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ nspanel:
|
|||||||
locale: "de_DE"
|
locale: "de_DE"
|
||||||
timeFormat: "%H : %M"
|
timeFormat: "%H : %M"
|
||||||
dateFormat: "%A, %d. %B %Y"
|
dateFormat: "%A, %d. %B %Y"
|
||||||
timeoutScreensaver: 15000 # value in ms, must be between 50 and 65535
|
timeoutScreensaver: 15 #in seconds, values between 5 and 60 are allowed
|
||||||
#brightnessScreensaver: 10
|
#brightnessScreensaver: 10
|
||||||
brightnessScreensaver:
|
brightnessScreensaver:
|
||||||
- time: "7:00:00"
|
- time: "7:00:00"
|
||||||
|
|||||||
@@ -41,16 +41,6 @@ class NsPanelLovelanceUI:
|
|||||||
# register callbacks
|
# register callbacks
|
||||||
self.register_callbacks()
|
self.register_callbacks()
|
||||||
|
|
||||||
def update_screensaver_brightness(self, kwargs):
|
|
||||||
self.current_screensaver_brightness = kwargs['value']
|
|
||||||
self.send_mqtt_msg(f"dimmode,{self.current_screensaver_brightness}")
|
|
||||||
|
|
||||||
def scale(self, val, src, dst):
|
|
||||||
"""
|
|
||||||
Scale the given value from the scale of src to the scale of dst.
|
|
||||||
"""
|
|
||||||
return ((val - src[0]) / (src[1]-src[0])) * (dst[1]-dst[0]) + dst[0]
|
|
||||||
|
|
||||||
def handle_mqtt_incoming_message(self, event_name, data, kwargs):
|
def handle_mqtt_incoming_message(self, event_name, data, kwargs):
|
||||||
t = time.process_time()
|
t = time.process_time()
|
||||||
# Parse Json Message from Tasmota and strip out message from nextion display
|
# Parse Json Message from Tasmota and strip out message from nextion display
|
||||||
@@ -77,14 +67,15 @@ class NsPanelLovelanceUI:
|
|||||||
|
|
||||||
# set screensaver timeout
|
# set screensaver timeout
|
||||||
timeout = self.config["timeoutScreensaver"]
|
timeout = self.config["timeoutScreensaver"]
|
||||||
if timeout > 65535:
|
if timeout > 60:
|
||||||
timeout = 65535
|
timeout = 60
|
||||||
if timeout < 50:
|
if timeout < 5:
|
||||||
timeout = 50
|
timeout = 5
|
||||||
|
timeout = timeout * 1000
|
||||||
self.send_mqtt_msg("timeout,{0}".format(timeout))
|
self.send_mqtt_msg("timeout,{0}".format(timeout))
|
||||||
|
|
||||||
# send screensaver brightness
|
# send screensaver brightness
|
||||||
self.update_screensaver_brightness()
|
self.update_screensaver_brightness(kwargs={"value": self.current_screensaver_brightness})
|
||||||
|
|
||||||
# send messages for current page
|
# send messages for current page
|
||||||
page_type = self.config["pages"][self.current_page_nr]["type"]
|
page_type = self.config["pages"][self.current_page_nr]["type"]
|
||||||
@@ -154,6 +145,16 @@ class NsPanelLovelanceUI:
|
|||||||
date = datetime.datetime.now().strftime(self.config["dateFormat"])
|
date = datetime.datetime.now().strftime(self.config["dateFormat"])
|
||||||
self.send_mqtt_msg("date,?{0}".format(date))
|
self.send_mqtt_msg("date,?{0}".format(date))
|
||||||
|
|
||||||
|
def update_screensaver_brightness(self, kwargs):
|
||||||
|
self.current_screensaver_brightness = kwargs['value']
|
||||||
|
self.send_mqtt_msg(f"dimmode,{self.current_screensaver_brightness}")
|
||||||
|
|
||||||
|
def scale(self, val, src, dst):
|
||||||
|
"""
|
||||||
|
Scale the given value from the scale of src to the scale of dst.
|
||||||
|
"""
|
||||||
|
return ((val - src[0]) / (src[1]-src[0])) * (dst[1]-dst[0]) + dst[0]
|
||||||
|
|
||||||
def handle_button_press(self, entity_id, btype, optVal=None):
|
def handle_button_press(self, entity_id, btype, optVal=None):
|
||||||
if(btype == "OnOff"):
|
if(btype == "OnOff"):
|
||||||
if(optVal == "1"):
|
if(optVal == "1"):
|
||||||
@@ -175,7 +176,7 @@ class NsPanelLovelanceUI:
|
|||||||
if(btype == "media-back"):
|
if(btype == "media-back"):
|
||||||
self.api.get_entity(entity_id).call_service("media_previous_track")
|
self.api.get_entity(entity_id).call_service("media_previous_track")
|
||||||
if(btype == "media-pause"):
|
if(btype == "media-pause"):
|
||||||
self.api.get_entity(entity_id).call_service("media_player.media_pause")
|
self.api.get_entity(entity_id).call_service("media_play_pause")
|
||||||
|
|
||||||
|
|
||||||
if(btype == "brightnessSlider"):
|
if(btype == "brightnessSlider"):
|
||||||
|
|||||||
Reference in New Issue
Block a user