project-alice-assistant / projectaliceskills Goto Github PK
View Code? Open in Web Editor NEWA repository containing all curated skills made by the community
License: GNU General Public License v3.0
A repository containing all curated skills made by the community
License: GNU General Public License v3.0
My skill name: GPSD to MQTT
What does my skill do:
For those of us that travel alot, whether that be by boat or by motorhome / RV, being able to track your location coordinates or your vehicles / mobile home can be important, especially if using a home automation system like Home assistant to detect presence.
This skill takes the data produced by a GPS receiver and allows the user to send the data via mqtt to a broker that's not on Alice
Might not be the most popular skill but its yet another skill for alice to get smarter about :)
The skill github repository url: https://github.com/LazzaAU/skill_GPSDtoMQTT
Did you check prior if there's already a skill existing that does the same?: Yes
Did you make sure your skill follows our code guidelines?: Yes
Did you successfully run projectalice-sk validate
on your skill? Yes
Do you believe in zombies?
Yes, just finished playing resident evil in the meta quest 2 VR headset, bloody good :)
Ok, so you've gone through these steps, you can now submit your request. We'll fork your repository, make sure everything is in order and if yes we'll publish the skill. If anything is not ok, we'll get back in touch with you to get your skill published as soon as possible. Don't forget that once your skill is forked, you'll need to make Pull Requests to update your skill which will need the same approval.
2020-03-02 18:54:52,488 [Thread-3641] - [ERROR] - [SkillManager] Couldn't instantiate skill Speller.Speller: 'icon'
Traceback (most recent call last):
File "/home/pi/ProjectAlice/core/base/SkillManager.py", line 216, in importFromSkill
instance: AliceSkill = klass()
File "/home/pi/ProjectAlice/core/base/model/AliceSkill.py", line 39, in __init__
self._icon = self._install['icon']
KeyError: 'icon'
Describe the bug
A clear and concise description of what the bug is.
https://docs.projectalice.io/skill-development/events.html#core-events
To Reproduce
def onCaptured(self, session)
Appears to be written twice
Expected behavior
A clear and concise description of what you expected to happen.
Logs
Get your logs at ~/ProjectAlice/var/logs
Paste your logs here
Alice version
Master? Alpha, beta? What version?
Additional context
Add any other context about the problem here.
Do you plan to support the usage of skills from other repositories, git hosters like gitlab.com or self hosted repositories as snips did?
This would also allow the use of different licenses. I used AGPL instead of GPL for all of my snips skills.
Dear Psycho,Good morning : ).
My skill name: skillTranslator
What does my skill do: This skill will translate a skill to the supported 4 langaugaes. It's code flow is .....
"hey alice" >> "translate my skill"
Alice will then look in the skill settings to determine translation requirements ( skill name, skill's default language and a optional skill path)
it will loop through all 3 non default languages and do the following:
Translate the Talks file
then the dialog utterances
then the dialog synonyms
then update the install file
and that's it... boom da bing da bang... skill updated to all four supported languages and the Alice is now excited about her bilingual talents, however she still can't spell colour correctly : )
instructions explain a couple more options.also.
What this skill WONT do ( for now )....
NOTE: The skill was tested and working perfectly other than a error when synonym[] was in the dialogTemplate file with no values. However i believe i fixed that but unable to test it since due to being blocked.
The skill github repository url: https://github.com/LazzaAU/skill_SkillTranslator
Did you check prior if there's already a skill existing that does the same?: Yes
Is there a skill already existing?: No
If you answered no:
Did you make sure your skill follows our code guidelines?: yup
Did you successfully run projectalice-sk validate
on your skill? Hell yes... and with every tool available to me grins
Do you believe in zombies? Yes
If you answered seriously??:
Ok, so you've gone through these steps, you can now submit your request. We'll fork your repository, make sure everything is in order and if yes we'll publish the skill. If anything is not ok, we'll get back in touch with you to get your skill published as soon as possible. Don't forget that once your skill is forked, you'll need to make Pull Requests to update your skill which will need the same approval.
Describe the bug
Running SpeedTest fails silently. She acknweldges that she will return in a while but never does.
To Reproduce
Ask her to run a speed test.
Expected behavior
Run the speed test and report results, or report that something went wrong and to check the logs.
Logs
Get your logs at ~/ProjectAlice/var/logs
2021-06-09T07:14:42.260285780Z [Speedtest] Starting Speedtest
2021-06-09T07:14:42.260725302Z [SkillManager] The intent "Speedtest" was consumed by Speedtest
2021-06-09T07:14:42.270289498Z [AmazonTts] Using existing cached file 701e58f0cdc9a55d7a38d703de62ab47
2021-06-09T07:15:00.511096746Z Exception in thread Thread-358794:
2021-06-09T07:15:00.511129057Z Traceback (most recent call last):
2021-06-09T07:15:00.511134457Z File "/usr/local/lib/python3.7/threading.py", line 926, in _bootstrap_inner
2021-06-09T07:15:00.511150568Z self.run()
2021-06-09T07:15:00.511154255Z File "/usr/local/lib/python3.7/threading.py", line 1177, in run
2021-06-09T07:15:00.511157681Z self.function(*self.args, **self.kwargs)
2021-06-09T07:15:00.511161148Z File "/home/pi/ProjectAlice/core/util/ThreadManager.py", line 113, in onTimerEnd
2021-06-09T07:15:00.511164785Z timer.callback(*timer.args, **timer.kwargs)
2021-06-09T07:15:00.511168041Z File "/home/pi/ProjectAlice/core/util/Decorators.py", line 171, in exceptionDecorator
2021-06-09T07:15:00.511171447Z return func(*args, **kwargs)
2021-06-09T07:15:00.511174814Z File "/home/pi/ProjectAlice/core/util/Decorators.py", line 150, in offlineDecorator
2021-06-09T07:15:00.511178901Z return func(*args, **kwargs)
2021-06-09T07:15:00.511182107Z File "/home/pi/ProjectAlice/skills/Speedtest/Speedtest.py", line 26, in executeSpeedtest
2021-06-09T07:15:00.511185454Z speed = speedtest.Speedtest()
2021-06-09T07:15:00.511188610Z File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/speedtest.py", line 1091, in __init__
2021-06-09T07:15:00.511192116Z self.get_config()
2021-06-09T07:15:00.511195252Z File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/speedtest.py", line 1174, in get_config
2021-06-09T07:15:00.511198609Z map(int, server_config['ignoreids'].split(','))
2021-06-09T07:15:00.511201835Z ValueError: invalid literal for int() with base 10: ''
Alice version
1.0.0-RC1
Additional context
Worked at some point but I don't remember trying on main docker and I have not done a git bisect.
Describe the solution you'd like
new enhancements of the skill reminder, Predefined timers
"teatime" - 3 minutes
"teatime long" - 7 minutes
"hand wash soap" - 20 seconds (corona related) new standard
"hand wash spirit" - 30 seconds (corona related) new standard
"toothbrush" - 2 minutes
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
My skill name: Reminder
What does my skill do:
It performs reminder tasks and Timer tasks and food timer tasks and Alarms
The skill github repository url:
https://github.com/LazzaAU/skill_Reminder
Did you check prior if there's already a skill existing that does the same?: Yes
Is there a skill already existing?: No
If you answered no:
Did you make sure your skill follows our code guidelines?: Yes to the best of my knowledge :)
Did you successfully run projectalice-sk validate
on your skill? Yes
Ok, so you've gone through these steps, you can now submit your request. We'll fork your repository, make sure everything is in order and if yes we'll publish the skill. If anything is not ok, we'll get back in touch with you to get your skill published as soon as possible. Don't forget that once your skill is forked, you'll need to make Pull Requests to update your skill which will need the same approval.
the dialog schema is still broken:
right now it checks whether useSynonyms is set to true and when it is true it requres the synonym parameter. However it apparently does not check this for each slot, but only once and the requires it for each slot
https://github.com/project-alice-powered-by-snips/ProjectAliceModules/blob/master/PublishedModules/ProjectAlice/ContextSensitive/talks/fr.json
appears to have the wrong sentences when compared to https://github.com/project-alice-powered-by-snips/ProjectAliceModules/blob/master/PublishedModules/ProjectAlice/ContextSensitive/talks/en.json
(the .py uses the two sentences used by the english version)
Fails when asked for what is on the list
Failure: Cannot use unknown intent 'hermes/intent/deleteList_bringshop' in intents filter
When I ask Alice "what's on my shopping list"
she acknowledges intent recognised with audio ding, then silently fails.
It would be nice if there is a way to catch skill/intent exceptions like this higher up (for any skill) so that instead of silently failing, she at least responds with "Sorry, something went wrong, check Alice logs" or something similar as the user has no idea if she is taking time to fetch online or just died.
AliceWatch
[Hotword] was asked to toggle itself 'off' on site default
[09:59:00] [Dialogue] session with id 'b73d04f8-6c12-4c88-915d-bb27aea2623d' was started on site default
[09:59:00] [AudioServer] was asked to play a wav of 18.0 kB with id '9f6a72b6-3204-4376-ad56-7dcfeab85258' on site default
[09:59:00] [AudioServer] finished playing wav with id '9f6a72b6-3204-4376-ad56-7dcfeab85258'
[09:59:00] [Asr] was asked to listen on site default
[09:59:00] [VoiceActivity] Up on site default
[09:59:01] [VoiceActivity] Down on site default
[09:59:02] [VoiceActivity] Up on site default
[09:59:02] [Asr] is capturing text: "what"
[09:59:02] [Asr] is capturing text: "what's"
[09:59:02] [Asr] is capturing text: "what's a"
[09:59:02] [Asr] is capturing text: "what's on"
[09:59:02] [Asr] is capturing text: "what's on my"
[09:59:03] [Asr] is capturing text: "what's on March"
[09:59:03] [Asr] is capturing text: "what's"
[09:59:03] [Asr] is capturing text: "what's"
[09:59:03] [Asr] is capturing text: "what's on"
[09:59:03] [Asr] is capturing text: "what's on"
[09:59:03] [Asr] is capturing text: "what's on"
[09:59:03] [VoiceActivity] Down on site default
[09:59:04] [Asr] is capturing text: "what's on my shopping"
[09:59:04] [Asr] is capturing text: "what's on my shopping list"
[09:59:04] [Asr] was asked to stop listening on site default
[09:59:04] [Asr] captured text "what's on my shopping list" in 10.0s
[09:59:04] [Asr] was asked to stop listening on site default
[09:59:04] [AudioServer] was asked to play a wav of 32.7 kB with id '0cc73573-37bd-4068-9ce5-a5cd8fb903de' on site default
[09:59:05] [VoiceActivity] Up on site default
[09:59:06] [AudioServer] finished playing wav with id '0cc73573-37bd-4068-9ce5-a5cd8fb903de'
[09:59:06] [Nlu] was asked to parse input "what's on my shopping list"
[09:59:06] [Nlu] reported an error: Cannot use unknown intent 'hermes/intent/deleteList_bringshop' in intents filter
[09:59:06] [AudioServer] was asked to play a wav of 3.2 kB with id 'ad989977-b49b-4f67-b9ed-822caa9156b8' on site default
[09:59:06] [AudioServer] finished playing wav with id 'ad989977-b49b-4f67-b9ed-822caa9156b8'
[09:59:06] [VoiceActivity] Down on site default
[09:59:06] [Dialogue] session with id 'b73d04f8-6c12-4c88-915d-bb27aea2623d' was ended on site default. The session was ended because an error happened: Receives error from component Nlu: { error: Cannot use unknown intent 'hermes/intent/deleteList_bringshop' in intents filter
, context: what's on my shopping list }
[09:59:06] [Asr] was asked to stop listening on site default
[09:59:06] [Hotword] was asked to toggle itself 'on' on site default
Alice version
Alpha 6 - origin/1.0.0-a6
Do you have or plan to write a script for automatic conversion from snips skill layout to your layout?
Im thinking about converting my snips skills to be usable with alice, but for now i only moved the exported data from snips console to my git repository (See for example: https://gitlab.com/DANBER/Snips-MusicMaster).
As the conversion to your dialogTemplate form by hand would be very time consuming it would be very helpful if this could be done automatically.
Is your feature request related to a problem? Please describe.
When you are in a Teams/Skype call, Alice will from time to time have false positives for the wake word. I don't like this.
Describe the solution you'd like
When you are in a call, Alice will mute herself. When the call is over, she will unmute again.
Describe alternatives you've considered
Offer a scenario trigger for changes of the users status -> trigger the required events (mute siteId etc.)
Show the status in a widget
Trigger a presence light
...
Describe the bug
During a homeAssistant skill update the dialogTemplate file got over written with the pulled file. Existing code should magically re add user configured data back into the new dialogTemplate file.but it didn't
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The dialogTemplate file should retain the existing user settings
Logs
Get your logs at ~/ProjectAlice/var/logs
Paste your logs here
Alice version
Master
Additional context
Add any other context about the problem here.
My skill name: HLC pattern
What does my skill do: A simple skill to allow a user to change the pattern of their Alice LEDs as there is currently no easy way to do it once installed. The skill DOES use 3 sudo commands so please confirm if that's acceptable :)
The skill github repository url: https://github.com/LazzaAU/skill_HLCpattern
Did you check prior if there's already a skill existing that does the same?: Yes
Did you make sure your skill follows our code guidelines?: Yes
Did you successfully run projectalice-sk validate
on your skill? Yes
Do you believe in zombies? Yes
If you answered seriously??:
Ok, so you've gone through these steps, you can now submit your request. We'll fork your repository, make sure everything is in order and if yes we'll publish the skill. If anything is not ok, we'll get back in touch with you to get your skill published as soon as possible. Don't forget that once your skill is forked, you'll need to make Pull Requests to update your skill which will need the same approval.
when reloading the webpage the iss icon first pops up at the 0 coordinate of the world map and then jumps to the correct positions.
My skill name: BackUpAlice
What does my skill do: For forgetful people like me, it auto magically backs up the ProjectAlice folder to the home directory based on user configurable "days between backup". Handy utility for those of us living on the edge :-)
The skill github repository url: https://github.com/LazzaAU/skill_BackUpAlice
Did you check prior if there's already a skill existing that does the same?: Yes
Did you make sure your skill follows our code guidelines?: Yes
Did you successfully run projectalice-sk validate
on your skill? Yes i did this time :)
Do you believe in zombies? Yes/No/Seriously?? yes
If you answered seriously??:
Ok, so you've gone through these steps, you can now submit your request. We'll fork your repository, make sure everything is in order and if yes we'll publish the skill. If anything is not ok, we'll get back in touch with you to get your skill published as soon as possible. Don't forget that once your skill is forked, you'll need to make Pull Requests to update your skill which will need the same approval.
Describe the bug
When asking Alice what temperature is it inside she doesn't recognise the stored data from the database.
Reason for this is that on line 48 of telemetry.py
data = self.TelemetryManager.getData(siteId=siteId, ttype=TelemetryType(telemetryType))
returns
<sqlite3.Row object at 0x68b8d9c0>
rather than the values.
changing data to tuple fixed this for me
In addition ... line 51 is looking for 'value' but there is no 'value' in the var data
therefore line 53 ? is
answer = f"{data['value']} {self._telemetryUnits.get(telemetryType, '')}"
returns nothing. i changed the whole section to the below and i get the expected results. however i'm sure theres a better way to do it :)
data = self.TelemetryManager.getData(siteId=siteId, ttype=TelemetryType(telemetryType))
data = tuple(data)
if data:
answer = f"{data[0]} {self._telemetryUnits.get(telemetryType, '')}"
self.endDialog(sessionId=session.sessionId, text=self.randomTalk('answerInstant').format(answer))
else:
self.endDialog(sessionId=session.sessionId, text=self.randomTalk('noData'))
Dear Psycho, blablabla....
Ok, seriously, thank you for your work! Please fill the following informations so that we can review your skill and decide if it is in a publishable state. Do not remove the fields, but answer to them.
My skill name: SendTextMessage
What does my skill do:
Note: All options are send only, no replies accepted. but might be usefull for notifications if youre not at home shrug
The skill github repository url: https://github.com/LazzaAU/skill_SendTxtMessage
Did you check prior if there's already a skill existing that does the same?: Yes
Did you make sure your skill follows our code guidelines?: Yes
Did you successfully run projectalice-sk validate
on your skill? Yes
Do you believe in zombies? Yes/No/Seriously?? sure
If you answered seriously??:
Ok, so you've gone through these steps, you can now submit your request. We'll fork your repository, make sure everything is in order and if yes we'll publish the skill. If anything is not ok, we'll get back in touch with you to get your skill published as soon as possible. Don't forget that once your skill is forked, you'll need to make Pull Requests to update your skill which will need the same approval.
My skill name: Broadcast
What does my skill do: Hopefully work :)... send broadcast messages to and from Alice and available satellites
The skill github repository url: https://github.com/LazzaAU/skill_Broadcast
Did you check prior if there's already a skill existing that does the same?: Yes
Is there a skill already existing?: No
If you answered no:
Did you make sure your skill follows our code guidelines?: as per usual, yes to the best of my abilities :)
Did you successfully run projectalice-sk validate
on your skill? .....nope that's old school... i use sonar nowdays :) can i still continue boss ?
Do you believe in zombies? Yes, i'm almost certain i divorced one many years ago
If you answered seriously??:
Ok, so you've gone through these steps, you can now submit your request. We'll fork your repository, make sure everything is in order and if yes we'll publish the skill. If anything is not ok, we'll get back in touch with you to get your skill published as soon as possible. Don't forget that once your skill is forked, you'll need to make Pull Requests to update your skill which will need the same approval.
managers.MqttServer.endTalk(
sessionId=sessionId,
text=managers.TalkManager.randomTalk('requireTasmotaModule'),
client=siteId
)
in endTalk and similar functions theres always the parameter sessionId and client. Shouldn´t these parameters be known to the manager anyways?
in fact there are already a few calls to endTalk, where client is not added and even some where both are not added. Whats the reason they are added in the other places?
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Install Alice or Alice satellite
/boot/config.txt should have set the
dtparam=audio=on
#dtoverlay=googlevoicehat-soundcard
/etc/asound.conf should have as content
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:0,0"
}
capture.pcm {
type plug
slave.pcm "hw:1,0"
}
}
/etc/systemd/system/hermesledcontrol.service
Suggest using --hardware=googleAIY as a default
Expected behavior
A clear and concise description of what you expected to happen.
Should work out of the box :)
Audio will be from 3.5mm Pi jack unless hdmi monitor is being used
sudo raspi-config item 7, audio, force 3.5mm should be set
Logs
Get your logs at ~/ProjectAlice/var/logs
Paste your logs here
Alice version
Alpha, from .7z image install
Additional context
Add any other context about the problem here.
This has been tested using a PS#Eye web cam as a mic and also a generic usb audio adapter. This should make the most basic install work out of the box :)
My skill name: HomeAssistant
What does my skill do: Connects Alice to Home Assistant (HA) via a RESTful API. It then allows Alice to
Basically gives existing HA users the abilty to make Alice do functional stuff with very little effort
When Alice does her own switching of devices i'm happy to make it so they don't clash also :)
The skill github repository url: https://github.com/LazzaAU/skill_HomeAssistant
Did you check prior if there's already a skill existing that does the same?: Yes
Is there a skill already existing?: No
If you answered no:
Did you make sure your skill follows our code guidelines?: Yes
Did you successfully run projectalice-sk validate
on your skill? No - i got the green lights from SONAR
Do you believe in zombies? hhmm deja Vue... sure :)
If you answered seriously??:
Ok, so you've gone through these steps, you can now submit your request. We'll fork your repository, make sure everything is in order and if yes we'll publish the skill. If anything is not ok, we'll get back in touch with you to get your skill published as soon as possible. Don't forget that once your skill is forked, you'll need to make Pull Requests to update your skill which will need the same approval.
Create a voice control for the roborock vacuum
probably rooted devices only:
Describe the bug
Not able to add an item in BringShoppingList.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The Item should be added to the BringShoppingList
Logs
Get your logs at ~/ProjectAlice/var/logs
2020-04-03 16:58:57,883 [Thread-1] - [ERROR] - [SkillManager] Error dispatching message to BringShoppingList: Expecting value: line 1 column 1 (char 0) Traceback (most recent call last): File "/home/pi/ProjectAlice/core/base/SkillManager.py", line 278, in dispatchMessage consumed = skillInstance.onMessageDispatch(session) File "/home/pi/ProjectAlice/core/base/model/AliceSkill.py", line 425, in onMessageDispatch ret = function(session=session) File "/home/pi/ProjectAlice/core/util/Decorators.py", line 147, in exceptionDecorator return func(*args, **kwargs) File "/home/pi/ProjectAlice/core/util/Decorators.py", line 127, in offlineDecorator return func(*args, **kwargs) File "/home/pi/ProjectAlice/skills/BringShoppingList/BringShoppingList.py", line 159, in addItemIntent added, exist = self._addItemInt(items) File "/home/pi/ProjectAlice/skills/BringShoppingList/BringShoppingList.py", line 64, in _addItemInt bringItems = self.bring().get_items(self.LanguageManager.activeLanguageAndCountryCode)['purchase'] File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/BringApi/BringApi.py", line 69, in get_items transl = BringApi.loadTranslations(locale) File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/BringApi/BringApi.py", line 136, in loadTranslations cls._translations = requests.get(f'https://web.getbring.com/locale/articles.{locale}.json').json() File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/requests/models.py", line 897, in json return complexjson.loads(self.text, **kwargs) File "/usr/lib/python3.7/json/__init__.py", line 348, in loads return _default_decoder.decode(s) File "/usr/lib/python3.7/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python3.7/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Alice version
1.0.0-b1
*Going through the correct skill submit process so i can test and see whats involved and advise if it needs tweaked :) *
My skill name: OvenTemperatureConversion
What does my skill do:
Gives you the ability to ask Alice to convert temperatures between Celsius and Fahrenheit and visa versa. Also has a feature for those with gas ovens to ask Alice things like "what gas mark is 425 degrees Fahrenheit" or "Convert 170 C to gas mark" she will reply with the correct gas mark for the oven
The skill github repository url: https://github.com/LazzaAU/skill_OvenTemperatureConversion
Did you check prior if there's already a skill existing that does the same?: Yes
Did you make sure your skill follows our code guidelines?: Yes
Did you successfully run projectalice-sk validate
on your skill? Yes
Do you believe in zombies? Yes - there seems to be a new brain dead person on the news everyday :)
If you answered seriously??:
Ok, so you've gone through these steps, you can now submit your request. We'll fork your repository, make sure everything is in order and if yes we'll publish the skill. If anything is not ok, we'll get back in touch with you to get your skill published as soon as possible. Don't forget that once your skill is forked, you'll need to make Pull Requests to update your skill which will need the same approval.
Describe the bug
Converting from "Schweizer Franken" nach "Euro" not working
To Reproduce
Ask Alice to convert currency
Expected behavior
Alice should convert the currency
Logs
2020-04-04 20:27:49,543 [Thread-1] - [ERROR] - [SkillManager] Error dispatching message to FreeCurrencyConverterDotCom: init() got an unexpected keyword argument 'depth'
Traceback (most recent call last):
File "/home/pi/ProjectAlice/core/util/Decorators.py", line 147, in exceptionDecorator
return func(*args, **kwargs)
File "/home/pi/ProjectAlice/core/util/Decorators.py", line 127, in offlineDecorator
return func(*args, **kwargs)
File "/home/pi/ProjectAlice/skills/FreeCurrencyConverterDotCom/FreeCurrencyConverterDotCom.py", line 56, in convertCurrencyIntent
conversion = data[f'{fromCurrency}_{toCurrency}']
KeyError: 'Schweizer Franken_Euro'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pi/ProjectAlice/core/base/SkillManager.py", line 278, in dispatchMessage
consumed = skillInstance.onMessageDispatch(session)
File "/home/pi/ProjectAlice/core/base/model/AliceSkill.py", line 425, in onMessageDispatch
ret = function(session=session)
File "/home/pi/ProjectAlice/core/util/Decorators.py", line 149, in exceptionDecorator
Logger(depth=6).logWarning(msg=e, printStack=printStack)
TypeError: __init__() got an unexpected keyword argument 'depth'
Alice version
1.0.0-b1
There is a warning for the wikipedia plugin. Maybe we should look out for a fork that fixed this, because the original wikpedia library we use is not maintainted since 5 years
/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/wikipedia/wikipedia.py:389: UserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("html.parser"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.
The code that caused this warning is on line 389 of the file /home/pi/ProjectAlice/venv/lib/python3.7/site-packages/wikipedia/wikipedia.py. To get rid of this warning, pass the additional argument 'features="html.parser"' to the BeautifulSoup constructor.
lis = BeautifulSoup(html).find_all('li')
Add MQTT messages from a tasmota device with temperature, humidity, atmospheric pressure to the telemetry database.
Supporting multiple rooms
Additional:
Make a widget(per room?) to display the current temperature
Describe the bug
A clear and concise description of what the bug is.
2020-04-05 22:39:36,961 [Thread-1] - [INFO] - [AliceCore] Device with uid 0822680e-f16d-4458-9e39-829ec274b952 of type AliceSatellite in room office connected
2020-04-05 22:39:48,813 [Thread-17] - [WARNING] - [DeviceManager] Device with uid 0822680e-f16d-4458-9e39-829ec274b952 has not given a signal since 5 seconds or more
This randomly occurs after a restart
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Logs
Get your logs at ~/ProjectAlice/var/logs
Paste your logs here
Alice version
Master? Alpha, beta? What version?
Additional context
Add any other context about the problem here.
THIS IS A TEST
Describe the bug
Title says it all, it also generates an error just before stopping
Error while shutting down manager unknownManager: 'MqttManager'
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Logs
Get your logs at ~/ProjectAlice/var/logs
Paste your logs here
Alice version
Master? Alpha, beta? What version?
Additional context
Add any other context about the problem here.
Describe the bug
nlu cache under /home/pi/ProjectAlice/var/cache/nlu/trainingData
is not cleaned-up if un-installing a skill
To Reproduce
Expected behavior
If deleting a skill, Alice should delete the JSON files in nlu cache folder, too
Logs
2020-04-04 09:04:54,069 [NLUTraining] - [ERROR] - [SnipsNlu] Error while training Snips NLU: Traceback (most recent call last):
File "./venv/bin/snips-nlu", line 8, in <module>
sys.exit(main())
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/snips_nlu/cli/init.py", line 52, in main
args.func(args)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/snips_nlu/cli/training.py", line 26, in _train
args_namespace.random_seed)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/snips_nlu/cli/training.py", line 56, in train
engine = SnipsNLUEngine(config, random_state=random_state).fit(dataset)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/snips_nlu/common/log_utils.py", line 30, in wrapped
res = fn(*args, **kwargs)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/snips_nlu/nlu_engine/nlu_engine.py", line 95, in fit
dataset = validate_and_format_dataset(dataset)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/snips_nlu/dataset/validation.py", line 76, in validate_and_format_dataset
builtin_entity_parser)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/snips_nlu/dataset/validation.py", line 140, in _validate_and_format_custom_entity
validate_keys(entity, mandatory_keys, object_label="custom entity")
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/snips_nlu/common/dataset_utils.py", line 32, in validate_keys
validate_key(obj, key, object_label)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/snips_nlu/common/dataset_utils.py", line 27, in validate_key
missing_key_error(key, object_label)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/snips_nlu/common/dataset_utils.py", line 22, in missing_key_error
% (object_label, key))
snips_nlu.exceptions.DatasetFormatError: Expected custom entity to have key: 'use_synonyms'
NoneType: None
Alice version
1.0.0-b1
Additional context
Workaround: delete JSON files in nlu cache folder manually
Describe the bug
Satellite mute status is not loaded on widget start
To Reproduce
Mute a satellite
reload the page
-> muted status disappears
Expected behavior
mute status is correctly loaded on start of the widget
Alice version
beta
In the skill config new settings:
A list of locations/rooms where the alarm should chime.
A exclude list f locations/rooms where the alarm should be silent in a time frame:
eg.
from: 23:00/11 PM
to: 7:00/7 AM
You are not always in the location where the Reminder is spoken and set in Alice.
It would be nice with a skill settings/config so you can choose which Site Id you want as default.
Dear Psycho, blablabla....
Ok, seriously, thank you for your work! Please fill the following informations so that we can review your skill and decide if it is in a publishable state. Do not remove the fields, but answer to them.
My skill name: InternetRadio
What does my skill do: Plays internet radio :)
The skill github repository url: https://github.com/LazzaAU/skill_InternetRadio
Did you check prior if there's already a skill existing that does the same?: Yes
Is there a skill already existing?: Yes
If you answered yes:
well...... where do i start ? hehe.
BRB just going to put on my salesmans hat,
In todays society, peoples life can be crazily busy. With all this fuss and pressures of life who has time to navigate advanced radio station skills ? Can you picture yourself unwinding from a busy day at the office in the comfort of your pool side deck chair sipping on cocktails and asking alice to "play some jazz on the radio" and having those soothing sounds melt all your troubles away ? that's right ... simplicity and light weight is the key here , save the hassle of logging into mpd servers and scrolling playlists, JUST PLAY AND WALK AWAY :) and this week only... you get it for a special price of $0.00. Act now and i'll throw in some free ginzu knives and a pet rabbit called chuck. But wait thats not all... tell your friends and they too can get Internet Radio for free. THAT's a CRAZY deal :)
On a side note:
Apart from that I didn't realise Nepo had mode a advanced version until recently :) (which by the way doesn't show in the store)
- If you answered no:
- Great, let's continue!
Did you make sure your skill follows our code guidelines?: Yup
Did you successfully run projectalice-sk validate
on your skill? yes
Do you believe in zombies? Yes/No/Seriously?? i've answered this one enough times now :)
If you answered seriously??:
Ok, so you've gone through these steps, you can now submit your request. We'll fork your repository, make sure everything is in order and if yes we'll publish the skill. If anything is not ok, we'll get back in touch with you to get your skill published as soon as possible. Don't forget that once your skill is forked, you'll need to make Pull Requests to update your skill which will need the same approval.
My skill name: AliceVolume
What does my skill do:
Let's the user change the volume of Alice on the fly by saying things like ,
set volume to %50,
raise volume by 10 percent
etc etc
The skill github repository url : https://github.com/LazzaAU/skill_AliceVolume
Did you check prior if there's already a skill existing that does the same?: Yes
Did you make sure your skill follows our code guidelines?: Yes
Did you successfully run projectalice-sk validate
on your skill? Yes
Do you believe in zombies? Yes/No/Seriously??
If you answered seriously??:
Ok, so you've gone through these steps, you can now submit your request. We'll fork your repository, make sure everything is in order and if yes we'll publish the skill. If anything is not ok, we'll get back in touch with you to get your skill published as soon as possible. Don't forget that once your skill is forked, you'll need to make Pull Requests to update your skill which will need the same approval.
Describe the bug
This may or may not be a expected outcome, but....
If using the TextInputWidget to trigger a responce from Alice that uses self.continueDialog() Alice will run the code but NOT actually speak. Ask her the same thing via using your voice gives the expected outcome.
To Reproduce
Steps to reproduce the behavior:
if` 'Number' not in session.slotsAsObjects:
print("this is debug point number 1")
print(session.sessionId),
self.continueDialog(
sessionId=session.sessionId,
text=self.randomTalk('respondNoIdea'),
currentDialogState=session.currentState
)
print("this is debug point number 2")
print("Current dialog state is ")
print(session.currentState)
That didnt format correctly when pasting but it works :)
Expected behavior
Expected Alice to speak and then wait for a response. If using the TextInputWidget to trigger she runs the above code and outputs the below log but DOES NOT actually speak.
Repeat the process using your voice and Alice responds as expected. so this is just a text input related feature :)
Logs
[MqttManager] Using probability threshold of 0.5
this is debug point number 1
9ee2e115-6e4d-4a28-bfa8-ac120f8dfd3a
this is debug point number 2
Current dialog state is
OvenTemperatureConversion:default
[SkillManager] The intent "convert2Celsius" was consumed by OvenTemperatureConversion
Alice version
B1
Additional context
Add any other context about the problem here.
As I sometimes got some internet issues, I will implement an uptime tracker as next skill.
If somebody is faster - feel free ;)
Basic Idea:
Additional:
Describe the bug
setting API key via web interface not possible
To Reproduce
Steps to reproduce the behavior:
Expected behavior
API key should be save in config.json
Logs
Traceback (most recent call last):
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/flask/app.py", line 2463, in __call__
return self.wsgi_app(environ, start_response)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/flask/app.py", line 2449, in wsgi_app
response = self.handle_exception(e)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/flask/app.py", line 1866, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/flask/app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/flask/app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/flask_classful.py", line 268, in proxy
response = view(**request.view_args)
File "/home/pi/ProjectAlice/venv/lib/python3.7/site-packages/flask_classful.py", line 239, in inner
return fn(*args, **kwargs)
File "/home/pi/ProjectAlice/core/interface/views/SkillsView.py", line 60, in saveSkillSettings
value=confValue
File "/home/pi/ProjectAlice/core/base/ConfigManager.py", line 134, in updateSkillConfigurationFile
vartype = self._skillsTemplateConfigurations[skillName][key]['dataType']
TypeError: string indices must be integers
Alice version
1.0.0-b1
in the skill Alice Satellite there is for example the training example
```what is the temperature {outside:=>Room}``
the answer is:
"It is currently {1} degrees in the {0}",
This has two problems:
The same issue probably appears in other places aswell. So there should be another option to the current random.talk function to set language specific behavior and pluralise functions to get the grammar stuff right.
Might make sence to use:
https://docs.python.org/3/library/gettext.html,
since it is highly different between languages when the singular and when the plural is used
Let YOUR Alice join a specific discord channel.
Talk to her like it would be a room in your house
Usage:
Risk:
My skill name: UnitConverter
What does my skill do: Converts one unit to another of similar type.
EXAMPLES:
syntax = Convert <number> <first Unit> to / into <second Unit>
Compare units
syntax How many <first unit> in a <second unit>
how many teaspoons in a tablespoon
The skill github repository url: https://github.com/LazzaAU/skill_UnitConverter
Did you check prior if there's already a skill existing that does the same?: Yes
Did you make sure your skill follows our code guidelines?: Yes
Did you successfully run projectalice-sk validate
on your skill? Yes
Do you believe in zombies? Yes
If you answered seriously??:
Ok, so you've gone through these steps, you can now submit your request. We'll fork your repository, make sure everything is in order and if yes we'll publish the skill. If anything is not ok, we'll get back in touch with you to get your skill published as soon as possible. Don't forget that once your skill is forked, you'll need to make Pull Requests to update your skill which will need the same approval.
Hi!
When writing utterances, do I have to write all of them with and without "please" (e.g. "Please play music", "play music", "Please turn on the music", "Turn on the music", ...) for the mood system to work or do I just write the simple version ("play music", "Turn on the music") and the NLU takes care of "please"? (or is the other way around - all utterances must contain "please"? or does it matter at all?)
I'm hope this is the right place to ask and that I didn't miss anything in the wiki.
Thanks!
An opportunity to make a simple timer when I make tea in the morning, I want a timer of 3-5 minutes, but the tea is done before I can set up a timer with all the questions answers. :)
Maybe a slot with synonyms "simple"
suggestions
synonyms:
simple
plain
fuck off
shut up
no question
Random Useless Facts no longer works
The original site has changed so scraping does not work.
Reported by @mjlill on Discord #general
Sad news, appears that https://uselessfacts.jsph.pl/ has changed the site so the skill uselessfacts doesn't work. Anyone know how to scrape the page as they post some there now? https://www.uselessfacts.net/c/Interesting
Rather then scraping their HTML, perhaps we should ask them if they have an API that open source projects like Alice can use ? ideally they should provide a JSON response format option.
To Reproduce
Expected behavior
Logs
Paste your logs here
Alice version
1.0.0-a6
Additional context
[19:03:22] [Asr] is capturing text: "set"
[19:03:22] [Asr] is capturing text: "search"
[19:03:23] [Asr] is capturing text: "search on"
[19:03:23] [Asr] is capturing text: "search online"
[19:03:23] [Asr] is capturing text: "search"
[19:03:23] [Asr] is capturing text: "search"
[19:03:23] [Asr] is capturing text: "search online"
[19:03:24] [Asr] is capturing text: "search online"
[19:03:24] [Asr] is capturing text: "search online please"
[19:03:25] [Asr] was asked to stop listening on site default
[19:03:25] [Asr] captured text "search online please" in 10.0s
[19:03:25] [Asr] was asked to stop listening on site default
[19:03:25] [AudioServer] was asked to play a wav of 32.7 kB with id '6f851651-9d90-47c5-913b-7bdfb8a30e07' on site default
[19:03:26] [AudioServer] finished playing wav with id '6f851651-9d90-47c5-913b-7bdfb8a30e07'
[19:03:26] [Nlu] was asked to parse input "search online please"
[19:03:26] [Nlu] detected intent DoSearch with confidence score 0.548 for input "search online please"
[19:03:26] [Dialogue] New intent detected DoSearch with confidence 0.548
[19:03:26] [Dialogue] was ask to continue session with id 2d16f67c-258e-4efa-824f-bcba70cddead by saying 'I can, of course, what do you want me to look for?'
[19:03:26] [Asr] was asked to stop listening on site default
[19:03:26] [Hotword] was asked to toggle itself 'off' on site default
[19:03:26] [Tts] was asked to say "I can, of course, what do you want me to look for?"
[19:03:26] [AudioServer] was asked to play a wav of 135.8 kB with id '9a7bb66e-835f-4cb2-bd13-2d21bac57b20' on site default
[19:03:26] [VoiceActivity] Down on site default
[19:03:26] [VoiceActivity] Up on site default
[19:03:30] [AudioServer] finished playing wav with id '9a7bb66e-835f-4cb2-bd13-2d21bac57b20'
[19:03:30] [Tts] finished speaking with id '15e0a4f0-06d9-46b3-b4a6-51e6d31eeb0f'
[19:03:30] [AudioServer] was asked to play a wav of 7.9 kB with id 'aa9aed04-86d6-488e-9c42-5d492d9af08b' on site default
[19:03:31] [AudioServer] finished playing wav with id 'aa9aed04-86d6-488e-9c42-5d492d9af08b'
[19:03:31] [Asr] was asked to listen on site default
[19:03:32] [Asr] is capturing text: "can"
[19:03:32] [Asr] is capturing text: "cat"
[19:03:32] [VoiceActivity] Down on site default
[19:03:33] [Asr] is capturing text: "cat"
[19:03:33] [VoiceActivity] Up on site default
[19:03:33] [Asr] was asked to stop listening on site default
[19:03:33] [Asr] captured text "cat" in 10.0s
[19:03:33] [Asr] was asked to stop listening on site default
[19:03:33] [AudioServer] was asked to play a wav of 32.7 kB with id '03b474f1-34ac-48fe-9abf-66c8853a9bc2' on site default
[19:03:34] [AudioServer] finished playing wav with id '03b474f1-34ac-48fe-9abf-66c8853a9bc2'
[19:03:34] [Nlu] was asked to parse input "cat"
[19:03:34] [Nlu] detected intent UserRandomAnswer with confidence score 1.000 for input "cat"
Slots ->
RandomWord -> cat
[19:03:34] [Dialogue] New intent detected UserRandomAnswer with confidence 1.000
Slots ->
RandomWord -> cat
[19:03:37] [VoiceActivity] Down on site default
[19:03:37] [VoiceActivity] Up on site default
[19:03:38] [VoiceActivity] Down on site default
[19:03:40] [Dialogue] was ask to end session with id 2d16f67c-258e-4efa-824f-bcba70cddead by saying 'I'm sorry but I can't do that while being offline'
[19:03:40] [Tts] was asked to say "I'm sorry but I can't do that while being offline"
[19:03:40] [AudioServer] was asked to play a wav of 93.9 kB with id 'dee13478-52c4-4471-9347-756738364742' on site default
[19:03:41] [VoiceActivity] Up on site default
[19:03:43] [AudioServer] finished playing wav with id 'dee13478-52c4-4471-9347-756738364742'
[19:03:44] [Tts] finished speaking with id 'd461143c-3f0c-49ec-867f-fd6324fbb1a4'
[19:03:44] [Dialogue] session with id '2d16f67c-258e-4efa-824f-bcba70cddead' was ended on site default. The session ended as expected
[19:03:44] [Asr] was asked to stop listening on site default
inform about new issues, commits, pull requests or whatever else the user might be interested in.
Optimal would be support for multiple providers like github, gitlab and bitbucket
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.