While searching I came across some of Joan's code (which has been recently published or updated) - this seemed to fit the bill (even though it looked too simple).
There is none of the arcane installation Adafruit required and it seems to work every time without missing readings due to timing errors.
All that is needed is a simple python module and pigpiod - ...
If you only want to change the static ip address on an interface you can just do it with ip address in two steps, for example:
rpi ~$ sudo ip address del 192.168.0.1/24 dev eth0
rpi ~$ sudo ip address add 192.168.0.2/24 dev eth0
ip address has also options change and replace but these will not modify the ip address, but only the flags of an existing ip ...
I fixed with the steps below:
Download libssl1.0.0 from https://packages.debian.org/jessie/armhf/libssl1.0.0/download (I made this with WinScp tools, with a ssh connection with a Windows10 host).
In the folder containing this package run: dpkg -i libssl1.0.0_1.0.1t-1+deb8u12_armhf.deb
Finally run: dpkg -i zipgateway-2.81.03-Linux-armhf.deb
For me it works
For those who don't mind manually upgrading to OpenSSL 1.1.1 in Raspbian, there is easy way of doing so in Unix system:
(Optionally) Remove previous OpenSSL by running apt-get remove openssl
Download the entire OpenSSL source code from its official Github repository by running git clone https://github.com/openssl/openssl.git
Go to the downloaded openssl ...
timedatectl will show if synced
Local time: Tue 2019-11-19 09:59:09 AEDT
Universal time: Mon 2019-11-18 22:59:09 UTC
RTC time: n/a
Time zone: Australia/Sydney (AEDT, +1100)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Since systemd 239 there is a systemd-time-wait-sync.service available that you can just use in your systemd service to start After=systemd-time-wait-sync.service. For further information look at How can I delay the startup of systemd services until the datetime is set (no RTC on the Raspberry Pi). Raspbian Buster comes with systemd 241.
The problem is that ...
If you install ntpd instead of timesyncd, you can check out the first line of the output of ntpstat:
$ ntpstat | head -n1
... later on ..
$ ntpstat | head -n1
synchronised to NTP server (10.5.26.10) at stratum 2
Inside a script or a C program, use the return code:
ntpstat returns 0 if clock is synchronised. ntpstat returns 1 if clock is ...
According to Raspberry Pi Forums: RPi3 wlan0 doesn't change with predictable names:
On the Pi only USB devices (like the ehternet adapter) use the predictable names
The wifi adapter uses SDIO and apparently there's no mechanism for predictable names using that channel.
So predictible interface names will never work with the onboard wifi device.