Navigation

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

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    B
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 6
    • Best 0
    • Groups 0

    black_angel666

    @black_angel666

    0
    Reputation
    14
    Profile views
    6
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    black_angel666 Follow

    Latest posts made by black_angel666

    • Nextion - ESP8266 - MQTT - ioBroker

      Всем привет!

      Возникла идея, и огромное желание реализовать, поэтому создал данные тему для сбора информации и помощи в реализации. Возможно многим будет интересно.

      Идея: выводить информацию на дисплей nextion, передавать значения полученные с дисплея nextion. Дисплей nextion подключенный к модулю ESP8266, на модуле клиент MQTT. В качестве сервера RaspberryPi3 с рабочим ioBroker и на нем модуль Mqtt сервер и клиент.

      Что есть:

      Дисплей nextion: есть

      Модуль ESP8266: есть

      Сервер Raspberry Pi3 - ioBroker - MQTT: есть

      Какие вопросы:

      С дисплеем поковырялся, вроде ни чего сложно нет.

      модуль ESP8266 - надо сообразить как связать с дисплеем, и правильно собрать скетч который будет понимать команды из дисплея и обратно, и соединятся с сервером, вот это самое основное и для меня трудно выполнимо…

      1. Дисплей отправляет в UART команду от дисплея в виде, пример: "bt0.val"+char(255)+char(255)+char(255), последние 3 байта 0xFF это обязательно условие работы дисплея (особенность), т.е. как я понимаю для того что бы дисплей "принял" команду, то ему тоже нужны эти 3 байта в конце. Вот тут более разжевано про это написано: http://wiki.iarduino.ru/page/Nextion/

      2. ESP8266 - надо этот модуль как то научить отправлять полученные данные от дисплея по MQTT и наоборот полученные по MQTT, через UART в дисплей… тут я так понимаю как раз надо как то сделать так что бы полученное сообщение по MQTT обрабатывалось, т.е. добавлялись эти 3 байта и далее уходили по UARTu....

      на стороне сервера все есть и работает... есть объект, в нем есть значение температуры, который раз в минуту обновляется, посредством nodered перенаправляю это значение в брокер MQTT и это значение имеется по подписке в брокере: iobrokettest /demo/temp.... ну это пример.

      с чего бы начать. знающие люди подскажи у кого какие есть наработки.

      Спасибо!

      posted in ioBroker основное
      B
      black_angel666
    • RE: Драйвер ioBroker Admin
      pi@raspberrypi:/opt/iobroker $ npm -v
      4.6.1
      
      

      не помогло….

      хелп ми плиз!

      posted in ioBroker драйвера
      B
      black_angel666
    • RE: Драйвер ioBroker Admin

      обновил через ssh admin до версии 3.3.5 (черт меня дернул!)

      pi@raspberrypi:/opt/iobroker $ iobroker update
      Used repository: default
      update done
      Adapter    "admin"         : 2.0.9    , installed 3.3.5
      

      теперь при заходе в админку пишет:

      ` > This adapter cannot be installed directly from github.

      You must install it from npm.

      Write for that "npm install iobroker.admin" in according directory. `

      команда: npm install iobroker.admin

      pi@raspberrypi:/opt/iobroker $ npm install iobroker.admin
      iobroker.inst@1.1.2 /opt/iobroker
      └── iobroker.admin@3.3.5
      
      pi@raspberrypi:/opt/iobroker $ node -v
      v6.14.1
      pi@raspberrypi:/opt/iobroker $ npm -v
      3.10.10
      pi@raspberrypi:/opt/iobroker $ nodejs -v
      v6.14.1
      
      
      pi@raspberrypi:/opt/iobroker $ /opt/iobroker/iobroker list instances
      system.adapter.admin.0                 : admin       -  enabled, port: 8081, bind: 0.0.0.0, run as: admin
      system.adapter.discovery.0             : discovery   -  enabled
      system.adapter.history.0               : history     -  enabled
      system.adapter.javascript.0            : javascript  -  enabled
      system.adapter.knx.0                   : knx         -  enabled
      system.adapter.mobile.0                : mobile      - disabled
      system.adapter.modbus.0                : modbus      -  enabled
      system.adapter.node-red.0              : node-red    -  enabled, port: 1881
      system.adapter.ping.0                  : ping        - disabled
      system.adapter.rpi2.0                  : rpi2        -  enabled
      system.adapter.starline.0              : starline    -  enabled
      system.adapter.vis-hqwidgets.0         : vis-hqwidgets -  enabled
      system.adapter.vis-justgage.0          : vis-justgage -  enabled
      system.adapter.vis-map.0               : vis-map     -  enabled
      system.adapter.vis-timeandweather.0    : vis-timeandweather -  enabled
      system.adapter.vis.0                   : vis         -  enabled
      system.adapter.web.0                   : web         -  enabled, port: 8082, bind: 0.0.0.0 (SSL), run as: admin
      system.adapter.yahka.0                 : yahka       -  enabled
      system.adapter.yr.0                    : yr          -  enabled
      
      

      помогите разобраться что я сделал не так?

      posted in ioBroker драйвера
      B
      black_angel666
    • RE: Разделить число

      ! Создал объекты в starline.0.lancer., battery1, battery2 и battery3. type указал "Число".
      ! далее установил драйвер javascript.
      ! создал скрипт в common, и туда скопировал данный скрипт. сохранил, запустил. Объект в javascript.0.lancer.battery1 создался (для чего он???)
      ! но значения в battery1…. не меняются...
      ! что я сделал не так?

      работает.

      posted in ioBroker скрипты
      B
      black_angel666
    • RE: Разделить число

      ! @instalator:
      ! > @black_angel666:

      Всем привет! только учусь работать с iobroker и прошу помощи.

      Есть объект starline.0.lancer.battery там значение например 12.8, мне нужно это значение 1. разделить на 2 значения т.е. 12 и после точки 8 и что бы они писались в новые объекты и 2е, убрать из этого значения точку, т.е. что бы число стало 128 и сохранялось в новый объект. т.е. по результату работы скрипта или через node red, должно появится 3 новых объекта пример:

      starline.0.lancer.battery1 = 12

      starline.0.lancer.battery2 = 8

      starline.0.lancer.battery3 = 128

      это для меня пример, что бы понимать как работать с скриптами…. хотя больше стал нравится node red. ну если пример будет и там и там, то вообще респект)))

      спасибо! `
      Можно сделать так. Но обьекты (starline.0.lancer.batteryХ) придется создать вручную так как из скрипта можно создавать только в ветке javascript

      ! ````
      createState('lancer.battery1', ''); //Создаст обьект в javascript.0.lancer.battery1
      ! on({id: "starline.0.lancer.battery", change: 'ne'}, function (obj) {
      log('Напряжение батареи изменилось = ' + obj.state.val);
      var val = obj.state.val.toString();
      var array = val.split('.');
      var battery1 = array[0];
      var battery2 = array[1];
      var battery3 = val.replace('.', '');

      log('battery1 = ' + battery1);
      log('battery2 = ' + battery2);
      log('battery3 = ' + battery3);
      setState('starline.0.lancer.battery1', battery1);
      setState('starline.0.lancer.battery2', battery2);
      setState('starline.0.lancer.battery3', battery3);
      

      });
      ```` `

      Огромное спасибо!

      А не подскажите еще такие моменты:

      1. куда надо этот скрипт писать.

      2. какова логика выполнения скрипта, он при определенных действиях запускается или каждые сколько то секунд и т.д., было бы не плохо знать где это делается.

      3. а как насчет node red?)))

      posted in ioBroker скрипты
      B
      black_angel666
    • Разделить число

      Всем привет! только учусь работать с iobroker и прошу помощи.

      Есть объект starline.0.lancer.battery там значение например 12.8, мне нужно это значение 1. разделить на 2 значения т.е. 12 и после точки 8 и что бы они писались в новые объекты и 2е, убрать из этого значения точку, т.е. что бы число стало 128 и сохранялось в новый объект. т.е. по результату работы скрипта или через node red, должно появится 3 новых объекта пример:

      starline.0.lancer.battery1 = 12

      starline.0.lancer.battery2 = 8

      starline.0.lancer.battery3 = 128

      это для меня пример, что бы понимать как работать с скриптами…. хотя больше стал нравится node red. ну если пример будет и там и там, то вообще респект)))

      спасибо!

      posted in ioBroker скрипты
      B
      black_angel666
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo