NEWS
Unifi Steuern ohne Adapter (Script,SSH)
-
wenn ich mal Zeit hab, schalt ich snmp ein und lass mal n MIB drueber laufen.. dann halt mal durchklicken und schauen, welche States dargestellt werden und welche man setzen kann.. vielleicht geht damit ja auch recht easy Port-up/down etc..
Der iobroker hat ja n faehigen snmp adapter.
-
@draexler sagte in Adapter: ioBroker.unifi:
@ilovegym Kann man über ssh auch voucher für gästewlan generieren?
teste mal das - da kannst du angeblich vouchers anlegen - habe die nicht aktiviert, daher kann ich nicht testen
du musst die node-unifi in die zusätzlichen npm module in der js.instanz eintragen
const Unifi = require('node-unifi'); const unifi = new Unifi.Controller({hostname:"192.168.178.xx",port:'8443', sslverify: false}); (async () => { try { // LOGIN const loginData = await unifi.login('user', 'password!'); console.log('login: ' + loginData); //const switchmac="b4:fb:e4:f3:96:63" // Get data from a specific unifi device based on MAC address //const deviceData = await unifi.getAccessDevices(switchmac); // Console.log('getAccessDevices: ' + JSON.stringify(deviceData)); // Get device id //const deviceId = deviceData[0]._id; //console.log('deviceId: ' + deviceId + ' ip: ' + deviceData[0].ip); // GET SITE STATS // const sites = await unifi.getSitesStats(); // console.log('getSitesStats: ' + sites[0].name + ':' + sites.length); // console.log(JSON.stringify(sites)); // GET SITE SYSINFO // const sysinfo = await unifi.getSiteSysinfo(); // console.log('getSiteSysinfo: ' + sysinfo.length); //console.log(JSON.stringify(sysinfo)); // GET CLIENT DEVICES // const clientData = await unifi.getClientDevices(); // console.log('getClientDevices: ' + clientData.length); // console.log(JSON.stringify(clientData)); // GET ALL USERS EVER CONNECTED //const usersData = await unifi.getAllUsers(); //console.log('getAllUsers: ' + usersData.length); //console.log(JSON.stringify(usersData)); const clientVoucher = await unifi.createVouchers(123,1,0,"testthis"); // LOGOUT const logoutData = await unifi.logout(); console.log('logout: ' + JSON.stringify(logoutData)); } catch (error) { console.log('ERROR: ' + error); } })();
-
@liv-in-sky Hört sich schon mal gut an. Also trage ich einfach in der js.instanz bei den npm Komponenten "node-unifi" ein? Wenn ja, wie geht es dann weiter? Arbeite wie die meisten hier nur mit Blockly...
-
@draexler sagte in Adapter: ioBroker.unifi:
Also trage ich einfach in der js.instanz bei den npm Komponenten "node-unifi" ein?
ja
eintragen und enter drücken - sonst wird es nicht angenommen - die instanz startet dann neuansschliessend script anlegen und hostname (zeile3) und user und kennwort (zeile8) anpassen
dann:
aufrufen und im voucher-admin nachsehen, ob was angekommen ist -
hier siehst du was in die klammer der funktion createVouchers kommen muss
es müßte reichen, wenn du minutes,count,quota und note einträgst createVouchers(180,1,0,"testthisvoucher");
-
ich frage mal direkt dazwischen ob man den voucher code auch irgendwo abgreifen kann damit ich den irgendwo darstellen kann und nicht im portal schauen muss
-
das selbe script nur mit der funktion - teste mal -- ich hoffe es stimmt so
const myVouchers = await unifi.getVouchers(); console.log("vouchers: "+ myVouchers)
-
mh ich bekomme aktuell Error: failed to detect UniFiOS status
-
ich nutze die controller auf linux installiert - hast du den auch
-
ne ich hab ne udm pro
-
das ist die seite, wo ich die infos her habe - https://github.com/jens-maus/node-unifi
laut diesem issue, sollte es theoretisch funktionieren https://github.com/jens-maus/node-unifi/issues/227
-
wer interesse hat, was alles gehen sollte
https://github.com/jens-maus/node-unifi/blob/master/unifi.js
bei mir werden rechts die ganzen funktionen angezeigt:
-
bei mir sind wohl noch alte vouchers im system
mit diesem script sehe ich sie und könnte sie dann in der vis anzeigen ode rüber telegram versenden ...
log:
script.js.MYSTUFF.ALLERLEI.AAAUNIFI.unifi-wlan-schalten3: vouchers: [{"duration":123,"qos_overwrite":false,"note":"testthis","code":"6566218181","for_hotspot":false,"create_time":1717058841,"quota":0,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"66583d19108fed3b1dc7283c","admin_name":"e","used":0,"status":"VALID_MULTI","status_expires":0},{"duration":123,"qos_overwrite":false,"note":"testthis","code":"7113118220","for_hotspot":false,"create_time":1717058021,"quota":0,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"665839e5108fed3b1dc72722","admin_name":"e","used":0,"status":"VALID_MULTI","status_expires":0},{"duration":123,"qos_overwrite":false,"note":"testthis","code":"4515536233","for_hotspot":false,"create_time":1717057059,"quota":0,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"66583623108fed3b1dc725f0","admin_name":"e","used":0,"status":"VALID_MULTI","status_expires":0},{"duration":5760,"qos_overwrite":false,"note":null,"code":"8241421156","for_hotspot":false,"create_time":1650354689,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"625e6a0197578402ac2db67c","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":5760,"qos_overwrite":false,"note":null,"code":"7446834263","for_hotspot":false,"create_time":1650354689,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"625e6a0197578402ac2db67b","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":525600,"qos_overwrite":false,"note":null,"code":"7358319725","for_hotspot":false,"create_time":1650354660,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"625e69e497578402ac2db679","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"2729460620","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7096","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"1795017450","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7095","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"2281225310","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7094","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"0356279115","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7093","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"3544056744","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7092","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"6426769406","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7091","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"2298091277","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7090","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"8878654311","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f708f","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"6946187591","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f708e","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"0579279641","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f708d","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0}]
im log ist der erste eintrag ein test mit 123... - wurde wohl angelegt - damit funktioniert es wohl
-
die info mit dem port dazu müsste ich ja den code ändern.
die letzte info mit den funktionen ist nützlich. wie bekommst die anzeige hin? mir wird das in github nicht angezeigt
-
@kmxak
das weiß ich nicht war einfach da - wie sieht es bei dir aus -
@liv-in-sky sagte in Adapter: ioBroker.unifi:
bei mir sind wohl noch alte vouchers im system
mit diesem script sehe ich sie und könnte sie dann in der vis anzeigen ode rüber telegram versenden ...
log:
script.js.MYSTUFF.ALLERLEI.AAAUNIFI.unifi-wlan-schalten3: vouchers: [{"duration":123,"qos_overwrite":false,"note":"testthis","code":"6566218181","for_hotspot":false,"create_time":1717058841,"quota":0,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"66583d19108fed3b1dc7283c","admin_name":"e","used":0,"status":"VALID_MULTI","status_expires":0},{"duration":123,"qos_overwrite":false,"note":"testthis","code":"7113118220","for_hotspot":false,"create_time":1717058021,"quota":0,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"665839e5108fed3b1dc72722","admin_name":"e","used":0,"status":"VALID_MULTI","status_expires":0},{"duration":123,"qos_overwrite":false,"note":"testthis","code":"4515536233","for_hotspot":false,"create_time":1717057059,"quota":0,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"66583623108fed3b1dc725f0","admin_name":"e","used":0,"status":"VALID_MULTI","status_expires":0},{"duration":5760,"qos_overwrite":false,"note":null,"code":"8241421156","for_hotspot":false,"create_time":1650354689,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"625e6a0197578402ac2db67c","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":5760,"qos_overwrite":false,"note":null,"code":"7446834263","for_hotspot":false,"create_time":1650354689,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"625e6a0197578402ac2db67b","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":525600,"qos_overwrite":false,"note":null,"code":"7358319725","for_hotspot":false,"create_time":1650354660,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"625e69e497578402ac2db679","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"2729460620","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7096","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"1795017450","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7095","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"2281225310","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7094","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"0356279115","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7093","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"3544056744","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7092","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"6426769406","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7091","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"2298091277","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f7090","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"8878654311","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f708f","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"6946187591","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f708e","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0},{"duration":1440,"qos_overwrite":false,"note":null,"code":"0579279641","for_hotspot":false,"create_time":1627921177,"quota":1,"site_id":"5cadc7f53b6a3967dd7e5369","_id":"61081b1997578402177f708d","admin_name":"e","used":0,"status":"VALID_ONE","status_expires":0}]
im log ist der erste eintrag ein test mit 123... - wurde wohl angelegt - damit funktioniert es wohl
dazu müsste ich erstmal den login fixen. ich habe ja noch andere sachen da laufen die können sich verbinden. auch der protect adapter kann sich verbinden... mal sehen wenn ich mal zeit habe ... lege es auf den haufen mit todo
-
@liv-in-sky sagte in Adapter: ioBroker.unifi:
@kmxak
das weiß ich nicht war einfach da - wie sieht es bei dir aussorry mein fehler war mit dem browser nicht eingeloggt.
-
ah, jetzt geht es... falscher port
bekomme aber nur:
javascript.0 11:50:46.998 info script.js.User.Unifi.Unifi_Node: login: true javascript.0 11:50:47.064 info script.js.User.Unifi.Unifi_Node: vouchers: [object Object],[object Object],[object Object],[object Object],[object Object] javascript.0 11:50:47.084 info script.js.User.Unifi.Unifi_Node: logout: {"success":true}
der hier funzt nicht mit deinem aus dem code geht es
console.log("vouchers: "+ myVouchers)
-
@kmxak sagte in Adapter: ioBroker.unifi:
die info mit dem port dazu müsste ich ja den code ändern.
kannst du ja machen - die datei unifi.js liegt ja im verzeichnis vom iobroker
auf eigene verantwortung
-
@kmxak sagte in Adapter: ioBroker.unifi:
console.log("vouchers: "+ myVouchers)
mein fehler
so muss es heißen
console.log("vouchers: "+ JSON.stringify(myVouchers))