Unifi network en Early Access - Démon ne démarre plus

Bonjour
Depuis le 20/10, le demon du plugin Unifi ne veut plus démarrer. J’ai réinstallé les dépendances mais rien n’y fait. Jeedom est en 4.3.17 et unifi est est à jour
Comme console, j’ai une une dream Machine
Les log sont peu locace

[2023-10-24 15:12:04]INFO : Arrêt du démon Unifi
[2023-10-24 15:12:09]INFO : Lancement du démon Unifi
[2023-10-24 15:12:09]INFO : Démon Unifi lancé
[2023-10-24 15:12:49]ERROR : Attention je pense qu'il y a un soucis avec le démon que j'ai relancé plus de 3 fois consécutivement
[2023-10-24 15:12:49]INFO : Arrêt du démon Unifi
[2023-10-24 15:12:54]INFO : Lancement du démon Unifi
[2023-10-24 15:12:55]DEBUG : Lancement du démon Unifi : nice -n 19 node --trace-warnings /var/www/html/plugins/unifi/resources/unifiDaemon.js http://192.168.xx.xx/core/api/jeeApi.php xxxxxxxxxxxxxxxx 58879 debug 192.168.44.254 443 default xxxxxx xxxxxxxxxxxx= 1 1 1 1 60
[2023-10-24 15:12:55]INFO : Démon Unifi lancé
[2023-10-24 15:15:03]ERROR : Attention je pense qu'il y a un soucis avec le démon que j'ai relancé plus de 3 fois consécutivement
[2023-10-24 15:15:03]INFO : Arrêt du démon Unifi
[2023-10-24 15:15:08]INFO : Lancement du démon Unifi
[2023-10-24 15:15:08]DEBUG : Lancement du démon Unifi : nice -n 19 node --trace-warnings /var/www/html/plugins/unifi/resources/unifiDaemon.js http://192.168.xx.xx/core/api/jeeApi.php xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2390 debug 192.168.xx.xxx 443 default xxxxxx xxxxxxxx= 1 1 1 1 60
[2023-10-24 15:15:08]INFO : Démon Unifi lancé


Une raison ? Une idée ? une solution ? :grin:

Merci

Bonjour,

si le démon ne démarre plus, tu peux donner le log du démon pour voir pourquoi il réponds pas ?

et si tu as lancé les dépendances, tu peux aussi fournir le log ?

merci pout ta réactivité
Les voici

transitional: [Object],
adapter: [Function: httpAdapter],
transformRequest: [Array],
transformResponse: [Array],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: [Object],
validateStatus: [Function: validateStatus],
headers: [Object],
httpAgent: [CookieAgent],
httpsAgent: [CookieAgent],
method: 'post',
url: 'https://x/api/login',
data: '{"username":"x","password":"x"}'
},
request:  ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: 46,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: [TLSSocket],
_header: 'POST /api/login HTTP/1.1
' +
'Accept: application/json, text/plain, */*
' +
'Content-Type: application/json
' +
'User-Agent: axios/0.27.2
' +
'Content-Length: 46
' +
'Host: x
' +
'Connection: close
' +
'
',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [CookieAgent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
joinDuplicateHeaders: undefined,
path: '/api/login',
_ended: true,
res: [IncomingMessage],
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.44.254',
protocol: 'https:',
_redirectable: [Writable],
emit: [Function (anonymous)],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(errored)]: null,
[Symbol(kHighWaterMark)]: 16384,
[Symbol(kRejectNonStandardBodyWrites)]: false,
[Symbol(kUniqueHeaders)]: null
},
data: { error: [Object] }
}
}
[24-10-2023 15:25:08]INFO : Exit
[24-10-2023 15:30:08]INFO : Démarrage démon Unifi...
[24-10-2023 15:30:08]DEBUG : urlJeedom = http://x/core/api/jeeApi.php
[24-10-2023 15:30:08]DEBUG : apiKey = x
[24-10-2023 15:30:08]DEBUG : serverPort = 45498
[24-10-2023 15:30:08]DEBUG : logLevel = debug
[24-10-2023 15:30:08]DEBUG : unifiHost = x
[24-10-2023 15:30:08]DEBUG : unifiPort = 443
[24-10-2023 15:30:08]DEBUG : unifiSite = default
[24-10-2023 15:30:08]DEBUG : unifiUser = x
[24-10-2023 15:30:08]DEBUG : unifiPass = x
[24-10-2023 15:30:08]DEBUG : ignoreLast_seen = true
[24-10-2023 15:30:08]DEBUG : ignoreSatisfaction = true
[24-10-2023 15:30:08]DEBUG : ignoreUptime = true
[24-10-2023 15:30:08]DEBUG : ignoreUpDown = true
[24-10-2023 15:30:08]DEBUG : regularPollingTime = 60000
[24-10-2023 15:30:08]INFO : Démon prêt et à l'écoute sur 45498 !
[24-10-2023 15:30:08]INFO : Connexion au controleur Unifi...
ERROR startListening:  [AxiosError: Request failed with status code 401] {
code: 'ERR_BAD_REQUEST',
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [Function: httpAdapter],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function] },
validateStatus: [Function: validateStatus],
headers: {
Accept: 'application/json, text/plain, */*',
'Content-Type': 'application/json',
'User-Agent': 'axios/0.27.2',
'Content-Length': 46
},
httpAgent: CookieAgent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 80,
protocol: 'http:',
options: [Object: null prototype],
requests: [Object: null prototype] {},
sockets: [Object: null prototype] {},
freeSockets: [Object: null prototype] {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'lifo',
maxTotalSockets: Infinity,
totalSocketCount: 0,
jar: [CookieJar],
[Symbol(kCapture)]: false
},
httpsAgent: CookieAgent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 443,
protocol: 'https:',
options: [Object: null prototype],
requests: [Object: null prototype] {},
sockets: [Object: null prototype],
freeSockets: [Object: null prototype] {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'lifo',
maxTotalSockets: Infinity,
totalSocketCount: 1,
maxCachedSessions: 100,
_sessionCache: [Object],
jar: [CookieJar],
[Symbol(kCapture)]: false
},
method: 'post',
url: 'https://x/api/login',
data: '{"username":"x","password":"x"}'
},
request:  ClientRequest {
_events: [Object: null prototype] {
abort: [Function (anonymous)],
aborted: [Function (anonymous)],
connect: [Function (anonymous)],
error: [Function (anonymous)],
socket: [Function (anonymous)],
timeout: [Function (anonymous)],
finish: [Function: requestOnFinish]
},
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: 46,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
secureConnecting: false,
_SNICallback: null,
servername: false,
alpnProtocol: false,
authorized: false,
authorizationError: 'DEPTH_ZERO_SELF_SIGNED_CERT',
encrypted: true,
_events: [Object: null prototype],
_eventsCount: 10,
connecting: false,
_hadError: false,
_parent: null,
_host: null,
_closeAfterHandlingError: false,
_readableState: [ReadableState],
_maxListeners: undefined,
_writableState: [WritableState],
allowHalfOpen: false,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: undefined,
_server: null,
ssl: [TLSWrap],
_requestCert: true,
_rejectUnauthorized: false,
parser: null,
_httpMessage: [Circular *1],
[Symbol(res)]: [TLSWrap],
[Symbol(verified)]: true,
[Symbol(pendingSession)]: null,
[Symbol(async_id_symbol)]: 28,
[Symbol(kHandle)]: [TLSWrap],
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: null,
[Symbol(kBuffer)]: null,
[Symbol(kBufferCb)]: null,
[Symbol(kBufferGen)]: null,
[Symbol(kCapture)]: false,
[Symbol(kSetNoDelay)]: false,
[Symbol(kSetKeepAlive)]: true,
[Symbol(kSetKeepAliveInitialDelay)]: 60,
[Symbol(kBytesRead)]: 0,
[Symbol(kBytesWritten)]: 0,
[Symbol(connect-options)]: [Object]
},
_header: 'POST /api/login HTTP/1.1
' +
'Accept: application/json, text/plain, */*
' +
'Content-Type: application/json
' +
'User-Agent: axios/0.27.2
' +
'Content-Length: 46
' +
'Host: 192.168.44.254
' +
'Connection: close
' +
'
',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: CookieAgent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 443,
protocol: 'https:',
options: [Object: null prototype],
requests: [Object: null prototype] {},
sockets: [Object: null prototype],
freeSockets: [Object: null prototype] {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'lifo',
maxTotalSockets: Infinity,
totalSocketCount: 1,
maxCachedSessions: 100,
_sessionCache: [Object],
jar: [CookieJar],
[Symbol(kCapture)]: false
},
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
joinDuplicateHeaders: undefined,
path: '/api/login',
_ended: true,
res: IncomingMessage {
_readableState: [ReadableState],
_events: [Object: null prototype],
_eventsCount: 4,
_maxListeners: undefined,
socket: [TLSSocket],
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: true,
rawHeaders: [Array],
rawTrailers: [],
joinDuplicateHeaders: undefined,
aborted: false,
upgrade: false,
url: '',
method: null,
statusCode: 401,
statusMessage: 'Unauthorized',
client: [TLSSocket],
_consuming: false,
_dumped: false,
req: [Circular *1],
responseUrl: 'https://x/api/login',
redirects: [],
[Symbol(kCapture)]: false,
[Symbol(kHeaders)]: [Object],
[Symbol(kHeadersCount)]: 24,
[Symbol(kTrailers)]: null,
[Symbol(kTrailersCount)]: 0
},
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'x',
protocol: 'https:',
_redirectable: Writable {
_writableState: [WritableState],
_events: [Object: null prototype],
_eventsCount: 3,
_maxListeners: undefined,
_options: [Object],
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 46,
_requestBodyBuffers: [],
_onNativeResponse: [Function (anonymous)],
_currentRequest: [Circular *1],
_currentUrl: 'https://x/api/login',
[Symbol(kCapture)]: false
},
emit: [Function (anonymous)],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype] {
accept: [Array],
'content-type': [Array],
'user-agent': [Array],
'content-length': [Array],
host: [Array]
},
[Symbol(errored)]: null,
[Symbol(kHighWaterMark)]: 16384,
[Symbol(kRejectNonStandardBodyWrites)]: false,
[Symbol(kUniqueHeaders)]: null
},
response: {
status: 401,
statusText: 'Unauthorized',
headers: {
server: 'nginx',
date: 'Tue, 24 Oct 2023 13:30:08 GMT',
'content-type': 'application/json',
'content-length': '47',
connection: 'close',
'referrer-policy': 'no-referrer',
'strict-transport-security': 'max-age=15552000; includeSubDomains',
'x-content-type-options': 'nosniff',
'x-dns-prefetch-control': 'off',
'x-frame-options': 'SAMEORIGIN',
'x-xss-protection': '1; mode=block',
'set-cookie': [Array]
},
config: {
transitional: [Object],
adapter: [Function: httpAdapter],
transformRequest: [Array],
transformResponse: [Array],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: [Object],
validateStatus: [Function: validateStatus],
headers: [Object],
httpAgent: [CookieAgent],
httpsAgent: [CookieAgent],
method: 'post',
url: 'https://x/api/login',
data: '{"username":"x","password":"x"}'
},
request:  ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: 46,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: [TLSSocket],
_header: 'POST /api/login HTTP/1.1
' +
'Accept: application/json, text/plain, */*
' +
'Content-Type: application/json
' +
'User-Agent: axios/0.27.2
' +
'Content-Length: 46
' +
'Host: x
' +
'Connection: close
' +
'
',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [CookieAgent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
joinDuplicateHeaders: undefined,
path: '/api/login',
_ended: true,
res: [IncomingMessage],
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'x',
protocol: 'https:',
_redirectable: [Writable],
emit: [Function (anonymous)],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(errored)]: null,
[Symbol(kHighWaterMark)]: 16384,
[Symbol(kRejectNonStandardBodyWrites)]: false,
[Symbol(kUniqueHeaders)]: null
},
data: { error: [Object] }
}
}
[24-10-2023 15:30:08]INFO : Exit

J’adore les logs avec le mot de passe en clair :woozy_face: :exploding_head:

et voila

== Jeedom 4.3.17 sur Debian GNU/Linux 10 (buster)/amd64/x86_64/64bits aka 'diy' avec nodeJS v18.17.1 et jsonrpc:enable et unifi (stable) 2023-09-30 08:46:47 (avant:stable/2023-05-10 10:42:57)
======================================================================
== 24/10/2023 15:35:47 == Installation des dépendances de unifi
======================================================================
[  0% ] : Vérification des droits...
[  4% ] : Vérification des droits : [  OK  ]
[  5% ] : Mise à jour APT et installation des packages nécessaires...
[  9% ] : Mise à jour APT et installation des packages nécessaires : [  OK  ]
[ 10% ] : Prérequis...
[ 14% ] : Prérequis : [  OK  ]
[ 15% ] : Installation des packages nécessaires...
[ 19% ] : Installation des packages nécessaires : [  OK  ]
[ 20% ] : Vérification du système...
[ 24% ] : Vérification du système : [  OK  ]
[ 25% ] : Vérification de la version de NodeJS installée...
[Check Version NodeJS actuelle : v18.17.1 : [  OK  ]
[Check Version NPM : 8.19.2 : [  OK  ]
[Check Prefixe : /usr/local et sudo prefixe : /usr/local et www-data prefixe : /usr/local : [  OK  ]
[ 49% ] : Vérification de la version de NodeJS installée : [  OK  ]
[ 50% ] : Nettoyage...
[ 59% ] : Nettoyage : [  OK  ]
[ 60% ] : Nettoyage anciens modules...
[ 69% ] : Nettoyage anciens modules : [  OK  ]
[ 70% ] : Installation des librairies, veuillez patienter svp...
[ 79% ] : Installation des librairies, veuillez patienter svp : [  OK  ]
[ 80% ] : Nettoyage des images...
[ 99% ] : Nettoyage des images : [  OK  ]
[100% ] : Terminé !
======================================================================
== OK == Installation Réussie
======================================================================

un problème sur ton certificat sur ton udm je dirais

ou un problème de login

logique, c’est un crash, tout est fourni

envoi moi le log non censuré en privé stp (pas de crainte, c’est un login local)

Pour le mot de passe, je suis sûr que rien n’a changé.
Est-ce un problème de processus d’authentification ? car je vois plein de changement à ce niveau (netatmo, tapo, worx, etc…)

pas que je sache, j’ai la dernière version software et rien n’a changé…

vérifie ce que je t’ai dit.

J’ai la version dream machine 3.2.5 et je crois qu’il y a eu une mise à jour récemment
https://community.ui.com/releases/UniFi-OS-Dream-Machines-3-2-5/bd5b3e5f-0459-41c4-b179-33120fa07b56

Vérifie ton certificat !

Je ne suis pas sur place, je regarde ce soir mais je ne le gère pas et il est surement auto-signé
Tu veux quoi comme information ?

S’il est toujours valide

image
c’est pas une version stable du coup ?

je suis en 7.5.187 (dernière version unifi Network chez eux !) et aucun problème.

donc je penche vraiment pour un problème isolé de ton coté…

Je suis en 8.0.2 (EA).

UniFi Network Application 8.0.2
270
17.9k

Comment

Follow
Overview
Added VLAN Viewer, an easy way to see Native and Tagged VLANs across your devices.
Added Radio Manager, it provides an easy overview of the Radios and their configurations/performance and allows bulk edit.
Added support for WireGuard VPN Clients and improved feedback.
Improved Port Manager.
Improvements
Added validation in VPN Server settings when the port overlaps with a Port forward.
Added validation for Peer/Local IP in Site-to-Site VPN settings.
Added messaging to create traffic routes after creating VPN Clients.
Added confirmation message when configuring Network Overrides.
Added ability to select networks for suspicious activities.
Allow opening predefined firewall rules.
Improved Site-to-Site VPN validations.
Improved TFTP Server Validation.
Improved actionable feedback when Outdoor Mode is enabled.
Improved adding clients to MAC Address Filters.
Improved System Logs for client connections.
Improved configuration file generation time for OpenVPN Servers.
Improved page performance on larger setups.
Improved Traffic Rule IP Address validation.
Improved Firewall Rules UX.
Improved Security Settings UX.
Improved Global Network Settings UX.
Show hostname for clients in overview.
Increased VPN Clients limit from 5 to 10.
Moved filters to the left side in Device and Client pages.
Locked the first column for Devices/Clients pages when scrolling horizontally.
Removed Global AP Settings, you can now use Radio Manager for bulk editing.
Enabled auto upgrade for UXG-Pro after the adoption is completed.
Changed WiFi Experience to TX retries for APs in their device panel.
Collapse RF Scan tab by default in the AP device panel.
Remove Site-to-Site Auto IPSec if the adopted gateway doesn't support it.
Remove PPTP Server if the adopted gateway doesn't support it.
Remove LTE Failover WAN from IPTV Options.
Bugfixes
Fixed an issue where blocked clients couldnt connect until next AP provision if they were removed.
Fixed incorrect channel width for BeaconHD/U6-Extender.
Fixed incorrect calculations for Usable Hosts in Networks.
Fixed missing ISP Name in internet related notifications.
Fixed rare gateway adoption issues via L3.
Fixed an issue where WiFiMan speedtest results were not shown.
Fixed issue where WAN configuration is not populated when moving a gateway device to a new site.
Fixed an issue where CGNAT IP addresses were incorrectly marked as Public IPs for Site Magic.
Fixed invalid connected client count for In-Wall APs.
Fixed unmanaged Network devices are not shown on clients and device pages in rare cases.
Additional information
(Recommended) - Create an up-to-date backup before upgrading your UniFi Network Application settings in the event any issues are encountered.


early accès donc… sorry je peux pas faire du support là dessus.

Je supporte le release candidate à la limite mais quand même pas les phases en cours de développement…

Je comprends mais tu risques voir le problème apparaître bientôt :smiling_face_with_tear:

tu peux éditer le fichier /var/www/html/plugins/unifi/resources/unifiDaemon.js

et ajouter cette ligne qui est faite pour les systèmes en développement qui n’ont pas des certificats corrects :

process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;

en première ligne. ça devrait résoudre ton problème, mais si je fais ça dans le plugin, c’est un problème de sécurité.