Api-call-service error doesn't match up with request?

Heya – new to Node Red, so this is almost certainly my fault somehow, but I’m not sure what I’m doing wrong here.

I’ve got some simple flows I’m testing – simple 3 node stuff like:
Inject → home assistant call service → debug

Where the call service is attempting stuff like changing a value from Yes to No for a particular select entity:

[
    {
        "id": "fee4174863f0e850",
        "type": "api-call-service",
        "z": "6753a1c749ecd551",
        "name": "Grid Charging",
        "server": "bb4a92ae30b6a0a1",
        "version": 5,
        "debugenabled": false,
        "domain": "select",
        "service": "select_option",
        "areaId": [],
        "deviceId": [
            "e7b76450da3e9fcb73020a2f2fff2680"
        ],
        "entityId": [
            "select.home_energy_gateway_grid_charging"
        ],
        "data": "{\"option\":\"Yes\"}",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 640,
        "y": 340,
        "wires": [
            [
                "41f64ed2cfc0e5c3"
            ]
        ]
    },
    {
        "id": "bb4a92ae30b6a0a1",
        "type": "server",
        "name": "Home Assistant",
        "version": 5,
        "addon": false,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true,
        "heartbeat": false,
        "heartbeatInterval": "30",
        "areaSelector": "friendlyName",
        "deviceSelector": "friendlyName",
        "entitySelector": "friendlyName",
        "statusSeparator": ": ",
        "statusYear": "hidden",
        "statusMonth": "short",
        "statusDay": "numeric",
        "statusHourCycle": "default",
        "statusTimeFormat": "h:m",
        "enableGlobalContextStore": false
    }
]

The setting is changed properly, however Node Red is returning an api error, and I’m seeing this in node-red’s logs:

20 Nov 00:40:25 - [error] [api-call-service:No Grid Charging] Call-service error. Option No not valid for Energy exports

and this in HA’s logs:

2022-11-20 00:40:25.986 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139970509402608] Option No not valid for Energy exports
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 200, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1744, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1781, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 208, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 678, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 943, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/select/__init__.py", line 55, in async_select_option
    raise ValueError(f"Option {option} not valid for {entity.name}")
ValueError: Option No not valid for Energy exports
2022-11-20 00:40:45.377 ERROR (Recorder) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 943, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/select/__init__.py", line 55, in async_select_option
    raise ValueError(f"Option {option} not valid for {entity.name}")
ValueError: Option No not valid for Operation mode

If I trigger the same flow a few times in a row, I’ll oddly get different errors … for instance this is from another flow:

20 Nov 00:24:54 - [error] [api-call-service:Time-Based Control] Call-service error. Option autonomous not valid for Operation mode
20 Nov 00:24:58 - [error] [api-call-service:Time-Based Control] Call-service error. Option autonomous not valid for Energy exports
20 Nov 00:25:01 - [error] [api-call-service:Time-Based Control] Call-service error. Option autonomous not valid for Grid charging
20 Nov 00:25:06 - [error] [api-call-service:Time-Based Control] Call-service error. Option autonomous not valid for Grid charging

If I attempt to make similar changes from HA → Developer Tools → Services, everything works fine with no logged errors.

Any idea what’s going on? It almost looks like an off-by-one index problem since “Operation mode” and “Energy exports” are similar selects for that device, but the errors aren’t identical as one would expect… and since it still manages to execute correctly too, it’s almost like something is looping through all of the selects for the device? But then I don’t see errors for all of the other selects, just a single random one for each execution.

Cranking up the logs to debug on both Node Red and Home Assistant (websocket.api only) doesn’t reveal anything more:

node red:

20 Nov 04:06:53 - [debug] [api-call-service:Time-Based Control] Calling Service: {"domain":"select","service":"select_option","target":{"device_id":"e7b76450da3e9fcb73020a2f2fff2680","entity_id":"select.home_energy_gateway_operation_mode"},"data":{"option":"Time-Based Control","device_id":"e7b76450da3e9fcb73020a2f2fff2680","entity_id":"select.home_energy_gateway_operation_mode"}}
20 Nov 04:06:55 - [error] [api-call-service:Time-Based Control] Call-service error. Option Time-Based Control not valid for Grid charging

HA:

2022-11-20 04:06:55.532 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139771165426784] Option Time-Based Control not valid for Grid charging
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 200, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1744, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1781, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 208, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 678, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 943, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/select/__init__.py", line 55, in async_select_option
    raise ValueError(f"Option {option} not valid for {entity.name}")
ValueError: Option Time-Based Control not valid for Grid charging
2022-11-20 04:06:55.534 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [139771165426784] Sending {"id":22,"type":"result","success":false,"error":{"code":"unknown_error","message":"Option Time-Based Control not valid for Grid charging"}}
2022-11-20 04:06:59.844 ERROR (Recorder) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 943, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/select/__init__.py", line 55, in async_select_option
    raise ValueError(f"Option {option} not valid for {entity.name}")
ValueError: Option Time-Based Control not valid for Energy exports

HA: 2022-11-3
Node Red: 3.0.2
node-red-contrib-home-assistant-websocket: 0.47.0