@fronzbot Just wondering, how do you get the blink camera’s temperature updates correctly showing in HA?
I go into the camera app and looking at the temperature, it reports something. I click update within the blink camera, and the temperature may change or not; regardless it doesn’t matter.
When I go back HA and look at the temperature, its still reporting a temperature that doesn’t match. I’ve run the blink.update service but nothing seems to change.
Calling the blink.blink_update service definitely updates the temperature (it updates all camera properties when called). Maybe to debug your setup you can add an automation that calls that service every 15 minutes or so to see if the temperature changes?
The blink library uses the same endpoint as the phone app, so if you see a temperature in the app and then call blink_update in home-assistant you should get the exact same value.
Also, just for completion’s sake, which home assistant version are you on?
I’m currently on 0.83.2 and calling a hourly call to run the blink update service (blink.blink_update).
The values in my HA do change but they never match the values in the blink app.
If I clip a picture from the app, they show up in HA. I know things are working but I don’t know how to debug this further. Does it matter that I have two blink hubs?
I believe the upgrade actually fixed all but one camera. I was avoiding the upgrade because of the lovelace changes, now I have to figure out how to import my hold one to the new one. Thanks a ton!
My guess would be too many API calls being attempted at any given moment (for example, home assistant is trying to auto update at the same time as your hourly call to blink_update and one of them is discarded).
Well, after another day of looking at the temperatures, they are still not reporting correctly. They are consistently off by 1 or 2 degrees per camera depending on the room. One room might be off by 4 degrees but it is always off that much; while another camera is exactly 1 degree off every time.
Now, I wonder, does the calibration setting within the blink app do some magic? I recently adjusted the camera temperatures to more accurately reflect the room temperate. Do you think the camera is still reporting to the cloud the original temp and the app on my phone is using some other formula to report temperatures?
If you calibrate the camera temperature within the app, it doesn’t change anything on in HA. I’m convinced that the app is doing some type of local manipulation. Hope I’m wrong but that appears to be what is taking place.
So, if this isn’t something that can be fixed - is there a way to take data from blink and do math locally per camera to show the right temperatures?
I have not played around with calibration, so that definitely sounds like it might be the root cause here. I’d actually be surprised if they’re doing local manipulation- my guess is that there is a different parameter that is set that my library isn’t reading. So when the library asks for the camera temperature, it retrieves the raw temperature and some other variable contains the calibrated temperature (ie. we should be able to get that information easily).
Either that, or there’s a different api endpoint needed to retrieve calibrated temps.
At any rate, would you mind opening an issue here as a bug report? It would be good to keep track of this in the main library repo.
Any idea how I could use a template to calculate the F based on the C attribute?
I can easily return a new sensor with a new value based on the temperature but I’d like to have it more accurate by calculating based on the temperature_c attribute.
I’m confused- you’re trying to calculate the temperature in Fahrenheit based on the Celsius temperature reported by the camera? The temperature_c attribute is, itself, a calculation based on the temperature attribute (both of which you have access too). The “camera.blink_camera_name” temperature attribute reports the same information as the sensor.blink_camera_name_temperature so grabbing the info from the camera attributes is redundant.
Haha, yeah I think you’re over complicating it a bit, but that’s ok
The temperature reported by Blink is always rounded (ie. it’s always returned as an integer) so the minimum accuracy of Blink’s sensor is limited to 1 degree (F). The temperature_c property is literally just a calculation made from that integer value (see here). So any error in the Fahrenheit value will be present in the Celsius value (plus some because I round the Celcius value to 1 decimal to avoid weird floating point numbers)
Those are warning, not errors. If the server is taking along time to communicate that will happen, and it doesn’t cause any problems, more of a “heads up, this is taking longer than normal”. That’s not unique to the blink platform, but any platform that communicates with a remote server and doesn’t handle slow connections very well.