- CitrineOS core extracted (CSMS OCPP 2.0.1) - OpenOCPP extracted (firmware OCPP 1.6J/2.0.1) - ShapeShifter library installed (pip install -e) - ShapeShifter specification extracted - EVerest extracted TODO updated with progress
31 lines
1.2 KiB
C++
31 lines
1.2 KiB
C++
// SPDX-License-Identifier: Apache-2.0
|
|
// Copyright chargebyte GmbH and Contributors to EVerest
|
|
|
|
#include "ChargePoint.hpp"
|
|
#include "../RpcHandler.hpp"
|
|
|
|
namespace notifications {
|
|
|
|
static const std::string NOTIFICATION_CHARGEPOINT_ACTIVE_ERRORS_CHANGED = "ChargePoint.ActiveErrorsChanged";
|
|
|
|
ChargePoint::ChargePoint(std::shared_ptr<rpc::JsonRpc2ServerWithClient> rpc_server, data::DataStoreCharger& dataobj,
|
|
int precision) :
|
|
m_dataobj(dataobj), m_rpc_server(std::move(rpc_server)), m_precision(precision) {
|
|
// Register notification callbacks for the charger errors
|
|
m_dataobj.chargererrors.register_notification_callback(
|
|
[this](const std::vector<RPCDataTypes::ErrorObj>& active_errors) {
|
|
this->send_active_errors_changed(active_errors);
|
|
});
|
|
};
|
|
|
|
// Notifications
|
|
|
|
void ChargePoint::send_active_errors_changed(const std::vector<RPCDataTypes::ErrorObj>& active_errors) {
|
|
RPCDataTypes::ChargePointActiveErrorsChangedObj active_errors_changed;
|
|
active_errors_changed.active_errors = active_errors;
|
|
m_rpc_server->CallNotificationWithObject(NOTIFICATION_CHARGEPOINT_ACTIVE_ERRORS_CHANGED, active_errors_changed,
|
|
m_precision);
|
|
}
|
|
|
|
} // namespace notifications
|