User Tools

Site Tools


current

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
current [2022/11/05 18:13] – 9.4.48 release James Sentmancurrent [2024/02/05 17:53] (current) James Sentman
Line 1: Line 1:
-=====XTension Version 9.4.48=====+=====Download XTension 9.5.4=====
  
-Released 11/5/2022\\+>2/5/2024 [[current:beta|XTension 9.5.5 Beta 1]] is available. 
 + 
 +Released 12/19/2023\\
 \\ \\
-Download for all Supported OS versions; [[https://www.machomeautomation.com/files/xtension/xtension_9_4_48.dmg|XTension. v 9.4.48 (build 1055)]]\\ +Download Universal Binary for all Supported OS versions; [[https://www.machomeautomation.com/files/xtension/xtension_9_5_4.dmg|XTension. v 9.5.4 (build 1085)]]\\
- +
-**Minimum System Version** for this release is OSX 10.10 but not all plugins may function properly prior to 10.13. Please start the necessary work to upgrade to at least 10.13 for future builds will no longer be able to support 10.10.\\ +
- +
-Apart from a few older plugins the entirety of the application and it’s plugins now run natively on both Intel and M1 macs. +
- +
-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.4.48 Change Log:==== +
- +
-  * 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  up it’s own encoding service and bringing your CPU to it’s knees you need a single instance of the Video Encoder Service plugin running. This receives encoding jobs from any and all of the other video plugins and will convert any recorded videos to h264 video one at a time. If you record a huge amount of video or have a slow machine and lots of cameras just recording all the time it is possible that this will get behind and the recordings will build up. Other modes of recording live are coming but not yet available. I originally built this using ffmpeg to encode the video but it made no use of the GPU on MacOS so I wrote another app that did and it is now launched and run by this server to encode the temporarily saved video data. In my testing it was at least 3x faster than ffmpeg when using the GPU and did not cause the entire machine to hang up if more than one thing was happening at a time. You only need to create a single instance of this plugin and it will handle all the encoding for the moment. Creating more than one only wastes memory as only one can be active at a time. The archives for individual video sources recordings are available to the web remote controls for remote viewing. This entire new video processing system has been a huge amount of effort. I think  you’ll find that your framerates as displayed in the program and in the web remotes as well as what gets recorded are significantly better than what they were with the old video pitcher program. As of this moment there is no direct control of manipulating the images or sending commands directly to the cameras but this is coming. +
-    * **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/Kasa plugin are fixed. Thanks to all of you that not only reported the issues but actually fixed them and posted the details! +
-  * 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.+
  
 +**This is an important update for NGROK users.** This updates the ngrok client to support the system changes they are making live. The older version will no longer be supported very soon. Anyone using ngrok tunnels should definitely perform this upgrade as soon as possible.
  
 +**Minimum System Version** for this release is OSX 10.10 but not all plugins will function properly prior to 10.13. Please start the necessary work to upgrade to at least 10.13 or recommended 10.15 or newer. At some point in the near future it will no longer be possible for me to support anything prior to 10.13 and the video plugins will never work prior to Catalina.
  
 +**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 and you’ll never notice the difference. The only issue is that Rosetta is not included by default on the new Apple Silicon Macs. You’ll need to first run any Intel app, or do a get info on any app at all and select “open using Rosetta” then the OS will tell you that you need Rosetta and would you like to install it now. Once you complete that those plugins will run normally.
  
-  * All plugins that previously used the system install of Python2 have been upgraded to run with the embedded python3 versionThis makes the app more easily compatible with the latest MacOS versions that no longer include the older python version by defaultThis 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. +====9.5.4 Change Log:====
-    * 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.+
  
 +  * The [[supported_hardware:hue|Phillips Hue]] plugin now properly supports non-dimmable plug in modules.
 +  * Fixed a problem with the [[supported_hardware:wiz|Wiz plugin]] that would log errors as the libraries now return the name of the scene rather than it’s ID as they did previously.
 +  * Fixed the error that was logged while trying to create a symlink to the internal python version if you did not have a /usr/local/bin folder on your machine. 
 +  * The python symlink is now created inside the XTension Support folder “pythonxt” and you can use that to run python scripts inside XTension or from elsewhere but using the XTension settings. It is especially useful if you are running python scripts from an async shell script in XTension as they will inherit all the path info to run properly where running the built in python may cause errors.
 +  * NEW: Added an option to delay quitting. This will popup a window asking if you really meant to quit, stopping accidental shutdown of the entire program due to misplaced fingers. The window will count down for 30 seconds and then quit the app. This window does not come up if the system tells XTension to quit as if before a restart or something similar. Find the checkbox to turn it on in the Preferences.
 +  * NEW: Added the option to send a value of 0 for a dimmable Unit to the On script if there is no Off script. Normally a value of 0 for any dimmable unit will be sent to the Off script rather than the On script. Unless there is no off script. This meant that previously you potentially had to duplicate some of your logic for handling values in the On and Off script. When this is turned on in the Preference, and a Unit has no Off script. The On script will be run instead with the future value set to 0. This is on by default, but if it causes you issues with some of your scripting you can turn it off in the preferences window.
 +  * Fixed the incorrect link to the mailing list signup page in the purchase dialog.
 +  * Removed some debug logging I failed to remove before the last release. This was in the conversion of potentially confused strings into floats and so did not affect every plugin, but might have logged confusing information occationally.
 +  * There was a change in AppleScript support in OS versions from Ventura on that would actually enforce some, but not all, of the scripting dictionary flags that have never, in the entire history of the Mac, mattered. So us developers got sloppy and failed to add things like the “optional” flag to all the verbs reliably. The first I’ve found and fixed was with the Speak verb where it would tell you that the “in” parameter was required. It is no longer required. So far I have not found any other such issues and a visual search through the dictionary did not reveal any more such issues, but it’s entirely possible there are more parameters that are not properly marked as optional. If you find any such errors please let me know.
 +  * The Interface list window can now be sorted by CPU Usage, Memory Usage and Process ID. This only works if you have the “show more information” option turned on in the gear menu on the window. This can be a great aide in finding the plugin process that is eating up all your CPU or memory and linking a python process shown in the Activity Monitor to the plugin it’s actually running. They all just say “python” in the monitor. But now it’s easier to find the PID number in the list if you sort by it.
 +  * Updated the [[xtension_manual:ngrok|ngrok client]] version to 3.5. This is an important update if you are using this service as the old version will no longer be supported sometime in January. There were many changes to the usage of the client, and many more to the layout of the configuration file. I believe I have them all sorted out, but if you have issues let me know. All output from the client is logged during startup so you can check immediately if it thinks it started the tunnels or if it logged errors instead.
 +  * I had previously hidden some of the lower level debugging aids in the contextual menus by having people hold the option key while right clicking. There is really no need for this extra step so I removed it. The Contextual menus for Units and Interfaces will have their “log debug data” and “Reveal in Finder” options at the bottom of all the contextual menus for them. This will make it easier to collect info for me if things start behaving oddly.
 +  * I added the same debug logging info to the contextual menus of global scripts should it ever be necessary to get a look at that.
 +  * To that debug output I added another line of info comparing the length of the Unit Address in both bytes and glyphs. This might be helpful to more easily discover if a plugin or a bug somewhere has inserted invisible characters into the Address field of a Unit causing things to get disconnected in the database and potentially making more and more units being created when there really should be only the one.
 +  * There were some significant updates and improvements in the main program libraries that will make many things run faster and smoother. So far my testing of all of them work just fine. They aren’t a thing I can turn off though, they are just part of the latest compiler update. It will depend on what you’re doing, how busy your machine is and how fast it is in general whether you’ll see any difference at all. Usually the things they improved aren’t an issue until you’re doing something many times in a row. So I expect that the main improvements will be in window redrawing and things like that, but if you have a machine that is very busy it may improve that somewhat throughout.
  
-----+-----
  
 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:cm19]], [[supported_hardware:cm15a]], [[supported_hardware:zwave]] or the various Smarthome X10 interfaces please download [[tech_notes:catalina|the legacy plugins package from here]] and install the ones you need via the “Install Plugin” menu item of the “Database” menu.  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:cm19]], [[supported_hardware:cm15a]], [[supported_hardware:zwave]] or the various Smarthome X10 interfaces please download [[tech_notes:catalina|the legacy plugins package from here]] and install the ones you need via the “Install Plugin” menu item of the “Database” menu. 
current.1667671984.txt.gz · Last modified: 2023/02/13 14:51 (external edit)