Thanks for the ideas.

Found this solutions, too ... but non if it worked.
I will try to uninstall weewx as debian pacekt and try installing it in a venv, maybe more luck...

Regards,

Christian

Am 06.07.26 um 06:04 schrieb Susan Mackay:
I am certainly no believer in AI so please treat this with all due
caution...

I was intrigued to know what 'ldg-nfy0' was so I Googled it. The AI summary
provided:

```
.lgd-nfy0 is a temporary named pipe file created by the lgpio Python
library, which is commonly used on Raspberry Pi devices for managing
hardware pins. The file acts as a notification channel for handling
hardware events and interrupts. [1
<https://community.openhab.org/t/python3-binding-discussion/161914/143>, 2
<https://forum.openmarine.net/showthread.php?tid=6149&page=2>]
When scripts utilizing high-level libraries like gpiozero crash or report
an "Operation not permitted" or "Can't set permissions" error, it is almost
always due to this file being generated in a directory where your program
does not have write permissions. [1
<https://github.com/gpiozero/gpiozero/issues/1106>, 2
<https://forums.raspberrypi.com/viewtopic.php?t=379869>]
Why the Error Happens

    - Systemd Services: Running your script as a boot service defaults the
    working directory to the root directory (/), where standard scripts are
    forbidden to write. [1
    <https://github.com/gpiozero/gpiozero/discussions/1153>]
    - External Storage: Running scripts directly from a USB flash drive or
    restricted media directory often conflicts with Linux file permission
    policies. [1 <https://forums.raspberrypi.com/viewtopic.php?t=399250>, 2
    <https://forums.raspberrypi.com/viewtopic.php?t=379869>]

How to Fix It
You can easily resolve this issue using one of the following proven methods:
Method 1: Change the Working Directory Environment Variable (Recommended) [1
<https://github.com/joan2937/lg/issues/12>]
You can force lgpio to create its temporary notification pipes in the
system's global temporary folder (/tmp), where all users have write
permissions. [1 <https://github.com/joan2937/lg/issues/22>, 2
<https://forum.openmarine.net/showthread.php?tid=6149&page=2>]

    1. Open your terminal.
    2. Define the global environment variable by running:
    bash
    export LG_WD=/tmp
    Use code with caution.
    3. To make this change permanent, add export LG_WD=/tmp to your system
    profile or your shell configuration file (like ~/.bashrc). [1
    <https://forum.openmarine.net/showthread.php?tid=6149&page=2>]

Method 2: Fix the Systemd Service File
If your script crashes specifically when executed via a systemd service,
you must explicitly declare a writable directory. [1
<https://github.com/gpiozero/gpiozero/discussions/1153>]

    1. Open your service configuration file (e.g.,
    /etc/systemd/system/myscript.service).
    2. Add a WorkingDirectory parameter under the [Service] block pointing
    to a path owned by your script's user:
    ini
    [Service] WorkingDirectory=/home/your_username/
    ExecStart=/usr/bin/python3 /home/your_username/script.py
    Use code with caution.
    3. Reload the system daemon and restart your service:
    bash
    sudo systemctl daemon-reload sudo systemctl restart myscript.service
    Use code with caution.
    [1 <https://github.com/gpiozero/gpiozero/discussions/1153>]

Method 3: Change Directory Inside the Python Script
If you do not want to change system files, you can force the Python runtime
to change its execution context to a writable folder before invoking any
hardware controls. Add these lines to the absolute top of your script: [1
<https://github.com/gpiozero/gpiozero/discussions/1153>]
python
import os os.chdir('/tmp') # Safely redirects pipe generation to the
temporary folder from gpiozero import LED # Or any other hardware libraries
Use code with caution.
```

On Sunday, 5 July 2026 at 9:55:55 pm UTC+10 Christian Peters wrote:

Hi,

I just ran into the same problem: rpi model B, 32 bit Debian Trixie, weewx
latest, as3935.py.

Not sure howto fix it...!?
Installed with apt, no venv.
Any help would be great.

Regards,
Christian

INFO weewx.engine: Loading station type Simulator (weewx.drivers.simulator)
2026-07-05T11:31:26.452462+02:00 webpi weewxd[1283]: 2026-07-05 11:31:26
xCreatePipe: Can't set permissions (436) for //.lgd-nfy0, No such file or
directory
2026-07-05T11:31:26.459798+02:00 webpi weewxd[1283]: CRITICAL __main__:
Caught OSError: [Errno 2] No such file or directory: '.lgd-nfy-3'
2026-07-05T11:31:26.515718+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****  Traceback (most recent call last):
2026-07-05T11:31:26.530273+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "/usr/share/weewx/weewxd.py", line 121, in main
2026-07-05T11:31:26.531269+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****      engine = weewx.engine.StdEngine(config_dict)
2026-07-05T11:31:26.532277+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "/usr/share/weewx/weewx/engine.py", line 89, in __init__
2026-07-05T11:31:26.533171+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****      self.loadServices(config_dict)
2026-07-05T11:31:26.534056+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****      ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
2026-07-05T11:31:26.534935+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "/usr/share/weewx/weewx/engine.py", line 157, in loadServices
2026-07-05T11:31:26.540367+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****      obj = weeutil.weeutil.get_object(svc)(self, config_dict)
2026-07-05T11:31:26.541467+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****            ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
2026-07-05T11:31:26.542358+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "/usr/share/weewx/weeutil/weeutil.py", line 1405, in
get_object
2026-07-05T11:31:26.543236+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****      module = importlib.import_module(module_name)
2026-07-05T11:31:26.549302+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "/usr/lib/python3.13/importlib/__init__.py", line 88, in
import_module
2026-07-05T11:31:26.560050+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****      return _bootstrap._gcd_import(name[level:], package, level)
2026-07-05T11:31:26.561043+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****             ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-07-05T11:31:26.562020+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
2026-07-05T11:31:26.562909+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
2026-07-05T11:31:26.563908+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "<frozen importlib._bootstrap>", line 1331, in
_find_and_load_unlocked
2026-07-05T11:31:26.564802+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
2026-07-05T11:31:26.570396+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "<frozen importlib._bootstrap_external>", line 1026, in
exec_module
2026-07-05T11:31:26.580942+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "<frozen importlib._bootstrap>", line 488, in
_call_with_frames_removed
2026-07-05T11:31:26.584793+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "/etc/weewx/bin/user/as3935.py", line 74, in <module>
2026-07-05T11:31:26.587229+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****      import RPi.GPIO as GPIO
2026-07-05T11:31:26.591976+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "/usr/lib/python3/dist-packages/RPi/GPIO/__init__.py", line
14, in <module>
2026-07-05T11:31:26.600240+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****      import lgpio
2026-07-05T11:31:26.602930+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "/usr/lib/python3/dist-packages/lgpio.py", line 563, in
<module>
2026-07-05T11:31:26.607009+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****      _notify_thread = _callback_thread()
2026-07-05T11:31:26.612416+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****    File "/usr/lib/python3/dist-packages/lgpio.py", line 504, in
__init__
2026-07-05T11:31:26.615416+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****      self._file = open('.lgd-nfy{}'.format(self._notify), 'rb')
2026-07-05T11:31:26.621176+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-07-05T11:31:26.623563+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****  FileNotFoundError: [Errno 2] No such file or directory: '.lgd-nfy-3'
2026-07-05T11:31:26.624494+02:00 webpi weewxd[1283]: CRITICAL __main__:
   ****  Waiting 10 seconds then retrying...

David Enstrom schrieb am Sonntag, 12. Oktober 2025 um 14:36:51 UTC+2:

Clarification: currently running WeeWX V5.0.2
So something has changed to cause this error: either the OS to Trixie or
WeeWX to V5.1.0

On Friday, October 10, 2025 at 1:16:45 AM UTC-4 Graham Eddy wrote:

i upgraded bookworm to trixie with no such issues. it is specific to
this installation. i think the clue is all in the error message:

**** FileNotFoundError: [Errno 2] No such file or directory: '.lgd-nfy-3'

*⊣GE⊢*

On 10 Oct 2025, at 1:37 pm, David Enstrom <[email protected]> wrote:

I was previously running WeeWX V5 with no issues ... really the only
change was the OS, to Trixie.





--
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/weewx-user/9ef91305-1356-41bb-ae4a-8ff5551ce1ee%40googlemail.com.

Reply via email to