diff --git a/schrack/cion-registers.json b/schrack/cion-registers.json index 19f5a53..a6e3c6b 100644 --- a/schrack/cion-registers.json +++ b/schrack/cion-registers.json @@ -171,6 +171,16 @@ "readSchedule": "init", "description": "DIP switch states", "access": "R" + }, + { + "id": "firmwareVersion", + "address": 832, + "size": 16, + "type": "string", + "registerType": "holdingRegister", + "readSchedule": "init", + "description": "Firmware version", + "access": "R" } ] } diff --git a/schrack/integrationpluginschrack.cpp b/schrack/integrationpluginschrack.cpp index 1dcaa88..aa5877b 100644 --- a/schrack/integrationpluginschrack.cpp +++ b/schrack/integrationpluginschrack.cpp @@ -111,6 +111,7 @@ void IntegrationPluginSchrack::setupThing(ThingSetupInfo *info) qCDebug(dcSchrack) << "DIP switche states:" << cionConnection->dipSwitches(); m_cionConnections.insert(thing, cionConnection); info->finish(Thing::ThingErrorNoError); + info->thing()->setStateValue(cionCurrentVersionStateTypeId, cionConnection->firmwareVersion()); } else { delete cionConnection; info->finish(Thing::ThingErrorHardwareNotAvailable); diff --git a/schrack/integrationpluginschrack.json b/schrack/integrationpluginschrack.json index 9775477..341a700 100644 --- a/schrack/integrationpluginschrack.json +++ b/schrack/integrationpluginschrack.json @@ -89,6 +89,13 @@ "displayNameEvent": "Charging started or stopped", "type": "bool", "defaultValue": false + }, + { + "id": "33780b19-4855-4b5c-bd84-cec8400309be", + "name": "currentVersion", + "displayName": "Firmware version", + "type": "QString", + "defaultValue": "" } ] }