genebean / PiWeatherRock

Displays local weather on a Raspberry Pi

Home Page:https://piweatherrock.technicalissues.us

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Internet Weather Station is not shown on 320x240 display

dodas425 opened this issue · comments

Hello everybody!

Unfortunately, I'm almost desperate again.
Get this message with the command (sudo python weather.py):
Traceback (most recent call last):
File "weather.py", line 825, in
if my_disp.get_forecast() is False:
File "weather.py", line 274, in get_forecast
config.UNITS)
TypeError: forecast() takes at most 3 arguments (4 given)

Or with the command (python3. weather.py):

pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "weather.py", line 815, in
my_disp = my_display()
File "weather.py", line 236, in init
pygame.display.init()
pygame.error: Unable to open a console terminal

The 2 files are in the attachment as a zipped file!
Can someone help me please? Thank you very much!!!

files.zip

Happy to help! First off, you don’t need sudo for this... it should run as the current user. To use sudo would actually require more environment settings. Second, can you tell me what operating system you are running? If on a Debian based system, did you use the directions in the readme including installing the extra libraries?

Sent with GitHawk

Hello!
I´m running:
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.1 (stretch)
Release: 9.1
Codename: stretch

Furthermore I installed all dependencies and got and used an API key from https://darksky.net/dev. Unfortunately, the script still doesn't work properly.

Are you running it locally from your raspberry pi or from an ssh connection?

Sent with GitHawk

Also, what does env | sort return?

Sent with GitHawk

I´m running it from an ssh connection. I usually put it in the startup, so that when the Raspberry Pi's was powered up it should start.

Also, what does env | sort return?

<-- What do you mean by that?

Please run that command. As for running this over ssh, you have to export your display for that to work. Am I correct in assuming you are running the full version of Raspnian, aka not “Raspian Lite?”

Sent with GitHawk

DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
HOME=/home/pi
LANG=de_DE.UTF-8
LOGNAME=pi
MAIL=/var/mail/pi
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/gam es:/usr/games
PWD=/home/pi
SHELL=/bin/bash
SHLVL=1
SSH_CLIENT=192.168.178.93 63177 22
SSH_CONNECTION=192.168.178.93 63177 192.168.178.102 22
SSH_TTY=/dev/pts/0
TERM=xterm
USER=pi
_=/usr/bin/env
XDG_RUNTIME_DIR=/run/user/1000
XDG_SESSION_ID=c3

That’s what I was expecting. Your DISPLAY environment variable is not set. Me doing #10 will document that process. I’ll see about doing that when I get home tonight.

Sent with GitHawk

I don't know which Rasbian version is installed (Lite or Full) ...?

Thank you for your help!

Good evening! Do you still have time to show me how to set the DISPLAY environment variable? best regards

I just got home a little while ago. It’ll be later tonight but it is on my to do list still.

Sent with GitHawk

@dodas425 check out the updated readme. It should get you taken care of as I have made this able to run as a service. Please let me know if that works or if you need more help.

Thank you so much for the great help. I will be happy to test it out after work tonight and will get in touch! I wish you a nice day!

Just wanted to see how things went

320x240

Do you have FULLSCREEN set to true? Also, what kind of startup problems are you having?

Sent with GitHawk

Also, what’s wrong with the time? Regarding using sudo, if you back up your config, delete your copy of the code, reclone it without sudo like the docs say, put your config back, and run the new install.sh it should start automatically.

Sent with GitHawk

No! I have set the fullscreen to false. I'm going to change it tonight and set it to true.

Doesn't it matter how big the icons are and are automatically adjusted to the resolution 320/240 if FULLSCREEN = True?

OK, I'll go through these steps again tonight. Maybe I made a mistake and will report to you directly! Thank you!

Are the attached icons also intended for 320/240 resolution?

So, there are two sets of icons in the code. The non-full screen set of code sets things up assuming you have 480x320 display. When fullscreen is used it detects your display size and scales accordingly. Anything with a width less than 1024 gets the small icons as the big ones just take up too much room. The logic for this is here:

PiWeatherRock/weather.py

Lines 252 to 262 in d5e0ac1

if config.FULLSCREEN:
self.xmax = pygame.display.Info().current_w - 35
self.ymax = pygame.display.Info().current_h - 5
if (self.xmax <= 1024):
self.icon_size = '64'
else:
self.icon_size = '256'
else:
self.xmax = 480 - 35
self.ymax = 320 - 5
self.icon_size = '64'

If your display would look better with the 128x128 icons you are welcome to open a separte issue for that but I am not sure how fast I can get to setting them up. As the code above shows, I currently just have 64x64 and 256x256 icons.

I now understand your explanation about config.FULLSCREEN. At home I test whether the smaller icons look good and give feedback! If the icons should be 128x128, I'll get back to a new issue

Hi there! I have followed your installation instructions. Unfortunately it didn't work, so I entered weather.py in a launcher.sh, which in turn is loaded via .bashrc when the Raspberry pi is restarted.

Unfortunately the wind speed is not shown completely. Do you know how I can adjust the font for humidity and feels like? I was able to adjust the icons to 64x64 pixels, but it would be nice if they could be positioned a little higher ... Do you have an idea? I have added 2 photos. Thanks in advance!

IMG_6367
IMG_6369

Here is my modified script attached...
weather.zip

The text on the info screen also doesn't fit perfectly :-(
IMG_6371

I will look into this some this weekend but I think the root cause is that this isn’t setup for that low of a resolution display. I’ll see if I can get it looking better though.

Sent with GitHawk

Oh, that's very nice of you! I'm glad

FYI: I started a Gitter for this project to facilitate real time chats too. I’ll be in there a little later. https://gitter.im/PiWeatherRock/community

Sent with GitHawk

FYI, I added some new info to he readme tonight and fixed a few bugs. I haven’t forgotten about your issue and hope to work on it this week.

Hi there! Gitter is a nice idea! Very interesting. The weather project deserved something :)

Thanks for the info, my dear. I am happy for every optimization. Thank you so much for your help!

I don't want to ask too much, but it would be nice to be able to create the days in another language!

Thanks! Regarding the language stuff, feel free to open a feature request

OK thanks! I made that already :-)

Hi, Gene! Did you get around to looking for my Python display problem (resolution 320x240) yet? Changing that value in line 253 of weather.py to 58 has compressed the display even more.

My Python script at this point is a bit different, if it should not look compressed:

os.environ["SDL_FBDEV"] = "/dev/fb1"
os.environ["SDL_MOUSEDEV"] = "/dev/input/event0"
os.environ["SDL_MOUSEDRV"] = "TSLIB"

    pygame.init()
    pygame.display.init()
    screen = pygame.display.set_mode((320, 240), 0, 32)

    size = (pygame.display.Info().current_w, pygame.display.Info().current_h)
    # print "Framebuffer Size: %d x %d" % (size[0], size[1])
    
    self.screen = pygame.display.set_mode(size, pygame.FULLSCREEN)
    # Clear the screen to start
    self.screen.fill((0, 0, 0))        
    # Initialise font support
    pygame.font.init()
    # Render the screen
    pygame.mouse.set_visible(0)
    pygame.display.update()
    #for fontname in pygame.font.get_fonts():
    #        print fontname
    self.xmax = 320
    self.ymax = 240
    self.icon_size = '64'
    self.subwindow_text_height = 0.070
    self.time_date_text_height = 0.149
    self.time_date_small_text_height = 0.075
    self.time_date_y_position = 0
    self.time_date_small_y_position = 30

    self.last_update_check = 0

I ordered a 320x240 screen tonight so that I can dig into this.

Sent with GitHawk

Hi, are you a little bit programming on the new 320/240 display? Best wishes

I tried but a it turned out my spare Pi was dead. I just got another zero w that I’m going to use but it’s going to be a few days til I’m able to start

Sent with GitHawk

OK, I'm glad to see you're moving on. Good luck.

@dodas425 I got my display the other day but had to work with the manufacturer to get to actually use the 320x240 resolution. This morning I finally have it working at that resolution so I can now start trying to debug your issue.

That's very nice! Good luck. Good luck.