Start a new topic

How to push notifications from external server?

I've created a notification app and am able to complete the oauth2 flow to get a bearer token that has permission (according to the LaMetric page) to push notifications. Except from the docs I can't for the life of me find the URL to make the actual push from an external machine (ie. one that isn't on the same network). I'm hoping I don't have to create an indicator app and then get a push URL on top of this (it seems kludgy). Can anyone help (point me in the direction)?

I wrote a blog post about how to send push notifications with PHP a while ago: https://blog.aruehe.io/lametric-firmware-1-6-0-and-local-push/



Thanks Alex, and although I had found your post before and I appreciate replies, my question was about external servers pushing. Your tutorial gets the internal ip of the clock using a public facing site, then switches context to pushing notifications from inside the network. I've yet to understand why I can auth a user from an external site, but then do…what with an internal IP. This is fine if as the user, I can run code internally to my network, but that's not what I'm trying to do. I know that ifttt has an app that can push notifications, so it's possible from an outside network, but I also appreciate that there is likely to be a bespoke API between ifttt and the LaMetric.

To push messages to the LaMetric from outside your network you can always use the Push URL (https://developer.lametric.com/api/v1....) instead the local push url from the app page on developer.lametric.com. Before local pushing was possible you always had to use the LaMetric servers to push messages to the device.



That URL got truncated, can you try again (or stick in a gist or something?)

I added the ... on purpose. There's a custom URL for your app on developer.lametric.com and it starts with https://developer.lametric.com/v1/

Oh, okay, I know the API. And it doesn't quite work for what I'm trying to do.


That's basically the PUSH method on a indicator app, but there's two key problems with using push on an indicator:


1. The notification will only show if the data changes, so if you're giving a notification for a Stripe sale where the amount is the same upon each sale, you'll only get a single notification

2. You have an indicator app in your cycled apps, so ideally it would be hidden, at which point, notifications don't come through (though I've not tried with "critical" notifications, IIRC, warnings don't come through when it's hidden).


So it doesn't really fly.


The only work around I've found is to put my LaMetric on the open web…which frankly worries me a bit.


But it loops me back to wondering: what's the point in the oauth2 system if it only exposes an internal IP. Surely this system should be used to connect an external service to a LaMetric via the lameric.com website somehow…

I didn't know, but I just noticed, that notification apps only work in local networks.

lC2FO1IwMCrLP2v_Ej_miWMjXbd4nV_wXA.jpeg


I'm much in the same boat as Remy. At 1st I did the whole OAuth dance to get a token, but then realised that the token and "Cloud API" doesn't really let you do anything useful, but that's a whole different topic.


This is to do with PUSH, I have a private app that uses PUSH, and I take the url (as described by A lex) and sure enough my external server can ping notifications to the app just fine.


However, it doesn't seem possible to then make the app public so other people can use it.


Example, I have a latest breaking newsflash app (theoretically), that I want people to be able to install. Then I want my server to be able to PUSH the notifications to all of the apps. Is the PUSH url (and token) specific to just _my_ install of the app, or for _everyone_ who's installed it?


I've seen people seemingly working around this by giving people instructions to create a new notification app, type in the title, pick an icon and so on themselves, basically a page of instructions on how to set-up an app. This seems less than ideal.


In an ideal world, the user would install the app, and we could PUSH to all instances of them. Or, if it's specific notifications use OAuth to actually be able to send notifications to the user's device.


This seems like a strangely unconnected unsmart smart connected device.

Are there any answers to these questions? I have the same issue. I'd like to have a LaMetric public app for anyone to use. Users would then authenticate with OAuth in our web app and select a LaMetric device (or account in case there can only be one LaMetric device per account which I'm not sure about). Our web server will then push notifications to this specific device. Is this possible? I believe it should be since this is the exact same scenario as the IFTTT integration.


We already implemented the OAuth 2 flow and can get the access token. We also have the push URL of our Indicator app (the one that we want to make public at some point). My question is, how shall we structure our POST requests to the push URL of our Indicator app. The docs and LaMetric dev portal sample shows we should use the push URL and pass the app Access token in the "X-Access-Token" header. What's not clear to us is how to identify the device we're pushing notifications into. We could pass the "Authorization" header with "Bearer USER_ACCESS_TOKEN_FROM_OAUTH2". Is this the right approach and is the notification going to be sent only to the user's device? Also, this does not seem complete since with the user access token, we're identifying the user but not the LaMetric device. Please help.

Login or Signup to post a comment