Skip to content

Commit

Permalink
V0.71
Browse files Browse the repository at this point in the history
### 📈 New Features
- Allows to loop the sound in notifications sou youre able to build your own timer or Alarm Clock for example. closes #232 
- Youre able to save Customapps wich are reloaded automatically after boot
- Adds effects wich can be used in Notifications, CustomApps and as a general background layer.
- Allows to set the Home Assistant MQTT Discovery prefix. Closes #215 

### 🐞 Bug Fixes and Optimizations
- Sets comma one pixel down. closes #208
- Removes Eyes native app and add it as an effect
- Removes Timer and Alarm, not in code for now, but in documentation. This gives you time to write your own timer and alarm clock via smarthome (whats the base idea of awtrix) until it will be removed also from code in the next version.
- Fixes a bug with textOffset & pushIcon in customapps. closes  #231 
- Fixes a bug in colorconvertion when sending RGB array. closes #230
- Fixes a bug in customapp duration calculation. closes #204
- Fixes a bug where the menu text gets Textcolors from Customapps
- Ignores repeat if noScroll is set to true. closes #216
  • Loading branch information
Blueforcer authored Jul 25, 2023
2 parents 11b1ea4 + cdf1a7e commit d7501fa
Show file tree
Hide file tree
Showing 44 changed files with 1,654 additions and 268 deletions.
Binary file added Helper_Scripts/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 1 addition & 2 deletions docs/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@

- Features
- [Apps](apps.md)
- [Alarm clock](alarm.md)
- [Effects](effects.md)
- [Icons](icons.md)
- [Sounds](sounds.md)
- [Artnet](artnet.md)
- [Hidden features](dev.md)

- API
Expand Down
42 changes: 0 additions & 42 deletions docs/alarm.md

This file was deleted.

45 changes: 4 additions & 41 deletions docs/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ The JSON object has the following properties,
| `hold` | boolean | Set it to true, to hold your **notification** on top until you press the middle button or dismiss it via HomeAssistant. This key only belongs to notification. | false | | X |
| `sound` | string | The filename of your RTTTL ringtone file placed in the MELODIES folder (without extension). | N/A | | X |
| `rtttl` | string | Allows to send the RTTTL sound string with the json | | | X |
| `loopSound` | boolean | Loops the sound or rtttl as long as the notification is running | false | | X |
| `bar` | array of integers | draws a bargraph. Without icon maximum 16 values, with icon 11 values | N/A | X | X |
| `line` | array of integers | draws a linechart. Without icon maximum 16 values, with icon 11 values | N/A | X | X |
| `autoscale` | boolean | Enables or disables autoscaling for bar and linechart | true | X | X |
Expand All @@ -108,7 +109,8 @@ The JSON object has the following properties,
| `noScroll` | boolean | Disables the textscrolling | false | X | X |
| `clients` | array of strings | Allows to forward a notification to other awtrix. Use the MQTT prefix for MQTT and IP adresses for HTTP | | | X |
| `scrollSpeed` | integer | Modifies the scrollspeed. You need to enter a percentage value | 100 | X | X |

| `effect` | string | Shows an effect as background | | X | X |
| `save` | boolean | Saves your customapp into flash and reload it after boot. You should avoid that with customapps wich has high update frequency because ESPs flashmemory has limited writecycles | | X | |


Color values can have a hex string or an array of R,G,B values:
Expand Down Expand Up @@ -224,7 +226,6 @@ Built-in app names are:
- `temp`
- `hum`
- `bat`
- `eyes`

For custom apps, use the name you set in the topic or http request header.
In MQTT for example, if `[PREFIX]/custom/test` is your topic, then `test` is the name.
Expand Down Expand Up @@ -292,45 +293,7 @@ Each property is optional; you do not need to send all.
%d/%m 16/04
%m-%d-%y 04-16-22
```

## Timer

With AWTRIX Light, you can set a timer using MQTT.
When the timer goes off, the display will show a notification, and you can dismiss the timer by pressing the middle button.


| Topic | URL | Payload/Body | HTTP method |
| --- | --- | --- | --- |
| `[PREFIX]/timer` | `http://[IP]/api/timer` | see below | POST |



#### JSON Properties

The JSON object has the following properties:

| Key | Type | Description |
| --- | ---- | ----------- |
| `hours` | number | The number of hours after midnight when the timer should be triggered. |
| `minutes` | number | The number of minutes after the hour when the timer should be triggered. |
| `seconds` | number | The number of seconds after the minute when the timer should be triggered. |
| `sound` | string | The name of the sound file (without extension) to play when the timer is triggered. |

Each value is optional, so you can set a timer for just minutes, or any combination of hours, minutes, and seconds. If you only want to start a timer in some minutes, just send the minutes.

#### Example

Here's an example JSON object to start a timer for 1 hour, 30 minutes, and 10 seconds, with the sound "friends":

```json
{
"hours": 1,
"minutes": 30,
"seconds": 10,
"sound": "friends"
}
```


## Update
You can start the firmware update with update button in HA or:

Expand Down
8 changes: 0 additions & 8 deletions docs/artnet.md

This file was deleted.

Binary file added docs/assets/BrickBreaker.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Checkerboard.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/ColorWaves.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Fireworks.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/LookingEyes.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Matrix.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Pacifica.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/PingPong.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Plasma.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/PlasmaCloud.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Radar.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Ripple.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Snake.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/SwirlIn.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/SwirlOut.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/TheaterChase.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/TwinklingStars.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion docs/dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,6 @@ The JSON object has the following properties:
| `temp_offset` | float | Sets the offset for the internal temperature messurement | `-9` |
| `hum_offset` | float | Sets the offset for the internal humidity messurement | `0` |
| `min_brightness` | integer | Sets minimum brightness level for the Autobrightness control | `2` |
| `max_brightness` | integer | Sets maximum brightness level for the Autobrightness control. On high levels, this could result in overheating! | `180` |
| `max_brightness` | integer | Sets maximum brightness level for the Autobrightness control. On high levels, this could result in overheating! | `180` |
| `ha_prefix` | string | Sets the prefix for Homassistant discovery | `homeassistant` |
| `background_effect` | string | Sets an effect as global background layer | |
78 changes: 78 additions & 0 deletions docs/effects.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Effects

with v0.71 AWTRIX light can show effects wherever you want
- Notification and CustomApps. This will show the effect as the first layer, so you can stil draw text over it.
- Backgroundlayer. This will show the effect behind everything and in each app. You can add it via Hidden features.

Just call the name for your favorite effect.

<table>
<tr>
<th>Name</th>
<th>Effect</th>
<th>Name</th>
<th>Effect</th>
</tr>
<tr>
<td>BrickBreaker</td>
<td><img src="/assets/BrickBreaker.gif" style="max-height:100px;"></td>
<td>Checkerboard</td>
<td><img src="/assets/Checkerboard.gif" style="max-height:100px;"></td>
</tr>
<tr>
<td>Fireworks</td>
<td><img src="/assets/Fireworks.gif" style="max-height:100px;"></td>
<td>PingPong</td>
<td><img src="/assets/PingPong.gif" style="max-height:100px;"></td>
</tr>
</tr>
<tr>
<td>Radar</td>
<td><img src="/assets/radar.gif" style="max-height:100px;"></td>
<td>Ripple</td>
<td><img src="/assets/Ripple.gif" style="max-height:100px;"></td>
</tr>
<tr>
<td>Snake</td>
<td><img src="/assets/Snake.gif" style="max-height:100px;"></td>
<td>TwinklingStars</td>
<td><img src="/assets/TwinklingStars.gif" style="max-height:100px;"></td>
</tr>
<tr>
<td>TheaterChase</td>
<td><img src="/assets/TheaterChase.gif" style="max-height:100px;"></td>
<td>ColorWaves</td>
<td><img src="/assets/ColorWaves.gif" style="max-height:100px;"></td>
</tr>
<tr>
<td>SwirlOut</td>
<td><img src="/assets/SwirlOut.gif" style="max-height:100px;"></td>
<td>SwirlIn</td>
<td><img src="/assets/SwirlIn.gif" style="max-height:100px;"></td>
</tr>
<tr>
<td>LookingEyes</td>
<td><img src="/assets/LookingEyes.gif" style="max-height:100px;"></td>
<td>Matrix</td>
<td><img src="/assets/Matrix.gif" style="max-height:100px;"></td>
</tr>
<tr>
<td>Pacifica</td>
<td><img src="/assets/Pacifica.gif" style="max-height:100px;"></td>
<td>Plasma</td>
<td><img src="/assets/Plasma.gif" style="max-height:100px;"></td>
</tr>
<tr>
<td>PlasmaCloud</td>
<td><img src="/assets/PlasmaCloud.gif" style="max-height:100px;"></td>
</tr>
</table>

# Artnet (DMX)

Awtrix light supports Artnet out of the box.
For [Jinx!](http://www.live-leds.de/) you can <a href="awtrix_light.jnx" download>download this template</a>. Just change the IP of both universes to your awtrix IP and youre ready to go.

**For any Other Arnet controller:**
Create 2 universes with 384 channels each. Also add a new matrix layout with 8 strings á 32 Strands and top left starting position. When you start to send data, AWTRIX will stop its normal operation and shows your data. 1s after you stop sending data, AWTRIX will return to normal operation.

9 changes: 4 additions & 5 deletions lib/MatrixUI/Fonts/AwtrixFont.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@
** see:
** http://robey.lag.net/2010/01/23/tiny-monospace-font.html
**
** Modifications for Awtrix for improved readability and LaMetric Style are from
** Blueforcer, Yann and hollyghost
** Massive modifications in 2018-2023 for Awtrix for improved readability by Blueforcer
**
** The original author does not have any objection to relicensing of Robey
** Pointer's modifications (in this file) in a more permissive license. See
Expand All @@ -48,7 +47,7 @@
** Twitter: @skelliam
**
*/
// AwtrixFont Version 20230215
// AwtrixFont Version 20230713

const uint8_t AwtrixBitmaps[] PROGMEM = {
0x00, /*[0] 0x20 space */
Expand Down Expand Up @@ -217,7 +216,7 @@ const uint8_t AwtrixBitmaps[] PROGMEM = {
0xA0, 0x00, 0x60, 0xA0, 0xE0, /*[162] 0xE4 adieresis */
0x60, 0x60, 0x60, 0xA0, 0xE0, /*[163] 0xE5 aring */
0x60, 0xE0, 0xE0, 0xC0, /*[164] 0xE6 ae */
0x60, 0x80, 0x60, 0x20, 0x40, /*[165] 0xE7 ccedilla */
0x60, 0x80, 0x60, 0x20, 0x40, /*[165] 0xE7 copy&pasteistrash */
0x40, 0x20, 0x60, 0xE0, 0x60, /*[166] 0xE8 egrave */
0x40, 0x80, 0x60, 0xE0, 0x60, /*[167] 0xE9 eacute */
0xE0, 0x00, 0x60, 0xE0, 0x60, /*[168] 0xEA ecircumflex */
Expand Down Expand Up @@ -272,7 +271,7 @@ const GFXglyph AwtrixFontGlyphs[] PROGMEM = {
{35, 8, 5, 3, 0, -5}, /*[9] 0x29 parenright */
{40, 8, 3, 4, 0, -5}, /*[10] 0x2A asterisk */
{43, 8, 3, 4, 0, -4}, /*[11] 0x2B plus */
{46, 8, 2, 3, 0, -2}, /*[12] 0x2C comma */
{46, 8, 2, 3, 0, -1}, /*[12] 0x2C comma */
{48, 8, 1, 4, 0, -3}, /*[13] 0x2D hyphen */
{49, 8, 1, 2, 0, -1}, /*[14] 0x2E period */
{50, 8, 5, 4, 0, -5}, /*[15] 0x2F slash */
Expand Down
1 change: 1 addition & 0 deletions lib/home-assistant-integration/src/HAMqtt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ bool HAMqtt::publish(const char *topic, const char *payload, bool retained)
return _mqtt->endPublish();
}


bool HAMqtt::beginPublish(
const char *topic,
uint16_t payloadLength,
Expand Down
6 changes: 3 additions & 3 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ framework = arduino
board_build.f_cpu = 240000000L
board_build.partitions = awtrix_partition.csv
monitor_speed = 115200
build_flags = -DULANZI -D MQTT_MAX_PACKET_SIZE=2048
build_flags = -DULANZI -D MQTT_MAX_PACKET_SIZE=8000
monitor_filters = esp32_exception_decoder
lib_deps =
adafruit/Adafruit SHT31 Library@^2.2.0
bblanchon/ArduinoJson@^6.20.0
evert-arias/EasyButton@^2.0.1
evert-arias/EasyButton@2.0.1
fastled/FastLED@^3.5.0
marcmerlin/FastLED NeoMatrix@^1.2
knolleary/PubSubClient@^2.8
Expand All @@ -34,7 +34,7 @@ board_build.f_cpu = 240000000L
framework = arduino
board_build.partitions = awtrix_partition.csv
monitor_speed = 115200
build_flags = -Dawtrix2_upgrade -D MQTT_MAX_PACKET_SIZE=2048
build_flags = -Dawtrix2_upgrade -D MQTT_MAX_PACKET_SIZE=8192
monitor_filters = esp32_exception_decoder
lib_deps =
adafruit/Adafruit BME280 Library@^2.2.2
Expand Down
Loading

0 comments on commit d7501fa

Please sign in to comment.