Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. electric

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    E
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 64
    • Best 0
    • Groups 0

    electric

    @electric

    0
    Reputation
    28
    Profile views
    64
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    electric Follow

    Latest posts made by electric

    • Скрипт мониторинга основных параметров платы Cubietruck OS Armbian

      Всем привет.

      Делал нечто похожее для ccu.io (там был http://forum.iobroker.net/viewtopic.php?f=10&t=313), вот дошли руки до ioBroker.

      Плата http://cubieboard.org/model/cb3/

      OS https://www.armbian.com/cubietruck/

      Система перенесена на жесткий диск 80Гб

      Подключена АКБ Li-Pol на 5000мАч

      Весь бутерброд поставил на DIN-рейку.

      Собственно скрипт под спойлером:

      ! ````
      //Скрипт мониторинга основных параметров платы Cubietruck
      //Температуры:
      // - monitoring_CT.temp.CPU /sys/devices/virtual/thermal/thermal_zone0/temp
      // - monitoring_CT.temp.PMU /sys/power/axp_pmu/pmu/temp
      // - monitoring_CT.temp.HDD hddtemp /dev/sda
      //Данные rootfs:
      // - monitoring_CT.disk.size df -m
      // - monitoring_CT.disk.used
      // - monitoring_CT.disk.free
      // - monitoring_CT.disk.usage
      //Данные memory:
      // - monitoring_CT.memory.used fre -m
      // - monitoring_CT.memory.free
      // - monitoring_CT.memory.usage
      //Данные swap: -отключено!
      // - monitoring_CT.swap.size -отключено!
      // - monitoring_CT.swap.used -отключено!
      // - monitoring_CT.swap.free -отключено!
      // - monitoring_CT.swap.usage -отключено!
      //Данные system:
      // - monitoring_CT.loadavg.CPU cut -f1 -d" " = 1){
      clearInterval(poll_mon);
      poll_mon = setInterval(poolMonitor, parseInt(obj.newState.val)1000);
      }
      });
      ! function poolMonitor () {
      //Чтение файлов температур CPU and PMU
      var temp = fs.readFileSync("/sys/devices/virtual/thermal/thermal_zone0/temp").toString();
      setState('monitoring_CT.temp.CPU', parseFloat(temp)/1000, true);
      temp = fs.readFileSync("/sys/power/axp_pmu/pmu/temp").toString();
      setState('monitoring_CT.temp.PMU', parseFloat(temp)/1000, true);
      //Результат команды hddtemp - температура жесткого диска
      //cp.exec("hddtemp /dev/sda /dev/sdb /dev/sdc /dev/sdd | grep -o '[0-9].°C' | grep -o '[0-9].'", function(err, resp) {
      cp.exec("hddtemp /dev/sda | grep -o '[0-9].°C' | grep -o '[0-9].'", function(err, resp) {
      if (!err && resp) {
      //var temp = resp.split("\n");
      setState('monitoring_CT.temp.HDD', parseFloat(resp), true);
      }
      });
      //Результат команды df - использование HDD
      cp.exec("df -m | grep '/dev/sda2' | awk '{print $2,$3,$4,$5}' | grep -o '[0-9]
      '", function(err, resp) {
      if (!err && resp) {
      var temp = resp.split("\n");
      setState('monitoring_CT.disk.size', parseFloat(temp[0]), true);
      setState('monitoring_CT.disk.used', parseFloat(temp[1]), true);
      setState('monitoring_CT.disk.free', parseFloat(temp[2]), true);
      setState('monitoring_CT.disk.usage', parseFloat(temp[3]), true);
      }
      });
      //Результат команды free - исользование ОЗУ и swap
      //cp.exec("free -m | grep -E 'Mem|Swap' | awk '{print $3,$4}' | grep -Eo '[0-9]+'", function(err, resp) { .toFixed(1)
      cp.exec("free -m | grep -E 'Mem' | awk '{print $2,$3,$4}' | grep -Eo '[0-9]+'", function(err, resp) {
      if (!err && resp) {
      var temp = resp.split("\n");
      setState('monitoring_CT.memory.size', parseFloat(temp[0]), true);
      setState('monitoring_CT.memory.used', parseFloat(temp[1]), true);
      setState('monitoring_CT.memory.free', parseFloat(temp[2]), true);
      setState('monitoring_CT.memory.usage', (temp[1]/temp[0]).toFixed(3)*100, true);
      }
      });
      //Использование центрального процессора loadavg
      temp = fs.readFileSync("/proc/loadavg").toString().split(" ");
      setState('monitoring_CT.loadavg.CPU', parseFloat(temp[0]), true);

      //Опрос состояния системы питания - данные чипа AXP209
      setState('monitoring_CT.power.AC.status', Boolean(parseFloat(fs.readFileSync("/sys/power/axp_pmu/ac/connected"))), true);
      setState('monitoring_CT.power.AC.voltage', parseFloat((fs.readFileSync("/sys/power/axp_pmu/ac/voltage")/1000000).toFixed(2)), true);
      setState('monitoring_CT.power.AC.current', parseFloat((fs.readFileSync("/sys/power/axp_pmu/ac/amperage")/1000).toFixed(0)), true);
      setState('monitoring_CT.power.battery.connected', Boolean(parseFloat(fs.readFileSync("/sys/power/axp_pmu/battery/connected"))), true);
      setState('monitoring_CT.power.battery.charging', Boolean(parseFloat(fs.readFileSync("/sys/power/axp_pmu/battery/charging"))), true);
      setState('monitoring_CT.power.battery.current_charging', parseFloat((fs.readFileSync("/sys/power/axp_pmu/charger/amperage")/1000).toFixed(0)), true);
      setState('monitoring_CT.power.battery.current_discharging', parseFloat((fs.readFileSync("/sys/power/axp_pmu/battery/amperage")/1000).toFixed(0)), true);
      setState('monitoring_CT.power.battery.voltage', parseFloat((fs.readFileSync("/sys/power/axp_pmu/battery/voltage")/1000000).toFixed(2)), true);
      setState('monitoring_CT.power.battery.capacity', parseFloat(fs.readFileSync("/sys/power/axp_pmu/battery/capacity")), true);
      

      }
      poll_mon = setInterval(poolMonitor, getState('javascript.0.monitoring_CT.poolinterval').val*1000);

      ! ````
      1238_img_20171106_005535.jpg
      1238_img_20171106_005541.jpg
      1238_img_20171210_122106.jpg

      posted in ioBroker скрипты
      E
      electric
    • RE: 1Wire и OWFS

      Всем привет.

      Есть проблема с использованием драйвера OWFS, может кто сталкивался уже…

      Мастер сети https://www.ab-log.ru/files/File/Datasheets/DS9490.pdf USBшный подключен в порт платы Cubietruck.

      Стик определеяется в системе:

      root@cubietruck:~# lsusb
      Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
      Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
      Bus 003 Device 002: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter
      Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
      Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
      Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
      
      

      Устанавливал через apt-get сервер OWFS.

      Через systemctl выключил сервисы owserver, owftpd, owhttpd

      Запускаю вручную строкой

      root@cubietruck:~# owfs -u /mnt/1wire
      

      Запускается и в директории /mnt/1wire появляются датчики DS18B20 10 штук, что у меня в сети.

      root@cubietruck:~# cd /mnt/1wire/
      root@cubietruck:/mnt/1wire# ls -l
      total 0
      drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FF17BB641501
      drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FF2A9F641503
      drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FF38DD641501
      drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FF81E3641501
      drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFAB9D641501
      drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFACA8641501
      drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFC3B4641501
      drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFCBCD641501
      drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFDAA8641501
      drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFF593641501
      drwxrwxrwx 1 root root 4096 Jan 26 18:39 81.3E3332000000
      drwxr-xr-x 1 root root 4096 Jan 26 14:52 alarm
      drwxr-xr-x 1 root root 4096 Jan 26 14:52 bus.1
      drwxr-xr-x 1 root root 4096 Jan 26 14:52 settings
      drwxrwxrwx 1 root root 4096 Jan 26 18:39 simultaneous
      drwxr-xr-x 1 root root 4096 Jan 26 14:52 statistics
      drwxr-xr-x 1 root root 4096 Jan 26 14:52 structure
      drwxr-xr-x 1 root root 4096 Jan 26 14:52 system
      drwxr-xr-x 1 root root 4096 Jan 26 14:52 uncached
      
      

      По этой дериктории по ssh перещаюсь с тормозами не понятными, "зависает" бывает секунд на 10-30…

      Проблема в том, что ioBroker драйвер OWFS походу не всегда может получить доступ к файлам.

      В логах появляются ошибки типа:

      owfs.0	2018-01-26 18:29:29.205	warn	Cannot read value of /mnt/1wire/28.FFF593641501/temperature: Error: EINVAL: invalid argument, read
      owfs.0	2018-01-26 18:27:57.704	warn	Cannot read value of /mnt/1wire/28.FF17BB641501/temperature: Error: EINVAL: invalid argument, read
      owfs.0	2018-01-26 18:24:58.391	warn	Cannot read value of /mnt/1wire/28.FF2A9F641503/temperature: Error: EINVAL: invalid argument, read
      owfs.0	2018-01-26 18:19:11.860	warn	Cannot read value of /mnt/1wire/28.FF17BB641501/temperature: Error: EINVAL: invalid argument, read
      owfs.0	2018-01-26 18:16:09.019	warn	Cannot read value of /mnt/1wire/28.FF38DD641501/temperature: Error: EINVAL: invalid argument, read
      
      

      Иногда OWFS совсем отваливается и в директории /mnt/1wire пусто, тогда в логах ioBroker следующее:

      2018-01-26 00:00:20.438  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:00:30.986  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:00:40.455  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:00:50.897  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:01:00.464  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:01:10.907  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:01:20.491  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:01:31.106  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:01:40.495  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:01:50.957  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:02:00.518  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:02:10.957  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:02:20.526  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:02:31.066  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:02:40.540  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:02:50.978  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:03:00.555  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:03:10.997  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:03:20.568  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:03:31.008  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:03:40.573  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:03:51.017  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:04:00.591  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:04:11.037  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      2018-01-26 00:04:20.608  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
      
      

      Как продиагностировать OWFS, я понимаю, что проблема не в ioBroker?

      Может я не правильно настроил/запустил/установил?

      Настройки драйвера OWFS на скриншоте.
      1238_pic_313.jpg

      posted in ioBroker драйвера
      E
      electric
    • RE: Вопросы по написанию скриптов

      @smoker_vvo:

      Не шибко силен в скриптах… Как контролировать подключение к телеграмму? `
      Попробуй подписать на переменную connection.

      По идее она true когда драйвер подключен к боту и false в противном случае…
      1238_pic_281.jpg

      posted in ioBroker скрипты
      E
      electric
    • RE: Вопросы по написанию скриптов

      @smoker_vvo:

      И звали ее Алисой и работала она с Мажордомом….. Целых 6 лет.... А потом она оглохла и ослепла.....

      И слепил я себе Соню..... На уровень выше и стабильнее... `
      О_о, тогда коллеги! Тоже жил с Алисой года так 3-4 назад, потом переехал на CCU.IO (это папа iobroker) и далее на iobroker.

      posted in ioBroker скрипты
      E
      electric
    • RE: Вопросы по написанию скриптов

      @smoker_vvo:

      Система автоматически отправляет сообщения о своем статусе, о работе системы и температуру, но возникла необходимость получать некую сводку о состоянии охраны, насосов и прочего, при восстановлении пром сети.

      Сообщение о том что свет отключили Соня успевает отправить, а при включении - получаю сообщение Бот запущен.

      Работаем с Телеграммом. `
      Ну попробуй организовать скрипт, который будет подписан на переменную подключения к телеграмму.

      Как только переменная в true (телеграмм подключился) - отправляешь всю сводку…

      posted in ioBroker скрипты
      E
      electric
    • RE: Вопросы по написанию скриптов

      @smoker_vvo:

      Ну и совсем фантастика - как бы научить Соню озвучивать события разными текстами, ну типа при включении насоса проговаривать текст из какого то списка…. Типа: Насос включен, Я тут насос запустила, У вас закончилась вода, решила подкачать......

      Хочу что бы при событии текст отличался от предыдущего... 😉 😉 😉 `
      Мою Катя зовут.

      Я пользуюсь драйвером http://www.iobroker.net/docu/?page_id=4459&lang=ru.

      Вот https://github.com/ioBroker/ioBroker.text2command на гитхаб, там самое последнее описание.

      Скриншот вопросов и ответов и настройки в самом text2command прикрепил.

      В тексте подтверждения через слэш варианты накидываешь…
      1238_pic_279.jpg
      1238_pic_280.jpg

      posted in ioBroker скрипты
      E
      electric
    • RE: ИБП малогабаритный для системы умный дом

      @Palko:

      Добрый.

      Добавлю свои 5 копеек. Можно использовать следующее устройство на 24В:

      DRAN60-24A* (звездочка указывает функцию UPS).

      работает для Beckhoff BC9000 (освещение, охранка, протечки) `
      Проблема этого ИБП и подобных в том, что на выходе они держат повышенное напряжение, т.е. если подключать одну АКБ и устройство на 12В, то на выходе будет более 14В.

      И кстати на фото странно, что нагрузка подключена прям на АКБ, т.е. аккумулятор может "высосать в ноль", что очень чревато для последнего))

      posted in Железо
      E
      electric
    • RE: Adminer

      @Pooh:

      Для администрирования базы использую https://ru.wikipedia.org/wiki/Adminer из-под апача (МД) `
      Я для администрирования сейчас использую легкий клиент https://www.heidisql.com/.

      Забыл когда последний раз разворачивал папч/энжингс для phpmyadmin))
      @Pooh:

      Так как постепенно ухожу от МД и от апача возникает вопрос: можно ли его заюзать средствами ioBroker? `
      Вопрос не совсем ясен. Заюзать его - это кого? MySQL http://www.iobroker.net/docu/?page_id=4044&lang=ru#_MySQL подключить к iobroker.

      posted in ioBroker улучшения и новости
      E
      electric
    • RE: Контроллер освещения на базе Atmega2560

      @instalator:

      А если реле перевернуть? что то они не по центру у тебя `
      У меня розетки такие дурацкие походу (95.05.SPA), брал самые дешманские просто, в них реле стоят немного со смещением.
      @instalator:

      что за щиток? `
      У меня панели http://cs-cs.net/shhity-edf-wr, без корпуса.

      posted in Железо
      E
      electric
    • RE: Контроллер освещения на базе Atmega2560

      @aurodionov:

      Андрей, какие розетки использовал для реле?

      Использовал ли пластиковые фиксаторы реле, индикацию, если да то какие? `
      Реле купил http://finder-relay.ru/katalog/products/promezhutochnye-rele/-40-serija-miniatjurnye-pcb-rele/-406190240000-rele-s-1-perekidnym, а розетки http://finder-relay.ru/katalog/products/promezhutochnye-rele/-40-serija-miniatjurnye-pcb-rele/-95-serija-rozetki-i-aksessuary/-9505-rozetka-dlja-rele-serii - они сразу с пластиковым фиксатором идут. Устанавливал в шкаф для модульки, поэтому никакой индикации нет - она туда не влезет (см. фото)…
      1238_img_20170309_191202.jpg

      posted in Железо
      E
      electric
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo