GroveStreams

Forum Home

TitleAuthorPostsLast Post
Latest Changes MikeMills 114 9 daysMikeMills (130): * Fixed an issue that caused tens or hundreds of thousands of System Notifications to appear, each stating "You do not have rights to perform this action." The issue was caused by: 1) selecting a Dashboard or Map to be a Default View 2) the dashboard is then deleted 3) the user logs out and logs back in while selecting "Remember me" 4) the user enters observation studio The system was attempting to open the missing...
How to identify device in GS API Alerts fixingthingsguy 4 3 daysMikeMills (130): "The feed PUT rate limit algorithm is a little forgiving as it actually checks for more than 12 calls within a two minute period." - https://www.grovestreams.com/developers/limits.html
Timing of derived streams ctmorrison 7 4 daysctmorrison (10): OK. I see the error in how I was looking at things. When I double-click on the component and see all the streams, the timestamp I'm seeing is the "Last Updated Date" which is not indicative of the actual timestamp on the stream's data being displayed. However, if I go into each stream, I can see the actual timestamps on each data point and they do, in fact, match across all derived streams and the stream data from which they are...
APP for Android jsanchezi 2 9 daysMikeMills (130): Depends on what you mean by app. The typical workflow today is to use Observation Studio from a PC where it is easier to do modeling because of bigger monitors and the use of a mouse (drag and drop and such). Users design dashboards within Observation Studio that are phone and tablet friendly. Users then access those dashboards from mobile devices via the Start Page or from a shared URL. Does that answer your question?
Digi Device Cloud Data into GroveStreams MikeMills 1 11 daysMikeMills (130): Digi Device Cloud allows developers to create an HTTPS or HTTP connection between the Device Cloud server and another web server, which may be a GroveStreams server, via their HTTP Monitor framework. Digi HTTP Monitor Connection Example for GroveStreams: [code]<Monitor> <monTopic>DeviceCore,XbeeCore</monTopic> <monTransportType>https</monTransportType> ...
Mobile dashboard Avocadodude 7 11 daysAvocadodude (1): Thanks for the quick patch. Works perfect!
[Question]Gauge Widget Customization Feature SAM 4 12 daysMikeMills (130): This has been applied. Do an F5 to pickup the new changes.
[Question] Help in Model Development SAM 13 13 daysMikeMills (130): You might want to try the new Pivot table and graphs. You could use the pivot table to view the top hours and graph them.
Elapsed time pat 2 23 daysMikeMills (130): Try my last suggestion in this thread. Once you have a stream that is calculating duration, its rollup information will be available automatically (SUM-Hour, SUM-Day, SUM-Month, SUM-Year) for alerts, derivation, and dashboarding.
Pivot Table Beta MikeMills 3 1 monthMikeMills (130): Fixed many issues related to Pivot charts.
SMS sometimes arrives as several messages MikeMills 1 1 monthMikeMills (130): I was working with a customer around the issue of certain GroveStreams SMS messages arriving as several messages. The messages seemed to be under 160 characters but were still being split into multiple messages. I decided to write up what I discovered so that others are aware of SMS size limitations. GS uses a 3rd party company, Twilio, to send SMS text messages. They are good at what they do and can SMS to almost any country in the...
Roles in PUT org_user hicaro 4 1 monthMikeMills (130): Yes, it is created by default for every new organization.
Last updated in dashboard bioagbob 3 2 monthsbioagbob (1): Thanks Mike. You always have it. I just needed to find it! :)
Multiple component streams from 1 code? Ex33 6 2 monthsEx33 (1): Never mind, i got it to work already, didnt see the link mike posted.
Sum of stream over long period of time ctmorrison 2 2 monthsMikeMills (130): Glad you found a way! The time is displayed in compact format by default. Compact format will trim off the year, month, day if the time is the current day. You can change that behavior in your user profile (click your name): http://forum.grovestreams.com/cached/20a6dc948303e5c85ffec7f6ac4f82dd.png
A Fresh New Look for GroveStreams MikeMills 16 2 monthsMikeMills (130): @ctmorrison - We have confirmed and are fixing all three. Thanks!
SMS with accents pat 2 2 monthsMikeMills (130): Yes. Accents and special chars will work with the next website update.
Historical tracking pat 4 2 monthsMikeMills (130): Can't put a date on it, but you're the second customer to ask for it so that makes it a higher priority than most items. If it looks like it will generate significant revenue or a customer is willing to help pay for it, then we'd slam it in before other enhancements.
Interactive button pat 4 2 monthsMikeMills (130): That is possible today. Do this: 1) Create a stream on your component and call it something like "Command Stream". It can be a Point or Regular stream. 2) Create a "Value "Arrival" event for that stream on the same component 2a) Have the Event reference an Action Package that has an HTTP action in it. Setup the HTTP action to do your PUT or POST. 3) Create a dashboard with a Stream Feed Form widget. Have the widget...
Color-coded components based on alarm status Maggie 4 2 monthsMaggie (1): That's exactly what I was looking for. Thank you.
MQTT vs API POST ctmorrison 2 3 monthsMikeMills (130): It's on the road map, but we're waiting for someone to request it before we dedicate resources to it. So far, no one has requested it. CoAp is another protocol. There are some advantages. Search the web for "advantages of mqtt over http"
Chart Data Labels MikeMills 1 3 monthsMikeMills (130): Added the ability to display series data labels to charts: http://forum.grovestreams.com/cached/1f4d9e032596fb4a0eaef66b797ef6fc.png Edit the widget and set Data Labels to true on the data series: http://forum.grovestreams.com/cached/122487520c742f811bebb512ad5f5c90.png
Event didn't fire ctmorrison 3 3 monthsctmorrison (10): I'll fall on my sword publicly, too. I missed this morning's email message and the team member who pointed out he wasn't alerted had not be added to the email address list. My bad (I hate that saying!).
PUT with body string and multiple feeds pat 9 3 monthsMikeMills (130): Yes, just move the time JSON attribute to under each component: [code]{ "feed": { "component": [ { "comTmplId": "T1", "componentId": "Comp1", "time": [ 1464583381000 ], "stream": [ { "streamId": "tmp", "data": [ 19.3 ...
calculate time HSBSmartHome 7 3 monthsAvocadodude (1): Thanks Mike. I'll play around with the formula.
multiple components noxx 2 3 monthsMikeMills (130): All appear within the area being viewed in the map with the exception of the Track Map widget which will only track one component. Ensure you've set your component location: 1) Manually: Right click on the component and select Edit Component, click Location and click on the map to choose its location 2) Via GS API: Or you can upload the location of the component via the GS API calls ...
Need help with the setup to stream data Ex33 4 3 monthsEx33 (1): Thanks a lot guys! The Suggestions worked! Finally can get around with what i need to do now.
Graph widgets often don't display lines dmarks 3 3 monthsMThomas (1): I had a similar issue, I was on Google Chrome Version 50.0.2661.102 m. I was noticing the issue on dashboard charts. After I updated Chrome to Version 51.0.2704.63 m and cleared my cache, I haven't seen it occur again.
Event Hysteresis micl78 3 3 monthsMikeMills (130): @micl78 - I submitted a bit early and have edited the above post.
Derived Streams rdallen 4 3 monthsMikeMills (130): There are other "recipes" for this too. Let me know if you (or another user) need more derivation solutions.
PUT an entire file pat 6 3 monthsMikeMills (130): Use X-Forwarded-For in your header to make the call unique.
Import CSV Thanasist2 3 3 monthsMThomas (1): I had a similar issue. GS exported my data with the datetime in this format: "2016-05-18 08:00:00 PDT" (no quotes). The only option meeting that format when I went to import the data was ISO, but it didn't like it. I had to manually remove the PDT from each point to get it to like it.
Can't get into organizations ctmorrison 2 3 monthsctmorrison (10): Disregard. I thought I had cleared my cache, but perhaps not.
No sandbox data rdallen 3 3 monthsrdallen (1): Thank you Mike for fixing so quickly. Unfortunately by the time I was ready to investigate further, I got an email saying the stream had been blocked due to exceeding I/O. A bit confusing as it has only been 12 hours since it was fixed (and the account was only created 48 hours ago). This does conflict with the document, which says the sandbox data should stay under the free limit if you only run it for a few days. Not that it really...
Time Filters ctmorrison 5 3 monthsMikeMills (130): Multi cell selection within the Time Filter editor has been fixed: http://forum.grovestreams.com/cached/65277a6967a3edd22ffe744b60da2076.png
New Boards Support acestu 2 3 monthsMikeMills (130): We'll take a look. If the boards support HTTP calls, then you can just use one of our existing how-to's for examples.
Adding title to shared dashboards ctmorrison 2 3 monthsMikeMills (130): We improved setting a title around a year ago. Don't add it to the URL anymore. http://forum.grovestreams.com/cached/d09c97733a2817ff9e963854e6669192.png
Copying component and data to another org? ctmorrison 3 3 monthsMikeMills (130): We allow the models to easily be pushed and reconciled to one or more organizations at one time. See this thread. @ctmorrison, make sure you read the last line in that thread. You have to manually export stream data to a file and use the Import Profile to import the data.
Duplicates or near duplicate data pat 2 3 monthsMikeMills (130): 1. Last call wins. Data is organized this way via the keys used in the Feed PUT api call: * Organization (determined via the secret API key) * Component ID * Stream ID * Sample Time (to the millisecond) If all of those keys are the same for different gateway calls, then the last call overwrites the first calls data. No corruption will occur. We lock everything at the component level during each call and other calls will wait until the first...
POST API ecoenghk 5 4 monthsMikeMills (130): There was a configuration typo for our web servers. Fixed it. Try it now and let me know if it works.
Bandwidth ctmorrison 2 4 monthsMikeMills (130): We haven't changed our bandwidth calculation logic in a long time. So your bytes In is higher than expected? Or are you seeing the Bytes Out higher than expected? Our bandwidth calculation is very simple. We sum the size of the URL parameters with the size of the HTTP body for only API calls involving organization data. Web pages and graphics are ignored - only GS API calls are part of the bandwidth calculation. For example, "Bytes...
GroveStreams Smartthings Readings Stopped djamie2015 11 4 monthsMikeMills (130): We reach out to ST occasionally, but they don't seem interested. That being said, it appears a high number of our user's ST/GS code is throwing exceptions on their servers. A couple of ST engineers contacted us and are working with us to improve the sample code.
Active Event - how to auto de-activate? ero4444 2 5 monthsMikeMills (130): When the Event expression returns "true", the event starts. When it returns "false", the event ends (or clears). You can manually delete and active event instance, but when the next feed value arrives and the event expression is processed and returns "true", a new event instance will be created. So to de-activate and active event, you can: * Change your expression so that "false" is returned and then...
API Exception ctmorrison 4 5 monthsMikeMills (130): It can happen when there is only one device pushing to one component too. The earlier request may have internally failed on a GS server and the lock remained open. The following request will timeout after 60 seconds and a System notification will be logged in your organization. - Nothing you can do on your end. It's a GroveStreams internal locking strategy design that is constantly being redesigned and improved as we grow and understand how...
Text header seckford 7 5 monthsseckford (7): Thanks - I'll give it shot. C W Rose
How long does Blacklisting last? rmaxseiner 2 5 monthsMikeMills (130): We're not familiar with the "blacklisted" exception. I'm thinking this is an SSL related issue, but need some more details. Are you making the Feed PUT call from a device or another cloud service? Can you include more of the call stack if there is a longer call stack as part of the exception? Does the exception go away if you change the call from https to http?
Data I/O overage from SmartThings jlv 3 5 monthsjlv (1): Some there was already kind enough to reset my usage. Thank you! I am not using the SmartApp from the quickstart, because (as I mentioned above) that makes 1 PUT request per stream. This uses much more I/O. I am using this one, which queues up multiple values and sends 1 PUT updating multiple streams at once. This does result in fewer I/O bytes and transactions, as long as everything is working. The quickstart version will drop the value...
Combining two streams? jlv 4 5 monthsMikeMills (130): The feed from SmartThings will place the data into the component and stream with the passed in component and stream IDs. GS will set the name to the ID initially. You can rename things and it will not impact the feed since it is using the IDs.
REST question PigFarmer 7 5 monthsPigFarmer (1): I can't figure it out. I put it in the url and the json body and it doesn't take. API tracking doesn's say there is a problem When its in the url Call Details: URL: http://grovestreams.com/api/feed?compTmplId=all&compName=Weather&api_key=2f0812ad-a068-38be-af68-a01b7e1ebd73&CompanyId=28384&IntegrationKey=79693704972c4aa2b209eea551d7ca35 Method: PUT Process Time: 2.507 seconds Client Address: 23.96.6.85 Client...
Error - HttpResponseException not logging Muffinhead 3 5 monthsMuffinhead (1): Thanks Mike, I found someone that had a similar issue on the forum and they posted code that I've tried. This fixed whatever problem I had: private sendValue(evt, Closure convert) { def compId = URLEncoder.encode(evt.displayName.trim()) def streamId = evt.name def value = convert(evt.value) log.debug "Logging to GroveStreams ${compId}, ${streamId} = ${value}" def url =...
destitute