Correct use of BLYNK_WRITE

I’m hoping we have different aspects of the same problem. In my case, I have this in my sketch:

BLYNK_WRITE(D12) {
poolState = param.asInt();
}

but the value of poolState never changes, although in my iPhone app I have a button tied to D12, and although I have electronics tied to physical D12 and they see the pin toggle.

Is my problem that I’m not permitted to read the digital value? What would determine that?