code.pfad.fr/gohmekit@v0.2.1/hapip/characteristic/service/apple_service_gen.go (about) 1 // Code generated by cmd/generate/main.go; DO NOT EDIT. 2 3 package service 4 5 import ( 6 "code.pfad.fr/gohmekit/hapip" 7 "code.pfad.fr/gohmekit/hapip/characteristic" 8 ) 9 10 const AccessoryInformation_Type = "3E" 11 12 // AccessoryInformation represents a Accessory Information service (3E) 13 // Required characteristics: 14 // - identify: Identify (14) 15 // - manufacturer: Manufacturer (20) 16 // - model: Model (21) 17 // - name: Name (23) 18 // - serialNumber: Serial Number (30) 19 // - firmwareRevision: Firmware Revision (52) 20 // 21 // Optional characteristics: 22 // - Hardware Revision (53) 23 // - Accessory Flags (A6) 24 // 25 // UUID: 0000003E-0000-1000-8000-0026BB765291 26 func AccessoryInformation(identify hapip.Characteristic, manufacturer hapip.Characteristic, model hapip.Characteristic, name hapip.Characteristic, serialNumber hapip.Characteristic, firmwareRevision hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 27 chars := []hapip.Characteristic{identify, manufacturer, model, name, serialNumber, firmwareRevision} 28 return characteristic.Service{ 29 Typ: AccessoryInformation_Type, 30 Characteristic: append(chars, optional...), 31 } 32 } 33 34 const AirPurifier_Type = "BB" 35 36 // AirPurifier represents a Air Purifier service (BB) 37 // Required characteristics: 38 // - active: Active (B0) 39 // - currentAirPurifierState: Current Air Purifier State (A9) 40 // - targetAirPurifierState: Target Air Purifier State (A8) 41 // 42 // Optional characteristics: 43 // - Lock Physical Controls (A7) 44 // - Name (23) 45 // - Swing Mode (B6) 46 // - Rotation Speed (29) 47 // 48 // UUID: 000000BB-0000-1000-8000-0026BB765291 49 func AirPurifier(active hapip.Characteristic, currentAirPurifierState hapip.Characteristic, targetAirPurifierState hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 50 chars := []hapip.Characteristic{active, currentAirPurifierState, targetAirPurifierState} 51 return characteristic.Service{ 52 Typ: AirPurifier_Type, 53 Characteristic: append(chars, optional...), 54 } 55 } 56 57 const AirQualitySensor_Type = "8D" 58 59 // AirQualitySensor represents a Air Quality Sensor service (8D) 60 // Required characteristics: 61 // - airQuality: Air Quality (95) 62 // 63 // Optional characteristics: 64 // - Status Active (75) 65 // - Status Fault (77) 66 // - Status Tampered (7A) 67 // - Status Low Battery (79) 68 // - Name (23) 69 // - Ozone Density (C3) 70 // - Nitrogen Dioxide Density (C4) 71 // - Sulphur Dioxide Density (C5) 72 // - PM2.5 Density (C6) 73 // - PM10 Density (C7) 74 // - VOC Density (C8) 75 // - Carbon Monoxide Level (90) 76 // - Carbon Dioxide Level (93) 77 // 78 // UUID: 0000008D-0000-1000-8000-0026BB765291 79 func AirQualitySensor(airQuality hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 80 chars := []hapip.Characteristic{airQuality} 81 return characteristic.Service{ 82 Typ: AirQualitySensor_Type, 83 Characteristic: append(chars, optional...), 84 } 85 } 86 87 const BatteryService_Type = "96" 88 89 // BatteryService represents a Battery Service service (96) 90 // Required characteristics: 91 // - batteryLevel: Battery Level (68) 92 // - chargingState: Charging State (8F) 93 // - statusLowBattery: Status Low Battery (79) 94 // 95 // Optional characteristics: 96 // - Name (23) 97 // 98 // UUID: 00000096-0000-1000-8000-0026BB765291 99 func BatteryService(batteryLevel hapip.Characteristic, chargingState hapip.Characteristic, statusLowBattery hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 100 chars := []hapip.Characteristic{batteryLevel, chargingState, statusLowBattery} 101 return characteristic.Service{ 102 Typ: BatteryService_Type, 103 Characteristic: append(chars, optional...), 104 } 105 } 106 107 const CameraRTPStreamManagement_Type = "110" 108 109 // CameraRTPStreamManagement represents a Camera RTP Stream Management service (110) 110 // Required characteristics: 111 // - supportedVideoStreamConfiguration: Supported Video Stream Configuration (114) 112 // - supportedAudioStreamConfiguration: Supported Audio Stream Configuration (115) 113 // - supportedRTPConfiguration: Supported RTP Configuration (116) 114 // - selectedRTPStreamConfiguration: Selected RTP Stream Configuration (117) 115 // - streamingStatus: Streaming Status (120) 116 // - setupEndpoints: Setup Endpoints (118) 117 // 118 // Optional characteristics: 119 // - Name (23) 120 // 121 // UUID: 00000110-0000-1000-8000-0026BB765291 122 func CameraRTPStreamManagement(supportedVideoStreamConfiguration hapip.Characteristic, supportedAudioStreamConfiguration hapip.Characteristic, supportedRTPConfiguration hapip.Characteristic, selectedRTPStreamConfiguration hapip.Characteristic, streamingStatus hapip.Characteristic, setupEndpoints hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 123 chars := []hapip.Characteristic{supportedVideoStreamConfiguration, supportedAudioStreamConfiguration, supportedRTPConfiguration, selectedRTPStreamConfiguration, streamingStatus, setupEndpoints} 124 return characteristic.Service{ 125 Typ: CameraRTPStreamManagement_Type, 126 Characteristic: append(chars, optional...), 127 } 128 } 129 130 const CarbonDioxideSensor_Type = "97" 131 132 // CarbonDioxideSensor represents a Carbon Dioxide Sensor service (97) 133 // Required characteristics: 134 // - carbonDioxideDetected: Carbon Dioxide Detected (92) 135 // 136 // Optional characteristics: 137 // - Status Active (75) 138 // - Status Fault (77) 139 // - Status Low Battery (79) 140 // - Status Tampered (7A) 141 // - Carbon Dioxide Level (93) 142 // - Carbon Dioxide Peak Level (94) 143 // - Name (23) 144 // 145 // UUID: 00000097-0000-1000-8000-0026BB765291 146 func CarbonDioxideSensor(carbonDioxideDetected hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 147 chars := []hapip.Characteristic{carbonDioxideDetected} 148 return characteristic.Service{ 149 Typ: CarbonDioxideSensor_Type, 150 Characteristic: append(chars, optional...), 151 } 152 } 153 154 const CarbonMonoxideSensor_Type = "7F" 155 156 // CarbonMonoxideSensor represents a Carbon Monoxide Sensor service (7F) 157 // Required characteristics: 158 // - carbonMonoxideDetected: Carbon Monoxide Detected (69) 159 // 160 // Optional characteristics: 161 // - Status Active (75) 162 // - Status Fault (77) 163 // - Status Low Battery (79) 164 // - Status Tampered (7A) 165 // - Carbon Monoxide Level (90) 166 // - Carbon Monoxide Peak Level (91) 167 // - Name (23) 168 // 169 // UUID: 0000007F-0000-1000-8000-0026BB765291 170 func CarbonMonoxideSensor(carbonMonoxideDetected hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 171 chars := []hapip.Characteristic{carbonMonoxideDetected} 172 return characteristic.Service{ 173 Typ: CarbonMonoxideSensor_Type, 174 Characteristic: append(chars, optional...), 175 } 176 } 177 178 const ContactSensor_Type = "80" 179 180 // ContactSensor represents a Contact Sensor service (80) 181 // Required characteristics: 182 // - contactSensorState: Contact Sensor State (6A) 183 // 184 // Optional characteristics: 185 // - Status Active (75) 186 // - Status Fault (77) 187 // - Status Tampered (7A) 188 // - Status Low Battery (79) 189 // - Name (23) 190 // 191 // UUID: 00000080-0000-1000-8000-0026BB765291 192 func ContactSensor(contactSensorState hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 193 chars := []hapip.Characteristic{contactSensorState} 194 return characteristic.Service{ 195 Typ: ContactSensor_Type, 196 Characteristic: append(chars, optional...), 197 } 198 } 199 200 const Door_Type = "81" 201 202 // Door represents a Door service (81) 203 // Required characteristics: 204 // - currentPosition: Current Position (6D) 205 // - positionState: Position State (72) 206 // - targetPosition: Target Position (7C) 207 // 208 // Optional characteristics: 209 // - Hold Position (6F) 210 // - Obstruction Detected (24) 211 // - Name (23) 212 // 213 // UUID: 00000081-0000-1000-8000-0026BB765291 214 func Door(currentPosition hapip.Characteristic, positionState hapip.Characteristic, targetPosition hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 215 chars := []hapip.Characteristic{currentPosition, positionState, targetPosition} 216 return characteristic.Service{ 217 Typ: Door_Type, 218 Characteristic: append(chars, optional...), 219 } 220 } 221 222 const Doorbell_Type = "121" 223 224 // Doorbell represents a Doorbell service (121) 225 // Required characteristics: 226 // - programmableSwitchEvent: Programmable Switch Event (73) 227 // 228 // Optional characteristics: 229 // - Brightness (8) 230 // - Volume (119) 231 // - Name (23) 232 // 233 // UUID: 00000121-0000-1000-8000-0026BB765291 234 func Doorbell(programmableSwitchEvent hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 235 chars := []hapip.Characteristic{programmableSwitchEvent} 236 return characteristic.Service{ 237 Typ: Doorbell_Type, 238 Characteristic: append(chars, optional...), 239 } 240 } 241 242 const Fan_Type = "40" 243 244 // Fan represents a Fan service (40) 245 // Required characteristics: 246 // - on: On (25) 247 // 248 // Optional characteristics: 249 // - Rotation Direction (28) 250 // - Rotation Speed (29) 251 // - Name (23) 252 // 253 // UUID: 00000040-0000-1000-8000-0026BB765291 254 func Fan(on hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 255 chars := []hapip.Characteristic{on} 256 return characteristic.Service{ 257 Typ: Fan_Type, 258 Characteristic: append(chars, optional...), 259 } 260 } 261 262 const FanV2_Type = "B7" 263 264 // FanV2 represents a Fan v2 service (B7) 265 // Required characteristics: 266 // - active: Active (B0) 267 // 268 // Optional characteristics: 269 // - Current Fan State (AF) 270 // - Target Fan State (BF) 271 // - Lock Physical Controls (A7) 272 // - Name (23) 273 // - Rotation Direction (28) 274 // - Rotation Speed (29) 275 // - Swing Mode (B6) 276 // 277 // UUID: 000000B7-0000-1000-8000-0026BB765291 278 func FanV2(active hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 279 chars := []hapip.Characteristic{active} 280 return characteristic.Service{ 281 Typ: FanV2_Type, 282 Characteristic: append(chars, optional...), 283 } 284 } 285 286 const FilterMaintenance_Type = "BA" 287 288 // FilterMaintenance represents a Filter Maintenance service (BA) 289 // Required characteristics: 290 // - filterChangeIndication: Filter Change Indication (AC) 291 // 292 // Optional characteristics: 293 // - Filter Life Level (AB) 294 // - Reset Filter Indication (AD) 295 // - Name (23) 296 // 297 // UUID: 000000BA-0000-1000-8000-0026BB765291 298 func FilterMaintenance(filterChangeIndication hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 299 chars := []hapip.Characteristic{filterChangeIndication} 300 return characteristic.Service{ 301 Typ: FilterMaintenance_Type, 302 Characteristic: append(chars, optional...), 303 } 304 } 305 306 const Faucet_Type = "D7" 307 308 // Faucet represents a Faucet service (D7) 309 // Required characteristics: 310 // - active: Active (B0) 311 // 312 // Optional characteristics: 313 // - Name (23) 314 // - Status Fault (77) 315 // 316 // UUID: 000000D7-0000-1000-8000-0026BB765291 317 func Faucet(active hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 318 chars := []hapip.Characteristic{active} 319 return characteristic.Service{ 320 Typ: Faucet_Type, 321 Characteristic: append(chars, optional...), 322 } 323 } 324 325 const GarageDoorOpener_Type = "41" 326 327 // GarageDoorOpener represents a Garage Door Opener service (41) 328 // Required characteristics: 329 // - currentDoorState: Current Door State (E) 330 // - targetDoorState: Target Door State (32) 331 // - obstructionDetected: Obstruction Detected (24) 332 // 333 // Optional characteristics: 334 // - Lock Current State (1D) 335 // - Lock Target State (1E) 336 // - Name (23) 337 // 338 // UUID: 00000041-0000-1000-8000-0026BB765291 339 func GarageDoorOpener(currentDoorState hapip.Characteristic, targetDoorState hapip.Characteristic, obstructionDetected hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 340 chars := []hapip.Characteristic{currentDoorState, targetDoorState, obstructionDetected} 341 return characteristic.Service{ 342 Typ: GarageDoorOpener_Type, 343 Characteristic: append(chars, optional...), 344 } 345 } 346 347 const HeaterCooler_Type = "BC" 348 349 // HeaterCooler represents a Heater Cooler service (BC) 350 // Required characteristics: 351 // - active: Active (B0) 352 // - currentHeaterCoolerState: Current Heater Cooler State (B1) 353 // - targetHeaterCoolerState: Target Heater Cooler State (B2) 354 // - currentTemperature: Current Temperature (11) 355 // 356 // Optional characteristics: 357 // - Lock Physical Controls (A7) 358 // - Name (23) 359 // - Swing Mode (B6) 360 // - Cooling Threshold Temperature (D) 361 // - Heating Threshold Temperature (12) 362 // - Temperature Display Units (36) 363 // - Rotation Speed (29) 364 // 365 // UUID: 000000BC-0000-1000-8000-0026BB765291 366 func HeaterCooler(active hapip.Characteristic, currentHeaterCoolerState hapip.Characteristic, targetHeaterCoolerState hapip.Characteristic, currentTemperature hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 367 chars := []hapip.Characteristic{active, currentHeaterCoolerState, targetHeaterCoolerState, currentTemperature} 368 return characteristic.Service{ 369 Typ: HeaterCooler_Type, 370 Characteristic: append(chars, optional...), 371 } 372 } 373 374 const HumidifierDehumidifier_Type = "BD" 375 376 // HumidifierDehumidifier represents a Humidifier Dehumidifier service (BD) 377 // Required characteristics: 378 // - currentRelativeHumidity: Current Relative Humidity (10) 379 // - currentHumidifierDehumidifierState: Current Humidifier Dehumidifier State (B3) 380 // - targetHumidifierDehumidifierState: Target Humidifier Dehumidifier State (B4) 381 // - active: Active (B0) 382 // 383 // Optional characteristics: 384 // - Lock Physical Controls (A7) 385 // - Name (23) 386 // - Swing Mode (B6) 387 // - Water Level (B5) 388 // - Relative Humidity Dehumidifier Threshold (C9) 389 // - Relative Humidity Humidifier Threshold (CA) 390 // - Rotation Speed (29) 391 // 392 // UUID: 000000BD-0000-1000-8000-0026BB765291 393 func HumidifierDehumidifier(currentRelativeHumidity hapip.Characteristic, currentHumidifierDehumidifierState hapip.Characteristic, targetHumidifierDehumidifierState hapip.Characteristic, active hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 394 chars := []hapip.Characteristic{currentRelativeHumidity, currentHumidifierDehumidifierState, targetHumidifierDehumidifierState, active} 395 return characteristic.Service{ 396 Typ: HumidifierDehumidifier_Type, 397 Characteristic: append(chars, optional...), 398 } 399 } 400 401 const HumiditySensor_Type = "82" 402 403 // HumiditySensor represents a Humidity Sensor service (82) 404 // Required characteristics: 405 // - currentRelativeHumidity: Current Relative Humidity (10) 406 // 407 // Optional characteristics: 408 // - Status Active (75) 409 // - Status Fault (77) 410 // - Status Tampered (7A) 411 // - Status Low Battery (79) 412 // - Name (23) 413 // 414 // UUID: 00000082-0000-1000-8000-0026BB765291 415 func HumiditySensor(currentRelativeHumidity hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 416 chars := []hapip.Characteristic{currentRelativeHumidity} 417 return characteristic.Service{ 418 Typ: HumiditySensor_Type, 419 Characteristic: append(chars, optional...), 420 } 421 } 422 423 const IrrigationSystem_Type = "CF" 424 425 // IrrigationSystem represents a Irrigation System service (CF) 426 // Required characteristics: 427 // - active: Active (B0) 428 // - programMode: Program Mode (D1) 429 // - inUse: In Use (D2) 430 // 431 // Optional characteristics: 432 // - Name (23) 433 // - Remaining Duration (D4) 434 // - Status Fault (77) 435 // 436 // UUID: 000000CF-0000-1000-8000-0026BB765291 437 func IrrigationSystem(active hapip.Characteristic, programMode hapip.Characteristic, inUse hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 438 chars := []hapip.Characteristic{active, programMode, inUse} 439 return characteristic.Service{ 440 Typ: IrrigationSystem_Type, 441 Characteristic: append(chars, optional...), 442 } 443 } 444 445 const LeakSensor_Type = "83" 446 447 // LeakSensor represents a Leak Sensor service (83) 448 // Required characteristics: 449 // - leakDetected: Leak Detected (70) 450 // 451 // Optional characteristics: 452 // - Status Active (75) 453 // - Status Fault (77) 454 // - Status Tampered (7A) 455 // - Status Low Battery (79) 456 // - Name (23) 457 // 458 // UUID: 00000083-0000-1000-8000-0026BB765291 459 func LeakSensor(leakDetected hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 460 chars := []hapip.Characteristic{leakDetected} 461 return characteristic.Service{ 462 Typ: LeakSensor_Type, 463 Characteristic: append(chars, optional...), 464 } 465 } 466 467 const LightSensor_Type = "84" 468 469 // LightSensor represents a Light Sensor service (84) 470 // Required characteristics: 471 // - currentAmbientLightLevel: Current Ambient Light Level (6B) 472 // 473 // Optional characteristics: 474 // - Name (23) 475 // - Status Active (75) 476 // - Status Fault (77) 477 // - Status Tampered (7A) 478 // - Status Low Battery (79) 479 // 480 // UUID: 00000084-0000-1000-8000-0026BB765291 481 func LightSensor(currentAmbientLightLevel hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 482 chars := []hapip.Characteristic{currentAmbientLightLevel} 483 return characteristic.Service{ 484 Typ: LightSensor_Type, 485 Characteristic: append(chars, optional...), 486 } 487 } 488 489 const Lightbulb_Type = "43" 490 491 // Lightbulb represents a Lightbulb service (43) 492 // Required characteristics: 493 // - on: On (25) 494 // 495 // Optional characteristics: 496 // - Brightness (8) 497 // - Hue (13) 498 // - Saturation (2F) 499 // - Name (23) 500 // 501 // UUID: 00000043-0000-1000-8000-0026BB765291 502 func Lightbulb(on hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 503 chars := []hapip.Characteristic{on} 504 return characteristic.Service{ 505 Typ: Lightbulb_Type, 506 Characteristic: append(chars, optional...), 507 } 508 } 509 510 const LockManagement_Type = "44" 511 512 // LockManagement represents a Lock Management service (44) 513 // Required characteristics: 514 // - lockControlPoint: Lock Control Point (19) 515 // - version: Version (37) 516 // 517 // Optional characteristics: 518 // - Logs (1F) 519 // - Audio Feedback (5) 520 // - Lock Management Auto Security Timeout (1A) 521 // - Administrator Only Access (1) 522 // - Lock Last Known Action (1C) 523 // - Current Door State (E) 524 // - Motion Detected (22) 525 // - Name (23) 526 // 527 // UUID: 00000044-0000-1000-8000-0026BB765291 528 func LockManagement(lockControlPoint hapip.Characteristic, version hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 529 chars := []hapip.Characteristic{lockControlPoint, version} 530 return characteristic.Service{ 531 Typ: LockManagement_Type, 532 Characteristic: append(chars, optional...), 533 } 534 } 535 536 const LockMechanism_Type = "45" 537 538 // LockMechanism represents a Lock Mechanism service (45) 539 // Required characteristics: 540 // - lockCurrentState: Lock Current State (1D) 541 // - lockTargetState: Lock Target State (1E) 542 // 543 // Optional characteristics: 544 // - Name (23) 545 // 546 // UUID: 00000045-0000-1000-8000-0026BB765291 547 func LockMechanism(lockCurrentState hapip.Characteristic, lockTargetState hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 548 chars := []hapip.Characteristic{lockCurrentState, lockTargetState} 549 return characteristic.Service{ 550 Typ: LockMechanism_Type, 551 Characteristic: append(chars, optional...), 552 } 553 } 554 555 const Microphone_Type = "112" 556 557 // Microphone represents a Microphone service (112) 558 // Required characteristics: 559 // - volume: Volume (119) 560 // - mute: Mute (11A) 561 // 562 // Optional characteristics: 563 // - Name (23) 564 // 565 // UUID: 00000112-0000-1000-8000-0026BB765291 566 func Microphone(volume hapip.Characteristic, mute hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 567 chars := []hapip.Characteristic{volume, mute} 568 return characteristic.Service{ 569 Typ: Microphone_Type, 570 Characteristic: append(chars, optional...), 571 } 572 } 573 574 const MotionSensor_Type = "85" 575 576 // MotionSensor represents a Motion Sensor service (85) 577 // Required characteristics: 578 // - motionDetected: Motion Detected (22) 579 // 580 // Optional characteristics: 581 // - Status Active (75) 582 // - Status Fault (77) 583 // - Status Tampered (7A) 584 // - Status Low Battery (79) 585 // - Name (23) 586 // 587 // UUID: 00000085-0000-1000-8000-0026BB765291 588 func MotionSensor(motionDetected hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 589 chars := []hapip.Characteristic{motionDetected} 590 return characteristic.Service{ 591 Typ: MotionSensor_Type, 592 Characteristic: append(chars, optional...), 593 } 594 } 595 596 const OccupancySensor_Type = "86" 597 598 // OccupancySensor represents a Occupancy Sensor service (86) 599 // Required characteristics: 600 // - occupancyDetected: Occupancy Detected (71) 601 // 602 // Optional characteristics: 603 // - Name (23) 604 // - Status Active (75) 605 // - Status Fault (77) 606 // - Status Tampered (7A) 607 // - Status Low Battery (79) 608 // 609 // UUID: 00000086-0000-1000-8000-0026BB765291 610 func OccupancySensor(occupancyDetected hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 611 chars := []hapip.Characteristic{occupancyDetected} 612 return characteristic.Service{ 613 Typ: OccupancySensor_Type, 614 Characteristic: append(chars, optional...), 615 } 616 } 617 618 const Outlet_Type = "47" 619 620 // Outlet represents a Outlet service (47) 621 // Required characteristics: 622 // - on: On (25) 623 // - outletInUse: Outlet In Use (26) 624 // 625 // Optional characteristics: 626 // - Name (23) 627 // 628 // UUID: 00000047-0000-1000-8000-0026BB765291 629 func Outlet(on hapip.Characteristic, outletInUse hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 630 chars := []hapip.Characteristic{on, outletInUse} 631 return characteristic.Service{ 632 Typ: Outlet_Type, 633 Characteristic: append(chars, optional...), 634 } 635 } 636 637 const SecuritySystem_Type = "7E" 638 639 // SecuritySystem represents a Security System service (7E) 640 // Required characteristics: 641 // - securitySystemCurrentState: Security System Current State (66) 642 // - securitySystemTargetState: Security System Target State (67) 643 // 644 // Optional characteristics: 645 // - Status Fault (77) 646 // - Status Tampered (7A) 647 // - Security System Alarm Type (8E) 648 // - Name (23) 649 // 650 // UUID: 0000007E-0000-1000-8000-0026BB765291 651 func SecuritySystem(securitySystemCurrentState hapip.Characteristic, securitySystemTargetState hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 652 chars := []hapip.Characteristic{securitySystemCurrentState, securitySystemTargetState} 653 return characteristic.Service{ 654 Typ: SecuritySystem_Type, 655 Characteristic: append(chars, optional...), 656 } 657 } 658 659 const ServiceLabel_Type = "CC" 660 661 // ServiceLabel represents a Service Label service (CC) 662 // Required characteristics: 663 // - serviceLabelNamespace: Service Label Namespace (CD) 664 // 665 // Optional characteristics: 666 // - Name (23) 667 // 668 // UUID: 000000CC-0000-1000-8000-0026BB765291 669 func ServiceLabel(serviceLabelNamespace hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 670 chars := []hapip.Characteristic{serviceLabelNamespace} 671 return characteristic.Service{ 672 Typ: ServiceLabel_Type, 673 Characteristic: append(chars, optional...), 674 } 675 } 676 677 const Slat_Type = "B9" 678 679 // Slat represents a Slat service (B9) 680 // Required characteristics: 681 // - slatType: Slat Type (C0) 682 // - currentSlatState: Current Slat State (AA) 683 // 684 // Optional characteristics: 685 // - Name (23) 686 // - Current Tilt Angle (C1) 687 // - Target Tilt Angle (C2) 688 // - Swing Mode (B6) 689 // 690 // UUID: 000000B9-0000-1000-8000-0026BB765291 691 func Slat(slatType hapip.Characteristic, currentSlatState hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 692 chars := []hapip.Characteristic{slatType, currentSlatState} 693 return characteristic.Service{ 694 Typ: Slat_Type, 695 Characteristic: append(chars, optional...), 696 } 697 } 698 699 const SmokeSensor_Type = "87" 700 701 // SmokeSensor represents a Smoke Sensor service (87) 702 // Required characteristics: 703 // - smokeDetected: Smoke Detected (76) 704 // 705 // Optional characteristics: 706 // - Status Active (75) 707 // - Status Fault (77) 708 // - Status Tampered (7A) 709 // - Status Low Battery (79) 710 // - Name (23) 711 // 712 // UUID: 00000087-0000-1000-8000-0026BB765291 713 func SmokeSensor(smokeDetected hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 714 chars := []hapip.Characteristic{smokeDetected} 715 return characteristic.Service{ 716 Typ: SmokeSensor_Type, 717 Characteristic: append(chars, optional...), 718 } 719 } 720 721 const Speaker_Type = "113" 722 723 // Speaker represents a Speaker service (113) 724 // Required characteristics: 725 // - mute: Mute (11A) 726 // 727 // Optional characteristics: 728 // - Name (23) 729 // - Volume (119) 730 // 731 // UUID: 00000113-0000-1000-8000-0026BB765291 732 func Speaker(mute hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 733 chars := []hapip.Characteristic{mute} 734 return characteristic.Service{ 735 Typ: Speaker_Type, 736 Characteristic: append(chars, optional...), 737 } 738 } 739 740 const StatelessProgrammableSwitch_Type = "89" 741 742 // StatelessProgrammableSwitch represents a Stateless Programmable Switch service (89) 743 // Required characteristics: 744 // - programmableSwitchEvent: Programmable Switch Event (73) 745 // 746 // Optional characteristics: 747 // - Name (23) 748 // - Service Label Index (CB) 749 // 750 // UUID: 00000089-0000-1000-8000-0026BB765291 751 func StatelessProgrammableSwitch(programmableSwitchEvent hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 752 chars := []hapip.Characteristic{programmableSwitchEvent} 753 return characteristic.Service{ 754 Typ: StatelessProgrammableSwitch_Type, 755 Characteristic: append(chars, optional...), 756 } 757 } 758 759 const Switch_Type = "49" 760 761 // Switch represents a Switch service (49) 762 // Required characteristics: 763 // - on: On (25) 764 // 765 // Optional characteristics: 766 // - Name (23) 767 // 768 // UUID: 00000049-0000-1000-8000-0026BB765291 769 func Switch(on hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 770 chars := []hapip.Characteristic{on} 771 return characteristic.Service{ 772 Typ: Switch_Type, 773 Characteristic: append(chars, optional...), 774 } 775 } 776 777 const TemperatureSensor_Type = "8A" 778 779 // TemperatureSensor represents a Temperature Sensor service (8A) 780 // Required characteristics: 781 // - currentTemperature: Current Temperature (11) 782 // 783 // Optional characteristics: 784 // - Status Active (75) 785 // - Status Fault (77) 786 // - Status Low Battery (79) 787 // - Status Tampered (7A) 788 // - Name (23) 789 // 790 // UUID: 0000008A-0000-1000-8000-0026BB765291 791 func TemperatureSensor(currentTemperature hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 792 chars := []hapip.Characteristic{currentTemperature} 793 return characteristic.Service{ 794 Typ: TemperatureSensor_Type, 795 Characteristic: append(chars, optional...), 796 } 797 } 798 799 const Thermostat_Type = "4A" 800 801 // Thermostat represents a Thermostat service (4A) 802 // Required characteristics: 803 // - currentHeatingCoolingState: Current Heating Cooling State (F) 804 // - targetHeatingCoolingState: Target Heating Cooling State (33) 805 // - currentTemperature: Current Temperature (11) 806 // - targetTemperature: Target Temperature (35) 807 // - temperatureDisplayUnits: Temperature Display Units (36) 808 // 809 // Optional characteristics: 810 // - Current Relative Humidity (10) 811 // - Target Relative Humidity (34) 812 // - Cooling Threshold Temperature (D) 813 // - Heating Threshold Temperature (12) 814 // - Name (23) 815 // 816 // UUID: 0000004A-0000-1000-8000-0026BB765291 817 func Thermostat(currentHeatingCoolingState hapip.Characteristic, targetHeatingCoolingState hapip.Characteristic, currentTemperature hapip.Characteristic, targetTemperature hapip.Characteristic, temperatureDisplayUnits hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 818 chars := []hapip.Characteristic{currentHeatingCoolingState, targetHeatingCoolingState, currentTemperature, targetTemperature, temperatureDisplayUnits} 819 return characteristic.Service{ 820 Typ: Thermostat_Type, 821 Characteristic: append(chars, optional...), 822 } 823 } 824 825 const Valve_Type = "D0" 826 827 // Valve represents a Valve service (D0) 828 // Required characteristics: 829 // - active: Active (B0) 830 // - inUse: In Use (D2) 831 // - valveType: Valve Type (D5) 832 // 833 // Optional characteristics: 834 // - Set Duration (D3) 835 // - Remaining Duration (D4) 836 // - Is Configured (D6) 837 // - Service Label Index (CB) 838 // - Status Fault (77) 839 // - Name (23) 840 // 841 // UUID: 000000D0-0000-1000-8000-0026BB765291 842 func Valve(active hapip.Characteristic, inUse hapip.Characteristic, valveType hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 843 chars := []hapip.Characteristic{active, inUse, valveType} 844 return characteristic.Service{ 845 Typ: Valve_Type, 846 Characteristic: append(chars, optional...), 847 } 848 } 849 850 const Window_Type = "8B" 851 852 // Window represents a Window service (8B) 853 // Required characteristics: 854 // - currentPosition: Current Position (6D) 855 // - targetPosition: Target Position (7C) 856 // - positionState: Position State (72) 857 // 858 // Optional characteristics: 859 // - Hold Position (6F) 860 // - Obstruction Detected (24) 861 // - Name (23) 862 // 863 // UUID: 0000008B-0000-1000-8000-0026BB765291 864 func Window(currentPosition hapip.Characteristic, targetPosition hapip.Characteristic, positionState hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 865 chars := []hapip.Characteristic{currentPosition, targetPosition, positionState} 866 return characteristic.Service{ 867 Typ: Window_Type, 868 Characteristic: append(chars, optional...), 869 } 870 } 871 872 const WindowCovering_Type = "8C" 873 874 // WindowCovering represents a Window Covering service (8C) 875 // Required characteristics: 876 // - currentPosition: Current Position (6D) 877 // - targetPosition: Target Position (7C) 878 // - positionState: Position State (72) 879 // 880 // Optional characteristics: 881 // - Hold Position (6F) 882 // - Target Horizontal Tilt Angle (7B) 883 // - Target Vertical Tilt Angle (7D) 884 // - Current Horizontal Tilt Angle (6C) 885 // - Current Vertical Tilt Angle (6E) 886 // - Obstruction Detected (24) 887 // - Name (23) 888 // 889 // UUID: 0000008C-0000-1000-8000-0026BB765291 890 func WindowCovering(currentPosition hapip.Characteristic, targetPosition hapip.Characteristic, positionState hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 891 chars := []hapip.Characteristic{currentPosition, targetPosition, positionState} 892 return characteristic.Service{ 893 Typ: WindowCovering_Type, 894 Characteristic: append(chars, optional...), 895 } 896 } 897 898 const Television_Type = "D8" 899 900 // Television represents a Television service (D8) 901 // Required characteristics: 902 // - active: Active (B0) 903 // - activeIdentifier: Active Identifier (E7) 904 // - configuredName: Configured Name (E3) 905 // - sleepDiscoveryMode: Sleep Discovery Mode (E8) 906 // 907 // Optional characteristics: 908 // - Brightness (8) 909 // - Closed Captions (DD) 910 // - Display Order (136) 911 // - Current Media State (E0) 912 // - Target Media State (137) 913 // - Picture Mode (E2) 914 // - Power Mode Selection (DF) 915 // - Remote Key (E1) 916 // 917 // UUID: 000000D8-0000-1000-8000-0026BB765291 918 func Television(active hapip.Characteristic, activeIdentifier hapip.Characteristic, configuredName hapip.Characteristic, sleepDiscoveryMode hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 919 chars := []hapip.Characteristic{active, activeIdentifier, configuredName, sleepDiscoveryMode} 920 return characteristic.Service{ 921 Typ: Television_Type, 922 Characteristic: append(chars, optional...), 923 } 924 } 925 926 const InputSource_Type = "D9" 927 928 // InputSource represents a Input Source service (D9) 929 // Required characteristics: 930 // - configuredName: Configured Name (E3) 931 // - inputSourceType: Input Source Type (DB) 932 // - isConfigured: Is Configured (D6) 933 // - currentVisibilityState: Current Visibility State (135) 934 // 935 // Optional characteristics: 936 // - Identifier (E6) 937 // - Input Device Type (DC) 938 // - Target Visibility State (134) 939 // - Name (23) 940 // 941 // UUID: 000000D9-0000-1000-8000-0026BB765291 942 func InputSource(configuredName hapip.Characteristic, inputSourceType hapip.Characteristic, isConfigured hapip.Characteristic, currentVisibilityState hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 943 chars := []hapip.Characteristic{configuredName, inputSourceType, isConfigured, currentVisibilityState} 944 return characteristic.Service{ 945 Typ: InputSource_Type, 946 Characteristic: append(chars, optional...), 947 } 948 } 949 950 const CameraRecordingManagement_Type = "204" 951 952 // CameraRecordingManagement represents a Camera Recording Management service (204) 953 // Required characteristics: 954 // - supportedCameraRecordingConfiguration: Supported Camera Recording Configuration (205) 955 // - supportedVideoRecordingConfiguration: Supported Video Recording Configuration (206) 956 // - supportedAudioRecordingConfiguration: Supported Audio Recording Configuration (207) 957 // - selectedCameraRecordingConfiguration: Selected Camera Recording Configuration (209) 958 // 959 // UUID: 00000204-0000-1000-8000-0026BB765291 960 func CameraRecordingManagement(supportedCameraRecordingConfiguration hapip.Characteristic, supportedVideoRecordingConfiguration hapip.Characteristic, supportedAudioRecordingConfiguration hapip.Characteristic, selectedCameraRecordingConfiguration hapip.Characteristic, optional ...hapip.Characteristic) characteristic.Service { 961 chars := []hapip.Characteristic{supportedCameraRecordingConfiguration, supportedVideoRecordingConfiguration, supportedAudioRecordingConfiguration, selectedCameraRecordingConfiguration} 962 return characteristic.Service{ 963 Typ: CameraRecordingManagement_Type, 964 Characteristic: append(chars, optional...), 965 } 966 }