Розумне реле для вимірювання відсутности світла

Реєстрація
29.03.18
Місто
🟦🟨
Телефон
Піксель
Привіт всім. Стикнувся з потребою організувати моніторинг електроенергії на об'єкті, де встановлено unix-like мікросервер з оптичним інтернетом та екофлоу.
Екофлоу під'єднано до иншої віфі-мережі. Коли зникає світло, то зникає зв'язок з екофлоу.

Задача: моніторити зникнення/появи напруги в мережі та надсилати алерт пушем силами самого мікросервера. Як я собі це уявляю: реле з соленоїдом, який замикається, коли присутнє світло й розмикається, коли воно з'являється, стан повідомляється віртуальному серійному пристрою, який під'єднано USB-порта мікросервера, на якому запущено відповідний демон/сервіс, який записує стан в лоґ-файл.

Ідеально знайти би якийсь fake-ups й прикрутити до nut чи apcupsd, який зможе сигналити, але можна й через щось инше організувати. Я дивився в бік usb-relay usb-relay, але задача трохи відмінніша. Також підказували "колхоз" мишка + зарядний пристрій й таким чином моніторити появу/зникнення HID-пристрою за допомогою udev.

Будь ласка, поділіться, можливо є готові чи напівготові рішення.
 
Реєстрація
21.12.07
Місто
Кривий Рiг
Телефон
Moto Edge 50 Fusion
knedlyk, можна нагородити так - ACS712 + ESP прошиту в tasmota , налашувати шоб матюкалась по mqtt на сервер про появу\зникнення енергії, або з сервера по http смикати статус
 
Реєстрація
29.03.18
Місто
🟦🟨
Телефон
Піксель
knedlyk, можна нагородити так - ACS712 + ESP прошиту в tasmota , налашувати шоб матюкалась по mqtt на сервер про появу\зникнення енергії, або з сервера по http смикати статус
дякую! у мене в докері стоїть Signal, я думав налаштувати systemd unit сервіс й надсилати сповіщення на месенджер як тільки статус usb-пристрою змінюватиметься.

Чи могли би накидати схему, як це буде з'єднано все?
 
Реєстрація
21.12.07
Місто
Кривий Рiг
Телефон
Moto Edge 50 Fusion
Чи могли би накидати схему, як це буде з'єднано все?
З схемами тяжко, художник поганий з мене. Я навіть перемудрив, нафіг не потрібен там ACS712 . Оптопара за доляр - https://www.aliexpress.com/item/4001034717066.html . одним кінцем на 220 яке потрібно моніторити , іншим - на пару вільних GPIO на ESP і налаштувати шо це switch . тобто вийде шо є 220 - кнопка замкнена, нема - розімкнена , далі вже моніторити статус кнопки
 
Реєстрація
29.03.18
Місто
🟦🟨
Телефон
Піксель
Чи могли би накидати схему, як це буде з'єднано все?
З схемами тяжко, художник поганий з мене. Я навіть перемудрив, нафіг не потрібен там ACS712 . Оптопара за доляр - https://www.aliexpress.com/item/4001034717066.html . одним кінцем на 220 яке потрібно моніторити , іншим - на пару вільних GPIO на ESP і налаштувати шо це switch . тобто вийде шо є 220 - кнопка замкнена, нема - розімкнена , далі вже моніторити статус кнопки
Чи можете підказати, який ESP брати? І яку шукати прошивку. Я в тому не дуже розбираюся...

Чи достатньо взяти single? https://www.aliexpress.com/item/1005005137193763.html ?

Я було замовив таке реле, як думаєте, чи буде від нього користь для цієї потреби? https://www.aliexpress.com/item/1005006781536777.html
 
Останнє редагування:
Реєстрація
21.12.07
Місто
Кривий Рiг
Телефон
Moto Edge 50 Fusion
Чи достатньо взяти single?
так
Чи можете підказати, який ESP брати
та будь-що, немає особливої різниці під такі задачі , wemos d1 наприклад - https://www.aliexpress.com/item/1005006246625522.html , там USB є, прошивати зручно і живити його потім через нього ж.
забув ще один момент - еспшка має бути в одній сітці (wifi) з сервером.
По тій прошивці шо я писав - доки тут : https://tasmota.github.io/docs/ , в ютубах теж інфи купа.
таке реле, як думаєте, чи буде від нього користь для цієї потреби?
не можу придумати як використати , може й є якісь вараіанти, но я їх не бачу

UPD: шось не подумав зразу, esp можна ж заставити саму без сервера слати повідомлення в месенджери - https://www.techtonions.com/signal-esp32-send-message-and-image/
 
Останнє редагування:
Реєстрація
29.03.18
Місто
🟦🟨
Телефон
Піксель
Чи достатньо взяти single?
так
Чи можете підказати, який ESP брати
та будь-що, немає особливої різниці під такі задачі , wemos d1 наприклад - https://www.aliexpress.com/item/1005006246625522.html , там USB є, прошивати зручно і живити його потім через нього ж.
забув ще один момент - еспшка має бути в одній сітці (wifi) з сервером.
По тій прошивці шо я писав - доки тут : https://tasmota.github.io/docs/ , в ютубах теж інфи купа.
таке реле, як думаєте, чи буде від нього користь для цієї потреби?
не можу придумати як використати , може й є якісь вараіанти, но я їх не бачу

UPD: шось не подумав зразу, esp можна ж заставити саму без сервера слати повідомлення в месенджери - https://www.techtonions.com/signal-esp32-send-message-and-image/
WiFi тут не підійде, хіба для первинної прошивки. При вимкненні світла на об'єкті зникає покриття віфі, але є оптичний інтернет на мікросервері, тому якраз ідея і полягає в тому, щоби зробити такий собі "датчик" наявности напруги в мережі та приєднати його до сервака, а він вже буде сам вести журнал та розсилати сповіщення через власну мережу.

Може підкажете, де схему з'єднання, розпайки знайти?
 
Останнє редагування:

Sergiys

У пошуку
Реєстрація
06.04.10
Місто
Київ
Телефон
РОСО X3 Pro
На Ecoflow River 3 Plus появился USB порт для управления с ПК. Приложение очень сырое, работает только один режим выключения ПК.

Ни нотификаций по разрядке, зарядке, ошибках.

Программе ведет log файл где посекундно пишет свое сотояние.
Какими средствами можно его анализировать и сделать нотификацию в Telegram?

2026-01-28 00:00:15 [DEBUG] recv "aa 03 b1 00 84 2f e6 f2 01 00 01 44 02 22 01 01 66 02 e7 e7 e6 e6 e4 e6 e2 e7 e6 e6 e6 e5 e6 e2 e6 d4 e6 e6 e2 e6 e2 f3 f0 ff ff e3 e6 e2 ea eb ff ff e0 e6 e2 ea eb ff ff e1 e6 e2 78 6f f9 a4 ee e6 e2 78 6f f9 a4 ef e6 e2 78 6f f9 a4 ec e6 e2 e6 e6 e6 e6 ed e6 e2 e6 e6 e6 e6 ea e6 e2 e6 e6 e6 e6 eb e6 e2 be e4 e6 e6 e8 e6 e2 78 6f f9 24 e9 e6 e2 d4 e6 e6 e6 f6 e6 e2 e6 e6 e6 e6 f7 e6 e2 e6 e6 e6 e6 f4 e6 e2 e6 e6 e6 e6 f5 e6 e2 f2 e6 e6 e6 f2 e6 e2 e6 e6 e6 e6 f3 e6 e2 e6 e6 e6 e6 f0 e6 f6 b4 d0 d5 d7 bc a3 d7 a7 b1 ae d2 ab d4 d4 d0 d6 f1 e6 e2 d5 f1 e6 e6 fe e6 e2 e7 e6 e6 e6 a2 3a"
2026-01-28 00:00:15 [DEBUG] homePageInfo QJsonObject({"battery.ext1.temperature":12,"battery.temperature":21,"input.realpower":40,"output.realpower":40})
2026-01-28 00:00:15 [DEBUG] send "aa 03 00 00 de 2d e7 f2 01 00 ff ff 22 02 01 01 66 02 a8 a4"
2026-01-28 00:00:16 [DEBUG] recv "aa 03 b1 00 84 2f e7 f2 01 00 01 44 02 22 01 01 66 02 e6 e6 e7 e7 e5 e7 e3 e6 e7 e7 e7 e4 e7 e3 e7 d5 e7 e7 e3 e7 e3 f2 f1 fe fe e2 e7 e3 eb ea fe fe e1 e7 e3 eb ea fe fe e0 e7 e3 ee cc c2 a5 ef e7 e3 ee cc c2 a5 ee e7 e3 ee cc c2 a5 ed e7 e3 e7 e7 e7 e7 ec e7 e3 e7 e7 e7 e7 eb e7 e3 e7 e7 e7 e7 ea e7 e3 bf e5 e7 e7 e9 e7 e3 ee cc c2 25 e8 e7 e3 d5 e7 e7 e7 f7 e7 e3 e7 e7 e7 e7 f6 e7 e3 e7 e7 e7 e7 f5 e7 e3 e7 e7 e7 e7 f4 e7 e3 f3 e7 e7 e7 f3 e7 e3 e7 e7 e7 e7 f2 e7 e3 e7 e7 e7 e7 f1 e7 f7 b5 d1 d4 d6 bd a2 d6 a6 b0 af d3 aa d5 d5 d1 d7 f0 e7 e3 d4 f0 e7 e7 ff e7 e3 e6 e7 e7 e7 be 19"
2026-01-28 00:00:16 [DEBUG] homePageInfo QJsonObject({"battery.ext1.temperature":12,"battery.temperature":21,"input.realpower":41,"output.realpower":41})
2026-01-28 00:00:16 [DEBUG] send "aa 03 00 00 de 2d e8 f2 01 00 ff ff 22 02 01 01 66 02 bc b0"
2026-01-28 00:00:17 [DEBUG] recv "aa 03 b1 00 84 2f e8 f2 01 00 01 44 02 22 01 01 66 02 e9 e9 e8 e8 ea e8 ec e9 e8 e8 e8 eb e8 ec e8 da e8 e8 ec e8 ec fd fe f1 f1 ed e8 ec e4 e5 f1 f1 ee e8 ec e4 e5 f1 f1 ef e8 ec d6 82 f7 aa e0 e8 ec d6 82 f7 aa e1 e8 ec d6 82 f7 aa e2 e8 ec e8 e8 e8 e8 e3 e8 ec e8 e8 e8 e8 e4 e8 ec e8 e8 e8 e8 e5 e8 ec b0 ea e8 e8 e6 e8 ec d6 82 f7 2a e7 e8 ec da e8 e8 e8 f8 e8 ec e8 e8 e8 e8 f9 e8 ec e8 e8 e8 e8 fa e8 ec e8 e8 e8 e8 fb e8 ec fc e8 e8 e8 fc e8 ec e8 e8 e8 e8 fd e8 ec e8 e8 e8 e8 fe e8 f8 ba de db d9 b2 ad d9 a9 bf a0 dc a5 da da de d8 ff e8 ec db ff e8 e8 f0 e8 ec e9 e8 e8 e8 01 b2"
2026-01-28 00:00:17 [DEBUG] homePageInfo QJsonObject({"battery.ext1.temperature":12,"battery.temperature":21,"input.realpower":40,"output.realpower":40})
2026-01-28 00:00:17 [DEBUG] "C:/Program Files/PowerManager/1.0.0.14/win/x86_64-w64-mingw32-nut-server/bin/upsc.exe" QList("[email protected]:3493")
2026-01-28 00:00:17 [DEBUG] QProcess start
2026-01-28 00:00:17 [DEBUG] send "aa 03 00 00 de 2d e9 f2 01 00 ff ff 22 02 01 01 66 02 41 73"
2026-01-28 00:00:17 [DEBUG] QProcess finsihed 0
2026-01-28 00:00:17 [DEBUG] QProcess output: "battery.charge: 100\r\nbattery.charge.low: 20\r\nbattery.runtime: 5939\r\nbattery.runtime.low: -1\r\nbattery.type: \r\ndevice.mfr: EcoFlow\r\ndevice.model: EF-UPS-RIVER 3 Plus\r\ndevice.serial: R631ZE1772260\r\ndevice.type: ups\r\ndriver.debug: 0\r\ndriver.flag.allow_killpower: 0\r\ndriver.flag.ignorelb: enabled\r\ndriver.name: usbhid-ups\r\ndriver.parameter.override.battery.runtime.low: -1\r\ndriver.parameter.pollfreq: 1\r\ndriver.parameter.pollinterval: 2\r\ndriver.parameter.port: auto\r\ndriver.parameter.synchronous: auto\r\ndriver.parameter.usb_hid_ep_in: 1\r\ndriver.parameter.usb_hid_ep_out: 1\r\ndriver.state: quiet\r\ndriver.version: 2.8.2\r\ndriver.version.data: ECOFLOW HID 0.1\r\ndriver.version.internal: 0.53\r\ndriver.version.usb: libusb-1.0.26 (API: 0x1000109)\r\noutlet.1.status: on\r\nups.beeper.status: enabled\r\nups.delay.shutdown: 20\r\nups.mfr: EcoFlow\r\nups.model: EF-UPS-RIVER 3 Plus\r\nups.productid: ffff\r\nups.realpower.nominal: 858\r\nups.serial: R631ZE1AWH4M2260\r\nups.status: OL\r\nups.timer.reboot: -1\r\nups.timer.shutdown: -1\r\nups.vendorid: 3746\r\n"
2026-01-28 00:00:18 [DEBUG] recv "aa 03 b1 00 84 2f e9 f2 01 00 01 44 02 22 01 01 66 02 e8 e8 e9 e9 eb e9 ed e8 e9 e9 e9 ea e9 ed e9 db e9 e9 ed e9 ed fc ff f0 f0 ec e9 ed e5 e4 f0 f0 ef e9 ed e5 e4 f0 f0 ee e9 ed 26 28 f6 ab e1 e9 ed 26 28 f6 ab e0 e9 ed 26 28 f6 ab e3 e9 ed e9 e9 e9 e9 e2 e9 ed e9 e9 e9 e9 e5 e9 ed e9 e9 e9 e9 e4 e9 ed b1 eb e9 e9 e7 e9 ed 26 28 f6 2b e6 e9 ed db e9 e9 e9 f9 e9 ed e9 e9 e9 e9 f8 e9 ed e9 e9 e9 e9 fb e9 ed e9 e9 e9 e9 fa e9 ed fd e9 e9 e9 fd e9 ed e9 e9 e9 e9 fc e9 ed e9 e9 e9 e9 ff e9 f9 bb df da d8 b3 ac d8 a8 be a1 dd a4 db db df d9 fe e9 ed da fe e9 e9 f1 e9 ed e8 e9 e9 e9 08 4d"
2026-01-28 00:00:18 [DEBUG] homePageInfo QJsonObject({"battery.ext1.temperature":12,"battery.temperature":21,"input.realpower":40,"output.realpower":40})
2026-01-28 00:00:18 [DEBUG] send "aa 03 00 00 de 2d ea f2 01 00 ff ff 22 02 01 01 66 02 45 77"
2026-01-28 00:00:19 [DEBUG] recv "aa 03 b1 00 84 2f ea f2 01 00 01 44 02 22 01 01 66 02 eb eb ea ea e8 ea ee eb ea ea ea e9 ea ee ea d8 ea ea ee ea ee ff fc f3 f3 ef ea ee e6 e7 f3 f3 ec ea ee e6 e7 f3 f3 ed ea ee e5 80 f5 a8 e2 ea ee e5 80 f5 a8 e3 ea ee e5 80 f5 a8 e0 ea ee ea ea ea ea e1 ea ee ea ea ea ea e6 ea ee ea ea ea ea e7 ea ee b2 e8 ea ea e4 ea ee e5 80 f5 28 e5 ea ee d8 ea ea ea fa ea ee ea ea ea ea fb ea ee ea ea ea ea f8 ea ee ea ea ea ea f9 ea ee fe ea ea ea fe ea ee ea ea ea ea ff ea ee ea ea ea ea fc ea fa b8 dc d9 db b0 af db ab bd a2 de a7 d8 d8 dc da fd ea ee d9 fd ea ea f2 ea ee eb ea ea ea 93 d6"
2026-01-28 00:00:19 [DEBUG] homePageInfo QJsonObject({"battery.ext1.temperature":12,"battery.temperature":21,"input.realpower":40,"output.realpower":40})
2026-01-28 00:00:19 [DEBUG] send "aa 03 00 00 de 2d eb f2 01 00 ff ff 22 02 01 01 66 02 b8 b4"
2026-01-28 00:00:20 [DEBUG] recv "aa 03 b1 00 84 2f eb f2 01 00 01 44 02 22 01 01 66 02 ea ea eb eb e9 eb ef ea eb eb eb e8 eb ef eb d9 eb eb ef eb ef fe fd f2 f2 ee eb ef e7 e6 f2 f2 ed eb ef e7 e6 f2 f2 ec eb ef 73 e4 cd a9 e3 eb ef 73 e4 cd a9 e2 eb ef 73 e4 cd a9 e1 eb ef eb eb eb eb e0 eb ef eb eb eb eb e7 eb ef eb eb eb eb e6 eb ef b3 e9 eb eb e5 eb ef 73 e4 cd 29 e4 eb ef d9 eb eb eb fb eb ef eb eb eb eb fa eb ef eb eb eb eb f9 eb ef eb eb eb eb f8 eb ef ff eb eb eb ff eb ef eb eb eb eb fe eb ef eb eb eb eb fd eb fb b9 dd d8 da b1 ae da aa bc a3 df a6 d9 d9 dd db fc eb ef d8 fc eb eb f3 eb ef ea eb eb eb ff 58"
2026-01-28 00:00:20 [DEBUG] homePageInfo QJsonObject({"battery.ext1.temperature":12,"battery.temperature":21,"input.realpower":42,"output.realpower":42})
2026-01-28 00:00:20 [DEBUG] send "aa 03 00 00 de 2d ec f2 01 00 ff ff 22 02 01 01 66 02 4d 7f"
2026-01-28 00:00:21 [DEBUG] recv "aa 03 b1 00 84 2f ec f2 01 00 01 44 02 22 01 01 66 02 ed ed ec ec ee ec e8 ed ec ec ec ef ec e8 ec de ec ec e8 ec e8 f9 fa f5 f5 e9 ec e8 e0 e1 f5 f5 ea ec e8 e0 e1 f5 f5 eb ec e8 04 a0 cc ae e4 ec e8 04 a0 cc ae e5 ec e8 04 a0 cc ae e6 ec e8 ec ec ec ec e7 ec e8 ec ec ec ec e0 ec e8 ec ec ec ec e1 ec e8 b4 ee ec ec e2 ec e8 04 a0 cc 2e e3 ec e8 de ec ec ec fc ec e8 ec ec ec ec fd ec e8 ec ec ec ec fe ec e8 ec ec ec ec ff ec e8 f8 ec ec ec f8 ec e8 ec ec ec ec f9 ec e8 ec ec ec ec fa ec fc be da df dd b6 a9 dd ad bb a4 d8 a1 de de da dc fb ec e8 df fb ec ec f4 ec e8 ed ec ec ec 83 f3"
2026-01-28 00:00:21 [DEBUG] homePageInfo QJsonObject({"battery.ext1.temperature":12,"battery.temperature":21,"input.realpower":40,"output.realpower":40})
2026-01-28 00:00:21 [DEBUG] send "aa 03 00 00 de 2d ed f2 01 00 ff ff 22 02 01 01 66 02 b0 bc"
2026-01-28 00:00:22 [DEBUG] recv "aa 03 b1 00 84 2f ed f2 01 00 01 44 02 22 01 01 66 02 ec ec ed ed ef ed e9 ec ed ed ed ee ed e9 ed df ed ed e9 ed e9 f8 fb f4 f4 e8 ed e9 e1 e0 f4 f4 eb ed e9 e1 e0 f4 f4 ea ed e9 15 96 f2 af e5 ed e9 15 96 f2 af e4 ed e9 15 96 f2 af e7 ed e9 ed ed ed ed e6 ed e9 ed ed ed ed e1 ed e9 ed ed ed ed e0 ed e9 b5 ef ed ed e3 ed e9 15 96 f2 2f e2 ed e9 df ed ed ed fd ed e9 ed ed ed ed fc ed e9 ed ed ed ed ff ed e9 ed ed ed ed fe ed e9 f9 ed ed ed f9 ed e9 ed ed ed ed f8 ed e9 ed ed ed ed fb ed fd bf db de dc b7 a8 dc ac ba a5 d9 a0 df df db dd fa ed e9 de fa ed ed f5 ed e9 ec ed ed ed db 57"
2026-01-28 00:00:22 [DEBUG] homePageInfo QJsonObject({"battery.ext1.temperature":12,"battery.temperature":21,"input.realpower":40,"output.realpower":40})
2026-01-28 00:00:22 [DEBUG] send "aa 03 00 00 de 2d ee f2 01 00 ff ff 22 02 01 01 66 02 b4 b8"
2026-01-28 00:00:23 [DEBUG] recv "aa 03 b1 00 84 2f ee f2 01 00 01 44 02 22 01 01 66 02 ef ef ee ee ec ee ea ef ee ee ee ed ee ea ee dc ee ee ea ee ea fb f8 f7 f7 eb ee ea e2 e3 f7 f7 e8 ee ea e2 e3 f7 f7 e9 ee ea a2 ab cf ac e6 ee ea a2 ab cf ac e7 ee ea a2 ab cf ac e4 ee ea ee ee ee ee e5 ee ea ee ee ee ee e2 ee ea ee ee ee ee e3 ee ea b6 ec ee ee e0 ee ea a2 ab cf 2c e1 ee ea dc ee ee ee fe ee ea ee ee ee ee ff ee ea ee ee ee ee fc ee ea ee ee ee ee fd ee ea fa ee ee ee fa ee ea ee ee ee ee fb ee ea ee ee ee ee f8 ee fe bc d8 dd df b4 ab df af b9 a6 da a3 dc dc d8 de f9 ee ea dd f9 ee ee f6 ee ea ef ee ee ee 58 9c"
2026-01-28 00:00:23 [DEBUG] homePageInfo QJsonObject({"battery.ext1.temperature":12,"battery.temperature":21,"input.realpower":40,"output.realpower":40})
2026-01-28 00:00:23 [DEBUG] send "aa 03 00 00 de 2d ef f2 01 00 ff ff 22 02 01 01 66 02 49 7b"
2026-01-28 00:00:24 [DEBUG] recv "aa 03 b1 00 84 2f ef f2 01 00 01 44 02 22 01 01 66 02 ee ee ef ef ed ef eb ee ef ef ef ec ef eb ef dd ef ef eb ef eb fa f9 f6 f6 ea ef eb e3 e2 f6 f6 e9 ef eb e3 e2 f6 f6 e8 ef eb 3d c4 f0 ad e7 ef eb 3d c4 f0 ad e6 ef eb 3d c4 f0 ad e5 ef eb ef ef ef ef e4 ef eb ef ef ef ef e3 ef eb ef ef ef ef e2 ef eb b7 ed ef ef e1 ef eb 3d c4 f0 2d e0 ef eb dd ef ef ef ff ef eb ef ef ef ef fe ef eb ef ef ef ef fd ef eb ef ef ef ef fc ef eb fb ef ef ef fb ef eb ef ef ef ef fa ef eb ef ef ef ef f9 ef ff bd d9 dc de b5 aa de ae b8 a7 db a2 dd dd d9 df f8 ef eb dc f8 ef ef f7 ef eb ee ef ef ef 0e b8"
2026-01-28 00:00:24 [DEBUG] homePageInfo QJsonObject({"battery.ext1.temperature":12,"battery.temperature":21,"input.realpower":40,"output.realpower":40})
2026-01-28 00:00:24 [DEBUG] Driver installed successfully for "USB\\VID_3746&PID_FFFF&REV_0100"
2026-01-28 00:00:24 [DEBUG] Reboot is required.
2026-01-28 00:00:24 [DEBUG] Composite res true
2026-01-28 00:00:24 [DEBUG] send "aa 03 00 00 de 2d f0 f2 01 00 ff ff 22 02 01 01 66 02 9c 90"

 

Вкладення

  • ef1.JPG
    ef1.JPG
    44.5 КБ · Перегляди: 11
  • ef2.JPG
    ef2.JPG
    46.4 КБ · Перегляди: 11
  • ef3.JPG
    ef3.JPG
    55.7 КБ · Перегляди: 11
Останнє редагування:

Sergiys

У пошуку
Реєстрація
06.04.10
Місто
Київ
Телефон
РОСО X3 Pro
Витратив деякий час написав скрипт:

# Світло зникло
$yesterday = (Get-Date).AddDays(-1).ToString('yyyy-MM-dd')
$inputFile = "$yesterday.log"
$outputFile = "E:\off.txt"
$searchText = '"input.realpower":0,'

$match = Select-String -Path $inputFile -Pattern $searchText | Select-Object -First 1
if ($match) {
$substring = $match.Line.Substring(0, [Math]::Min(20, $match.Line.Length)).Trim()
$substring | Out-File -FilePath $outputFile -Encoding utf8 -Append
}

# Світло Є (зарядка)
$yesterday = (Get-Date).AddDays(-1).ToString('yyyy-MM-dd')
$inputFile = "$yesterday.log"
$outputFile = "E:\on.txt"
$searchText = '"input.realpower":400,'

$match = Select-String -Path $inputFile -Pattern $searchText | Select-Object -First 1
if ($match) {
$substring = $match.Line.Substring(0, [Math]::Min(20, $match.Line.Length)).Trim()
$substring | Out-File -FilePath $outputFile -Encoding utf8 -Append
 
Останнє редагування:
Зверху