Jump to content
View in the app

A better way to browse. Learn more.

Universal Devices Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Michel Kohanim

Administrators
  • Joined

  • Last visited

Everything posted by Michel Kohanim

  1. Hi Gene, Not at all. SDG&E/SCE both use Itron meters and we have two of them in the lab. We did go through SDG&E HAN Validation 8 months ago, but we failed simply because ISY was not categorized properly. I have spoken with the HAN Validation team again and we are going to resubmit by middle of next month. With Oncor, they didn't expect us to run tests against a test harness and we should be validated shortly. We are already validated for SCE and should show up on their website shortly. With kind regards, Michel
  2. Hi danielt, What seems to be the problem? Can you please elaborate? From my experience, any time you want to turn backlights on/off, it's best to add a delay especially if the status is based on the load on the same KPL. With kind regards, Michel
  3. Hi PalChgo, No, you also need the following: subscribestr="REUSE_SOCKETinfinite" And, you need to remove a few headers. It's best to simply copy the whole function as-is again. With kind regards, Michel
  4. Hi PalChgo, Thanks so very much. Please replace class ISYeventer(asynchat.async_chat) with the following: class ISYeventer(asynchat.async_chat): """Telnet engine class. Implements command line user interface.""" def __init__ (self, host, port, username, password, plugin): asynchat.async_chat.__init__(self) self.set_terminator("\n") self.data = "" self.host=host self.port=port self.username=username self.password=password self.plugin=plugin # connect to ftp server self.create_socket(socket.AF_INET, socket.SOCK_STREAM) eg.RestartAsyncore() self.connect((self.host, self.port)) def handle_connect(self): # connection succeeded subscribestr="REUSE_SOCKETinfinite" self.push("POST /services HTTP/1.1\r\n") self.push("Host: " + str(self.host) + ":" + str(self.port)+"\r\n") self.push("Content-Length: "+str(len(subscribestr))+"\r\n") self.push("Content-Type: text/xml; charset=\"utf-8\"\r\n") self.push("Authorization: Basic "+ base64.encodestring('%s:%s' % (self.username, self.password))) self.push(subscribestr+"\r\n") def handle_close(self): self.plugin.TriggerEvent("Subscription-Closed", str(self.host)+":"+str(self.port)) self.close() def handle_expt(self): # connection failed self.plugin.TriggerEvent("Subscription-Error", str(self.host)+":"+str(self.port)) self.close() def collect_incoming_data(self, data): # received a chunk of incoming data self.data = self.data + data def found_terminator(self): # got a response line data = self.data if data.endswith("\r"): data = data[:-1] self.data = "" if (data.find("HTTP/1.1 200 OK") > -1): self.plugin.TriggerEvent("Subscribed", str(self.host)+":"+str(self.port)) if (data.find(" -1): epx=data.find(" eprops=data[epx] eprops=eprops[eprops.find(">")+1:] #print "E:",eprops status="None" node="None" Heartbeat="None" RunProg="None" Program="None" icmd="None" econtrol="None" eaction="None" enode="None" if (eprops.find("") > -1): econtrol=eprops[eprops.find("")+9:eprops.find("")] if (eprops.find("") > -1): eaction=eprops[eprops.find("")+8:eprops.find("")] if (eprops.find("") > -1): enode=eprops[eprops.find("")+6:eprops.find("")] if (eprops.find("") > -1): eeventinfo=eprops[eprops.find("")+6:eprops.find("")] if (eeventinfo.find("[") >-1): enode=eeventinfo[eeventinfo.find("[")+1:eeventinfo.find("]")].strip() icmd=eeventinfo[eeventinfo.find("]")+1:].strip() if (eeventinfo.find("") >-1): Program=eeventinfo[eeventinfo.find("")+4:eeventinfo.find("")] if econtrol=="_0": self.plugin.TriggerEvent("Heartbeat") elif econtrol=="ST" or econtrol=="RR" or econtrol=="OL": self.plugin.TriggerEvent("Status",str(enode)+":"+str(eaction)) self.plugin.xlightmap[str(enode)]=str(eaction) for index, sublist in enumerate(self.plugin.devices): if sublist[0] == str(enode): sublist[2]=str(eaction) color=str(hex(int(eaction)))[2] sublist[3]=color+color+color elif econtrol=="_1": if Program=="None": self.plugin.TriggerEvent("Command."+str(enode)+":"+str(icmd)) else: self.plugin.TriggerEvent("Program."+str(Program)) # This processes pre-2.6 beta commands if (data.find("") > -1): eprops=data[data.find(" # print "E:",eprops status="None" node="None" Heartbeat="None" RunProg="None" Program="None" icmd="None" while (eprops.find("")>-1): dpoint=eprops[eprops.find("")+12:eprops.find("")] eprops=eprops[eprops.find("")+13:] tpoint=dpoint[dpoint.find("")] dpoint=dpoint[dpoint.find(">")+1:dpoint.find(""+tpoint+">")] #print "Type: ",tpoint, "Data: ",dpoint if (tpoint=="node"): node=dpoint elif (tpoint=="ST"): status=dpoint #if (tpoint=="RR"): # status=dpoint elif (tpoint=="_0"): Heartbeat="Heartbeat" elif (tpoint=="_1"): RunProg=dpoint elif (tpoint=="eventInfo"): if (dpoint.find("[") >-1): node=dpoint[dpoint.find("[")+1:dpoint.find("]")].strip() icmd=dpoint[dpoint.find("]")+1:].strip() if (dpoint.find("") >-1): Program=dpoint[dpoint.find("")+4:dpoint.find("")] else: status=tpoint+":"+dpoint if (node != "None" and status != "None"): self.plugin.TriggerEvent("Status",str(node),str(status)) self.plugin.xlightmap[node]=status if not(str(node) in eg.globals.excludedinsteondevices): for index, sublist in enumerate(self.plugin.devices): if sublist[0] == str(node): sublist[2]=str(status) if (Heartbeat == "Heartbeat"): self.plugin.TriggerEvent("Heartbeat") if (RunProg != "None" and Program != "None"): self.plugin.TriggerEvent("Program."+str(Program)) if (icmd != "None" and icmd != "None"): self.plugin.TriggerEvent("Command."+str(node)+":"+str(icmd)) With kind regards, Michel
  5. Hi Teken, I had to send my GEM back because of WiFi issues. This said, Ben at Brultech is using 4.0.4 and 2.00 firmware on GEM. You MUST have their 2.0 firmware otherwise nothing will work. With kind regards, Michel
  6. Does anyone else have the source for this plugin? With kind regards, Michel
  7. Hello kaisersoze, Thanks so very much for the feedback. Last week WB had problem with backyard stations and that caused major problems in ET calculations since ISY was not getting correct data points. Based on this event, IM suggested that we allow selection of algorithms either Penman-Montieth or Hargreaves-Saman. PM method is much more error prone in case of WB data not being there. HS is much more resilient. Ra is calculated on a daily basis and applied to ETo for that day. With kind regards, Michel
  8. Hi bobrme, Unfortunately a known issue related to GEM support and ECM/GEM detection. Please do be kind enough to send an email to support@universal-devices.com and we'll send you a link to our next beta. With kind regards, Michel
  9. Hi Ed, Questions: 1. Can you get to your ISY using https and port 44443 locally? i.e. https://your.isy.ip.address:44443 ? 2. Are you sure port 80 is not being used by any other device on your network? With kind regards, Michel
  10. Hi Alan, No, only ECM1240 Only in the Zigbee version Ethernet only works with ECM and you need to have ISY poll. In Zigbee version ECM/GEM publish events to ISY Time spent in polling; no nodes. Zigbee version is a coordinator and ECM/GEM always publish to coordinator With kind regards, Michel
  11. Thanks Gene. Sent a PM. With kind regards, Michel
  12. Hi GuitarBuilder, Thanks so very much for your input. We have indeed considered all facets. Again, I must emphasize that just because ISY is SEP 1.1 certified, it should automatically work with PG&E and it does (Walt is the case in point). We shall certainly reconsider ... arw01, If we were to do anything on kickstarter, it would be for much more interesting and ground-breaking ideas currently baking in Chris' head (our CTO) than to contribute $10K to SSN - a multi-billion dollar company! With kind regards, Michel
  13. Hi Drosen, I think I know what the issue is: we removed UPnP subscriptions in 4.0.x version because of security concerns. If you know the author of ISY plugin for EventGhost, please have them contact us. With kind regards, Michel
  14. Hi hmatos, 1. If you can use ECM1240 (not GEM), and 2. If you do not mind not having nodes representing your channels, and 3. If you have the Ethernet version of ECM1240, then You can use Brultech Energy Module (Help | Purchase Modules), go to Configuration | Electricity | Modules, and configure ISY to poll your ECM every few minutes If you want nodes representing channels OR if you want to use GEM, then – and unfortunately so – you would need two ISYs. With kind regards, Michel
  15. Xathros, yes, indeed!!! Good catch. With kind regards, Michel
  16. Hi Dave, I am sorry I do not have EventGhost ... but can you still get feedback from devices? With kind regards, Michel
  17. Hi Steven, I am so very sorry ... would you please check your junkmail. An email was sent to you on Tue 4/16/2013 1:50 PM. In short, we do need to be able to communicate via email since will have to send you an invoice. If you don't find anything in your junk email, please: 1. Make sure you send an email to sales@universal-devices.com 2. If you don't get a reply back, please submit a ticket (link below) and make sure it has your phone number With kind regards, Michel
  18. Hello smbaker, Unfortunately no on both counts. 1. Diagnostics is a feature for which we have plans ... 2. If you like your device to HL, ISY would not know anything about it and thus it might get out of synch and all sorts of issues such as phantom links With kind regards, Michel
  19. Hi Alan, You should! With kind regards, Michel
  20. Hi All, just wanted to let everyone know that with Walt's persistence and Vicky's dedication, we figured out the problem and are now successfully communicating with PG&E meters. The problem was that PG&E uses a 24 byte install code (not 32). Hi Gene, thanks so very much for the vote of confidence! GuitarBuilder, thanks for the information. We did apply but they want the output of test with SSN Test Harness. SSN Test Harness is over $10K ... above and beyond the exorbitant amount for a test harness, at the moment, it does not make any sense for us to pay $10K just to get a test harness for something that's supposed to be a standard (SEP) and for which ISY is certified. Analogy: if you want to work with Time Warner cable, you have to test your WiFi router with a WiFi Test Harness from Time Warner. With kind regards, Michel
  21. Hello phawtrey, Thanks for the update. That really should NOT be the case since if that were true, then all ISYs would fail after a power failure. As such - and just for future peace of mind - I think it would be best to get a replacement PLM or at least test with a different cable. With kind regards, Michel
  22. Hi Gene, Just got a meeting notice from SDG&E HAN Validation team. There's hope! I'll keep you posted with any worthy news. Thank you for your optimism! With kind regards, Michel
  23. Hi Gene, Also, are you certain that your old ISY has the same IP address/network/URL as the new one? With kind regards, Michel
  24. Hi binaryman, Please backup your ISY and send it to support@universal-devices.com. With kind regards, Michel
  25. Hi binaryman, Good point. Telnet to ISY and at the command prompt, type: RF /CONF/2.UND Once this is removed, then you can remove the KPL from ISY in Admin Console. With kind regards, Michel

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.