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 [2018/08/25 19:39] – 9.4.10 James Sentman | current [2023/07/30 17:34] – James Sentman | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | =====XTension | + | =====Download |
- | Released: 8/25/2018\\ | + | |
+ | Released | ||
\\ | \\ | ||
- | Download: [[http:// | + | Download |
- | zipfile md5 = [[tech_notes: | + | |
- | \\ | + | |
- | \\ | + | |
- | Just some minor bug fixes and support for the new [[supported_hardware: | + | |
- | \\ | + | |
- | ====Change Log==== | + | |
- | * NEW: Very alpha WebSocket plugin. Share any or all of your units and global scripts with anything that can connect via a websocket. Vera alpha right now but functional. Comes with a demo page to show how to write javascript to display info from your database live or send commands to units or Global Scripts. | + | |
- | * Bonjour or mDNS support is built into XTension for plugins so they don’t have to have any code to manage that themselves. | + | |
- | * Fix: the debug mode checkbox in the edit interface dialog may have gotten out of sync if you changed it from another source. | + | |
- | * Fix: the JSON server had a bug that would let through some invalid tokens and also display some garbage in the list of tokens that you couldn’t delete. This is all working normally again. | + | |
- | * The JSON server is a total rewrite using the new plugin APIv2 protocol. I’ve been testing my setup all week and everything appears fine but please test your JSON/HTTP server setups with this version and email me off the list if there are problems. | + | |
- | * Change to the timeout parameter of the async shell command. If you set it to -1 then it will never timeout and just run for as long as it needs to. | + | |
- | * Some important changes to logging when an async shell or interface shell doesn’t finish in time and is forced quit. It’s possible that the program can hang when trying to kill an errant shell command so prior to killing it XTension now flushes the log and writes to it that it’s about to try to kill a shell. If you have a hanging problem this version will be better able to catch in the log the last thing it was doing before it happened. | + | |
- | * NEW: Totally new Interface list window. The default is to show a mode compact window with a little less information. This makes more things fit on the screen and I like that a lot more. You can still click the gear menu toolbar to turn on “show more info” which will look almost identical to the old display if you liked that. | + | |
- | * NEW: the debug checkbox in the interface list window is gone. You can still turn it on and off from the edit interface dialog, the floating interface status dialog, from the contextual menus in the interface window and also the gear menu has an option to turn it on or off. It was wasting space on that window where it wasn’t necessary since there are so many other places to get to it. | + | |
- | * New: Plugins can now write a line of info into the space that used to be wasted by the debug checkbox. For example the new JSON server now will tell you what port it’s listening on and how many hits you have had so far. You can clear the hit count by using the contextual menu. | + | |
- | * New: Plugins can now setup contextual menu’s for the interface list window that are custom to them like the already mentioned JSON server. | + | |
- | * The LIFX plugin now also displays there when it’s scanning and how many units it’s actually found. | + | |
- | The websocket plugin test page is located inside the plugin folder itself. To get to it and experiment | + | **Minimum System Version** for this release |
+ | |||
+ | **Rosetta Note:** While the entirety of the main app and all more recent plugins are Universal and run natively on Intel or Apple Silicon there are a few older plugins including the W800 and CM11 that are still Intel only. They run fine under Rosetta | ||
+ | |||
+ | ====9.5.3 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 | ||
+ | * 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 | ||
+ | * changed the logEvents() command to be showEvents() | ||
+ | * 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, | ||
+ | * **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 | ||
+ | * **Hue Plugin:** | ||
+ | * Hue Plugin: Fixed an issue where it could send continual | ||
+ | * 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 | ||
+ | * **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 | ||
+ | * 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 | ||
+ | * Hubitat: Some devices from the Hubitat will now have more descriptive, or less long winded names when created by default. This will mostly effect the Thermostat units but some others can be made better with this too. This does not affect Units already created, and you can always manually edit the unit’s name once it’s created to be whatever you like in either case. | ||
+ | * Hubitat: The list of supported commands for each Unit is now saved to a [[dictionary: | ||
+ | * Hubitat: Push messages | ||
+ | * **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 | ||
+ | * 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 | ||
+ | |||
+ | ----- | ||
+ | |||
+ | 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: | ||
+ | |||
=====Previous Releases===== | =====Previous Releases===== | ||
{{indexmenu>: | {{indexmenu>: | ||
- | === Older Versions === | + | |
- | [[beta|The Changelog and Download links for builds between 763 and version 9.1 can be found here]] | + |
current.txt · Last modified: 2024/02/05 17:53 by James Sentman