-
Posts
15008 -
Joined
-
Last visited
Everything posted by larryllix
-
I don't really care about any FUD. I don't want any company using my WiFi, LAN without me knowing. Let the neighbour realise the over hyped device they bought, doesn't function unless they "steal" bandwidth from somebody else or improve their own WiFi coverage. What amazon is doing is sneaky and immoral. I never saw any notification or singed any release/permission form. Please don't defend or shill the disgusting behaviour from these digital spy giants as they insert the thin end of the wedge into our privacy enclosures.
-
I found in a bank of three Switchlincs I need to set each backlight at different values to make the brightness all look the same. Therefore there doesn't seem to be any consistent setting for "default".
-
IIRC, the backlights have no status back function. ISY only know what it last set them to.
-
I am not on ToU as have Net solar metering and my provider has never had a meter approved to handle the multiple rates but.... as a consequence I turn on everything I can during peak times because that is when the electrical energy is cheapest, being produced by myself and not making losses on the sale and re-purchase of my energy. If I was on ToU, I would not try to duplicate the bill my meter provides as the meter is more accurate than anything I would ever meter and calculate. I worked in a local electrical utility for 34 years as a meter tech and we only ever found one meter that registered high. OTOH that was a mechanical meter and now I hear the CPU based meters can do anything at random now. If I was on ToU I would build programs in ISY to raise my A/C temps during peak rate times and possibly higher an hour before the peak and shoulder rates dropped back so the discomfort would be low and the lower rate would bring the temperature back into comfort line, immediately after implementation. Possibly the reverse could be done by dropped the temperature an hour before the higher rate became effective. This is quite easy using ecobee thermostats along with ISY Polyglot ecobee NS. In the ecobee stats you can define custom "climates" and just turn one on when needed, with the fail back over to the schedule next "climate" schedule change. That works very well. You don't have to play with temperatures or even know what they are inside ISY. Another thought would be to use your unused basement as a cold storage. Run the A/C more when rates are cheaper, and then run the circulating fan more, with higher setpoints, when the rates are higher, bringing the cooler air up from the depths. The ecobees stats can do that, almost by themselves. I have tried many methods using ISY programming, weather effects upon the house, and it got very complicated and not only needed many self checks written in, used 1-200 programs to accomplish, it failed quite often. The simpler things work much better. Leave the complex things to the devices that are designed to do them without fail. The overall control also has to be minor for me, as I am sensitive to heat and cold changes, and my comfort is more important than saving $25-$50 per year. My ISY control over my HVAC is quite minor. It is more about keeping the zones balanced for me.
-
ISY v5.3.3 has cleaned up most, if not all, of the battery writes option problems now. Sent from my SM-G781W using Tapatalk
-
Many of my later DMM used a 1mA constant current as a resistance test current. Then the resistance (in Kohms) you read on the meter was also the voltage drop across the diode. Germanium diodes would read 0.3v+ and silicone diodes always read 0.6v+. It becomes a signature that I would look for when doing an forward and reverse voltage drop on a diode. I never thought of it as ohms as the reading would vary, based on the meter current supplied.
-
Upgrade firmware from 4.9.0 to 5.3.0?
larryllix replied to BobM99's topic in New user? Having trouble? Start here
The worst lines will have <unknown device> type comments in them and you will have to redo the line from scratch. Many will have comments and the line can just be clicked on, check the parameters and then click "update" and the line will be rewritten exactly the same but with the hidden links reloaded. Always click save for the programs, when open each session. YMMV -
Not getting comms events from motion sensors after restoring a new PLM
larryllix replied to brandwidth's topic in ISY994
I found sometimes that would work but you can never trust it. Check each program involving the devices in question, select each line (so it shows up at the bottom) and click update (to refresh the links behind the scenes) , then save the program. That will ensure that each line is linked to the proper device(s) -
Ceiling fan issues with version 5.3.3
larryllix replied to ctviggen1's topic in Z-Wave - Series 300/500
It takes many different comms to talk between a device and PLM. The commands channels may be intact while the status coming back may be ruined from previous noise corrupting data while it was being updated. Then there are immediate response channels and query updates that all use their own codes. -
I use a program to control the dimming of several lights. Off turns the light off but.... Long press down on the toggle causes a fade command to be sent. I detect that and set the lights on at the lowest reliable level that I know will stay on. WiFi bulbs will go down to under 1% levels quite easily but take NRs to operate and/or router and other LAN equipment to be alive and working. The RGBCW bulbs can also be set to a deep orange or red colour so that sleepy eyes are not "woken up". I use about 40+ RGBWW/CW bulbs and LED strips in and out of my home.
-
AWESOME!!! Research away and ask questions. I would be happy to guide you along the way, with what I can. I have experimented with different response program lines and fought through a lot of confusion from online "manuals". I hassled with errors for a few years that were actually bugs in the Chrome browser. Python3 s a mess for info, but love the format.
-
Looks good to me. In this case an Integer or a State variable would work. I prefer the Integer variable as they take any evaluation time from the ISY logic engine and you are not trying to trigger your program from the variable. Most mark State Variables with an 's' prefix. This is to avoid confusion later. You can also mark your Integer variables with a prefix 'i' but I don't bother with marking Integer types. Personally I would reset the variable at the end of the program PondFill3Hours program and I like to run (If) so I can introduce more options for the run. eg: If time 6-9 PM run Then (6 hours of time) Else (3 hours of time). Disable the program so no triggers can disrupt it then. Install some recovery program lines in case power fails or you reboot ISY in the middle of the run cycle. Enable "Run at Startup" in the program summary If Time is 3:00:00 AM AND $OvernightPondFill = 1 THEN Run program PondFill3Hours (IF) Else <-------------------------- this will always run when Run at Startup triggers because 3:00 AM will always be False Set $OvernightPndFill = 0 <-------------pretend cycle was completed (optional) Stop PondFill3Hours <----------------just in case it self ran?? set PumpOrValve Off <----------------may have been left on, will short any running cycle though
-
Room placement is very important for Alexa to hear properly. Against walls is very bad and corners are even worse. The instructions advise you against these. I have the Alexa feature disabled in my ecobee4 thermostat. Being against the wall it was mostly useless, however the TV would trigger it with useless things constantly ever night. I have also noticed standing right in front of an amazon speaker doesn't work well and the one at the other end of my house will usually respond instead the one I am standing in front of.
-
Look like the first two characters of HTTP/1.1 200 OK Access-Control-Al but the response took so long, ISY stopped waiting any longer.
-
I have been finding Alexa very intermittent and sometime failing lately. Then hours later it works quickly and perfectly. I had a weird one yesterday with my Alexas. Neither of the two in my bedroom would answer but they indicated they heard the wake word each time by circularizing the LED ring. I figured maybe they just took a firmware upgrade so I waited a few minutes. I tried again and one was fully functional again. A minute later the other Alexa box answered every question I had asked, along with times... "at 8:12 the temperature was xxx , at 8:13 the temperature was xxx, at 8:15 the temperature was xxx, the weather in XXXXX is xxxxxx, I don't understand, I cannot perform that", and a few more. The Alexa box had cached the last 8 questions that failed, and then gave them all back to me, back to back, once it recovered!
-
Many have tried to create a decent resolution with these MS II units and failed. If you have come up with a decent solution, many would be interested but I am trying to tell you how to make your solution easily readable. Text descriptions can be misinterpreted how the code would be actually implemented. The copy and paste technique leaves very little room misinterpretation and it is quick and easy. The mechanisms have been provided in the admin console as well as the forum to handle this.
-
You have unlinked references in your programs because you didn't follow the instructions given. Your programs have then been labelled manually with paragraph numbers that do not relate to anything else. The "why" is so other people can read your programs not imagine what they actually contain, and then offer help or advice. eg: Where is the program this line runs? Run Program 'Casita Lights Off Execution' (Then Path) Note: A scene is not required to dim lights. Program lines can do this quite well. Personally I would set the lights to a dim value (as a warning) and then turn them off maybe 30-60 seconds later all inside the same program. Each to his own here and whatever you feel comfortable with, though. Programs can dim to any value, at any dimming rate, you desire.
-
admin console | right click programs | copy to clipboard | past in code <> box in forum.
-
Look it over and extract what you can. Ask pointed questions and I will try to help smaller pieces at a time. This took a long time to extract from documents and I found most of the "official" documents still don't work as they state. Python3 is still a zoo and there doesn't ever seem to be any manual that 100% works. BTW: There is free python3 app for windows 10 and they work very well, along with better editors that analyse, format your code, and give good hints for problems. Some Win 10 python3 code is slightly different but not likely you will ever find the differences. One snag is the EOL codes are different between linux and Win 10 editors.
-
#!python3 NRbridge.py #Program to pass ISY Network Resource calls to MagicHome LED controller drivers #by larryllix (UDI forum), March 3, 2021 # Format Network resource as 'ledenet'/command/bulb/colour/RGBlevel/Wlevel/speed/effect # Device type ='magichome' # command = 'on', 'off', 'set', 'effect' # bulb = 0, 1 - n. 0 = all bulbs on controller # colour = 0-255, 0=Red, 85=Green, 170=Blue # RGBlevel = 0-100% brightness of the RGB LEDs # Wlevel = 0-100% brightness of the white LEDs # speed = used for multi-bulb effects # effect = 0-? native bulb effects or 23-37 for multi-bulb animations from http.server import BaseHTTPRequestHandler, HTTPServer import urllib.request import base64 import time from magichome import magichome # Server (this CPU) IP address server_IP = '192.168.0.179' server_port = 8000 # ISY parameters to be defined by user ISY_username = 'xxxxxx' ISY_password = 'xxxxxxxx' ISY_IP = '192.168.0.161' # Heartbeat into ISY variable ISY_HBpage = 2 # 1=Integer, 2=State ISY_HBaddr = 83 # ISY heartbeat variable ISY_HBperiod = 90 # In seconds. toggles ISY flag variable ISY_HBlast_sent = 0.0 # HTTPRequestHandler class class myHTTPServer_RequestHandler(BaseHTTPRequestHandler): def do_GET(self): global last_time global ledenet_passed, ledenet_passed_valid global bulbList words = self.requestline.split() passed = words[1].split("/",20) if len(passed) > 3: type = str(passed[1]).strip().lower() if type == 'magichome': self.send_response_only(200) # send ACK response self.end_headers() time.sleep(0.001) # allow I/O time slice message, bulbList = magichome(bulbList, passed[2:]) report(message) else: self.send_error(501) # send format error response self.end_headers() time.sleep(0.001) # allow I/O time slice report("NRbridge: Type undefined. Received:" + str(type) + " ***") else: # wasn't a GET self.send_error(400) # send NAK response self.end_headers() time.sleep(0.001) # allow I/O time slice report("NRbridge: ISY GET:format error! ***") return # Write ISY handshake variable via REST i/f def write_ISY(data): ISY_rest = "/rest/vars/set/%s/%s/%s" % (ISY_HBpage, ISY_HBaddr, data) get_url = urllib.request.Request('http://' + ISY_IP + ISY_rest) #format the URL ISY_authorise = base64.b64encode((ISY_username+":"+ISY_password).encode('utf-8')) #encode it get_url.add_header("Authorization", 'Basic %s' % ISY_authorise.decode('utf-8')) try: r = urllib.request.urlopen(get_url) time.sleep(0.001) # allow I/O time slice returned = r.read() r.close() time.sleep(0.001) # allow I/O time slice except: report("NRBridge: ISY heartbeat send failed!***") return #------------------------------------- # Get server setup try: httpd = HTTPServer((server_IP, server_port), myHTTPServer_RequestHandler) except: print('') report("NRbridge: Not started! May already be running * * * * * *") exit() print('') report('NRbridge: started. . .') heartbeat = 0 # Get list of sockets and status of all bulbs message, bulbList = magichome(bulbList, ['initialise']) report(message) # Main loop while(True): # Check for incoming command httpd.timeout = 2.0 httpd.handle_request() # ISY heartbeat signal if time.time() >= ISY_HBlast_sent + ISY_HBperiod: if heartbeat != 1: heartbeat = 1 else: heartbeat = -1 write_ISY(heartbeat) ISY_HBlast_sent = time.time() Here is some code to receive a NR GET command as well as a handshake back into ISY's REST protocol to flip a variable back and forth, so ISY knows if my NRbridge.py is alive. This was originally on a RPi but I moved it onto polyisy until polyglot v2 came out which caused it to stall randomly. It now is back on an RPi working fine again. The NR looks like this http://192.168.0.xx:8000/magichome/set/bulb#/hue/RGBlevel/Wlevel/..... You can parse as many parameters as you like. I just pass them through to my MagicHome handler to sort out the specifics for that protocol. Parameters received via Ethernet are all Ascii text and numbers need to be type converted. The NR is mostly ISY Integer variables so that one Effect, one Set, one On, and one Off NR (total of 4 NRs) handle everything you can do to my thirty five bulbs and 10 RGBWW strip controllers.
-
It is both. It will trigger program evaluation at both of it's node times, evaluating as True to run Then, and as False to run Else. It is also a status that is True between the times, and False outside the time framing. When used in a program that is disabled it becomes only a status condition. ISY will only make available whichever construct each conditional offers.
-
...and one cannot use AND between three control/switched conditions. Only one control/switched condition line can ever be true at one time, and the combined result will always be False. To use AND (in this instance) one must use status conditions.