Input data is not reported back

I have set up some sliders to control a temperature calibration adjustment on my device. This works, but the current input value is not being reported back to the widget, so I can’t see what it is set to. I followed the code sample in the documentation. Any suggestions?

thing[“inCal”] << [](pson& in)
{
if (in.is_empty())
{
in = cal[INSIDE_TEMP_INDEX];
}
else
{
cal[INSIDE_TEMP_INDEX] = in;
}
};

I am using a combined in and out:
thing[“CtrlMode”] = [](pson & in, pson & out)
{
if (in.is_empty())
{
in = dashboard.CtrlMode ;
} else {
dashboard.CtrlMode = in;
}
out = dashboard.CtrlMode;
};