I believe the culprit is here in __init__.py:
async def hass_started(event: HAEvent) -> None: _LOGGER.debug("adding state changed listener and starting global contexts") await State.get_service_params() hass.data[DOMAIN][UNSUB_LISTENERS].append(hass.bus.async_listen(EVENT_STATE_CHANGED, state_changed)) start_global_contexts() The state_changed listener is only setup upon hass_started.
When disabling pyscript, the listener is removed. When re-enabling it, the listener is never re-added.