本文整理汇总了TypeScript中farmbot.Farmbot类的典型用法代码示例。如果您正苦于以下问题:TypeScript Farmbot类的具体用法?TypeScript Farmbot怎么用?TypeScript Farmbot使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Farmbot类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: fetchNewDevice
export function fetchNewDevice(auth: AuthState): Promise<Farmbot> {
device = new Farmbot({ token: auth.token.encoded, secure });
set(window, "current_bot", device);
return device
.connect()
.then(() => device || bail("No."), () => bail("NO CONNECT"));
}
示例2: return
return (dispatch: Function, getState: GetState) => {
let secure = location.protocol === "https:";
let bot = new Farmbot({ token, secure });
bot.on("online", () => dispatch(setMqttStatus(true)));
bot.on("offline", () => dispatch(setMqttStatus(false)));
return bot
.connect()
.then(() => {
devices.online = true;
devices.current = bot;
_.set(window, "current_bot", bot);
readStatus()
.then(() => bot.setUserEnv(
{ "LAST_CLIENT_CONNECTED": JSON.stringify(new Date()) }
))
.catch(() => { });
bot.on("logs", function (msg: Log) {
if (isLog(msg) && !oneOf(BAD_WORDS, msg.message.toUpperCase())) {
maybeShowLog(msg);
dispatch(init({
kind: "logs",
specialStatus: undefined,
uuid: "MUST_CHANGE",
body: msg
}));
} else {
throw new Error("Refusing to display log: " + JSON.stringify(msg));
}
});
bot.on("status", _.throttle(function (msg: BotStateTree) {
dispatch(incomingStatus(msg));
if (NEED_VERSION_CHECK) {
let IS_OK = versionOK(getState()
.bot
.hardware
.informational_settings
.controller_version, EXPECTED_MAJOR, EXPECTED_MINOR);
if (!IS_OK) { badVersion(); }
NEED_VERSION_CHECK = false;
}
}, 500));
let alreadyToldYou = false;
bot.on("malformed", function () {
if (!alreadyToldYou) {
warning(t(`FarmBot sent a malformed message. You may need to upgrade
FarmBot OS. Please upgrade FarmBot OS and log back in.`));
alreadyToldYou = true;
}
});
}, (err) => dispatch(fetchDeviceErr(err)));
};
示例3: startPinging
(bot: Farmbot, dispatch: Function, getState: GetState) => {
if (bot.client) {
startPinging(bot);
readStatus().then(changeLastClientConnected(bot), noop);
bot.on("online", onOnline);
bot.on("online", () => bot.readStatus().then(noop, noop));
bot.on("offline", onOffline);
bot.on("sent", onSent(bot.client));
bot.on("logs", onLogs(dispatch, getState));
bot.on("legacy_status", onLegacyStatus(dispatch, getState));
bot.on("status_v8", onStatus(dispatch, getState));
bot.on("malformed", onMalformed);
bot.client.subscribe(BROADCAST_CHANNEL);
bot.on(BROADCAST_CHANNEL, onPublicBroadcast);
bot.client.on("message", autoSync(dispatch, getState));
bot.client.on("reconnect", onReconnect);
}
};
示例4: Date
export const changeLastClientConnected = (bot: Farmbot) => () => {
bot.setUserEnv({
"LAST_CLIENT_CONNECTED": JSON.stringify(new Date())
}).catch(() => { }); // This is internal stuff, don't alert user.
};
示例5: Error
.then(() => {
devices.online = true;
devices.current = bot;
_.set(window, "current_bot", bot);
readStatus()
.then(() => bot.setUserEnv(
{ "LAST_CLIENT_CONNECTED": JSON.stringify(new Date()) }
))
.catch(() => { });
bot.on("logs", function (msg: Log) {
if (isLog(msg) && !oneOf(BAD_WORDS, msg.message.toUpperCase())) {
maybeShowLog(msg);
dispatch(init({ kind: "logs", uuid: "MUST_CHANGE", body: msg }));
} else {
throw new Error("Refusing to display log: " + JSON.stringify(msg));
}
});
bot.on("status", function (msg: BotStateTree) {
dispatch(incomingStatus(msg));
if (NEED_VERSION_CHECK) {
let IS_OK = versionOK(getState()
.bot
.hardware
.informational_settings
.controller_version, 4, 0);
if (!IS_OK) { badVersion(); }
NEED_VERSION_CHECK = false;
}
});
let alreadyToldYou = false;
bot.on("malformed", function () {
if (!alreadyToldYou) {
warning(t(`FarmBot sent a malformed message. You may need to upgrade
FarmBot OS. Please upgrade FarmBot OS and log back in.`));
alreadyToldYou = true;
}
});
}, (err) => dispatch(fetchDeviceErr(err)));
示例6: Date
.then(() => bot.setUserEnv(
{ "LAST_CLIENT_CONNECTED": JSON.stringify(new Date()) }
))