setProperty Blynklib.py

The following code is a button (V2) in switch mode changing the image for widget V3. All tested and working here.

# to register virtual pins first define a handler for a button
@blynk.VIRTUAL_WRITE(2)
def v2_write_handler(value):
    print value		
    if int(value == '1'): # button pressed to ON
        blynk.set_property(3, "urls", "https://peacefairapp.com/fota/pzem/topleftb.jpg") # OK update image on V3
        print "topleftb image"	
    if int(value == '0'): # button pressed to OFF
        print "topright image"
        blynk.set_property(3, "urls", "https://peacefairapp.com/fota/pzem/topright.jpg")  # OK update image on V3	

Well I found the issue.
And I’m not very happy about it…
the code is correct and it works fine.
but for android and not for IOS, I got my old android phone and tested it and it worked…
when I press the button from the ios it updates to the android…
how is this real………
anyway thanks for the help, if you can please inform a dev to fix it in the IOS app… thanks a lot!

That’s the very high price you pay, pun intended, for using Apple products.
Even if the Blynk iOS dev was as up to date as the Blynk Android dev you would still have to wait for your phone manufacturer to approve the update.

That’s a hole different story and this forum isn’t the one that we need to begin this conversation.
I’m happy with the ecosystem that I’m in and that’s my opinion.
About the Blynk IOS app I’m sure that it will be one day and I’m hopping that it will be in the next update because its a new widget. I just asked you because I don’t have the means to inform the Blynk iOS dev about this situation.
What I need to do now to work is to close and re-open the app I’m sure that that can be fixed.
the high price I pay for Apple products isn’t something that blynk cares about, they have an app for iOS devices and they update it frequently. The Image widget is the only difference between iOS and android. By my humble opinion the iOS app has a better design than the android one, cleaner. Well they are identical but there are some changes that make it cleaner.
And of the iOS-Android story, thanks again for the help.

When did they add the mighty Eventor to iOS?

idk maybe the same period that they will add GPS Trigger, Gravity sensor, Light sensor, Proximity Sensor. But I never needed them and I don’t think that I will so I don’t really have any problem with it.

Would have been nice to know you were using iOS from the beginning :slight_smile:

I remain unimpressed with iOS and I do not care for the way the widget box jumps in if I accidentally swipe the wrong way… granted, my ageing 4s is not a prime specimen for comparison :stuck_out_tongue: … However, I have successfully used setProperty commands on images and seen expected results in the iOS App. You are running the beta version, correct?

So I guess this topic can be considered solved then, as the App version doesn’t care from which type or programming the command comes from, as long as the server gets the command/data and passes it on to the App, all is good. And apparently your server IS now getting the needed info from your python script.

1 Like

Yes it’s solved now but I didn’t changed it because the widget needs a “fix”, for the image to get updated I need to close and re-open the app.
Also I’m sorry but I do not know if I’m running the beta version, I have the app from the AppStore.

My point is that it (beta iOS) does NOT need any apparent “fix”, at least on my iphone…

These images change from OFF to Rotating, and the one with the grey fan actually rotates in real time due to setProperty commands.

image

If you are unsure, then you are not using it… otherwise you would know :wink:

Oh yes I can see the difference here, for my setup I change the url every time, I use setproperty urls, I think that you might use virtualwrite?
for example I use blynk for a camera system and each time a radar is triggered it takes a snapshot from my camera with a different name(the name is the date and time) so the url from my http server is different each time. The only way to do this is by using set_property(Vpin, “urls”, “http://…/19-1-19:13-27-57.png”).
This could be an easy fix(I think) if I simply use 2 urls in the widget app and always update one of them and virtualwrite the updated one but now I cant set more than 1 url because it prints a syntax error in the py script.
Btw I started using the beta app(didn’t knew that it exist) and there is still the same problem.

@Smackflad you just want to show the latest image from the camera, right?

yes

then set_property should be fine. Works with my Android without any starting / stopping of the project.

That’s what I’m saying!
With the Android app it works correctly and without any problems, with the iOS app I need to restart the app.
From the code-py client side everything works, from the app side there is a small problem but its not a big deal.
When there is a new image available I get a push notification so I open the app and I see it no need to restart the app because its already closed and the cache is empty so it automatically shows the new image.
If I have the app already open, I need to restart the app but that’s a low chance so not a big big deal. I can wait till they fix it, because of the fact that its a bug it will be fixed soon, I don’t think that I’m the only blynker with that problem, its a common project(I think)
thanks for the assistance though!

@Eugene does iOS version for image gallery have some features missing that are in the Android version?

blynk-library-python 0.2.0 is released, please check it out.

1 Like