Опрос электросчетчика Меркурий 230

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
MSapogov
Сообщения: 312
Зарегистрирован: 13 май 2015, 08:44
Откуда: г. Томск

Re: Опрос электросчетчика Меркурий 230

Сообщение MSapogov » 22 ноя 2017, 20:15

bnx писал(а):
MSapogov писал(а):Я на своем 230 с CAN интерфейсом
Это какая маркировка у вас на счетчике(модель)?
ART-01 CN (2006год)
Вот такой "обезжиренный", но с CAN интерфейсом.

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Опрос электросчетчика Меркурий 230

Сообщение kpp » 01 дек 2017, 02:07

andrusha7778 писал(а):Добрый день, подскажите в чем может быть дело?
Подключил в 230-ARTCN к raspberyy PI через кан
устройство /dev/ttyUSB0 появилось
Раскомментировал строчку в конфиге DEV_FLAGS_LINUX для дебиана а для линукса закомментил (иначе ругалось что не может параметры порта установить)
в общем вот что выдает:

Код: Выделить всё

./electro_counter.sh
OS: LINUX; DEVICE: /dev/ttyUSB0; COUNTER_SN: 05994103(03); COUNTER_TYPE: merc230.sh; ECHOCOMMAND: NO; TEST_COMMUNITY: YES; DEV_EMULATOR: NO; METHOD_COMMUNITY: CAT; FUZZY_MATCHING_CRC: NO
COMMAND: kwatthour; PARAMS: "kwatthour"> mode=0, zona=00, month=0; SIZE: 19; OUTPARSER: ; DESCRIBE: Опрос накопленной энергии params: mode[]:zona[]
TEST_SEND: _0x03_0x00_0x01_0x40 4
METHOD_COMMUNITY=CAT len=4
...
Error! Not answer "/dev/ttyUSB0"!
root@majordomo:/home/pi/mercury# 
Под виндой работает чудесно с этим переходником и конфигуратором :-(
Работает под raspberry PI.
попробуйте поменять метод связи
METHOD_COMMUNITY="DD"
запускать: sh electro_counter.sh <КОМАНДА>

Вопросы\отзывы по этому скрипту можно оставлять тут https://redmine.hi.dp.ua/projects/electro_counter
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

yuoras
Сообщения: 11
Зарегистрирован: 22 окт 2015, 22:20

Re: Опрос электросчетчика Меркурий 230

Сообщение yuoras » 01 янв 2018, 21:24

kpp писал(а):
01 дек 2017, 02:07
Вопросы\отзывы по этому скрипту можно оставлять тут https://redmine.hi.dp.ua/projects/electro_counter
Что то не работает https://redmine.hi.dp.ua
Ошибка 500

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Опрос электросчетчика Меркурий 230

Сообщение kpp » 04 янв 2018, 14:52

yuoras писал(а):
01 янв 2018, 21:24
kpp писал(а):
01 дек 2017, 02:07
Вопросы\отзывы по этому скрипту можно оставлять тут https://redmine.hi.dp.ua/projects/electro_counter
Что то не работает https://redmine.hi.dp.ua
Ошибка 500
Уже работает, были проблемы при обновлении.
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Опрос электросчетчика Меркурий 230

Сообщение empenoso » 03 мар 2018, 16:47

kpp писал(а):
19 апр 2016, 00:54
https://hi.dp.ua/svn/electo_counters/trunk/ user:tat pass:123
в electro_counter.conf указать нужные: DEVICE, COUNTER_SN, PASS_READ, COUNTER_TYPE
запускать: sh electro_counter.sh <КОМАНДА>
Глупый вопрос - серийный номер и пароль где взять для счетчика? Сначала из под windows запустить их родное приложение http://www.incotexcom.ru/count_prog.htm ?

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Опрос электросчетчика Меркурий 230

Сообщение kpp » 03 мар 2018, 17:37

Серийный номер счетчика указан на самом счетчике.
Пароли стандартные, одинаковые, если не менялись. Пароль чтения: 111111
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Опрос электросчетчика Меркурий 230

Сообщение empenoso » 04 мар 2018, 09:24

kpp писал(а):
03 мар 2018, 17:37
Серийный номер счетчика указан на самом счетчике.
Пароли стандартные, одинаковые, если не менялись. Пароль чтения: 111111
Спасибо за ваш ответ. Еще один глупый вопрос - как определить устройство-порт, к которому подключен счетчик?

Код: Выделить всё

# устройство-порт, к которому подключен счетчик
DEVICE="/dev/cuaU4"
Пишу:

Код: Выделить всё

[10:32:06] openhabian@openHABianPi:~$ lsusb
Bus 001 Device 006: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 001 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[10:32:47] openhabian@openHABianPi:~$

Код: Выделить всё

[10:35:34] openhabian@openHABianPi:~$ sudo lsusb -v
[sudo] пароль для openhabian:

Bus 001 Device 006: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x10c4 Cygnal Integrated Products, Inc.
  idProduct          0xea60 CP210x UART Bridge / myAVR mySmartUSB light
  bcdDevice            1.00
  iManufacturer           1 Silicon Labs
  iProduct                2 CP2104 USB to UART Bridge Controller
  iSerial                 3 014C0CA6
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              2 CP2104 USB to UART Bridge Controller
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)

Код: Выделить всё

[10:38:21] openhabian@openHABianPi:~$ dmesg | grep tty
[    0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbdepth=16 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3f000000 vc_mem.mem_size=0x3f600000  dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=bd4128b8-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[    0.001212] console [tty1] enabled
[    0.825565] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
[   14.364127] systemd[1]: Created slice system-getty.slice.
[   15.760479] usb 1-1.5: cp210x converter now attached to ttyUSB0
[90386.530429] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[90934.553181] usb 1-1.5: cp210x converter now attached to ttyUSB0
[10:38:38] openhabian@openHABianPi:~$
Изменил файл настройки:

Код: Выделить всё

# файл протокола обмена со счетчиком
COUNTER_TYPE="merc200.sh"
# устройство-порт, к которому подключен счетчик
DEVICE="/dev/ttyUSB0"
# серийный номер счетчика
COUNTER_SN=31680870
Получаю:

Код: Выделить всё

[10:38:50] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh test
115200
stty: неверный аргумент «baud;»
По команде «stty --help» можно получить дополнительную информацию.
Error! Set params device "/dev/ttyUSB0"!
[10:40:23] openhabian@openHABianPi:~$
Переделал в файле настроек:

Код: Выделить всё

# Linux
#DEV_FLAGS_LINUX=" speed 9600 baud; rows 0; columns 0; line = 0;
#intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
#-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
#-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
#-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
#-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke"

#Linux Debian
DEV_FLAGS_LINUX=" cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts"
Но ошибка:

Код: Выделить всё

[11:54:51] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh test
Error! Not answer "/dev/ttyUSB0"!
[11:55:17] openhabian@openHABianPi:~$
Метод связи менял: DD, CAT - аналогично.

Подключал по схеме, GND, A, B:
83306-instrukcii-k-avtosignalizaciyam-s-avtozapuskom-pantera-slk-600-rs.jpg
83306-instrukcii-k-avtosignalizaciyam-s-avtozapuskom-pantera-slk-600-rs.jpg (235.05 КБ) 4316 просмотров

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Опрос электросчетчика Меркурий 230

Сообщение empenoso » 04 мар 2018, 12:31

Фото номера и модели:
IMG_20180304_101539.jpg
IMG_20180304_101539.jpg (56.3 КБ) 4312 просмотров

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Опрос электросчетчика Меркурий 230

Сообщение kpp » 04 мар 2018, 13:56

Какая ОС?
Через какой адаптер подключаете счетчик?
При попытке вычитки на адаптере моргают светодиоды?
Серийный номер счетчика(а заодно и пароль) лучше перепроверить под виндой, стандартной прогой - конфигуратором.
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Опрос электросчетчика Меркурий 230

Сообщение empenoso » 04 мар 2018, 14:27

kpp писал(а):
04 мар 2018, 13:56
Какая ОС?
Через какой адаптер подключаете счетчик?
При попытке вычитки на адаптере моргают светодиоды?
Серийный номер счетчика лучше перепроверить под виндой, стандартной прогой - конфигуратором.
Сборка openHABianPi .

Код: Выделить всё

###############################################################################
################# openHABianPi ################################################
###############################################################################
##             Ip = 192.168.48.31
##        Release = Raspbian GNU/Linux 9 (stretch)
##         Kernel = Linux 4.9.59-v7+
##       Platform = Raspberry Pi 3 Model B Rev 1.2
Сейчас подключено через вот этот адаптер USB 2.0 to RS485 Serial Converter Adapter CP2104 SN75176 double protection FUSE: https://www.aliexpress.com/item/USB-2-0 ... 83994.html
Еще есть вот такой CH340 Module 2016 USB to RS485: https://www.ebay.com/itm/CH340-Module-2 ... 1986526656

На подключенном адаптере нет светодиодов.

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Опрос электросчетчика Меркурий 230

Сообщение kpp » 04 мар 2018, 15:39

Проверьте все это сначала на ОС Виндоус стандартным конфигуратором.
Будет видно работает ли адаптер, правильно ли он подключен, будут точно известны серийный номер и пароль.
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Опрос электросчетчика Меркурий 230

Сообщение empenoso » 04 мар 2018, 19:38

kpp писал(а):
04 мар 2018, 15:39
Проверьте все это сначала на ОС Виндоус стандартным конфигуратором.
Будет видно работает ли адаптер, правильно ли он подключен, будут точно известны серийный номер и пароль.
Похоже физически неправильно подключаю. Из под виндоус НЕ видит. Подключаю:
-CAN (на колодке 2) ---> B
+CAN (на колодке 3) ---> A

Питание +5В (на колодке 4 и 5) и GND (на колодке 1) НЕ подключаю никуда.

Драйвера вроде поставил на Windows:

Код: Выделить всё

Порты (СОМ и LPT)
Silicon Labs CP210x USB to UART Bridge (COM6) 
USB-SERIAL CH340 (COM7)
Единственное для CH340 - сайт wch.cn - драйвера 2014 года старые.
IMG_20180304_182430_.jpg
IMG_20180304_182430_.jpg (176.35 КБ) 4281 просмотр
cx221.png
cx221.png (10.83 КБ) 4256 просмотров
http://incotex-counter.blogspot.ru/2011 ... st_25.html
Последний раз редактировалось empenoso 05 мар 2018, 09:08, всего редактировалось 3 раза.

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Опрос электросчетчика Меркурий 230

Сообщение kpp » 04 мар 2018, 23:39

Как подключить и опросить электросчетчик
http://incotex-counter.blogspot.com/201 ... -post.html
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Опрос электросчетчика Меркурий 230

Сообщение empenoso » 05 мар 2018, 15:19

kpp писал(а):
04 мар 2018, 23:39
Как подключить и опросить электросчетчик
http://incotex-counter.blogspot.com/201 ... -post.html
После подачи питания 5В из под windows прочитался, но скриптом не хочет почему-то :? :

merc.jpg
merc.jpg (139.57 КБ) 4242 просмотра

Код: Выделить всё

[16:06:56] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh datetime
Error! Not answer "/dev/ttyUSB0"!
[16:07:07] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh datetime
Error! Not answer "/dev/ttyUSB0"!
[16:07:45] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh test
Error! Not answer "/dev/ttyUSB0"!
[16:15:20] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh
Error! Not answer "/dev/ttyUSB0"!
[16:18:15] openhabian@openHABianPi:~$ dmesg | grep tty
[    0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbdepth=16 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3f000000 vc_mem.mem_size=0x3f600000  dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=bd4128b8-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[    0.001209] console [tty1] enabled
[    0.825523] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
[   15.726386] usb 1-1.5: ch341-uart converter now attached to ttyUSB0
[  337.250354] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[  516.880490] usb 1-1.5: ch341-uart converter now attached to ttyUSB0
[16:18:46] openhabian@openHABianPi:~$

Код: Выделить всё

# файл протокола обмена со счетчиком
COUNTER_TYPE="merc200.sh"
# устройство-порт, к которому подключен счетчик
DEVICE="/dev/ttyUSB0"
# серийный номер счетчика
COUNTER_SN=680870
# пароль чтения
PASS_READ=111111
# пароль записи
PASS_WRITE=12333333

# AUTO, FREEBSD, LINUX
OS=AUTO
# режим отладки 0, 1, 2
DEBUG=0
# отображать описание команды или нет
DISPLAY_DESCRIPTION=NO
# временный файл
TMPFL="/tmp/electro_counter.tmp"
# режим эмуляции работы со счетчиком
DEV_EMULATOR="NO"

#
ECHOCOMMAND=NO

#C_ECHO=/bin/echo
C_ECHO=echo

# метод связи: DD, CAT
METHOD_COMMUNITY="DD"
# жесткий контроль контрольной суммы(NO), контрольная сумма может полностью или частично отсутствовать(YES)
FUZZY_MATCHING_CRC="NO"

# ожидание
WAIT_TIME=.050
# сколько итераций по WAIT_TIME милисек ожидать ответа
WAITTICK=10
# тестировать ли связь перед каждым запросом
TEST_COMMUNITY="YES"
TEST_COMMAND=amper
# кол-во попыток отправки запроса TEST
TRY_COUNT_TEST=5
# кол-во попыток отправки целевого запроса
TRY_COUNT_COMMAND=3

# параметры настройки определения запущенной копии скрипта
# каталог расположения файла-флага
PID_DIR="/tmp"
# имя файла-флага
PID_NAME="electro_counter"
# время ожидания окончания работы запущенной копии скрипта (сек)
PID_TIMEOUT=20
# частота проверки окончания работы запущенной копии скрипта (сек)
PID_TIMEWAIT=1

# параметры порта

DEV_BAND=9600

# FreeBSD
DEV_FLAGS=" ixany ignbrk opost cread cs8 -ixon -ixoff -parenb -parodd -hupcl -clocal -cstopb raw"
#speed 9600 baud; 0 rows; 0 columns;
#lflags: -icanon -isig -iexten -echo -echoe -echok echoke -echonl echoctl
#        -echoprt -altwerase -noflsh -tostop -flusho -pendin -nokerninfo
#        -extproc
#iflags: -istrip -icrnl -inlcr -igncr -ixon -ixoff ixany -imaxbel ignbrk
#        -brkint -inpck -ignpar -parmrk
#oflags: opost -onlcr -ocrnl tab0 -onocr -onlret
#cflags: cread cs8 -parenb -parodd -hupcl -clocal -cstopb -crtscts
#       -dsrflow -dtrflow -mdmbuf
#cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
#        eol2 = <undef>; erase = ^?; erase2 = ^H; intr = ^C; kill = ^U;
#        lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q;
#        status = ^T; stop = ^S; susp = ^Z; time = 2; werase = ^W;

# Linux
#DEV_FLAGS_LINUX=" speed 9600 baud; rows 0; columns 0; line = 0;
#intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
#-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
#-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
#-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
#-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke"

#Linux Debian
DEV_FLAGS_LINUX=" cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts"

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Опрос электросчетчика Меркурий 230

Сообщение kpp » 05 мар 2018, 15:41

Версия скриптов 2018-01-29 version 2.2 ?

В файле electro_counter.conf установить:

DEBUG=2
OS=LINUX
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Опрос электросчетчика Меркурий 230

Сообщение empenoso » 05 мар 2018, 18:17

kpp писал(а):
05 мар 2018, 15:41
Версия скриптов 2018-01-29 version 2.2 ?

В файле electro_counter.conf установить:

DEBUG=2
OS=LINUX
Да, последнняя с сайта. Пишет:

Код: Выделить всё

[19:15:23] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/elec                                                                                                             tro_counter.sh amper
OS: LINUX; DEVICE: /dev/ttyUSB0; COUNTER_SN: 680870(x0ax63xa6); COUNTER_TYPE: me                                                                                                             rc200.sh; ECHOCOMMAND: NO; TEST_COMMUNITY: YES; DEV_EMULATOR: NO; METHOD_COMMUNI                                                                                                             TY: DD; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%s=%0.2f                                                                                                             \",\"Amper\",^b0/100)"; DESCRIBE: Сила тока A (А)
TEST_SEND: amper _0x00_0x0a_0x63_0xa6_0x63_0xEC_0x4F 14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
TEST_ANSWER(1)  0
TEST_ANSWER(2)  0
TEST_ANSWER(3)  0
TEST_ANSWER(4)  0
TEST_ANSWER(5)  0
Set params device "/dev/ttyUSB0"...
Set params device "/dev/ttyUSB0" - 0.
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
TEST_ANSWER(1)  0
TEST_ANSWER(2)  0
TEST_ANSWER(3)  0
TEST_ANSWER(4)  0
TEST_ANSWER(5)  0
Error! Not answer "/dev/ttyUSB0"!
[19:16:36] openhabian@openHABianPi:~$

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Опрос электросчетчика Меркурий 230

Сообщение kpp » 05 мар 2018, 19:56

Тогда остается два варианта.
1. Неверно указано имя устройства.
2. Необходимо настроить параметры устройства.

Попробовать раскомментировать
DEV_FLAGS_LINUX=" speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke"

И закоментировать другие DEV_FLAGS_LINUX=
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Опрос электросчетчика Меркурий 230

Сообщение empenoso » 05 мар 2018, 20:53

kpp писал(а):
05 мар 2018, 19:56
2. Необходимо настроить параметры устройства.

Попробовать раскомментировать
DEV_FLAGS_LINUX=" speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke"

И закоментировать другие DEV_FLAGS_LINUX=
Что-то нет:

Код: Выделить всё

[21:49:44] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh version
OS: LINUX; DEVICE: /dev/ttyUSB0; COUNTER_SN: 680870(x0ax63xa6); COUNTER_TYPE: merc200.sh; ECHOCOMMAND: NO; TEST_COMMUNITY: YES; DEV_EMULATOR: NO; METHOD_COMMUNITY: DD; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%s=%0.2f\",\"Amper\",^b0/100)"; DESCRIBE: Сила тока A (А)
TEST_SEND: amper _0x00_0x0a_0x63_0xa6_0x63_0xEC_0x4F 14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
TEST_ANSWER(1)  0
TEST_ANSWER(2)  0
TEST_ANSWER(3)  0
TEST_ANSWER(4)  0
TEST_ANSWER(5)  0
Set params device "/dev/ttyUSB0"...
9600
stty: неверный аргумент «baud;»
По команде «stty --help» можно получить дополнительную информацию.
Set params device "/dev/ttyUSB0" - 1.
Error! Set params device "/dev/ttyUSB0"!
[21:50:55] openhabian@openHABianPi:~$

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Опрос электросчетчика Меркурий 230

Сообщение kpp » 07 мар 2018, 23:41

Вопрос решен, скрипт работает.
Дело было в особенности расположения утилиты echo.

Для вашего случая необходимо:

в файле electro_counter.conf
C_ECHO=/bin/echo
#C_ECHO=echo

по умолчанию
#C_ECHO=/bin/echo
C_ECHO=echo
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

buv
Сообщения: 1
Зарегистрирован: 03 ноя 2016, 13:00

Re: Опрос электросчетчика Меркурий 230

Сообщение buv » 20 июл 2018, 11:10

Сервер Ubuntu 16.04.4 LTS.
Чтобы завелся скрипт уважаемого kpp, поправил в файле electro_counter.conf:

Код: Выделить всё

	C_ECHO=/bin/echo
	#C_ECHO=echo
раскомментировал
	# Linux Debian
	DEV_FLAGS_LINUX=" cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts"
Сейчас бьюсь с невозможностью перекодировки ответа в конечные значения:

Код: Выделить всё

root@ubuntu-MD:~/mercury2018# ./electro_counter.sh volt
OS: LINUX; DEVICE: /dev/ttyUSB0; COUNTER_SN: 83(53); COUNTER_TYPE: merc230.sh; ECHOCOMMAND: NO; TEST_COMMUNITY: YES; DEV_EMULATOR: NO; METHOD_COMMUNITY: CAT; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: "amper"> phaza=1; SIZE: 12; OUTPARSER: ; DESCRIBE: Сила тока A (А) по фазам params: phaza[]
TEST_SEND: amper _0x53_0x08_0x16_0x21_0x5E_0xDA 12
METHOD_COMMUNITY=CAT len=12
TEST_ANSWER(1) x53x05xFDx43 4
COMMAND: volt; PARAMS: "volt"> phaza=1; SIZE: 12; OUTPARSER: ; DESCRIBE: Напряжение U (В) params: phaza[]
SEND: _0x53_0x08_0x16_0x11_0x5E_0xCE
METHOD_COMMUNITY=CAT len=12
ANSWER(1): x53x05xFDx43 4 0
METHOD_COMMUNITY=CAT len=4
METHOD_COMMUNITY=CAT len=12
ANSWER(2): x53x00xB7x5Dx00xBFx5Ex00xF7x5Ax85x26 12 0
Ph1(V) = 0.00
Ph2(V) = 0.00
Ph3(V) = 0.00
UPDATE: Ошибка с конвертацией связана с работой sprintf. После добавления параметра --non-decimal-data к awk в файле merc230.sh всё заработало.

Код: Выделить всё

            echo $data | awk --non-decimal-data -Fx 'function preob(name,val)

Ответить