Lets control the MegaD-328 over ethernet.
node iobroker.js add megad
The device has 14 ports, 0-7 inputs and 8-13 outputs.
To read the state of the port call
http://mega_ip/sec/?pt=4&cmd=get
, where sec is password (max 3 chars), 4 is port number
The result will come as "ON", "OFF" or analog value for analog ports
To set the state call:
http://mega_ip/sec/?cmd=2:1
, where sec is password (max 3 chars), 2 is port number, and 1 is the value
For digital ports only 0, 1 and 2 (toggle) are allowed, for analog ports the values from 0 to 255 are allowed
The device can report the changes of ports to some web server in form
http://ioBroker:80/?pt=6
, where 6 is the port number
MegaD-328 cannot report on other port than 80.
- IP: IP address of MegaD-328;
- MegaD-328 Name: Name of the MegaD-328 to assign the port changes, e.g. "DevA". If no name set the adapter instance will be used for that;
- Port: Listening port on ioBroker. MegaD-328 cannot send to ports other than 80. Default value: 80.
- Poll interval: poll interval in seconds. All configured input ports will be polled in defined interval;
- Password: password to access the device (max 3 characters). Default value "sec";
MegaD-328 can report about changes on some ports if configured. You can configure something like that "http://ioBrokerIP/instance" on MegaD-328 in "Net"-Field and MegaD-328 will send reports like this one "http://ioBrokerIP/instance/?pt=7" to ioBroker. That means the button on port 7 was pressed. ioBroker expects instance number (e.g. "0") or defined name of MegaD-328 (e.g. "DevA"). The "Net" field will look like: "http://192.168.0.8/0/".
All ports, that are desired to be used must be configured in right order. Following settings must be set for every port:
- Name: name of the port. Used by ioBroker;
- Input: Is the port INPUT(true) or output(false);
- Switch: Is the port can be ON or OFF (in this case value = TRUE) or just used to send the reports about button press (FALSE);
- Digital: Analog or digital port. ioBroker expects analog ports with range from 0 to 255.
- Offset: offset for the analog port.
- Factor: multiply factor for anaolog port.
- Long press: detect long press on digital port (port have to be SWITCH type)
- Double click ms: interval for detection of double click
For input:
ioBrokerValue = MegaValue * factor + offset;
For output:
MegaValue = (ioBrokerValue - offset) / factor;
To get the range of the analog value from 100 to 500 set the factor as 400 and offset = 100.
The order of the ports is very important. The port in first row will be associated with P0 in MegaD-328. In row number 14 with P13.
Подробную документацию можно найти здесь: http://www.ab-log.ru/smart-house/ethernet/MegaD-328
- IP Адрес устройства: IP адрес MegaD-328;
- MegaD Имя: Имя MegaD-328 устройства для идентификации сообщений о смене состояния порта от MegaD-328, например "DevA". Если имя не задано, то для этих целей будет использоватся номер инстанции драйвера.;
- ioBroker веб-порт: Порт на котором ioBroker разворачивает веб сервер для приёма сообщений от MegaD-328. MegaD-328 не поддерживает на данный момент порты отличные от 80. Значение по умолчанию: 80.
- Интервал опроса (сек): инетрвал опроса портов в секундах;
- MegaD-328 Пароль: пароль для доступа на MegaD-328 (максимально 3 символа). Значение по умолчанию: "sec";
- Интервал для длинного нажатия (мс): если отжатие после нажатия кнопки произошло позже указанного интервала, то сгенерируется длинное нажатие;
- Интервал двойного нажатия (мс): если между нажатиями пройдет меньше указанного времени, то сгенерируется двойное нажатие;
В сетевых настройках MegaD-328 можно сконфигуририровать IP-адрес ioBroker. При каждом нажатии на кнопку MegaD-328 сообщает ioBroker (restAPI) номер сработавшего входа.
Выглядит запрос примерно следующим образом: ´´´http://192.168.0.250/0/?pt=7´´´
Необходимо сконфигурироваь все порты, которые должны быть видимы в ioBorker. Для каждого порта необходимо настроить следующее:
- Имя: имя порта. Исползуется в ioBroker для создание объектов;
- Вход: является ли порт входом (true) или выходом(false);
- Переключатель: Может ли порт быть в положениях ВКЛ и ВЫКЛ (в этом случае значение TRUE) или он просто используется для сигнализирования нажатия на кнопку (FALSE);
- Цифровой: Цифровой или аналоговый порт. ioBroker ожидает значени с аналогового порта в промежутке от 0 до 255.
- Множитель: множитель для значения аналогового порта.
- Сдвиг: сдвиг для значения аналогового порта.
- Длинное нажатие: если активировано, то порт будет генерировать событие "длинное нажатие" в объекте port_long (Порт должен быть цифровым и иметь тип "Переключатель")
- Двойное нажатие: если активировано, то порт будет генерировать событие "double click" в объекте port_double
Для выхода:
MegaЗначение = (ioBrokerЗначение - Сдвиг) / Множитель;
Для входа:
ioBrokerЗначение = MegaЗначение * Множитель + Сдвиг;
Например, что бы получить интервал значений от 100 до 500 нужно установить сдиг 100 и множитель 400.
Только аналоговые порты принимают во внимание Множитель и Сдвиг.
Порядок портов очень важен. Порт в первой колонке таблицы ассоциируется с портом P0 на MegaD-328. Порт в колонке 14 с P13.
- (ausHaus) Removed support DHT11 sensors
- (ausHaus) Added hysteresis function (ADC ports and DS18B20 sensors)
- (ausHaus) Deleted team tget (request for internal temperature sensor value) is not yet done
- (ausHaus) Added the ability to Smooth to control smooth speed PWM control.
- (bluefox) extend digital temperature sensor with new type
- (bluefox) add info.connection state
- (bluefox) fix error if more ports in megad than configured
- (bluefox) make counters writeable
- (bluefox) add counter for digital inputs
- (bluefox) fix the internal temperature sensor monitor
- (bluefox) fix short press
- (bluefox) fix small errors
- (bluefox) fix errors after optimization
- (bluefox) if 1wire sensor not connected, NA value will be received
- (bluefox) fix using of more than one megad
- (bluefox) support of iButton
- (bluefox) Fix small error with 1-Wire and threshold mode
- (bluefox) fix discover function
- (bluefox) add link to admin (only with admin version >= 0.5.14)
- (bluefox) use misc flag
- (bluefox) enable pwm only for ports 10,12,13
- (bluefox) disable action for DHT11/22
- (bluefox) fix discover function
- (bluefox) generate true and false for simple clicks
- (bluefox) disable discover button if adapter disabled
- (bluefox) fix discover function
- (bluefox) write for inputs misc=1 and add de-bounce parameter
- (bluefox) return "OK" and not "OK->" to other than 0 instances
- (bluefox) change server script from "/0/" to "0/"
- (bluefox) fix PWM output
- (bluefox) tuning on settings for ports: Ports 14 and 15 are always ADC. Threshold are shown only for 1-wire if digital sensor.
- (bluefox) fix settings for digital sensors
- (bluefox) fix read of analog inputs (0-1023)
- (bluefox) fix read of PWM values
- (bluefox) fix write outputs
- (bluefox) implement discover function
- (bluefox) works only with latest firmware. For Digital Sensor the meaning of attribute m was changed from "sensor type" to "threshold detection" Sensor type is "d"
- (bluefox) support of digital sensors 1W and iB
- (bluefox) completely rewrite adapter
- (bluefox) add tests
- (bluefox) add 14,15 ports
- (bluefox) add settings for port 3
- (bluefox) fix error if no configuration for ports
- (bluefox) double click&long click
- (bluefox) fix error with read all ports together
- (bluefox) read status off all ports together
- (bluefox) make socket usable as module