This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
current [2022/12/06 13:58] James Sentman added beta link |
current [2023/02/03 17:00] (current) James Sentman |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | =====XTension Version 9.4.48===== | + | =====XTension Version 9.5.1===== |
- | **NOTE: A more recent [[current:beta|Beta Version of 9.5]] is available for testing of the [[video|new Video Subsystem]].** | + | |
- | \\ | + | |
- | Released 11/5/2022\\ | + | Released 2/3/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_1.dmg|XTension. v 9.5.1 (build 1069)]]\\ |
- | **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.\\ | + | **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. |
- | Apart from a few older plugins the entirety of the application and it’s plugins now run natively on both Intel and M1 macs. | + | **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. |
- | 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:==== | + | ====9.5.1 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. | + | * NEW: [[supported_hardware:mqtt|MQTT Client Plugin]] for getting info from, or sharing info to, any MQTT Broker. |
- | * **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. | + | * NEW: [[supported_hardware:mqtt:espresence|ESPresense Support]] in the new MQTT Client Plugin. |
- | * **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. | + | * NEW: [[supported_hardware:nohassle4|Plugin for No Hassle AV 4x4 HDMI Switches]] |
- | * **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. | + | * NEW: [[supported_hardware:nohassle8|Plugin for No Hassle AC 8x8 HDML Switches]] |
- | * **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. | + | * NEW: [[supported_hardware:controlbywebout|Control By Web plugin]] that makes outgoing connections rather than using the inter device communications protocol. The original Control By Web plugin is unaffected and still included in the package. |
- | * 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: If there are important messages generated during startup they will also display in a new Startup Messages window. This way problems that would otherwise be lost in a very long log output are more easy to see and then deal with. This was build first to support the checking for multiple-interface collisions see next item... |
- | * 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. | + | * NEW: During database load any collisions in Multi-Interface setups will be logged and also written to the new Startup Messages Window. In order for multiple interfaces to work there must not be a unit actually receiving messages at the same address on the extra interfaces. This makes it easier to find this situation and fix it. |
- | * 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. | + | * NEW: The [[:video|new Video system]] now inserts the time stamp and any other messages you add for the reason for recording to the closed captioning track of the recorded video snippet. This is superior to just overlaying the video as it does not obscure any of the frame as it can be moved around in the player or even turned off if you do not need to see this. |
- | * FIX: A problem with the Hubitat plugin that would cause it to log errors when receiving door lock pin code updates. | + | * NEW: [[:video|new Video system]] now will display any events you sent as the reason for a recording on the original Web Interfaces which brings this into line with the way the original Video Pitcher system worked. |
- | * 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. | + | * NEW: In the Video Encoder plugin whenever a recording is complete and post processed or encoded and ready an event is called in the plugins interface script passing you the name of the video stream it came from as well as the full path to the file so if you wish to script uploading them or doing anything else with them it is now easier to do so. |
- | * 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: If you’re using the “live recording” option that doesn’t use the Video Encoder separate process the above event is sent to the video plugin’s interface script instead. So they can also be handled in the same way, just in a different place. |
- | * 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. | + | * NEW: The [[supported_hardware:hubitat|hubitat plugin]] now supports getting the data from objects with the attributes of “rate”, “valve” and “totalConsumptionToday”. This was for the Moen FLO Smart Shutoff and water meter device but will work for any device that uses those keywords/topics for it’s data. |
- | * FIX: Many other smaller errors in various other plugins related to the switch from python2 to python3 have been fixed as well. Please test anything that wasn’t working for you before and re-submit any log output for issues to me as I am better able to know where the issues actually are at this point. | + | * NEW: Added a “SendRaw” handler to the [[supported_hardware:arduino|Arduino plugin]] so that in addition to the regular Unit commands you can send any arbitrary data to your device as well. |
+ | * FIX: Units added later to a list shared via home kit will no longer be at risk of getting a Duplicate Accessory ID error. | ||
+ | * FIX: If you have units that are already suffering from the above problem there are [[supported_hardware:homekit|new script functions]] you can use to find and correct the errors. | ||
+ | * FIX: Fixed an issue that would cause a slight increase in CPU usage in the MJPEG Camera plugin each time it reconnected the stream. | ||
+ | * FIX: Fixed an issue with the Amcrest Camera API plugin that would cause it’s CPU usage to go to 100% after a stream connection was lost and restarted. | ||
+ | * FIX: Improved the syncing of the database to the plugins fixing an issue that sometimes caused an error during the load that could have stopped any units after the error from loading at all. | ||
+ | * FIX: The available ram that is logged when XTension is starting up was calculating incorrectly displaying what looked like just a few meg rather than the correct value. It is not logged properly and is therefore useful again. | ||
+ | * CHANGE: Calling plugin registered scripting handlers will now generate an error in the script if you call one that does not exist or misspell it or something similar. Previously such errors were lost silently. | ||
+ | * FIX: When doing the “log debug data” for a unit the thisUnit value is set properly letting it show up when filtering the log for output from that Unit. | ||
+ | * FIX: Fixed an issue loading Unit Icon files that were not JPEGS. All system supported graphic types are again working. | ||
+ | * CHANGE: When setting the enumerations for a unit value the individual comma delimited entries are now trimmed of any leading or trailing spaces when they are saved, It is common to type a list with spaces in it that you don’t actually want in the value like “one, two, three” which would have resulted in the value being “ two” now when saving the Unit the values are fixed so that the previous would become the correct “one,two,three" | ||
+ | * FIX: Fixed a typo in the debug logging in the Phillips Hue plugin that caused a second error while trying to log useful data about a first one. The error messages are now potentially useful instead of being an error about the error handling. | ||
+ | * CHANGE: if you select the “Show More Information” menu item from the gear menu of the Interface List window the CPU usage of each plugin process is calculated for all running plugins. This makes looking for something having a problem or stuck in a loop where it shouldn’t be easier. This is not a completely trivial extra load so the data is only gathered if you have the list window in the Show More Information state and not in the normal more compressed state. | ||
+ | * FIX: The camera API plugins are now python compiled before adding to the application bundle during the build process. They always worked fine but they would have taken longer to load as they needed to be compiled by the python interpreter each time and the compiled data could not be saved as they are inside the signed portion of the application so doing so would break the developer signature. | ||
- | 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. | ||