Everything posted by johnstonf
-
Leak Sensors - A (Suggested) Complete Program Package
So @Michel Kohanim , for a Motion Sensor, for example, is that a total of 3 nodes for the one device? (Dusk.Dawn, LowBat, and Sensor)? (And WetSensor = 3 also, same type of thing?)
-
MY project Using NODE-RED to make ISY push variables to Raspberry Pi and run Python Script
So today, oddly, it's only firing off TWO events for each time the variable changes. The _msgid is different each time, so i guess they ISY is firing the event off twice (safety measure??). However, that wouid still be same problem, and the rbe function works great to only act on the FIRST one (doesn't refire until the payload CHANGES, so that works nicely). Probably good to have this safety built in on Node-Red end anyways, in case ISY starts sending a whole pile.
-
MY project Using NODE-RED to make ISY push variables to Raspberry Pi and run Python Script
I threw an rbe function (RBE=Report By Exception) in the middle of the other nodes, and now it reports properly... so that may be a fix... should this fix be needed?
-
MY project Using NODE-RED to make ISY push variables to Raspberry Pi and run Python Script
I was trying to figure out why i was getting an "echo" when playing audio using Node-Red. It turns out, i just connected one ISY variable to a debug node, and it is spitting out, not ONE, but SEVEN instances for every ONE variable changes from ISY! Do you know why this would be? Should i be handling this programatically, or is the driver / library needing tweeking? Also @fahrer16? See attached screenshot...
-
MY project Using NODE-RED to make ISY push variables to Raspberry Pi and run Python Script
I did a video of my installation/upgrade of Node-Red and posted on YouTube. (just something i would have myself loved to be able to watch before diving in...) Thanks to [mention=1781]fahrer16[/mention] for pointing me to Node-Red and writing the ISY library. It works great once you get it connected) I have attached the link to the video so you can follow along. It's not perfect, and is just for "getting started" so you can continue yourself. Now i can have events ANNOUNCED instead of ding-dongs from my AEOTEC Doorbell lol. (I'm still running ISY FIRMWARE 4.6.2, and it works great) This link is below, but also here... in case you just want the link to copy/paste. (Just add the colon yourself after https) Fred
-
MY project to make ISY push variables to Raspberry Pi Python
Ya, some of the stuff put up these days is so bad, causing a lot of work for someone trying to do it. Wish people would just take a little time to think about how it looks from others' perspective, and at least TRY... Sometimes better just to NOT post that to do a poor job and cause others grief.
-
MY project to make ISY push variables to Raspberry Pi Python
Ya, i see that... i'll edit/add a note that ISY console is always ran from MAC, not Linux/RPi3 Thx (update: this has been done)
-
MY project to make ISY push variables to Raspberry Pi Python
Here are the overall steps i used to get my ISY passing variables to my RaspberryPi RPi3... (Just thought I'd throw them up to help any NEWBIES like me... starting is the hardest) HUGE shoutout of thanks to my buddy LarryLIX who seems to always be there to help! (Even past midnight) -Notes: (where you see ip’s below, substitute yours)… -My SCREENSHOTS can be a bit confusing... so to clarify... -My ISY CONSOLE Is always ran on my MAC -All the Python code is done on the RPi3, via VNC remoted to the RPi3 (that's how i was able to screenshot BOTH at the same time) -My ISY is 192.168.77.147 -My Raspberry Pi3 is 192.168.77.209 -RPi3 is Raspberry Pi3 running Raspbian and Python3 -Note the attached SCREENSHOTS where noted below!!! (stick them in at those points) -Install ISY networking module if not installed -Console> Help> PurchaseModules -Reboot ISY: Console> Configuration(Tab)> Reboot(button) -Create 5 test variables (Test1,Test2...Test5) -Console> Programs> Variable> Integer(Tab) (Note their ID#'s in left column) -Create "Network Resource" -Console> Configuration> Networking(tab)> NetworkResources(tab) -Add> Name="RPi3", URL> -http: -GET -Host: 192.168.77.209 -Port: 8000 (This is port we set on the RPi3 later) -Path: /1/2/3/4/5 (This is TEST set of values to pass to RPi3) -Click UPDATE and make screen look like below… then SAVE button SEE SCREENSHOT 1 HERE... -Create a PROGRAM to run on ISY: -Console> Programs> Details(tab)> NewProgram(button) -Name it 000TEST (000 Keeps near top of list so handy) -In ‘Then’ section, want to see “Resource ‘RPi3” (what you named it above) (Click “Action”> Networking(dropdown)> Resource> RPi3(dropdown)) -Now ready to run it… LATER… -NOW ON RPi3… -Paste the code below into file, example /IsyToPython/TEST001.py (be careful that each new indent level is 2 spaces, hopefully copy/paste works ok) #!/usr/bin/python3.4 fjversion="v1.01b/18feb15/BuddyISY-SAMPLE-002.py" #Thanks for code from LarryLIX! #!/usr/bin/env python from http.server import BaseHTTPRequestHandler, HTTPServer ### # HTTPRequestHandler class class myHTTPServer_RequestHandler(BaseHTTPRequestHandler): # GET def do_GET(self): words = self.requestline.split() params = words[1].split("/",7) if len(params) > 5: # Send response status code self.send_response_only(200) self.send_header('Content-type','text/html') self.end_headers() self.wfile.write(bytes("GET OK", "utf8")) Test1 = params[1] Test2 = params[2] Test3 = params[3] Test4 = params[4] Test5 = params[5] print("Test1:",Test1, " Test2:",Test2, " Test3:",Test3, " Test4:",Test4, " Test5:",Test5) else: # Send response status code self.send_error(400) self.send_header('Content-type','text/html') self.end_headers() self.wfile.write(bytes("GET Bad", "utf8")) print("GET:format error!") return ### ### def run(): print('starting server...') ### # Server settings server_address = ('192.168.77.209', 8000) httpd = HTTPServer(server_address, myHTTPServer_RequestHandler) ### print('running server...') httpd.serve_forever() ### ### run() -Substitue YOUR RPi3 ipAddress above, and note port is 8000 -Run the above .py python file in Python3 (Run Python3-IDLE, then File> Open… then F5 to run -On the ISY console, run the THEN section of the 000TEST program by… -RightClick on 000TEST, then “Run Then” line… -Now on the RPi3 you should see Test1: 1 Test2:2 Test3:3 Test4:4 Test5:5 -The Python variables are Test1, Test2, etc SEE SCREENSHOT 2 HERE... -Now put ACTUAL variables into the Program Resource on the ISY… -Replace /1/2/3/4/5 in above path with, for example… …with /${var.1.20}/${var.1.21}/${var.1.22}/${var.1.23}/${var.1.24} …where 1=INTEGER, and 20,20,etc are the Variable# we recorded above when creating them …substitue your own, if you used STATE variables, they would be 2.20 and 2.21 etc -Run the program again, and now the values you give to Test1 to Test5 should appear in the ISY (I set values of Test1=11, Test2=12, etc…) Now see 11,12,13,14,15, so it is pushing VARIABLES over! SEE SCREENSHOT 3 HERE... ~end~
-
Capture up down 2441TH thermostat buttons for if condition?
I have a manual set to 16c at 5:55am. (should have been in the orig post) I normally don't use Mobilinc directly, but use its plug to Tasker, and runs program via icon for 23c and +1 and -1. The motion drive program; (complimentary separated right now for troubleshooting)... (If we head out for a few hours, it drops to 16c till we are back) We have ONE (of 3) motion sensor that covers a big area with frequent traffic. ===== ===== ===== ===== Motion3-A-If-OFF - [iD 00A4][Parent 0001] If Status 'ZZZ1-DO-NOT-USE / MOTION-SENSORS / Motion3-Sensor' is Off And $s.AwayFromHome is 0 And From 6:00:00AM To 9:00:00PM (same day) Then Stop program 'Motion3-A-If-ON' $s.Motion3CounterOFF += 1 Set 'Tstat-Main' 21° (Heat Setpoint) Wait 60 minutes Set 'Tstat-Main' 16° (Heat Setpoint) Else - No Actions - (To add one, press 'Action') Stop Program is to stop the OTHER 'Motion3-A-If" from running, so BOTH are not running at same time ===== ===== ===== ===== Motion3-A-If-ON - [iD 00A5][Parent 0001] If Status 'ZZZ1-DO-NOT-USE / MOTION-SENSORS / Motion3-Sensor' is On And $s.AwayFromHome is 0 And From 6:00:00AM To 9:00:00PM (same day) Then Stop program 'Motion3-A-If-OFF' $s.Motion3CounterON += 1 Set 'Tstat-Main' 21° (Heat Setpoint) Wait 60 minutes Set 'Tstat-Main' 16° (Heat Setpoint) Else - No Actions - (To add one, press 'Action') Stop Program is to stop the OTHER 'Motion3-A-If" from running, so BOTH are not running at same time ===== ===== ===== =====
-
Capture up down 2441TH thermostat buttons for if condition?
Basically: *=Currently working !!=Not working -*If away_from_home var set, tstat 16c -*Else, if home... -*Timed: sets temp to 16c at night, 20c at 5am -*Motion: sets temp to 21c between 6am and 9pm -*If no motion for 1 hour, set Tstat to 16c -If any of my mini remotes, Mobilinc/Tasker OR !!TstatUP/DOWN, manually modifies temp... (they have a 23c button, and a +1 and -1 button) ...then obey that override for 30 minutes, then fall back to Motion set (above is done by setting/resetting a variable) The only condition i need to fix is when the Tstat UP/DOWN is pressed (that is ALSO an override to obey for 30 minutes, in addition to above) This would be VERY EASY if the Tstat up/down were captured for conditions to use! /f
-
Capture up down 2441TH thermostat buttons for if condition?
just reporting back, this didn't work for me... As mentioned above, "ANY" change to the Tstat triggers the if condition... so it creates circular logic, because, say i have the Tstat change to 20c at 6am, that in turn unintentionally fires off the "if button pushed" logic i currently have, disables the motion, waits for x minutes, then enables, then when motion sensed, it triggers the Tstat to change, which then disables the motions for x time again, blah blah. So, is the problem that the Tstat up/down does not report that to the ISY, or is it that the ISY is currently not capturing that activity? It sure would be nice if that up/down could trigger a condition!! (could even do things like "if pressed up 3 times in 5 seconds" type logic, etc.) I guess for now, i'll have to put a couple of big wads of DUCT TAPE over the buttons on the Tstat, so nobody uses them. Won't my wife and friends be impressed! /f
-
Trace of programs ran in log?
Interesting! Do i need a network license for my ISY for that?
-
Trace of programs ran in log?
Yes, i do use summary, but some of the stuff is middle of the night weirdness, so i'd prefer to look at it next day. I don't see much in L3 events, REAMS AND REAMS of variables coming from my EM dashbox. How do you set the Error Logs to levels? I see how to set levels in the Event Viewer, but not error log level. I'm looking for a nice (wishful?) list of just program calls if possible. /Fred
-
Trace of programs ran in log?
In my log, I'm only seeing 'device' activity (on/off/humidity/etc). Is there another log, or way in the log, to see what programs are running and completing at what times? Thanks
-
Repair of 2413S PLM When the Power Supply Fails
Sounds like maybe a few of us are ready to buy a set, if anyone in the USA would be willing to do it. I'm in Canada, glad to pay postage. Fred
-
Capture up down 2441TH thermostat buttons for if condition?
-
Capture up down 2441TH thermostat buttons for if condition?
That will work! i'm good with a "Status Change"! Where do i find that? (I have my Tstat completely dumbed down so ISY does all setting) (Other that forcing up/down with the keys on it from current setpoint) I see a "then" where i can set up/down 1 degree. But i'm missing where to "if" a "Status Change" see attached...
-
Capture up down 2441TH thermostat buttons for if condition?
Hi MIchel, can you offer any advice here? Thanks
-
Capture up down 2441TH thermostat buttons for if condition?
I'm looking to add a condition when up or down is pressed on my Insteon 2441TH Thermostat so i can override control of my motion sensors when the temperature is manually overridden, for a period of 60minutes. I can't see a condition for it... am i missing it? See attached screenshot... (What is ON/OFF and how would that be used in a condition?)
-
If program disabled THEN DO SOMETHING
I just need to be darn sure that that siren comes back on, so for now I'm just going to turn it on twice a day, and I'll have to manually turn it off if it isn't ready to be turned on yet. I just don't trust the variable idea... I have tried it but I just don't like it. I just don't understand why there is no condition for a disabled program, seems like a no-brainer to me. Sent from my SM-N915W8 using Tapatalk
-
If program disabled THEN DO SOMETHING
I've searched, don't see... probably been asked 1000 times, but anyways... my search in the forums was... program true false disabled condition (all) I'm trying to say 'if my siren_blasts program is disabled" (not true or false) then at xx times each day, notify me by sending an email. reason: (in a panic i have a program that if we push our main dimmer 5x down (or more) then it disables it, and then it must be MANUALLY reset (i don't want it going off if i already have an emergency i know about... it just causes additional stress for no reason) I only see condition "if prog true/false", not "disabled"... where the heck is it? /fj
-
Search all programs for a variable
Thanks bud, i missed that in the dropdown!
-
Search all programs for a variable
Is there a way to search all programs to find a specific text or variable etc in any of the programs?
-
Repair of 2413S PLM When the Power Supply Fails
Thanks Teken... if anyone is willing to ship a kit to me in Canada, please let me know.
-
Repair of 2413S PLM When the Power Supply Fails
Hi Teken, Did you source a bunch of them as kits you can ship within Canada? I saw an earlier post where you were talking about doing it. if so, can i buy one from you? Just want to be ready, as I'm sure i'm nearing the death of mine, based on all the talk. Fred