---
title: "IKB Fallstudie"
canonical: https://wavect.io/de/case-studies/ikb/
language: de
description: "IKB, der städtische Versorger von Innsbruck (Wasser, Energie, Abfall, Telekom), brauchte Engineering-Hände für sein Smart-City-Vorhaben auf Stadtebene."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

[← Alle Fallstudien](/de/case-studies/)

![IKB logo](/img/clients/bak/ikb.png)

CASE STUDIES

IKB

# Engineering im stadtweiten IoT-Build von Innsbruck. Infrastruktur, Geräte, Codecs. Komplett übergeben, weiterhin in Bereitschaft.

IKB (Innsbrucker Kommunalbetriebe) ist der städtische Versorger von Innsbruck. Wasser, Energie, Abfall, Telekom. Sie hatten ihr Smart-City-Vorhaben bereits begonnen und brauchten Engineering-Hände, die es auf Stadtebene heben. Die IKB ist unser stärkster lokaler Beleg als [Softwareagentur in Tirol](/de/software-agency-tyrol/).

ENTERPRISE IoT-Infrastruktur Live

Auf einen Blick

Auftragsart IoT-Infrastruktur

Branche [IoT / Smart City / Öffentlicher Sektor](/de/industries/public-sector-smart-city/)

Phase Enterprise

Auftragsgröße Stundensatz

Jahr 2019-2023

Stack

Kubernetes LoRaWAN Docker JavaScript Node.js Linux

Status Live

Live [www.ikb.at](https://www.ikb.at/)

## Überblick

IKB (Innsbrucker Kommunalbetriebe) ist der städtische Versorger von Innsbruck. Wasser, Energie, Abfall, Telekom. Sie hatten ihr Smart-City-Vorhaben bereits begonnen und brauchten Engineering-Hände, die es auf Stadtebene heben. Die IKB ist unser stärkster lokaler Beleg als [Softwareagentur in Tirol](/de/software-agency-tyrol/).

## Was ist die Herausforderung?

Mithelfen, ein laufendes Smart-City-Projekt auf Stadtebene zu heben. Echte Straßen, echte Geräte von echten Herstellern, keiner spricht denselben Dialekt. LoRaWAN-Backbone auf Kubernetes erweitern und skalieren. Multi-Hersteller-Hardware zu evaluieren und integrieren. Uplink-/Downlink-Payloads pro Gerät zu dekodieren. Datenblätter, die nicht immer zur Hardware passten.

## Welche Entscheidung haben wir getroffen?

### Jedes Gerät, sein eigener Dialekt. Und jedes Gerät, seine eigene Uhr.

> IKB hatte das Projekt bereits begonnen, als wir dazustießen. Das LoRaWAN-Backbone auf Produktionsskala zu erweitern war handhabbar. Codecs gegen Datenblätter zu schreiben, die nicht zur Hardware vor uns passten, war es nicht. Jeder Hersteller behandelte Pakete auf seine eigene Weise. Manche Geräte sprachen täglich, manche quartalsweise, manche nur, wenn ein Wasserzähler eine Leckage erkannte. Ein falsches Byte kostete einen ganzen Zyklus zur Verifikation. Wir haben eine Codec-Workbench pro Hersteller gebaut, echte Pakete eingefangen und offline erneut abgespielt.

## Was wir gemacht haben

Wir sind in IKBs laufenden Smart-City-Build eingestiegen, als Teil des Engineerings, das ihn auf Stadtebene hob, gegen Multi-Vendor-Realität, in der keine zwei Geräte denselben Dialekt sprechen. Unser Bereich war Infrastruktur und Geräte: den Kubernetes-Cluster mit ChirpStack erweitern, Wasserzähler und Cargo-Bike-Tracker im Feld testen, Uplink-Decoder und Downlink-Encoder schreiben. Wir haben die Plattform komplett an IKBs Inhouse-Team übergeben und sind für neue Geräteintegrationen, den Grafana-Stack, Feld-Konnektivität und Herstellergespräche als externer Support geblieben.

## Ergebnisse

### Komplett - Plattformübergabe

### Multi-Vendor - Forschung & Integration

Ähnliche Ergebnisse für dein Projekt?

Fester Umfang. Feste Deadline. Unterzeichneter Werkvertrag.

[Kontakt aufnehmen](/de/contact/)

## Was wir gelernt haben

IoT auf Stadtebene ist ein Koordinationsproblem, das sich als Hardwareproblem verkleidet. Die Protokolle sind handhabbar. Die Datenblätter nicht. Jeder Hersteller dokumentiert ein bisschen anders, jedes Payload-Format ist sein eigener Dialekt. Enge Koordination über den gesamten Stack ist das Einzige, was funktioniert. Der kostenlose [LoRaWAN Payload Codec Tester](/de/tools/lorawan-payload-codec-tester/) verpackt den Offline-Fixture-Ablauf für genau diese Gerätedialekte.

## Tech Stack

- [Kubernetes](https://kubernetes.io/)
- [LoRaWAN](https://lora-alliance.org/)
- [Docker](https://www.docker.com/)
- [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
- [Node.js](https://nodejs.org/)
- [Linux](https://www.kernel.org/)
- [ChirpStack](https://www.chirpstack.io/)
- [MQTT](https://mqtt.org/)
- [Grafana](https://grafana.com/)
- [PostgreSQL](https://www.postgresql.org/)

## Tags

- IoT
- Smart City
- LoRaWAN

## Links & Ressourcen

[IKB](https://www.ikb.at/) [Smart City Lab](https://www.ikb.at/smart-city-lab)

Passende Leistungen

- [Internet of Things](/de/services/internet-of-things/)
- [Individuelle Softwareentwicklung](/de/services/software-development/)

Kundenreferenzen und Marken

Wavect veröffentlicht diese Case Studies über die eigene Arbeit. Kundennamen, Logos und Marken sind Eigentum ihrer jeweiligen Inhaber und stehen hier zur Kennzeichnung der Arbeit, nicht als Hinweis auf eine Partnerschaft, ein Sponsoring oder eine Empfehlung. Jede Case Study beschreibt Wavects eigenen Beitrag innerhalb eines größeren Vorhabens. Am Ergebnis waren weitere Beteiligte mit, darunter die eigenen Teams der Kunden sowie andere Dienstleister. Zahlen, die einem Kunden zugeschrieben werden, sind dessen eigene Angaben. Zahlen zu unserer Arbeit stammen aus unseren Aufzeichnungen zum angegebenen Prüfdatum, und wir liefern Belege auf Anfrage. Bewertungen sind von der jeweils genannten Plattform übernommen und verlinken auf die Quelle. Die kommerziellen Bedingungen einer Zusammenarbeit veröffentlichen wir nicht, und Produkt-Screenshots bleiben Eigentum des jeweils gezeigten Kunden. Wenn du hier genannt wirst und eine Korrektur, eine Änderung oder eine Löschung möchtest, schreib uns, und wir kümmern uns darum: [office@wavect.io](mailto:office@wavect.io)

### [MyMerch](/de/case-studies/mymerch/)

MyMerch ist eine deutsche Merchandise- und Print-on-Demand-Marke mit Sitz am Chiemsee. Sie verkauft individuelle Bekleidung und Markenartikel über Shopify auf …

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/de/case-studies/ikb/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-05-21",
      "inLanguage": "de",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-05-21",
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".faq-question",
          ".faq-answer"
        ]
      },
      "url": "https://wavect.io/de/case-studies/ikb/"
    },
    {
      "@id": "https://wavect.io/verified-claims.json#ikb-complete-handover",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/de/case-studies/ikb/#webpage",
        "@type": "WebPage",
        "inLanguage": "de",
        "url": "https://wavect.io/de/case-studies/ikb/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "dateModified": "2026-08-04",
      "identifier": "ikb-complete-handover",
      "inLanguage": "en",
      "text": "Wavect handed the IKB Smart City IoT platform over to IKB's in-house team completely and stayed on as external support."
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@id": "https://wavect.io/de/case-studies/ikb/#case-study",
  "@type": "Article",
  "about": {
    "@id": "https://wavect.io/de/case-studies/ikb/#project",
    "@type": "CreativeWork",
    "creator": {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ]
    },
    "dateCreated": "2019-01-01",
    "description": "IoT-Infrastruktur engagement",
    "funder": {
      "@type": "Organization",
      "name": "IKB"
    },
    "name": "IKB",
    "subjectOf": {
      "@id": "https://wavect.io/de/case-studies/ikb/#case-study",
      "@type": "Article"
    },
    "url": "https://www.ikb.at/"
  },
  "abstract": "Mithelfen, ein laufendes Smart-City-Projekt auf Stadtebene zu heben. Echte Straßen, echte Geräte von echten Herstellern, keiner spricht denselben Dialekt. LoRaWAN-Backbone auf Kubernetes erweitern und skalieren. Multi-Hersteller-Hardware zu evaluieren und integrieren. Uplink-/Downlink-Payloads pro Gerät zu dekodieren. Datenblätter, die nicht immer zur Hardware passten.",
  "author": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "datePublished": "2019-01-01",
  "description": "IKB (Innsbrucker Kommunalbetriebe) ist der städtische Versorger von Innsbruck. Wasser, Energie, Abfall, Telekom. Sie hatten ihr Smart-City-Vorhaben bereits begonnen und brauchten Engineering-Hände, die es auf Stadtebene heben. Die IKB ist unser stärkster lokaler Beleg als Softwareagentur in Tirol.",
  "headline": "IKB, Wavect Case Study",
  "image": "https://wavect.io/img/clients/bak/ikb.png",
  "inLanguage": "de",
  "isPartOf": {
    "@type": "CollectionPage",
    "name": "Wavect Case Studies",
    "url": "https://wavect.io/de/case-studies/"
  },
  "keywords": "IoT, Smart City, LoRaWAN, Kubernetes, LoRaWAN, Docker, JavaScript, Node.js, Linux, ChirpStack, MQTT, Grafana, PostgreSQL",
  "mainEntityOfPage": "https://wavect.io/de/case-studies/ikb/",
  "mentions": [
    {
      "@type": "DefinedTerm",
      "name": "Kubernetes",
      "url": "https://kubernetes.io/"
    },
    {
      "@type": "DefinedTerm",
      "name": "LoRaWAN",
      "url": "https://lora-alliance.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Docker",
      "url": "https://www.docker.com/"
    },
    {
      "@type": "DefinedTerm",
      "name": "JavaScript",
      "url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript"
    },
    {
      "@type": "DefinedTerm",
      "name": "Node.js",
      "url": "https://nodejs.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Linux",
      "url": "https://www.kernel.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "ChirpStack",
      "url": "https://www.chirpstack.io/"
    },
    {
      "@type": "DefinedTerm",
      "name": "MQTT",
      "url": "https://mqtt.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Grafana",
      "url": "https://grafana.com/"
    },
    {
      "@type": "DefinedTerm",
      "name": "PostgreSQL",
      "url": "https://www.postgresql.org/"
    }
  ],
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/de/case-studies/ikb/"
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/",
      "name": "Startseite",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/case-studies/",
      "name": "Fallstudien",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/case-studies/ikb/",
      "name": "IKB",
      "position": 3
    }
  ]
}
```
