NEWS
Unifi Steuern ohne Adapter (Script,SSH)
-
@adnim zeig mal ein bild vom setting des unifi-adapters (usernamen schwärzen)
-
-
@adnim ich hoffe, jmd anderes hat eine idee dazu
bei mir sieht die url für den controller so aus
-
@liv-in-sky na das ist bei mir ja genau gleich, die Unterschiede sind m.e
nur den DHCP Einstellungen und dem site Name geschuldet.@Feuersturm du hast ja den gleichen Fehler kannst du noch einen Unterschied zu deiner konfig entdecken?
-
@adnim ich bin aktuell unterwegs, ich werde heute Abend meine Konfiguration Posten.
-
mal ohne port probiert?
klappt denn ein Demo Script z.B nur mit Login/Logout?
An sich kann ich da immernoch nur ein verbindungsproblem erkennen und der fehler
ERROR: TypeError: Cannot read properties of undefined (reading '0')
ist daraus resultierend da etwas falsches zurück kommt.
ERROR: Error: getaddrinfo ENOTFOUND unifi
weiß auch nicht warum er immer von unifi spricht und nicht von der ip, hab aber auch nicht im code nachgesehen wie er reagieren müsste.
auf welchen os läuft denn iobroker? irgendwelche dns/host einträge geändert? Oder magst mal einen eintragen wie unifi.local mit der unifi ip und den hostnamen als ip verwenden?
Komisch das der adapter geht und das script nicht. oder benutzt du den benutzer vom adapter und der wird blockiert weil schon eingeloggt?
-
@kmxak @liv-in-sky
Bei mir kommt folgendes im Log (Debug-Level). Bei mir kommt der Fehler auch beim Verbindungsversuch.Konfiguration im Skript:
// Konfiguration const config = { hostname: "192.168.178.60", port: '8443', // 443 UDM Pro, 8443 für andere Controller username: 'admin.iobroker', password: 'xxxx', sslverify: false };
2024-06-02 20:01:30.568 - info: host.ioBroker instance system.adapter.daswetter.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) 2024-06-02 20:01:36.988 - debug: javascript.0 (19551) script.js.Skripte.Netzwerk.Unifi_vouchers_generieren: Trigger-Datenpunkt geändert: true 2024-06-02 20:01:36.991 - debug: javascript.0 (19551) script.js.Skripte.Netzwerk.Unifi_vouchers_generieren: Versuche, mich bei UniFi anzumelden... 2024-06-02 20:01:37.281 - error: javascript.0 (19551) script.js.Skripte.Netzwerk.Unifi_vouchers_generieren: ERROR: Error: getaddrinfo ENOTFOUND unifi 2024-06-02 20:01:37.284 - debug: javascript.0 (19551) script.js.Skripte.Netzwerk.Unifi_vouchers_generieren: Trigger aktiviert, erstelle neuen Voucher... 2024-06-02 20:01:37.356 - debug: javascript.0 (19551) script.js.Skripte.Netzwerk.Unifi_vouchers_generieren: Fehler beim Anlegen: Error: getaddrinfo ENOTFOUND unifi 2024-06-02 20:01:37.358 - debug: javascript.0 (19551) script.js.Skripte.Netzwerk.Unifi_vouchers_generieren: Logout bei UniFi... 2024-06-02 20:01:37.407 - error: javascript.0 (19551) script.js.Skripte.Netzwerk.Unifi_vouchers_generieren: Fehler beim Logout: Error: getaddrinfo ENOTFOUND unifi 2024-06-02 20:01:37.409 - debug: javascript.0 (19551) script.js.Skripte.Netzwerk.Unifi_vouchers_generieren: Voucher erstellt: undefined 2024-06-02 20:01:37.412 - error: javascript.0 (19551) script.js.Skripte.Netzwerk.Unifi_vouchers_generieren: ERROR: TypeError: Cannot read properties of undefined (reading '0')
Mein System iobroker
js-controller 5.0.19
nodejs: v18.20.3
javascript: v8.4.2 mit installietem node-unifi packet
unifi Adapter 0.7.0 welcher mir auch aktuelle Daten liefert
iobroker läuft in einem Container unter proxmox unter Ubuntu 22.04.4 LTS (GNU/Linux 6.5.13-1-pve x86_64)
Unifi
Unifi Controller: Netzwerk 8.1.127
Unifi-Hardware: 3 Switches (USW 24 G1, USW Flex Mini, USW Lite 8 PoE), 2 WLan Accesoints nanoHD, 1 UAP AC M
Link zum Unifi Controller: https://192.168.178.60:8443/manage/account/login (kein konfiguriertes https, Browser sagt: "Sie haben eine Sicherheitsausnahme für diese Webseite hinzugefügt"
iobroker läuft in einem Container unter proxmox unter Ubuntu 22.04.4 LTS (GNU/Linux 6.5.13-1-pve x86_64)Verwendete user mit denen bisher keine Verbindung möglich war: gleicher adminuser wie auch im unifi Adapter, hotspotmanager angelegt, zusätzlichen Admin user admin.iobroker
Komisch das der adapter geht und das script nicht. oder benutzt du den benutzer vom adapter und der wird blockiert weil schon eingeloggt?
Auch mit einem neuen Site-Admin User hat bekomme ich keine Verbindung
@liv-in-sky auch mit deinem kleinen Testskript
const Unifi = require('node-unifi'); const unifi22 = new Unifi.Controller({hostname:"192.168.178.60",port:'8443', sslverify: false}); async function main() { try { // LOGIN const loginData = await unifi22 .login('admin.iobroker', 'xxx'); console.log('login: ' + loginData); const myVouchers = await unifi22 .getVouchers(); console.log("vouchers: "+ JSON.stringify(myVouchers)) // LOGOUT const logoutData = await unifi22 .logout(); console.log('logout: ' + JSON.stringify(logoutData)); } catch (error) { console.log('ERROR: ' + error); } } main();
bekomme ich keine Verbindung
javascript.0 20:33:57.800 info Stopping script script.js.Skripte.Netzwerk.unifi-testverbindung javascript.0 20:33:58.535 info Start JavaScript script.js.Skripte.Netzwerk.unifi-testverbindung (Javascript/js) javascript.0 20:33:58.561 info script.js.Skripte.Netzwerk.unifi-testverbindung: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 20:33:58.565 info script.js.Skripte.Netzwerk.unifi-testverbindung: ERROR: Error: getaddrinfo ENOTFOUND unifi
-
ok - nur weil ich absolut nicht mehr weiß, was wir noch probieren könnten
wenn du lust hast,lege dir mal einen user an, der keine punkte oder bindestriche enthält - nur kleine buchstaben
-
@liv-in-sky sagte in Adapter: ioBroker.unifi:
wenn du lust hast,lege dir mal einen user an, der keine punkte oder bindestriche enthält - nur kleine buchstaben
Hab ich gemacht.
username: adminiobroker
passwort: nur kleine Buchstaben, keine Sonderzeichen.
Problem besteht weiterhin.Ich habe auch einmal die installierte node-unifi Packeteversion geprüft. Die unter dem Javascript Adapter installierte Version und über den unifi-Adapter mitgebrachte Version von node-unifi ist in beiden Fällen die Version 2.5.1. Hier ist also auch kein Unterschied.
-
@liv-in-sky So sehe im Unifi Controller meine Einstellungen aus.
Habt ihr hier noch irgendwelche Optionen extra aktiviert?
-
@feuersturm sagte in Adapter: ioBroker.unifi:
Version 2.5.1.
ja - habe ich auch gecheckt - beide gleich
im internet geht es immer um einen nodejs fehler - z.b. dns fehler der ja mit der ip nicht sein kann
-
ein unterschied ist auch, das ich version 7... vom conroller habe
-
@liv-in-sky sagte in Adapter: ioBroker.unifi:
ein unterschied ist auch, das ich version 7... vom conroller habe
Ich hab noch einen Snapshot vom unifi controller 7.4.162, den lade ich mal
Leider die gleiche Fehlermeldung beim Verbindungstestskript. Habe auch wieder meinen Site-Adminuser adminiobroker angelegt.
script.js.Skripte.Netzwerk.unifi-testverbindung: ERROR: Error: getaddrinfo ENOTFOUND unifi
-
man könnte auch mal den unifi adapt. stoppen - den npm cache löschen und das script testen
-
@liv-in-sky sagte in Adapter: ioBroker.unifi:
man könnte auch mal den unifi adapt. stoppen - den npm cache löschen und das script testen
Wie lösche ich den npm cache?
-
iob stop
cd /opt/iobroker
sudo -u iobroker npm cache clear --force
iob start -
@liv-in-sky
unifi controller 7
iobroker unifi Adapter gestoppt
dann iob stop undproxmox@ioBroker:~$ cd /opt/iobroker proxmox@ioBroker:/opt/iobroker$ sudo -u iobroker npm cache clear --force npm warn using --force Recommended protections disabled. proxmox@ioBroker:/opt/iobroker$ iob start
Skript für Verbindungstest ausgeführt
Leider weiterhinscript.js.Skripte.Netzwerk.unifi-testverbindung: ERROR: Error: getaddrinfo ENOTFOUND unifi
-
@feuersturm hoffentlich hat hausautomatisierung morgen noch eine idee
-
@drapo sagte in Unifi Steuern ohne Adapter (Script,SSH):
Mein Problem ist, dass mein Sohn meint mitten in der Nacht aufzustehen und an den TV zu sitzen. Wenn ich ihm den LAN Anschluss des TV abklemme erledigt sich das von selbst da er meist youtube oder Netflix schaut.
Offtopic
Du bist ja lustig!
Das Problem ist doch nicht der offene Port, sondern es liegt beim fehlenden Verständnis des Sohns.
Da würde ich ansetzen, denn es wird ja künftig sicher noch mehr Grenzüberschreitungen geben (es sei denn, er ist 42 Jahre alt und Elektroingenieur) .
-
Und je nachdem wie pfiffig der Sohnemann ist, aktiviert er beim TV das WLAN (falls vorhanden) und hat dann einen anderen Port.
Ich würde schauen, ob ich das irgendwie mit pi-hole oder so gelöst bekäme. So kann der TV (egal wie der Zugriff aufs www gerade funtkioniert) keine DNS-Auflösung und Streaming würde nicht gehen. Und man kann auch gleich das Tablet/Handy des Sohnemanns mit berücksichtigen.