Project

General

Profile

Feature #911

Humidity and temperature level chart

Added by Luke Murphey almost 10 years ago. Updated almost 9 years ago.

Status:
New
Priority:
Normal
Assignee:
Target version:
Start date:
11/23/2014
Due date:
% Done:

0%


Related issues

Related to Insteon - Feature #1004: Alert: temperature too high or too low Closed 05/21/2015

History

#1 Updated by Luke Murphey almost 10 years ago

  • Tracker changed from Task to Feature
  • Subject changed from Add humidity level chart to Humidity level chart
  • Parent task deleted (#898)

#2 Updated by Luke Murphey almost 10 years ago

  • Subject changed from Humidity level chart to Humidity and temperature level chart

I am seeing log messages that might indicate temperature settings.

The data contains the following:

010315212c20501400dbc2484815
01030e341520501700e0c048cdc3
01030e263820501800dbc248fb39
01030e263620501800dbc248a3fa
01030d290720501800dbc2480314
010212313920501a00dbc248d445
01060c023220501c00e0c0485b97

Taking a look at the values, it appears it may be broken up something like:
010.315212c.20501.400db.c2.48.4815

Converting that to decimal gets:
010.31521212.20501.4001311.122.48.4815

#3 Updated by Luke Murphey almost 10 years ago

  • Target version changed from 0.5 to 0.6

#4 Updated by Luke Murphey over 9 years ago

  • Target version changed from 0.6 to 0.9

#5 Updated by Luke Murphey over 9 years ago

See the following document for information on the 6e and 6f commands.

Below is a search with the temperature from the thermostat:

sourcetype=insteon_plm from=20.48.61 cmd1=6e | eval temperature=(tonumber(cmd2, 16)/2)

#6 Updated by Luke Murphey almost 9 years ago

((category=5 subcategory=b) OR (category=3 subcategory=37)) (cmd1=6e OR cmd1=6b) modem_command_code=50  `get_command_info` | eval temperature=(tonumber(cmd2, 16)/2) | timechart avg(temperature) by from_device_name

#7 Updated by Luke Murphey almost 9 years ago

Temperature can be requested by the following command:

| insteoncommand cmd1=6a cmd2=00 device=2c.47.59

You can then evaluate the temperature with the following:

sourcetype=insteon_plm (to=2c.47.59 OR from=2c.47.59) | eval temperature=(tonumber(cmd2, 16)/2)

#9 Updated by Luke Murphey almost 9 years ago

  • Blocks Feature #1004: Alert: temperature too high or too low added

#10 Updated by Luke Murphey almost 9 years ago

Some observations:

  1. An extended command (| insteoncommand device="20.48.61" command="thermostat_info") gets the data in an extended command response
    1. This appears to be the set-point data; not the temperature
  2. A cmd1=6a to a wired thermostat will return the temperature or humidity in the cmd2 field based on the cmd2 of the request (00 = temp, 20 = setpoint, 60 = humidity)
  3. cmd1=6a commands seem to report the temperature and humidity on wired thermostats
  4. External temperature can be seen in the 0x73 command with the cmd2 containing the temperature
  5. The docs indicate that 6E commands report temperature, 6F report humidity
  6. A command request of 6e to the wired thermostat did not obtain the temperature
  7. The Insteon app seems to get the data out of the ED 2E command
Questions:
  1. Does the 6A command work on wireless thermostats?
    1. No
  2. How can the extended command info be parsed for the temperature?
  3. Can temperature reporting be setup? See "To set a device to get status reporting add a controller of device link with group 0xEF and set 0x2E to 0x08" in http://cache.insteon.com/developer/2441THdev-062012-en.pdf

#11 Updated by Luke Murphey almost 9 years ago

This shows the extended commands:

sourcetype=insteon_plm (from=33.dc.e1 OR from=20.48.61 OR from=2c.47.59)  extended=1  | eval nice_time=strftime(_time, "%d/%m/%Y %I:%M:%S %p") | table nice_time from data cmd2 

#12 Updated by Luke Murphey almost 9 years ago

Got a search that parse the extended data:

sourcetype=insteon_plm (from=33.dc.e1 OR from=20.48.61 OR from=2c.47.59) cmd1=2e extended=1 data=01* | eval nice_time=strftime(_time, "%d/%m/%Y %I:%M:%S %p") | eval set_point_cool=tonumber(substr(data,13, 2),16) | eval set_point_heat=tonumber(substr(data,23, 2),16) | eval humidity=tonumber(substr(data,15, 2),16) | eval temperature=((tonumber(substr(data,19,2),16) + 256*tonumber(substr(data,17,2),16))/10)*1.8 + 32 | table nice_time from_device_name temperature set_point_cool set_point_heat temperature humidity

#13 Updated by Luke Murphey almost 9 years ago

  • Target version changed from 0.9 to 0.10

#14 Updated by Luke Murphey almost 9 years ago

  • Blocks deleted (Feature #1004: Alert: temperature too high or too low)

#15 Updated by Luke Murphey almost 9 years ago

  • Related to Feature #1004: Alert: temperature too high or too low added

Also available in: Atom PDF