I have an A3, type:8 hw:105 sw:135 SI29BG, ethernet connected. Reading my formaldehyde values from the local (json) data, I always have a value of zero for formaldehyde. The dashboard shows varying values.
Here are graphs of locally collected values (daych20.png) and remotely stored values (Screenshot)
This is a sample of values from the monitor
This is a bit strange, you should get a perfect match on formaldehyde. Please note the server returns it in PPB, as the local embedded webserver returns it in PPM. Make sure there are no digits lost there due to Integer operations trimming the complete values. Also make sure you local read operations are completed successfully, it is possible you sometimes get timeouts and your values stay 0.
The local JSON is only offered as a bonus and for quick debug tests. It is important you use the Server API to get meaningful readings. Also because there is a calibration layer implemented only on the server side, that does some compensations for temperature and humidity on the models with the sensor placed inside (to correct aberrations caused by internal heating), but it also computes PM1 and PM10, and also VOC AQI otherwise not available locally.
Let me know if you need any help migrating to the Server API.