translator, wb_editors
4544
правки
Matveevrj (обсуждение | вклад) (Новая страница: «== Thermostat == An example of a simple thermostat from the [https://support.wirenboard.com/t/novaya-versiya-dvizhka-pravil/4196/158 topic on the support portal].») |
Matveevrj (обсуждение | вклад) (Новая страница: «Termostat("R01-TS16-1", "A60-M1W3/External Sensor 1", "Termostat/R01-TS16-1-setpoint", "wb-gpio/EXT4_R3A1", "Termostat/R01-TS16-1-onoff"); // Hallway underfloor heating») |
||
Строка 634: | Строка 634: | ||
},....... | },....... | ||
var hysteresis = 0.5; | var hysteresis = 0.5; | ||
function Termostat(name, temp, setpoint, TS, TS_onoff) { | function Termostat(name, temp, setpoint, TS, TS_onoff) { | ||
defineRule(name, { | defineRule(name, { | ||
whenChanged: temp, // | whenChanged: temp, //when the sensor state changes | ||
then: function (newValue, devName, cellName) { // | then: function (newValue, devName, cellName) { // do the following | ||
if (dev[TS_onoff]) { | if (dev[TS_onoff]) { | ||
if ( newValue < dev[setpoint] - hysteresis) { //if the sensor temperature is less than the setpoint - hysteresis | |||
dev[TS] = true; | |||
} | |||
if ( newValue > dev[setpoint] + hysteresis) { //if the sensor temperature is greater than the virtual setpoint + hysteresis | |||
dev[TS] = false; | |||
} | |||
} | } | ||
else dev[TS] = false; | else dev[TS] = false; | ||
Строка 652: | Строка 651: | ||
}); | }); | ||
} | } | ||
Termostat("R01-TS16-1", "A60-M1W3/External Sensor 1", "Termostat/R01-TS16-1-setpoint", "wb-gpio/EXT4_R3A1", "Termostat/R01-TS16-1-onoff"); // | |||
Termostat("R01-TS16-1", "A60-M1W3/External Sensor 1", "Termostat/R01-TS16-1-setpoint", "wb-gpio/EXT4_R3A1", "Termostat/R01-TS16-1-onoff"); // | Hallway underfloor heating | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == Sending commands via RS-485 == | ||
For example, send a command to the device on the port /dev/ttys0 (corresponds to the hardware port RS-485-ISO on the [[Special:MyLanguage/Wiren Board 4|Wiren Board 4]]). To do this, we will use the rules engine and the ability to execute arbitrary shell commands. See [https://github.com/contactless/wb-rules#%D0%94%D1%80%D1%83%D0%B3%D0%B8%D0%B5-%D0%BF%D1%80%D0%B5%D0%B4%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B5-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8-%D0%B8-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5 documentation] for details. | |||
<div lang="ru" dir="ltr" class="mw-content-ltr"> | <div lang="ru" dir="ltr" class="mw-content-ltr"> |