current
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
current [2022/11/05 18:13] – 9.4.48 release James Sentman | current [2023/07/30 17:34] – James Sentman | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | =====XTension | + | =====Download |
- | Released | + | Released |
\\ | \\ | ||
- | Download for all Supported OS versions; [[https:// | + | Download |
- | **Minimum System Version** for this release is OSX 10.10 but not all plugins | + | **Minimum System Version** for this release is OSX 10.10 but not all plugins |
- | Apart from a few older plugins | + | **Rosetta Note:** While the entirety of the main app and all more recent |
- | NOTE that no database changes are made while updating to this version so if you do have issues with the new plugins you can return to the previous version by just replacing the previous executable. It should not be necessary to replace the Database with the backup version that will be made when running this version for the first time. | + | ====9.5.3 Change Log:==== |
- | ====9.4.48 Change Log:==== | + | * **Amcrest Camera API:** |
+ | * Fixed an issue that caused some cameras not to work with the event system. If you find that any cameras still do not send you events but also dont log any other communication or connection errors please let me know we can gather some more info. | ||
+ | * Added a check to the enableEvents() command so that it will not try to enable events that the plugin does not recognize as valid. This keeps you from either getting nothing, or getting an error message each time the unknown events is sent. If there are events that I am not handling that you know about and would like to get please let me know we can gather more info about them and set them up. | ||
+ | * 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: | ||
+ | * setFontScale(0.1..2.0) control the size of the text displayed over the image. | ||
+ | * setChannelTitleVisible( true|false) | ||
+ | * setChannelTitleLocation( 34, 12) | ||
+ | * setChannelTitleColor( R, G, B, A) | ||
+ | * setChannelTitleBackColor( R, G, B, A) | ||
+ | * setUserDisplayVisible( index, true|false) | ||
+ | * setUserDisplayText( index, “the info to display”) | ||
+ | * setUserDisplayLocation( index, xloc, yloc) | ||
+ | * setUserDisplayColor( R, G, B, A) | ||
+ | * setUserDisplayBackColor( R, G, B, A) | ||
+ | * setLogoVisible( true|false) hide or show the Amcrest logo image overlay | ||
+ | * setLogoLocation( xLoc, yLoc) | ||
+ | * setLogoFilename( “osd.bmp”) your camera must support allowing you to change this or it will do nothing. | ||
+ | * setTimeDisplayVisible( true|false) | ||
+ | * setTimeDisplayLocation( xLoc, yLoc) | ||
+ | * setTimeDisplayColor( 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. | ||
+ | * 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 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 | ||
+ | * There are a LOT of other things I can add to this plugin that could be controlled. | ||
+ | * **Last Activity:** A change to the Last Activity date handling. Previously if a Unit had never had any activity after being created it would show a last activity date of the time the program was last started. This caused confusion in list windows when sorted by date and is something I’ve been meaning to deal with forever. Now if a Unit has no last activity date it will display as “Never” in the list window, but be sorted as if the date had a total seconds property of 0. In other interfaces or via the scripting commands it will return a date with the earliest date/time that the normal unix date can hold so something like 1/7/1903 or whatever that is. So it will sort properly and no longer be confusing. | ||
+ | * **Home Kit:** | ||
+ | * Updated the Home Kit libraries some but not all the way to current. They have made some significant changes in the most recent builds that break it completely for us in the short term though I”ll keep working on that. This is unlikely to either cause or cure any problems people may be having with it as the only changes were to the handling of Thermostats. Home Kit now always sets the Mode of the HVAAC to Auto. This is not due to anything that I can do anything about easily and is a decision that Apple has made. I may be able to override some of this handling to not accept those changes from the thermostat but only send them from XTension or something like that if it is a problem. | ||
+ | * **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 the temperature format was not saved, sticking all readings in F. | ||
+ | * **Video System:** | ||
+ | * 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: “Orphaned” recordings that may have been left unencoded when the app quit are now properly encoded and managed when you next startup the app. | ||
+ | * **Sysinfo 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. | ||
+ | * **Internal Python:** | ||
+ | * Python: A symlink to the built in python3 version is now added to / | ||
+ | * 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: 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: | ||
+ | * 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: | ||
+ | * 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: | ||
+ | * 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. | ||
+ | * 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. | ||
+ | * **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 support for Energy and Usage units. If a device reports these values a Unit will be created for them. | ||
+ | * More updates and changes to the new handling of “string” data types.If there is a number at the beginning of the String value then that is parsed and sent to Xtension as the value for the Unit. The description is no longer changed to the raw value but rather a new Unit Property called "Raw Value" is added and kept updated to the full text of the string. If there is no number in the string, or if it just does not begin with a number, then the value of the Unit is set to 0 and the default label for the unit is set to the raw value string as well as the same unit property. No default label is set if there is a number at the beginning of the string so that user formatting and suffix will be honored normally | ||
+ | * Hubitat: Some devices from the Hubitat will now have more descriptive, | ||
+ | * Hubitat: The list of supported commands for each Unit is now saved to a [[dictionary: | ||
+ | * 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. | ||
+ | * **Software Defined Radio Plugin:** Fixed the incorrect wiki link in the interface and added a link to the github pages for more documentation if desired. | ||
+ | * **Scripting Dictionary: | ||
+ | * NEW: the [[dictionary: | ||
+ | * NEW: The [[dictionary: | ||
+ | * **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. | ||
+ | * **XTdb:** XTdb “meta” units now set their “thisUnit” value properly when being updated so that you can filter the log by them like any other Unit. | ||
+ | * **Control By Web Plugin:** | ||
+ | * Added support for sending user/ | ||
+ | * Added a checkbox for “Automatically Create New Units In XTension” so that you can disable this after you have gotten the Units you desire and not have to keep the ones you are not using at this time. | ||
+ | * Added a checkbox for “Ignore VIN Values” the control by web devices all send their input voltage. This might be useful or it might just be a value that is constantly updated as the value shifts by a tenth of a volt causing extra load and log spam. You can check this to ignore those values and neither create a Unit to hold it nor send updates for it’s changing. | ||
+ | * I’ve added some checks and trimming of the unit names as they are being changed into addresses to try to fix some potential issues with creating units in XTension. This is not an issue I can duplicate so am just throwing stuff at the wall to see what happens. | ||
- | * NEW: An entirely new video subsystem is now in alpha testing. It is not feature complete or caught up with the now ancient [[video_pitcher|Video Pitcher]] but it will be eventually. There are now 4 plugins (and there will be more before it’s complete) to do with video processing in the new manner. | + | ----- |
- | * **Video Encoder Service** in order to keep each video stream from starting | + | |
- | * **RTSP Video** connects to an rtsp stream and makes it’s stream available to XTension for display in any of the web remotes or recording via the Video Encoder Service. | + | |
- | * **MJPEG Video** This plugin can connect to any of the older devices that still use an mjpeg stream to send video. Otherwise all the same as the RTSP video setup. | + | |
- | * **JPEG Refresh Video** There still remain many older cameras that do not support anything that is currently avauilable or some that perhaps you only want a low refresh rate of still images and for those the JPEG refresh plugin is the answer. The framerate of these will be much less than any of the others but will work with anything that has a “show me a snapshot” type link anywhere in their interface. | + | |
- | * Both web remote plugins have been updated to be able to view video from both the old and the new system at the same time. It is not necessary to completely switch from one to the other. You can move only a single stream to the new system for testing and keep Video Pitcher running normally until we’re sure it’s working properly. | + | |
- | * NEW: SMTP Passthrough Plugin. This is part of the new video support and is in a very alpha state as well. It is not feature complete indeed it cannot even do as it’s name suggests and pass the connection through to another server. If you have a camera that is old enough to not have any other way to get motion or other alerts from it but via email you can setup this server and point the camera to this. An ON event will be generated in XTension every time the device tries to send an email. This will work with any device that tries to send an email that you simply want an ON event in XTension for not just cameras. | + | |
- | * FIX: Lots of fixes to the Hue plugin. There remained many issues related to the python version change as well as some related to how they represented sensors. All of the remaining issues have been fixed and the plugin should run more normally now without receiving updates constantly for the various sensor types once their battery level has changed as they did in the past. I am about to start reviewing the 2.0 version of the their API to see if that more easily gets us the data than the original API. If this is something you want to use or if you use one of these hubs at all please let me know so I can prioritize it. | + | |
- | * FIX: A problem with the Hubitat plugin that would cause it to log errors when receiving door lock pin code updates. | + | |
- | * FIX: You can now delete items from the web remote interfaces. It was due to a sea change in how the data structures were handled under the hood but I think it’s coming together now. | + | |
- | * FIX: Several typos and other should have been obvious but weren’t errors in the TCPLink/ | + | |
- | * NEW: Debug mode for new style plugins (not any of the legacy plugins) is now preserved across restarts, so if there is a problem during the initial loading it’s a lot easier to get that output without having to run special versions. | + | |
- | + | ||
- | Honestly I cannot overstate how much work the new video subsystem was to get working properly. There will definitely be major changes to the interfaces and everything else but it actually works now for recording and to the web remotes. Please give that a try even though there is not yet any more documentation than this document. | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | * All plugins that previously used the system install of Python2 have been upgraded to run with the embedded python3 version. This makes the app more easily compatible with the latest MacOS versions that no longer include the older python version by default. This did necessitate many changes to the plugins themselves and while they have been running just fine here and for the beta testers there may still be some gotchas in there. If you experience any issues as your plugins are starting up please copy and paste the log entries of any errors and email them to me. | + | |
- | * Specific list of plugins that were converted: | + | |
- | * W8002 (the new API W800 plugin, the original W800 plugin is still included and was not affected.) | + | |
- | * Arduino | + | |
- | * Barix | + | |
- | * APC Status | + | |
- | * DIY | + | |
- | * Haiku Fans | + | |
- | * iTach | + | |
- | * Max Sonar | + | |
- | * RadioRA2 | + | |
- | * RFX and RFX New plugins (again not affecting the legacy versions of these which are still included and are unchanged) | + | |
- | * pigpio | + | |
- | * FIX: Unrelated to the Python3 conversion several places in the Hue Hub plugin that were throwing errors under some conditions were also fixed. | + | |
- | * The Alexa Sudo plugin now uses a shared connection to the UPNP port so that it can play nice with other plugins that need this connectivity as well. | + | |
- | * FIX: the tpLink/Kasa plugin had some code typos in rarely used error handling that could throw additional errors and fail to output anything useful to debug the error. This is now fixed. Additionally a problem was fixed where if Units existed in XTension for devices that were not initially found on the network they would throw errors during regular polling, this is also fixed. | + | |
- | * NEW: Scheduled Events are now searched from the search window. If you search for a Unit or Script that is referenced in a scheduled event it will show up in the results list now. | + | |
- | * Changes: Several updates were made to the plugin includes to add some extra error debugging and other convenience functions. This should not affect any of the existing plugins but will help to ease some better error handling in the future. | + | |
- | + | ||
- | + | ||
- | ---- | + | |
NOTE: This disk image no longer includes the older legacy plugins that will not be updated for newer OS versions. If you still need to run the [[supported_hardware: | NOTE: This disk image no longer includes the older legacy plugins that will not be updated for newer OS versions. If you still need to run the [[supported_hardware: |
current.txt · Last modified: 2024/07/14 16:32 by James Sentman