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
Next revisionBoth sides next revision
current [2022/11/05 18:13] – 9.4.48 release James Sentmancurrent [2023/06/07 15:36] James Sentman
Line 1: Line 1:
-=====XTension Version 9.4.48=====+=====Download XTension 9.5.2=====
  
-Released 11/5/2022\\+> There is a Beta version available: [[current:beta|]] 
 + 
 +Released 4/9/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_2.dmg|XTension. v 9.5.(build 1076)]]\\
- +
-**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 properlyThere will definitely be major changes to the interfaces and everything else but it actually works now for recording and to the web remotesPlease give that a try even though there is not yet any more documentation than this document.+**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.
  
 +====9.5.2 Change Log:====
  
 +  * NEW: [[supported_hardware:sysinfo|Sysinfo Plugin]] for monitoring Disk space, Disk Usage, Network Usage and Networking Errors.
 +  * NEW: [[supported_hardware:zadarma|Zadarma plugin]] to send SMS messages via the commercial Zadarma service.
 +  * NEW: New option in the Preferences dialog to Dont Stop A Restart With "Window Has Changes" Dialog. This is not really the correct way to handle this so consider it a stop gap measure until I can properly support the saving and restoring of the window state. Previously if you had left a script window open with changes, or an Edit Unit window open with changes and the machine tried to restart automatically the “this document has changes, are you sure you wish to throw them away” message would halt the shutdown and leave XTension in a non-operating condition. With this option turned on XTension will still provide those warnings if you manually try to close a window that has changes, but if the app is being quit it will allow the changes to be lost and so not cause hangups or problems when restarting the server. If this is not how you wish it to behave then you can turn this off in the Preferences.
 +  * NEW: List windows now display the number of Units in the List as well as the number of Units in an error condition or with low battery messages. This is shown in the title of the window after the List name.
 +  * NEW: The [[supported_hardware:mqtt|MQTT plugin]] now lets you get values out of a payload that is in JSON format without having to script your way through it. You can use the new JSON Path field to give names of entries and indexes into json arrays to find the value you are looking for. This applies to all non-special device units and so once you get to the info you want any of the Units will then be able to look for numerical data, or enumerated values or just put the value into the Description at that point. This does not effect the sending of payloads. If you have to send a JSON packet you’ll still have to build that in a script for the moment and use the raw publish command.
 +  * NEW: The [[supported_hardware:hubitat|Hubitat plugin]] now properly implements sending of a user/password to the hubitat if you have that option turned on in the hub.
 +  * NEW: The [[supported_hardware:hubitat|Hubitat plugin]] now properly handles valve devices and controlling them via their open/close commands.
 +  * NEW TEMPORARY: I have made some changes to the standard off handling in the Hubitat that fixes some oddness with enumerated commands. I believe this works for all existing devices as well but just in case there is a new checkbox in the hubitat settings that will allow you to drop back to the old handling if it causes you any problems. Please let me know if you have to use this for any reason and the details of that otherwise I will be removing it in the next version unless I hear from people with the need to do this.
 +  * NEW: The [[supported_hardware:hubitat|Hubitat plugin]] has a new checkbox that will log status messages from the Hubitat. These are normally things like “the bedroom lights were turned on” but it might be useful to see these if there are issues or debugging that you’re trying to sort out. It can be a lot of extra logging that doesn’t usually contain any useful information so it is an option you have to turn on if you wish to see it.
 +  * NEW: Those same Hubitat status messages are now automatically added to a Unit property called “Status Message” and another Unit Property “Status Timestamp” will be the date/time when the current message was received. This way you can trap them in a script, or add a custom column to any List window to show them if you wish rather than just logging them. The above checkbox for logging the status messages does not have to be turned on to send this info to the Unit Properties. This is always done.
 +  * NEW: The [[supported_hardware:tplink|Kasa plugin]] now properly supports in wall dimmers as well as just bulbs.
 +  * NEW: Added support for Ramp Rates to the [[supported_hardware:tplink|Kasa plugin]]so you can control the dimming speed on a command by command basis if you wish.
 +  * NEW: Added several options to the [[supported_hardware:tplink|Kasa plugin]] for the handling of preset values for Kasa bulbs vs dimmers.
 +  * NEW: The CPU Usage figures for plugins shown in the Interface List window when “show more information” is selected now includes the CPU usage of any helper apps or sub processes that the plugin might be running. This makes them much more accurate and useful for very CPU intensive plugins such as the Video plugins or the rtlamr or other plugins that use helper apps.
 +  * NEW: The Interface List window also shows a percent of memory use for the plugin instance and any child processes after the CPU Usage number.
 +  * NEW: A new option in the Interface List window lets you chose if the CPU Usage calculation is done based on 100% a single CPU core, or 100% being every CPU available in the machine. So if you have 10 cores and you chose individual then 100% would be using a full core, but per machine that would only be 10% of the overall machine load. Whichever makes more sense to you when viewing it. The numbers are usually very low and so many not show up on the graph at all unless you increase their values by setting it to per CPU. Plugins that are using GPU resources or that are using helper apps may show as using more than 100% if per CPU is selected. This is OK.
 +  * CHANGE: The helper app for the Video system that does the encoding is now a proper background app and so will not show up in the dock as it is running.
 +  * CHANGE: The [[supported_hardware:mqtt|MQTT plugin]] now creates new units with a default timeout of 2 minutes rather than the original 15 seconds which caused a lot of unnecessary chattering in otherwise valid receptions. You can still adjust this to whatever value is correct for your system after the units are created. This does not change any setting you have set in existing Units created by the plugin.
 +  * CHANGE: The [[supported_hardware:mqtt|MQTT plugin]] now creates new units with the “do not log new value receptions” checkbox set as it is possible for this plugin to generate a truly obscene amount of logging if it’s in an area with a lot of devices. You can turn this back on for the Units you wish to watch. It will not change the setting of any already existing Units.
 +  * CHANGE: The [[supported_hardware:weedtech|Weeder plugin]] will filter non-ascii characters that might be received when making IP connections. This may help if there is noise on the data line that inserts random data or if an ethernet/serial device is stuck in a mode sending packing characters. If it is because of noise it will not actually solve the problem but it will give you more time to sort it out. If it’s a packing problem it will probably be OK as long as the packing character is not in the range of ascii that the weeder cards use to communicate normally. This same filtering is not yet applied to direct serial connections, please let me know if that is a thing that would help anyone.
 +  * The [[supported_hardware:hubitat|Hubitat plugin]] now throws more useful errors if there is a problem with the API number, or API Key or user/password so it’s easier to sort out a failing connection. Previously it would just complain that it couldn’t connect but did not elaborate.
 +  * The [[supported_hardware:hubitat|Hubitat plugin]] will now log Zigbee Radio status changes or errors as proper messages from the Hubitat rather than as unknown messages.
 +  * FIX: Found a problem with the [[supported_hardware:tplink|Kasa plugin]] that might have caused some Units to be created with the wrong device type, or even no device type at all causing XTension to create it as if it was an old school X10 unit as in the absence of the more recent data structures it seems to regress to it’s origins. I am not certain this has fixed all the problems people were having with this and the situation that it would happen in is odd and therefore rare and difficult to duplicate. Specifically it was only a problem if the kasa dimmer type was discovered directly after a powerstrip type.
 +  * FIX: If the [[supported_hardware:mqtt|MQTT plugin]] receives messages from ESPresense devices that do not have a “distance” parameter for some reason it will just ignore that message. Previously this could lead to further updates being ignored as it threw out other updates after the error. While this will allow processing to continue I believe that this can only happen due to an error or a bug or some problem with the ESPresense device or software and this will not be able to fix that. You may lose reception entirely from that receiver, or just that beacon that it’s sending, but something deeper is causing this. At least XTension will continue to process valid packets from anywhere else.
 +  * FIX: The [[supported_hardware:mqtt|MQTT plugin]] will now properly publish enumerated values on systems that use a period instead of a comma as their decimal separator.
 +  * FIX: Added a random pause up to 3 seconds when starting up multiple [[video:rtsp|RTSP video streams]] at the same time. On older or more resource limited machines this was causing problems if many streams tried to startup at exactly the same moment.
 +  * FIX: An [[video:rtsp|RTSP video stream]] can become confused at some point and stop sending full frames from some devices. Previously the plugin would happily display and record these partial or badly corrupted frames. Under most circumstances it will now realize that they are not valid frames and restart the stream in order to recover from this problem.
 +  * FIX: The [[supported_hardware:diy|DIY Plugin]] will now properly recover from the loss of a network serial connection the same way that it does for a local serial connection.
 +  * FIX: Older binary plugins such as the Vera plugin would throw errors when trying to issue some unit specific scripting commands. This was due to the changes in the previous version that allowed the scripts to throw applescript errors if you called a handler that did not exist. The older plugins were not registering their handlers in the same way and so fell afoul of this. They will now let you call any of the handlers without an error.
 +  * FIX: Fixed some problems with the managed folder system that is used by the new video plugins for managing disk space on the recording volume. This will now properly keep the minimum disk space you have set available. If you suspect something is going wrong with this there is an option in the new Debug menu (see below) that will let you log it’s progress and calculations to the log which you can then send to me for debugging.
 +  * FIX: The managed folder system now recovers from having a volume not present at startup, or if a volume is unmounted and then re-attached. It will let you know if the Volume is unavailable and then will begin scanning it again when it re-appears.
 +  * DEBUG: Added a checkbox to the preferences for “show debug menu” this will reveal a debug menu where I have gathered many of the various hidden debugging options in the app for easier access when it is necessary to gather more info for me on a problem. Please do not experiment with these unless I’ve asked you to as they may generate huge amounts of log output or break other things if used incorrectly.
  
-  * 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.txt · Last modified: 2024/02/05 17:53 by James Sentman