[APP][Pro] Tuya Local

Hello,

I have a ceiling fan with a light that I’ve successfully integrated using Tuya Local. Unfortunately, I cannot create a flow to switch the light on and off; these parameters are not available.

The following specifications are available:

Ceiling Fan With Light
DP 1 switch Boolean true {}
DP 2 mode Enum normal normal, sleep, nature
DP 3 fan_speed Enum 4 1, 2, 3, 4, 5, 6
DP 8 fan_direction Enum forward forward, reverse
DP 15 light Boolean false {}
DP 16 bright_value Integer 100 0–100 step 1
DP 17 temp_value Integer 60 0–100 step 1
DP 22 countdown_set Enum off cancel, 1h, 2h, 4h, 8h

So, it should be DP 15, but there is no value.

How can this be fixed?

Thanks in advance for any help.

Regards, Micha

Hello Micha

Two things — both quick.

The DPs aren’t filled in. Auto-detection only runs during pairing, so a fan added before light support existed has those fields empty. Open the device → Settings → Light (optional) and set:

Light On/Off DP → 15
Light Brightness DP → 16
Light Color Temp DP → 17
Save; the light controls appear immediately. Tick Invert Color Temp if warm and cold end up swapped.

The flow cards are elsewhere. The light is a secondary on/off, and Homey only auto-generates cards for a device’s primary one. Use the app’s own instead: THEN → Turn light on/off, THEN → Set light brightness, AND → Light is on.

Make sure to use the TEST version: Tuya Local | Homey

Andi

Hi Andi,

Thanks for your feedback.
The THEN → Turn light on/off option isn’t available. That’s the problem, after all.

:confused:

I uninstalled and reinstalled the app. Now the option with the light is showing up. That’s strange :thinking:

Hi Michael - That mean’s the action card is available now?

Andi

Hello, I’m trying again with my extractor fan, which also measures humidity and temperature. I can connect it correctly, but it doesn’t respond to any commands. I checked via Network Analyzer and 1 out of 2 ports is OK. Do I need both? What else could I check? I’ll admit that the settings inside the Homey device aren’t very clear to me.

In Tuya, it’s identified as a fan controller—could that be making a difference? Thanks in advance for any tips :slightly_smiling_face:

Did you try to change the tuya protocol versions?

Not all of them, when I tried it on another one, it said “not connected”. I’ll try them all tonight when I get home. Thanks

I just tried to change protocol, it’s not better I’m afraid. It’s this one, maybe the parameters are wrong in my configuration (10 levels only)

A lot of zero’s → disabled values…

Could you please send me a complete DP table from the app settings (Cloud Lookup → Fetch Devices → Click on device → Copy DP table)?

Here’s :

Name: aérateur garage

ID:

Local Key:

Product: Fan Controller

Category: xfj

UUID:

You may want to remove the device ID and (private) local key from your post.

After fetching the devices you have to click your device and then click Copy DP Table.

aérateur garage

DP 1 switch Boolean true {}

DP 2 mode Enum ON ON, OFF, TIMER, AUTO, ALARM

DP 8 humidity_indoor value 55 0–255 step 1 %

DP 9 temp_indoor value 79 -40–255 step 1 °F

DP 101 BKLED Integer 4 0–4 step 1

DP 102 FAN_SET Integer 5 0–10 step 1

DP 103 New_Fan value 5 0–10 step 1

DP 104 time Integer 0 0–36000 step 1 s

DP 105 alarm enum 0 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16

DP 106 AUTO_HIGH_TEMP Integer 90 32–194 step 1 °F

DP 107 AUTO_HIGH_HUMID Integer 68 0–100 step 1 %

DP 108 AUTO_LOW_TEMP Integer 61 32–194 step 1 °F

DP 109 AUTO_LOW_HUMID Integer 50 0–100 step 1 %

DP 110 ALARM_HIGH_TEMP Integer 109 32–194 step 1 °F

DP 111 ALARM_HIGH_HUMID Integer 90 0–100 step 1 %

DP 112 ALARM_LOW_TEMP Integer 39 32–194 step 1 °F

DP 113 ALARM_LOW_HUMID Integer 40 0–100 step 1 %

DP 114 lock Enum 0 0, 1

DP 115 unit Enum 0 0, 1

DP 116 high_temp_on_off Enum 1 0, 1

DP 117 high_huid_on_off Enum 1 0, 1

DP 118 low_temp_on_off Enum 1 0, 1

DP 119 low_huid_on_off Enum 1 0, 1

DP 120 alarm_hight_on_off Enum 1 0, 1

DP 121 alarm_huid_on_off Enum 1 0, 1

DP 122 alarm_lowt_on_off Enum 1 0, 1

DP 123 alarm_lowhu_on_off Enum 1 0, 1

DP 124 temp_revise Integer 2 0–108 step 1 °F

DP 125 huid_revise Integer 2 0–108 step 1 %

DP 126 aoto_trigger_data enum 0 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16

Thank you, too fast to copy :+1:

Thanks for the full DP Table. Use the Generic Tuya Device driver rather than the Fan driver — I ran your data points through the Fan driver’s auto-detection and it mismaps them.

pair the unit only once. Tuya firmware accepts a single local connection, so adding it twice makes the two entries fight over that one slot.

Add it as Generic Tuya Device, paste this into DP Mapping (JSON) in the advanced settings, then restart the app:

[
  {"dp":1,"cap":"onoff","label":"Ventilator","settable":true},
  {"dp":2,"cap":"generic_picker_1","label":"Mode","settable":true,"options":"ON,OFF,TIMER,AUTO,ALARM"},
  {"dp":8,"cap":"measure_humidity","label":"Humidity","settable":false,"scale":1},
  {"dp":9,"cap":"measure_temperature","label":"Temperature","settable":false,"scale":1},
  {"dp":102,"cap":"generic_number_1","label":"Fan speed","settable":true,"min":0,"max":10,"step":1},
  {"dp":103,"cap":"generic_sensor_1","label":"Fan speed (actual)","settable":false},
  {"dp":104,"cap":"generic_number_2","label":"Timer","settable":true,"min":0,"max":36000,"step":60,"unit":"s"},
  {"dp":101,"cap":"generic_picker_2","label":"Backlight","settable":true,"options":"0,1,2,3,4"},
  {"dp":105,"cap":"generic_picker_3","label":"Alarm code","settable":false,"options":"0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16"},
  {"dp":114,"cap":"generic_switch_1","label":"Panel lock","settable":true,"readMap":{"0":false,"1":true},"writeMap":{"false":"0","true":"1"}},
  {"dp":116,"cap":"generic_switch_2","label":"High-temp alarm","settable":true,"readMap":{"0":false,"1":true},"writeMap":{"false":"0","true":"1"}},
  {"dp":117,"cap":"generic_switch_3","label":"High-humidity alarm","settable":true,"readMap":{"0":false,"1":true},"writeMap":{"false":"0","true":"1"}},
  {"dp":115,"cap":"generic_switch_4","label":"Unit is Celsius","settable":true,"readMap":{"0":false,"1":true},"writeMap":{"false":"0","true":"1"}}
]

The eight thresholds (DP 106–113) and the remaining alarm toggles (DP 118–123) don’t fit — the driver has two numeric sliders and four switches and this uses them all. Those are set-once values, so I’d configure them in the Tuya app.

Let me know if it works

I had no idea what I was doing, I just followed blindly, and my God, it works!! You’re the Copperfield of Homey (or the Gandalf, depending on your references)—it feels that magical :smiling_face_with_sunglasses: A thousand thanks for taking the time and for your patience with a beginner like me!

Hello, I’d like to integrate this device locally:

I’ve already tried using it as a doorbell and also as a generic device. Unfortunately, without success.

I have already tried monitoring these values, but there is no change:

I get notified of the ringing via the cloud, but a local solution would be much nicer.

I am very grateful for help.

Could you please provide the full DP table?


@SunBeech Thank you for the screenshot :slight_smile:

I suspect it simply sends a ‘1’ on DP10, but that value doesn’t change, so I can’t query it.

Türklingel
DP 1 doorbell_list_data raw BAQBDAheAP8WAFQA/AByAGsAbABpAG4AZwBlACAAMQ==
DP 2 doorbell_ring_value Integer 8 0–32 step 1
DP 3 doorbell_volume_value Integer 94 0–100 step 1
DP 4 switch_night_light Boolean false {}
DP 5 alarm_message raw AFQA/AByAGsAbABpAG4AZwBlACAAMQ==
DP 6 alarm_propel_switch Boolean true {}
DP 7 disturb_time_set raw PMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD/zzDPMP/PMM8w/88wzzD
DP 10 doorbell_call value 1 1–8 step 1

Hi Simon

Is the Control Instruction mode set to DP instruction?

i got the message cloud api subscription is not valid Do i need to renew?

And if i fill in this fields once So no api substription is requred