Don't log all states by default any more
This commit is contained in:
parent
eaaf2e0188
commit
5f1855ff44
@ -660,7 +660,17 @@ ZigbeeManager *NymeaCore::zigbeeManager() const
|
||||
|
||||
void NymeaCore::gotEvent(const Event &event)
|
||||
{
|
||||
m_logger->logEvent(event);
|
||||
Thing *thing = m_thingManager->findConfiguredThing(event.thingId());
|
||||
ThingClass thingClass = thing ? thing->thingClass() : ThingClass();
|
||||
EventType eventType = thingClass.eventTypes().findById(event.eventTypeId());
|
||||
foreach (const QString &interfaceName, thingClass.interfaces()) {
|
||||
Interface iface = m_thingManager->supportedInterfaces().findByName(interfaceName);
|
||||
if (iface.eventTypes().findByName(eventType.name()).logged()) {
|
||||
m_logger->logEvent(event);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
emit eventTriggered(event);
|
||||
|
||||
QList<RuleAction> actions;
|
||||
|
||||
@ -200,6 +200,7 @@ Interface ThingUtils::loadInterface(const QString &name)
|
||||
stateType.setMinValue(stateVariant.toMap().value("minValue"));
|
||||
stateType.setMaxValue(stateVariant.toMap().value("maxValue"));
|
||||
stateType.setOptional(stateVariant.toMap().value("optional", false).toBool());
|
||||
stateType.setLogged(stateVariant.toMap().value("logged", false).toBool());
|
||||
if (stateVariant.toMap().contains("unit")) {
|
||||
QMetaEnum unitEnum = QMetaEnum::fromType<Types::Unit>();
|
||||
int enumValue = unitEnum.keyToValue("Unit" + stateVariant.toMap().value("unit").toByteArray());
|
||||
@ -214,6 +215,7 @@ Interface ThingUtils::loadInterface(const QString &name)
|
||||
InterfaceEventType stateChangeEventType;
|
||||
stateChangeEventType.setName(stateType.name());
|
||||
stateChangeEventType.setOptional(stateType.optional());
|
||||
stateChangeEventType.setLogged(stateType.logged());
|
||||
ParamType stateChangeEventParamType;
|
||||
stateChangeEventParamType.setName(stateType.name());
|
||||
stateChangeEventParamType.setType(stateType.type());
|
||||
@ -254,6 +256,7 @@ Interface ThingUtils::loadInterface(const QString &name)
|
||||
InterfaceEventType eventType;
|
||||
eventType.setName(eventVariant.toMap().value("name").toString());
|
||||
eventType.setOptional(eventVariant.toMap().value("optional").toBool());
|
||||
eventType.setLogged(eventVariant.toMap().value("logged").toBool());
|
||||
ParamTypes paramTypes;
|
||||
foreach (const QVariant &eventParamVariant, eventVariant.toMap().value("params").toList()) {
|
||||
ParamType paramType;
|
||||
|
||||
@ -2,7 +2,8 @@
|
||||
"states": [
|
||||
{
|
||||
"name": "batteryCritical",
|
||||
"type": "bool"
|
||||
"type": "bool",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -2,7 +2,8 @@
|
||||
"description": "The base for all buttons that emit a pressed event.",
|
||||
"events": [
|
||||
{
|
||||
"name": "pressed"
|
||||
"name": "pressed",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -4,7 +4,8 @@
|
||||
"states": [
|
||||
{
|
||||
"name": "closed",
|
||||
"type": "bool"
|
||||
"type": "bool",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -5,7 +5,8 @@
|
||||
{
|
||||
"name": "co2",
|
||||
"type": "double",
|
||||
"unit": "PartsPerMillion"
|
||||
"unit": "PartsPerMillion",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -4,7 +4,8 @@
|
||||
{
|
||||
"name": "conductivity",
|
||||
"type": "double",
|
||||
"unit": "MicroSiemensPerCentimeter"
|
||||
"unit": "MicroSiemensPerCentimeter",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
{
|
||||
"name": "connected",
|
||||
"type": "bool",
|
||||
"defaultValue": false
|
||||
"defaultValue": false,
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -4,7 +4,8 @@
|
||||
"states": [
|
||||
{
|
||||
"name": "daylight",
|
||||
"type": "bool"
|
||||
"type": "bool",
|
||||
"logged": true
|
||||
},
|
||||
{
|
||||
"name": "sunriseTime",
|
||||
|
||||
@ -2,7 +2,8 @@
|
||||
"description": "An interface for doorbells. Emits \"doorbellPressed\" when the doorbell is pressed.",
|
||||
"events": [
|
||||
{
|
||||
"name": "doorbellPressed"
|
||||
"name": "doorbellPressed",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -4,7 +4,8 @@
|
||||
"states": [
|
||||
{
|
||||
"name": "moving",
|
||||
"type": "bool"
|
||||
"type": "bool",
|
||||
"logged": true
|
||||
},
|
||||
{
|
||||
"name": "percentage",
|
||||
|
||||
@ -5,7 +5,8 @@
|
||||
{
|
||||
"name": "currentPower",
|
||||
"type": "double",
|
||||
"unit": "Watt"
|
||||
"unit": "Watt",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -4,7 +4,9 @@
|
||||
"states": [
|
||||
{
|
||||
"name": "currentPower",
|
||||
"type": "double"
|
||||
"type": "double",
|
||||
"unit": "Watt",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -24,7 +24,8 @@
|
||||
"PinkyRight"
|
||||
]
|
||||
}
|
||||
]
|
||||
],
|
||||
"logged": true
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
|
||||
@ -5,7 +5,8 @@
|
||||
{
|
||||
"name": "state",
|
||||
"type": "QString",
|
||||
"allowedValues": ["open", "closed", "opening", "closing"]
|
||||
"allowedValues": ["open", "closed", "opening", "closing"],
|
||||
"logged": true
|
||||
},
|
||||
{
|
||||
"name": "intermediatePosition",
|
||||
|
||||
@ -5,7 +5,8 @@
|
||||
"name": "humidity",
|
||||
"type": "double",
|
||||
"minValue": 0,
|
||||
"maxValue": 100
|
||||
"maxValue": 100,
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
"description": "This interface is for the simplest form of garage doors which can be controlled only via an impulse. Triggering the impulse will start moving the door, triggering it again will stop the movement. Triggering it yet another time will start movement in the reverse direction. Note that there is no feedback channel on such devices. The system has no chance of knowing the current state this device is actually in.",
|
||||
"actions": [
|
||||
{
|
||||
"name": "triggerImpulse"
|
||||
"name": "triggerImpulse",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
{
|
||||
"events": [
|
||||
{
|
||||
"name": "triggered"
|
||||
"name": "triggered",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -4,7 +4,8 @@
|
||||
{
|
||||
"name": "lightIntensity",
|
||||
"type": "double",
|
||||
"unit": "Lux"
|
||||
"unit": "Lux",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
"extends": "button",
|
||||
"events": [
|
||||
{
|
||||
"name": "longPressed"
|
||||
"name": "longPressed",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -9,7 +9,8 @@
|
||||
"name": "buttonName",
|
||||
"type": "QString"
|
||||
}
|
||||
]
|
||||
],
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
"states": [
|
||||
{
|
||||
"name": "moisture",
|
||||
"type": "double"
|
||||
"type": "double",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -9,7 +9,8 @@
|
||||
"name": "buttonName",
|
||||
"type": "QString"
|
||||
}
|
||||
]
|
||||
],
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -5,7 +5,8 @@
|
||||
{
|
||||
"name": "noise",
|
||||
"type": "double",
|
||||
"unit": "Dezibel"
|
||||
"unit": "Dezibel",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -11,8 +11,8 @@
|
||||
"name": "body",
|
||||
"type": "QString"
|
||||
}
|
||||
]
|
||||
],
|
||||
"logged": true
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
{
|
||||
"name": "power",
|
||||
"type": "bool",
|
||||
"writable": true
|
||||
"writable": true,
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -4,7 +4,8 @@
|
||||
"states": [
|
||||
{
|
||||
"name": "isPresent",
|
||||
"type": "bool"
|
||||
"type": "bool",
|
||||
"logged": true
|
||||
},
|
||||
{
|
||||
"name": "lastSeenTime",
|
||||
|
||||
@ -4,7 +4,8 @@
|
||||
{
|
||||
"name": "pressure",
|
||||
"type": "double",
|
||||
"unit": "MilliBar"
|
||||
"unit": "MilliBar",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -4,7 +4,8 @@
|
||||
{
|
||||
"name": "state",
|
||||
"type": "QString",
|
||||
"allowedValues": ["locked", "locking", "unlocked", "unlocking", "unlatched", "unlatching"]
|
||||
"allowedValues": ["locked", "locking", "unlocked", "unlocking", "unlatched", "unlatching"],
|
||||
"logged": true
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
|
||||
@ -5,7 +5,8 @@
|
||||
{
|
||||
"name": "state",
|
||||
"type": "QString",
|
||||
"allowedValues": ["open", "closed", "opening", "closing", "intermediate"]
|
||||
"allowedValues": ["open", "closed", "opening", "closing", "intermediate"],
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -4,7 +4,8 @@
|
||||
{
|
||||
"name": "temperature",
|
||||
"type": "double",
|
||||
"unit": "DegreeCelsius"
|
||||
"unit": "DegreeCelsius",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -14,7 +14,8 @@
|
||||
"name": "userId",
|
||||
"type": "QString"
|
||||
}
|
||||
]
|
||||
],
|
||||
"logged": true
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
@ -25,8 +26,8 @@
|
||||
"name": "userId",
|
||||
"type": "QString"
|
||||
}
|
||||
|
||||
]
|
||||
],
|
||||
"logged": true
|
||||
},
|
||||
{
|
||||
"name": "removeUser",
|
||||
@ -36,7 +37,8 @@
|
||||
"type": "QString"
|
||||
}
|
||||
|
||||
]
|
||||
],
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -5,7 +5,8 @@
|
||||
{
|
||||
"name": "windSpeed",
|
||||
"type": "double",
|
||||
"unit": "MeterPerSecond"
|
||||
"unit": "MeterPerSecond",
|
||||
"logged": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -15,6 +15,16 @@ void InterfaceEventType::setOptional(bool optional)
|
||||
m_optional = optional;
|
||||
}
|
||||
|
||||
bool InterfaceEventType::logged() const
|
||||
{
|
||||
return m_logged;
|
||||
}
|
||||
|
||||
void InterfaceEventType::setLogged(bool logged)
|
||||
{
|
||||
m_logged = logged;
|
||||
}
|
||||
|
||||
InterfaceEventTypes::InterfaceEventTypes(const QList<InterfaceEventType> &other):
|
||||
QList<InterfaceEventType>(other)
|
||||
{
|
||||
|
||||
@ -11,8 +11,12 @@ public:
|
||||
bool optional() const;
|
||||
void setOptional(bool optional);
|
||||
|
||||
bool logged() const;
|
||||
void setLogged(bool logged);
|
||||
|
||||
private:
|
||||
bool m_optional = false;
|
||||
bool m_logged = false;
|
||||
};
|
||||
|
||||
class InterfaceEventTypes: public QList<InterfaceEventType>
|
||||
|
||||
@ -15,6 +15,16 @@ void InterfaceStateType::setOptional(bool optional)
|
||||
m_optional = optional;
|
||||
}
|
||||
|
||||
bool InterfaceStateType::logged() const
|
||||
{
|
||||
return m_logged;
|
||||
}
|
||||
|
||||
void InterfaceStateType::setLogged(bool logged)
|
||||
{
|
||||
m_logged = logged;
|
||||
}
|
||||
|
||||
InterfaceStateTypes::InterfaceStateTypes(const QList<InterfaceStateType> &other):
|
||||
QList<InterfaceStateType>(other)
|
||||
{
|
||||
|
||||
@ -11,8 +11,12 @@ public:
|
||||
bool optional() const;
|
||||
void setOptional(bool optional);
|
||||
|
||||
bool logged() const;
|
||||
void setLogged(bool logged);
|
||||
|
||||
private:
|
||||
bool m_optional = false;
|
||||
bool m_logged = false;
|
||||
};
|
||||
|
||||
class InterfaceStateTypes: public QList<InterfaceStateType>
|
||||
|
||||
Reference in New Issue
Block a user