Skip to content

Southern Germany

Laravel development for companies in Freiburg

From Freiburg we get a striking number of projects in which figures arrive every second or every minute and are eventually meant to tell somebody something.

A photovoltaic installation delivers a value every five minutes. With three hundred installations that is a good thirty million numbers a year, and hardly any of them are ever looked at by a person. Around Freiburg we come across this arithmetic often.

The city has been occupied with renewable energy since the seventies, Europe’s largest solar research institute is based here, and around the institutes and the university a network of businesses has grown up, from planning offices to installation operators.

Time series are a discipline of their own

Where installations run, numbers appear, and they do so without pause. Generation, consumption, temperatures, running times. The interest is not in collecting them, which the devices do by themselves, but in turning a flood of individual values into a statement.

That changes how an application is cut. There is a great deal of writing and comparatively little reading, but over long periods. Aggregation, retention and the question of which resolution is still needed after a year therefore belong at the start. More on our approach under Laravel development.

The installations rarely speak the same language

A fleet grows over years. Older devices deliver a file, newer ones speak a protocol, and in between sits a data logger from a manufacturer that no longer exists. The route from there into one common view is the actual effort, and it cannot be avoided. How we build transitions like these is under API and backend development.

Gaps are part of the truth

With measurement data there is a temptation many applications give in to. A device fails, three hours are missing, and somewhere in the process somebody inserts an average so that the curve looks continuous.

That comes back the moment a figure has to be evidenced. Anyone standing behind an annual total in front of a customer, a grid operator or an authority has to be able to say which part was measured and which estimated. So we build applications like these so that a gap stays visible and an estimate is marked as an estimate. It looks less elegant on the chart and survives any question.

Reports somebody reads

At the end there is nearly always a report: for management, for an operator, for an authority. It becomes useful when it answers the question that is actually asked. So we ask early who receives it and what that person decides with it.

The most common disappointment in projects like these is a dashboard with twenty tiles that nobody opens after four weeks. Three figures reaching the right place at the right time are almost always worth more.

Süddeutschland

Weitere Städte in Süddeutschland

All locations

FAQ

Questions from Freiburg

We have measurements from hundreds of installations. Can a Laravel application cope?
The application can; the question is the storage underneath. For time series in volume, an ordinary table is eventually the wrong tool. We look at the volume and the access patterns and choose accordingly rather than fixing a technology in advance.
Can the application raise an alarm itself?
Yes, and that is usually the part with the greatest benefit. What matters is not overdoing it. A message arriving too often gets ignored after a fortnight. So we set the thresholds together with the people who will have to react to them.
What happens to gaps in the data?
They stay gaps. Replacing a missing hour with an average is convenient and makes the figure useless the moment somebody has to evidence it. We mark missing periods and show them in reports as what they are.
How long should measurements be kept?
At full resolution usually shorter than people think, and aggregated considerably longer. Practically nobody needs minute values from 2019; daily values, yes. That decision belongs at the start, because the whole storage design follows from it.
Can several operators use the same application?
Yes, and it is a common case for service providers looking after installations for others. Then separating the tenants is the most important design decision, and it belongs in the lowest layer rather than in the interface.

A project in Freiburg?

If your plant produces more data than anybody currently looks at, that is where we start.