parent
952c87a0d9
commit
3995238fd5
|
|
@ -77,6 +77,11 @@ Everest::~Everest()
|
|||
deinitialize();
|
||||
}
|
||||
|
||||
Thing *Everest::thing() const
|
||||
{
|
||||
return m_thing;
|
||||
}
|
||||
|
||||
QString Everest::connector() const
|
||||
{
|
||||
return m_connector;
|
||||
|
|
@ -192,11 +197,13 @@ void Everest::onPublishReceived(const QString &topic, const QByteArray &payload,
|
|||
*/
|
||||
|
||||
QVariantMap dataMap = jsonDoc.toVariant().toMap();
|
||||
uint maxCurrent = dataMap.value("max_current_A_import").toUInt();
|
||||
uint minCurrent = dataMap.value("min_current_A_import").toUInt();
|
||||
|
||||
m_thing->setStateMaxValue(everestMaxChargingCurrentStateTypeId,
|
||||
dataMap.value("max_current_A_import").toUInt());
|
||||
m_thing->setStateMinValue(everestMaxChargingCurrentStateTypeId,
|
||||
dataMap.value("min_current_A_import").toUInt());
|
||||
m_thing->setStateMaxValue(everestMaxChargingCurrentStateTypeId, maxCurrent);
|
||||
m_thing->setStateMinValue(everestMaxChargingCurrentStateTypeId, minCurrent == 0 ? 6 : minCurrent);
|
||||
|
||||
// FIXME: once we have a method for phase switching, we can re-enable the featre here
|
||||
|
||||
// bool phaseSwitchingAvailable = dataMap.value("supports_changing_phases_during_charging", false).toBool();
|
||||
// if (!phaseSwitchingAvailable) {
|
||||
|
|
|
|||
|
|
@ -61,6 +61,8 @@ public:
|
|||
explicit Everest(MqttClient *client, Thing *thing, QObject *parent = nullptr);
|
||||
~Everest();
|
||||
|
||||
Thing *thing() const;
|
||||
|
||||
QString connector() const;
|
||||
|
||||
void initialize();
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ EverestClient::EverestClient(QObject *parent)
|
|||
{
|
||||
m_client = new MqttClient("nymea-" + QUuid::createUuid().toString().left(8), 300,
|
||||
QString(), QByteArray(), Mqtt::QoS0, false, this);
|
||||
|
||||
connect(m_client, &MqttClient::disconnected, this, [this](){
|
||||
qCDebug(dcEverest()) << "The MQTT client is now disconnected" << this;
|
||||
if (!m_address.isNull()) {
|
||||
|
|
@ -71,6 +72,13 @@ EverestClient::EverestClient(QObject *parent)
|
|||
});
|
||||
}
|
||||
|
||||
EverestClient::~EverestClient()
|
||||
{
|
||||
foreach (Everest *everest, m_everests) {
|
||||
removeThing(everest->thing());
|
||||
}
|
||||
}
|
||||
|
||||
MqttClient *EverestClient::client() const
|
||||
{
|
||||
return m_client;
|
||||
|
|
@ -86,7 +94,7 @@ void EverestClient::addThing(Thing *thing)
|
|||
if (m_everests.contains(thing)) {
|
||||
qCWarning(dcEverest()) << "The" << thing << "has already been added to the everest client. "
|
||||
"Please report a bug if you see this message.";
|
||||
// FIXME: maybe cleanup and recreate the client due to reconfigure
|
||||
// TODO: maybe cleanup and recreate the client due to reconfigure
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ class EverestClient : public QObject
|
|||
Q_OBJECT
|
||||
public:
|
||||
explicit EverestClient(QObject *parent = nullptr);
|
||||
~EverestClient();
|
||||
|
||||
MqttClient *client() const;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue