async unsubscribe(handle) {
        if (Object.keys(this.subscriptions).length === 0) {
            return;
        }

        try {
            await this.asyncClient.unsubscribe(Object.keys(this.subscriptions));
        } catch (e) {
            if (e.message !== "client disconnecting" && e.message !== "Connection closed") {
                throw e;
            }
        }

        for (const topic of Object.keys(this.subscriptions)) {
            delete this.subscriptions[topic];
        }
    }
Helper function for handles to unsubscribe from topics

@param {import("./handles/MqttHandle")|import("./homeassistant/components/HassComponent")} handle
@return {Promise<void>}