Jump to content

Javi

Employees
  • Posts

    1990
  • Joined

  • Last visited

Everything posted by Javi

  1. Hi @jfai, Thanks for testing. You are correct that the scenes On and Fast On perform the same function. The ISY does not have an Status Controls for scenes. Status to percentage is executed on each device in app and not the scene. I see you have already opened an Issue so will update there. Thanks to everyone for testing!
  2. Working on my end
  3. The battery voltage program is woking over here. I did reboot my ISY just in case. Thanks!
  4. Maybe the above is not true as when the prec of the variable is set to match the prec of the value it will now work as desired
  5. @Jimbo , I think you are on to something. This appears to be the behavior in other nodeServers as well as the following will always be true also. NodeDef <st id="GV16" editor="UV"/> Editor <editor id="UV"> <range uom="71" min="0" max="15" prec="1"/> </editor> Variable Test - [ID 0084][Parent 000F] If 'WeatherBit Weather' UV Index is not '$Int_test UV Index' Then Set 'Devices / Basement / Basement Computer Room Lights' Beep $Int_test = 'WeatherBit Weather' UV Index UV Index Else - No Actions - (To add one, press 'Action')
  6. The value is numerical but raw. I believe "a.bcd" would be equal to "abcd". That said it appears you are correct that the voltage does not update its value to a variable so there may be an issue with the nodeServer or this may not be a comparable type. Maybe @Jimbo will know. "Battery level" appears to work so this may be a work around until the Voltage issue can be resolved. Jimbo, is it possible that this does not work because there is no "prec" declared in the Editor?
  7. @briantreese are you using the url to isy? Also be sure the username an password are not wrapped with a new line char, local connection to the ISY will accept requests with some mistakes but the portal will not.
  8. Thanks! I have spent too much time on this issue, funny how my.isy.io worked but when adding the isyKey it would fail. The malformed /reportURL must have been a copy paste error. Fixing the SOAPAction worked! Passing the isyKey in the Header also works.
  9. @bmercier I am running into a couple of problems. I tried to use HttpURLConnection but the line "Post reuse HTTP/1.1" in the header before the first <Event>...</Event> will throw an exception so I guess I have to stick with SSLSocketFactory (or SocketFactory for local) for the raw output. So my question is, Can the URL to ISY be placed in the request header? POST /isy/url_to_isy/services HTTP/1.1 Host: my.isy.io Content-Type: text/xml; charset=utf-8 Authorization: Basic base64UsernamePassword Content-Length: 192 SOAPAction: urn:udi-com:device:X_Insteon_Lighting_Service:1#Subscribe <s:Envelope><s:Body><u:Subscribe xmlns:u='urn:udi-com:service:X_Insteon_Lighting_Service:1'><reportURL>REUSE_SOCKET</reportURL<duration>infinite</duration></u:Subscribe></s:Body></s:Envelope> Making a request with the header/envelope above will return either " HTTP/1.1 500 Internal Server Error" "Invalid response header received from ISY" on the first request, then "HTTP/1.1 817 unknown" "<?xml version="1.0" encoding="UTF-8"?><s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"><s:Body><UDIDefaultResponse><status>817</status><info>n/a</info></UDIDefaultResponse></s:Body></s:Envelope>" on subsequent requests. It appears that 817 is listed as "You are already subscribed and there's no need to subscribe again" in the docs.
  10. I have started an Android App after thinking about this problem for some time and have had a few rewrites as my assumptions about the ISY API and reality have had differences. I would like to make this for iOS also however I do not have much free time and am more familiar with Java (native Android), so this will be in the distant future. Development for a small screen is much different than development for a large screen so finding a way to incorporate all the features of the ISY into a small screen while also keeping the UI clean will be a challenge. Once I have a database and have developed methods in Java it will be easier for me to start on another platform. There are already a couple of apps for the ISY which (in my opinion) have development driven by subscriptions and/or app sales revenue. I believe @madcodger started this topic because these apps are are not satisfying. If the revenue model has not provided a satisfying experience then creating another app with this model may produce competition, but (in my opinion) it may also produce even less incentive/revenue for development. I know UDI is/has provided incentives to produce an app even though many users may not have noticed. However if the developer is not already invested in the ISY this may produce another unsatisfying product or abandon ware (UDI mobile anyone?). From my experience anything provided for free (or open source) has resulted in too may feature request and overwhelming support request for a single developer. Once I have charged a couple of dollars these request become manageable. So even if I am not motivated by revenue (although it would be a nice) charging for something will save me time. The other potential problem with open source is that another (malicious) developer may copy the app which can result in me receiving support request for something I can not control or even worse the users credential being compromised. With that in mind I will open source some of the code for a basic app and have already done this. The “ISY Socket Log” is open sourced to help other developers create there own apps with out having to reinvent the wheel, although I am behind in updates. I am invested in the ISY ecosystem but my family and work must come before my hobbies. So this process will be slow. Users can help any developer by becoming a tester and understanding that this process will be slow especially for developers which are not motivated by revenue. All apps must support both 4.x and 5.x as I believe most users have a 4.x system and will not fix/upgrade something which is not broken. I have a 4.x system myself which may take me more than a day to upgrade, but it is not broken, so even though I am capable of upgrading I will not be doing so anytime soon. The 5.x firmware is much easier to develop for than the 4.x. So even though I think all apps must support both firmware versions there may only need to be basic 4.x support and informing users to upgrade their firmware if they want additional features is acceptable. The area I see most important in regards to competition is the user interface. With the 5.x firmware the zwave/insteon/node_server control problems are fixed (aside from a few bugs), the only problem developers need to solve is how to present these items to the user on a mobile interface. This will be the most difficult thing to solve. Things I am (trying to) implement(ing): App should be able to connect to multiple ISYs simultaneously. App should have multiple easy to access screens/fragments. This should include a screen which mirrors the ISY and other(s) which allow customization. Users should be able to change Icons/Text for a device. The Icons/text should be customizable to the state of the device. Users should be able to combine devices into a single (list) item. Users should be able to create folders (rooms/locations) that are unique to the app. Users should be able to duplicate items/nodes. App should be able to use both the local and remote connections to the ISY. This should be handled by the app and the user should not have to specify if they would like to use the local or remote connection. Limitations: Push notifications require an external server which has ongoing cost. When I am at the point of implementation I will see if it is possible to the UDI portal cloud node servers for this purpose. If it is not possible then this would have to be a subscription. This should only be used for notifications as it is not a good use of resources to update devices with push notifications. Depending on the platform (iOS/Android) there may be services which can be run to keep widgets updated. However if the app is fast the user may realize they only needed this feature because the app they were using was not fast enough. When I am at the point of implementation I will have more information on this, and my include options such as requesting status for widgets when the screen is turned on. What other features would you like to see?
  11. Thanks @bmercier, I am short of time today but now that I know it is on my side (again) I will try to find a fix in my code. This is for a a native android app (Java) and I was going off my my logs which did not show the actual socket request. Upon looking at my request the socket was using the host (url.getHost) which removed the endpoint. I am using the SSLSocketFactory Library so I may have to use a different library as it appears this only accepts the host and not an endpoint. Thanks again for your time! Javier
  12. I just go around to installing multiple ISY on my portal account and have run into a problem. It appears that no matter which "URL to ISY" I use the (SOAP) socket will always connect to "My preferred ISY". This is not an issue with REST. If I delete "My preferred ISY" i get a Code 400 "Preferred ISY not set on user profile". How can we direct a socket connection to a specific ISY?
  13. Thanks for your time and my apologies for not catching something so simple before posting. It was an error on my side, my app was adding the port to the wrong location (...isy.io/isy/XXXX:PORT instead of my.isy.io:PORT). I guess I have only used local connection for the past month.
  14. Thanks, it appears that adding the port after the URL is causing the error. Was this changed? Edit: Sorry, it appears I made this change adding the port about a month ago. Not sure why it only presented itself now.
  15. @bmercier maybe I am missing something, can you be more specific? This error appears to have started today. The indicator is Green, I am (and have been) using the credentials used for the Portal. Not sure why the SOAP Socket would work with this URL/credentials and REST would fail.
  16. Hi @bmercier, The credentials are valid and the Socket is working however REST commands are failing with the 423 error. This can be replicated in the (Chrome) browser also. https://my.isy.io/isy/XXXXXX:443/rest/nodes/22 89 3A 1/cmd/DOF Where XXXXX is URL to ISY Returns "Requested ISY not found in the user's domain"
  17. @Michel Kohanim I have a report of the Portal not accepting HTTP GET Rest requests and have verified I can also not make the requests Error Code: 423 Response: Requested ISY not found in the user's domain
  18. @madcodger, Thanks for posting this in a location where all can/will comment. As a UI developer I would like to make the UI better for both the Geeks and the Novices. Unfortunately this topic finds me at a difficult time with work and assisting my wife with home schooling of our children because of COVID-19. When I have time I will post questions and limitations.
  19. All is good here also. Although it would be nice to know what causes this error as this is the second day in the last month where I have encountered this error code.
  20. Ok not just me. I have had this error all day but it has not resolved. Rest working, but socket returns the following Code 404 Error contacting sub.server:ETIMEOUT @Michel Kohanim
  21. How are you connecting to the ISY? I am having errors with the portal socket connect today. Came here to see if it is just me
  22. I did something similar but used a dimmer switch as the countdown timer, this also incorporated a humidity sensor. Documented here: https://voiceforiot.wordpress.com/2018/12/22/automation-of-bathroom-fan-for-humidity-and-odor/
  23. rest/config they may be mapped to custom names in the family/instant NLS
  24. Thanks guys, I was able to change the user of the dir to polyglot from root which allowed the node server to run. I am still having a few issues, but the NS is running which should allow me to locate any other problems. One other question: Is it safe to delete the directories in the polyglot/nodeserver for a NS which I am not using?
  25. Are there detailed instructions on installing a node server from a git repo via SSH to the Polisy? I have cloned a fork of the Notification NS to /var/polyglot/nodeservers and have run install.sh. The Node server appears in Register New Node Server and can be added but will never start. Log 2020-3-1 23:58:23 [polyglot] info: Notification(3): Attempting to install Notification NodeServer into ISY. 2020-3-1 23:58:23 [polyglot] info: Notification(3): Installed into ISY sucessfully. Profile uploaded, restart Admin console. 2020-3-1 23:58:23 [polyglot] info: Registered new local NodeServer: Notification(3) 2020-3-1 23:58:23 [polyglot] info: Waiting 10 seconds before starting Notification for the first time. 2020-3-1 23:58:33 [polyglot] info: NS: Starting Local NodeServer Notification profile number 3 :: Version 0.1.8 2020-3-1 23:58:35 [polyglot] error: NSChild STDERR: Notification: Traceback (most recent call last): File "./notification-poly.py", line 6, in <module> import polyinterface File "/var/polyglot/.local/lib/python3.7/site-packages/polyinterface/__init__.py", line 1, in <module> from .polyinterface import Interface, Node, Controller, LOGGER, unload_interface, get_network_interface File "/var/polyglot/.local/lib/python3.7/site-packages/polyinterface/polyinterface.py", line 83, in <module> LOGGER = setup_log() File "/var/polyglot/.local/lib/python3.7/site-packages/polyinterface/polyinterface.py", line 59, in setup_log os.makedirs('./logs') File "/usr/local/lib/python3.7/os.py", line 221, in makedirs mkdir(name, mode) PermissionError: [Errno 13] Permission denied: './logs' 2020-3-1 23:58:35 [polyglot] info: Notification(3): NodeServer Disconnected.
×
×
  • Create New...