Files
nspanel-lovelace-ui/docs/notifications.md
2022-10-24 22:28:43 +02:00

106 lines
3.0 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`
Alternative Layout with Icon:
`entityUpdateDetail~internalName~heading~headingColor~button1text~button1color~button2text~tB2Color~notificationText~textColor~sleepTimeout~fontIdText~icon~iconColor`
It is possible to exit from the page by sending `exitPopup`
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
<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: RGB): number {
return ((Math.floor(rgb.red / 255 * 31) << 11) | (Math.floor(rgb.green / 255 * 63) << 5) | (Math.floor(rgb.blue / 255 * 31)));
}
function calcRGB565() {
let in = document.getElementById('colorpicker');
let out = document.getElementById('color-out');
out.innerHTML = rgb_dec565(hexToRgb(in.value));
}
<input type="color" id="colorpicker" onchange="calcRGB565()" value="#000000">
<p id="color-out">0</p>
</script>