Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Temperature resets on network interruption #263

Open
evincent207 opened this issue Apr 10, 2024 · 2 comments
Open

Temperature resets on network interruption #263

evincent207 opened this issue Apr 10, 2024 · 2 comments

Comments

@evincent207
Copy link

Hello, I've recently changed my router and I've started seeing that anytime I bounce the router, my heatpumps reconnect with a temperature of 61F. This has been happening every time I make any changes to the router and bounce. In Home Assistant my schedules remain on but I have to toggle to get temperatures back to the correct value. I don't know Arduino or MQTT well so I'm not sure where the problem might be stemming from.
If I turn on MQTT debug logging I can see the state values change around when the network briefly goes offline:

            {
              "payload": "{\"roomTemperature\":73,\"temperature\":68,\"fan\":\"AUTO\",\"vane\":\"AUTO\",\"wideVane\":\"SWING\",\"mode\":\"heat\",\"action\":\"heating\",\"compressorFrequency\":0}",
              "qos": 0,
              "retain": 0,
              "time": "2024-04-08T15:55:33.426769+00:00",
              "topic": "mitsubishi2mqtt/masterBedroomHP/state"
            },
            {
              "payload": "{\"roomTemperature\":73,\"temperature\":61,\"fan\":\"AUTO\",\"vane\":\"AUTO\",\"wideVane\":\"SWING\",\"mode\":\"heat\",\"action\":\"heating\",\"compressorFrequency\":0}",
              "qos": 0,
              "retain": 0,
              "time": "2024-04-08T15:55:33.432112+00:00",
              "topic": "mitsubishi2mqtt/masterBedroomHP/state"
            },

I tested turning off MQTT, and I found that the Arduino GUI had stable target temperatures, so that has me thinking that even with network issues, it is an MQTT/HA issue and maybe not Arduino. That said, if this isn't a symptom of bad packets or something, is there a way I can change the Arduino to protect from this behavior by reading the current temperature from the HP before resetting the temperature? Or changing that reset value to something reasonable?

I am using Adafruit Feather HUZZAH ESP8266 boards, with my MSZ-FS09NA/MSZ-FS12NA/MSZ-FS15NA mini splits, mosquitto MQTT, home assistant. Asus mesh with 2.4GHZ dedicated IOT SSID, 802.11ax disabled, other recommended settings disabled, 11b disabled, roaming disabled.

@TheRykin
Copy link

Hello,

I just wanted to add that I'm having the same issue with my temperature settings. It keeps resetting back to their default temperatures, which is much lower than my desired temperature. It'll even do this when the AC is on and idle, but it will maintain the temperature once the compressor is running. Seems to be a new issue that started shortly after I updated HA.

It will reset the temperature regardless of if I change it in HA or in the web interface. I haven't tried disconnecting MQTT yet (as I'm not home right now), but I will give it a go later on. I do have an automation setup to use remote sensors in HA, which communicate via mqtt.publish and that service seems to be working without any issues.

@evincent207
Copy link
Author

I've found a good enough solution for my issue.

Looking at debugging with my MQTT I found frequent disconnects and reconnects, but those turned out to be inconsequential. I also found "Client X disconnected due to malformed packet" showing up occasionally. These events appeared to be tied to my temperature resets.

I am running Mosquitto broker in a docker container, and I found a reference to putting my Mosquitto container in host network mode. I was comfortable doing so since I run HA with host network mode, and I haven't had issues since. I was not able to track down the actual reason for the malformed packets, or why the temperature would get set back to 61 after those events.

Reference: https://stackoverflow.com/questions/75534407/mqtt-malformed-packet

As another user stated, there probably is some other issue I just don't understand. I may have needed to have a bridge for both containers. I did see ephemeral source ports changing with the sockets for my MQTT connections, so it may be related to that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants