28 lines
956 B
JavaScript
28 lines
956 B
JavaScript
|
const HomeAssistant = require('homeassistant');
|
||
|
|
||
|
const hass = new HomeAssistant({
|
||
|
host: 'http://192.168.4.5',
|
||
|
port: 8123,
|
||
|
token: process.env.homeAssistantKey,
|
||
|
ignoreCert: false
|
||
|
});
|
||
|
|
||
|
const lcd = require('../libs/lcd')
|
||
|
const logger = require('perfect-logger');
|
||
|
|
||
|
module.exports = {
|
||
|
|
||
|
getStatus: async () => {
|
||
|
logger.info('Printer Request request')
|
||
|
let jobPercentage = await hass.states.get('sensor', 'octoprint_job_percentage')
|
||
|
let timeRemaining = await hass.states.get('sensor', 'octoprint_time_remaining')
|
||
|
let currentState = await hass.states.get('sensor', 'octoprint_current_state')
|
||
|
|
||
|
let octoData = {
|
||
|
"currentState": currentState.state,
|
||
|
"jobPercentage": jobPercentage.state + jobPercentage.attributes.unit_of_measurement,
|
||
|
"timeRemaining": new Date(timeRemaining.state * 1000).toISOString().substr(11, 8),
|
||
|
}
|
||
|
lcd.hassOcto(octoData)
|
||
|
}
|
||
|
}
|