Wiki

Clone wiki

developer-guide / Implemented functionality

This page describes the features included in the final release of the software based on an updated list of use cases as defined in Section 3.4 in D3.1 "Architecture document".

1.1 Install & retire devices

This use case supports the installation and retirement of CoSSMic controllable devices in the household and connecting them to the CoSSMic system.

A device manager has been implemented to manage the devices. It has been integrated with several drivers. It has the following functionality:

  • 1) Add and remove a device. This includes the GUI to add and configure the devices. The devices can be removed using API. In addition, the virtual and physical devices are managed in a similar way.
  • 2) Load control. The drivers are used to switch on/off the appliances to execute the loads according to the schedules.

1.2 Plan tasks

This use case supports the planning of electric power consuming tasks to be controlled by the CoSSMic system. The following features/functionality have been implemented for this use case.

1.2.1 Plan for "Single run devices"

The system allows the user to define and change default settings, i.e., default Earliset Start Time (EST), Latest Start Time (LST) or delay for scheduling a task after the task has been submitted. Alternatively, the user can add a task with EST, LST or delay differently from the default for one run. In both cases, the task will be automatically detected and scheduled by the CoSSMic system. For example, after default settings have been defined for a washing machine, the user only needs to select the program and start the washing machine as normal operations without using CoSSMic system, the system will automatically detect the start of the washing machine via smart plugs or meters, and consider it a signal for the definition of a new task according to the user setting (default or one-time setting). The system will then control the actual start of washing according to the new schedule planned coordinated with the neighbours. This relieves the user from extra work for manually defining tasks every time in the GUI and lowers the threshold for users to adopt and use CoSSMic system.

1.2.2 Plan for "Heating/Cooling/Ambient devices"

Currently only the temperature sensor needs to be added and configured using device manager. The "intermittent loads" from these devices are automatically scheduled and are treated in the same way as for "single run devices" with the flexibility to change the scheduling of next run.

1.2.3 Plan for "Charging devices"

The eCar is handled similarly as single run devices. The user can define default settings for target charging level and the deadline to reach target level. The charging will be considered as two phases, the first phase is to charge to the base level without delay using default setting; the second phase is considered flexible load with standard charging level. These settings can be defined using GUI, but the scheduling will be implemented and tested in simulator .

1.2.4 Device profile management

Learning for device profiles has been implemented so that the loads can be automatically detected.

1.2.5 Predict PV production

The CoSSMic system uses weather forecast services and PV panel characteristics to predict cumulative PV energy profiles. The predicted PV production is used for the load scheduling and optimization of the neighbourhood. Currently, the German weather forecast service DWD is used.

1.3 Trade power

This use case is to ensure power for the tasks scheduled by the users and exploit the output from the local PV panels in an optimal way. The CoSSMic systems of the houses in a neighbourhood trades power between them and with the public grid.

Distributed scheduling has been implemented based on P2P negotiation protocol using XMPP-based communication. Reward calculation based on Shapley value has been included. Static tariff is used in the trial sites currently, and tariff is not explicitly considered in the system.

1.4 Monitor status and history

This use case allows the inhabitants of a CoSSMic enabled house to view the current status and historical data of the behaviour of both the house and the CoSSMic system.

1.4.1 View global status

Feeds are calculated in order to be able to show the neighbourhood data, such as energy to/from the grid, the total energy production, consumption and sharing.

1.4.2 Get feedback

In addition to the status shown in GUI, a fault detection feature is implemented to notify user or technical support personnel about the abnormality or failure of a device.

1.5 Join & leave neighbourhood

This use case enables a house operator to enlist his house as member of a neighbourhood, or to withdraw it from a neighbourhood it is member of.

Currently, the house joins/leaves the neighbourhood automatically via the agents of the MAS with predefined configuration. It is based on XMPP.

1.6 Configure & reconfigure system

This use case covers the initial installation of the necessary hardware, and deployment and configuration of the software, as well as redeployment and reconfiguration during the lifetime of the system.

Instructions and documentations for installation, configuration and deployment are available. Synchronization procedures have been implemented to collect the trial data to central data repository.

1.7 Remote software maintenance

The installer can perform remote configuration, management and maintenance of software running on CoSSMic controllable devices.

VPN is used for remote software update and maintenance. In addition, a tool has been implemented for automatic package installation and remote update to lower the threshold for installation and maintenance.

1.8 CoSSMic community support

To motivate user adopting and using CoSSMic system, the CoSSMunity GUI component is implemented based on gamification principles. It allows the user to check his status regarding energy consumption and sharing as compared with neighbours.

Updated