馃搨 AIS Commander

AIS Commander

:open_file_folder:

AIS Commander to mened偶er plik贸w dzia艂aj膮cy w przegl膮darce Internetowej. Zawiera edytor plik贸w tekstowych oraz podgl膮d plik贸w (tekst, audio, wideo). AIS Commander umo偶liwia prac臋 z plikami i katalogami w przegl膮darce internetowej z dowolnego komputera, telefonu kom贸rkowego lub tabletu.

Aplikacja powsta艂a, 偶eby u艂atwi膰 u偶ytkownikom zarz膮dzanie plikami z konfiguracj膮 na bramce i b臋dzie preinstalowana na bramkach AIS dom. Oczywi艣cie ka偶dy, kto ma ju偶 bramk臋 i chcia艂by mie膰 mo偶liwo艣膰 zarz膮dzania plikami z poziomu przegl膮darki, mo偶e sam doinstalowa膰 aplikacj臋 wg instrukcji poni偶ej.

Kody aplikacji

Aplikacja bazuje na projekcie Cloud Commander, kt贸ry jest od lat rozwijany i udoskonalany (389 wersji). Jest to du偶y projekt - kody i zale偶no艣ci wymagaj膮 oko艂o 400 MB wolnego miejsca na bramce. Je偶eli instalujesz aplikacj臋 na bramce DEV1, to upewnij si臋, 偶e masz tyle wolnego miejsca.

Pobranie kod贸w i instalacja

Pobieramy kody z github, wpisuj膮c w konsoli:

cd ~
git clone --depth 1 https://github.com/sviete/AIS-webcmd.git

instalacja zale偶no艣ci i budowanie aplikacji:

cd ~/AIS-webcmd
npm install
npm run build

pierwsze uruchomienie i sprawdzenie dzia艂ania

npm start

po tym mo偶emy sprawdzi膰 dzia艂anie aplikacji przechodz膮c w przegl膮darce Internetowej na adres http://ais-dom.local:8000 lub http://ip-bramki:8000

Uruchomienie jako us艂uga

呕eby aplikacja by艂a zawsze automatycznie uruchamiana po starcie bramki, dodajemy j膮 do uslug dzia艂aj膮cych na bramce:

cd ~/AIS-webcmd
pm2 start npm --name webcmd -- start
pm2 save

Dodanie do interfejus Asystenta domowego

Dodajemy nowy widok typu 鈥淧anel (1 karta)鈥

w widoku umieszczamy kart臋 typu 鈥淪trona web鈥 z adresem do aplikacji 鈫 http://ais-dom.local:8000 lub http://ip-bramki:8000

i ju偶 mo偶emy przeglada膰

image

i edytowa膰 pliki na bramce z aplikacji webowej

image

w etytorze pokazujemy bia艂e znaki (spacja, tab, enter) 偶eby by艂o 艂atwiej wychwyci膰 b艂臋dy w yaml czy python (w j臋zykach w kt贸rych spacje maj膮 znaczenie)

w AIS Commander, mo偶emy te偶 przegl膮da膰 zdalne dyski i odtwarza膰 z nich multimedia (opiszemy dok艂adnie o co chodzi w kolejnym wpisie)

Mo偶liwo艣ci AIS Commander

Klawiszem F1 wywo艂ujemy informacj臋 o mo偶liwo艣ciach programu i skr贸tach klawiszowych:


Dodatkowe informacje

AIS Commander znajduje si臋 w repozytorium pakiet贸w npm

mo偶na go zainstalowa膰 na ka偶dym systemie operacyjnym (nie tylko na bramce ais), tak samo jak inne pakiety nodejs, jednym poleceniem mena偶era pakiet贸w npm.

Woleli艣my jednak opisa膰 ca艂y proces pobierania kod贸w, budowania, uruchamiania jako us艂uga oraz dodawania do interfejsu Asystenta domowego. W ten sam spos贸b mo偶na zainstalowa膰 ka偶d膮 aplikacje Node.js na bramce. Tak samo, jak AIS Commander na bramce dzia艂a Zigbee2Mqtt, Node-RED, ZwaveJs2Mqtt, bo to wszystko to s膮 aplikacje napisane w JavaScript/Node.js.
Mo偶e ten opis przyda si臋 komu艣 do zrozumienia jak zainstalowa膰 na bramce inny program napisany w Node.js.

Z uwagi na rozmiar programu AIS Commander (prawie 400 MB) nie b臋dziemy go instalowali automatycznie na bramkach (偶eby nie zajmowa膰 miejsca, dla kogo艣, kto nie potrzebuje tego programu).

W wydaniu Leon, widok AIS Commander b臋dzie wbudowany w narz臋dziach developerskich (ale b臋dzie wymaga艂 r臋cznej instalacji - nie do艂膮czymy go do aktualizacji):

Ze wzgl臋du na bezpiecze艅stwo podobnie jak w przypadku konsoli dost臋p do tego programu b臋dzie tylko w sieci lokalnej:

8 polubie艅

Kolejne dodatek u艂atwiaj膮cy prac臋 z AIS, rozwi膮zanie lepsze ni偶 oficjalny add-on File editor :slight_smile: .

2 polubienia

Czas jaki sp臋dzi艂em na korzystaniu z bramki DEV1 pozwoli艂 mi na wypracowanie w艂asnych metod korzystania i edycji zasob贸w bramki i na razie nie widz臋 konieczno艣ci instalacji, ale wiem, 偶e jest sporo os贸b kt贸rym brakowa艂o czego艣 takiego, wi臋c na pewno rozwi膮zanie przydatne :point_up:

Du偶y szacunek za pomys艂 i wykonanie, bo jest to na pewno jeden z element贸w kt贸ry b臋dzie sporym 鈥渦艂atwiaczem鈥 zw艂aszcza dla os贸b zaczynaj膮cych dopiero zabaw臋 i tego typu rozwi膮zania na pewno b臋d膮 przez nich postrzegane jako bardzo pomocne :grinning:

2 polubienia

U mnie przy instalacji na dev3 co艣 鈥渘ie pyk艂o鈥 - nie odpala si臋 niestety.
Przy 鈥渘pm start鈥 mam takie b艂臋dy:
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /data/data/pl.sviete.dom/files/home/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open 鈥/data/data/pl.sviete.dom/files/home/package.json鈥
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR! /data/data/pl.sviete.dom/files/home/.npm/_logs/2021-11-15T15_44_18_796Z-debug.log

wygl膮d jak by艣 chcia艂 uruchomi膰 aplikacj臋 nie b臋d膮c w folderze z aplikacj膮 tylko w folderze domowym (a tam nie ma pliku package.json opisuj膮cego aplikacj臋)

zr贸b tak

cd ~/AIS-webcmd
npm start

No niestety:
~ $ cd ~/AIS-webcmd
~/AIS-webcmd $ npm start

aiscmd@15.9.9 start /data/data/pl.sviete.dom/files/home/AIS-webcmd
madrun start

node bin/cloudcmd.mjs
root: /data/data/pl.sviete.dom/files/home
cloudcmd --port: listen EADDRINUSE: address already in use 0.0.0.0:8000
Command failed: node bin/cloudcmd.mjs
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! aiscmd@15.9.9 start: madrun start
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the aiscmd@15.9.9 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /data/data/pl.sviete.dom/files/home/.npm/_logs/2021-11-16T14_39_25_202Z-debug.log

A tu log:

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli 鈥/data/data/pl.sviete.dom/files/usr/bin/node鈥,
1 verbose cli 鈥/data/data/pl.sviete.dom/files/usr/bin/npm鈥,
1 verbose cli 鈥榮tart鈥
1 verbose cli ]
2 info using npm@6.14.15
3 info using node@v14.17.6
4 verbose run-script [ 鈥榩restart鈥, 鈥榮tart鈥, 鈥榩oststart鈥 ]
5 info lifecycle aiscmd@15.9.9~prestart: aiscmd@15.9.9
6 info lifecycle aiscmd@15.9.9~start: aiscmd@15.9.9
7 verbose lifecycle aiscmd@15.9.9~start: unsafe-perm in lifecycle true
8 verbose lifecycle aiscmd@15.9.9~start: PATH: /data/data/pl.sviete.dom/files/usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/data/data/pl.sviete.dom/files/home/AIS-webcmd/node_modules/.bin:/data/data/pl.sviete.dom/files/usr/bin:/data/data/pl.sviete.dom/files/usr/bin/applets
9 verbose lifecycle aiscmd@15.9.9~start: CWD: /data/data/pl.sviete.dom/files/home/AIS-webcmd
10 silly lifecycle aiscmd@15.9.9~start: Args: [ 鈥-c鈥, 鈥榤adrun start鈥 ]
11 silly lifecycle aiscmd@15.9.9~start: Returned: code: 1 signal: null
12 info lifecycle aiscmd@15.9.9~start: Failed to exec start script
13 verbose stack Error: aiscmd@15.9.9 start: madrun start
13 verbose stack Exit status 1
13 verbose stack at EventEmitter. (/data/data/pl.sviete.dom/files/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack at EventEmitter.emit (events.js:400:28)
13 verbose stack at ChildProcess. (/data/data/pl.sviete.dom/files/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:400:28)
13 verbose stack at maybeClose (internal/child_process.js:1055:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
14 verbose pkgid aiscmd@15.9.9
15 verbose cwd /data/data/pl.sviete.dom/files/home/AIS-webcmd
16 verbose Linux 4.9.113
17 verbose argv 鈥/data/data/pl.sviete.dom/files/usr/bin/node鈥 鈥/data/data/pl.sviete.dom/files/usr/bin/npm鈥 鈥渟tart鈥
18 verbose node v14.17.6
19 verbose npm v6.14.15
20 error code ELIFECYCLE
21 error errno 1
22 error aiscmd@15.9.9 start: madrun start
22 error Exit status 1
23 error Failed at the aiscmd@15.9.9 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

Co艣 a鈥檒a MC, TC czy stary NC przyda膰 si臋 mo偶e :slight_smile:

Ja te偶 mam takie skojarzenia/wspomnienia :), TC pokaza艂a mi kole偶anka Agnieszka w banku (w mojej pierwszej pracy w it), do dzisiaj pami臋tam, 偶e by艂o mi g艂upio, 偶e nie znam tego programu, a ona robi艂a w nim wszystko.

Jak kto艣 potrafi w konsoli, to w 5 sekund mo偶na zawsze tak:

ssh ais-dom.local
apt update
apt install mc
mc

MC nie jest takie 艂adne i wygodne jak AIS Commander, kt贸ry jest naprawd臋 super.
Nie s膮dzi艂em, 偶e prze艂膮cz臋 si臋 na tak膮 obs艂ug臋 plik贸w do przegl膮darki鈥 ale jednak - cz艂owiek zawsze wybierze wygodniejsze rozwi膮zanie.

AIS Commander b臋dzie wbudowany w wersj臋 Leon i dostarczony w paczce startowej i na nowych bramkach, mo偶e b臋dzie dzi臋ki temu na forum b臋dzie mniej 鈥渘ie da si臋鈥 i 鈥渘ie dzia艂a鈥.

PS
je偶eli kto艣 nie jest w stanie zainstalowa膰 AIS Commander, to polecam moje wprowadzenie do Node.js - zawsze warto zacz膮膰 od podstaw:

1 polubienie

je偶eli chodzi o mc to warto zmieni膰 kolory

F9 > Options > Appearance

po zmianie kolor贸w, chyba da si臋 w tym kododa膰 nawet

te偶 wida膰 kropki w nowych liniach:

1 polubienie

Doszed艂em do momentu dodatnia AISCommander do lovelace id膮c zgodnie z instrukcj膮 od tego momentu wysypa艂o mi si臋 ca艂kowicie zigbee. Po restarcie urz膮dzenia Dev3 jestem w stanie wej艣膰 do zigbee natomiast po czasie mnie wyrzuca. Po wpisaniu w konsoli 鈥減m2 restart zigbee鈥 wy艣wietla mi si臋:

pm2 restart zigbee
PM2       | App [zigbee:10] starting in -fork mode-
PM2       | App [zigbee:10] online
10|zigbee | Zigbee2MQTT:info  2021-12-20 19:57:57: Logging to console only'
10|zigbee | Zigbee2MQTT:info  2021-12-20 19:57:57: Starting Zigbee2MQTT version 1.21.1 (commit #4a51e0c)
10|zigbee | Zigbee2MQTT:info  2021-12-20 19:57:57: Starting zigbee-herdsman (0.13.138)
2|ais     | 2021-12-20 19:58:14 INFO (MainThread) [greeclimate.discovery] Scanning for Gree devices ...
10|zigbee | Zigbee2MQTT:error 2021-12-20 19:58:24: Error while starting zigbee-herdsman
10|zigbee | Zigbee2MQTT:error 2021-12-20 19:58:24: Failed to start zigbee
10|zigbee | Zigbee2MQTT:error 2021-12-20 19:58:24: Check https://www.zigbee2mqtt.io/information/FAQ.html#help-zigbee2mqtt-fails-to-start for possible solutions
10|zigbee | Zigbee2MQTT:error 2021-12-20 19:58:24: Exiting...
10|zigbee | Zigbee2MQTT:error 2021-12-20 19:58:24: Error: SRSP - SYS - getExtAddr after 6000ms
10|zigbee |     at Timeout._onTimeout (/data/data/pl.sviete.dom/files/home/zigbee2mqtt/node_modules/zigbee-herdsman/src/utils/waitress.ts:64:35)
10|zigbee |     at listOnTimeout (internal/timers.js:557:17)
10|zigbee |     at processTimers (internal/timers.js:500:7)
PM2       | App [zigbee:10] exited with code [1] via signal [SIGINT]

Dodam, 偶e AIS Commander dzia艂a natomiast zigbee nie :frowning:

Super sprawa, Ale czy naprawd臋 nie mo偶ecie doda膰 obs艂ugi zdalnej a nie tylko lokalnie. Lokalnie istnieje sporo sposob贸w na edycje, a zdalnie nic nie dzia艂a. Musz臋 specjalnie komputer postawi膰 w tym celu. Rozumiem kwesti臋 bezpiecze艅stwa ale Satel i wiele innych firm umo偶liwia edycj臋 programu zdalnie.

Ju偶 dawno dodana :wink:
Wykorzystaj AIS auto proxy:

1 polubienie

Zgodnie z rad膮

Wykorzystaj AIS auto proxy:

taki jest efekt. Czego brakuje bo gdy klikn臋 na folder np Ais to 鈥404: Not Found鈥