PLUGIN: Honeywell Total Connect Comfort Thermostats

Mikee, definitely hit me up if you have any questions on openLuup. We can clean up your install fairly easily, assuming the Honeywell is all you’re running as the user_data.json will be fairly small. Or we can start you off clean and re-load the plugin (takes 1 minute). As you indicated, the plugin uses very minimal memory (although it doesn’t hurt to check for garbarge remnants) and I can’t see that this was a problem as I have 8GB of memory on my openLuup server. In fact I remember looking at the logs and memory was something like 1.8Mb and CPU was really low. You can install the openLuup extension plugin and that will give you up-time, memory and CPU utilization (it’s part of the openLuup package) if you want. No worries, this issue will be resolved at some point - you’ve done a fantastic job on this plugin.

Execute this in Lua Test Code:

luup.create_device ('', "", "", "D_openLuupExtensions.xml")

[quote=“mikee, post:500, topic:185402”]Thanks CudaNet. I installed it on my OpenLuup setup as well and it is running. I had/have some trouble getting it setup. I now have 4 sets of thermo devices and can’t delete them but it is running so hopefully we’ll see something.

In the mean time I ran the plugin instrumented with collectgarbage(“count”) and collectgarbage(“collect”) calls sprinkled about. I found that the main plugin code is about 150K bytes, each interface is 20Kish and the libraries I load are 30-95K for a total of about 370Kbytes when done. Seems small to me when I have 15M free but when I instrumented the Info Viewer it uses 120K bytes total. I modified the plugin to only load the interface it is using and reduced the usage by 100K. I am also running with a collectgarbage(“collect”) after each refresh. Typically there is about 500K bytes in use but it has been up to 1Mbytes before running garbage collection. I don’t think this should be necessary but perhaps. Any guidance in this area would be greatly appreciated.[/quote]

Latest stats from openLuup log. Beware that any AltUI updates will cause an reload of the engine so avoid those all together, just select [close] when prompted.
BTW, the metrics can be loaded to Thingspeak for external monitoring (however this also requires a reload).

a newer version #1076 of ALTUI is available, do you want to upgrade ?
bugfix:plugin compatibility (sonos & Upnp url)
bootstrap 3.3.6
display Watts in favorite
2016-01-05 07:46:00.378   luup.variable_set:0: 7.openLuup.Memory_Mb was: 1.9 now: 1.6 #hooks:0
2016-01-05 07:46:00.379   luup.variable_set:0: 7.openLuup.Cpu_2m was: 0.1 now: 0.3 #hooks:0
2016-01-05 07:46:00.381   luup.variable_set:0: 7.openLuup.CpuLoad_Percent was: 0.1 now: 0.1 #hooks:0
2016-01-05 07:46:00.382   luup.variable_set:0: 7.openLuup.CpuLoad_Hours was: 0.01 now: 0.01 #hooks:0
2016-01-05 07:46:00.383   luup.variable_set:0: 7.openLuup.Uptime_Days was: 0.39 now: 0.39 #hooks:0
2016-01-05 07:46:00.384   luup.variable_set:0: 7.urn:upnp-org:serviceId:altui1.DisplayLine1 was: Uptime 0.39 days now: Uptime 0.39 days #hooks:0
2016-01-05 07:46:00.386   luup.variable_set:0: 7.urn:upnp-org:serviceId:altui1.DisplayLine2 was: Memory 1.9 Mb,  CPU 0.1 % now: Memory 1.6 Mb,  CPU 0.1 % #hooks:0
2016-01-05 07:46:00.387   luup_log:0: openLuup PLUGIN memory: 1.6 Mb, uptime: 0.39 days, cpu: 0.01 hours (0.1%)

[PART 1 OF 2]

OK, my system froze last night. I’m going to post all the log data leading up to that point. Mikee, if you want all the log data just send me a PM and I’ll send them on.

Current memory:

root@openLuup:~# free -m
             total         used         free       shared      buffers
Mem:        953500        35552       917948         1624          876
-/+ buffers:              34676       918824
Swap:            0            0            0
root@openLuup:~#

Statistics

Mem: 35700K used, 917800K free, 1624K shrd, 876K buff, 14348K cached
CPU:   0% usr   0% sys   0% nic  99% idle   0% io   0% irq   0% sirq
Load average: 0.00 0.01 0.05 2/68 1422
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
 1422  1415 root     R     1312   0%   0% top
  882   567 root     S     5972   1%   0% lua openLuup/init.lua
 1409   467 root     S     5592   1%   0% sshd: root@notty
 1413   467 root     S     5532   1%   0% sshd: root@pts/0
  448     1 http     S     3332   0%   0% /usr/sbin/lighttpd -f /etc/lighttpd/l
  467     1 root     S     2944   0%   0% /usr/sbin/sshd -D
  525     1 root     S     1460   0%   0% /usr/sbin/uhttpd -f -h /www -r openLu
  364     1 root     S     1444   0%   0% /sbin/rpcd
  383     1 root     S     1440   0%   0% /sbin/netifd
  527     1 root     S     1352   0%   0% {S95done} /bin/sh /etc/rc.common /etc
  796     1 root     S     1312   0%   0% /usr/sbin/ntpd -n -l -S /usr/sbin/ntp
 1415  1413 root     S     1312   0%   0% -ash
  540   383 root     S     1308   0%   0% udhcpc -p /var/run/udhcpc-br-lan.pid
 1411  1409 root     S     1308   0%   0% ash -c /usr/lib/sftp-server
  567   530 root     S     1308   0%   0% {openLuup_reload} /bin/sh ./openLuup_
  530   527 root     S     1304   0%   0% sh /etc/rc.local
    1     0 root     S     1300   0%   0% /sbin/procd
  423     1 root     S     1036   0%   0% /usr/sbin/dropbear -F -P /var/run/dro
  355     1 root     S      940   0%   0% /sbin/logd -S 16
 1412  1411 root     S      816   0%   0% /usr/lib/sftp-server

Processes:

root@openLuup:~# ps
  PID USER       VSZ STAT COMMAND
    1 root      1300 S    /sbin/procd
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [ksoftirqd/0]
    4 root         0 SW   [kworker/0:0]
    5 root         0 SW<  [kworker/0:0H]
    7 root         0 SW   [rcu_sched]
    8 root         0 SW   [rcu_bh]
    9 root         0 SW   [migration/0]
   10 root         0 SW   [migration/1]
   11 root         0 SW   [ksoftirqd/1]
   13 root         0 SW<  [kworker/1:0H]
   14 root         0 SW   [migration/2]
   15 root         0 SW   [ksoftirqd/2]
   16 root         0 SW   [kworker/2:0]
   17 root         0 SW<  [kworker/2:0H]
   18 root         0 SW   [migration/3]
   19 root         0 SW   [ksoftirqd/3]
   20 root         0 SW   [kworker/3:0]
   21 root         0 SW<  [kworker/3:0H]
   22 root         0 SW<  [khelper]
   23 root         0 SW<  [writeback]
   24 root         0 SW<  [bioset]
   25 root         0 SW   [kworker/0:1]
   26 root         0 SW<  [kblockd]
   28 root         0 SW   [kswapd0]
   29 root         0 SW   [kworker/3:1]
   30 root         0 SW   [fsnotify_mark]
   33 root         0 SW   [kworker/1:1]
   34 root         0 SW<  [VCHIQ-0]
   35 root         0 SW<  [VCHIQr-0]
   36 root         0 SW<  [VCHIQs-0]
   37 root         0 SW<  [dwc_otg]
   38 root         0 SW<  [DWC Notificatio]
   40 root         0 SW   [VCHIQka-0]
   41 root         0 SW<  [SMIO]
   42 root         0 SW<  [deferwq]
   43 root         0 SW   [mmcqd/0]
   44 root         0 SW<  [kworker/0:1H]
   45 root         0 SW<  [ext4-rsv-conver]
   46 root         0 SW   [kworker/1:2]
   48 root         0 SW   [kworker/2:1]
  128 root       788 S    /sbin/ubusd
  172 root       668 S    /sbin/askfirst /bin/ash --login
  173 root       668 S    /sbin/askfirst /bin/ash --login
  299 root         0 SW<  [ipv6_addrconf]
  330 root         0 SW<  [kworker/2:1H]
  355 root       940 S    /sbin/logd -S 16
  364 root      1444 S    /sbin/rpcd
  383 root      1440 S    /sbin/netifd
  423 root      1036 S    /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p 2222 -K 300
  441 root         0 SW<  [kworker/1:1H]
  448 http      3332 S    /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
  467 root      2944 S    /usr/sbin/sshd -D
  525 root      1460 S    /usr/sbin/uhttpd -f -h /www -r openLuup -x /cgi-bin -u /ubus -t 60 -T 30 -k 20 -A 1 -n 3 -N 100 -R -p 0.0.0.0:8
  527 root      1352 S    {S95done} /bin/sh /etc/rc.common /etc/rc.d/S95done boot
  530 root      1304 S    sh /etc/rc.local
  540 root      1308 S    udhcpc -p /var/run/udhcpc-br-lan.pid -s /lib/netifd/dhcp.script -f -t 0 -i br-lan -r 192.168.1.1 -C
  567 root      1308 S    {openLuup_reload} /bin/sh ./openLuup_reload
  796 root      1312 S    /usr/sbin/ntpd -n -l -S /usr/sbin/ntpd-hotplug -p 0.openwrt.pool.ntp.org -p 1.openwrt.pool.ntp.org -p 2.openwrt
  882 root      5972 S    lua openLuup/init.lua
 1407 root         0 SW   [kworker/u8:0]
 1408 root         0 SW   [kworker/u8:1]
 1409 root      5592 S    sshd: root@notty
 1411 root      1308 S    ash -c /usr/lib/sftp-server
 1412 root       816 S    /usr/lib/sftp-server
 1413 root      5536 R    sshd: root@pts/0
 1415 root      1312 S    -ash
 1423 root      1308 R    ps

[PART 2 OF 2]

Loads all look low…

2016-01-05 21:24:00.129   luup.variable_set:0: 7.openLuup.Memory_Mb was: 1.1 now: 1.4 #hooks:0
2016-01-05 21:24:00.130   luup.variable_set:0: 7.openLuup.Cpu_2m was: 0.1 now: 0.2 #hooks:0
2016-01-05 21:24:00.132   luup.variable_set:0: 7.openLuup.CpuLoad_Percent was: 0.1 now: 0.1 #hooks:0
2016-01-05 21:24:00.133   luup.variable_set:0: 7.openLuup.CpuLoad_Hours was: 0.03 now: 0.03 #hooks:0
2016-01-05 21:24:00.134   luup.variable_set:0: 7.openLuup.Uptime_Days was: 0.96 now: 0.96 #hooks:0

openLuup Log (leading up to event):

2016-01-05 21:22:15.997   luup.call_timer:4: interval: time=300, days={}
2016-01-05 21:24:00.129   luup.variable_set:0: 7.openLuup.Memory_Mb was: 1.1 now: 1.4 #hooks:0
2016-01-05 21:24:00.130   luup.variable_set:0: 7.openLuup.Cpu_2m was: 0.1 now: 0.2 #hooks:0
2016-01-05 21:24:00.132   luup.variable_set:0: 7.openLuup.CpuLoad_Percent was: 0.1 now: 0.1 #hooks:0
2016-01-05 21:24:00.133   luup.variable_set:0: 7.openLuup.CpuLoad_Hours was: 0.03 now: 0.03 #hooks:0
2016-01-05 21:24:00.134   luup.variable_set:0: 7.openLuup.Uptime_Days was: 0.96 now: 0.96 #hooks:0
2016-01-05 21:24:00.136   luup.variable_set:0: 7.urn:upnp-org:serviceId:altui1.DisplayLine1 was: Uptime 0.96 days now: Uptime 0.96 days #hooks:0
2016-01-05 21:24:00.137   luup.variable_set:0: 7.urn:upnp-org:serviceId:altui1.DisplayLine2 was: Memory 1.1 Mb,  CPU 0.1 % now: Memory 1.4 Mb,  CPU 0.1 % #hooks:0
2016-01-05 21:24:00.138   luup_log:0: openLuup PLUGIN memory: 1.4 Mb, uptime: 0.96 days, cpu: 0.03 hours (0.1%)
2016-01-05 21:26:00.289   luup.variable_set:0: 7.openLuup.Memory_Mb was: 1.4 now: 1.5 #hooks:0
2016-01-05 21:26:00.290   luup.variable_set:0: 7.openLuup.Cpu_2m was: 0.2 now: 0 #hooks:0
2016-01-05 21:26:00.292   luup.variable_set:0: 7.openLuup.CpuLoad_Percent was: 0.1 now: 0.1 #hooks:0
2016-01-05 21:26:00.293   luup.variable_set:0: 7.openLuup.CpuLoad_Hours was: 0.03 now: 0.03 #hooks:0
2016-01-05 21:26:00.294   luup.variable_set:0: 7.openLuup.Uptime_Days was: 0.96 now: 0.96 #hooks:0
2016-01-05 21:26:00.295   luup.variable_set:0: 7.urn:upnp-org:serviceId:altui1.DisplayLine1 was: Uptime 0.96 days now: Uptime 0.96 days #hooks:0
2016-01-05 21:26:00.297   luup.variable_set:0: 7.urn:upnp-org:serviceId:altui1.DisplayLine2 was: Memory 1.4 Mb,  CPU 0.1 % now: Memory 1.5 Mb,  CPU 0.1 % #hooks:0
2016-01-05 21:26:00.298   luup_log:0: openLuup PLUGIN memory: 1.5 Mb, uptime: 0.96 days, cpu: 0.03 hours (0.1%)
2016-01-05 21:27:15.393   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.t.1.refreshStatus was: OK: Tue, Jan 05, 09:22 PM now:  #hooks:0
2016-01-05 21:27:15.394   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.t.2.refreshStatus was: OK: Tue, Jan 05, 09:22 PM now:  #hooks:0
2016-01-05 21:27:15.395   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.t.3.refreshStatus was:  now:  #hooks:0
2016-01-05 21:27:15.397   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.t.4.refreshStatus was:  now:  #hooks:0
2016-01-05 21:27:15.398   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.t.5.refreshStatus was:  now:  #hooks:0
2016-01-05 21:27:15.399   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.t.6.refreshStatus was:  now:  #hooks:0
2016-01-05 21:27:15.400   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.t.7.refreshStatus was:  now:  #hooks:0
2016-01-05 21:27:15.402   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.t.8.refreshStatus was:  now:  #hooks:0
2016-01-05 21:27:16.248   luup_log:4: HNYWL TCC: status_sink{ [1] = {"success":true,"deviceLive":true,"communicationLost":false,"latestData":{"uiData":{"DispTemperature":67.0000,"HeatSetpoint":67.0000,"CoolSetpoint":75.0000,"DisplayUnits":"F","StatusHeat":2,"StatusCool":2,"HoldUntilCapable":true,"ScheduleCapable":true,"VacationHold":0,"DualSetpointStatus":false,"HeatNextPeriod":32,"CoolNextPeriod":32,"HeatLowerSetptLimit":50.0000,"HeatUpperSetptLimit":88.0000,"CoolLowerSetptLimit":61.0000,"CoolUpperSetptLimit":88.0000,"ScheduleHeatSp":55.0000,"ScheduleCoolSp":85.0000,"SwitchAutoAllowed":true,"SwitchCoolAllowed":true,"SwitchOffAllowed":true,"SwitchHeatAllowed":true,"SwitchEmergencyHeatAllowed":false,"SystemSwitchPosition":1,"Deadband":3.0000,"IndoorHumidity":128.0000,"DeviceID":991420,"Commercial":false,"DispTemperatureAvailable":true,"IndoorHumiditySensorAvailable":false,"IndoorHumiditySensorNotFault":true,"VacationHoldUntilTime":0,"TemporaryHoldUntilTime":0,"IsInVacationHoldMode":false,"SetpointChangeAllowed":true,"OutdoorTemperature":128.0000,"OutdoorHumidity":128.0000,"OutdoorHumidityAvailable":false,"OutdoorTemperatureAvailable":false,"DispTemperatureStatus":0,"IndoorHumidStatus":128,"OutdoorTempStatus":128,"OutdoorHumidStatus":128,"OutdoorTemperatureSensorNotFault":true,"OutdoorHumiditySensorNotFault":true,"CurrentSetpointStatus":2,"EquipmentOutputStatus":null},"fanData":{"fanMode":null,"fanModeAutoAllowed":false,"fanModeOnAllowed":false,"fanModeCirculateAllowed":false,"fanModeFollowScheduleAllowed":false,"fanIsRunning":null},"hasFan":false,"canControlHumidification":false,"drData":{"CoolSetpLimit":0,"HeatSetpLimit":0,"Phase":-1,"OptOutable":false,"DeltaCoolSP":-0.01,"DeltaHeatSP":-0.01,"Load":127.5}},"alerts":"\r\n\r\n"},} 
2016-01-05 21:27:16.249   luup_log:4: HNYWL TCC: RESPONSE:1
2016-01-05 21:27:16.250   luup_log:4: HNYWL TCC: STATUS:200
2016-01-05 21:27:16.251   luup_log:4: HNYWL TCC: HEADER:{ ["set-cookie"] = EccMyTcc={REMOVED BY CUDA}; path=/; expires=Thu, 07-Jan-2016 03:36:26 GMT,["date"] = Wed, 06 Jan 2016 03:27:15 GMT,["x-powered-by"] = ASP.NET,["x-ua-compatible"] = IE=edge,["expires"] = -1,["cache-control"] = no-cache, no-store, must-revalidate,["content-length"] = 1688,["content-type"] = application/json; charset=utf-8,["x-aspnet-version"] = 4.0.30319,["pragma"] = no-cache,["x-aspnetmvc-version"] = 5.2,["server"] = Microsoft-IIS/8.5, Web1,} 
2016-01-05 21:27:16.252   luup_log:4: HNYWL TCC: COOKIE STRING: ASP.NET_SessionId=nxej0muualobtqb31uwnjrzq;TrueHomeCheckCookie=;ADRUM_BT=R%3a40%7cclientRequestGUID%3a29db8540-346b-4d04-ba82-52ee7a7695ce%7cbtId%3a1160%7cbtERT%3a535;thlang=en-US;RememberMe=;EccMyTcc={REMOVED BY CUDA};.ASPXAUTH_TH_A=718F574754DCBA3CFAC93ECC5CC0232FB8813031D1A4A99B03F6A0F6BE49D3B0D2A1D705AE08B6664D3F5DBCB96CAA96A411312CB66D45CB18F524BCC6A6906F6F5574BA386EFC9DFD05CFEEB621B4C6D65092E30C7F040161AEFE615975E0D1B979DB3E9AFBF43FCA323B64615FC2BA21FD4E9C70C207D6272C373E7A9FB45475516B4FB0C5A09B85493EDA6A6FEFA1D1A5435592608E347452C36C11B32C1D98411CE42D2500B0B7D83C64CE8EE8DDAC50CEA5E16CA4C87B586A82E897A0AD727BC9DF21596491AE458C9783AD84FD48FA8EC752AA36396C1C6CD8DCE2427962A473E2F8AFA4B7E42FAF6F86B5EB172CDFCD9A1C9C655D000BAB77C9D6FC5E71CCEF2F563A95A9D770479D27B37FB2790D99F35C5FA397A7B162BA586772E273B29B6314A55C682A533733FE737A3A6C03C847C95CD45DF2B87E32DB9721866357C98F;
2016-01-05 21:27:16.253   luup_log:4: HNYWL TCC: status_str status_str={"success":true,"deviceLive":true,"communicationLost":false,"latestData":{"uiData":{"DispTemperature":67.0000,"HeatSetpoint":67.0000,"CoolSetpoint":75.0000,"DisplayUnits":"F","StatusHeat":2,"StatusCool":2,"HoldUntilCapable":true,"ScheduleCapable":true,"VacationHold":0,"DualSetpointStatus":false,"HeatNextPeriod":32,"CoolNextPeriod":32,"HeatLowerSetptLimit":50.0000,"HeatUpperSetptLimit":88.0000,"CoolLowerSetptLimit":61.0000,"CoolUpperSetptLimit":88.0000,"ScheduleHeatSp":55.0000,"ScheduleCoolSp":85.0000,"SwitchAutoAllowed":true,"SwitchCoolAllowed":true,"SwitchOffAllowed":true,"SwitchHeatAllowed":true,"SwitchEmergencyHeatAllowed":false,"SystemSwitchPosition":1,"Deadband":3.0000,"IndoorHumidity":128.0000,"DeviceID":991420,"Commercial":false,"DispTemperatureAvailable":true,"IndoorHumiditySensorAvailable":false,"IndoorHumiditySensorNotFault":true,"VacationHoldUntilTime":0,"TemporaryHoldUntilTime":0,"IsInVacationHoldMode":false,"SetpointChangeAllowed":true,"OutdoorTemperature":128.0000,"OutdoorHumidity":128.0000,"OutdoorHumidityAvailable":false,"OutdoorTemperatureAvailable":false,"DispTemperatureStatus":0,"IndoorHumidStatus":128,"OutdoorTempStatus":128,"OutdoorHumidStatus":128,"OutdoorTemperatureSensorNotFault":true,"OutdoorHumiditySensorNotFault":true,"CurrentSetpointStatus":2,"EquipmentOutputStatus":null},"fanData":{"fanMode":null,"fanModeAutoAllowed":false,"fanModeOnAllowed":false,"fanModeCirculateAllowed":false,"fanModeFollowScheduleAllowed":false,"fanIsRunning":null},"hasFan":false,"canControlHumidification":false,"drData":{"CoolSetpLimit":0,"HeatSetpLimit":0,"Phase":-1,"OptOutable":false,"DeltaCoolSP":-0.01,"DeltaHeatSP":-0.01,"Load":127.5}},"alerts":"\r\n\r\n"},
2016-01-05 21:27:16.255   luup_log:4: HNYWL TCC: status_str after gsub status_str={"success":true,"deviceLive":true,"communicationLost":false,"latestData":{"uiData":{"DispTemperature":67.0000,"HeatSetpoint":67.0000,"CoolSetpoint":75.0000,"DisplayUnits":"F","StatusHeat":2,"StatusCool":2,"HoldUntilCapable":true,"ScheduleCapable":true,"VacationHold":0,"DualSetpointStatus":false,"HeatNextPeriod":32,"CoolNextPeriod":32,"HeatLowerSetptLimit":50.0000,"HeatUpperSetptLimit":88.0000,"CoolLowerSetptLimit":61.0000,"CoolUpperSetptLimit":88.0000,"ScheduleHeatSp":55.0000,"ScheduleCoolSp":85.0000,"SwitchAutoAllowed":true,"SwitchCoolAllowed":true,"SwitchOffAllowed":true,"SwitchHeatAllowed":true,"SwitchEmergencyHeatAllowed":false,"SystemSwitchPosition":1,"Deadband":3.0000,"IndoorHumidity":128.0000,"DeviceID":991420,"Commercial":false,"DispTemperatureAvailable":true,"IndoorHumiditySensorAvailable":false,"IndoorHumiditySensorNotFault":true,"VacationHoldUntilTime":0,"TemporaryHoldUntilTime":0,"IsInVacationHoldMode":false,"SetpointChangeAllowed":true,"OutdoorTemperature":128.0000,"OutdoorHumidity":128.0000,"OutdoorHumidityAvailable":false,"OutdoorTemperatureAvailable":false,"DispTemperatureStatus":0,"IndoorHumidStatus":128,"OutdoorTempStatus":128,"OutdoorHumidStatus":128,"OutdoorTemperatureSensorNotFault":true,"OutdoorHumiditySensorNotFault":true,"CurrentSetpointStatus":2,"EquipmentOutputStatus":null},"fanData":{"fanMode":null,"fanModeAutoAllowed":false,"fanModeOnAllowed":false,"fanModeCirculateAllowed":false,"fanModeFollowScheduleAllowed":false,"fanIsRunning":null},"hasFan":false,"canControlHumidification":false,"drData":{"CoolSetpLimit":0,"HeatSetpLimit":0,"Phase":-1,"OptOutable":false,"DeltaCoolSP":-0.01,"DeltaHeatSP":-0.01,"Load":127.5}},"alerts":"\r\n\r\n"},
2016-01-05 21:27:16.261   luup_log:4: HNYWL TCC: current_data currentData={ ["HeatSetpoint"] = 67,["HeatNextPeriod"] = 32,["DisplayUnits"] = F,["SchedHeatSetpoint"] = 55,["StatusHeat"] = 2,["SystemSwitchPosition"] = 1,["SchedCoolSetpoint"] = 85,["CanSwitchAuto"] = true,["CoolNextPeriod"] = 32,["HasFan"] = false,["CoolSetpoint"] = 75,["IndoorHumidity"] = 128,["OutdoorHumidity"] = 128,["HasOutdoorTemp"] = false,["Success"] = true,["HasIndoorHumidity"] = false,["StatusCool"] = 2,["OutdoorTemp"] = 128,["Load"] = 127.5,["DisplayTemp"] = 67,} ,
2016-01-05 21:27:16.263   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.t.1.refreshStatus was:  now:  #hooks:0
2016-01-05 21:27:16.264   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.statusRefreshDateTime was: Tue, Jan 05, 09:22:15 PM now: Tue, Jan 05, 09:27:16 PM #hooks:0
2016-01-05 21:27:16.265   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.statusRefreshTimeSuccess was: Tue, Jan 05, 09:22:15 PM now: Tue, Jan 05, 09:27:16 PM #hooks:0
2016-01-05 21:27:16.267   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.getStatus was: Successful now: Successful #hooks:0
2016-01-05 21:27:16.268   luup.variable_set:4: 4.urn:joeyd-com:serviceId:HoneywellTCC1.t.1.refreshStatus was:  now: OK: Tue, Jan 05, 09:27 PM #hooks:0
2016-01-05 21:27:16.270   luup_log:4: HNYWL TCC: LOAD: 127.5
2016-01-05 21:27:16.270   luup_log:4: HNYWL TCC: Heat Next / Scheduled : 32 / 55
2016-01-05 21:27:16.271   luup_log:4: HNYWL TCC: SYSTEM SWTITCH POS: 1
2016-01-05 21:27:16.272   luup_log:4: HNYWL TCC: STATUS HEAT: 2
2016-01-05 21:27:16.272   luup_log:4: HNYWL TCC: STATUS COOL: 2
2016-01-05 21:27:16.273   luup_log:4: HNYWL TCC: HEAT SETPT: 67
2016-01-05 21:27:16.273   luup_log:4: HNYWL TCC: COOL SETPT: 75
2016-01-05 21:27:16.274   luup_log:4: HNYWL TCC: TEMP: 67
2016-01-05 21:27:16.275   luup_log:4: HNYWL TCC: MODE STATE: Idle
2016-01-05 21:27:16.275   luup_log:4: HNYWL TCC: SETPOINT: 67
2016-01-05 21:27:16.276   luup_log:4: HNYWL TCC: MODE STATUS: HeatOn
2016-01-05 21:27:16.277   luup_log:4: HNYWL TCC: FAN MODE: nil
2016-01-05 21:27:16.277   luup_log:4: HNYWL TCC: FAN MODE: Unknown
2016-01-05 21:27:16.278   luup_log:4: HNYWL TCC: FAN STATUS: Off
2016-01-05 21:27:16.279   luup.variable_set:4: 5.urn:upnp-org:serviceId:HVAC_UserOperatingMode1.ModeStatus was: HeatOn now: HeatOn #hooks:0
2016-01-05 21:27:16.280   luup.variable_set:4: 5.urn:upnp-org:serviceId:TemperatureSetpoint1.CurrentSetpoint was: 67 now: 67 #hooks:0
2016-01-05 21:27:16.281   luup.variable_set:4: 5.urn:upnp-org:serviceId:TemperatureSetpoint1.AllSetpoints was: 67,75 now: 67,75 #hooks:0
2016-01-05 21:27:16.283   luup.variable_set:4: 5.urn:upnp-org:serviceId:HVAC_FanOperatingMode1.Mode was: Unknown now: Unknown #hooks:0
2016-01-05 21:27:16.284   luup.variable_set:4: 5.urn:micasaverde-com:serviceId:HVAC_OperatingState1.ModeState was: Idle now: Idle #hooks:0
2016-01-05 21:27:16.285   luup.variable_set:4: 5.urn:upnp-org:serviceId:TemperatureSetpoint1_Heat.CurrentSetpoint was: 67 now: 67 #hooks:0
2016-01-05 21:27:16.286   luup.variable_set:4: 5.urn:upnp-org:serviceId:TemperatureSetpoint1_Cool.CurrentSetpoint was: 75 now: 75 #hooks:0
2016-01-05 21:27:16.288   luup.variable_set:4: 5.urn:upnp-org:serviceId:HVAC_FanOperatingMode1.FanStatus was: Off now: Off #hooks:0
2016-01-05 21:27:16.289   luup.variable_set:4: 5.urn:upnp-org:serviceId:TemperatureSensor1.CurrentTemperature was: 67 now: 67 #hooks:0
2016-01-05 21:27:16.290   luup.variable_set:4: 5.urn:upnp-org:serviceId:HVAC_UserOperatingMode1.AutoMode was: 1 now: 1 #hooks:0
2016-01-05 21:27:16.291   luup.variable_set:4: 5.urn:honeywell-com:serviceId:ThermostatData1.ThermostatUnits was: F now: F #hooks:0
2016-01-05 21:27:16.293   luup.variable_set:4: 5.urn:honeywell-com:serviceId:ThermostatData1.HasOutdoorHumidity was: nil now: nil #hooks:0
2016-01-05 21:27:16.294   luup.variable_set:4: 5.urn:honeywell-com:serviceId:ThermostatData1.HasIndoorHumidity was: false now: false #hooks:0
2016-01-05 21:27:16.295   luup.variable_set:4: 5.urn:honeywell-com:serviceId:ThermostatData1.HeatSetpointHoldType was: Permanent now: Permanent #hooks:0
2016-01-05 21:27:16.297   luup.variable_set:4: 5.urn:honeywell-com:serviceId:ThermostatData1.CoolSetpointHoldType was: Permanent now: Permanent #hooks:0
2016-01-05 21:27:16.298   luup.variable_set:4: 5.urn:honeywell-com:serviceId:ThermostatData1.HeatSetpointUntilTime was: 8:00 AM now: 8:00 AM #hooks:0
2016-01-05 21:27:16.299   luup.variable_set:4: 5.urn:honeywell-com:serviceId:ThermostatData1.CoolSetpointUntilTime was: 8:00 AM now: 8:00 AM #hooks:0
2016-01-05 21:27:16.301   luup.variable_set:4: 5.urn:honeywell-com:serviceId:ThermostatData1.OutdoorTemperature was:  now:  #hooks:0
2016-01-05 21:27:16.302   luup.variable_set:4: 5.urn:honeywell-com:serviceId:ThermostatData1.OutdoorHumidity was:  now:  #hooks:0
2016-01-05 21:27:16.303   luup.variable_set:4: 5.urn:honeywell-com:serviceId:ThermostatData1.IndoorHumidity was:  now:  #hooks:0

AltUI log data (/var/log/cmh):
Attached (2 log files in compressed file).

I believe I found and fixed the issue with @backkri’s nightly restarts and setpoint issue. This version has run here without a restart for 21 hours. I also added the EMEA V1 API so you can try EMEA as well as Euro. I still don’t have a way to get the “hold until” time. The hold time is now fixed 4 hours.

The primary focus has been to identify the resource consumption issues @lingerba and @backkri have been running into. Give this version a try. Thanks!

Thanks @Mikee.

I will try this new version and keep you informed!

Loaded latest version to see what happens. Here’s a link to Thingspeak for metrics regarding cpu, memory and uptime…
[url=https://thingspeak.com/channels/76818]https://thingspeak.com/channels/76818[/url]

Nice, I think you can see the garbage collection running …

@mikee

I followed the instructions. Getting an error device not ready while adding login credentials. Any idea what I am doing wrong ? regards

[quote=“mikee, post:465, topic:185402”]@sre

If you already have the Honeywell TCC plugin installed you can just upload the files in the zip and you should be all set, you do not need to delete your existing TCC device. However, if you wanted to start over using the new plugin then you could delete the old device, install the plugin and following the instructions it will find your thermostats and will add them to your system. Just keep in mind that if you delete the old device any scenes you have defined that use your thermostats will need to be setup again.

I hope to have the app updated for normal installation but the Vera folks that can help me are out until next week.[/quote]

I see this error when I try to configure the plugin immediately after restart. It might take a minute or two before the system is ready.

Definitely…All looks good this morning, I noticed CPU and up time aren’t registering quite yet and won’t until it exceeds 0…

Long time watcher, first time response… I’m on the Euro side of the pond and so hadn’t held out too much hope on this working, but big congrats to Mikee for implementing that as well as of the other tweaks, very much impressed. I’m a long time Evohome user and this is just great for integrating the honywell system into the other HA elements I’ve deployed.

Like all HA enthusiasts I’m never satisfied and what with having 10 zones in my Evohome setup, I wondered why there was a limit of 8, so tinkered with the D_HoneywellTCC.JSON and L_HoneywellTCC.LUA files to increase the limit to 10 (not difficult), but I came across a small limitation, which I wasn’t expecting, which is by extending the screen paining of the JSON file to accommodate the additional 2 zones the bottom of the screen seems to have been lost in the ‘Setup’ tab. The new child devices have been setup so its not limiting for me, but wondered if it was something that anyone else could spot the obvious mistake I’ve made?

Would be ideal to extend to 12 zones as that is the limit of a single Evohome device.

Still, that aside very impressed by Mikee and the work that has been deployed here.

Happy to let you have the edited files if they would be of any use (just that they push the refresh button off the bottom of the display area.

Nice work! I believe there is a limit to the size of a flash based dialog and hence the code needs to be converted to javascript. I have done that as well as add the dialog for setpoint control. I’ll increase the limit for thermostats to 12. I am reworking all the setup panels as we speak.

Thanks a lot @mikee. Even after a day it remained that way. Any way, I have deleted the device and did everything all over again. Waited few minutes and got log in procedure through. Thanks once again

And our January 8th update… Everything is looking really good so far… Will continue to run this throughout the weekend.

Good news. Thanks @CudaNet!

Thanks mikee :). for this great plugin and that you willing to upgrade this plugin for 12 thermostats. I’m a Euro user and just start with my new vera 3.

Last one… I think it’s safe to say that the issue of freezing has been resolved. As always excellent job @Mikee !
Tomorrow I’ll move it to my production system…

Everything has been looking good for a couple of days from my end too.

Fantastic. Thanks @CudaNet and @lingerba, you spent a lot of time testing this I really appreciate that. I believe the issue is that Luup will leak memory when a plugin crashes, looks like whatever the plugin had in its heap at the time. The TCC plugin was crashing when trying to refresh the login token. I suspect Luup is just tossing the Lua state and creating a new one. This can lead to either a lot of memory loss or a little at a time and depending on how often the plugin crashes can cause a restart or worse, put Luup in a crippled out of memory condition from which it can not recover other than a manual restart. I’d report this to Vera if I knew how. I doubt they will see it here.

In looking at the many @lingerba logs (thanks!!) there are a few plugins that crash occasionally and I saw some large drops in free memory when they did (sometimes). I think Lua is very prone to this because of the lack of a comprehensive global reference checker.