Hallo,
ich wollte mir für mich selbst eine kleine App basteln, mit der ich auf einem iPad an der Wand, meine HomeKit Türklingel und das Türschloss steuern kann. Ich habe also eine Türklingel in Homekit, die hat einen Videostream und ein Knopf, sowie ein Micro und einen Lautsprecher und ich habe ein Türschloss in HomeKit, das meine Haustür entriegelt.
Nun versuche ich seid 2 Tagen herauszufinden, wie ich das Video der Türklingel und auch den Snapshot den Homekit erzeugen kann, in eine Collection View Cell bekommen kann. ich finde so gut wie nichts dazu im Internet, außer der sehr dürftigen Apple Dokumentation und die hilft da irgendwie gar nicht weiter.
Was ich schon herausgefunden habe ist, das die Homekit Kameras wohl mit Delegate Methoden funktionieren:
Alles anzeigen
Alles anzeigen
Was ich nicht hinbekomme, ist es IBOutlets auf mein Storyboard zu bekommen, die dann mal den Snapshot oder das Video anzeigen könnten, da ich im CollectionViewControler keine Outlets der CollectionViewCell verwenden kann. Und in der Cell weiß ich nicht wie ich das Delegate zuweisen soll, da es dort ja keine "viewDidLoad" Methode gibt.
Hat von euch schon mal jemand was mit HomeKit gemacht und kann mir hier weiterhelfen?
ich wollte mir für mich selbst eine kleine App basteln, mit der ich auf einem iPad an der Wand, meine HomeKit Türklingel und das Türschloss steuern kann. Ich habe also eine Türklingel in Homekit, die hat einen Videostream und ein Knopf, sowie ein Micro und einen Lautsprecher und ich habe ein Türschloss in HomeKit, das meine Haustür entriegelt.
Nun versuche ich seid 2 Tagen herauszufinden, wie ich das Video der Türklingel und auch den Snapshot den Homekit erzeugen kann, in eine Collection View Cell bekommen kann. ich finde so gut wie nichts dazu im Internet, außer der sehr dürftigen Apple Dokumentation und die hilft da irgendwie gar nicht weiter.
Was ich schon herausgefunden habe ist, das die Homekit Kameras wohl mit Delegate Methoden funktionieren:
Quellcode
- class DoorCollectionViewController: UICollectionViewController, HMCameraSnapshotControlDelegate, HMCameraStreamControlDelegate {
- var cameraLiveStream: HMCameraView!
- var selectedhome:HMHome!
- var doorBells: [HMAccessory] = []
- var doorLocks: [HMAccessory] = []
- var camProfiles:[HMCameraProfile] = []
- override func viewDidLoad() {
- super.viewDidLoad()
- findAccessories()
- for doorBell in doorBells {
- for camProfile in doorBell.cameraProfiles ?? [] {
- camProfiles.append(camProfile)
- camProfile.snapshotControl?.takeSnapshot()
- camProfile.streamControl?.startStream()
- }
- }
- }
Quellcode
- func cameraStreamControlDidStartStream(_ cameraStreamControl: HMCameraStreamControl) {
- cameraLiveStream.cameraSource = cameraStreamControl.cameraStream
- }
- func cameraStreamControl(_ cameraStreamControl: HMCameraStreamControl, didStopStreamWithError error: Error?) {
- cameraLiveStream.cameraSource = nil
- }
- func cameraSnapshotControl(_ cameraSnapshotControl: HMCameraSnapshotControl, didTake snapshot: HMCameraSnapshot?, error: Error?) {
- cameraLiveStream.cameraSource = cameraSnapshotControl.mostRecentSnapshot
- }
- func cameraSnapshotControlDidUpdateMostRecentSnapshot(_ cameraSnapshotControl: HMCameraSnapshotControl) {
- cameraLiveStream.cameraSource = cameraSnapshotControl.mostRecentSnapshot
- }
Hat von euch schon mal jemand was mit HomeKit gemacht und kann mir hier weiterhelfen?