Methods
(async) getAlarms() → {Promise.<module:AICU~Alarms>}
Retrieve the current alarms.
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const padTime = time => '00'.slice(String(time).length) + String(time);
const getAlarms = async() => {
await agent.onReadyAsync();
const alarms = await agent.getAlarms();
for (const [day, value] of Object.entries(alarms)) {
const {on, off} = value;
console.log(day);
console.log(`Device turns on at ${padTime(on.hour)}:${padTime(on.minute)}`);
console.log(`Device turns off at ${padTime(off.hour)}:${padTime(off.minute)}`);
}
};
getAlarms();
(async) getData() → {Promise.<Array.<String>>}
Get the AICU Customer Data
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const getData = async() => {
await agent.onReadyAsync();
const data = await agent.AICU.getData();
console.log('AICU Data');
for (const [index, row] of data.entries()) {
console.log(index, row);
}
};
getData();
(async) getEdid(port, emulatedopt) → {Promise}
Get the EDID from the specified display
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
port |
Number |
The HDMI port |
||
emulated |
boolean |
<optional> |
false |
Whether or not to get the EDID that is stored in the emulator. |
(async) getEmulator(port) → {Promise.<module:AICU~EmulatorState>}
Get the emulator state.
Parameters:
Name | Type | Description |
---|---|---|
port |
Number |
The HDMI port to query the emulator state of. |
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const PORT = 1;
const getEmulator = async() => {
await agent.onReadyAsync();
const emState = await agent.AICU.getEmulator(PORT);
if (emState.ok && emState.emulating) {
console.log('Emulator Enabled');
} else {
console.log('Failed to set Emulator state to enabled')
}
};
getEmulator();
(async) getFirmwareVersion() → {Promise.<module:AICU~FirmwareVersion>}
Get the firmware version of the AICU and the version of the AICU.
Returns a promise that resolves to the Firmware version
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const getFirmwareVersion = async() => {
await agent.onReadyAsync();
const result = await agent.AICU.getFirmwareVersion();
const {aicuFirmwareVersion, aicuVersion}
console.log(`The firmware version is: ${aicuFirmwareVersion}`);
console.log(`The AICU version is: ${aicuVersion}`);
};
getFirmwareVersion();
(async) getHDMIPortStatus(port) → {Promise.<module:AICU~HDMIStatus>}
Check the status of the cable connected to a HDMI port
Parameters:
Name | Type | Description |
---|---|---|
port |
Number |
The HDMI port to check either 1 or 2 |
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const PORT = 1;
const getHDMIStatus = async() => {
await agent.onReadyAsync();
const status = await agent.AICU.getHDMIPortStatus(PORT);
if (status.connected) {
console.log('The HDMI cable is connected')
} else {
console.log(status.description);
}
};
getHDMIStatus();
(async) getMCUDateTime() → {Promise.<String>}
Retrieve the current date and time as recorded by the Microcontroller Unit (MCU)
Returns a promise that resolves to the current date time
Format: YY/mm/dd/dow HH:MM:SS
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const getMCUDateTime = async() => {
await agent.onReadyAsync();
const dateTime = await agent.AICU.getMCUDateTime();
// Prints: "The date & time is: 18/09/21/05 23:30:40"
console.log(`The date & time is: ${dateTime}`);
};
getMCUDateTime();
(async) getRTCRAM() → {Promise}
Get the RTC RAM
(async) powerOff() → {Promise}
Power Off the device.
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const powerOff = async() => {
await agent.onReadyAsync();
await agent.AICU.powerOff();
};
powerOff();
(async) powerOffForce() → {Promise}
Power off the device forcefully.
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const powerOffForce = async() => {
await agent.onReadyAsync();
await agent.AICU.powerOffForce();
};
powerOffForce();
(async) powerOn() → {Promise}
Power On the device.
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const powerOn = async() => {
await agent.onReadyAsync();
await agent.AICU.powerOn();
};
powerOn();
(async) reboot() → {Promise}
Reboot the device.
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const reboot = async() => {
await agent.onReadyAsync();
await agent.AICU.reboot();
};
reboot();
(async) sendKey() → {Promise}
(async) setAlarms(alarms) → {Promise.<module:AICU~Result>}
Set the alarms for device on time and device off time. per day of week.
Parameters:
Name | Type | Description |
---|---|---|
alarms |
Alarms |
The alarms to set |
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const setAlarms = async() => {
await agent.onReadyAsync();
const alarms = await agent.getAlarms();
// We are going to set the on and off time on Monday
alarms.monday.on = {hour: 9, minute: 0};
alarms.monday.off = {hour: 21, minute: 30};
const result = await agent.setAlarms(alarms);
if (result.ok) {
console.log('The alarms have been set');
} else {
console.log(`An error occured: ${result.error}`);
}
};
setAlarms();
(async) setChannel() → {Promise}
(async) setData(data) → {Promise}
Save data to the AICU customer data store (UP to 4KB of data)
Parameters:
Name | Type | Description |
---|---|---|
data |
string |
The data to save. |
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const DATA = 'Hello World';
const setData = async() => {
await agent.onReadyAsync();
await agent.AICU.setData(DATA);
};
setData();
(async) setDebug(level) → {Promise}
Enable debug logs
Parameters:
Name | Type | Description |
---|---|---|
level |
DebugLevel |
The debug level |
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const DEBUG_LEVEL = 1;
const enableLogging = async() => {
await agent.onReadyAsync();
agent.AICU.onDebug(msg => console.log(`Debug: ${msg}`));
await agent.AICU.setDebug(DEBUG_LEVEL);
};
enableLogging();
(async) setEdid() → {Promise}
(async) setEEPROMChannel(channel) → {Promise}
Set the EEPROM channel.
Parameters:
Name | Type | Description |
---|---|---|
channel |
EEPROMChannel |
The channel to set |
(async) setEmulator(port, direction) → {Promise.<null>}
Set the emulator state.
Parameters:
Name | Type | Description |
---|---|---|
port |
Number |
The HDMI port to apply this setting to. |
direction |
boolean |
When true to Emulator, when false to Display |
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const PORT = 1;
const STATE = true; // Enabled
const setEmulator = async() => {
await agent.onReadyAsync();
await agent.AICU.setEmulator(PORT, STATE);
const emState = await agent.AICU.getEmulator(PORT);
if (emState.ok && emState.emulating) {
console.log('Emulator Enabled');
} else {
console.log('Failed to set Emulator state to enabled')
}
};
setEmulator();
(async) setMCUDateTime(dateTime) → {Promise.<module:AICU~Result>}
Set the current time on the MCU.
Parameters:
Name | Type | Description |
---|---|---|
dateTime |
number |
The time to set in unix epoch time. |
Example
import Agent from '@meldcx/agent';
const agent = new Agent();
const setDateTime = async(time) => {
await agent.onReadyAsync();
const result = await agent.AICU.setMCUDateTime(time);
if (result.ok) {
console.log('The time has been set');
} else {
console.log(`An error occured: ${result.error}`);
}
};
setDatetime(Date.now());