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 revision Previous revision
Next revision
Previous revision
current [2022/11/05 18:13]
James Sentman 9.4.48 release
current [2023/02/03 17:00] (current)
James Sentman
Line 1: Line 1:
-=====XTension Version 9.4.48=====+=====XTension Version 9.5.1=====
  
-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.(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.Change Log:====
  
-  * NEW: An entirely new video subsystem is now in alpha testingIt 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 timeIf you record ​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 upOther modes of recording live are coming but not yet availableI 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 timeYou 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 programAs 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 answerThe framerate of these will be much less than any of the others but will work with anything that has “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 timeIt 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 new Startup Messages windowThis way problems that would otherwise be lost in 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 thisAn ON event will be generated ​in XTension every time the device tries to send an emailThis 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 interfacesThis 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 pastI 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 APIIf 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 snippetThis 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 insteadSo they can also be handled in the same way, just in different place
-  * NEWDebug 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
 +  * 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 valueIt 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 JPEGSAll 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 list with spaces ​in it that you dont 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. 
 +  * FIXThe 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
  
-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:​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: 2022/11/05 18:13 by James Sentman