Skip to content
View in the app

A better way to browse. Learn more.

Universal Devices Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Introducing eisy-ai !!!

Featured Replies

  • Author

@Guy Lavoie ,

The new version 2.2.2 was released today. It has session management + automatic notification after the first you have use 50% of your context (you can ignore them).

Regarding revert, if you connect to github, then it will read the commit comments and can revert.

Using the session management, it's best to name your sessions so that you can go back, load them, and start from where you left off (different plugins).

With kind regards,
Michel

25 minutes ago, Michel Kohanim said:

Using the session management, it's best to name your sessions so that you can go back, load them, and start from where you left off (different plugins).

So far I've only worked on one plugin, and when I start a new session, I simply ask it to work on the Ocelot plugin. I followed some instruntions wchich allowed me to create a local .git subdirectory, which is a start. I've never worked with github so setting that up is something I'll have to look into. Lots to learn..

So how do we update the eisy-ai plugin to 2.2.2? I see no update button. Click on Reinstall?

48 minutes ago, Guy Lavoie said:

So far I've only worked on one plugin, and when I start a new session, I simply ask it to work on the Ocelot plugin. I followed some instruntions wchich allowed me to create a local .git subdirectory, which is a start. I've never worked with github so setting that up is something I'll have to look into. Lots to learn..

So how do we update the eisy-ai plugin to 2.2.2? I see no update button. Click on Reinstall?

GitHub is a bit roundabout, but basically, here's how to set up your eisy plugin to upload to GitHub. I wrote my own summary, then asked chat gpt what it thought of it, and it did a wonderful job of making it better, with nice code boxes and bold text and filling in details I skipped. So I posted it instead of mine. Hope this saves you time.

1) Create your GitHub repository.

On GitHub, click the + button near the upper-right corner and select New repository.

Give it a name, usually the name of your plugin. Make it Public if you intend to share the plugin.

For an existing plugin you're uploading from eisy, leave the README, .gitignore, and license initialization options unchecked. You can add those files later.

Copy the repository URL. It will look something like:

https://github.com/USERNAME/REPOSITORY.git

2) Create a GitHub personal access token.

Click your avatar in the upper-right corner, then:

Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token

Give the token a name, such as eisy.

You can select All repositories if you want the token to work with all repositories you own, rather than selecting them individually.

Under Repository permissions, set Contents to Read and write.

Choose an expiration date. I used no expiration so I wouldn't have to renew it, although an expiring token is more secure.

Generate the token and copy it somewhere secure. GitHub will only show it once. If you lose it, you'll have to generate another.

3) Connect your eisy plugin directory to GitHub.

SSH into eisy and navigate to your plugin directory:

cd ~/your-plugin-directory

If this directory isn't already a Git repository, initialize it:

git init
git branch -M main

Now connect it to the GitHub repository you created:

git remote add origin https://github.com/USERNAME/REPOSITORY.git

If origin already exists and you need to change it, use this instead:

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

You can verify the destination with:

git remote -v

4) Configure eisy to remember your GitHub token.

Run:

git config --global credential.helper store

This tells Git to save your credentials so you don't need to enter the token every time you push.

Be aware that Git stores the token in plaintext in your home directory, so this is convenient but not the most secure option.

5) Commit and upload your plugin.

git status
git add .
git diff --cached --check
git commit -m "Initial plugin upload"
git push -u origin main

The first time you push, GitHub will ask for your username and password.

  • Username: Your GitHub username

  • Password: The personal access token you generated earlier, NOT your normal GitHub password

After a successful push, Git will remember the token.

Before using git add ., make sure your plugin directory has a suitable .gitignore so you don't accidentally upload credentials, configuration files containing passwords, or logs.

6) Future updates are much easier.

Whenever you make changes to your plugin, just run:

git status
git add .
git diff --cached --check
git commit -m "Describe your changes"
git push

That's pretty much it. Once you've set up the repository and token, updating GitHub from eisy is very straightforward.

Here's some more feedback on eisy-ai:

when setting a variable to a state variable value in eisy-ui the state variables are not sorted alphabetically so they are hard to find

Many times when eiasy-ai describes a program in the chat it calls it somethiung like "program 360" rather than its friendly name, also may do this with variable names some times Ai still puts text in white on white boxes

In one case ai asked me "I need to know whether the host has the Python modules for an offline test, and what the plugin's small docs files say". don't have a clue what that means

Ai doesnt seem to like eisy programs that don't do meaningful work in the then or else parts. Since I can use the state of a program in other if statements I sometimes leave them blank

I asked ai to review some of my eisy programs for issues. It is cool that AI reads the comments also and tries to check if my program logic matches the intent described in the comments

I haven't figured out how to multiple lines in a chat window before sending the whole thing to ai

Yesterday solaredge shut down the v1 API my plugin uses so I'm using ai to convert it to the v2 API, no results yet.

More Observations > General User-Mode

What is isy-ai doing ???

At times, after a command has been submitted to eisy-ai, you could at times … wait and wait ... and wait some more for eisy-ai to reply ... eventually it does, but there was a moment when your not sure if you actually pressed ENTER

>  can a spinning wheel be added into the production release so the user knows processing is underway ?

 

Adding KPL's and assigning a switch label / name

> I have added both a 6 button and 8 button KPL several times via eisy-ai e.g.
 ADD KPL aa.bb.cc name = test 6 kpl ..... the creation is perfect, the NEW node appears with labels:   Test KPL 6, Test KPL 6 - A, - B, - C, - D

> Now, if you try to add "TEST KPL 6", the primary On/Off switch into a scene, eisy-ai starts the argument, which TEST KPL 6 - A B C or D do you want to include .... To end the fight, you have use very strong instruction to specifically use "TEST KPL 6" NOT A, B,C or D in the new scene

> Yes, the fix to rename all elements of the node to exact names, but why ??? The name [TEST KPL 6] is a valid name vs [TEST KPL 6 - A]
> The same problem also occurs with KPL 8, the default name assignments start at "B" VS "A" on the KPL 6's

 

eisy-ai forgets it created Scenes

> In my testing, I will assign a combination of 3 or 4 switches / KPL's into a “use case”.
> On multiple occurrences, I provided instruction to create a scene name ABC and include 3 or 4 valid switch names which already exist in the Nodes list. This normally always works properly (unless its the primary KPL 6 or 8 buttons - see above)

> Then I request eisy-ai create a solution where a trigger turns on/off scene ABC. What eisy-ai actually creates in most programs, it assigns the individual switch names into the program’s vs the scene name

I query why :
ME> why are you not using scene control vs individually sending cmds to each switch ... In this Program > "sams room - countdown expires lights off"
eisy-ai > I didn't consider the scene. I wrote each routine to command the three devices one at a time, and I should have checked the scene first.

 

eisy-ai always assigns the wrong variable type round one

> Where I ask eisy-ai to create a program with a timer to turn off light after X seconds, 90% of the time it creates the timer as an Integer.
> When the program fails to work properly, eisy-ai always determines it used the wrong variable type and fixes the program to use State

BONUS PROBLEM,  when eisy-ai determines it used the wrong variable, it then creates the NEW State variable, BUT it ALWAYS forgets to remove the Integer

 ME> Question, when you requested to change the variable, and it was approved, why did you not delete the integer
eisy-ai > I didn't delete it because deleting a variable needs your explicit confirmation, and I never asked you for it.

I just installed the latest UDX, 5.3.0. Now the eisy plugins (eisy-ai 2.2.3 and my development plugin) are stuck at "starting". PG3x are also showing all as disconnected.

Tried two reboots. Boot Environment is still showing OS version 14.14 Release p6. No previous environment listed

Upgrade screen is showing the latest versions (IoX 6.1.2_14, UDX 5.3.0 eisy-ui 1.4.9, PG3x 3.4.28).

If I try to run the upgrade through ssh pkg upgrade, tells me everything is up to date.

Hints?

Edited by Guy Lavoie

Stuck in a loop of trying to restart plugins. Insteon, etc seems to work.

/var/udx/logs/log shows:

Fri Nov 6 17:17:34 EST 2026|/usr/local/etc/udx.d/static/udx_startup.sh: restarting pg3x because it didn't start 0 ...

Fri Nov 6 17:17:35 EST 2026|/usr/local/etc/periodic/daily/udx_tasks: no packages need upgrading ...

Fri Nov 6 17:17:35 EST 2026|/usr/local/etc/periodic/daily/udx_tasks: fetching Matter PAA files ...

Fri Nov 6 17:17:38 EST 2026|/usr/local/etc/udx.d/static/udx_startup.sh: pg3x started successfully ...

Fri Nov 6 17:17:39 EST 2026|/usr/local/etc/udx.d/static/udx_svc_supervisor: 0021b902618f_4 failed ... restarting now!

Fri Nov 6 17:17:39 EST 2026|/usr/local/etc/udx.d/static/udx_svc_supervisor: 0021b902618f_2 failed ... restarting now!

Fri Nov 6 17:17:40 EST 2026|/usr/local/etc/udx.d/static/udx_svc_supervisor: 0021b902618f_1 failed ... restarting now!

Fri Nov 6 17:17:40 EST 2026|/usr/local/etc/udx.d/static/udx_svc_supervisor: 0021b902618f_8 failed ... restarting now!

Fri Nov 6 17:17:40 EST 2026|/usr/local/etc/udx.d/static/udx_svc_supervisor: 0021b902618f_12 failed ... restarting now!

Fri Nov 6 17:17:40 EST 2026|/usr/local/etc/udx.d/static/udx_svc_supervisor: 0021b902618f_7 failed ... restarting now!

Fri Nov 6 17:17:40 EST 2026|/usr/local/etc/udx.d/static/udx_svc_supervisor: 0021b902618f_5 failed ... restarting now!

Fri Nov 6 17:17:41 EST 2026|/usr/local/etc/udx.d/static/udx_svc_supervisor: 0021b902618f_6 failed ... restarting now!

Fri Nov 6 17:17:41 EST 2026|/usr/local/etc/udx.d/static/udx_svc_supervisor: 0021b902618f_11 failed ... restarting now!

Got the new UDX version, but same situation, even after 2 reboots. I saw some messages go by about plugins getting reinstalled.

@Michel Kohanim is it expected that eisy-ai in customer mode can not create network resources and could not add them to a program?

In developer mode after a plugin is made the AI loses write access to the files so changes are difficult.

I don't know if I'm the only one but I'm still experiencing session resets where I lose the session. Also while creating or troubleshooting a plugin it has to compact the session which I assume is expected to save on tokens.

I'm getting great use out of eisy-ai in developer mode not so much in customer mode. While in customer mode it just feels easier to do it myself except for checking logs and seeing history.

I was the one who asked about the occupancy node server during the webinar so "we" created one today. It was difficult to get the AI to understand how to do it but after finding and linking the proper UDI wiki information it got it done. I have only done limited testing sending the URL's with MacroDroid and don't have the skills to support it so if someone would like to take ownership and put it on the store I would not mind. https://github.com/taz-man/eisy-occupancy-webhook

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.