Fujitsu Air Conditioning integration - Airstage dongle

And before I raise an issue on github, is vertical swing working for anyone in HASS?
I can manully push instructions via CURL to get it on/off or individual position but it’s not showing as an entity on the AC units for me…

Thanks for this wonderful integration, I’ve been waiting for it a long time and finally it’s here and working great!
I have only one wish, if it is possible, and that is to be able to detect in HA when the LLVP is defrosting.
You can see it in the Airstage app, when a small i appears at the top, and when you click on it, you see the info on the screen

1 Like

I think you’d need to get your (or a) unit in defrost mode and then run a curl query to get the JSON and find out what mode it’s in - and then it can be detected/reported :slight_smile:

Thanks for the reply Peter, but unfortunately I’m a total novice when it comes to curl queries, but I would really appreciate if someone could point me into the right direction to make such a query against my device

If you’re a novice that may be a bit of a challenge - you’d need:

a) the IP of your AC Unit
b) the MAC of your AC unit (which I can see is 2C3B700027A3 from your screenshot)
c) access to command line on your HASS instance to be able to run curl

You need to run this (cut/paste to HASS command line), replacing the word REPLACE with your IP

curl -vv -X POST --data '{"device_id":"2C3B700027A3","device_sub_id":0,"req_id":"","modified_by":"","set_level":"03","list":["iu_op_mode"]}' 'http://REPLACE/GetParam'

The output will be the “operating mode” of the unit - which I’m hoping/assuming is one not seen before here :slight_smile:

I managed to send the query to my device, but unfortunately the response was the same as when it is not in defrost mode (iu_op_mode:4)

{"value":{"iu_op_mode":"4"},"read_res":"ack","device_id":"2C3B700027A3","device_sub_id":0,"req_id":"","modified_by":"","set_level":"03","cause":"","result":"OK","error":""}#

It’s going to be another option then - and annoyingly you need to know what it is to ask for it and get the value.

Could I get some clarification of which adapters this integration works with? From what I gather from this epic thread is the adapter is the UTY-TFSXH3 which may be the same or related to a AP-WH3E/AP-WH4E adapter? This might only be available in UK or US?

I am in Australia and have just gotten two ASTG09KMTC units installed. There is the SET-ASTG09KMTC-NXT version of this unit which looks like it just comes with the UTY-NXT. There is more detail about this adapter at anywAiR® technology Wi-Fi adaptor II.

This is a Sensibo based device and I found a press release announcing a partnership for Australia and New Zealand.

So it looks like my option is this adapter and I would instead be looking at the HA Sensibo integration?

I like how it says there is an API available, but from what I had read it is only cloud based, there is no local API… For now I am playing around with esphome IR Climate for controlling the units, don’t want to spend AU$350 for each adapter…

@danielkaldheim from time to time I get error messages when controlling some of my devices. However the AC is always getting the messages. I can verify this with the Official App from Fujitsu.
This is an error message from the log:

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: homeassistant
Source: custom_components/fujitsu_airstage/sensor.py:89 
Integration: Fujitsu Airstage 
First occurred: 08:24:01 (2133 occurrences) 
Last logged: 14:13:46

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 243, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 399, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 182, in async_update_listeners
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 479, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 745, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 845, in _async_write_ha_state
    state, attr = self._async_generate_attributes()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 786, in _async_generate_attributes
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 751, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 501, in state
    value = self.native_value
            ^^^^^^^^^^^^^^^^^
  File "/config/custom_components/fujitsu_airstage/sensor.py", line 89, in native_value
    return Decimal(value)
           ^^^^^^^^^^^^^^
TypeError: conversion from NoneType to Decimal is not supported

This is super work and I am tempted to try. However, I have 3 indoor units and the WiFi adapters from Fujitsu (UTY-TFSXJ4) are $157 each. So my thought is to just use IR repeaters, a much simpler solution and one that can more easily be integrated into HA. For example, Broadlink makes a series of very small repeaters that you mount near your blower unit, where they can mimic your remote control. As far as I know it is only one-way communication, although in theory I imagine a repeater could read responses from the blower unit as well, just not sure how one would decode the responses. The only other item might be a current sensor to show you that your blower unit was on or off. I think this solution would do 90% of what the wireless integration would do, but at a fraction of the cost.

The same for me … hundreds of blocks like this one

Error processing parameter: 'iu_model' is not a valid ACParameter
Error processing parameter: 'iu_af_dir_hrz' is not a valid ACParameter
Error processing parameter: 'iu_af_swg_hrz' is not a valid ACParameter
Error processing parameter: 'iu_hmn_det_auto_save' is not a valid ACParameter
Error processing parameter: 'iu_min_heat' is not a valid ACParameter
Error processing parameter: 'iu_err_code' is not a valid ACParameter
Error processing parameter: 'iu_demand' is not a valid ACParameter
Error processing parameter: 'iu_fltr_sign_reset' is not a valid ACParameter

FWIW, I pulled the trigger on 5 UTY-TFSXJ3 from a shop in the EU (I’m in the US) and was able to get them in a little over a week for a good chunk less then most resellers were charging.

I personally wanted to avoid IR repeaters since I also want the telemetry from the device, in addition to the assurance that the device is doing what I think it’s doing.

Makes sense. Just out of curiosity what sort of telemetry does the WiFi module give you? For my purposes the only feedback I would need is to ask if each unit is on or off. Actually today I am installing energy monitor clamps on the power wires that will provide this info, because I keep forgetting to turn the units off when I am not at home. One piece of information I would be interested in, but I don’t currently have access to, is what is the temperature reading in each blower unit – how does it decide when to turn up or turn down the fans? Does the 5 UTY-TFSXJ3 provide this information?

You get an indoor temperature reading and other telemetry. It does not come with documentation for the behavior of the unit. You may be able to infer behavior from the various attributes though, I haven’t bothered though

OK, thanks for the information

So I’ve now twice some some strange behavior where it seems like my split/dongle gets into a weird state and things are being incorreclty reported. If I pull the USB adapter out and and replace it, things get unstuck, but this is obviously not ideal. I was hoping to find an API call to request a restart or something if it gets into this state, but I’m unable to find any sort of documentation for this device.

Here’s an example of a request while it’s in this state:

curl --no-progress-meter -X POST --data '{"device_id":"106838E4E679","device_sub_id":0,"req_id":"","modified_by":"","set_level":"03","list":["iu_set_tmp","iu_indoor_tmp","iu_outdoor_tmp","iu_onoff","iu_economy","iu_fan_ctrl","iu_powerful","ou_low_noise","iu_op_mode","iu_fan_spd","iu_af_swg_vrt","iu_onoff","iu_af_swg_vrt","iu_model"]}' 'http://192.168.86.76/GetParam' | jq . 
{
  "value": {
    "iu_set_tmp": "65535",
    "iu_indoor_tmp": "65535"
  },
  "read_res": "unknown",
  "device_id": "106838E4E679",
  "device_sub_id": 0,
  "req_id": "",
  "modified_by": "",
  "set_level": "03",
  "cause": "",
  "result": "OK",
  "error": ""
}

And after pulling and replacing the dongle, it’s this:

{
  "value": {
    "iu_set_tmp": "180",
    "iu_indoor_tmp": "6800",
    "iu_outdoor_tmp": "6000",
    "iu_onoff": "1",
    "iu_economy": "0",
    "iu_fan_ctrl": "1",
    "iu_powerful": "0",
    "ou_low_noise": "65535",
    "iu_op_mode": "4",
    "iu_fan_spd": "0",
    "iu_af_swg_vrt": "0"
  },
  "read_res": "ack",
  "device_id": "106838E4E679",
  "device_sub_id": 0,
  "req_id": "",
  "modified_by": "",
  "set_level": "03",
  "cause": "",
  "result": "OK",
  "error": ""
}

I have only set things up for local use (and was unable to set up FGLair to confirm app behavior) so unsure what mechanisms are available to course correct in this state.

Hello

I’ve read through all 216 posts.

Im in process of deciding if I buy Panasonic or Futitjsu

I know the Panasonic works with HA, but have a few question about fujitsu and home assistant.

fujitsu-18knta-5-2kw with an SET-UTY-NXT airstage dongle.

Has anyone tried this unit and is there any know issues with the HA integration… Things missing.

Also the cloud integration. So I under stand that’s been removed? So does that mean I can’t use there app?

Dear @danielkaldheim

thank you and all fo the contributors for the Airstage integration, it is amazing!

Could I suggest you to integrate the installation guide? Before home assistant integration I used only direct control and I was not able to configure Airstage. Then I understood firstly I needed to pair the air conditioner\heat pump with the same network where home assistant works and then it possible to configure the integration. I thought the integration was able to use the same network as the direct control

“Before adding new integration pair the air conditioner to the same network of the home assistant. Home assistant will not connect directly as Airstage direct control does”

I have a couple of questions about this integration.

Firstly, even though I have assigned a static IP address to the air conditioner, unfortunately it changes and the integration does not work. How do I change the IP address of the integration? Which settings file should I change?

I created an integration which turn on the air conditioner to heat the house in the morning. I would use the outdoor temperature as condition to switch it on or not, in particular if temperature is below 5 °C I would not switch it on to avoid frosting on the outdoor component. I think I should use this condition? Do I need to compile both above and\or below? In my case that I want to switch it on only up to 5 °C I think I need to compile in this way, it is correct?

I have created an integration where the air conditioning is switched on in the morning to heat up the house. I would use the outdoor temperature as a condition to switch it on or not, especially if the temperature is below 5°C I would not switch it on to avoid frost on the outdoor component. Should I use this condition? Do I need to compile both above and\or below? In my case that I want to switch it on only up to 5°C, I think I need to compile in this way, is it correct?

image

Can I modify the room setpoint in the automation?

Hi @giuliovialetto , may i ask how you set a fixed IP address as I don’t seem to get that option when linking the AC units to the network via the Airstage mobile app. When the ip is changed, the integration doesn’t work anymore. thnx!

And @danielkaldheim , thanks for the nice integration!