Difference between revisions of "Insteon PLM Ruby Code 756"
From LinuxMCE
(Added category: GSD) |
|||
(6 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | <pre> | + | {{Versioninfo}} |
− | #### Written by Dan Damron | + | [[category: Insteon]] |
+ | [[Category: GSD]] | ||
+ | <pre>#### Written by Dan Damron | ||
#### #756 Report Child Devices #### | #### #756 Report Child Devices #### | ||
Line 10: | Line 12: | ||
#with params_: | #with params_: | ||
#12 Error Message (string) | #12 Error Message (string) | ||
− | # if this is not empty, that means an error occurred. | + | # if this is not empty, that means an error occurred. |
# | # | ||
#13 Text (string) | #13 Text (string) | ||
− | # a list like this: | + | # a list like this: |
− | # [internal id] \t | + | # [internal id] \t |
− | # [description] \t | + | # [description] \t |
− | # [room name] \t | + | # [room name] \t |
− | # [device template] \t | + | # [device template] \t |
− | # [floorplan id] \n | + | # [floorplan id] \n |
Line 31: | Line 33: | ||
#log(cmd.params_[13]) | #log(cmd.params_[13]) | ||
#SendCommand(cmd) | #SendCommand(cmd) | ||
− | |||
@work = "" | @work = "" | ||
$childdatabases.each_key{|insteonID| | $childdatabases.each_key{|insteonID| | ||
− | + | @work += insteonID + "\t" | |
− | + | # figure out what type of device to add here.. | |
− | + | log('Child:' + insteonID) | |
− | + | log('Config:' + $childdatabases[insteonID].inspect) | |
− | + | case $childdatabases[insteonID][0][0..1].hex # Device Category | |
− | + | when 0x00 # Generalized Controllers | |
− | + | case $childdatabases[insteonID][0][2..3].hex | |
− | + | when 0x00 | |
− | + | when 0x01 | |
− | + | when 0x02 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | end | |
− | + | when 0x01 # Dimmable Lighting Control | |
− | + | case $childdatabases[insteonID][0][2..3].hex | |
− | + | when 0x00; @work += 'LampLinc V2 [2456D3]' | |
− | + | when 0x01; @work += 'SwitchLinc V2 Dimmer 600W [2476D]' | |
+ | when 0x02; @work += 'In-LineLinc Dimmer [2475D]' | ||
+ | when 0x03; @work += 'Icon Switch Dimmer [2876D]' | ||
+ | when 0x04; @work += 'SwitchLinc V2 Dimmer 1000W [2476DH]' | ||
+ | when 0x06; @work += 'LampLinc 2-pin [2456D2]' | ||
+ | when 0x07; @work += 'Icon LampLinc V2 2-pin [2456D2]' | ||
+ | when 0x09; @work += 'KeypadLinc Dimmer [2486D]' | ||
+ | when 0x0A; @work += 'Icon In-Wall Controller [2886D]' | ||
+ | when 0x0D; @work += 'SocketLinc [2454D]' | ||
+ | when 0x13; @work += 'Icon SwitchLinc Dimmer for Lixar/Bell Canada [2676D-B]' | ||
+ | when 0x17; @work += 'ToggleLinc Dimmer [2466D]' | ||
+ | end | ||
+ | @work += "\t\t38" # set Template 38 | ||
+ | when 0x02 # Switched Lighting Control | ||
+ | case $childdatabases[insteonID][0][2..3].hex | ||
+ | when 0x09; @work += 'ApplianceLinc [2456S3]' | ||
+ | when 0x0A; @work += 'SwitchLinc Relay [2476S]' | ||
+ | when 0x0B; @work += 'Icon On Off Switch [2876S]' | ||
+ | when 0x0C; @work += 'Icon Appliance Adapter [2856S3]' | ||
+ | when 0x0D; @work += 'ToggleLinc Relay [2466S]' | ||
+ | when 0x0E; @work += 'Switchlinc Relay Countdown Timer [2476ST]' | ||
+ | when 0x10; @work += 'In-LineLinc Relay [2475D]' | ||
+ | when 0x13; @work += 'Icon SwitchLinc Relay for Lixar/Bell Canada [2676R-B]' | ||
+ | end | ||
− | + | @work += "\t\t37" # Set Template 37 | |
− | + | when 0x03 # Network Bridges | |
− | + | case $childdatabases[insteonID][0][2..3].hex | |
− | + | when 0x10; @work += 'SmartLinc [2412N]' | |
− | + | end | |
− | + | when 0x04 # Irrigation Control | |
− | + | @work += 'Simplehomenet EZRain1 Sprinkler Controller' | |
− | + | @work += "\t\t1780" # Set Template 1780 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | when 0x05 # Climate Control | ||
+ | case $childdatabases[insteonID][0][2..3].hex | ||
+ | when 0x00; @work += 'Broan SMSC080 Exhaust Fan' | ||
+ | when 0x01; @work += 'Simplehomenet EZTherm' | ||
+ | when 0x02; @work += 'Broan SMSC110 Exhaust Fan' | ||
+ | when 0x03 | ||
+ | @work += 'Venstar RF Thermostat Module' | ||
+ | @work += "\t\t2198" # Set Template 2198 | ||
+ | when 0x04; @work += 'Simplehomenet EZStat Thermostat' | ||
+ | end | ||
− | + | when 0x06 # Pool and Spa Control | |
− | + | @work += "\t\t" # Set Template Unknown | |
+ | when 0x07 # Sensors and Actuators | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x08 | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x09 | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x0A | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x0B | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x0C | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x0D | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x0E | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x0F | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x10 # Security, Health, and Safety | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x11 # Surveillance | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x12 # Automotive | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x13 # Pet care | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x14 # Toys | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x15 # Timekeeping | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | when 0x16 # Holiday | ||
+ | @work += "\t\t" # Set Template Unknown | ||
+ | |||
+ | |||
+ | end | ||
+ | @work += "\t\n" | ||
} | } | ||
Line 133: | Line 139: | ||
cmd.params_[13] = @work | cmd.params_[13] = @work | ||
SendCommand(cmd) | SendCommand(cmd) | ||
+ | |||
+ | |||
</pre> | </pre> |
Latest revision as of 10:29, 3 July 2016
Version | Status | Date Updated | Updated By |
---|---|---|---|
710 | Unknown | N/A | N/A |
810 | Unknown | N/A | N/A |
1004 | Unknown | N/A | N/A |
1204 | Unknown | N/A | N/A |
1404 | Unknown | N/A | N/A |
Usage Information |
#### Written by Dan Damron #### #756 Report Child Devices #### #here is where I send all my newly discovered children.. #I need to fire an event [54] #with params_: #12 Error Message (string) # if this is not empty, that means an error occurred. # #13 Text (string) # a list like this: # [internal id] \t # [description] \t # [room name] \t # [device template] \t # [floorplan id] \n #First, Lets see if we actually 'get this command' log($yellow+ '*#*#*#*#*#*#*#*# GOT #756 Report Child Devices! *#*#*#*#*#*#*#*#*'+ $grey) ##lets try sending an event.. #cmd = Command.new(37,-1000,1, 2, 54) #cmd.params_[13] = "0A.97.0B\tTestLamp\t\t38\t\n" #log(cmd.params_[13]) #SendCommand(cmd) @work = "" $childdatabases.each_key{|insteonID| @work += insteonID + "\t" # figure out what type of device to add here.. log('Child:' + insteonID) log('Config:' + $childdatabases[insteonID].inspect) case $childdatabases[insteonID][0][0..1].hex # Device Category when 0x00 # Generalized Controllers case $childdatabases[insteonID][0][2..3].hex when 0x00 when 0x01 when 0x02 end when 0x01 # Dimmable Lighting Control case $childdatabases[insteonID][0][2..3].hex when 0x00; @work += 'LampLinc V2 [2456D3]' when 0x01; @work += 'SwitchLinc V2 Dimmer 600W [2476D]' when 0x02; @work += 'In-LineLinc Dimmer [2475D]' when 0x03; @work += 'Icon Switch Dimmer [2876D]' when 0x04; @work += 'SwitchLinc V2 Dimmer 1000W [2476DH]' when 0x06; @work += 'LampLinc 2-pin [2456D2]' when 0x07; @work += 'Icon LampLinc V2 2-pin [2456D2]' when 0x09; @work += 'KeypadLinc Dimmer [2486D]' when 0x0A; @work += 'Icon In-Wall Controller [2886D]' when 0x0D; @work += 'SocketLinc [2454D]' when 0x13; @work += 'Icon SwitchLinc Dimmer for Lixar/Bell Canada [2676D-B]' when 0x17; @work += 'ToggleLinc Dimmer [2466D]' end @work += "\t\t38" # set Template 38 when 0x02 # Switched Lighting Control case $childdatabases[insteonID][0][2..3].hex when 0x09; @work += 'ApplianceLinc [2456S3]' when 0x0A; @work += 'SwitchLinc Relay [2476S]' when 0x0B; @work += 'Icon On Off Switch [2876S]' when 0x0C; @work += 'Icon Appliance Adapter [2856S3]' when 0x0D; @work += 'ToggleLinc Relay [2466S]' when 0x0E; @work += 'Switchlinc Relay Countdown Timer [2476ST]' when 0x10; @work += 'In-LineLinc Relay [2475D]' when 0x13; @work += 'Icon SwitchLinc Relay for Lixar/Bell Canada [2676R-B]' end @work += "\t\t37" # Set Template 37 when 0x03 # Network Bridges case $childdatabases[insteonID][0][2..3].hex when 0x10; @work += 'SmartLinc [2412N]' end when 0x04 # Irrigation Control @work += 'Simplehomenet EZRain1 Sprinkler Controller' @work += "\t\t1780" # Set Template 1780 when 0x05 # Climate Control case $childdatabases[insteonID][0][2..3].hex when 0x00; @work += 'Broan SMSC080 Exhaust Fan' when 0x01; @work += 'Simplehomenet EZTherm' when 0x02; @work += 'Broan SMSC110 Exhaust Fan' when 0x03 @work += 'Venstar RF Thermostat Module' @work += "\t\t2198" # Set Template 2198 when 0x04; @work += 'Simplehomenet EZStat Thermostat' end when 0x06 # Pool and Spa Control @work += "\t\t" # Set Template Unknown when 0x07 # Sensors and Actuators @work += "\t\t" # Set Template Unknown when 0x08 @work += "\t\t" # Set Template Unknown when 0x09 @work += "\t\t" # Set Template Unknown when 0x0A @work += "\t\t" # Set Template Unknown when 0x0B @work += "\t\t" # Set Template Unknown when 0x0C @work += "\t\t" # Set Template Unknown when 0x0D @work += "\t\t" # Set Template Unknown when 0x0E @work += "\t\t" # Set Template Unknown when 0x0F @work += "\t\t" # Set Template Unknown when 0x10 # Security, Health, and Safety @work += "\t\t" # Set Template Unknown when 0x11 # Surveillance @work += "\t\t" # Set Template Unknown when 0x12 # Automotive @work += "\t\t" # Set Template Unknown when 0x13 # Pet care @work += "\t\t" # Set Template Unknown when 0x14 # Toys @work += "\t\t" # Set Template Unknown when 0x15 # Timekeeping @work += "\t\t" # Set Template Unknown when 0x16 # Holiday @work += "\t\t" # Set Template Unknown end @work += "\t\n" } log(@work) cmd = Command.new(device_.devid_, -1000, 1, 2, 54) cmd.params_[13] = @work SendCommand(cmd)