Zum Inhalt springen
KolHive KolWrite Herunterladen

KolHive

Apps, die Hardware steuern

Sie können in KolHive eigene Apps erstellen, die sich mit Bluetooth-Low-Energy-Geräten, Hardware im lokalen Netzwerk, Smartphone-Sensoren und Infrarotempfängern verbinden.

Ein Diagramm zeigt eine KolHive-App, die über die KolHive-Bridge Hardware-Zugriff anfordert. Die Bridge fragt nach Ihrer Erlaubnis, bevor sie auf Bluetooth, das lokale Netzwerk, Bewegungssensoren oder Infrarot-Hardware zugreift.Ihre AppKolHive-BridgeFragt Sie zuerstBluetooth LELokales NetzwerkBewegungssensorenInfrarotNur Android mit IR
Jede Hardware-Anfrage läuft über KolHive und erfordert vor dem Verbinden Ihre Zustimmung.

Was eine KolHive-App steuern kann

Wenn Sie in KolHive eine App erstellen, kann diese mit physischen Geräten in Ihrer Umgebung kommunizieren. Ihre App verbindet sich mit Bluetooth-Low-Energy-Geräten, erreicht Hardware in Ihrem Heim- oder Büronetzwerk und liest Bewegungssensoren auf dem Smartphone aus. Auf unterstützten Android-Telefonen sendet sie zudem Infrarotsignale für Fernbedienungen.

Lena in Hamburg baut sich beispielsweise einen Tracker, der ihren Bluetooth-Brustgurt zur Pulsmessung oder einen Feuchtigkeitssensor im Blumentopf ausliest. Jonas in Wien schaltet eine smarte Steckdose im Büronetzwerk oder weckt seinen Desktop-PC per Wake-on-LAN. Auf einem Android-Smartphone mit Infrarotsender erstellt Sophie in Zürich eine Fernbedienung für ihren Fernseher im Wohnzimmer.

Apps greifen niemals direkt auf Hardware zu. Jede Anfrage läuft über KolHive: Das System prüft, welche Zugriffe die App deklariert hat, und holt vorab Ihre Zustimmung ein.

Bluetooth Low Energy

Eine erstellte App kann Bluetooth Low Energy (BLE) als zentrales Gerät (Central) nutzen. Sie sucht nach Geräten in der Nähe, stellt Verbindungen her, liest und schreibt Datenpakete bis zu 512 Byte und abonniert Benachrichtigungen. Klassisches Bluetooth, Audioprofile und serielle RFCOMM-Verbindungen werden nicht unterstützt.

Die App erhält niemals im Hintergrund eine Liste aller Geräte in der Nähe. Sobald die App nach Geräten sucht, öffnet KolHive ein eigenes Auswahlfenster auf Ihrem Bildschirm. Die App sieht ausschließlich das von Ihnen gewählte Gerät und nur die Bluetooth-Dienste, die sie vorab benannt hat.

Bluetooth funktioniert in der KolHive-App auf Mac, Windows, iPhone, iPad und Android. Apple-Geräte fragen bei der ersten Nutzung nach Ihrer Erlaubnis, Android ab Version 12 fragt nach der Berechtigung für Geräte in der Nähe. Im Webbrowser funktioniert Bluetooth nur in Chrome und Edge, nicht jedoch in Safari oder Firefox.

Geräte im lokalen Netzwerk

Ihre App findet und steuert Geräte in Ihrem lokalen Netzwerk über HTTP, WebSocket, TCP und UDP. Sie erkennt Hardware per SSDP oder mDNS und sendet Wake-on-LAN-Pakete. Dabei sind ausschließlich private Netzwerkadressen erreichbar. Verbindungen zu öffentlichen Internet-Hosts, Loopback-Adressen und der eigenen Adresse Ihres Geräts lehnt KolHive ab.

Jedes App-Fenster kann gleichzeitig bis zu 16 Sockets öffnen und viermal pro Minute nach Geräten suchen. HTTP-Antworten sind auf 5 MB begrenzt. Selbstsignierte Zertifikate werden nur für lokale Geräte akzeptiert und auch nur dann, wenn die App dies ausdrücklich anfordert.

Auf Mac, Windows und Android steht die lokale Netzwerksteuerung in vollem Umfang bereit. Auf dem Mac blendet das Betriebssystem vorab die Berechtigungsabfrage für das lokale Netzwerk ein. Auf iPhone und iPad funktionieren HTTP, WebSocket, TCP sowie .local-Namen, während Multicast-Suche (SSDP), Broadcast und Wake-on-LAN nicht unterstützt werden. Murat in Köln kann seinen Fernseher daher zwar von einem Mac, Windows-PC oder Android-Smartphone per Wake-on-LAN einschalten, nicht aber von einem iPhone oder iPad.

Im Webbrowser wird der Zugriff auf das lokale Netzwerk über eine direkte, verschlüsselte Peer-Verbindung durch eines Ihrer eigenen, angemeldeten KolHive-Geräte weitergeleitet. Bei der ersten Nutzung müssen Sie den Zugriff auf diesem Gerät bestätigen. Der Datenverkehr fließt ohne TURN-Relay direkt von Gerät zu Gerät, während unsere Server lediglich die kurzen Signalisierungsdaten zum Verbindungsaufbau übertragen. Ist keines Ihrer Geräte online, meldet KolHive der App, dass kein Weiterleitungsgerät verfügbar ist.

Bewegungssensoren, Infrarot und Standort

Bewegungssensoren funktionieren in den nativen Apps ausschließlich auf Smartphones und Tablets. Auf iPhone, iPad und Android liest eine App das Gyroskop, den Beschleunigungssensor, den Nutzer-Beschleunigungssensor, das Magnetometer und das Barometer mit bis zu 200 Hz aus. Desktop-Computer mit Mac, Windows und Linux melden diese Sensoren als nicht unterstützt.

Im Webbrowser nutzen Apps die Generic Sensor API des Browsers oder Ereignisse zur Gerätebewegung, sofern vorhanden. Für Magnetometer und Barometer gibt es im Browser keinen Ersatz. Safari auf iPhone und iPad fragt um Erlaubnis, bevor Sensordaten geteilt werden.

Infrarot-Fernbedienungscodes kann eine App nur auf Android-Smartphones senden, die über einen eingebauten Infrarotsender (IR-Blaster) verfügen. Jedes Signalmuster ist auf maximal 1.024 Impulse und 2 Sekunden begrenzt. Auf iPhone, iPad, Mac, Windows, Linux und im Browser steht Infrarot nicht zur Verfügung.

Apps können zudem den Gerätestandort über GPS und die kombinierte Standorterkennung unter Android oder über Core Location auf Apple-Geräten abrufen. Das funktioniert nur, wenn die App den Standortzugriff deklariert und Sie zustimmen.

Unterstützung nach Plattform

Der Hardware-Zugriff hängt davon ab, welches Gerät Sie nutzen und ob Sie die native KolHive-App oder einen Webbrowser verwenden.

Hardware-Unterstützung in den KolHive-Apps und im Webbrowser.
FunktionMacWindowsiPhone/iPadAndroidBrowser
Bluetooth LEJaJaJaJaChrome und Edge
Lokales NetzwerkJaJaJaJaÜber Ihr Gerät
Gerätesuche und Wake-on-LANJaJaNeinJaÜber Ihr Gerät
BewegungssensorenNeinNeinJaJaWenn vom Browser unterstützt
InfrarotNeinNeinNeinJaNein

Wie KolHive den Hardware-Zugriff absichert

Apps greifen über kolhive.lan, kolhive.bluetooth, kolhive.sensors und kolhive.infrared auf Hardware zu. Jede dieser Schnittstellen muss im Manifest der App mit einem konkreten Verwendungszweck und einer Angabe zur Datennutzung deklariert sein. Nicht deklarierte Aufrufe werden dreifach abgewiesen: bei der Installationsprüfung, innerhalb der Seite und auf Host-Ebene. Weitere Details zur Berechtigungsprüfung finden Sie unter Sicherheitsprüfung für die IT.

KolHive lässt Sie das Zielgerät über ein eigenes Auswahlfenster bestimmen, anstatt der App eine Suche oder Verbindung im Hintergrund zu erlauben. Wenn Sie das App-Fenster schließen oder neu laden, beendet KolHive alle offenen Sockets, Bluetooth-Verbindungen und Sensor-Streams. Solange ein App-Fenster ausgeblendet ist, pausieren Sensor-Streams automatisch, während Bluetooth-Verbindungen bestehen bleiben.

Bevor eine App eine Hardware-Funktion nutzt, prüft sie über available(), ob Ihr Gerät diese unterstützt. Diese Abfrage löst niemals einen Berechtigungsdialog aus und liefert den tatsächlichen Grund zurück, falls eine Funktion nicht verfügbar ist. So kann Ihnen die App eine ehrliche Rückmeldung geben, wenn etwas auf Ihrem Gerät nicht unterstützt wird.

Was hiermit nicht geht

  • USB-, serielle, HID- und NFC-Verbindungen werden für erstellte Apps nicht unterstützt.
  • Klassisches Bluetooth, Bluetooth-Audioprofile und serielle RFCOMM-Verbindungen werden nicht unterstützt.
  • Unter Linux gibt es für erstellte Apps keine Brücke zum lokalen Netzwerk, da sie im Systembrowser geöffnet werden.
  • Wake-on-LAN und Multicast-Gerätesuche (SSDP) funktionieren nicht auf iPhone und iPad.
  • Die Infrarotsteuerung funktioniert nur auf Android-Smartphones mit eingebautem IR-Blaster.
  • Bewegungssensoren funktionieren nicht auf Desktop-Computern mit Mac, Windows oder Linux.
  • Infrarot setzt die KolHive-App für Android voraus, die noch nicht bei Google Play erhältlich ist.

Häufige Fragen

Kann eine KolHive-App meine Smart-Home-Geräte steuern?

Ja, sofern Ihre Smart-Home-Geräte über das lokale Netzwerk per HTTP, WebSocket, TCP oder UDP kommunizieren oder Bluetooth Low Energy nutzen. Auf Mac, Windows und Android können Apps lokale Geräte zudem per SSDP oder mDNS finden und Wake-on-LAN-Pakete senden. Auf iPhone und iPad funktionieren direkte Verbindungen und .local-Namen, nicht jedoch die Multicast-Suche und Wake-on-LAN.

Kann ich die Sensoren meines Smartphones in einer App auf dem Computer nutzen?

Nein, Bewegungssensoren wie Gyroskop und Beschleunigungssensor stehen nur zur Verfügung, wenn Sie die App direkt auf einem Smartphone oder Tablet ausführen. Computer mit Mac, Windows und Linux melden Bewegungssensoren als nicht unterstützt. Ein Browser auf dem Computer kann zwar Anfragen an das lokale Netzwerk über ein angemeldetes Smartphone weiterleiten, überträgt aber keine Sensordaten.

Funktioniert Bluetooth auch in der Browser-Version?

Ja, wenn Sie Google Chrome oder Microsoft Edge verwenden. In diesen Browsern kann KolHive das Geräteauswahlfenster anzeigen und Verbindungen zu Bluetooth-Low-Energy-Geräten herstellen. Safari und Firefox unterstützen keine Bluetooth-Verbindungen im Browser.

Kann eine App ohne mein Wissen nach Geräten suchen?

Nein, eine App kann weder im Hintergrund nach Bluetooth-Geräten suchen noch nicht deklarierte Hardware nutzen. Bei Bluetooth zeigt KolHive ein eigenes Auswahlfenster an und gibt nur das einzelne Gerät frei, das Sie auswählen. Beim Zugriff auf das lokale Netzwerk fragt das Betriebssystem oder Ihr Weiterleitungsgerät nach Ihrer Zustimmung, bevor die App eine Verbindung herstellen kann.

Kostenlos für Mac, Windows und Linux, oder direkt im Browser öffnen.

KolHive herunterladen