with Odoo and Bolt IoT?
import xmlrpc from 'xmlrpc';
export default defineComponent({
props: {
odoo: {
type: "app",
app: "odoo",
}
},
async run({ steps, $ }) {
const url = this.odoo.$auth.server_url;
const db = this.odoo.$auth.db;
const username = this.odoo.$auth.username;
const password = this.odoo.$auth.password;
// Create clients for common and object endpoints
const common = xmlrpc.createSecureClient(`${url}/xmlrpc/2/common`);
const models = xmlrpc.createSecureClient(`${url}/xmlrpc/2/object`);
// Using async/await with promises
async function getFields() {
try {
// Authenticate and get uid
const uid = await new Promise((resolve, reject) => {
common.methodCall('authenticate', [db, username, password, {}], (error, value) => {
if (error) reject(error);
resolve(value);
});
});
// Get fields
const results = await new Promise((resolve, reject) => {
models.methodCall('execute_kw', [
db,
uid,
password,
'res.partner',
'fields_get',
[],
{ 'attributes': ['string', 'help', 'type'] }
], (error, value) => {
if (error) reject(error);
resolve(value);
});
});
return results;
} catch (error) {
throw new Error(error);
}
}
return await getFields();
},
})
The Bolt IoT API lets you harness the power of your Bolt IoT devices, enabling you to control and monitor them remotely through Pipedream. With Pipedream's serverless platform, you can create automated workflows that trigger on specific events, process data, and integrate with countless other services. Whether you're aiming to automate your smart home, set up alerts, or manage device data, Pipedream makes it straightforward to connect Bolt IoT with a world of apps and services for a seamless automation experience.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
bolt_iot: {
type: "app",
app: "bolt_iot",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://cloud.boltiot.com/remote/${this.bolt_iot.$auth.api_key}/getDevices`,
})
},
})