Announcement

Collapse
No announcement yet.

Apple Homekit(Siri) integration with Homeseer

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by madmax View Post
    I just tried a Door Sensor and it's not quite working. My device is 0 for closed and 255 for open. The eve app shows it as a Position 0% and Closing. Is 'Door' actually Garage Door? I have both Open/Closed door sensors and a Garage Door opener so I could test both if Implemented. Also, do normal open/closed doors support the new battery Level parm?

    Thanks
    There is no HomeKit door sensor. You may use a HomeKit contact sensor for your device. It should work. Use type:"ContactSensor" in your config.json

    There is a HomeKit Door but it's not fully implemented yet.

    A HomeKit door has the following required characteristics:
    - CurrentPosition (status only) - percentage from 0 to 100
    - PositionState (status only) - 0=decreasing, 1=increasing, 2=stopped
    - TargetPosition (control only) - percentage from 0 to 100

    And the following optional characteristics:
    - HoldPosition (control only) - 0 or 1
    - ObstructionDetected (status only) - 0 or 1

    I need a way to map HomeSeer device values to these characteristics...

    Currently CurrentPosition and TargetPosition are mapped to the HS device value that must be between 0 and 100. Other characteristics are not implemented... I should at least set PositionState to 2 (stopped)
    --
    stipus

    Comment


      Originally posted by madmax View Post
      Also,
      I think the Smoke 0/1 sensors will not work for a lot of z-wave users. I have several Z-Wave smoke detectors and here are the parms. I think 1 would only occur after silencing the alarm. A Device like this could also be a CO detector too. I think that'd require implementing another device though.
      For all binary sensors (Smoke...), the Homebridge platform:
      - Gets the HS device value.
      - If it's 0 then the sensor detected state is set to Off
      - If it's not 0, then the sensor detected state is set to On.

      In your case it should work, but you won't be able to know if it's smoke, or CO, or any other values > 0

      Currently it's not possible to declare several HomeKit devices with the same HomeSeer device reference. I may work on this...
      --
      stipus

      Comment


        Stipus,

        Thanks for the clarifications. I will work on getting these working now.


        Sent from my iPhone using Tapatalk

        Comment


          I just checked and there is a HomeKit Carbon Monoxyde Sensor.

          I can implement it easily, but the problem is that you cannot have several HomeKit devices with the same HS device. I need to work on this first.

          Once done, you could have a configuration such as:

          {
          "ref":225,
          "type":"SmokeSensor"
          "offValues":[0,2,2.255,9,9.255,12,12.255,13.255,14,14.255],
          "onValues":[1,1.255]
          },
          {
          "ref":225,
          "type":"CarbonMonoxydeSensor"
          "offValues":[0,1,1.255,9,9.255,12,12.255,13.255,14,14.255],
          "onValues":[2,2.255]
          }

          What do you think ?
          --
          stipus

          Comment


            That would be great! I like the idea of the arrays for the different levels. Very flexible.


            Sent from my iPhone using Tapatalk

            Comment


              Here is V0.7 of the HomeSeer platform for HomeSeer (Attached)

              Changes:

              1) You can add multiple HomeKit accessories for the same HomeSeer device reference

              This is useful if you want one HomeSeer device mapped to several HomeKit accessories

              2) Added HomeKit carbon monoxide sensor support

              "type":"CarbonMonoxideSensor"

              3) Added HomeKit carbon dioxide sensor support

              "type":"CarbonDioxideSensor"

              4) Added an "onValues" array option to all binary sensors

              Sample configuration with some of the new features:

              PHP Code:
                          {
                            
              "ref":34,                       // Required - HomeSeer Device Reference for your sensor
                            
              "type":"SmokeSensor",           // Required for a smoke sensor
                            
              "name":"Kichen smoke detector"// Optional - HomeSeer device name is the default
                            
              "batteryRef":35,                // Optional - HomeSeer device reference for the sensor battery level
                            
              "batteryThreshold":15,          // Optional - If sensor battery level is below this value, the HomeKit LowBattery characteristic is set to 1. Default is 10
                            
              "onValues":[1,1.255]            // Optional - List of all HomeSeer values triggering a "ON" sensor state - Default is any value different than 0
                          
              },
                          {
                            
              "ref":34,                       // Required - HomeSeer Device Reference for your sensor (Here it's the same device as the SmokeSensor above)
                            
              "type":"CarbonMonoxideSensor",  // Required for a carbon monoxide sensor
                            
              "name":"Kichen CO detector",    // Optional - HomeSeer device name is the default
                            
              "batteryRef":35,                // Optional - HomeSeer device reference for the sensor battery level
                            
              "batteryThreshold":15,          // Optional - If sensor battery level is below this value, the HomeKit LowBattery characteristic is set to 1. Default is 10
                            
              "onValues":[2,2.255]            // Optional - List of all HomeSeer values triggering a "ON" sensor state - Default is any value different than 0
                          
              }, 
              Supported HomeKit types:

              PHP Code:
               Lightbulb              (can_dimonValueoffValue options)
               - 
              Fan                    (onValueoffValue options)
               - Switch                 (
              onValueoffValue options)
               - 
              Outlet                 (onValueoffValue options)
               - 
              Thermostat             (temperatureUnitsetPointstatecontrol options)
               - 
              TemperatureSensor      (temperatureUnit=C|F)
               - 
              HumiditySensor         (HomeSeer device value in %  - batteryRefbatteryThreshold option)
               - 
              LightSensor            (HomeSeer device value in Lux  batteryRefbatteryThreshold option)
               - 
              ContactSensor          (onValuesbatteryRefbatteryThreshold option)
               - 
              MotionSensor           (onValuesbatteryRefbatteryThreshold option)
               - 
              LeakSensor             (onValuesbatteryRefbatteryThreshold option)
               - 
              OccupancySensor        (onValuesbatteryRefbatteryThreshold option)
               - 
              SmokeSensor            (onValuesbatteryRefbatteryThreshold option)
               - 
              CarbonMonoxideSensor   (onValuesbatteryRefbatteryThreshold option)
               - 
              CarbonDioxideSensor    (onValuesbatteryRefbatteryThreshold option)
               - 
              Battery                (batteryThreshold option)
               - 
              Door 
              Attached Files
              --
              stipus

              Comment


                Thanks for testing!

                Can't get the siri to output the degrees in a room, altough the homebridge is getting the characteristics from hs. Have tried it on 2 iphones (5s/6s) both on the latest IOS 9.0.x version, Both with different apps, Insteon+ and mytouchome...no luck so far, can't figure it out.

                Any other dutch speaking Siri owners having trouble? (maybe not yet available in dutch)?

                Thanks!



                Comment


                  Last edited by stipus; October 13, 2015, 09:15 AM.
                  --
                  stipus

                  Comment


                    Config.json confusion

                    I am having trouble understanding the proper structure for config.json.

                    The sample from nfarina has platforms listed as separate data structures from accessories (and of course no mention of events).

                    When I look at Stipus' example config.json code, it clearly has both events and accessories contained within the Homeseer platform container.

                    Perhaps it doesn't matter?

                    Comment


                      For reference, could you post your config.json here?

                      Thanks for all the good work so far!

                      Comment



                        I saw somewhere that the different treatments for the same phrase have to do with a) if you are using any "reserved" words that the local engine on the phone will understand and b) if the phrase has to be sent to the server to be handled.

                        I would guess that in some cases it hears the word "luminosity" and handles it locally while other times it sends the whole phrase to the server.

                        Comment


                          Originally posted by askme View Post
                          I am having trouble understanding the proper structure for config.json.

                          The sample from nfarina has platforms listed as separate data structures from accessories (and of course no mention of events).

                          When I look at Stipus' example config.json code, it clearly has both events and accessories contained within the Homeseer platform container.

                          Perhaps it doesn't matter?
                          The HomeBridge platform evolved.
                          - At the beginning, it was only possible to create individual accessories.
                          - Then accessory factories (named platforms) where added.
                          - And the HomeSeer platform also has an accessories section to declare each individual HomeSeer accessory.

                          WARNING: The declaration syntax in the 2 accessories sections is different.
                          - For the HomeSeer accessories section, you have to follow the HomeSeer platform specific syntax and parameters (see HomeSeer.js for a complete reference)
                          - For the Global accessories section, you have to follow the syntax of the specific shim (For example the Http shim). The reference is usually inside the homebridge/accessories/shim.js you want to use.

                          In the Homebridge roadmap, it is planned to remove the individual accessories section in the future. Only Platforms will remain.

                          PHP Code:
                          {
                              
                          // DECLARATION FOR THE BRIDGE
                              
                          "bridge": {
                                  
                          "name""Homebridge",
                                  
                          "username""CC:22:3D:E3:CE:30",
                                  
                          "port"51826,
                                  
                          "pin""031-45-154"
                              
                          },
                              
                              
                          // DECLARATION FOR THE LIST OF PLATFORMS
                              
                          "platforms": [
                                  
                          // DECLARATION FOR THE HOMESEER PLATFORM
                                  
                          {
                                      
                          "platform""HomeSeer",        
                                      
                          "name""HomeSeer",             
                                      
                          "host""http://my_hs_ip_address",
                                      
                          // HOMESEER PLATFORM MANAGES A LIST OF HOMESEER EVENTS
                                      
                          "events":[
                                      ],
                                      
                          // HOMESEER PLATFORM MANAGES A LIST OF HOMESEER ACCESSORIES
                                      
                          "accessories":[
                                       ]
                                  }
                                  
                          // YOU MAY ADD OTHER PLATFORMS BELLOW
                              
                          ],

                              
                          // DECLARATION FOR THE LIST OF INDIVIDUAL ACCESSORIES
                              
                          "accessories": [
                              ]

                          Last edited by stipus; October 13, 2015, 01:14 PM.
                          --
                          stipus

                          Comment


                            Originally posted by Valkilane View Post
                            For reference, could you post your config.json here?

                            Thanks for all the good work so far!
                            The reference configuration for the HomeSeer platform is at the beginning of the HomeSeer.js file, with samples for most options.
                            --
                            stipus

                            Comment


                              Originally posted by stipus View Post
                              The HomeBridge platform evolved.
                              - At the beginning, it was only possible to create individual accessories.
                              - Then accessory factories (named platforms) where added.
                              - And the HomeSeer platform also has an accessories section to declare each individual HomeSeer accessory.

                              WARNING: The declaration syntax in the 2 accessories sections is different.
                              - For the HomeSeer accessories section, you have to follow the HomeSeer platform specific syntax and parameters (see HomeSeer.js for a complete reference)
                              - For the Global accessories section, you have to follow the syntax of the specific shim (For example the Http shim). The reference is usually inside the homebridge/accessories/shim.js you want to use.

                              In the Homebridge roadmap, it is planned to remove the individual accessories section in the future. Only Platforms will remain.

                              PHP Code:
                              {
                                  
                              // DECLARATION FOR THE BRIDGE
                                  
                              "bridge": {
                                      
                              "name""Homebridge",
                                      
                              "username""CC:22:3D:E3:CE:30",
                                      
                              "port"51826,
                                      
                              "pin""031-45-154"
                                  
                              },
                                  
                                  
                              // DECLARATION FOR THE LIST OF PLATFORMS
                                  
                              "platforms": [
                                      
                              // DECLARATION FOR THE HOMESEER PLATFORM
                                      
                              {
                                          
                              "platform""HomeSeer",        
                                          
                              "name""HomeSeer",             
                                          
                              "host""http://my_hs_ip_address",
                                          
                              // HOMESEER PLATFORM MANAGES A LIST OF HOMESEER EVENTS
                                          
                              "events":[
                                          ],
                                          
                              // HOMESEER PLATFORM MANAGES A LIST OF HOMESEER ACCESSORIES
                                          
                              "accessories":[
                                           ]
                                      }
                                      
                              // YOU MAY ADD OTHER PLATFORMS BELLOW
                                  
                              ],

                                  
                              // DECLARATION FOR THE LIST OF INDIVIDUAL ACCESSORIES
                                  
                              "accessories": [
                                  ]



                              Perfect, just what I needed to get up and running. The events ability really will I think make this powerful.

                              Comment


                                Room structure - what is the smart way?

                                Hi Stipus et all,

                                Having 30+ real lights and switches, I need to find a good way to implement "rooms" or basically just goups as I have e.g. 4 devices named "Light" - which makes sense when combined with a room name of course, but not stand alone.
                                I can make rooms/groups in the Eve and the rest of the Homekit applications, but I would like to maintain it from the homeseer data, and not store anything in the homekit.
                                I have made a small script that creates my config.json from the homeseer json and use "<ROOM> <DEVICE_NAME> but there has got to be a smarter way. With this structure I cannot use "Turn off all bedroom lights" or similar.

                                Any good ideas anyone?

                                And thank you Stipus for all your work here!

                                /Mav
                                Last edited by maverick; October 13, 2015, 02:30 PM.

                                Comment

                                Working...
                                X