Closed xdweaver closed 1 year ago
There's a config.cfg
file property cred_file
that points to credentials.json
by default. Make sure that the value and credentials filename are right.
what does that mean? I just reinstalled it and ran the check command and its the same outcome
On Thu, Jan 26, 2023 at 10:50 AM Mike Gawi @.***> wrote:
There's a config.cfg file property cred_file that points to credentials.json by default. Make sure that the value and credentials filename are right.
— Reply to this email directly, view it on GitHub https://github.com/MikeGawi/ePiframe/issues/76#issuecomment-1405450786, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUPNU744WLIQVGYFYLPJIC3WULBPHANCNFSM6AAAAAAUHVK7QE . You are receiving this because you authored the thread.Message ID: @.***>
To use Google Photos you need to activate the project, get credentials, etc. Please refer to documentation.
After the activation you'll get token.pickle and credentials.json files, you need to copy these files to ePiframe device inside installation path and specify cred_file
and pickle_file
cofiguration properties to point to the credentials.
Ok I see it and I have not touched it, because I don't know what it does, well now I do..
No need to restart service after changing any of those values ; as this file is loaded per every display refresh/run ; Run the main script with flag --check-config to verify configuration
[Sources]
; The rest of the values in this section regarding GP should be filled as well when enabled.
use_google_photos=1
cred_file=credentials.json
for further use.
pickle_file=token.pickle
; Multiple allowed - comma separated (e.g. Greece 2020,Tom's 2nd birthday).
album_names=
; The rest of the values in this section regarding local should be filled as well when enabled.
use_local=1
local_path=photos
local_subfolders=1
[General]
units=metric
photo_convert_path=.
automatically.
photo_download_name=origphoto
photo_convert_filename=photo.bmp
thumb_photo_convert_filename=photo_thumb.jpg
thumb_photo_download_name=origphoto_thumb.jpg
log_files=logs/ePiframe.log
convert_bin_path=/usr/bin/convert
rrdtool_bin_path=/usr/bin/rrdtool
fbi_bin_path=/usr/bin/fbi
photo_index_file=index
photo_list_file=list
pid_file=pid
time.
interval_mult_file=time
[Display]
display_type=SPI
epaper_type=Waveshare
photo.
Other.
epaper_color=BW
display=epd7in5_V2
clear_display=0
tty=1
; Waveshare producer says it's best to wait min 180s between ; refreshing the display, so keep this value >= 180 ; Average photo preparation time (download + processing) may take up ; to 3 minutes on RasPi Zero so keep in mind that it will take ; some time on reboot.
slide_interval=600
; Users should manually add this DESCRIPTION per photo.
interval_mult=1
; Option interval_mult will not work without this. ; Don't leave it empty as someone can put for example ; year the photo was taken in it's description and it will ; mess it.
interval_mult_hotword=Frame
; Option interval_mult will not work without this.
interval_max_mult=6
photos.
; That will save power and will not update ; photo frame when it's not seen, e.g. at night. ; The values should be between 0:00 and 23:59. ; To change the format see modules/timermanager.py
5:30 in the morning) start_times=5:30,5:30,5:30,5:30,5:30,5:30,5:30
photos.
; That will save power and will not update ; photo frame when it's not seen, e.g. at night. ; The values should be between 0:00 and 23:59. ; To change the format see modules/timermanager.py ; Put - when frame should not stop updating that day and will ; work until start_times - or stop_times next days. ; - here when - same day in start_times will not update frame.
day at 23:30 in the evening stop_times=23:30,23:30,23:30,23:30,23:30,23:30,23:30
display during start times.
control_display_power=1
allow_triggers=1
[Image]
; To add more see modules/convertmanager.py
convert_option=1
display 800x480 V2 image_width=800
display 800x480 V2 image_height=480
grayscale=0
colors_num=
; It can look interesting in frames with dark passe-partout frame.
invert_colors=0
; photo will put blurred original photo underneath - takes more time to process.
background_color=white
auto_orientation=0
horizontal=1
position.
turned=0
rotation=90
adjustment.
auto_gamma=0
auto_level=0
values.
normalize=0
brightness=0
contrast=10
pimoroni_saturation=0.8
[Filtering]
; Photos will be showed randomly once per ; whole collection turn, list will be updated on every run. ; With this option on asc/desc sort has no power.
randomize=0
; All filtering options can be used in the same time (not only separately) ; to narrow number of photos
; To change the format see modules/filteringmanager.py
photos_from=
; To change the format see modules/filteringmanager.py
photos_to=
filtered if set) will be shown. Empty means no limit. ; This will work only with randomize option disabled
no_photos=
; This will work only with randomize option disabled
sorting=none
[Weather]
; The rest of the values in this section should be filled as well when enabled.
show_weather=0
; Get it for free on https://openweathermap.org
apikey=
; Get it here: https://www.maps.ie/coordinates.html
lat=
; Get it here: https://www.maps.ie/coordinates.html
lon=
; One of the values: 0, 1, 2, 3 ; 0 is for left-top corner ; 1 is for right-top corner ; 2 is for left-bottom corner ; 3 is for right-bottom corner
position=0
font=20
; Font stroke will be always in opposite color
font_color=white
[Telegram bot]
; Please restart service after changing any of values in this section ; as bot thread is persistent per token and to not interfere threads ; it's better to re-run it
; The rest of the values in this section should be filled as well when enabled.
use_telebot=0
; Taken from BotFather Telegram Bot after creating new bot
token=
; Set the chat ids (take them from Telegram API) to narrow the chats that can control Telegram bot ; Multiple allowed - comma separated
chat_id=
[Web interface]
; Please restart service after changing any of values in this section ; as webUI thread is persistent per port and host and to not interfere threads ; it's better to re-run it
; The rest of the values in this section should be filled as well when enabled.
use_web=0
web_host=0.0.0.0
web_port=80
show_stats=1
dark_theme=0
On Thu, Jan 26, 2023 at 2:02 PM Mike Gawi @.***> wrote:
To use Google Photos you need to activate the project, get credentials, etc. Please refer to documentation https://github.com/MikeGawi/ePiframe/blob/master/INSTALL.md#google-photos .
After the activation you'll get token.pickle and credentials.json files, you need to copy these files to ePiframe device inside installation path and specify cred_file and pickle_file cofiguration properties to point to the credentials.
— Reply to this email directly, view it on GitHub https://github.com/MikeGawi/ePiframe/issues/76#issuecomment-1405729024, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUPNU734FE5JS7PDA7XALZDWULYBFANCNFSM6AAAAAAUHVK7QE . You are receiving this because you authored the thread.Message ID: @.***>
So I guess my next dumb question is, do I replace it with another json file? or are the specific to one program?
On Thu, Jan 26, 2023 at 2:08 PM Daniel Weaver @.***> wrote:
Ok I see it and I have not touched it, because I don't know what it does, well now I do..
No need to restart service after changing any of those values ; as this file is loaded per every display refresh/run ; Run the main script with flag --check-config to verify configuration
[Sources]
Set 1 to get photos from Google Photos.
; The rest of the values in this section regarding GP should be filled as well when enabled.
ACTIVATION IS NEEDED! Check documentation.
Default: 1 (enabled)
use_google_photos=1
Google API credentials filename and path.
Default: credentials.json
cred_file=credentials.json
Google API token pickle filename and path to save authentication token
for further use.
Default: token.pickle
pickle_file=token.pickle
Names of the photo slide source albums in Google Photos.
; Multiple allowed - comma separated (e.g. Greece 2020,Tom's 2nd birthday).
Empty means all. Default: empty
album_names=
Set 1 to get photos from local storage.
; The rest of the values in this section regarding local should be filled as well when enabled.
Default: 1 (enabled)
use_local=1
Path of photos in local storage.
Folder will be created if not exists.
Default: 1 (enabled)
local_path=photos
Set 1 to get photos from local storage recursively from subfolders.
Default: 1 (enabled)
local_subfolders=1
[General]
Temperature units.
One of the values: metric or imperial
Default: metric
units=metric
Path of the downloaded original photo slide and conversion location.
Default: .
photo_convert_path=.
Download name of the original photo slide.
Leave only name in photo_download_name as the extension will be added
automatically.
Default: origphoto
photo_download_name=origphoto
Converted name of the current photo slide showed on the display.
Default: photo.bmp
photo_convert_filename=photo.bmp
Converted photo slide thumbnail filename.
Default: photo_thumb.jpg
thumb_photo_convert_filename=photo_thumb.jpg
Original photo slide thumbnail filename.
Default: origphoto_thumb.jpg
thumb_photo_download_name=origphoto_thumb.jpg
Path and name of ePiframe service log files.
Path will be created if doesn't exists.
Use empty to disable logs.
Default: logs/ePiframe.log
log_files=logs/ePiframe.log
Path and name of the ImageMagick convert tool binary.
Default: /usr/bin/convert
convert_bin_path=/usr/bin/convert
Path and name of the RRDTool binary.
Default: /usr/bin/rrdtool
rrdtool_bin_path=/usr/bin/rrdtool
Path and name of the FBI imageviewer binary.
Default: /usr/bin/fbi
fbi_bin_path=/usr/bin/fbi
Path and name of the index file holding current photo markups.
Default: index
photo_index_file=index
Path and name of the list file holding whole photo collection.
Default: list
photo_list_file=list
Path and name of the PID file holding current running script PID.
Default: pid
pid_file=pid
Path and name of the interval multiplication file holding current photo
time.
Default: time
interval_mult_file=time
[Display]
Type of the display connected: SPI or HDMI/Composite.
It's affecting other options specific for the display type.
Possible values: SPI, HDMI.
Default: SPI
display_type=SPI
Type of the e-paper display.
Possible values: Waveshare, Pimoroni.
Default: Waveshare
epaper_type=Waveshare
Color palette of e-paper display.
This determines what kind of conversion will be used for the image.
Other means no conversion and it will rely on the driver to adjust the
photo.
Possible values: BW (black&white), BW+Yellow, BW+Red, 4 colors, 7
colors, Other.
Default: BW
epaper_color=BW
Used for e-Paper SPI displays!
Name of the display class from Waveshare or Pimoroni Inky python codes.
Default: epd7in5_V2
display=epd7in5_V2
Clear display before refresh.
Use in case of ghosting. The frame update will take longer when enabled.
Default: 0 (disabled)
clear_display=0
Number of terminal (virtual console) used for HDMI/Composite display.
This option wrongly set may hang or corrupt terminals.
The default set will work on X and non-X environments.
Default: 1
tty=1
Photo frame refresh slide interval in seconds.
; Waveshare producer says it's best to wait min 180s between ; refreshing the display, so keep this value >= 180 ; Average photo preparation time (download + processing) may take up ; to 3 minutes on RasPi Zero so keep in mind that it will take ; some time on reboot.
Default: 600 (10 minutes)
slide_interval=600
Allow slide_interval multiplication.
When in photo description there is interval_mult_hotword and value,
e.g.
i.e. Frame 3
this photo will be displayed slide_interval * multiplication longer.
; Users should manually add this DESCRIPTION per photo.
Default:1 (option is enabled)
interval_mult=1
Hot-word to find in photo descriptions for the interval multiplication.
; Option interval_mult will not work without this. ; Don't leave it empty as someone can put for example ; year the photo was taken in it's description and it will ; mess it.
Default:Frame
interval_mult_hotword=Frame
Maximum interval multiplication for interval_mult.
; Option interval_mult will not work without this.
Every value above will be set to interval_max_mult value.
E.g.
10 when interval_max_mult=5 will result in slide_interval
- 5. ; That is to prevent users from putting some ; crazy values and photo will stay on the display forever.
Default:6
interval_max_mult=6
Starting time for every day of the week of photo frame to start changing
photos.
Starting with Monday and Sunday is last.
; That will save power and will not update ; photo frame when it's not seen, e.g. at night. ; The values should be between 0:00 and 23:59. ; To change the format see modules/timermanager.py
Put - when frame should not work that day at all.
Default: 5:30,5:30,5:30,5:30,5:30,5:30,5:30 (start updating every day at
5:30 in the morning) start_times=5:30,5:30,5:30,5:30,5:30,5:30,5:30
Ending time for every day of the week of photo frame to stop changing
photos.
Starting with Monday and Sunday is last.
; That will save power and will not update ; photo frame when it's not seen, e.g. at night. ; The values should be between 0:00 and 23:59. ; To change the format see modules/timermanager.py ; Put - when frame should not stop updating that day and will ; work until start_times - or stop_times next days. ; - here when - same day in start_times will not update frame.
Put - everywhere to let frame work all the time.
Default: 23:30,23:30,23:30,23:30,23:30,23:30,23:30(stop updating every
day at 23:30 in the evening stop_times=23:30,23:30,23:30,23:30,23:30,23:30,23:30
This will allow to control power of HDMI (only) display.
Enabling will power off the display during stop times and power on
display during start times.
Default:1 (Enable power control).
control_display_power=1
This will allow to trigger (from web, bots, etc.) photo change or update
during off hours. Disabling will respect sleep time and supress triggers.
Default:1 (Enable triggers).
allow_triggers=1
[Image]
Used for e-Paper SPI black&white displays!
There are 6 standard types of conversion to black&white image (add more
in
convertmanager module). Every option gives slightly different
results and you can pick the one best for your display. Types are:
1 - Floyd-Steinberg dither
2 - Floyd-Steinberg dither + high remap
3 - GIMP like result
4 - Floyd-Steinberg ordered dither
5 - direct conversion to black&white
6 - simple conversion to black&white + basic dither
; To add more see modules/convertmanager.py
Default: 1
convert_option=1
Width of the display. Default: 800 for the Waveshare 7.5inch paper
display 800x480 V2 image_width=800
Height of the display. Default: 480 for the Waveshare 7.5inch paper
display 800x480 V2 image_height=480
Convert photo to grayscale, used for HDMI/Composite displays.
1 for grayscale photo. Default: 0 (colorful)
grayscale=0
Colors number limit used for HDMI/Composite displays with limited
palette.
Empty for no change and > 0 for specifying colors number.
Can be combined with grayscale option.
Default: empty
colors_num=
Invert colors - white will be black and black will be white.
; It can look interesting in frames with dark passe-partout frame.
1 for negative photo. Default: 0 (normal)
invert_colors=0
When image is smaller than the display
underlay will be added. Options: white, black or photo.
; photo will put blurred original photo underneath - takes more time to process.
Default:white
background_color=white
Determines if photo EXIF orientation
should be respected: digital cameras use orientation sensors to store
a value for how the camera is held.
This option makes processing time a bit longer.
Default 0 (do not rotate according to EXIF orientation value)
auto_orientation=0
Frame position - horizontal or vertical.
Default:1 (horizontal)
horizontal=1
Indicates if photo should be turned upside-down for horizontal frame
position.
Default:0 (normal)
turned=0
Frame rotation in vertical position.
Values: 90 (right) or 270 (left) degrees.
Default: 90
rotation=90
One of the image enhancements.
Calculates the mean values of an image, then applies a calculated -gamma
adjustment.
Default:0 (disabled)
auto_gamma=0
One of the image enhancements.
It finds the exact minimum and maximum color values in the image
and then stretches the values to the full range of values.
Default:0 (disabled)
auto_level=0
One of the image enhancements.
Increases the contrast in an image by stretching the range of intensity
values.
Default:0 (disabled)
normalize=0
One of the image enhancements.
Adjusts the photo brightness.
Value from -100(less) to 100(more) in % units.
Default:0 (no change)
brightness=0
One of the image enhancements.
Adjusts the photo contrast.
Value from -100(less) to 100(more) in % units.
Default:10 (+10% more)
contrast=10
Pimoroni Impressions e-paper displays saturation factor.
Possible values 0.0 - 0.99 float
Default:0.8
pimoroni_saturation=0.8
[Filtering]
Show random photos.
; Photos will be showed randomly once per ; whole collection turn, list will be updated on every run. ; With this option on asc/desc sort has no power.
Default=0 (no randomization, show in creation time order)
randomize=0
; All filtering options can be used in the same time (not only separately) ; to narrow number of photos
Starting creation date and time for photos filtering (everything after)
In format YYYY-MM-DD hh:mm:ss (e.g. 2020-05-01 10:01:17).
; To change the format see modules/filteringmanager.py
Empty means no low limit. Default: empty
photos_from=
Ending creation date and time for photos filtering (everything before)
in format YYYY-MM-DD hh:mm:ss (e.g. 2020-05-01 10:01:17).
; To change the format see modules/filteringmanager.py
Empty means no high limit. Default: empty
photos_to=
Number of photos to show. Only n first photos from the albums (and
filtered if set) will be shown. Empty means no limit. ; This will work only with randomize option disabled
Default: empty
no_photos=
Sort photos by creation date and time.
; This will work only with randomize option disabled
Options: none (no sorting), asc (ascending), desc (descending)
Default: none (no sorting)
sorting=none
[Weather]
Set 1 to show weather (icon and temperature) on the displayed photo.
; The rest of the values in this section should be filled as well when enabled.
Default: 0 (do not show)
show_weather=0
API key for the weather data.
; Get it for free on https://openweathermap.org
Default: empty
apikey=
Latitude of weather location.
; Get it here: https://www.maps.ie/coordinates.html
Example: 53.2734
Default: empty
lat=
Longitude of weather location.
; Get it here: https://www.maps.ie/coordinates.html
Example: 7.7783
Default: empty
lon=
Weather information position.
; One of the values: 0, 1, 2, 3 ; 0 is for left-top corner ; 1 is for right-top corner ; 2 is for left-bottom corner ; 3 is for right-bottom corner
Default: 0 (left-top corner)
position=0
Weather information font size.
Default: 20
font=20
Weather information font color.
One of the values: white, black.
; Font stroke will be always in opposite color
Default: white
font_color=white
[Telegram bot]
; Please restart service after changing any of values in this section ; as bot thread is persistent per token and to not interfere threads ; it's better to re-run it
Set 1 to use Telegram bot to control frame from Telegram IM.
; The rest of the values in this section should be filled as well when enabled.
Default: 0 (disabled)
use_telebot=0
Telegram bot API token.
; Taken from BotFather Telegram Bot after creating new bot
Example: 1234567890:ABCDEFGAHIJKLMNabcdefghijklmn012345.
Default: empty
token=
Chat ids to talk with.
; Set the chat ids (take them from Telegram API) to narrow the chats that can control Telegram bot ; Multiple allowed - comma separated
Example: 123456789,-987654321.
Default: empty (everyone can control bot)
chat_id=
[Web interface]
; Please restart service after changing any of values in this section ; as webUI thread is persistent per port and host and to not interfere threads ; it's better to re-run it
Set 1 to use WebUI to control frame from the website.
; The rest of the values in this section should be filled as well when enabled.
Default: 0 (disabled)
use_web=0
ePiframe WebUI host.
Example: 127.0.0.1 (local only).
0.0.0.0 for (all) public IP address.
Default: 0.0.0.0
web_host=0.0.0.0
ePiframe WebUI port.
SOMETIMES YOU NEED TO OPEN IT IN YOUR FIREWALL SETTINGS!
Ports below 5000 need root privileges.
Value in 1-65535 range.
Default: 80
web_port=80
Set 1 to show and gather statistics (load, temp, mem) in
WebUI. It should not be noticed in device performance,
but disable if worried.
Default: 1 (enabled)
show_stats=1
Set 1 to load UI dark theme.
Default: 0 (disabled = light theme)
dark_theme=0
On Thu, Jan 26, 2023 at 2:02 PM Mike Gawi @.***> wrote:
To use Google Photos you need to activate the project, get credentials, etc. Please refer to documentation https://github.com/MikeGawi/ePiframe/blob/master/INSTALL.md#google-photos .
After the activation you'll get token.pickle and credentials.json files, you need to copy these files to ePiframe device inside installation path and specify cred_file and pickle_file cofiguration properties to point to the credentials.
— Reply to this email directly, view it on GitHub https://github.com/MikeGawi/ePiframe/issues/76#issuecomment-1405729024, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUPNU734FE5JS7PDA7XALZDWULYBFANCNFSM6AAAAAAUHVK7QE . You are receiving this because you authored the thread.Message ID: @.***>
You replace it with the name of the JSON file from Google Cloud platform that was generated during activation. It's credentials.json
name by default but it can have any other custom name. But then you need to make sure that this name is exact with the configuration property cred_file
value.
So for example your file is: google_credentials_001.json
and cred_file=google_credentials_001.json
I don't know if I get your question right but there's no ePiframe default file for Google Photos credentials (credentials.json
). You need to generate one yourself, to your Google account + credentials (may be an account created especially for frame), to allow ePiframe connect to it and get the photos. Activation script is the easiest way to get it.
https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=61850999868-16cbcr5i3jn3rj3v2obpfqqqn0dfh1nb.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A1%2F&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fphotoslibrary.readonly&state=48WkFkjFCzcS3cMCEDnT7EjsuiJEHp&access_type=offline&include_granted_scopes=true and authenticate with Your ePiframe Google account You have created project and credentials for. After successful authentication You will get an error (but that is ok), copy the whole address that is not reachable and paste it below. URL:
I am not sure what url it is asking for. I have tried everything I can thing of. By the way, thank you for helping me with tht json file.I learned a lot from doing that. anyways what's this url it's asking for?
On Fri, Jan 27, 2023 at 12:32 AM Mike Gawi @.***> wrote:
You replace it with the name of the JSON file from Google Cloud platform that was generated during activation. If you used activation script it will have the default name credentials.json but it can have any other custom name. But then you need to make sure that this name is exact with the configuration property cred_file value.
So for example your file is: google_credentials_001.json and cred_file=google_credentials_001.json
I don't know if I get your question right but there's no ePiframe default file for Google Photos credentials (credentials.json). You need to generate one yourself, to your Google account + credentials (may be an account created especially for frame), to allow ePiframe connect to it and get the photos. Activation script https://github.com/MikeGawi/ePiframe/blob/master/INSTALL.md#google-photos is the easiest way to get it.
— Reply to this email directly, view it on GitHub https://github.com/MikeGawi/ePiframe/issues/76#issuecomment-1406176116, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUPNU74ZKNNLGY7YEKRFRLDWUOBYXANCNFSM6AAAAAAUHVK7QE . You are receiving this because you authored the thread.Message ID: @.***>
okay never mind I figured it out., so It is running sort of. how do you get it to run on restart. Im running offline mode thank you for being so helpful and most of patient.
On Sat, Jan 28, 2023 at 8:02 PM Daniel Weaver @.***> wrote:
https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=61850999868-16cbcr5i3jn3rj3v2obpfqqqn0dfh1nb.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A1%2F&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fphotoslibrary.readonly&state=48WkFkjFCzcS3cMCEDnT7EjsuiJEHp&access_type=offline&include_granted_scopes=true and authenticate with Your ePiframe Google account You have created project and credentials for. After successful authentication You will get an error (but that is ok), copy the whole address that is not reachable and paste it below. URL:
I am not sure what url it is asking for. I have tried everything I can thing of. By the way, thank you for helping me with tht json file.I learned a lot from doing that. anyways what's this url it's asking for?
On Fri, Jan 27, 2023 at 12:32 AM Mike Gawi @.***> wrote:
You replace it with the name of the JSON file from Google Cloud platform that was generated during activation. If you used activation script it will have the default name credentials.json but it can have any other custom name. But then you need to make sure that this name is exact with the configuration property cred_file value.
So for example your file is: google_credentials_001.json and cred_file=google_credentials_001.json
I don't know if I get your question right but there's no ePiframe default file for Google Photos credentials (credentials.json). You need to generate one yourself, to your Google account + credentials (may be an account created especially for frame), to allow ePiframe connect to it and get the photos. Activation script https://github.com/MikeGawi/ePiframe/blob/master/INSTALL.md#google-photos is the easiest way to get it.
— Reply to this email directly, view it on GitHub https://github.com/MikeGawi/ePiframe/issues/76#issuecomment-1406176116, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUPNU74ZKNNLGY7YEKRFRLDWUOBYXANCNFSM6AAAAAAUHVK7QE . You are receiving this because you authored the thread.Message ID: @.***>
how do you get it to run on restart.
There is something called ePiframe service, the installer should automatically set it up but you can do it yoursefl:
sed 's/EPIEPIEPI/'$(pwd | sed 's_/_\\/_g')'\//g' misc/ePiframe.service.org > ePiframe.service
sudo systemctl enable `pwd`/ePiframe.service
After that ePiframe should start automatically with system and should recover after error - it will always work until switched off, i.e.
sudo systemctl stop ePiframe.service
it will run again after reboot or sudo systemctl start ePiframe.service
to run it manually
sudo systemctl disable ePiframe.service
To get more information about service control refer to documentation.
Hello sir, I have another question. I have to say that I have enjoyed your epiframe immensely. But I do have a question that I feel you would know how to solve. I did another epiframe in 7color. works perfectly except the colors were really vibrant but now are very washed out. Does it have to do with the refresh time? Would a longer refresh time work? again thank you
On Sun, Jan 29, 2023 at 4:57 AM Mike Gawi @.***> wrote:
how do you get it to run on restart.
There is something called ePiframe service, the installer should automatically set it up but you can do it yoursefl:
Install ePiframe service
replace paths
sed 's/EPIEPIEPI/'$(pwd | sed 's/\/_g')'\//g' misc/ePiframe.service.org > ePiframe.service
enable service
sudo systemctl enable
pwd
/ePiframe.serviceAfter that ePiframe should start automatically with system and should recover after error - it will always work until switched off, i.e.
temporary stop service
sudo systemctl stop ePiframe.service
it will run again after reboot or sudo systemctl start ePiframe.service to run it manually
permanently disable service
sudo systemctl disable ePiframe.service
To get more information about service control refer to documentation https://github.com/MikeGawi/ePiframe/blob/master/INSTALL.md#service-control .
— Reply to this email directly, view it on GitHub https://github.com/MikeGawi/ePiframe/issues/76#issuecomment-1407656541, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUPNU72JLMDWEJ7EZ5YA3VDWUZSKXANCNFSM6AAAAAAUHVK7QE . You are receiving this because you authored the thread.Message ID: @.***>
I had the very same issue with my 7 color Waveshare display and I reported that to support to get a solution. It was the problem with their code and was fixed in the latest Waveshare pull request.
You can update ePiframe Waveshare libraries with the script or just do it faster manually:
cd <path>
rm -r lib/waveshare_epd/
wget -q https://github.com/waveshare/e-Paper/archive/master.zip -O waveshare.zip
unzip -q waveshare.zip
cp -r e-Paper-master/RaspberryPi_JetsonNano/python/lib .
rm -r e-Paper-master/ waveshare.zip
sudo chown -R pi ..
After refreshing the libraries clear the display by setting clear_display
flag to 1 in the config.cfg file for one frame refresh and then set it back to 0 as it is not necessarry and takes a lot of time during frame update.
I have to say that I have enjoyed your epiframe immensely
It's great to hear that! Thanks!
Perfect!!! Thank you so much for your help.
On Sat, Feb 18, 2023, 1:18 PM Mike Gawi @.***> wrote:
I had the very same issue with my 7 color Waveshare display and I reported that to support to get a solution. It was the problem with their code and was fixed in the latest Waveshare pull request https://github.com/waveshare/e-Paper/pull/281.
You can update ePiframe Waveshare libraries with the script https://github.com/MikeGawi/ePiframe/blob/master/INSTALL.md#update-automatically or just do it faster manually:
cd
rm -r lib/waveshare_epd/ wget -q https://github.com/waveshare/e-Paper/archive/master.zip -O waveshare.zip unzip -q waveshare.zip cp -r e-Paper-master/RaspberryPi_JetsonNano/python/lib . rm -r e-Paper-master/ waveshare.zip sudo chown -R pi .. I have to say that I have enjoyed your epiframe immensely
It's great to hear that! Thanks!
— Reply to this email directly, view it on GitHub https://github.com/MikeGawi/ePiframe/issues/76#issuecomment-1435771088, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUPNU76IFNG7KKV7NANXWMLWYE4CTANCNFSM6AAAAAAUHVK7QE . You are receiving this because you authored the thread.Message ID: @.***>
Closed due to inactivity. Please open new issue if support is still needed.
I wanted to do a fresh install of this just to understand it better and to see if I could do it again. NOPE!! grr.. lol.. I am now getting this error:
pi@raspberrypi:~/ePiframe $ ./ePiframe.py --check-config ePiframe - e-Paper Raspberry Pi Photo Frame 2023-01-26 07:55:44 : Verifying configuration... 2023-01-26 07:55:44 : Error verifying configuration file! cred_file configuration entry path does not exist! Traceback (most recent call last): File "/home/pi/ePiframe/./ePiframe.py", line 909, in
main()
File "/home/pi/ePiframe/./ePiframe.py", line 64, in main
config.verify()
File "/home/pi/ePiframe/modules/base/configbase.py", line 218, in verify
property_name.validate()
File "/home/pi/ePiframe/misc/configproperty.py", line 157, in validate
raise Exception(self.FILE_ERROR_MSG.format(self.__name))
Exception: cred_file configuration entry path does not exist!
what am i doing wrong again, I have not messed with the cred file. so I don't understand. thanks again