MikeGawi / ePiframe

ePiframe is an e-Paper (or HDMI, Composite display) Raspberry Pi Photo Frame with Google Photos and more
GNU General Public License v3.0
63 stars 10 forks source link

cred_file configuration entry path does not exist! #76

Closed xdweaver closed 1 year ago

xdweaver commented 1 year ago

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

MikeGawi commented 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.

xdweaver commented 1 year ago

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: @.***>

MikeGawi commented 1 year ago

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.

xdweaver commented 1 year ago

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

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: @.***>

xdweaver commented 1 year ago

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: @.***>

MikeGawi commented 1 year ago

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.

xdweaver commented 1 year ago

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: @.***>

xdweaver commented 1 year ago

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: @.***>

MikeGawi commented 1 year ago

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:

After that ePiframe should start automatically with system and should recover after error - it will always work until switched off, i.e.

To get more information about service control refer to documentation.

xdweaver commented 1 year ago

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.service

After 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: @.***>

MikeGawi commented 1 year ago

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!

xdweaver commented 1 year ago

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: @.***>

MikeGawi commented 1 year ago

Closed due to inactivity. Please open new issue if support is still needed.