Synology_DS2MQTT is a wrapper for send data on Synology Download Station to MQTT broker.
Pull repository
docker pull smeagolworms4/synology_ds2mqtt
Run container:
docker run -ti \
-e MQTT_URI=mqtt://login:[email protected] \
-e DS_URL=http://192.168.1.101 \
-e DS_LOGIN=admin \
-e DS_PASSWORD=password \
smeagolworms4/synology_ds2mqtt
ENV MQTT_URI= #Required
ENV DS_URL= #Required
ENV DS_LOGIN= #Required
ENV DS_PASSWORD= #Required
ENV SCAN_INTERVAL=30
ENV LOGIN_INTERVAL=300
ENV DEBUG=MESSAGE
ENV MQTT_PREFIX=synology_ds
ENV MQTT_RETAIN=1
ENV MQTT_QOS=0
ENV HA_DISCOVERY=1
ENV HA_PREFIX=homeassistant
Start container
make up
Initialize env
make init
Run watch
make ds2mqtt-watch
type: markdown
content: >
{% if states('sensor.synology_ds_task_total') != 'unavailable' %}
{% set downloads = state_attr('sensor.synology_ds_task_total','list') |
from_json%}
<table>
<tr>
<th>Name</th>
<th>Size</th>
<th>Speed</th>
<th>Progression</th>
</tr>
{% for key in downloads %}
{% if downloads[key].size != 'NaN' %}
<tr>
<td>
{{ downloads[key].name }}
</td>
<td>
{{ (downloads[key].size / (1024*1024*1024)) | round(1, 'floor') }} Go
</td>
<td>
{% if downloads[key].down_speed == 0 %}
{% else %}
{{ (downloads[key].down_speed / (1024*1024)) | round(0, 'floor') }} Mo/s
{% endif %}
</td>
<td>
{% if downloads[key].status == 'finished' %}
<mark />
{% else %}
{{ downloads[key].percent_done | regex_replace(find='\.\d+', replace='') }}%
{% endif %}
</td>
</tr>
{% endif %}
{% endfor %}
</table>
{% endif %}
card_mod:
style:
.: |
ha-card ha-markdown {
padding: 0px;
}
ha-markdown $: |
th {
font-weight: bold;
font-size: 1em;
text-align: left;
padding: 8px 12px;
}
table{
border-collapse: collapse;
font-size: 0.9em;
font-family: Roboto;
width: 100%;
outline: 0px solid #393c3d;
margin-top: 10px;
}
td {
padding: 8px 12px;
text-align: left;
border-bottom: 0px solid #1c2020;
}
td:nth-child(2), td:nth-child(3) {
white-space: nowrap;
}
tr {
border-bottom: 0px solid #1c2020;
}
tr:nth-of-type(even) {
background-color: rgb(54, 54, 54, 0.3);
}
tr:last-of-type {
border-bottom: transparent;
}
mark {
background: lightgreen;
color: #222627;
border-radius: 5px;
padding: 5px;
display: block;
}
tr:nth-child(n+2) > td:nth-child(2) {
text-align: left;
}
https://hub.docker.com/r/smeagolworms4/synology_ds2mqtt
https://github.com/Smeagolworms4/synology_ds2mqtt
Content type
Image
Digest
sha256:ca3fa6351…
Size
62.3 MB
Last updated
about 1 year ago
docker pull smeagolworms4/synology_ds2mqtt