NEWS
Разделить число
-
Всем привет! только учусь работать с 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. ну если пример будет и там и там, то вообще респект)))
спасибо!
-
Всем привет! только учусь работать с 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);});
-
!
@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?)))
-
! Создал объекты в starline.0.lancer., battery1, battery2 и battery3. type указал "Число".
! далее установил драйвер javascript.
! создал скрипт в common, и туда скопировал данный скрипт. сохранил, запустил. Объект в javascript.0.lancer.battery1 создался (для чего он???)
! но значения в battery1…. не меняются...
! что я сделал не так?работает.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden