Dat snap ik, maar maakt je use-case wel echt 100x eenvoudiger. Je wilt werken met een onbetrouwbare opslagbron en daar is Plex niet zo geschikt voor.
Wat @
CH4OS terecht zegt, als je dan wilt kijken is je SMB/NFS share simpelweg niet beschikbaar op moment van afspelen, wat zorgt voor een fout. Hoe lang moet je dan wachten? 5 seconden? 30 seconden? Dat is wel funest voor de ervaring. Daarnaast heb je ook nog scans, doe je die dan handmatig? En als je die een keer start als de share niet beschikbaar is, wat dan? Want dan zal Plex die content als missend markeren of verwijderen uit de bibliotheek. Het is op z'n zachtst gezegd, niet ideaal.
Wat je kunt doen is een knop maken in Home Assistant en je pc laten opstarten, dat je dan na bijvoorbeeld 2 minuten kunt gaan kijken. Ook niet echt ideaal als je het mij vraagt.
En wat doe je dan met het weer gaan slapen van je pc? Want daarvoor zal je ook triggers moeten verzinnen. Denk daarbij dan ook nog op langdurig op pauze zetten. Dat kan nog weleens voorkomen.
Ik had destijds twee Plex servers. Een op mijn Pi en een op mijn pc. Die Pi luisterde dan naar binnenkomende verbindingen en zette de pc aan. Dan had je al bovenstaande problemen niet, want Plex was alleen beschikbaar wanneer de server aan stond. Met WinRM en een eigen gebouwde sleep on lan app zette ik dan de pc weer in slaapstand bij geen gebruik.
Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| #!/bin/bash
mac_address="00:00:00:00:00:00"
target_port=32400
banned_ips="localhost or 127.0.0.1 or 192.168.1.100 or 192.168.1.1"
timeout=1800
last_src=""
last_timestamp=$(date +%s)
tcpdump -C 10 -l "tcp[tcpflags] & (tcp-syn) != 0 and dst port $target_port and dst host 192.168.1.100 and not (src ($banned_ips) or (src net 172.16.0.0/12))" | while read line
do
parsed_line=$(echo ${line} | cut -d ' ' -f 1-3)
if [[ ${parsed_line} == *"amazonaws.com"* ]]; then
echo "$parsed_line IGNORING - PERM BAN"
else
src=$(echo ${parsed_line} | cut -f 3 -d ' ' | cut -f 1-4 -d '.')
date="$(echo $(date +'%Y-%m-%d')T$(echo ${parsed_line} | cut -f 1 -d ' '))"
timestamp="$(echo ${date} | date +%s)"
diff_timestamp=$(expr ${timestamp} - ${last_timestamp})
if [[ ${last_src} == ${src} && ${diff_timestamp} -lt ${timeout} ]]; then
echo "$parsed_line IGNORING - TEMP BAN (last wakeup: $(date -d @${last_timestamp}))"
else
last_src=${src}
last_timestamp=${timestamp}
wakeonlan ${mac_address} >/dev/null
echo "$parsed_line WAKING UP!"
fi
fi
done |
Maar zoals je ziet ook niet super eenvoudig en als ik het zo inschat niet helemaal wat bij jouw setup past
Nogmaals, ik zou toch je behoefte bijstellen