NEWS
Adapter: ioBroker.unifi
-
@liv-in-sky
Danke Dir. -
ich habe noch nichts ausprobiert...
(ich hatte bisher nur angefangen zu suchen und wollte mir von diesem Post was ableiten, ist zwar nicht für unifi aber eben für ssh.)
Das hier meine ichIch bin sonst fast nur mit Blockly unterwegs, aber vielleicht lässt sich Dein Bash auch in eine Blockly Funktion packen.
Ich bin noch unterwegs, aber ich schaue es mir später genauer an. -
@liv-in-sky sagte in Adapter: ioBroker.unifi:
hab noch was gefunden und positiv getestet - ist ein linux-bash-script
Hi, kann man das auch in ein normal Script oder Blockly umwandeln ?
Oder wo/wie wendest Du das linux-bash-script an ?Ich würde es gern in z.B iQontrol nutzen.
z.B. Gäste WLAN an oder Gäste WLAN aus
-
wenn du das linux script erzeugst auf einer console :
- am besten im /opt/iobroker - ordner - da solltest du die rechte haben
- nano unifi.sh (dann inhalt reinkopieren) - mit "<ALT>-x speichern unter dem namen unifi.sh
- dann "chmod +x unifi.sh" - danmit es ausführbar ist
dann kannst du mit einem blockly und result aktiviert (variable result einfach erstellen) das script aufrufen und das result weiterverarbeiten
-
@liv-in-sky
Danke für Deine Geduld und Mühe.
Also muss ich tatsächlich erst dieses Script installieren und dann über Blockly aufrufen.
Ich dachte es gäbe eine Möglichkeit dies gleich mit "ioBroker Boardmitteln" zu erledigen ? -
@dslraser
ja - ich steh auf diese linux scripts - dabei bin ich schneller als in javascript - old school halt!ein richtiger profi könnte das sicher in javascript umwandeln - aber das kann ich leider nicht bieten
ansonsten mit nodered - weiß nicht, ob du das magst
-
@liv-in-sky sagte in Adapter: ioBroker.unifi:
ansonsten mit nodered - weiß nicht, ob du das magst
Ich weiß nicht ob ich das mag, habe ich noch nie benutzt
-
@dslraser Hab ich noch nicht getestet, sollte aber eig funktionieren.
const request = require('request'); const unifi_username = "user"; const unifi_password = "pass"; const unifi_controller = "https://192.168.x.xx:xxxx"; const wifi_id = "dsa4fsda6g46fdsg984"; function login() { request.post({ url: unifi_controller + "/api/login", body: JSON.stringify({ username: unifi_username, password: unifi_password }), headers: { 'Content-Type': 'application/json' } }, (err, resp) => { if(!err) { console.log("Login war erfolgreich!"); getStatus(); } else { console.log("Login Fehler! " + err); } }) } function getStatus() { request.get(unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id, (err, resp) => { if(!err) { console.log("Status erfolgreich geholt!"); console.log(resp); let status = JSON.parse(resp); let wlanOn = status.data[0].enabled; console.log("WLAN ist: " + (wlanOn ? "an" : "aus")); } else { console.log("Status konnte nicht geholt werden. " + err); } }) } login();
-
@thewhobox
danke Dir, probiere ich heute Abend mal aus. Ich sage hier Bescheid ob es funktioniert. -
-
habe es doch schnell probiert, gleicher Fehler wie @liv-in-sky
Login Fehler! Error: self signed certificate
-
@liv-in-sky @dslraser dann probiert mal in der ersten zeile
const request = require('request').defaults({ rejectUnauthorized: false });
-
@thewhobox sagte in Adapter: ioBroker.unifi:
const request = require('request').defaults({ rejectUnauthorized: false });
18:10:40.222 error javascript.0 script.js.Heiko.04Telegram.Unifi: SyntaxError: Unexpected token o in JSON at position 1 18:10:40.222 error javascript.0 at Request.request.get [as _callback] (script.js.Heiko.04Telegram.Unifi:29:31)
-
-
javascript.0 2019-08-26 18:12:12.553 error at endReadableNT (_stream_readable.js:1145:12) javascript.0 2019-08-26 18:12:12.553 error at IncomingMessage.emit (events.js:203:15) javascript.0 2019-08-26 18:12:12.553 error at Object.onceWrapper (events.js:286:20) javascript.0 2019-08-26 18:12:12.553 error at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1083:12) javascript.0 2019-08-26 18:12:12.553 error at Request.emit (events.js:198:13) javascript.0 2019-08-26 18:12:12.553 error at Request.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1161:10) javascript.0 2019-08-26 18:12:12.553 error at Request.emit (events.js:198:13) javascript.0 2019-08-26 18:12:12.553 error at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:185:22) javascript.0 2019-08-26 18:12:12.553 error at Request.request.get [as _callback] (script.js.Heiko.04Telegram.Unifi:29:31) javascript.0 2019-08-26 18:12:12.553 error at JSON.parse (<anonymous>:null:null) javascript.0 2019-08-26 18:12:12.552 error script.js.Heiko.04Telegram.Unifi: SyntaxError: Unexpected token o in JSON at position 1 javascript.0 2019-08-26 18:12:12.552 info script.js.Heiko.04Telegram.Unifi: {'statusCode':401,'body':'{\'meta\':{\'rc\':\'error\',\'msg\':\'api.err.LoginRequired\'},\'data\':[]}','headers':{'cache-control':'private','expires':'Thu, 01 Jan 19
-
@thewhobox
falls nützlich: info vor fehlerjavascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN1: {'statusCode':401,'body':'{\'meta\':{\'rc\':\'error\',\'msg\':\'api.err.LoginRequired\'},\'data\':[]}','headers':{'cache-control':'private','expires':'Thu, 01 Jan 1970 00:00:00 GMT','vary':'Origin','access-control-allow-credentials':'true','access-control-expose-headers':'Access-Control-Allow-Origin,Access-Control-Allow-Credentials','x-frame-options':'DENY','content-type':'application/json;charset=UTF-8','content-length':'63','date':'Mon, 26 Aug 2019 16:15:40 GMT','connection':'close'},'request':{'uri':{'protocol':'https:','slashes':true,'auth':null,'host':'192.168.178.157:8443','port':'8443','hostname':'192.168.178.157','hash':null,'search':null,'query':null,'pathname':'/api/s/default/rest/wlanconf/5cadxxxxxxxxxxxxd7e5381','path':'/api/s/default/rest/wlanconf/5cadxxxxxxxxxxdd7e5381','href':'https://192.168.178.157:8443/api/s/default/rest/wlanconf/5cadca8e3b6a3967dd7e5381'},'method':'GET','headers':{}}}
-
@liv-in-sky
@thewhobox
das aus aus dem Log unterm Script26.8.2019, 18:16:40.833 [info ]: javascript.0 Start javascript script.js.Heiko.Unifi.unifi_wifi 26.8.2019, 18:16:40.833 [info ]: javascript.0 script.js.Heiko.Unifi.unifi_wifi: registered 0 subscriptions and 0 schedules 26.8.2019, 18:16:41.126 [info ]: javascript.0 script.js.Heiko.Unifi.unifi_wifi: Login war erfolgreich! 26.8.2019, 18:16:41.149 [info ]: javascript.0 script.js.Heiko.Unifi.unifi_wifi: Status erfolgreich geholt! 26.8.2019, 18:16:41.149 [info ]: javascript.0 script.js.Heiko.Unifi.unifi_wifi: {'statusCode':401,'body':'{\'meta\':{\'rc\':\'error\',\'msg\':\'api.err.LoginRequired\'},\'data\':[]}','headers':{'cache-control':'private','expires':'Thu, 01 Jan 1970 00:00:00 GMT','vary':'Origin','access-control-allow-credentials':'true','access-control-expose-headers':'Access-Control-Allow-Origin,Access-Control-Allow-Credentials','x-frame-options':'DENY','content-type':'application/json;charset=UTF-8','content-length':'63','date':'Mon, 26 Aug 2019 16:16:41 GMT','connection':'close'},'request':{'uri':{'protocol':'https:','slashes':true,'auth':null,'host':'192.168.180.110:8443','port':'8443','hostname':'192.168.180.110','hash':null,'search':null,'query':null,'pathname':'/api/s/default/rest/wlanconf/5d3c5be0bc96040011365fe5','path':'/api/s/default/rest/wlanconf/5d3c5be0bc96040011365fe5','href':'https://192.168.180.110:8443/api/s/default/rest/wlanconf/5d3c5be0bc96040011365fe5'},'method':'GET','headers':{}}} 26.8.2019, 18:16:41.149 [error]: javascript.0 script.js.Heiko.Unifi.unifi_wifi: SyntaxError: Unexpected token o in JSON at position 1 26.8.2019, 18:16:41.149 [error]: javascript.0 at Request.request.get [as _callback] (script.js.Heiko.Unifi.unifi_wifi:29:31)
-
@dslraser Okay, dann speichert er leider den Login cookie nicht automatisch. Muss ich mir heute Abend nochmal anschauen
-
@dslraser @liv-in-sky Könnte einer von euch mal nach "Login erfolgreich" folgende Zeilen einfügen?
console.log('HEADERS: ' + JSON.stringify(resp.headers)); onsole.log('Cookies: ' + resp.getHeader("Set-Cookie"));
-
moin @thewhobox