mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2025-12-20 14:37:01 +01:00
125 lines
3.5 KiB
Markdown
125 lines
3.5 KiB
Markdown
# Sending Notifications to the Panel
|
|
|
|
There are two notification types, that can be triggered by sending a command over mqtt to the panel here are examples for homeassistant scripts:
|
|
|
|
## Seperate Page
|
|
|
|
This is the notification used by the backend for updates, opening it requires to the following commands to the CustomSend Topic:
|
|
|
|
`pageType popupNotify`
|
|
|
|
`entityUpdateDetail~internalName~heading~headingColor~button1text~button1color~button2text~tB2Color~notificationText~textColor~sleepTimeout~fontIdText`
|
|
|
|
Alternative Layout with Icon:
|
|
|
|
`entityUpdateDetail~internalName~heading~headingColor~button1text~button1color~button2text~tB2Color~notificationText~textColor~sleepTimeout~fontIdText~icon~iconColor`
|
|
|
|
|
|
`fontIdText` is the font used by the notification text
|
|
Possible values are 0-5:
|
|
```
|
|
Font 0 - Default - Size 24 (No Icons, Support for various special chars from different langs)
|
|
Font 1 - Size 32 (Icons and limited chars)
|
|
Font 2 - Size 32 (No Icons, Support for various special chars from different langs)
|
|
Font 3 - Size 48 (Icons and limited chars)
|
|
Font 4 - Size 80 (Icons and limited chars)
|
|
Font 5 - Size 128 (ascii only)
|
|
```
|
|
|
|
|
|
It is possible to exit from the page by sending `exitPopup`
|
|
|
|
If you want to add newlines to your message add this string for the newline `{{'\r\n'}}`
|
|
|
|
Send Message to the Panel combined with a buzzer sound:
|
|
|
|
```
|
|
nspanel_popup_notification:
|
|
alias: Popup Notification
|
|
sequence:
|
|
- service: mqtt.publish
|
|
data:
|
|
topic: cmnd/tasmota_NsPanelTerrasse/Backlog
|
|
payload: CustomSend pageType~popupNotify; CustomSend entityUpdateDetail~id~{{
|
|
title }}~65535~~~~~{{ message }}~65535~{{ timeout }}; Buzzer 2,2,2
|
|
mode: single
|
|
icon: mdi:message-badge
|
|
```
|
|
|
|
Send Message to the Panel:
|
|
|
|
```
|
|
nspanel_popup_notification:
|
|
alias: Popup Notification
|
|
sequence:
|
|
- service: mqtt.publish
|
|
data:
|
|
topic: cmnd/tasmota_NsPanelTerrasse/Backlog
|
|
payload: CustomSend pageType~popupNotify; CustomSend entityUpdateDetail~id~{{
|
|
title }}~65535~~~~~{{ message }}~65535~{{ timeout }}
|
|
mode: single
|
|
icon: mdi:message-badge
|
|
```
|
|
|
|
|
|
## Notification on screensaver
|
|
|
|
The screensaver can display Notifications by sending this command to the CustomSend topic: `notify~heading~text`
|
|
|
|
|
|
Send Message to the Screensaver combined with a buzzer sound:
|
|
|
|
```
|
|
nspanel_screensaver_notification:
|
|
alias: Screensaver Notification
|
|
sequence:
|
|
- service: mqtt.publish
|
|
data:
|
|
topic: cmnd/tasmota_NsPanelTerrasse/Backlog
|
|
payload: CustomSend notify~{{ heading }}~{{ message }}; Buzzer 2,2,2
|
|
mode: single
|
|
icon: mdi:message-badge
|
|
```
|
|
|
|
Send Message to the Screensaver:
|
|
|
|
```
|
|
nspanel_screensaver_notification:
|
|
alias: Screensaver Notification
|
|
sequence:
|
|
- service: mqtt.publish
|
|
data:
|
|
topic: cmnd/tasmota_NsPanelTerrasse/Backlog
|
|
payload: CustomSend notify~{{ heading }}~{{ message }}
|
|
mode: single
|
|
icon: mdi:message-badge
|
|
```
|
|
|
|
## Color Picker
|
|
<input type="color" id="colorpicker" onchange="conv565()" value="#000000">
|
|
|
|
<p id="out">Decimal RGB565: 0</p>
|
|
|
|
<script>
|
|
|
|
function hexToRgb(hex) {
|
|
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
return result ? {
|
|
red: parseInt(result[1], 16),
|
|
green: parseInt(result[2], 16),
|
|
blue: parseInt(result[3], 16)
|
|
} : null;
|
|
}
|
|
|
|
function rgb_dec565(rgb) {
|
|
return ((Math.floor(rgb.red / 255 * 31) << 11) | (Math.floor(rgb.green / 255 * 63) << 5) | (Math.floor(rgb.blue / 255 * 31)));
|
|
}
|
|
|
|
function conv565() {
|
|
var x = document.getElementById("colorpicker").value;
|
|
document.getElementById("out").innerHTML = "Decimal RGB565: " + rgb_dec565(hexToRgb(x));
|
|
}
|
|
</script>
|
|
|
|
|