User Tools

Site Tools


current:beta

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
current:beta [2023/06/03 16:05] James Sentmancurrent:beta [2023/06/05 13:49] – added beta 3 James Sentman
Line 1: Line 1:
-=====Beta Version (9.5.3 b1)=====+=====Beta Version (9.5.3 b3)=====
  
-The currently available beta version of XTension is 9.5.3 beta (build 1079) released on 6/3/2023+The currently available beta version of XTension is 9.5.3 beta (build 1081) released on 6/5/2023
  
-[[https://machomeautomation/files/xtension/xtension_9_5_3_b1.dmg|Download Xtension 9.5.3b1]]+Beta 3 is continuing the cleanup of the new Hubitat unit types and is otherwise identical to beta 1 so I’m leaving those release notes below. 
 + 
 +[[https://machomeautomation.com/files/xtension/xtension_9_5_3_b3.dmg|Download Xtension 9.5.3b3]]
  
 Keep in mind this is a beta build and may contain bugs or annoyances and not all expected features or changes may yet be implemented. No database changes are made so if you to have to revert to the last release version simply replace the application with the previous version and all will be well. Keep in mind this is a beta build and may contain bugs or annoyances and not all expected features or changes may yet be implemented. No database changes are made so if you to have to revert to the last release version simply replace the application with the previous version and all will be well.
Line 9: Line 11:
 **Changelog:** **Changelog:**
  
-  * Hue Plugin:+  * **Hue Plugin:**
     * Hue Plugin: Fixed an issue where it could send continual updates for a sensor value even if the value had not changed.     * Hue Plugin: Fixed an issue where it could send continual updates for a sensor value even if the value had not changed.
     * Hue Plugin: Fixed an issue where the temperature format was not saved, sticking all readings in F.     * Hue Plugin: Fixed an issue where the temperature format was not saved, sticking all readings in F.
-  * Video System:+  * **Video System:**
     * Video Encoder Plugin: Added a checkbox so you can suppress logging of video encoding times if you wish.     * Video Encoder Plugin: Added a checkbox so you can suppress logging of video encoding times if you wish.
     * Video: Removed error logging for stalled streams as this would fill the log if the camera was offline for any length of time. To log this information please implement the stalled script handler in the Interface Script and write to the log whatever information is helpful.     * Video: Removed error logging for stalled streams as this would fill the log if the camera was offline for any length of time. To log this information please implement the stalled script handler in the Interface Script and write to the log whatever information is helpful.
-  * Sysinfo Plugin: +  * **Sysinfo Plugin:**
     * System Info Plugin: no longer claims in it’s startup log message to be the Disk Space plugin.     * System Info Plugin: no longer claims in it’s startup log message to be the Disk Space plugin.
     * Fixed an incorrect default link to the boot volume so that this will work without having to edit it each time.     * Fixed an incorrect default link to the boot volume so that this will work without having to edit it each time.
-  * Internal Python:+  * **Internal Python:**
     * Python: A symlink to the built in python3 version is now added to /usr/local/bin/pythonxt so if you wish to use the built in version for your own script you can just execute it via that command.     * Python: A symlink to the built in python3 version is now added to /usr/local/bin/pythonxt so if you wish to use the built in version for your own script you can just execute it via that command.
     * Python: XTension changes many environment variables in order to use it’s internal version of python. If you are running a system version of python in your own script from a shell in XTension this may cause errors or make it unable to find installed modules. You can now use a scripting command “revertENV()” in your script before invoking your shell script to reset the environment to the system default just before launching it which will solve most, but probably not all of these issues. Note that you should do this immediately before starting any shell script as XTension will change it again as needed when launching plugins.      * Python: XTension changes many environment variables in order to use it’s internal version of python. If you are running a system version of python in your own script from a shell in XTension this may cause errors or make it unable to find installed modules. You can now use a scripting command “revertENV()” in your script before invoking your shell script to reset the environment to the system default just before launching it which will solve most, but probably not all of these issues. Note that you should do this immediately before starting any shell script as XTension will change it again as needed when launching plugins. 
-  * Web Remote:+  * **Web Remote:**
     * Web Remote: New documentation of the hashing of web remote links to immediately go to a specific page or view. This can be useful if you are saving specific links as iOS shortcuts, or creating a Kiosk type application. This is not a new feature, but was never properly documented. [[webremote:kioskview|Kiosk View and Hash Linking Info]]     * Web Remote: New documentation of the hashing of web remote links to immediately go to a specific page or view. This can be useful if you are saving specific links as iOS shortcuts, or creating a Kiosk type application. This is not a new feature, but was never properly documented. [[webremote:kioskview|Kiosk View and Hash Linking Info]]
     * Web Remote: Added several new scripting commands to control sessions in the web remote. This lets you programmatically change the view on a specific device to say, a video page or a View in response to motion or other event. Additionally you can script a popup alert or timed message in any color to display on all active sessions or only on specific ones. [[webremote:scripting|Scripting Web Remote]]     * Web Remote: Added several new scripting commands to control sessions in the web remote. This lets you programmatically change the view on a specific device to say, a video page or a View in response to motion or other event. Additionally you can script a popup alert or timed message in any color to display on all active sessions or only on specific ones. [[webremote:scripting|Scripting Web Remote]]
     * Web Remote: Added support for a resource folder that will be served as regular files through the web remote built in web server. This way if custom controls or other features you are adding need to load a specific image or other support file they can do so if you put it in the resources directory inside your XTension Database. [[webremote:resourceserver|Resource Server]]     * Web Remote: Added support for a resource folder that will be served as regular files through the web remote built in web server. This way if custom controls or other features you are adding need to load a specific image or other support file they can do so if you put it in the resources directory inside your XTension Database. [[webremote:resourceserver|Resource Server]]
-  * Plugin API: +    * Note that these changes have not been rolled into the mobile web remote plugin, only the desktop version. 
 +  * **Plugin API:**
     * A new key for the info.json file that will allow a plugin to receive any scripting command the user issues. This simplifies some kinds of plugin tasks at the expense that users script will not know if the command succeeded or not, all commands will just be sent and forgot. This does not affect regular using the app, only plugin developers.     * A new key for the info.json file that will allow a plugin to receive any scripting command the user issues. This simplifies some kinds of plugin tasks at the expense that users script will not know if the command succeeded or not, all commands will just be sent and forgot. This does not affect regular using the app, only plugin developers.
     * Added the capability for plugins to display information in new text windows and to append to or change the display of one without opening a new window each time. This mostly affects plugin developers but I used it in the new and changed show info commands in the Amcrest API plugin above.     * Added the capability for plugins to display information in new text windows and to append to or change the display of one without opening a new window each time. This mostly affects plugin developers but I used it in the new and changed show info commands in the Amcrest API plugin above.
     * All plugins now log their version number in the startup message from the information stored in their info.json file. This will keep them from always being wrong as I forget to update it in 2 places instead of just 1.     * All plugins now log their version number in the startup message from the information stored in their info.json file. This will keep them from always being wrong as I forget to update it in 2 places instead of just 1.
-  * Hubitat Plugin:+  * **Hubitat Plugin:**
     * Hubitat: Added entries to the “insert” toolbar menu for the central scene Held, and Released events to make it easier to script these without having to visit the wiki to look up the specifics.     * Hubitat: Added entries to the “insert” toolbar menu for the central scene Held, and Released events to make it easier to script these without having to visit the wiki to look up the specifics.
     * Hubitat: Added support for Energy and Usage units. If a device reports these values a Unit will be created for them.     * Hubitat: Added support for Energy and Usage units. If a device reports these values a Unit will be created for them.
Line 36: Line 39:
     * Hubitat: The list of supported commands for each Unit is now saved to a [[dictionary:unitinformation:getunitproperty|Unit Property]] so  you can see all the commands the device supports directly. You may still have to discover what parameters are required, if any, but this will make it easier to do things to the Units via the [[https://www.machomeautomation.com/doku.php/supported_hardware/hubitat#sending_device_specific_commandsm|sendDeviceCommand()]]     * Hubitat: The list of supported commands for each Unit is now saved to a [[dictionary:unitinformation:getunitproperty|Unit Property]] so  you can see all the commands the device supports directly. You may still have to discover what parameters are required, if any, but this will make it easier to do things to the Units via the [[https://www.machomeautomation.com/doku.php/supported_hardware/hubitat#sending_device_specific_commandsm|sendDeviceCommand()]]
     * Hubitat: Push messages from the Hubitat that are sent when a software update is started, or when the device is about to reboot to install a software update will now just log that information rather than generate an “unknown push message” error in the log.     * Hubitat: Push messages from the Hubitat that are sent when a software update is started, or when the device is about to reboot to install a software update will now just log that information rather than generate an “unknown push message” error in the log.
-  * Amcrest Camera API: All the additions mentioned below have been added to the [[video:api:amcrest_hd|Amcrest Camera API Documentation]]+  * **Amcrest Camera API:** All the additions mentioned below have been added to the [[video:api:amcrest_hd|Amcrest Camera API Documentation]]
     * Amcrest Camera API: Added support for specific Units to link to Object Detection if your camera supports it. You can now create a Unit to get an ON when a human is detected, or when a vehical is detected and so forth.     * Amcrest Camera API: Added support for specific Units to link to Object Detection if your camera supports it. You can now create a Unit to get an ON when a human is detected, or when a vehical is detected and so forth.
     * Amcrest API New Status and Display commands:     * Amcrest API New Status and Display commands:
Line 57: Line 60:
       * setTimeDisplayBackColor( R, G, B, A)       * setTimeDisplayBackColor( R, G, B, A)
       * setTimeDisplayFormat( “yyyy-M-dd hh:mm:ss t”) see the wiki link above for a table of valid format string entities.       * setTimeDisplayFormat( “yyyy-M-dd hh:mm:ss t”) see the wiki link above for a table of valid format string entities.
-      * **note that there is a limit to the number of overlays the camera can “blend” into the encoding video. Check the capabilities below to find out what the limit is for your camera. They may all be different. My doorbell cam can only do 2 at once.**+      * note that there is a limit to the number of overlays the camera can “blend” into the encoding video. Check the capabilities below to find out what the limit is for your camera. They may all be different. My doorbell cam can only do 2 at once.
     * changed the logEvents() command to be showEvents() and it now shows the info in a window rather than just writing it to the log.     * changed the logEvents() command to be showEvents() and it now shows the info in a window rather than just writing it to the log.
     * changed logMotionRegions() showMotionRegions() which also shows the list in a separate window rather than just writing it to the log.     * changed logMotionRegions() showMotionRegions() which also shows the list in a separate window rather than just writing it to the log.
     * showCapabilities() opens a window with most, but not all, of the capabilities of the camera listed. There are still some more to add     * showCapabilities() opens a window with most, but not all, of the capabilities of the camera listed. There are still some more to add
     * There are a LOT of other things I can add to this plugin that could be controlled.  If you know of something else you’d like to be able to tweak in the cameras programmatically please let me know.     * There are a LOT of other things I can add to this plugin that could be controlled.  If you know of something else you’d like to be able to tweak in the cameras programmatically please let me know.
-  * NEW: the [[dictionary:unitinformation:enumeratedvalue|Enumerated Value]] verb now accepts an optional parameter “for” and will return the correct enumeration for the value that you pass or an error if the enumeration is out of range. This is especially useful in the ON script of a unit as you can now check the enumeration for the future value to see what it is going to be when the script is done running. The direct parameter of unit name is now also made optional and if you dont specify it then it will use the value for thisUnit making it easier to script these in a units on or off script. For example: **write log enumerated value for (future value)** would write the enumerated value for the new value being passed to the On script. +  * **Scripting Dictionary:** 
-  * NEW: The [[dictionary:unitinformation:changefuturevalue|change future value]] verb now also accepts enumerations just like the regular set value verbs so you can issue a change future value to “high” instead of just knowing what the numerical value is.+    * NEW: the [[dictionary:unitinformation:enumeratedvalue|Enumerated Value]] verb now accepts an optional parameter “for” and will return the correct enumeration for the value that you pass or an error if the enumeration is out of range. This is especially useful in the ON script of a unit as you can now check the enumeration for the future value to see what it is going to be when the script is done running. The direct parameter of unit name is now also made optional and if you dont specify it then it will use the value for thisUnit making it easier to script these in a units on or off script. For example: **write log enumerated value for (future value)** would write the enumerated value for the new value being passed to the On script. 
 +    * NEW: The [[dictionary:unitinformation:changefuturevalue|change future value]] verb now also accepts enumerations just like the regular set value verbs so you can issue a change future value to “high” instead of just knowing what the numerical value is
 +  * **Xtension UI:** 
 +    * New: Each unit will get a new Unit Property called Created with the date the unit was created. You can add this to any List view by control clicking in the headers and selecting create custom column. Then you can sort lists by the date the Unit was created and not just the last activity date. For new Units this is set as they are created and then never changed. For existing Units the date is taken from the creation date of their folder within the database. This seems to work pretty well for most units most of the time, but there may be a date in the past where you restored a database or otherwise performed an action on it that would have reset those dates. This is still the best I can do but keep in mind that older Units may not show the date they were actually created, but the last time you zipped and moved the database or something like that.
  
  
current/beta.txt · Last modified: 2024/02/05 17:51 by James Sentman