December 2022 - and I’m finally restoring the NUT add-on to my Home Assistant system. For the benefit of other CyberPower UPS users, the following is my NUT add-on configuration YAML:
- config: []
driver: usbhid-ups
name: cyberpower1500
port: auto
mode: netserver
upsd_maxage: 25
upsd_pollinterval: 15
upsd_pollonly: "enabled"
Now waiting the prescribed 20 or 30 minutes to see if this finally resolves the stale data issue. THANK YOU for all the information in this thread and on Github.
Over an hour later - nope. 
[14:30:06] INFO: Starting the UPS information server...
0.000000 fopen /run/nut/upsd.pid: No such file or directory
0.000413 listening on 0.0.0.0 port 3493
0.000721 Connected to UPS [cyberpower1500]: usbhid-ups-cyberpower1500
[14:30:06] INFO: Starting the UPS monitor and shutdown controller...
0.000000 fopen /run/nut/upsmon.pid: No such file or directory
0.000406 Using power down flag file /etc/killpower
0.000716 UPS: cyberpower1500@localhost (master) (power value 1)
0.000831 debug level is '1'
0.000853 Warning: running as one big root process by request (upsmon -p)
0.001290 Init SSL without certificate database
0.004325 Trying to connect to UPS [cyberpower1500@localhost]
0.517955 User [email protected] logged into UPS [cyberpower1500]
0.006360 Logged into UPS cyberpower1500@localhost
8341.368234 Data for UPS [cyberpower1500] is stale - check driver
8345.856941 Poll UPS [cyberpower1500@localhost] failed - Data stale
{"message":"Event nut.ups_event fired."}Network UPS Tools upsmon 2.7.4
8350.858162 Poll UPS [cyberpower1500@localhost] failed - Data stale
8355.858794 Poll UPS [cyberpower1500@localhost] failed - Data stale
8360.859357 Poll UPS [cyberpower1500@localhost] failed - Data stale
added the YAML line
pollonly: "enabled"
and restarted - let’s see what happens . . . a day later, and pollonly: enabled made it work properly! 