Homekit - ошибка

Друзья пытаюсь установить node-red-contrib-homekit-bridged
Выдает такую ошибку

Подскажите как исправить?

2024-04-18T14:28:35.393Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict node-red-contrib-homekit-bridged@1.6.1

2024-04-18T14:28:40.005Z [err] npm

2024-04-18T14:28:40.009Z [err]

2024-04-18T14:28:40.010Z [err] WARN config

2024-04-18T14:28:40.010Z [err] production Use --omit=dev instead.

2024-04-18T14:29:02.333Z [err] npm

2024-04-18T14:29:02.333Z [err] ERR!

2024-04-18T14:29:02.334Z [err] code EBADENGINE

2024-04-18T14:29:02.355Z [err] npm

2024-04-18T14:29:02.356Z [err] ERR! engine Unsupported engine

2024-04-18T14:29:02.356Z [err] npm ERR! engine Not compatible with your version of node/npm: @homebridge/ciao@1.2.0

2024-04-18T14:29:02.357Z [err] npm

2024-04-18T14:29:02.357Z [err] ERR! notsup Not compatible with your version of node/npm: @homebridge/ciao@1.2.0

2024-04-18T14:29:02.357Z [err] npm

2024-04-18T14:29:02.358Z [err] ERR! notsup

2024-04-18T14:29:02.358Z [err] Required: {“node”:“^18 || ^20”}

2024-04-18T14:29:02.358Z [err] npm ERR!

2024-04-18T14:29:02.358Z [err] notsup Actual: {“npm”:“8.19.2”,“node”:“v16.18.1”}

2024-04-18T14:29:02.375Z [err]

2024-04-18T14:29:02.377Z [err] npm

2024-04-18T14:29:02.378Z [err] ERR!

2024-04-18T14:29:02.378Z [err] A complete log of this run can be found in:

2024-04-18T14:29:02.378Z [err] npm ERR! /root/.npm/_logs/2024-04-18T14_28_39_650Z-debug-0.log

2024-04-18T14:29:02.432Z rc=1

вот это основное и как мне обновиться?


попробовал через командную строку и тоже не хочет

Добрый день.
Очевидно что устанавливаемый плагин не поддерживает текущую версию nodejs.
Обновите nodejs до 20.5.1-deb-1nodesource1 (если не используете zigbee2mqtt) либо установите nodered в docker.
Но вообще - советую использовать интеграции в HA.

подскажите как обновится?

Совершенно штатно:

echo 'deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x bullseye main' > /etc/apt/sources.list.d/nodesource20.list
apt update && apt install nodejs=20.5.1-deb-1nodesource1

Выполняйте команды только после того как убедитесь что понимаете изменения в системе.

добрый день, похожая проблема. Установил NodeRed в docker. Выдает ту же ошибку, как теперь быть? Я как понимаю нужно накатить nodejs также в docker, как это сделать?) ПОдскажите пожалуйста, спасибо

Добрый день.
Какая версия nodejs стоит в контейнере?
Если ниже требуемой - установите контейнер с более новой версией. Обновление в существующем, конечно, тоже возможно - но нетривиально.

Извиняюсь, с контейнером столкнулся впервые. Подскажите пожалуйста как это сделать.

Боюсь там наверно придется еще как-то связывать контейнеры между собой, чтобы NodeRed использовал нужную версию) Это предположения

Следует выбрать и установить контейнер уже содержащий нужную версию компонентов. Например это подробнейшим образом описано в документации Контейнеры - перечислены в репозитории: https://hub.docker.com/r/nodered/node-red/tags

понял, спаибо. Пошел пробовать

Проверьте пожалуйста 3ий пункт, там никаких лишних тегов нет? Спасибо

Установка NodeRed

  1. Выбираем образ
    docker pull nodered/node-red:3.1-debian

  2. определяем NAME и IMAGE_ID
    docker image ls

  3. docker run -it --name node-red 2baa3b4da619 --privileged --restart=unless-stopped -e TZ=Europe/Moscow -v /mnt/data/root/nodered:/data -e NODE_OPTIONS=“–max_old_space_size=256” --network=host nodered/node-red

Попробовал еще миллион разных вариантов.

Сбросил контроллер до заводских, поставил docker по инструкции Установка Docker на контроллер Wiren Board — Wiren Board

Далее установил nodered на docker

  1. docker pull nodered/node-red:3.1.0-18
  2. docker run -it --name node-red b931057ee245 --restart unless-stopped

web не запускается

Пробую воспроизвести. Установлен докер, проверяю:

docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete 
Digest: sha256:a26bff933ddc26d5cdf7faa98b4ae1e3ec20c4985e6f87ac0973052224d24302
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Ну и ставлю:

docker pull nodered/node-red:3.1.0-18
3.1.0-18: Pulling from nodered/node-red
96526aa774ef: Pull complete 
3130715204cf: Pull complete 
b06de8ab1c4f: Pull complete 
90ef3ffc5156: Extracting [==================================================>]     448B/448B
b6a5c5e0d534: Download complete 
eb0750bc61fe: Download complete 
11623a76b03b: Download complete 
4f4fb700ef54: Download complete 
71f5f9804570: Download complete 
f75686d65cfe: Download complete 
6093e8477fc8: Download complete 
4a97ac1c1b69: Download complete 
991df60ddbf8: Download complete 
fc8c4f1a1678: Download complete 
c2e1a2802a47: Download complete 
90f27ac5ca03: Download complete 
a172c95dd9a2: Download complete 

запускаю

docker run -it -d -p 1880:1880 --name node-red 5fd5da871f28 --restart unless-stopped -it
a6e1aee22c11313c8fe278dfbc5de1564f6ca5ec648f659f21358d4aa584c687

Процесс

ps ax |grep nod
   2720 pts/0    Sl+    0:01 node-red
   2744 pts/0    S+     0:00 grep nod

Ну и ожидаемое:

wget 127.0.0.1:1880 -O -
--2024-05-08 15:23:59--  http://127.0.0.1:1880/
Connecting to 127.0.0.1:1880... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1670 (1.6K) [text/html]
Saving to: 'STDOUT'

-                                                                                       0%[                                                                                                                                                                                                                        ]       0  --.-KB/s               <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<!--
  Copyright OpenJS Foundation and other contributors, https://openjsf.org/

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<title>Node-RED</title>
<link rel="icon" type="image/png" href="favicon.ico">
<link rel="mask-icon" href="red&#x2F;images&#x2F;node-red-icon-black.svg" color="#8f0000">
<link rel="stylesheet" href="vendor/jquery/css/base/jquery-ui.min.css?v=">
<link rel="stylesheet" href="vendor/font-awesome/css/font-awesome.min.css?v=">
<link rel="stylesheet" href="red/style.min.css?v=">
<link rel="stylesheet" href="vendor/monaco/style.css?v=">
</head>
<body spellcheck="false">
<div id="red-ui-editor"></div>
<script src="vendor/vendor.js?v="></script>
<script src="vendor&#x2F;monaco&#x2F;monaco-bootstrap.js?v="></script>
<script src="red&#x2F;red.min.js?v="></script>
<script src="red&#x2F;main.min.js?v="></script>


</body>
</html>
-                                                                                     100%[=======================================================================================================================================================================================================================>]   1.63K  --.-KB/s    in 0s      

2024-05-08 15:23:59 (193 MB/s) - written to stdout [1670/1670]

root@test206:~# 

Все заработало, дело было в команде run. Спасибо)
docker run -it -d -p 1880:1880 --name node-red 5fd5da871f28 --restart unless-stopped -it

Добрый день, извиняюсь за повторное беспокойство.

После reboot контроллера все контейнеры со статусами exited, Nodered со статусом (exited 143)

Устанавливал NodeRed на Docker (Wirenboard) по этой схеме:

  1. Убедиться в наличии свободного места в root
  2. Устанавливаем Docker по инструкции Установка Docker на контроллер Wiren Board — Wiren Board
  3. docker pull nodered/node-red:3.1.0-18
  4. создаем директорию под служебные файлы как в инструкции Установка Node-RED в docker — альтернативный способ установки — Wiren Board
  5. docker image ls (находим ID контейнера)
  6. docker run -it -p 1880:1880 -v /mnt/data/root/nodered:/data --name node-red b931057ee245 --restart unless-stopped -it
  7. проверка статуса контейнера docker ps -a

image

По новой запускаю контейнер, далее он живет до перезагрузки контроллера. Второй контейнер hello world со статусом exited

Боюсь предположить, что для нормальной работы NodeRed нужно еще много флагов с доп опциями, как расписано в вашей инструкции Установка Node-RED в docker — альтернативный способ установки — Wiren Board

Мы же с вами использовали коротку команду без доп опций (команду взял из вашего сообщения выше):
docker run -it -d -p 1880:1880 --name node-red 5fd5da871f28 --restart unless-stopped -it

Т.к. NodeRed в статусе exited (143), а в момент работы status unhealthy

В логах ошибок нет