WeatherFlow PiConsole - Archive

@peter - I submitted PR #81 to add the demo .ini functionality that brings up a bare no-data console. Implementation was a ‘little’ different than my post above, but it should be obvious.

I picked a Washington state lat/lon so that forecast would work if the user later filled in enough keys for that and restarted the console.

Thanks for the PR Vince! I don’t get anywhere near as much time nowadays to work on the development of new features, so contributions are always appreciated. I will review the PR in the next week or so and then merge it into the code. Thanks!

Having a life always should win !!!

2 Likes

Hi, hopefully this is the right place to ask a dumb question? I have Tempest and WFPIconsole running fine at home. I also have a second Tempest at our RV in S. Alabama. I am trying to set up WFPIconsole down here. I was hoping to be able to use the same .ini file as a basis fir the new setup

Under [Station] are entries for Station ID and Tempest ID. I can find the Station one OK, but can’t find
the Tempest ID, how can I do that.

Under [Keys] I assume I need to get a new Weatherflow key and a new ChexkWx? Both the home station and the the RV one will be running at the same time.

Thanks,
Barry

In the app go to Settings, Stations, station name, Status and you will see all the info you need.

Thanks gizmoev, that’s where I looked, but all I could find there was Serial numbers, STATION ID and DEVICE ID.

There was no entry for TEMPEST ID

Barry

Assuming you are looking at the Status page for a Tempest device, then the Tempest ID is the device ID.

No, you should be able to use the same keys again even if they are running concurrently

Many thanks Peter, now I know why I couldn’t find the info!! Good news on the keys, I’ll give it a whirl later

Barry

Hi Peter, plugged in the numbers and all is working fine!

Barry

1 Like

Hi,

I’ve recently installed WFPiConsole on a RaspberryPi 4 with the official touchscreen. All working well and looking good.

Apart from, after a recent reboot of the Pi the left border of the two leftmost panels is not showing. This is when running in fullscreen mode. When I switch fullscreen off, I see the borders fine.

Also, when I VNC into the device, it does show the borders as expected in the VNC viewer. So, is this is an issue with my touchscreen configuration or something else? Anybody have any clues as to what my problem might be?

Odd - it’s fixed itself overnight. The RaspberryPi rebooted itself during the night (due to an unattended-upgrade running that required a reboot) and this morning the screen looks good again? Weird, as I did several reboots whilst diagnosing the issue with no effect.

I’ll guess I’ll keep an eye on it, and see if it reverts back …

2 Likes

Hi @peter , I hate to have to reach out for what is probably an easy issue. I’ve searched through the forum and just can’t figure out what’s going on.

I am attempting to set up PiConsole on a Pi4B, running Raspian Buster (Legacy). Fresh OS install.
Hardware: Regular HDMI display (non touch screen) - I hope this is ok

I’m getting an error Installing Kivy during setup.

[i] Kivy Python library installation check (will be updated)
[✗] Updating Kivy Python library
Error: Unable to install Kivy Python library

Looking in indexes: Simple index, piwheels - Simple index
Collecting https://github.com/kivy/kivy/archive/2.0.0.zip
Using cached https://github.com/kivy/kivy/archive/2.0.0.zip
Installing build dependencies: started
Installing build dependencies: finished with status ‘done’
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status ‘error’
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [131 lines of output]
[WARNING] [Config ] Older configuration version detected (24 instead of 21)
[WARNING] [Config ] Upgrading configuration in progress.
[INFO ] [Logger ] Record log in /home/pi/.kivy/logs/kivy_23-01-30_8.txt
[INFO ] [Kivy ] v2.0.0
[INFO ] [Kivy ] Installed at “/tmp/pip-req-build-blaokvek/kivy/init.py”
[INFO ] [Python ] v3.7.3 (default, Oct 31 2022, 14:04:00)
[GCC 8.3.0]
[INFO ] [Python ] Interpreter at “/usr/bin/python3”
Current directory is: /tmp/pip-req-build-blaokvek
Source and initial build directory is:
Python path is:
/tmp/pip-req-build-blaokvek
/home/pi/.local/lib/python3.7/site-packages/pip/_vendor/pep517/in_process
/tmp/pip-build-env-14e2wq3t/site
/usr/lib/python37.zip
/usr/lib/python3.7
/usr/lib/python3.7/lib-dynload
/tmp/pip-build-env-14e2wq3t/overlay/lib/python3.7/site-packages
/tmp/pip-build-env-14e2wq3t/normal/lib/python3.7/site-packages
/tmp/pip-req-build-blaokvek/kivy/modules
/home/pi/.kivy/mods

  Found Cython at /tmp/pip-build-env-14e2wq3t/overlay/lib/python3.7/site-packages/Cython/__init__.py
  Detected supported Cython version 0.29.21
  Using this graphics system: OpenGL
  GStreamer found via pkg-config
  SDL2 found via pkg-config
  SDL2: found SDL header at /usr/include/SDL2/SDL.h
  SDL2: found SDL_mixer header at /usr/include/SDL2/SDL_mixer.h
  SDL2: found SDL_ttf header at /usr/include/SDL2/SDL_ttf.h
  SDL2: found SDL_image header at /usr/include/SDL2/SDL_image.h
  WARNING: A problem occurred while running pkg-config --libs --cflags pangoft2 (code 1)
  
  b"Package pangoft2 was not found in the pkg-config search path.\nPerhaps you should add the directory containing `pangoft2.pc'\nto the PKG_CONFIG_PATH environment variable\nNo package 'pangoft2' found\n"

Any ideas on what’s happening? What I have is a new OS install and I don’t mind restarting with a different build, or whatever.

Thanks,
Steve

No problems - I am going to need to have a look into this.

Any particular reason why you want to use the Raspian Buster (Legacy) OS version? If not, try the Raspbian Bullseye version. You might have more luck

I tried the most current version first, Bullseye 32bit and had the issue, initially. So, I tried going with Buster Legacy after to see if it would help.

I’m going to re-image and try again with Bullseye to make sure the errors were the same.

OK, I didn’t realise you had tried with Bullseye already. If you see the same error, can you try running this command and let me know what you see:

python3 -m pip install "kivy[base]"

Unfortunately due to the ongoing Pi shortages, I don’t have a spare Pi4 at the moment. I will have to stop my Home Assistant from running to dig into this further :rofl:

1 Like

Ok, I ran the command you listed. Results below:

pi@piconsole2:~ $ python3 -m pip install “kivy[base]”
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: Simple index, piwheels - Simple index
Collecting kivy[base]
Downloading https://www.piwheels.org/simple/kivy/Kivy-2.1.0-cp39-cp39-linux_armv7l.whl (23.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.1/23.1 MB 3.5 MB/s eta 0:00:00
Requirement already satisfied: docutils in /usr/lib/python3/dist-packages (from kivy[base]) (0.16)
Requirement already satisfied: pygments in /usr/lib/python3/dist-packages (from kivy[base]) (2.7.1)
Collecting Kivy-Garden>=0.1.4
Downloading Kivy_Garden-0.1.5-py3-none-any.whl (4.6 kB)
Requirement already satisfied: pillow in /usr/lib/python3/dist-packages (from kivy[base]) (8.1.2)
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from Kivy-Garden>=0.1.4->kivy[base]) (2.25.1)
Installing collected packages: Kivy-Garden, kivy
Successfully installed Kivy-Garden-0.1.5 kivy-2.1.0

However, rerunning the installation command for wfpiconsole gets the error output:

[i] Kivy Python library installation check (will be updated)
[✗] Updating Kivy Python library
Error: Unable to install Kivy Python library

Looking in indexes: Simple index, piwheels - Simple index
Collecting https://github.com/kivy/kivy/archive/2.0.0.zip
Using cached https://github.com/kivy/kivy/archive/2.0.0.zip
Installing build dependencies: started
Installing build dependencies: finished with status ‘done’
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status ‘error’
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [128 lines of output]
[WARNING] [Config ] Older configuration version detected (24 instead of 21)
[WARNING] [Config ] Upgrading configuration in progress.
[INFO ] [Logger ] Record log in /home/pi/.kivy/logs/kivy_23-01-30_2.txt
[INFO ] [Kivy ] v2.0.0
[INFO ] [Kivy ] Installed at “/tmp/pip-req-build-b0k1kx4y/kivy/init.py”
[INFO ] [Python ] v3.9.2 (default, Mar 12 2021, 04:06:34)
[GCC 10.2.1 20210110]
[INFO ] [Python ] Interpreter at “/usr/bin/python3”
:374: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
:377: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
:381: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
Current directory is: /tmp/pip-req-build-b0k1kx4y
Source and initial build directory is:
Python path is:
/tmp/pip-req-build-b0k1kx4y
/home/pi/.local/lib/python3.9/site-packages/pip/_vendor/pep517/in_process
/tmp/pip-build-env-x49059hd/site
/usr/lib/python39.zip
/usr/lib/python3.9
/usr/lib/python3.9/lib-dynload
/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages
/tmp/pip-build-env-x49059hd/normal/lib/python3.9/site-packages
/tmp/pip-req-build-b0k1kx4y/kivy/modules
/home/pi/.kivy/mods

  Found Cython at /tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/Cython/__init__.py
  Detected supported Cython version 0.29.21
  Using this graphics system: OpenGL
  GStreamer found via pkg-config
  SDL2 found via pkg-config
  SDL2: found SDL header at /usr/include/SDL2/SDL.h
  SDL2: found SDL_mixer header at /usr/include/SDL2/SDL_mixer.h
  SDL2: found SDL_ttf header at /usr/include/SDL2/SDL_ttf.h
  SDL2: found SDL_image header at /usr/include/SDL2/SDL_image.h
  WARNING: A problem occurred while running pkg-config --libs --cflags pangoft2 (code 1)
  
  b"Package pangoft2 was not found in the pkg-config search path.\nPerhaps you should add the directory containing `pangoft2.pc'\nto the PKG_CONFIG_PATH environment variable\nNo package 'pangoft2' found\n"
  
  ERROR: Dependency for context.pyx not resolved: config.pxi
  ERROR: Dependency for compiler.pyx not resolved: config.pxi
  ERROR: Dependency for context_instructions.pyx not resolved: config.pxi
  ERROR: Dependency for fbo.pyx not resolved: config.pxi
  ERROR: Dependency for gl_instructions.pyx not resolved: config.pxi
  ERROR: Dependency for instructions.pyx not resolved: config.pxi
  ERROR: Dependency for opengl.pyx not resolved: config.pxi
  ERROR: Dependency for opengl_utils.pyx not resolved: config.pxi
  ERROR: Dependency for shader.pyx not resolved: config.pxi
  ERROR: Dependency for stencil_instructions.pyx not resolved: config.pxi
  ERROR: Dependency for scissor_instructions.pyx not resolved: config.pxi
  ERROR: Dependency for texture.pyx not resolved: config.pxi
  ERROR: Dependency for vbo.pyx not resolved: config.pxi
  ERROR: Dependency for vertex.pyx not resolved: config.pxi
  ERROR: Dependency for vertex_instructions.pyx not resolved: config.pxi
  ERROR: Dependency for cgl.pyx not resolved: config.pxi
  ERROR: Dependency for cgl_mock.pyx not resolved: config.pxi
  ERROR: Dependency for cgl_gl.pyx not resolved: config.pxi
  ERROR: Dependency for cgl_glew.pyx not resolved: config.pxi
  ERROR: Dependency for cgl_sdl2.pyx not resolved: config.pxi
  ERROR: Dependency for svg.pyx not resolved: config.pxi
   Traceback (most recent call last):
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/_vendor/packaging/requirements.py", line 35, in __init__
       parsed = parse_requirement(requirement_string)
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/_vendor/packaging/_parser.py", line 64, in parse_requirement
       return _parse_requirement(Tokenizer(source, rules=DEFAULT_RULES))
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/_vendor/packaging/_parser.py", line 82, in _parse_requirement
       url, specifier, marker = _parse_requirement_details(tokenizer)
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/_vendor/packaging/_parser.py", line 126, in _parse_requirement_details
       marker = _parse_requirement_marker(
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/_vendor/packaging/_parser.py", line 147, in _parse_requirement_marker
       tokenizer.raise_syntax_error(
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/_vendor/packaging/_tokenizer.py", line 163, in raise_syntax_error
       raise ParserSyntaxError(
   setuptools.extern.packaging._tokenizer.ParserSyntaxError: Expected end or semicolon (after name and no valid version specifier)
       sys_platform == "win32"
                    ^
  
   The above exception was the direct cause of the following exception:
  
   Traceback (most recent call last):
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py", line 212, in _warn_accidental_env_marker_misconfig
       req = Requirement(parsed[1])
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/_vendor/packaging/requirements.py", line 37, in __init__
       raise InvalidRequirement(str(e)) from e
   setuptools.extern.packaging.requirements.InvalidRequirement: Expected end or semicolon (after name and no valid version specifier)
       sys_platform == "win32"
                    ^
  
   The above exception was the direct cause of the following exception:
  
   Traceback (most recent call last):
     File "/home/pi/.local/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 351, in <module>
       main()
     File "/home/pi/.local/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 333, in main
       json_out['return_val'] = hook(**hook_input['kwargs'])
     File "/home/pi/.local/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 118, in get_requires_for_build_wheel
       return hook(config_settings)
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 338, in get_requires_for_build_wheel
       return self._get_build_requires(config_settings, requirements=['wheel'])
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 320, in _get_build_requires
       self.run_setup()
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 484, in run_setup
       super(_BuildMetaLegacyBackend,
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 335, in run_setup
       exec(code, locals())
     File "<string>", line 1068, in <module>
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 107, in setup
       _install_setup_requires(attrs)
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 78, in _install_setup_requires
       dist.parse_config_files(ignore_option_errors=True)
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 868, in parse_config_files
       setupcfg.parse_configuration(
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py", line 163, in parse_configuration
       options.parse()
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py", line 508, in parse
       section_parser_method(section_options)
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py", line 761, in parse_section_extras_require
       parsed = self._parse_section_to_dict_with_key(
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py", line 458, in _parse_section_to_dict_with_key
       value[key] = values_parser(key, val)
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py", line 763, in <lambda>
       lambda k, v: self._parse_requirements_list(f"extras_require[{k}]", v)
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py", line 642, in _parse_requirements_list
       _warn_accidental_env_marker_misconfig(label, value, parsed)
     File "/tmp/pip-build-env-x49059hd/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py", line 217, in _warn_accidental_env_marker_misconfig
       raise InvalidRequirement(msg) from ex
   setuptools.extern.packaging.requirements.InvalidRequirement: One of the parsed requirements in `extras_require[gstreamer]` looks like a valid environment marker: 'sys_platform == "win32"'
   Make sure that the config is correct and check https://setuptools.pypa.io/en/latest/userguide/declarative_config.html#opt-2
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

OK, that was semi expected. Try running

python3 -m pip install kivy[base]==2.0.0

and then try the installer again. It should work this time

1 Like

Thank you so much. That took care of it.

1 Like

When I am attempting to start the PiConsole using wfpiconsole start i am getting the following error after entering in my API information:

[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_23-01-31_16.txt
[INFO   ] [Kivy        ] v2.0.0
[INFO   ] [Kivy        ] Installed at "/home/pi/.local/lib/python3.7/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.7.3 (default, Oct 31 2022, 14:04:00)
[GCC 8.3.0]
[INFO   ] [Python      ] Interpreter at "/usr/bin/python3"

  ===================================================
  Starting wfpiconsole configuration wizard
  ===================================================

  Required fields are marked with an asterix (*)

  API keys
  ---------------------------------
  Please enter your WeatherFlow Personal Access Token*: xxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
  Please enter your CheckWX API Key*: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 Traceback (most recent call last):
   File "main.py", line 33, in <module>
     configFile.create()
   File "/home/pi/wfpiconsole/lib/config.py", line 97, in create
     writeConfigKey(Config, Section, Key, default[Section][Key])
   File "/home/pi/wfpiconsole/lib/config.py", line 508, in writeConfigKey
     validateAPIKeys(Config)
   File "/home/pi/wfpiconsole/lib/config.py", line 531, in validateAPIKeys
     CHECKWX = requests.get(URL, headers=header).json()
   File "/usr/lib/python3/dist-packages/requests/models.py", line 897, in json
     return complexjson.loads(self.text, **kwargs)
   File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 518, in loads
     return _default_decoder.decode(s)
   File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 370, in decode
     obj, end = self.raw_decode(s)
   File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 400, in raw_decode
     return self.scan_once(s, idx=_w(s, idx).end())
 simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

I saw someone posting about a similar issue a while back, and it was supposedly an API issue?

I am running a rp3+ with the buster desktop.

Yes, this looks like an API issue. CheckWX does go down sometimes and it’s just a case of waiting for it to come back up. Usually the console will handle these error, but when doing the first configuration it can’t proceed. It’s late here (UK), but I will look into it ASAP