GladysAssistant / Gladys

A privacy-first, open-source home assistant
https://gladysassistant.com
Apache License 2.0
2.66k stars 279 forks source link

Experiences of a new Gladys user #103

Closed danships closed 5 years ago

danships commented 8 years ago

Two days ago I installed Gladys and I'd like to share my experiences as a new user. This is not meant in a negative way, I like the direction of the project and would like to participate in it. Some things might already be on the roadmap. My first contributions could be contributing to the documentation, if desired. This gives me a change to get to know the project more before diving into coding. My experiences are divided into two parts, using the software, and the (developer) documentation

Setup is very simple, I do not host it on a raspberry pi, but used the install script as a guideline and quickly got it working. After that it got more difficult, there is no documentation after that. It would have been useful to have some kind of first-time installation guide or on-boarding flow.

What I missed:

These are things that I could not find an answer to in the online docmentation.

Being a developer myself I also checked the developer documentation. After reading this I had the following questions:

So to conclude, this is not really an issue, but more a write-up of my first experience with the project. And where I see locations for improvement. I am willing to contribute to improvements to documentation or code (if and when the maintainers agree with me of course).

Pierre-Gilles commented 8 years ago

Explanation of what everything is and how to get it, device, deviceTypes, scenarios, scripts, etc. It is a lot to take in when viewing the dashboard. When I attempt to add a scenario for example, and choose a device, there is an empty deviceType field, But I don't know how to add a new deviceType.

You are right, we should provide either an onboarding, or a user manual directly linked in the dashboard. Things are not as clear as it should be for a newcomer. Great find for the scenario, it should be clearer.

How can I add more dashboard widgets. Currently there is only a calendar, but it is unclear how new widgets are added. The screenshots on the website show that there is also at least another one, a weather widget, but I was not able to find it. It is so shows a "I now" tasks widget, and a device widget.

Default widgets are defined either there and downloaded at first installation or in parameters. Or can be added by Gladys module. My point of vue is that most widgets should be default in Gladys, and module should just focus on low level interaction like talking to peripherals, or things like that.

Via Twitter I found that there is a shortcut, Ctrl+, to issue commands via keyboard. A very powerful feature! But it does not seem documented anywhere. Also, is it accessible via mobile (I cannot press Ctrl+ there)?

Completely right. An onboarding tutorial should explain the feature. On mobile, I think we should either provide a chat widget with gladys, or simply add a talk button and then simply trigger a speech recognition service.

In preferences I can configure different servers running Gladys, does this mean that there is a automatisch synchronisation between the two? Can I do multiroom setups with Gladys? For example for voice-activation, speak and music, etc. If yes, that is an awesome feature and should be advertised more!

That's the goal of this feature, but it's not working for now. But all bricks are here to make this work, so implementing multi-gladys-servers should not be a big deal (really).

What is done automatically and what do I need to configure? According to the website Gladys can wake me up and analyze my sleep. How? I have set an alarm, but received no message when it completed.

This was a feature of the v2, but it's not fully in the v3 for now. You can create event in this list of events and with "going-to-sleep" and "wake-up" events, Gladys can calculate your sleep. The goal is to be completely agnostic of the method you use to determine when you wake up/go to sleep. It can be a motion sensor, it can be your phone, it can be a button, NFC, or a Fitbit tracker, whatever :)

I read that the notification method is prioritized based on context. I see some configuration options for notifications under Parameters -> Notifications. What should the priority value be, 1 for important, or a high number for importance? And how do I link this to a context?

Lower priority will be triggered first. 1, then 2, then 3 ! We should add a text message explaining that. There is no notion of context for now, but I want to add a notion of "importance", like you don't want gladys to talk or notify you for dumb things, so you can say "don't notify me with this type of notification for notification which are not as important as X"

My timeline is empty, how do I fill it?

Timelime shows events I talked before

I installed the Pushbullet module, but I now do not know what I can do with it. I expected it to appear as a deviceType, or to have to configure the Pushbullet device ID somewhere.

Any notification created (like in script or in a module or in a scenario with gladys.notification.create ) will trigger one by one each notificationType order by priority ASC.

Not all modules on the website are available in my Gladys installation (Kodi for example)

Only module v3 compatible are shown in Gladys.

Can I install more npm modules, and how?

In script you cannot use NPM module ( it's executed inside a sandbox ), only Gladys module function and gladys core functions.

In the command part, how can the module define commands and how is the module invoked?

You can add commands with gladys.sentence.create({...}).

If I use assets like images, what will be the path to the resources?

/modules/YOUR_MODULE_SLUG/..

For i18n, where do I place the translation files?

You can use your own translation in your module, or for the view use angular in18 included in the module. Some module on the store are doing that, you can watch their git, can be a good inspiration source :)

How do I 'declare my box to Gladys' for a dashboard widget

You create an install function in your module, with a gladys.boxType.create({...})

How does command classification work, in more detail?

It's basically machine learning, you train a model with sentence and it passes threw the classifier. I use the limdu module :)

So to conclude, this is not really an issue, but more a write-up of my first experience with the project. And where I see locations for improvement. I am willing to contribute to improvements to documentation or code (if and when the maintainers agree with me of course).

It's really great to see people reacting like that. External critics are always a great way to improve a product, and as the founder in the project since 3 years, I don't always sees things like that. Great to have such feebacks, I appreciate the time you took.

I was using Trello before, but now I use GitHub project to organize my work, ( see here ), I will add all your critics in the todo view tonight, and work tonight or tomorrow on it :)

Thanks again !

danships commented 8 years ago

Great to hear such an enthusiastic response. As I said, with regards to documentation I can easily contribute (although not tonight or tomorrow 😄 ), so if you want you can assign some stuff to me. Then I will also have a goal when skimming through the source code. If you want I can als provide Dutch translations 😉

Virtual assistents are a personal interest of mine and Gladys really peaked my interest. Not only technically, but also in what it is trying to achieve.

Pierre-Gilles commented 8 years ago

Great ! Thanks for your quick answer :)

I'm looking at all this tonight or tomorrow morning !

Pierre-Gilles commented 8 years ago

I forgot another question :

I have set an alarm, but received no message when it completed.

you have to create a scenario "When an alarm ring" => do that

By default, an alarm does nothing, it's just a timer which throws an event which start a scenario :)

Pierre-Gilles commented 8 years ago

I added most features/lack of documentation you underlined in the GitHub Project

Working on it as soon as I can :)

danships commented 8 years ago

Thanks. Next to this, do you have a more long-term roadmap available with the new features you have in mind for the project? Or is that the Todo list in Trello?

Pierre-Gilles commented 7 years ago

I use to list my work/goal on the Trello, now I'm using Github Project for listing short term issues.

But to give you an overview of my goals, I have two main goals.

First on the Gladys Core :

Modules

My goal is to be compatible with most used devices. I ordered a lot of devices, and will add a lot of compatibilities during the next months. This includes things like Milight Lamps, Sonos, Fitbit for tracking user activity.

My goal is really to build a global Gladys who can monitor any activities, and have as much data as possible to have rich interactions.

Machine learning

About Machine learning, when Gladys will contains more data, I will be able to analyze user habits and provide automatic reaction from Gladys to any events.

That's a short list of what I have in mind. I'm working hard on all that :) Don't hesitate if you have any ideas :)

danships commented 7 years ago

Your roadmap looks good. I do not own any smart devices myself, but I am looking into open source virtual assistents. I've looked at project like mycroftai, jasper and melissa-ai, but they are not at a mature state, or almost abandoned. Also, they are written in Python, which I do not master. I came across Gladys via my interest in Node.js and Sails. And I like it! The project seems mature, and there is plenty of room for contributions and writing my own modules.

For the short-term I will be looking into enabling commands via voice-control (whats the weather, play music, etc, the 'normal' stuff). The recent voice module you created is awesome (still need to test it though), because now I can focus on the modules/sentences/commands.

After that I want to look into more complex use cases, including ML and using the data present in the system. My free time is limited however, so my short-term period will probably be several months up to a year. Your recent improvements to (developer) documentation is very welcome, since it will probably save me time. 👍

Pierre-Gilles commented 7 years ago

Thanks, do not hesitate if you have any feedbacks while testing :)

Great ! Even giving feedbacks like you did in your first post is a great way of contributing to the project. I'm looking forward to see your work !

dier02 commented 6 years ago

Installed on Raspberry Pi and used standard login, expanded the file system and rebooted. Now it doesn’t accept user name:pi and password :raspberry??

Pierre-Gilles commented 6 years ago

It should! If you have any problem, please come on the forum here => https://community.gladysproject.com

it's easier for us to answer you.