Everything posted by Goose66
-
Sunset to Sunrise?
I imagine the thought is generally if there’s been any adjustments to outside lights other that “all off” then leave them alone.
-
Sunset to Sunrise?
I do want to point out that, while I completely agree there is a basic flaw in the program's design, this flaw you point out will not prevent the remaining lights from turning on after turning on the 'Entry Front Door Light', as may be interpreted from your post. That is because there is no WAIT or REPEAT statement in the running program that makes the program "re-entrant," thus once the Then branch of the program starts running, it will run to completion. If it were me, I would have a first, enabled program that had the "'Area 1 / FRONT.DOOR' is switched On" condition and a second, disabled program that had the remaining conditions and the commands from the Then statement. The "Then" branch of the first program runs the "If" branch of the second program. But neither using a variable to track the light nor structuring your programs with the "two-program" methodology (discussed ad nauseum in these forums) would appear to solve your problem of the program seemingly ignoring the sunset to sunrise condition.
-
Have to restart often.
I think (or hope) that it was just unfortunate timing. This is only a warning, and the node server will retry the connection every long-poll interval (default 60 seconds) until it is reconnected.
-
Have to restart often.
So you weren't getting the same 403 error that was present in the original issue. You are getting "HTTPSConnectionPool(host='partner-identity.myq-cloud.com', port=443): Read timed out. (read timeout=12.05)" error. This generally means either your network is down or the partner oAuth server is down or busy. What's more, after upgrading to 3.2.22, it appears (from your log file) it only tried four times (over 4 minutes) before the node server was shut down. Try starting it again and seeing if it can connect now.
-
Service, Gateways, Devices (Garage door openers. etc.)
The node server can only have one sub-level. I keep all my node server service nodes in one "Node Server" folder, and the garage door openers in a "Perimeter" folder. Alternatively, you can just move them all under a "Garage Door" or "MyQ" folder.
-
Have to restart often.
Go ahead an DM me your log file.
-
Have to restart often.
You may need to refresh your Node Server Store. Yes, there usually is an "Update" button on the node server details page when an update is available for a node server.
-
Have to restart often.
Ok, try again. I had changed the "edition" of the node server from "Free" to "Standard" thinking I was fixing an error, but when I saw your screenprint it occurred to me that it may mean people can't update. @drprm1 Since your Update worked, please check that you weren't charged for it. If you were, I will work with @Michel Kohanim to arrange a refund.
-
Have to restart often.
Crap. That shouldn't be "Purchase," it should be "Update." Let me look again.
-
Have to restart often.
Try refreshing your Node Server Store. I was able to update it on my production Polisy in my home.
-
MyQ PG3 Node server Released
I have uploaded a new version of the MyQ Node Server (v3.2.22) to the Node Server Store. This version adds a User-Agent header to the oAuth calls as well as the API calls to get around the 403 unauthorized values. It also adds a new driver value for the MyQ Service node that is a Node Server Status value managed by PG3. See release notes at https://github.com/Goose66/NSDocs/blob/main/myq-pg3.md for more info.
-
Have to restart often.
While I lost remote connectivity to my Polisy, the reboot was evidently successful, PG3 and the MyQ node server restarted, and the MyQ node server ran for three days without any 403 errors or other authentication or connectivity problems. It also restarted successfully tonight when I got back to my development box. So I have uploaded new v3.2.22 of the node server that should take care of the User-Agent issue for now. I note that there is still conversations over on the arraylabs/pymq Github repository regarding folks still having problems in HA, so I will keep an eye on it. Also, the User-Agent value is user configurable in this version, but I didn't put any references in the instructions or release notes to that. Let's keep that under wraps until we need it. There is a new version of PG3x coming out that should have a way for me to change the User-Agent and potentially other auth values (e.g., application key) remotely across all installed node servers, so maybe that will be out and in widespread use before we need to mess with all this again. Thanks for your patience.
-
Have to restart often.
Sorry guys. I had it all (at least mostly) working and but now PG3 has completely died. Cannot get to the UI or IoX on my Polisy. Restarting the Polisy remotely did not help. And since I am remote, my options are rather limited. I will be back local on Sunday evening, and I can look at it then.
-
Have to restart often.
I thought about that, but the problem is that if a specific value was required to work, we would have to communicate with every user on how to add it to their installation, and then if the value was required to change to a different value (or, say, needed to be randomized) then we would have to both roll out a new version and communicate to every user that they needed to remove any value they currently have configured. That said, I thought I had found a way to update the value used in the Node Server Store and then have all the installed node servers pick up the value on restart, but it looks like it won't work as I expected. If that is indeed the case, I guess a Custom Configuration Parameter settable by each user might be the best available choice.
-
Have to restart often.
I have added User-Agent headers to both the oAuth calls and the REST API calls and it is working. I am in the east, but I’m not exactly sure how the load balancing works or if your geographical region has anything to do with. The oAuth servers are a partner company and not Chamberlain. The concern is that Chamberlain will start using the User-Agent to block particular integrations, so I am adding a facility to allow me to simply change the User-Agent value on the fly without needing a new version of the node server to be packaged and uploaded. Should be done and released in version 3.2.22 tonight.
-
Have to restart often.
I saw the conversation on the pymyq GitHub repository today about the changes. Unfortunately I am traveling until Wednesday, but should be able to look at it then.
-
Have to restart often.
Ok, let me see if it may be the phase out of older API calls. This happens every year-and-a-half or so. UPDATE: While it could be just a problem with the oAuth servers (a partner to Chamberlain), it looks to me like they have changed access parameters, either the client secret or something else. As I have mentioned, I built this integration based on another integration that exists out there that I couldn't use directly. So I have no way of hacking the mobile app to see what has changed in the authorization structure and instead will have to wait and see what others find. Unfortunately not seeing other integrations having specific issues reported yet, and my mobile app is still working. I will continue to investigate. If you don't restart the node server, your node server may continue to operate for some time. Also, merged the two threads.
-
Pool Lights
I'm pretty sure the OP said he was switching the 120V input to the transformer. Switching a transformer on and off rapidly can damage the transformer if it's cheap. I suggest switching the 12V down stream of the transformer. The lights can take the rapid on and off 12V - they have a solid-state power supply.
-
Pool Lights
I wouldn’t worry about the Zwave switch as much as the 12v transformer.
-
Autelis PG3 Node Server Release
A new version v3.1.2 is available that supports color lights. See details in the release notes: https://github.com/Goose66/NSDocs/blob/main/autelis-pg3.md. Please take special note of the requirement of deleting nodes and then restarting the node server if you are upgrading from v3.0.1.
-
Autelis PG3 Node Server Release
I have released an initial version of the Autelis node server for PG3 (v3.0.1) that interfaces with Autelis Pool Control device to allow IoX to access pool controllers (only Zodiac/Jandy Aqualink currently supported). Installation instructions, release notes, and version history can be found here: https://github.com/Goose66/NSDocs/blob/main/autelis-pg3.md. These devices are no longer available for purchase and the website with all information (including programming to the API) has been taken down a few years ago. Also, I do not have an Autelis device (or a pool) any more, so ongoing testing and development of this node server will be challenging. However, if you currently have an Autelis Pool Control device for Aqualink Pool Controllers and want to migrate your PG2 integration to PG3, here is your chance.
-
iopool PG3 Node Server Released
A new version (v3.1.2) has been released with a couple of new features, including the ability to specify a temperature unit ("F" or "C") for reporting temperature. Release notes for the new version can be found here: https://github.com/Goose66/NSDocs/blob/main/iopool-pg3.md.
-
iopool PG3 Node Server Released
I have released an initial version of the iopool node server for PG3 (v3.0.1) that interfaces with iopool public API to allow IoX to access iopool EcO pool monitors. Installation instructions, release notes, and version history can be found here: https://github.com/Goose66/NSDocs/blob/main/iopool-pg3.md. There is a 1-month trial period and then the node server is $10.95 for perpetual license. While the company has said there was a one request per second limit on accessing the API, it appears that the EcO devices only update the web service once every 15 minutes, so no need for a frequent polling interval (default short poll is 60 seconds; long poll not used). There is no "connected" status, but there is a timer since the last valid measurement was retrieved, so that can be monitored to indicate a problem with the EcO device, the cloud service, the API, or your network connection.
-
Programing Challenge
+1 for the order of evaluation (not, and, then or) problem, but more specifically it may be a mixture of the order of evaluation and the program re-entrant nature of the IoX programming model. Remember that each of these programs is going to get called twice as someone moves through the stairwell, once for the Hall-Up Sensor motion and once for the Hall Entry Sensor motion. In addition, the programs will both get called and sunrise and sunset each day, cancelling any running timers (and subsequent "Turn Off" commands). Here's what may be happening: 1. Hall-Up Sensor is triggered 2. Both programs run their Then branch (because of the order of evaluation problem), turn on their respective scenes, and start their respective waits. 3. Hall Entry Sensor is triggered within a few seconds the Hall-up Sensor 4. Both programs are run again, cancelling their respective waits (and subsequent Turn Off commands), and depending on whether it's day or night, one of the programs Then branch is run and the other's Else branch is run. Depending on what order things happen, that may be why the lights are being left on. Either way, this is not the behavior you are expecting, I imagine. Looking at it more broadly, you may need to rethink your approach to programming in IoX (IMO, of course). Many of these types of anomalies that arise for the event-driven and re-entrant natures of the IoX model can be avoided by having two tiers of programs, a first for testing for trigger events to execute the program(s), and another for testing for conditions for conditional execution of statements (i.e., "Then" vs. "Else" branches). So in your case, a first program (e.g. "Hallway Motion"): If ‘Hallways / Hall-Up Sensor / Hall-Up.1 Motion’ is switched On Or ‘Hallways / Hall Entry Sensor / Entry.1 Motion’ is switched On Then Run Program "Hallway Lights" (If) Else -No Actions And then a second program ("Hallway Lights"): If From Sunrise To Sunset (same day) Then Set ‘Hallways / Hall Lights Day’ on Wait 35 seconds Set ‘Hallways / Hall Lights Day’ off Else Set ‘Hallways / ‘Hall Night Lights’ on wait 20 seconds Set ‘Hallways / Hall Night Lights’ off The first program "Hallway Motion" is enabled. The second program "Hallway Lights" is disabled. What you have now is that the "Hallway Motion" program ensures that, upon motion from either sensor, the "Hallway Lights" program will be run. The "Hallway Lights" program then decides which scene to turn on based on the time of day and starts the respective wait timer. Since the "Hallway Lights" program is disabled, it will never be triggered on its own. This approach is handy in most situations where the trigger events and the conditional events are really separate things, i.e. where you have conditions that you don't want to act as triggers to the programs. In addition, if there are multiple levels of conditional statements ("nested ifs") that need to be tested, then you can add additional tiers of programs to accomplish that. Moreover, again IMO, having your programs structured this way makes them more clearly self-documenting of their intended functionality.
-
Current/Future Functionality
That is one possible solution. Or map names to indexes in custom parameters. Another solution is for the node server to somewhat arbitrarily but reproducibly map the names to index numbers (e.g., a short integer hash) and then the IoX user/administrator/programmer would just have to learn the index number through observation. Or the node server could generate these indexes into profile entries and update the profile for the node server, and then send a notification for the user to reboot IoX. These are all possibilities. The UD folks have functionality on their roadmap that could make this easier. It would allow the node server to send the state value of the last user with both an (arbitrarily assigned) index values as well as the user name from Schlage. Both would be displayed in the Admin Console. From that, the IoX user could learn what index values went with what user names, and setup programs accordingly. I think this functionality is coming in the near term, but I don't have a date yet.