lanwin / esphome_samsung_ac

Provides an ESPHome component for Samsung air conditioners. It allows you to watch and control your devices via a home automation system. And is designed to be attached to the F1,F2 communication bus between the devices.
83 stars 28 forks source link

[Non-NASA] Help with Ducted system #1

Closed buzurk26 closed 7 months ago

buzurk26 commented 1 year ago

Hi,

Great project! very keen to get this working with my AC

I have a non-Nasa ducted system that previously had the wireless controller on the f1/f2 terminals, but it has stopped working of late and Samsung don't sell replacements image

I got some esp32s and the rs485 ttls, I'm a bit of a noob but wondering how i could get started with your code on my non-nasa setup?

Only functions ill need are

@lanwin

lanwin commented 12 months ago

Can you reinstall and check of changing mode and target_temp works from the ESP webinterface?

buzurk26 commented 12 months ago

Can do, there is no mode button in the esp web interface tho?

lanwin commented 12 months ago

Just look into the example.yaml :D

buzurk26 commented 12 months ago

ahh didnt realise, will try now

buzurk26 commented 12 months ago

Getting better state data now image

These all read the correct values without the values dropping in an out, set temp, on/off status and the mode changes ONLY if i do it on the panel (the esp updates the state within a few secs)

I cant turn the AC on/off with the ESP but if i turn the AC on via my wall panel then try change the mode from say AUTO to COOL then the AC turns OFF

lanwin commented 12 months ago

Can you try again and also check logs?

buzurk26 commented 12 months ago

definitely getting some progress :-)

I cant change mode on the ESP, nor can i change target temp

logs - https://pastebin.com/uQRTE6k1

lanwin commented 12 months ago

So next try for mode and target temp

buzurk26 commented 12 months ago

Ok, testing now

buzurk26 commented 12 months ago

Oki, Closer again :)

ON/OFF - Works Mode - Works Target Temp - Not working, slider does not change the temp

So that just leaves, Target temp and fan speed not yet working / implemented, almost there hehe

lanwin commented 12 months ago

So then another try for target temp

buzurk26 commented 12 months ago

No good, its reading target ok, just not able to set it.

lanwin commented 12 months ago

Hmm sad...another try

buzurk26 commented 12 months ago

Hehe don't give up yet - so close :) I really, really appreciate your efforts !!!

updating now, standby :-P

buzurk26 commented 12 months ago

Sorry no good, the slider is not changing the temp, interestingly tho

lanwin commented 12 months ago

LOL this is cause I set power instead of target_temp ..... just try again

buzurk26 commented 12 months ago

hehehe, will do

buzurk26 commented 12 months ago

Yep, thats working now!!! woohoo!!!

few quick observations (not problems)

just leaves fan now, hopefully thats an easy one?

lanwin commented 12 months ago

Woho!

Yes for now that is expected. The command is sent out and between it gets applied by the device, the device could have send an message with the old values witch resets the UI and after that the new values getting applied.

Maybe I change the UI to ignore old values until the new getting applied. But that is a future task.

For fanspeed I need to add the UI first. But that need to wait until another day ;D

buzurk26 commented 12 months ago

Awesome, No worries at all, looks like its going to work well then! i can start working on the permanent install of the ESP now, Thanks heaps and look forward to the last bits

Again, super appreciate your help, talk soon

buzurk26 commented 11 months ago

Hi Steve, Hope your well.

Just wondering if you had a chance to look into this one any further?

Its been working ok for me which is good, just miss fan speed and sending commands from the esp sometimes has to be done a few times for it to register but i think you mentioned above that could be sorted so no major

thanks

lanwin commented 11 months ago

Hi Steve, Hope your well.

Just wondering if you had a chance to look into this one any further?

Its been working ok for me which is good, just miss fan speed and sending commands from the esp sometimes has to be done a few times for it to register but i think you mentioned above that could be sorted so no major

thanks

I started to work on it. But its not ready yet.

buzurk26 commented 11 months ago

Awesome, Thanks @lanwin

bzumik1 commented 11 months ago

Hi @buzurk26, do you thing it would be good idea to rename this issue to [Non-NASA] Ducted system instead of Help with Non-NASA Ducted system I would like to clearly separate NASA and Non-NASA Issues by adding the prefix in [], I have already started to do so on my issues

lanwin commented 11 months ago

Fanmode is now implemented. Not sure if it works correctly in any case. Happy testing!

buzurk26 commented 11 months ago

Thanks @lanwin will test it out

Do i need to add anything to the yaml to get it to show up ?

buzurk26 commented 11 months ago

Tried to add

fan_mode:
fan_speed:
fanmode:
fanspeed:

Non seem to work image

lanwin commented 11 months ago

Sorry. Its currently only impl for the climate control.

you need to add:

climate:
  name: "room"
buzurk26 commented 11 months ago

Thanks, is there somewhere specific it needs to go? itsnot letting me save it atm image

bzumik1 commented 11 months ago

Hi @buzurk26 it should be on the same level as the other properties (room_temperature, power, mode etc), please check example.yaml confuguration.

buzurk26 commented 11 months ago

Thanks @bzumik1 That worked, it all looks to be working mostly pretty good, only quirk it has is that the first or second attempt at sending a command does not register

Example, If i try to turn the system ON ill select ON, the switch toggles to ON then OFF straight away, do it again and then a third and it will stay on, same happens for changing temp, you move it to the temp, it goes back to what it was, do it again and it "sticks"

In testing, it takes about three goes of changing something before it will stick

@lanwin did you happen to find out what that was?

lanwin commented 11 months ago

Es I said. The problem is that it takes sometimes a few seconds until the AC executes a command. Between the command is triggered from esphome and the AC executing it, it can happen that the AC sends new status messages that esphome then uses to update the user interface (with the old values) and then a few seconds later the command gets executed and the UI gets updated with the right values.

I have plan to mitigate this problem. But it will take some time until its getting implemented.

buzurk26 commented 11 months ago

Hi @lanwin,

Thank you, Yeah thats what looks to happen, if i do each command three times then it finally accepts it, so still workable.

Appreciate your help and hopefully its fixed in an upcoming release, let me know if you want me to test

buzurk26 commented 8 months ago

Hi @lanwin

Wondering if you had a chance to review the above?

The code is mostly working ok though there are some issues, like i cant seem to change modes from the gui

lanwin commented 8 months ago

@buzurk26 witch problem do you mean?

Most of my time in December where taken by my family.

buzurk26 commented 8 months ago

Hi @lanwin

Totall understand :) all good

Issue of where a command is sent but not recognized, you usually have to resend it two or 3 times, talked about it a few posts ago

The other issue is that mode selection is not really working

ukw6 commented 8 months ago

@lanwin
Thx for pointing me to this thread. Not sure if I'm should post here, since I don't want to capture buzurk26's thread. But since the problems seem to be Non-NASA related we could all benefit from further input. Like I already pointed out I can (kind of) control one of my two indoor units. (found devices 00, 01, c8 - similar to buzurk26) I can (sometimes) turn it on and when I change the temperature setting it turns itself off. It does not matter if I choose 00, 01 or c8, I can only control the device which is connected to the m5stack. I also see in the logs and on the Web-Interface that the on/off state and the temperature settings are changing at least every second - without any input on my part. And like buzurk26 mode selection does not really work, but changes to that property can sometimes, but not always, also power off the device. But on the other hand, almost every input is acknowledged with a beep on the device. Though not crucial I would still like to solve the puzzle.

lanwin commented 8 months ago

@buzurk26 I thought 00 is the outdoor unit c8 the indoor one. But it seems the other way around. 00 and 01 are indoor and c8 is outdoor. Can you confirm that on your system?

"I change the temperature setting it turns itself off"

That could be cause the message is somewhat wrong. We had the same problem as I initially added the Non NASA support.

"I can only control the device which is connected to the m5stack"

That sounds wired. Can it be that you connected the device to the wrong wires? From what I know is that the devices communication channel works like a bus system. Means every device is connected with each other. Either your indoor devices should be connected all to the same socket on the outdoor device or they are connected on a line. Means each after another. But all to the same cables.

@buzurk26 can you please confirm that set temp works on your system?

buzurk26 commented 8 months ago

Hi @lanwin

We are currently using "00"

# Sensor Configuration
samsung_ac:
  devices:
  - address: "00"
    climate:
      name: "Ducted HVAC" 

Yep temp control works fine, just sometimes you got to keep pressing it for it to take, usually 3 times

lanwin commented 7 months ago

Ok i swapped that. Now 00,01 are discovered als indoor devices.

buzurk26 commented 7 months ago

@lanwin - Do i update now?

Main issues i have now really

ukw6 commented 7 months ago

Can confirm: Auto mode can be changed by remote and then for one (1!) time ESP can change mode settings as desired. After that it is back to either no reaction or turning off.

00, 01 devices are now discovered as indoor, still only one of them is controlable. (the one connected to the ESP) btw wiring is going from every indoor device to the outdoor unit on different sockets. So unless they are somehow connected within the outdoor unit there is no direct connection between the indoor units.

lanwin commented 7 months ago

@buzurk26 for the first problem I created a new issues. https://github.com/lanwin/esphome_samsung_ac/issues/53 Please subscribe there.

Can you please create a new Issue for exactly issue. Its hard to keep track of that within this "old" already closed issue.

@buzurk26 @ukw6 Solving this issue ist not that simple since I need to know how a right message needs to look like.

It would be help a lot, if someone of you could buy an cheap USB to RS485 adapter. Connect that also to AC (the ESP should stay connected). Turn on raw message logging on the ESP and then install and start Samsung SNET (1) application. There should be a simple control panel to change modes and temperatures. When you use that UI and change the values I need the raw messages witch the ESP logs after that change with a description what you changed.

ukw6 commented 7 months ago

Will do. Is a certain converter chip (eg FT232RL or CH343G) required?

lanwin commented 7 months ago

I dont know. I used my RS485 adapter and connected it to an USB TTL adapter and it worked.

ukw6 commented 7 months ago

Well, I connected a cheap Waveshare "USB to RS485 adapter" to F1 and F2. Example Results with both debug flags set to true and no device configured:

[22:04:22][W][samsung_ac:066]: Current message exceeds the size limits. [22:04:30][W][samsung_ac:066]: Current message exceeds the size limits. [22:04:37][W][samsung_ac:066]: Current message exceeds the size limits. [22:04:45][W][samsung_ac:066]: Current message exceeds the size limits. [22:04:48][W][samsung_ac:039]: RAW: 3201c8204e4f4f000100004fe934329806c8d1d2000000000000001b3432c8cc0f003d003d003c003d0a3432c8d0c60100040200000000d93432c8f0f8026c10fb0200c9139d3432c8add11100000000000000a53432d0c8d1d2000000000000001b3410c63432c801c300000000000000000a343201c8230000000000000003e93432c8cc100037003700370037143432c8d0c60100040200000000d93432c8f0f80345f0c913000000ac3432c8add11100000000000000a53432d0c8d1d2000000000000001b342046fe32c801f101e001e001e001e038343201c8204e4f4f000100004fe93432c8cc1700000000

... ...

I can control the indoor units with SNET-Pro, but nothing changes in the logs.

BUT: Since the last ESPHome Update I no longer get constant "updates" or "automatic changes" every half second. This is an improvement I would say. :)

lanwin commented 7 months ago

Well please pull again. I made a mistake yesterday so no NonNASA packe where decoded correctly.

ukw6 commented 7 months ago

I believe there is still something wrong with the code (or my esphome instance) ...

Compiling .pioenvs/klimaanlage-samsung/src/esphome/components/api/api_connection.cpp.o Compiling .pioenvs/klimaanlage-samsung/src/esphome/components/api/api_frame_helper.cpp.o Compiling .pioenvs/klimaanlage-samsung/src/esphome/components/api/api_pb2.cpp.o Compiling .pioenvs/klimaanlage-samsung/src/esphome/components/api/api_pb2_service.cpp.o Compiling .pioenvs/klimaanlage-samsung/src/esphome/components/api/api_server.cpp.o Compiling .pioenvs/klimaanlage-samsung/src/esphome/components/api/list_entities.cpp.o xtensa-esp32-elf-g++: fatal error: Killed signal terminated program cc1plus compilation terminated. *** [.pioenvs/klimaanlage-samsung/src/esphome/components/api/api_connection.cpp.o] Error 1 ========================= [FAILED] Took 12.62 seconds =========================

lanwin commented 7 months ago

That look weird. Maybe you should clean you build and retry.

ukw6 commented 7 months ago

Did that already several times. No change. :(