UNPKG

nature-remo

Version:
2 lines (1 loc) 3.9 kB
var h=Object.create;var r=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var _=(n,e)=>{for(var t in e)r(n,t,{get:e[t],enumerable:!0})},c=(n,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of y(e))!b.call(n,i)&&i!==t&&r(n,i,{get:()=>e[i],enumerable:!(s=f(e,i))||s.enumerable});return n};var g=(n,e,t)=>(t=n!=null?h(A(n)):{},c(e||!n||!n.__esModule?r(t,"default",{value:n,enumerable:!0}):t,n)),w=n=>c(r({},"__esModule",{value:!0}),n);var x={};_(x,{Cloud:()=>o,Local:()=>p});module.exports=w(x);var l=g(require("axios")),m=require("querystring"),o=class{constructor(e){this.token=e,this.instance=l.default.create({baseURL:"https://api.nature.global",headers:{Authorization:`Bearer ${this.token}`,"Content-Type":"application/x-www-form-urlencoded; charset=utf-8"},timeout:5e3})}async getUser(){return await this._get("/1/users/me")}async updateUser(e){return await this._post("/1/users/me",{nickname:e})}async getDevices(){return await this._get("/1/devices")}async detectAppliance(e){return await this._post("/1/users/me",{message:JSON.stringify(e)})}async getSensorValue(){var t,s;let e=await this.getDevices();return{humidity:(t=e[0].newest_events.hu)==null?void 0:t.val,illumination:(s=e[0].newest_events.il)==null?void 0:s.val,temperature:e[0].newest_events.te.val}}async getAppliances(e){let t=await this._get("/1/appliances");return e?t.filter(s=>s.type===e):t}async createAppliance(e,t,s,i){return await this._post("/1/appliances",{device:t,image:s,model:i,nickname:e})}async updateAppliancesOrder(e){return await this._post("/1/appliance_orders",{appliances:e.join(",")})}async deleteAppliance(e){return await this._post(`/1/appliances/${e}/delete`)}async updateAppliance(e,t,s){return await this._post(`/1/appliances/${e}`,{image:s,nickname:t})}async listAircon(){return await this.getAppliances("AC")}async updateAirconSettings(e,t){return await this._post(`/1/appliances/${e}/aircon_settings`,t)}async listTV(){return await this.getAppliances("TV")}async updateTV(e,t){return await this._post(`/1/appliances/${e}/tv`,{button:t})}async listLight(){return await this.getAppliances("LIGHT")}async updateLight(e,t){return this._post(`/1/appliances/${e}/light`,{button:t})}async getApplianceSignals(e){return await this._get(`/1/appliances/${e}/signals`)}async createApplianceSignal(e,t,s,i){return await this._post(`/1/appliances/${e}/signals`,{appliance:e,image:i,message:JSON.stringify(s),name:t})}async updateSignalOrders(e,t){return await this._post(`/1/appliances/${e}/signal_orders`,{signals:t.join(",")})}async updateSignal(e,t,s){return await this._post(`/1/signals/${e}`,{image:s,name:t})}async deleteSignal(e){return await this._post(`/1/signals/${e}/delete`)}async sendSignal(e){return await this._post(`/1/signals/${e}/send`)}async updateDevice(e,t){return await this._post(`/1/devices/${e}`,{name:t})}async deleteDevice(e){return await this._post(`/1/devices/${e}/delete`)}async updateTemperatureOffset(e,t){return await this._post(`/1/devices/${e}/temperature_offset`,{offset:t})}async updateHumidityOffset(e,t){return await this._post(`/1/devices/${e}/humidity_offset`,{offset:t})}async _post(e,t){try{return(await this.instance.post(e,(0,m.stringify)(t))).data}catch(s){let i=s.response;throw i?new Error(`${i.statusText} (${i.status})`):s}}async _get(e){try{return(await this.instance.get(e)).data}catch(t){let s=t.response;throw s?new Error(`${s.statusText} (${s.status})`):t}}};var u=g(require("axios")),p=class{constructor(e){this.instance=u.default.create({baseURL:e,headers:{"Content-Type":"application/x-www-form-urlencoded; charset=utf-8"},timeout:5e3})}async fetchReceivedSignal(){return(await this.instance.get("/messages")).data}async sendSignal(e){return(await this.instance.post("/messages",e)).data}};0&&(module.exports={Cloud,Local});