User Tools

Site Tools


current:beta

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:beta [2023/01/21 20:09] – 9.5.1 beta 6 James Sentmancurrent:beta [2023/03/21 18:45] James Sentman
Line 1: Line 1:
 =====Beta Versions===== =====Beta Versions=====
 +**XTension 9.5.2 PR 1 (3/21/2023)**
  
-XTension version 9.5.1 beta 6 is available:+Preview Release 1 of 9.5.is now available: [[https://machomeautomation.com/files/xtension/xtension_9_5_2pr1.dmg|XTension 9.5.2 pr1]]
  
-[[https://MacHomeAutomation.com/files/xtension/xtension_9_5_1b6.dmg]]+  * NEWList Windows will show the number of units in the list, the number with errors and the number with low battery flags after the name of the list. 
 +  * MQTT Client plugin now sends enumerated values properly on machines that use a decimal separator other than a period. 
 +  * Kasa/TP-Link: This now works for my devices to turn on and control “smart dimmer” devices. There is still some weirdness with setting a ramp rate if you’re turning on from off. All other cases seem to be working fine. 
 +  * Weeder: If extra packing characters, or other bogus data characters are received from an IP connected chain they will be thrown out and ignored prior to processing whats left of the data. This will not get around true problems with noise on the data ground or devices resetting due to power supply issues, but if it’s a matter of the wiznet card sending packing characters above the range of printable characters then this should get rid of that, Of course if the noise generates characters within the range of the bytes that are used for normal communications this will not solve the problem either. 
 +  * Hubitat now properly works with Valve devices. At least it does with my fake testing devices.  
 +  * I have improved the logic in handling off messages to the hubitat as well. since this changes existing behavior i have added a checkbox in the interface setup that defaults to the new method but if that causes you any difficulty you can switch to the original method as easily as unchecking a checkbox. DO NO do this and just assume that I somehow know you’re having a problem. If you need to do this please tell me why and as much about it as you can otherwise I’ll be removing the checkbox in a future build and if you don’t tell me you needed it then it will just go away. 
 +  * NEW: In the Hubitat settings is a new checkbox to write all the description of event information the hubitat sends to the log. This is normally stuff like “bedroom lights turned on” and so forth. It can be a lot of traffic if you’ve got a lot of units that report wattage usage values and so forth so previously I’ve always just ignored it. Since I was in there and adding stuff for the new off handling I decided to add a checkbox to log this as well. It may be useful when debugging something and is not as chatty as turning on full debug mode.
  
 +-----
 +**XTension 9.5.2 Beta 3 (3/17/2023)**
  
-=====Beta 6 Changelog:===== +A third and hopefully last beta of 9.5.2 is now available[[https://machomeautomation.com/files/xtension/xtension_9_5_2b3.dmg|XTension 9.5.2 b3]]
-  * NEW: Direct support for ESPresence in the MQTT plugin. Simplifies using ESPresence devices with the MQTT plugin without having to do a lot of scripting. Turn it on in the Edit Interface dialog for the plugin and at least initially you should leave the Automatically Create Units for it turned on until it’s setup to your satisfaction. Full Documentation is coming but for the moment here. The ESPresence support will find all the devices that have been seen on your receivers, by devices I mean the bluetooth beacons and things like iPhones and the like, not the physical ESP32 devices running the receiver software. Each device will get a master device unit in one list in XTension. This will have the presence/absence of the device anywhere on your systemIf no update has been received for it by the timeout set in the edit unit dialog then it will get turned offWhile turned on the default label for the Unit will be the name of the room that the device is in. In addition to that another list of location units are created. For each device another unit is created for each room they may be in. These Units will turn on and off based on regularly walking the list of recently received messages and finding the one with the shortest distance to the receiver. I’m not 100% sure about this logic or layout or anything else yet so please let me know if this is the kind of thing you’d expect from this or not. More direct device support is coming. I’m working on Tasmota next as it also has a rather complex MQTT topic structure. +
-  * NEW: If there are important errors during startup a new list window will open to contain them separate from the log. This window is called the “Startup Messages” window. If you see it then there is something you might need to address. It will either contain the necessary information or suggest you look at the log for more info. This way messages on database load that might get scrolled off the top so fast you don’t see them will get noticed more easily. +
-  * NEW: Multiple Interface Collision Detection. Previously it was possible to create a situation where a unit was set to use interfaces to receive, but one of them could have another unit with the same address which would keep the multiple interfaces from working properly. During startup if this is seen while loading the database an error is written to the log and a startup message is created in the above mentioned window telling you that it has happened and what the 2 units are so you can more easily figure out why messages aren’t getting routed as you expect. +
-  * NEW: MQTT Plugin now better handles server reconnects. If the server drops out due to network issues or rebooting or whatever and then recovers all your existing subscribed units will re-subscribe and continue to receive data. +
-  * NEWMQTT Plugin now has a separate field for the outgoing topic. If updates from the Unit need to be published to a different topic than the one subscribed to for updates from the mqtt server that can now be entered there. +
-  * NEWMQTT Plugin now lets you set the QOS and Retain values for each individual Unit in the Unit Setup Dialog. +
-  * NEW: MQTT Plugin implements a generic scripting handler just called “publish()” that lets you publish any string to any topic from anywhere. If you’re doing it from the Unit’s on or off script no other handling is needed it’s just:publish( “/my/topic”, “shower in use”) if you’re doing it from elsewhere use the tell xInterface “name of your MQTT plugin” to publish( “/my/topic”, “shower in use”) +
-  * NEW: The Video plugins now insert all the event data that you create while recording with the record from “whatever” for 30 info “name the event here!” as well as the timestamp of the frame into closed caption dataThis can be displayed when streaming the snippet from the web interface or when just viewing it off the disk. It is superior to physically overlaying the text onto the actual video stream as it can be moved around by the user so that it doesn’t obscure something you want to see and it is readable and the same size no matter how small a thumbnail of the video you’re looking at. +
-  * NEW: The video plugins now provide the same event listing in the Web Interfaces that the old Video Pitcher program did. So they will show up there as well as closed captioned.  +
-  * FIX: Fixed a problem with the MJPEG camera streaming plugin that would cause a slight bump in CPU usage every time the connection was lost and recovered due to it not properly closing a thread that would keep trying to work in the background even after it had been replaced. +
-  * FIX: Fixed an issue with the Amcrest API camera plugin that would cause the plugin CPU usage to peg at 100% if the camera connection was lost. +
-  * FIX: Fixed a rare and unusual problem with syncing data between XTension and the pluginsThis could have caused the loading of units from XTension to be short circuited and some updates to be lost to the plugin. +
-  * FIX: The logging of available RAM that XTension does at startup was logging it with the wrong suffix showing that you only had kb available when it was really mb or gb. +
-  * CHANGE: This shouldn’t affect anything, but keep an eye  out in case it does. Plugins that have scripting handlers now register them with XTension. XTension will verify that a handler you’re trying to call is available before sending the command to the plugin. If you try to call a handler that does not exist then the script will be returned an error. Previously once the command was sent to the plugin it was assumed to be handled. So if you had called piblish( “topic”, “payload”) instead of publish() it would not have been able to log an error, it would just silently fail. So watch for new script errors where this might be being caught now when it was never before.+
  
-This is probably going to be the next release unless something else exciting comes up.+  * Added a slight random pause in the startup of the Video plugins as it seems that starting many of them all at once was causing some errors or hangups at the sheer number of processes being started at once. 
 +  * There was an error case in the Video plugin where frames would be corrupt, but rather than an error I could trap and therefore realize the camera was no longer sending valid data the system would return a corrupt frame with no way to tell that an error was occurring. This version adds some, but not all, traps to places where the frames are processed in order to trap this. If a camera starts doing this while it’s being recorded or streamed they will be caught and treated like a stall if they don’t get better on their own. The stream will then restart and go back to working properly. It may not catch this condition when nobody is looking at the stream or when the stream is not being recorded as the frames are either not received or not processed when not necessary. IN which case the stream would be fixed shortly after you started using it again. 
 +  * Fixed a bug in the DIY interface that could keep it from reconnecting to a networked device after the device rebooted or was otherwise disconnected from the network. The interface will now reconnect properly. 
 +  * Added support for ramp rate to the Kasa/TP-Link plugin. For any device that supports it you can include the “rate” parameter to any on/off/dim/bright command. 
 +  * Added specific support for Kasa Dimmers to the Kasa/TP-Link plugin. Previously they were treated as bulbs which caused some problems. This version also sends an ON before sending a Set Brightness command as they were not honoring the set_brightness unless they were already on. This on is sent with a very slow transition rate so that it should not cause any artifact before the set brightness command arrives a few ms later. 
 +  * When dealing with Kasa bulbs you can now control how a bulb is treated at power off. See the Kasa documentation for more info on the “nova” effect some bulbs have and how to fix that or set the next power on preset while turning them off. 
 +  * The Hubitat plugin now implements sending user name and password if you have set that up on your device. 
 +  * The Hubitat plugin now sends more helpful error messages if the API ID or Authentication token is wrong or corrupt in the interface setup. 
 +  * The Hubitat will now log more useful messages when the ZigBee Radio changes status rather than logging an unknown push message error. 
 +  * MQTT Units are now created with a timeout of 2 minutes instead of 15 seconds to avoid having quite so many on and off for normal devices that dont transmit that rapidly. 
 +  * MQTT Units are now created with the “dont log new value receptions” advanced unit option set to avoid having the log filled immediately with messages from them as potentially hundreds of units turn on and off constantly until the timeouts and other things are configured properly. You can turn this logging back on if you wish once you figure out which Units are actually important to you. 
 +  * Added the ability to navigate through a JSON packet in the MQTT Units to find the value that is important to you removing the need for most such things to be handled in code. Any JSON packet can be parsed through this but more complex structures, or sending JSON packets to the server, might still need to be handled in code. See the MQTT Plugin documentation for more info. There is also a link to the specifics and some examples on the plugin documentation page.
  
-=====Beta 4 Changelog:===== +----- 
-Change log: +**XTension 9.5.2 Beta 2 (2/27/2023)**
-  NEW MQTT Client pluginNo wiki documentation yetRead the information on the unit pages carefully. Select how you’re going to get the data out of the topic there are currently 3 types of parsing to get it out. There will be more for more complicated devices. Then enter the MQTT Topic into that field and if the Unit is way select the way you’re going to send data back to the server. There are currently many choices but none that will yet easily handle XML or JSON values or more complex structures that would require scripted parsing and scripted re-creation of such a structure. If you have examples of such things please send me the topic data from them and as much other info as you can put together so I can make sure that the release version of the plugin can handle it. To see all the topics as published turn debug mode on for the plugin instance. Note that there is no attempt to automatically create Units for an MQTT server. That would result in a LOT of Units. Create only the Units you need with the specific topic paths that you wish. Use a problem like MQTT explorer to find what they are on your server. Also note that this is NOT a broker. This is a client and can connect to a broker elsewhere or running on the same machine. I recommend the Mosquitto server at the moment since that is what I have been testing against. +
-  FIX data logged from a Unit using the contextual menu item of log debug data will now have the Unit set so that you can filter for that and see it in the log. Makes it easier to gather debugging information for me. +
-  Fixed an error in the error logging in one place in the basic plugin includes. This could have caused a confusing error and would have stopped the logging of the actual error and information that I would need to fix that. This was initially plaguing folks with the Barix plugin as it was trying to convert older Units. I have found an interface on my system that also generates this error so I will be able to fix it now, but if we were working on this please send me the new error message to help me get this squashed and properly working+
  
-=====Beta 1 Changelog:=====+A second beta of 9.5.2 is now available. [[https://machomeautomation.com/files/xtension/xtension_9_5_2b2.dmg|XTension 9.5.2 b2]]
  
-Changes in the previous beta.+This beta fixes a problem with the most recent release that rendered the non-scripting dictionary commands to older interfaces like the Vera unavailable. These commands now work normally again. 
 + 
 +If a volume is missing or not mounted when a video plugin attempts to register it as a space managed volume, XTension will log a single error but keep trying during the disk space scans to find it and when it appears it will begin scanning it normally. If a drive is unmounted and remounted it will continue to be properly scanned by the disk space manager for video recording. 
 + 
 +----- 
 + 
 + 
 +**XTension 9.5.2 Beta 1 (2/25/2023)** 
 + 
 + 
 +There is a beta version available of XTension 9.5.2 
 +Download for all supported architectures: [[https://machomeautomation.com/files/xtension/xtension_9_5_2b1.dmg|XTension 9.5.2 b1]] 
 + 
 +This version contains important fixes to the new video system. This build fixes issues with the disk space management that could lead to the drives you’re storing video to filling up. The program now properly honors your settings in the video plugins setup pages where you set a minimum disk space to keep available on the disk. It will scan every 5 minutes and remove enough of the oldest files across all of the managed folders to bring the available space back up to your minimum setting. 
 + 
 +A minimum disk space of 100m is maintained with a default of 5gb. Depending on the number of video streams you are saving to the disk you may wish to keep the disk space free higher than 5gb so that there is enough space to process the current file and record from new ones. Generally there needs to be at least 2x the disk space available as the size of the video snippet but pushing it too close could lead to a snippet failing to be saved at all.  
 + 
 +Only files inside the folders you select for the video plugins are scanned and deleted if needed. No other folders on the disk are touched. This means that other things not part of the Video recording system might cause the disk to fill up, or to cause more video files to be deleted to keep the space available. 
 + 
 +There are no other changes to this build from the last release of 9.5.1, so it should not cause any new problems. It also makes no changes to the database layout or structure. If you do need to revert you should not have to revert the database to the backup that is made automatically when this build is first run, but it will be there if you need it. 
 + 
 +If you suspect an issue with the new disk space management or wish to see debug log output of it’s functioning and what files it chooses please go to the preferences and check the “show debug menu” checkbox. Then in the newly visible debug menu select the "Log Disk Space Management Info." When in debug mode the scan will be run every minute instead of every 5 to collect more debug data which will be written to the log in a lovely orange. You may also use the “Run DiskCheck Now” menu item to force it to run while you’re watching. Uncheck the “Log Disk Space Management Info” menu item to go back to normal functioning. Be aware that other options in the debug menu are undocumented and may cause more problems than it’s worth to play with them. Please do not use other debug menu items unless I ask you to in order to collect more info on other issues. 
 + 
 + 
 +-James 2/25/2023
  
-  * NEW Plugin for No Hassle AV 4x4 HDMI switchers. [[supported_hardware:nohassle4|Documentation is here.]] This supports (or tries to) 4 different 4x4 size devices. 
-  * NEW Plugin for No Hassle AV 8x8 HDMI switchers. [[supported_hardware:nohassle8|Documentation is here.]] This supports (or tries to) 3 different 8x8 size devices. 
-  * FIX: Fixed a problem loading Unit Icon files that were not JPEGs. PNG’s and GIF’s load normally again. This was broken recently when I switched to a faster jpeg parsing library. 
-  * FIX: more bugs in the Phillips Hue plugin that would have caused an error, and then an error in the error handling when it tried to log the wrong data. 
-  * Database Format Change: For more than 5 years I’ve been keeping 2 copies of the Unit Properties data to make it easier should anyone have to revert to an earlier version after using the newer version. This build stops doing that and removes the old file potentially making the database quite a bit smaller and therefore faster to load and easier to manage. At this point if you need to revert to a version more than 5 years old you’ll have to use the backup file that is zipped up when each new version is loaded. Or just be OK with losing the Unit Properties from your database. 
-  * Enumerated Values for Units are now individually trimmed of leading or trailing spaces. So if you enter the values like “slow, medium, fast” the system will know you didn’t actually mean those spaces to be part of the enumerated values. 
-  * If a plugin has an empty description the name in the popup will no longer show an empty set of parenthesis after the name. 
current/beta.txt · Last modified: 2024/02/05 17:51 by James Sentman