android icon indicating copy to clipboard operation
android copied to clipboard

Large data spikes when not on Wi-Fi

Open Jay2645 opened this issue 4 months ago • 4 comments

Home Assistant Android app version(s): 2024.10.1-full

Android version(s): 14, build AD1A.240905.004

Device model(s): Pixel 9 (not Pro, not XL)

Home Assistant version: 2024.10.2

Last working Home Assistant release (if known): 2024.8.0

Description of problem, include YAML if issue is related to notifications:

I am on a pay-as-you-go data plan, and I got a surprise bill last month. I was part of a wedding party on the day my data spiked, so I wasn't on my phone at all that day (although it was in my pocket).

Upon closer inspection, I discovered that the Home Assistant app used about 5 GB of data over the course of about 15 hours (9 AM to midnight).

I thought it was a fluke at first - maybe I accidentally had a camera running on a dashboard, or maybe my sensors were updating too much. I tightened down what sensors I was running to just location in response.

Today I was out from about noon until 8 PM. About half that time I was on Wi-Fi at a friend's house; the other half I was shopping. During this time, Home Assistant used 500 MB of my data plan.

I had removed all cameras and other video feeds from my dashboard. I also had gotten rid of everything but the location update worker, just because I do use the location sensors. I did not open the Home Assistant app at all while I was out.

I've used this app for years, and never had any issues with data. Did something change recently?

Companion App Logs:

--------- beginning of main
10-12 19:59:42.262  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:42.263  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:42.263  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:42.267  7186  7186 D WebSocketRepository: Sending message 16913: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16913}
10-12 19:59:42.268  7186  7186 D WebSocketRepository: Message number 16913 sent
10-12 19:59:42.268  7186  7186 D WebSocketRepository: Sending message 16914: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16914}
10-12 19:59:42.268  7186  7186 D WebSocketRepository: Message number 16914 sent
10-12 19:59:42.278  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:42.279  7186  7762 D WebSocketRepository: Message number 16913 received
10-12 19:59:42.308  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:42.309  7186  7762 D WebSocketRepository: Message number 16914 received
10-12 19:59:43.100  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:43.101  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:43.102  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:43.107  7186  7186 D WebSocketRepository: Sending message 16915: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16915}
10-12 19:59:43.108  7186  7186 D WebSocketRepository: Message number 16915 sent
10-12 19:59:43.108  7186  7186 D WebSocketRepository: Sending message 16916: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16916}
10-12 19:59:43.109  7186  7186 D WebSocketRepository: Message number 16916 sent
10-12 19:59:43.118  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:43.119  7186  7762 D WebSocketRepository: Message number 16915 received
10-12 19:59:43.129  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:43.130  7186  7762 D WebSocketRepository: Message number 16916 received
10-12 19:59:44.020  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:44.022  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:44.022  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:44.027  7186  7186 D WebSocketRepository: Sending message 16917: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16917}
10-12 19:59:44.027  7186  7186 D WebSocketRepository: Message number 16917 sent
10-12 19:59:44.029  7186  7186 D WebSocketRepository: Sending message 16918: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16918}
10-12 19:59:44.030  7186  7186 D WebSocketRepository: Message number 16918 sent
10-12 19:59:44.040  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:44.041  7186  7762 D WebSocketRepository: Message number 16917 received
10-12 19:59:44.051  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:44.052  7186  7762 D WebSocketRepository: Message number 16918 received
10-12 19:59:45.047  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:45.049  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:45.049  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:45.054  7186  7186 D WebSocketRepository: Sending message 16919: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16919}
10-12 19:59:45.055  7186  7186 D WebSocketRepository: Message number 16919 sent
10-12 19:59:45.055  7186  7186 D WebSocketRepository: Sending message 16920: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16920}
10-12 19:59:45.055  7186  7186 D WebSocketRepository: Message number 16920 sent
10-12 19:59:45.066  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:45.067  7186  7762 D WebSocketRepository: Message number 16919 received
10-12 19:59:45.077  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:45.077  7186  7762 D WebSocketRepository: Message number 16920 received
10-12 19:59:46.027  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:46.027  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:46.028  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:46.038  7186  7186 D WebSocketRepository: Sending message 16921: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16921}
10-12 19:59:46.038  7186  7186 D WebSocketRepository: Message number 16921 sent
10-12 19:59:46.039  7186  7186 D WebSocketRepository: Sending message 16922: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16922}
10-12 19:59:46.039  7186  7186 D WebSocketRepository: Message number 16922 sent
10-12 19:59:46.055  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:46.055  7186  7762 D WebSocketRepository: Message number 16921 received
10-12 19:59:46.069  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:46.069  7186  7762 D WebSocketRepository: Message number 16922 received
10-12 19:59:47.081  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:47.081  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:47.081  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:47.084  7186  7186 D WebSocketRepository: Sending message 16923: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16923}
10-12 19:59:47.085  7186  7186 D WebSocketRepository: Message number 16923 sent
10-12 19:59:47.085  7186  7186 D WebSocketRepository: Sending message 16924: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16924}
10-12 19:59:47.085  7186  7186 D WebSocketRepository: Message number 16924 sent
10-12 19:59:47.098  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:47.099  7186  7762 D WebSocketRepository: Message number 16923 received
10-12 19:59:47.111  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:47.111  7186  7762 D WebSocketRepository: Message number 16924 received
10-12 19:59:47.594  7186  7186 D IntegrationRepository: isAppLocked(): false. (LockEnabled: false, appActive: true, expireMillis: 1728788284367, currentMillis: 1728788387593)
10-12 19:59:47.594  7186  7186 D IntegrationRepository: setAppActive(): true
10-12 19:59:48.120  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:48.121  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:48.121  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:48.125  7186  7186 D WebSocketRepository: Sending message 16925: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16925}
10-12 19:59:48.125  7186  7186 D WebSocketRepository: Message number 16925 sent
10-12 19:59:48.125  7186  7186 D WebSocketRepository: Sending message 16926: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16926}
10-12 19:59:48.126  7186  7186 D WebSocketRepository: Message number 16926 sent
10-12 19:59:48.142  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:48.143  7186  7762 D WebSocketRepository: Message number 16925 received
10-12 19:59:48.155  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:48.155  7186  7762 D WebSocketRepository: Message number 16926 received
10-12 19:59:49.012  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:49.014  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:49.014  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:49.017  7186  7186 D WebSocketRepository: Sending message 16927: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16927}
10-12 19:59:49.017  7186  7186 D WebSocketRepository: Message number 16927 sent
10-12 19:59:49.017  7186  7186 D WebSocketRepository: Sending message 16928: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16928}
10-12 19:59:49.018  7186  7186 D WebSocketRepository: Message number 16928 sent
10-12 19:59:49.055  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:49.055  7186  7762 D WebSocketRepository: Message number 16927 received
10-12 19:59:49.064  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:49.065  7186  7762 D WebSocketRepository: Message number 16928 received
10-12 19:59:50.013  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:50.013  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:50.013  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:50.016  7186  7186 D WebSocketRepository: Sending message 16929: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16929}
10-12 19:59:50.016  7186  7186 D WebSocketRepository: Message number 16929 sent
10-12 19:59:50.017  7186  7186 D WebSocketRepository: Sending message 16930: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16930}
10-12 19:59:50.017  7186  7186 D WebSocketRepository: Message number 16930 sent
10-12 19:59:50.029  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:50.029  7186  7762 D WebSocketRepository: Message number 16929 received
10-12 19:59:50.043  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:50.043  7186  7762 D WebSocketRepository: Message number 16930 received
10-12 19:59:51.086  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:51.087  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:51.087  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:51.090  7186  7186 D WebSocketRepository: Sending message 16931: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16931}
10-12 19:59:51.090  7186  7186 D WebSocketRepository: Message number 16931 sent
10-12 19:59:51.091  7186  7186 D WebSocketRepository: Sending message 16932: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16932}
10-12 19:59:51.091  7186  7186 D WebSocketRepository: Message number 16932 sent
10-12 19:59:51.103  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:51.103  7186  7762 D WebSocketRepository: Message number 16931 received
10-12 19:59:51.117  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:51.117  7186  7762 D WebSocketRepository: Message number 16932 received
10-12 19:59:52.101  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:52.102  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:52.103  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:52.105  7186  7186 D WebSocketRepository: Sending message 16933: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16933}
10-12 19:59:52.105  7186  7186 D WebSocketRepository: Message number 16933 sent
10-12 19:59:52.107  7186  7186 D WebSocketRepository: Sending message 16934: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16934}
10-12 19:59:52.107  7186  7186 D WebSocketRepository: Message number 16934 sent
10-12 19:59:52.118  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:52.118  7186  7762 D WebSocketRepository: Message number 16933 received
10-12 19:59:52.131  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:52.131  7186  7762 D WebSocketRepository: Message number 16934 received
10-12 19:59:53.032  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:53.033  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:53.033  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:53.036  7186  7186 D WebSocketRepository: Sending message 16935: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16935}
10-12 19:59:53.037  7186  7186 D WebSocketRepository: Message number 16935 sent
10-12 19:59:53.037  7186  7186 D WebSocketRepository: Sending message 16936: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16936}
10-12 19:59:53.037  7186  7186 D WebSocketRepository: Message number 16936 sent
10-12 19:59:53.048  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:53.049  7186  7762 D WebSocketRepository: Message number 16935 received
10-12 19:59:53.059  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:53.059  7186  7762 D WebSocketRepository: Message number 16936 received
10-12 19:59:54.046  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:54.047  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:54.047  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:54.050  7186  7186 D WebSocketRepository: Sending message 16937: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16937}
10-12 19:59:54.051  7186  7186 D WebSocketRepository: Message number 16937 sent
10-12 19:59:54.052  7186  7186 D WebSocketRepository: Sending message 16938: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16938}
10-12 19:59:54.052  7186  7186 D WebSocketRepository: Message number 16938 sent
10-12 19:59:54.062  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:54.062  7186  7762 D WebSocketRepository: Message number 16937 received
10-12 19:59:54.074  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:54.075  7186  7762 D WebSocketRepository: Message number 16938 received
10-12 19:59:55.115  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:55.115  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:55.116  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:55.119  7186  7186 D WebSocketRepository: Sending message 16939: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16939}
10-12 19:59:55.119  7186  7186 D WebSocketRepository: Message number 16939 sent
10-12 19:59:55.120  7186  7186 D WebSocketRepository: Sending message 16940: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16940}
10-12 19:59:55.120  7186  7186 D WebSocketRepository: Message number 16940 sent
10-12 19:59:55.132  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:55.132  7186  7762 D WebSocketRepository: Message number 16939 received
10-12 19:59:55.143  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:55.144  7186  7762 D WebSocketRepository: Message number 16940 received
10-12 19:59:55.456  7186  7186 D IntegrationRepository: isAppLocked(): false. (LockEnabled: false, appActive: true, expireMillis: 1728788284367, currentMillis: 1728788395456)
10-12 19:59:55.456  7186  7186 D IntegrationRepository: setAppActive(): true
10-12 19:59:55.829  7186  7186 D IntegrationRepository: setAppActive(): false
10-12 19:59:55.832  7186  7186 D IntegrationRepository: setAppActive(): false
10-12 19:59:56.130  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:56.130  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:56.130  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:56.132  7186  7186 D WebSocketRepository: Sending message 16941: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16941}
10-12 19:59:56.132  7186  7186 D WebSocketRepository: Message number 16941 sent
10-12 19:59:56.132  7186  7186 D WebSocketRepository: Sending message 16942: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16942}
10-12 19:59:56.132  7186  7186 D WebSocketRepository: Message number 16942 sent
10-12 19:59:56.143  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:56.143  7186  7762 D WebSocketRepository: Message number 16941 received
10-12 19:59:56.158  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:56.158  7186  7762 D WebSocketRepository: Message number 16942 received
10-12 19:59:57.022  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:57.023  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:57.023  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:57.026  7186  7186 D WebSocketRepository: Sending message 16943: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16943}
10-12 19:59:57.026  7186  7186 D WebSocketRepository: Message number 16943 sent
10-12 19:59:57.026  7186  7186 D WebSocketRepository: Sending message 16944: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16944}
10-12 19:59:57.027  7186  7186 D WebSocketRepository: Message number 16944 sent
10-12 19:59:57.038  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:57.039  7186  7762 D WebSocketRepository: Message number 16943 received
10-12 19:59:57.048  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:57.049  7186  7762 D WebSocketRepository: Message number 16944 received
10-12 19:59:57.277  7186  7186 D VRI[SettingsActivity]: visibilityChanged oldVisibility=true newVisibility=false
10-12 19:59:57.292  7186  7186 W WindowOnBackDispatcher: sendCancelIfRunning: isInProgress=falsecallback=androidx.activity.OnBackPressedDispatcher$Api34Impl$createOnBackAnimationCallback$1@203c2e3
10-12 19:59:58.051  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:58.051  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:58.052  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:58.053  7186  7186 D WebSocketRepository: Sending message 16945: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16945}
10-12 19:59:58.053  7186  7186 D WebSocketRepository: Message number 16945 sent
10-12 19:59:58.057  7186  7186 D WebSocketRepository: Sending message 16946: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16946}
10-12 19:59:58.057  7186  7186 D WebSocketRepository: Message number 16946 sent
10-12 19:59:58.072  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:58.072  7186  7762 D WebSocketRepository: Message number 16945 received
10-12 19:59:58.081  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:58.081  7186  7762 D WebSocketRepository: Message number 16946 received
10-12 19:59:59.018  7186  7762 D WebSocketRepository: Websocket: onMessage (text)
10-12 19:59:59.019  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:59.019  7186  7762 D WebSocketRepository: Message number 14909 received
10-12 19:59:59.021  7186  7186 D WebSocketRepository: Sending message 16947: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16947}
10-12 19:59:59.021  7186  7186 D WebSocketRepository: Message number 16947 sent
10-12 19:59:59.024  7186  7186 D WebSocketRepository: Sending message 16948: {type=config/entity_registry/get, entity_id=sensor.dining_out_allowed_spend, id=16948}
10-12 19:59:59.024  7186  7186 D WebSocketRepository: Message number 16948 sent
10-12 19:59:59.034  7186  7762 D WebSocketRepository: Websocket: onMessage

Note that the logs were taken once I got home and noticed that I had used 500 MB of data in a couple hours; seems like they don't go far enough back to get more info.

Screenshot or video of problem: Screenshot_20241012-195041

Screenshot_20241012-195829

Screenshot_20241012-195844

Sensors should be updating every 15 minutes; I was not charging my phone at all (although I will likely change to the "always update every 15 minutes" option for safety):

Screenshot_20241012-195945

This is battery info, which is the closest I can find to an hourly breakdown of data use. You can see that Home Assistant is also causing a significant amount of background battery drain:

Screenshot_20241012-200134

This is from last month's surprise bill when Home Assistant used 5 GB of data in the background while we were at a wedding; I didn't take a screenshot of the app breakdown at the time sadly and can no longer access it: IMG_20241012_200204

Additional information:

Jay2645 avatar Oct 13 '24 03:10 Jay2645