New Plugin: SiteSensor

Ring does not work with Blue Iris currently. A good video doorbell has yet to become available with that software. Hikvision makes one, but it rates very poor on the Blue Iris forum.

Ring does not work with Blue Iris currently. A good video doorbell has yet to become available with that software. Hikvision makes one, but it rates very poor on the Blue Iris forum.[/quote]

Hmm. Their website indicates it is a Wi-Fi device. I would think Blue Iris could find it and stream its feed through its interface. I did notice its operating temperature range is -5F to 120F. For an outdoor device, I would expect -20F to 140F.

It appears that the device protocol is SIP for establishing video chat sessions, like a video-capable VoIP phone. It is effectively a one-button VoIP phone that can only dial one number, the Ring mother ship. Unless BlueIris supports SIP (the version 4.something I have does not), I don’t see how it could use Ring as a camera. Again, my experience with the device is very limited, but based on the specs of each, I don’t see how they’d connect.

Thanks rigpapa. So based on the link provided what about responses on motion events and ringing of the bell? Perhaps eliminating the video component all together. We would always use the Ring app but in Vera, I’d like to hook the motion/ringing activities as devices that could launch scenes.

Thanks for the information. Will look for other solutions in the future.

Thank you for this plugin. It seems to be quite useful. I am using it to pull data from my local Emoncms on a raspberry pi. It pulls watts from an Input. I have solar panels and want to know when I am exporting power so I can turn on additional loads and turn them off when my power import exceeds a value. I will use the vera as a coarse power diverter.

So far I have SiteSensor pulling back the watts value and it will trigger when watts exceeds a specified value. Is there a way to expose the response.value so that it can be used in a scene? Right now when I go to write a scene, it only gives me variations of armed/disarmed and tripped/not tripped as the trigger condition. I need to trigger scenes based on the value exceeding X (turn on) and run a different scene when the value is less than Y (turn off). X and Y are not the same (because turning on a load changes the trigger value) and I need something more than a hard inequality.

Rearden

OK, I can fairly easily expand on SiteSensor’s scene options to make this easier. I’m getting ready to an update this weekend, which would publish Monday if Vera stays to their usual schedule.

For the moment, I recommend making an additional SiteSensor device (go to My Apps, click on Details where SiteSensor is listed, and click the “Create another” button. Have one instance trigger when watts > X, and the other trigger when watts < Y. Then have your “high watts” scene trigger from the first instance going into triggered state, and your “low watts” scene trigger when the second instance goes into triggered state.

Just confirming, version 1.4 has gone into the approval queue with Vera, and they should approve it shortly. This will provide additional scene/notification/PLEG trigger options based on the 8 user-definable expressions. See the first post in this thread for full release notes.

Updated the plugin and now it is failing to evaluate a json

See the log

[code]Response HTTP status 200, body={“val”:8,“ack”:true,“ts”:1517804967381,“q”:0,“from”:“system.adapter.mihome-vacuum.0”,“lc”:*********,“_id”:“mihome-vacuum.0.info.state”,“type”:“state”,“common”:{“name”:“Vacuum state”,“type”:“number”,“read”:true,“max”:30,“states”:{“1”:“Unknown 1”,“2”:“Sleep no Charge”,“3”:“Sleep”,“5”:“Cleaning”,“6”:“Returning home”,“7”:“Manuell mode”,“8”:“Charging”,“10”:“Paused”,“11”:“Spot cleaning”,“12”:“Error?!”}},“native”:{}}

20:29:34: Failed to execute `response.val’, { message=“Invalid reference”, type=“evaluation”, source=[/code]

I would use a reference to evaluate response.val which is the first value but it keeps on returning a nill value. There seems to be a typo in the code where the ’ became a `

Apparently the shortcut expression with only one term after the “response” no longer works. I have had to use the response[‘var’] expression

The odd quote mark is just me going old school Unix in the error message. Showing my age I guess. The problem is that the structure of your data is making luaxp mistake the table for one of its atoms, and it doesn’t want that there. Your solution is the correct one–change the reference form to a quoted identifier–for the moment. I’ll tighten up luaxp today and post an updated library. Thanks for the report.

i have the same problem…
21:48:21: Requesting JSON data
21:48:21: GET http://www.stokercloud.dk/dev/getjsondriftdata.php?mac=hampl, headers={ }
21:48:21: Response HTTP status 200, body={“501”:“38.3 °C flow”,“502”:“0 % Power”,“503”:“22 °C Shaft”,“504”:“0 kW Power”,“505”:“73.7 kg Hopper”,“506”:“0 Lx Light”,“507”:"Stopped clock “,“508”:“07/02-2018 21:47:58”,“521”:“0 °C Return”,“522”:“0 liter/hour Flow”,“524”:“0 °C External temperature”,“525”:“47 °C Temperature DHW”,“526”:“16.5 % Actual oxygen”,“527”:“0 % Target oxygen”,“528”:“750 Gram auger/6 min”,“530”:“18.683 kg Today”,“531”:“0 kg/m2 Today”,“532”:“0 °C Smoke temp.”,“533”:“65 °C Target boiler temp.”,“534”:“56 °C Target DHW temp.”,“542”:” ",“584”:"Nitra ",“585”:“100 % humidity”,“586”:“1011 hPa pressure”,“587”:“3.1 m/s wind speed”,“588”:"http://openweathermap.org/img/w/50n.png ",“589”:“1 °C air temperature”,“591”:“10 null”,“592”:“0.0 °C T5”,“alarm”:“0”}

21:48:21: Failed to execute response."507"', { location=10, type="evaluation", source="LuaXP", message="Invalid subreference" } 21:48:21: Eval #1: response."507"=(nil)nil 21:48:21: Failed to execute response.“504”‘, { location=10, type=“evaluation”, source=“LuaXP”, message=“Invalid subreference” }
21:48:21: Eval #2: response.“504”=(nil)nil
21:48:21: Failed to execute response."501"', { location=10, type="evaluation", source="LuaXP", message="Invalid subreference" } 21:48:21: Eval #3: response."501"=(nil)nil 21:48:21: Failed to execute response.“506”’, { location=10, type=“evaluation”, source=“LuaXP”, message=“Invalid subreference” }
21:48:21: Eval #4: response.“506”=(nil)nil
21:48:21: Failed to execute response."505"', { location=10, type="evaluation", source="LuaXP", message="Invalid subreference" } 21:48:21: Eval #5: response."505"=(nil)nil 21:48:21: Failed to execute response.“525”‘, { location=10, type=“evaluation”, source=“LuaXP”, message=“Invalid subreference” }
21:48:21: Eval #6: response.“525”=(nil)nil
21:48:21: Failed to execute response."alarm"', { location=10, type="evaluation", source="LuaXP", message="Invalid subreference" } 21:48:21: Eval #7: response."alarm"=(nil)nil 21:48:21: Failed to execute response.“alarm” = 1’, { location=10, type=“evaluation”, source=“LuaXP”, message=“Invalid subreference” }
21:48:21: Eval trip expression: response.“alarm” = 1=(nil)nil
21:48:21: Next activity in 60 seconds

before 3 days working fine, but now with errors.
Query is ok but expression error…

is any solution ???

please help

Peter

Try the [tt]response[“507”][/tt] form

Updated to the latest github on openluup and I am having another problem. it looks like you have a naming problem with the controlpanel function. It is called “SiteSensor.controlPanel” in the json file while that function does not exists in the js file. There the function is only called “controlPanel” so I am getting this error:

an error occurred while displaying the javascript tab. devid: 0-20 err:SiteSensor.controlPanel is not a function. (In 'SiteSensor.controlPanel(20)', 'SiteSensor.controlPanel' is undefined)

It’s an exported function of the module, so it is addressed by its module name. I suspect you don’t have the latest UI7 JS file. You need to install both files. The UI7 file is used both for UI7 and ALTUI.

Hmm it looks like it was a browser cache problem. Tried from another computer and I am not seeing the same error.

Hi

Had this working correctly, but am also now getting the “Query OK, but 1 expressions failed” error message

This is the output of my HTTP Request:

{“cleanMissionStatus”:{“cycle”:“none”,“phase”:“charge”,“expireM”:0,“rechrgM”:0,“error”:0,“notReady”:0,“mssnM”:20,“sqft”:154,“initiator”:“alexa”,“nMssn”:40},“pose”:{“theta”:162,“point”:{“x”:213,“y”:-31}},“bin”:{“present”:true,“full”:false},“batPct”:100}

My query is:
response.cleanMissionStatus.cycle to which the response is currently : none

My Trip expression is response.cleanMissionStatus.cycle = “none” to which i am getting the following in the log:

14:05:02: Failed to execute `response.cleanMissionStatus.cycle = "none"', { location=35, __source="luaxp", message="Invalid assignment", type="evaluation" } 14:05:02: Eval trip expression: response.cleanMissionStatus.phase="charge"=(nil)nil

As i said, this was working correctly before, but now its not. What am i doing wrong??

[quote=“tomtcom, post:18, topic:197026”][quote=“rigpapa, post:17, topic:197026”]The linked page describes the interface between the doorbell and Ring’s servers. While you could mimic the doorbell’s requests to Ring, I’m not sure it would get you much, as the most interesting things to do here seem to revolve around initiating the SIP connection between the doorbell (as originator) and the server (as gateway), and if initiated by SiteSensor on the Vera, the usual originator (doorbell) likely would not be in a state where it would know to complete the connection.

I’m not a Ring user yet. I got my wife one for Christmas, so in a couple of days I surely will be. Maybe once that happens, I can try it and see what surprises come out of it.[/quote]

Thanks, I have a lot of interest too as a Ring user. Vera’s official stance is they won’t integrate half of the device meaning Ring won’t expose the video portion and Vera stopped talking about it. Many said it did not matter (including myself) as we wouldn’t use Vera for video but a real integration of the events such as the door bell ringing and the motion notification. Those can easily trigger scenes and everyone would use the video from the Ring app itself.[/quote]

Hi Rigpapa, in the post above you said you got your wife a Ring for Christmas. With sitesensor work moving along, I’m wondering how I could assist in helping to test if we could capture the motion events for use in Vera or if someone has rang the bell? We do not need the video in Vera but the ability to tie into the events to trigger actions on like turning on a light when Ring has motion.

Thanks!

There seem to be other better integrations in the works, and I’ve been busy with some other plugins, so I haven’t taken the time yet to look and don’t have a ton of motivation to do so at the moment. I’m kind of hoping that Vera themselves does something, or we end up with a solution through other channels that are gaining traction (IFTTT or MQTT?).

Thanks but I haven’t heard of any others. Vera said no to the ring because they couldn’t get the video portion and the Wink plugin has been withdrawn. IFTTT beta has also been no activity for months from the Vera side.

If you know of anything else, please let me know and I’ll investigate.

Any guidance to the following??

Thanks

[quote=“s4nup, post:36, topic:197026”]Hi

Had this working correctly, but am also now getting the “Query OK, but 1 expressions failed” error message

This is the output of my HTTP Request:

{“cleanMissionStatus”:{“cycle”:“none”,“phase”:“charge”,“expireM”:0,“rechrgM”:0,“error”:0,“notReady”:0,“mssnM”:20,“sqft”:154,“initiator”:“alexa”,“nMssn”:40},“pose”:{“theta”:162,“point”:{“x”:213,“y”:-31}},“bin”:{“present”:true,“full”:false},“batPct”:100}

My query is:
response.cleanMissionStatus.cycle to which the response is currently : none

My Trip expression is response.cleanMissionStatus.cycle = “none” to which i am getting the following in the log:

14:05:02: Failed to execute `response.cleanMissionStatus.cycle = "none"', { location=35, __source="luaxp", message="Invalid assignment", type="evaluation" } 14:05:02: Eval trip expression: response.cleanMissionStatus.phase="charge"=(nil)nil

As i said, this was working correctly before, but now its not. What am i doing wrong??[/quote]