Insteon thermostat faulty updates

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Insteon thermostat faulty updates

Steve Switzer
Hello!

    I've been working on getting better data from the thermostat as I
think the HVAC system is not running efficiently. I need some more data
to take to an HVAC contractor.

    I started by updating to MH 4.1, and syncing links. Things are
working much better as I can now directly control the thermostat again,
setting mode, setpoints, fan mode, etc. I also seem to be getting more
reliable delivery of messages to MH, but some messages are faulty,
duplicated or plan wrong.

08/28/16 09:34:04 PM Running: Set thermostat cool
08/28/16 09:34:04 PM [Insteon::Thermostat] ERROR: Invalid Mode state:
08/28/16 09:34:04 PM Mode:
normal: OK. Setting the thermostat mode to cool.
08/28/16 09:34:05 PM Thermostat state received: mode_change
08/28/16 09:34:07 PM Thermostat mode is Off
08/28/16 09:34:07 PM Thermostat status is off
08/28/16 09:34:07 PM Thermostat state received: status_change
08/28/16 09:34:07 PM New Thermostat status: cooling,
08/28/16 09:34:07 PM AC turned on...
08/28/16 09:34:07 PM hvac_compare_outside_temp: Cooling. SET: 73 ; IN:
75 ; OUT: 78.3 ; DIFF: 3.3
08/28/16 09:34:08 PM Thermostat mode is Off
08/28/16 09:34:08 PM Thermostat status is cooling,
08/28/16 09:34:08 PM The AC is on, and there are 0 window(s) open
08/28/16 09:34:08 PM Thermostat state received: status_change
08/28/16 09:34:09 PM Checking status of Doors, Windows, and HVAC...
08/28/16 09:34:09 PM Thermostat mode is Off
08/28/16 09:34:09 PM Thermostat status is cooling,
08/28/16 09:34:09 PM The AC is on, and there are 0 window(s) open
08/28/16 09:34:09 PM Thermostat state received: status_change
08/28/16 09:34:10 PM New Thermostat mode:
08/28/16 09:35:00 PM Thermostat state received: temp_change
08/28/16 09:35:01 PM Thermostat state received: temp_change
08/28/16 09:35:02 PM Checking status of Doors, Windows, and HVAC...
08/28/16 09:35:02 PM Thermostat mode is Cool
08/28/16 09:35:02 PM Thermostat status is cooling,
08/28/16 09:35:02 PM The AC is on, and there are 0 window(s) open
08/28/16 09:35:02 PM Thermostat state received: status_change
08/28/16 09:35:02 PM New Thermostat status: off
08/28/16 09:35:04 PM thermostat->get_temp = 75.
08/28/16 09:35:04 PM New Thermostat temp: 75
08/28/16 09:35:04 PM Weather Updated. MODE: Cool/off  Temp SET: 68:73 ;
IN: 75 ; OUT: 78.3 ; PREVOUT: 80.0 ; OUTDIFF: 1.7
08/28/16 09:36:03 PM Thermostat state received: humid_change
08/28/16 09:36:03 PM New Thermostat humidity: 52
08/28/16 09:36:03 PM Weather Updated. MODE: Cool/off  Temp SET: 68:73 ;
IN: 75 ; OUT: 78.3 ; PREVOUT: 80.0 ; OUTDIFF: 1.7

The thermostat correctly sent the "cooling" status at 9:34 PM, and at
9:35 PM it said it was off... but it's now 10:59 PM and it's still
running... I even updated code to check if "$thermostat->{cooling} eq
ON" and this reports that the thermostat is NOT cooling... it still is.

I also noticed that when I poll the current temp, I get a temp_change
event with the setpoint, then a couple seconds later another temp_change
with the correct readout (that I confirm on the display). So, I wrote a
timer into my code:


if('temp_change' eq state_now $thermostat) {
     #Set a timer, because the Insteon thermostat seems to give
back-to-back temp_change events,
     #with the first one actually being the SETPOINT and the next is
real. After it settles,
     #we can assume we hav the real reading.
     set $timer_hvac_change_temp 2;
}
if(expired $timer_hvac_change_temp) {
     $temp_temp=$thermostat->get_temp;
     print_log "thermostat->get_temp = $temp_temp.";
     $Weather{TempIndoor} = $temp_temp;
     print_log "New Thermostat temp: $Weather{TempIndoor}";
     &Weather_Common::weather_updated;
}

That's happening with the heat setpoints as well. When the
heat_setpoint_change event is received, $thermostat->get_heat_sp returns
the COOLING setpoint. Then it fires again seconds later, ane the same
command returns the actual setpoint. Perhaps this is because the
thermostat is in cool mode, not heat or auto?

Should I be using a different thermostat? This has just never been very
reliable, except when I was using HouseLinc to program the links, and an
Insteon app to set/get the info. Perhaps an RS485 thermostat would be
better? I hate the idea of a WiFi thermostat. I absolutely hate the idea
of some company having access to my stuff, then "securely" granting
access back to me. They're primarily in control and only give it to me
if conditions are met. I want to know how this stuff is built so I can
be sure it's secure MYSELF. This is one top reason I run MH in the first
place... I get to be in complete control. </rant>

Anyway, are there any suggestions for me to make this more reliable?

Thank you!

Steve


------------------------------------------------------------------------------
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Insteon thermostat faulty updates

H Plato
I can’t add anything around the insteon piece, however I did replace my stats 2 years ago. I agree with the rant, and that’s why I chose the venstar colortouch. It’s wifi, and has a cloud service — but that can be turned off. It actually runs a local API webserver, so it is controllable and reportable without an internet connection.

However that said, the latest 4.08 firmware has a bug in it where they switched around humidify and dehumidify setpoints, so the Venstar_colortouch.pm module will have to be updated. I’ve found wifi to be rock-solid with 4.08…just have to update the module to workaround the setpoint issue. Apparently v5 of the firmware will fix the issue, but there’s no ETA on release.

Since I have baseboard heaters in the basement, I also have a zwave stelpro thermostat. So far it’s been reliable, and seems to work well with the razberry. 

On Aug 28, 2016, at 9:03 PM, Steve Switzer <[hidden email]> wrote:

I hate the idea of a WiFi thermostat. I absolutely hate the idea 
of some company having access to my stuff, then "securely" granting 
access back to me. They're primarily in control and only give it to me 
if conditions are met. I want to know how this stuff is built so I can 
be sure it's secure MYSELF. This is one top reason I run MH in the first 
place... I get to be in complete control. </rant>


------------------------------------------------------------------------------

________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Insteon thermostat faulty updates

Steve Switzer
In reply to this post by Steve Switzer
Well, odd... the thermostat has been a little more reliable today.
Currently the A/C has been on for almost 3 hours straight... something
has to give here.

Steve

On 08/28/2016 11:03 PM, Steve Switzer wrote:

> Hello!
>
>    I've been working on getting better data from the thermostat as I
> think the HVAC system is not running efficiently. I need some more
> data to take to an HVAC contractor.
>
>    I started by updating to MH 4.1, and syncing links. Things are
> working much better as I can now directly control the thermostat
> again, setting mode, setpoints, fan mode, etc. I also seem to be
> getting more reliable delivery of messages to MH, but some messages
> are faulty, duplicated or plan wrong.
>
> 08/28/16 09:34:04 PM Running: Set thermostat cool
> 08/28/16 09:34:04 PM [Insteon::Thermostat] ERROR: Invalid Mode state:
> 08/28/16 09:34:04 PM Mode:
> normal: OK. Setting the thermostat mode to cool.
> 08/28/16 09:34:05 PM Thermostat state received: mode_change
> 08/28/16 09:34:07 PM Thermostat mode is Off
> 08/28/16 09:34:07 PM Thermostat status is off
> 08/28/16 09:34:07 PM Thermostat state received: status_change
> 08/28/16 09:34:07 PM New Thermostat status: cooling,
> 08/28/16 09:34:07 PM AC turned on...
> 08/28/16 09:34:07 PM hvac_compare_outside_temp: Cooling. SET: 73 ; IN:
> 75 ; OUT: 78.3 ; DIFF: 3.3
> 08/28/16 09:34:08 PM Thermostat mode is Off
> 08/28/16 09:34:08 PM Thermostat status is cooling,
> 08/28/16 09:34:08 PM The AC is on, and there are 0 window(s) open
> 08/28/16 09:34:08 PM Thermostat state received: status_change
> 08/28/16 09:34:09 PM Checking status of Doors, Windows, and HVAC...
> 08/28/16 09:34:09 PM Thermostat mode is Off
> 08/28/16 09:34:09 PM Thermostat status is cooling,
> 08/28/16 09:34:09 PM The AC is on, and there are 0 window(s) open
> 08/28/16 09:34:09 PM Thermostat state received: status_change
> 08/28/16 09:34:10 PM New Thermostat mode:
> 08/28/16 09:35:00 PM Thermostat state received: temp_change
> 08/28/16 09:35:01 PM Thermostat state received: temp_change
> 08/28/16 09:35:02 PM Checking status of Doors, Windows, and HVAC...
> 08/28/16 09:35:02 PM Thermostat mode is Cool
> 08/28/16 09:35:02 PM Thermostat status is cooling,
> 08/28/16 09:35:02 PM The AC is on, and there are 0 window(s) open
> 08/28/16 09:35:02 PM Thermostat state received: status_change
> 08/28/16 09:35:02 PM New Thermostat status: off
> 08/28/16 09:35:04 PM thermostat->get_temp = 75.
> 08/28/16 09:35:04 PM New Thermostat temp: 75
> 08/28/16 09:35:04 PM Weather Updated. MODE: Cool/off  Temp SET: 68:73
> ; IN: 75 ; OUT: 78.3 ; PREVOUT: 80.0 ; OUTDIFF: 1.7
> 08/28/16 09:36:03 PM Thermostat state received: humid_change
> 08/28/16 09:36:03 PM New Thermostat humidity: 52
> 08/28/16 09:36:03 PM Weather Updated. MODE: Cool/off  Temp SET: 68:73
> ; IN: 75 ; OUT: 78.3 ; PREVOUT: 80.0 ; OUTDIFF: 1.7
>
> The thermostat correctly sent the "cooling" status at 9:34 PM, and at
> 9:35 PM it said it was off... but it's now 10:59 PM and it's still
> running... I even updated code to check if "$thermostat->{cooling} eq
> ON" and this reports that the thermostat is NOT cooling... it still is.
>
> I also noticed that when I poll the current temp, I get a temp_change
> event with the setpoint, then a couple seconds later another
> temp_change with the correct readout (that I confirm on the display).
> So, I wrote a timer into my code:
>
>
> if('temp_change' eq state_now $thermostat) {
>     #Set a timer, because the Insteon thermostat seems to give
> back-to-back temp_change events,
>     #with the first one actually being the SETPOINT and the next is
> real. After it settles,
>     #we can assume we hav the real reading.
>     set $timer_hvac_change_temp 2;
> }
> if(expired $timer_hvac_change_temp) {
>     $temp_temp=$thermostat->get_temp;
>     print_log "thermostat->get_temp = $temp_temp.";
>     $Weather{TempIndoor} = $temp_temp;
>     print_log "New Thermostat temp: $Weather{TempIndoor}";
>     &Weather_Common::weather_updated;
> }
>
> That's happening with the heat setpoints as well. When the
> heat_setpoint_change event is received, $thermostat->get_heat_sp
> returns the COOLING setpoint. Then it fires again seconds later, ane
> the same command returns the actual setpoint. Perhaps this is because
> the thermostat is in cool mode, not heat or auto?
>
> Should I be using a different thermostat? This has just never been
> very reliable, except when I was using HouseLinc to program the links,
> and an Insteon app to set/get the info. Perhaps an RS485 thermostat
> would be better? I hate the idea of a WiFi thermostat. I absolutely
> hate the idea of some company having access to my stuff, then
> "securely" granting access back to me. They're primarily in control
> and only give it to me if conditions are met. I want to know how this
> stuff is built so I can be sure it's secure MYSELF. This is one top
> reason I run MH in the first place... I get to be in complete control.
> </rant>
>
> Anyway, are there any suggestions for me to make this more reliable?
>
> Thank you!
>
> Steve
>


------------------------------------------------------------------------------
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Insteon thermostat faulty updates

Wayne Gatlin
I'm not sure what Insteon thermostat you have, but I have the 2441TH and I graph the system state to cacti. From what I've see the graphs are accurate. But I do not poll the thermostat at all, I use the broadcast which seems to work great.

One thing I've noticed, make sure the thermostat is below all your other lights and Insteon objects in the .mht file. I was having issues syncing links before.

My .mht file thermostat code:

# Thermostat
INSTEON_THERMOSTAT,     29.23.7D,       thermostat,             HVAC|LivingRoom
INSTEON_THERMOSTAT,     29.23.7D:02,    thermostat_heating,     HVAC|LivingRoom
INSTEON_THERMOSTAT,     29.23.7D:03,    thermostat_high_humid,  HVAC|LivingRoom
INSTEON_THERMOSTAT,     29.23.7D:04,    thermostat_low_humid,   HVAC|LivingRoom
INSTEON_THERMOSTAT,     29.23.7D:EF,    thermostat_broadcast,   HVAC|LivingRoom



thermostat_broadcast allows the thermostat to update the states of the child object dynamically without polling.

My user code:

#You can now use the individual objects to hold the states.
$thermo_temp = new Insteon::Thermo_temp($thermostat);
$thermo_fan = new Insteon::Thermo_fan($thermostat);
$thermo_mode = new Insteon::Thermo_mode($thermostat);
$thermo_humidity = new Insteon::Thermo_humidity($thermostat);
$thermo_setpoint_h = new Insteon::Thermo_setpoint_h($thermostat);
$thermo_setpoint_c = new Insteon::Thermo_setpoint_c($thermostat);


Some times the temp is reported wrong, that's the only time I poll the thermostat.
### Fix for incorrect temp ###
if ((state $thermo_setpoint_h) < 10) {
  $thermostat->poll_setpoint();
}

if ((state $thermo_setpoint_c) < 10) {
  $thermostat->poll_setpoint();
}


One other thing, I made a bunch of voice commands to set the temps, but when you set the heat and cool at the same time, one of them does not set. I added a timer to one of them to delay it and it works fine now.

$v_set_nighttime_setpoints = new Voice_Cmd('Set thermostat Night setpoints');
if (said $v_set_nighttime_setpoints) {
  $heat_ng_timer = new Timer;
   $thermostat->mode('auto');
    $thermostat->cool_setpoint('72');
    set $heat_ng_timer '7', sub { $thermostat->heat_setpoint('68') }
}


Last you need to make sure you have filters on noisy electronics, I put filters on my PCs, A/V equipment, etc. and added a few of the wireless phase bridges to help with the signal issues until I got more devices.


_Wayne

On Mon, Aug 29, 2016 at 3:55 PM, Steve Switzer <[hidden email]> wrote:
Well, odd... the thermostat has been a little more reliable today.
Currently the A/C has been on for almost 3 hours straight... something
has to give here.

Steve

On 08/28/2016 11:03 PM, Steve Switzer wrote:
> Hello!
>
>    I've been working on getting better data from the thermostat as I
> think the HVAC system is not running efficiently. I need some more
> data to take to an HVAC contractor.
>
>    I started by updating to MH 4.1, and syncing links. Things are
> working much better as I can now directly control the thermostat
> again, setting mode, setpoints, fan mode, etc. I also seem to be
> getting more reliable delivery of messages to MH, but some messages
> are faulty, duplicated or plan wrong.
>
> 08/28/16 09:34:04 PM Running: Set thermostat cool
> 08/28/16 09:34:04 PM [Insteon::Thermostat] ERROR: Invalid Mode state:
> 08/28/16 09:34:04 PM Mode:
> normal: OK. Setting the thermostat mode to cool.
> 08/28/16 09:34:05 PM Thermostat state received: mode_change
> 08/28/16 09:34:07 PM Thermostat mode is Off
> 08/28/16 09:34:07 PM Thermostat status is off
> 08/28/16 09:34:07 PM Thermostat state received: status_change
> 08/28/16 09:34:07 PM New Thermostat status: cooling,
> 08/28/16 09:34:07 PM AC turned on...
> 08/28/16 09:34:07 PM hvac_compare_outside_temp: Cooling. SET: 73 ; IN:
> 75 ; OUT: 78.3 ; DIFF: 3.3
> 08/28/16 09:34:08 PM Thermostat mode is Off
> 08/28/16 09:34:08 PM Thermostat status is cooling,
> 08/28/16 09:34:08 PM The AC is on, and there are 0 window(s) open
> 08/28/16 09:34:08 PM Thermostat state received: status_change
> 08/28/16 09:34:09 PM Checking status of Doors, Windows, and HVAC...
> 08/28/16 09:34:09 PM Thermostat mode is Off
> 08/28/16 09:34:09 PM Thermostat status is cooling,
> 08/28/16 09:34:09 PM The AC is on, and there are 0 window(s) open
> 08/28/16 09:34:09 PM Thermostat state received: status_change
> 08/28/16 09:34:10 PM New Thermostat mode:
> 08/28/16 09:35:00 PM Thermostat state received: temp_change
> 08/28/16 09:35:01 PM Thermostat state received: temp_change
> 08/28/16 09:35:02 PM Checking status of Doors, Windows, and HVAC...
> 08/28/16 09:35:02 PM Thermostat mode is Cool
> 08/28/16 09:35:02 PM Thermostat status is cooling,
> 08/28/16 09:35:02 PM The AC is on, and there are 0 window(s) open
> 08/28/16 09:35:02 PM Thermostat state received: status_change
> 08/28/16 09:35:02 PM New Thermostat status: off
> 08/28/16 09:35:04 PM thermostat->get_temp = 75.
> 08/28/16 09:35:04 PM New Thermostat temp: 75
> 08/28/16 09:35:04 PM Weather Updated. MODE: Cool/off  Temp SET: 68:73
> ; IN: 75 ; OUT: 78.3 ; PREVOUT: 80.0 ; OUTDIFF: 1.7
> 08/28/16 09:36:03 PM Thermostat state received: humid_change
> 08/28/16 09:36:03 PM New Thermostat humidity: 52
> 08/28/16 09:36:03 PM Weather Updated. MODE: Cool/off  Temp SET: 68:73
> ; IN: 75 ; OUT: 78.3 ; PREVOUT: 80.0 ; OUTDIFF: 1.7
>
> The thermostat correctly sent the "cooling" status at 9:34 PM, and at
> 9:35 PM it said it was off... but it's now 10:59 PM and it's still
> running... I even updated code to check if "$thermostat->{cooling} eq
> ON" and this reports that the thermostat is NOT cooling... it still is.
>
> I also noticed that when I poll the current temp, I get a temp_change
> event with the setpoint, then a couple seconds later another
> temp_change with the correct readout (that I confirm on the display).
> So, I wrote a timer into my code:
>
>
> if('temp_change' eq state_now $thermostat) {
>     #Set a timer, because the Insteon thermostat seems to give
> back-to-back temp_change events,
>     #with the first one actually being the SETPOINT and the next is
> real. After it settles,
>     #we can assume we hav the real reading.
>     set $timer_hvac_change_temp 2;
> }
> if(expired $timer_hvac_change_temp) {
>     $temp_temp=$thermostat->get_temp;
>     print_log "thermostat->get_temp = $temp_temp.";
>     $Weather{TempIndoor} = $temp_temp;
>     print_log "New Thermostat temp: $Weather{TempIndoor}";
>     &Weather_Common::weather_updated;
> }
>
> That's happening with the heat setpoints as well. When the
> heat_setpoint_change event is received, $thermostat->get_heat_sp
> returns the COOLING setpoint. Then it fires again seconds later, ane
> the same command returns the actual setpoint. Perhaps this is because
> the thermostat is in cool mode, not heat or auto?
>
> Should I be using a different thermostat? This has just never been
> very reliable, except when I was using HouseLinc to program the links,
> and an Insteon app to set/get the info. Perhaps an RS485 thermostat
> would be better? I hate the idea of a WiFi thermostat. I absolutely
> hate the idea of some company having access to my stuff, then
> "securely" granting access back to me. They're primarily in control
> and only give it to me if conditions are met. I want to know how this
> stuff is built so I can be sure it's secure MYSELF. This is one top
> reason I run MH in the first place... I get to be in complete control.
> </rant>
>
> Anyway, are there any suggestions for me to make this more reliable?
>
> Thank you!
>
> Steve
>


------------------------------------------------------------------------------
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users



------------------------------------------------------------------------------

________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Loading...