Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. ioBroker скрипты
  6. Разделить число

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    592

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Разделить число

Scheduled Pinned Locked Moved ioBroker скрипты
4 Posts 2 Posters 731 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    black_angel666
    wrote on last edited by
    #1

    Всем привет! только учусь работать с 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. ну если пример будет и там и там, то вообще респект)))

    спасибо!

    1 Reply Last reply
    0
    • I Offline
      I Offline
      instalator
      wrote on last edited by
      #2

      @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);
      

      });

      Высокий уровень Децибел вреден для здоровья!

      http://blog.instalator.ru/

      1 Reply Last reply
      0
      • B Offline
        B Offline
        black_angel666
        wrote on last edited by
        #3

        ! @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?)))

        1 Reply Last reply
        0
        • B Offline
          B Offline
          black_angel666
          wrote on last edited by
          #4

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

          работает.

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          526

          Online

          32.7k

          Users

          82.6k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe