Contribution: Samsung ASHP NASA link <-> MQTT bridge (Home Assistant)

This would have been exactly what I needed when I started this journey, preferably with break out terminals for some unused GPIO.

The only thing that I have added above what you suggested is an optocoupler input for the PWM pump control out of the MIM (to get the commanded pump speed without delay) and a PWM output to the pump.

Your project looks great, I will give it a try when I get a bit of time, thanks.

Thanks for all the work and learning by everyone here. I’ve had a Samsung R290 gen7 16kW integrated unit AE160CXYBEK/EU (integrated means that the control board is in the outdoor unit) for 3-4 months and I’m looking at how to measure its performance and potentially integrate it with my Tado TRVs to match the output better to the heat demand in the house (we have an old victorian house with a lot of drafts on a windy day).

It’s taken a while to understand all the different options and the terminology, but as I understand it, I can use F1/F2 with an RS485 adapter to communicate via NASA protocol, but it is a bit more limited (slower responses / updates and not all commands/data available) or I can use F3/F4 with @Topaz‘s hardware. I have an old raspberry pi zero W available that I thought I could use - my home assistant server is not near the heatpump, so I need a wifi connection.

@Topaz can I run your mqtt bridge on a pi zero that’s communicating over F1/F2 via an RS485 adapter? Could you let me know when you restock with your adapter? Can you ship to the UK?

Hello @gmaclennan,

Firstly, latency is not different between F1/F2 or F3/F4.

My work is running ok on the F1/F2 link, but you’ll be limited if you want to input your house’s rooms temperature into the heatpump (My initial goal was to remove the samsung controller completely, which I did in the end).

I ship overall everywhere, I’m undergoing the struggle of JLCPCB parts stock mess. But I should have something early february to order.

Cheers

Thanks for the info @Topaz, I’ll look out for an update here about order availability. When you have the time (which you may well not have!) I’d love to hear more about your setup without the samsung controller (maybe there is something posted somewhere already?). I’m interested in greater control because we have 3 storeys here, an insulated and relatively air-tight lower ground floor which needs very little heat, the ground floor which we keep at 20C, then the 1st floor which is generally at 18C, and more draughty with greater heat loss, so I want to be able to balance the room demand with the heat pump operation.

Well it’s quite simple in fact, as soon as you have a set of indoor temperature sensors, you can aggregate them through your preferred scriptable software (i.e. read Home Assistant here). You can then define threshold for adjusting the hysterisis and reduce it (thanks Samsung for that genereously hardcoded 1°C hysterisis for heating/cooling).
Once done, you just automate the temperature updates from your set of sensors toward samsung’s zones. They only support 2 builtin with their valve control, but if you do some piping and command the additional valve through home assistant while you’re at it, enjoy your infinite zone count :p.

For my pure pleasure, I’ve designed RF 2.4GHz LoRa based sensor mesh network with SX1280 and STM32 with UMQTT over UDP6 over IPv6 transport. It allows my nodes to publish/subscribe to my self hosted MQTT broker (and register directly nice knobs from the stm32). It’s different from using ESP32 as their battery (3.7v 500mAh) lasts more than 2 years. Anyway, that was a long and painful dev, but I really achieve a really smooth integration of all the house… and more to come :slight_smile:

Cheers

Hey there @Topaz, are you still selling the USB to F3/F4 adapters? I’m quite interested as I have a Samsung unit with a wired remote controller (NASA) that runs on F3/F4 and was hoping to add the USB adapter to then have Home Assistant support in addition to the wired remote controller. I believe you achieved the setup without the wired remote but hoping to have both options available, thanks for the work you’ve done! Very interesting

Dear @wattba,

Yeah I still plan on selling them. However, I stumbled upon an interconnection bug with another user who wants to still be able to fully use its original remote controller (ww10n iirc).

There is some missing decoupling for it to work nicely. Most of the time, I don’t use the remote controller. Therefore I don’t need it. The whole HP is driven through home assistant, which I find it more powerful to handle lower temperature heating/cooling hysterisis.

Anyway, I could still relaunch a batch of the existing design. But I’m exploring 2 options right now :

  • fixing the decoupling, but I still don’t have many ideas as to why the samsung’s remote controller packets are ignored by the indoor controller when my board is connected.
  • I reverse engineered the samsung’s remote controller internal CN220 (DOWNLOAD) connector and its pinout sounds to be this one:
    1: RX (unmodulated, just plug a FTDI TX)
    2: TX (unmodulated, just plug a FTDI RX)
    3: JTAG_TRST
    4: JTAG_TDO
    5: JTAG_TCK
    6: JTAG_TDI
    7: JTAG_TMS
    8: nc
    9: GROUND
    10: 3.3V
    11: 3.3V
    17: GROUND
    Take care, the pinout numbering is rotating on the connector, as for components not interleaved numbering for each column!)
    But on that option, my problem is that the remote controlle’r’s chip is maintaining its TX pin to parcular level (it sounds it’s driven using a pushpull and not an open drain), meaning 2 hosts cannot discuss on the wires. It would require to hodl the samsung’s remote controller chip under reset while sending data. not the most convenient :slight_smile:

As of now, and for the obvious reasen, my main effort goes toward fixing the decoupling and make it work nicely.

Cheers

@wattba as a new member you may have missed the threads that describe running HA via F1/F2 rather than F3/F4, which leaves the latter to communicate solely with the WRC. (As a minimum all you need for the F1/F2 to HA setup is an RS485-to-Ethernet or RS485-to-USB adapter, and @pantherale0’s Samsung Integration. The Integration may require a VM such as VirtualBox to run it - see the Samsung ASHP NASA Messages - Updated Table thread for details and links.)

Dear all,

Since start of this integration I had troubles with a E604 splurting sometimes on the other connected remote controllers. This error was displayed mmainly after powercycle of the heatpump. And mostly when the NASA Link board was booting faster than the heatpump. The bug was hugely stochastic due to a time window “reserved” for remote controllers to enumerate themselves.

After few traces explicitly directed to reproducing and exploring the condition of its reproduction I finally found a pattern to avoid its reproduction. Long story short it’s merely a protocol stack in the indoor controller leading to avoidance of enumeration sequences after it receives a notification. And this only during its boot sequence. I confirmed the path within the indoor controller’s firmware.

Now, for those experiencing E604 which voids the use of the remote controller (it triggers a reboot of the remote controller when error is cleared). The bug was essentially random due to the time window within if a notification was sent to the indoor controller the bug was triggered.

I hope this will help enhance integration even further.

Project news : recently I came to start programming for a very widespread architecture among hardware tinkerers, the well known ESP32. And I already had an appliance (solar related) migrated at home from a raspberry to the ESP32.
I hope to find time to do the same with the whole python side of the nasa link project. That would allow for a much simpler integration of the solution by allowing an all in one board to be attached to F3/F4 and to a WiFi on the other side. With a webpage served to allow for parameters configuration.

Cheers