Logic Machine Forum
integrated with Tuya IOT Products - Printable Version

+- Logic Machine Forum (https://forum.logicmachine.net)
+-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1)
+--- Forum: Gateway (https://forum.logicmachine.net/forumdisplay.php?fid=10)
+--- Thread: integrated with Tuya IOT Products (/showthread.php?tid=3227)



integrated with Tuya IOT Products - khalil - 16.03.2021

hello 
How could we connect IoT Products which compatible with the Tuya app with OUR LM, SL, HL?
is it possible and How.

regards.


RE: integrated with Tuya IOT Products - JRP - 17.03.2021

Hello.
If Tuya devices are based on ESP8266 or ESP8285, you can install Tasmota firmware (https://tasmota.github.io/docs/) to use mqtt. You also need:
    A mqtt broker, for example mosquitto, running on a PC or a raspberry or similar.
    If you want to use the logic machine itself as a broker, here is an example https://forum.logicmachine.net/showthread.php?tid=2505.
An mqtt client, in this case Logic machine with a Lua script, here is an example of when I asked in the forum how to do it https://forum.logicmachine.net/showthread.php?tid=2649.

I hope you find it useful.
P.S. Be careful that some Tuya devices lately come with realtek wifi and not ESP.


RE: integrated with Tuya IOT Products - khalil - 18.03.2021

(17.03.2021, 10:17)JRP Wrote: Hello.
If Tuya devices are based on ESP8266 or ESP8285, you can install Tasmota firmware (https://tasmota.github.io/docs/) to use mqtt. You also need:
    A mqtt broker, for example mosquitto, running on a PC or a raspberry or similar.
    If you want to use the logic machine itself as a broker, here is an example https://forum.logicmachine.net/showthread.php?tid=2505.
An mqtt client, in this case Logic machine with a Lua script, here is an example of when I asked in the forum how to do it https://forum.logicmachine.net/showthread.php?tid=2649.

I hope you find it useful.
P.S. Be careful that some Tuya devices lately come with realtek wifi and not ESP.

Thank You JRP 
Appreciate your reply.


RE: integrated with Tuya IOT Products - khalil - 21.03.2021

they are support API but I don't know if it's compatible with LM
Could admin verify if it's possible or not to integrate Tuya via API in LM

Please see these links: 
https://github.com/codetheweb/tuyapi
https://developer.tuya.com/en/docs/iot/panel-development/panel-sdk-development/common-sdk-development/common-app-sdk?id=K9m1dldk26u64


RE: integrated with Tuya IOT Products - admin - 21.03.2021

MQTT integration is the easiest solution by far


RE: integrated with Tuya IOT Products - Ozturker - 20.10.2024

Hello
I am trying to reach to my TUYA developer account via API.
Same API GET code easily accesses from Postman but when I try from logic machine I am receiving a time error.

Normally this happens when logic machine has wrong time and date but it seems the NTP and all settings fine.

Could you please give some guidance?

Best

Turker


* table:
["t"]
* number: 1729423258660
["msg"]
* string: request time is invalid
["code"]
* number: 1013
["success"]
* bool: false
["tid"]
* string: 617cb0ab8ed511efb25f867693c53a33


RE: integrated with Tuya IOT Products - admin - 21.10.2024

Check that your LM has correct timezone set. Post your script code.


RE: integrated with Tuya IOT Products - Ozturker - 21.10.2024

Thanks for quick answer. Time Zone is Europe/Madrid. Here is the code

https = require('ssl.https')
json = require('json')
ltn12 = require('ltn12')

token = '***********************'
--tuya



tbl = {}
res, code = https.request({
url = 'https://openapi.tuyaeu.com/v1.0/devices/***8dc756f81122a3al***/status',
method = 'GET',
headers = {
['authorization'] = 'Bearer ' .. token,
['content-type'] = 'application/json',
},
sink = ltn12.sink.table(tbl),
})


log(os.date('%c'))

if res and code == 200 then
resp = table.concat(tbl)
resp = json.pdecode(resp)

log(resp)
else
log(res, code)
end


RE: integrated with Tuya IOT Products - admin - 21.10.2024

I don't see any timestamp being passed to the request in your code. Do you have documentation on how the API calls should be made?


RE: integrated with Tuya IOT Products - Ozturker - 21.10.2024

Yes here is the API guide

https://developer.tuya.com/en/docs/iot/api-request?id=Ka4a8uuo1j4t4


RE: integrated with Tuya IOT Products - Ozturker - 25.10.2024

Hello

I think after your guidance I have progressed on the time. Now the issue is I need to sign the GET code with HMAC-SHA256

How can we add a "crypto" library so this code can work:

local sign = crypto.hmac("sha256", str, secret):upper()

Thank you


RE: integrated with Tuya IOT Products - admin - 25.10.2024

Use this:
Code:
require('encdec')
sig = encdec.hmacsha256(ciphertext, hmac_key):upper()



RE: integrated with Tuya IOT Products - Ozturker - 25.10.2024

Thank you.

it worked but I think the ciphertext is not correct --> Here is the response string: {"code":1004,"msg":"sign invalid","success":false,"t

local ciphertext = client_id .. access_token .. t .. nonce .. identifier .. stringToSign

What is the identifer for Wiser?
identifier: The custom signature content for app authorization. When the authorization type is Android, you need to concatenate SHA1 and Application ID to form an identifier without a separator. For other types, you can directly use the customized Bundle Identifier.