Dt Ezb Weather For Weather Underground Api

Luis Vazquez

USA

I have been using a custom made API handler for my EZ-B projects. After reading a bit on the forums I thought I would make it a bit more user friendly and see if any one here would be interested in using it.

User-inserted image

This is the settings screen. you would put your zipcode and your Wunderground API key. ( you can get one free from Weather underground )

put in the settings for the computer and port you want to connect to.

User-inserted image

The Say screen is were you would have the DT Ezb Weather speak the weather. there is also a template of how you want your bot to say. You can also select a variable to set with this text as well.

User-inserted image

Here you can select what information you want pass to your ez scripting and what variables to use.

User-inserted image

The last tab allows you to select any ezbscript command you want to run on completion of the weather update.

I have not shared this as of yet so if anyone would like to try it out and help me shape it for public use please let me know.

By — Last update

ARC Pro

Upgrade to ARC Pro

Stay at the forefront of robot programming innovation with ARC Pro, ensuring your robot is always equipped with the latest advancements.

#1  

I would be very interested... With your app you could also save the data to a text file using the FileWrite command... Nice work...

United Kingdom
#2  

I'll take a look at it at some point.

#3  

@HippieGeek : Would this work with the version three board. If so I would love to have a copy of it.

#4  

hmmm, Very Interesting!

I would like to play with it.

#6  

It a very small file. I think i can just post it here on this forum.

just unzip and place in a folder then run.

so far I am the only one to use it so if i need to fix it up some please let me know.

I tried to upload the file here as a zip . but it does not seem to work .

dtezbsimpWeather

UPDATE

DT EZB Weather 1.1b

I Added another API so it will work for my Canadian friends and friends over seas.

#7  

I think the link above is working now.

WayneA: it should work fine with any version of the hardware.

Belgium
#8  

This is a very nice feature ! Congratz !

#9  

I noticed a few download, please let me know how it working for you and if i should add or enhance it any.

#10  

It seems to work fine when I ran it. But, I haven't got an EZB available. Waiting for the EZB4 to come in. I tried to just tie it to my IP address on my computer. But, that did not work. I guess it has to have an EZB connected to it. It is a nice little program that I think will benefit many. Could you possibly make small changes and use it for News, Horoscope, Thought for Today, This day in History, Joke for today, etc. ? that would be nice.

Thanks for all of your efforts.

#11  

I don't believe it needs an EZB attached to work... It runs with ARC. You only need an EZB4 if you want the weather spoken through the ezb4 speaker instead of the PC speaker...

#13  

I tried it, but it said "Unknown script newWeather" and it tried to run it.

#14  

Do you have a script in ARC called "newWeather" .... That could be your problem... You need to write a script in ARC to extract the information from the apps variables....

#15  

The IP it is looking for may be the IP and Port of ARC to pass the variables back to ARC. I havent had a chance to play with this yet, but plan to soon.

#17  

I Don't have a script called newWeather. I don't exactly know what to put in it.

#18  

Ok, I wrote a short little script, newWeather:

ControlCommand("Script Manager",ScriptStart, "newWeather") sayWait($weather)

I also put ControlCommand("Script Manager",ScriptStart, "newWeather") in the speech recognition area.

It started and ran. But, I did not hear anything. It could be that it was waiting it's 15min before saying anything.

? I am not sure.

#19  

@moviemaker... Jeez Mel, open ARC and write a script called newWeather.... In the script write something like... (see below)... Did you use $weather as a variable in DT weather? Look at the first page again here in the thread to help you understand how to set up the weather app first...


SayWait("The temperature outside is "+$temp+" degrees)
SayWait("The humidity outside is "+$humidity+" percent)
#etc...

The DT weather app will pass the info to the ARC script variables you have previously set up in the DT app)...

#20  

OK, I am a little dense sometimes. Well, all the time. But, I can get by with a little help from my friends like you.

Thanks!

OK, that did not work. But, maybe you put me on the right path. I will keep digging.

Here is what I tried after the first did not work:

temp=($temp) humidity=($humidity)

SayWait("The temperature outside is "+ temp) SayWait("The humidity outside is "+ humidity" )

#21  

As far as I know, I set it up correctly, except description is $wdescription. I will continue to experiment.

#22  

Except that your script code is wrong, so of course it won't work... Probably going give you a syntax error when you try and run the script...Go look at my previous example for a proper script code.

#23  

It did not work for me. maybe the author could share his script. I put Everything Exactly how he has it in the forum posts.

Thanks,

#24  

The script is dead simple.... again, look at my example....

#25  

I put this in:

SayWait("The temperature outside is "+$temp+" degrees) SayWait("The humidity outside is "+$humidity+" percent

I will do it again. Thanks,

It comes back with "MISSING STRING QUOTES or invalid expression $temp." on line1.

then, when I give it a closed ) symbol and quotes and such, it tells me that the $temp variable is not defined, or something like that. I will do it again.

Same thing. sorry.

#26  

You forgot the brace at the end of your second say command line...

#27  

ok, here is what i typed in:

SayWait("The temperature outside is "+$temp+" degrees) SayWait("The humidity outside is "+$humidity+" percent)

The above is what you typed in. I just copied and pasted. But, the stupid editor got rid of your bracket. If you will look in your code above, the bracket is missing. This is a good observation, but, I already changed it. The problem is in line one. It tells me that the $temp variable is invalid.

Go Fish! I don't know what is the matter. Maybe it DOES need EZB hooked up to operate. it doesn't work as is on my machine.

#28  

This working also depends on if you have set up everything else correctly as well... The script will only work if you have everything else set up right too.. Is ARC set up to communicate with DT app?, Is the DT app set up properly as well? Do you have a weather key? Variables set up in DT app?

#29  

Its not working because for whatever reason the DT app is not passing the info to ARC.... see my last post...

#30  

yes, I have entered the weather key correctly. I have entered into the computer EVERYTHING Exactly how it was typed in the example on the Forum. But, the EZB is not available. I am waiting to get an EZB4 in I hope soon. Nothing is hooked and connected up at this point.

I guess what I need to do is Wait until I get my EZB 4.

Thanks for all of your help.

#31  

My guess is you don't have ARC set up correctly ( IP, port 6666, etc)...

#32  

I copied it precisely as the sample on the forum. 6666 is there. Ip is: 192.168.1.117 same as on the example. But, if that is the IP of the EZB there is no EZB hooked up. I even tried it with my own ip address and no soap.

#33  

I will talk later, my head is spinning around.

Thanks, Mel

#34  

LoL... Mel, Mel... that's someone else's IP, not yours dude....yes you have to enter your ARC in your DT app.... oh Lordy....

#36  

@MovieMaker, I was getting the same error that you are getting now with the "missing quotes". If you have everything set up properly then you can use any of the following commands

saywait($weather) The above command will give you the combined temp & humidity.

The commands below will give you the each one Saywait("The temperature outside is "+$temp+"") SayWait("The humidity outside is "+$humidity+"")

I added on the extra " at the end and it worked for me.

@Richard R You turned the light on for me!

#37  

Thank Richard, for helping Mel out.

Yes the example in the screen shots are the settings for my system.

Im not using a localhost IP because the copy of ezb that is running the bot is on a server and has a different ip address than the DT ezb weather is running on.

someone requested that i add pop and smtp mail to the app. I will work on this next week. I am adding Twitter function now. so you can send as well as receive twitter message. I would Like for the robot to be able to twitter information to me.

#38  

I was thinking of adding additional weather API. Is there a weather api you like to see added let me know.

#39  

In the example I posted i have mine set up so after the weather is posted to the EZB software I am executing a command

ControlCommand("Script Manager", ScriptStart, "newWeather")

this is running a script in the script manager.

The script looks like this:


Say("New weather update")
SayWait("Would you like to hear the weather?")
$response = WaitForSpeech(30,"Yes","No")
if ($response == "Yes")
Say($Weather)
endif 

so when new weather arrives the robot will ask if i want to hear it or not.

#40  

@HippieGeek, Thank you ! I appreciate what you are providing to the community.

#41  

Your most welcome.

I am learning lots of great stuff here about the hardware side of things. I have been a software developer for a bit over 2 decades now and have programed for robots that are used in production of cars in Belgium but have never had to be responsible for the hardware working , just the software and AI.

I hope as I learn more about what we want our robots to do and I become familiar with the Limitations and features of the ARC software I can provide more help on the software end.

#42  

You app doesn't seem to like postal codes (Canadian zipcode)... Keeps throwing me an error to enter a valid zipcode and weather key... I hope there is a work around because I really like this app... extremely useful....

#43  

Let me check with the Underground Weather api and see if it handles weather in canada. Ill let you know soon as i find something.

#44  

I just looked .. seems Weather Underground only has current conditions for US only.

I will look at another service API that will handle Canada and hit you with an update.

#45  

@Richard R

can you provide me with a Canadian Postal Code that i can test with .. I think i have a solution.

#46  

It runs but tells me variable not defined $weather

#47  

@HippieGeek... You didn't have to, but I appreciate it... My postal code is N3A 4N2... edit you can try it as N3A4N2 (without the space) if need be...

#48  

@Movie Maker, Try this, close out your ARC program. Now start the DT EZB Simple weather program. Now open up the ARC program, and try to run the scripts again.

#49  

I think it is because I don't have an ezb hooked up. I am working with ARC only.

#50  

@MovieMaker, I don't have my EZB hooked up either. I deleted my scripts and rebuilt them and what I have found is that it appears to take a few minutes before the scripts work. I would get the same error as you, "Variable Not Defined $weather", but if I wait a few minutes, that error goes away, and it gives me the current weather.

#51  

Should work with the builder running only.. no need to hook up hardware.

@MovieMaker I would be glad to help you if you use skype. If you use the exec setting it will trigger your script only after the updates.

@Richard R. Here is an updated version of the software that should work fine in your area. I found WorldWeatherOnline as an api source.

DT EZB Weather 1.1b

#53  

I will try again.

@Joseph, At what point, EXACTLY, do you wait?

@Hippie, Thank You.

Thanks,

#54  

@HippieGeek.... Unfortunately not....It still throws me an invalid zipcode and weather underground key even though I did update my key several times... including from international weather site you linked to as well......

#55  

Mel, are you using the correct ip address now? It will never work unless you get this right....

#56  

thanks for asking, Richard.

I have entered in EXACTLY what was on the Forum Pages. On my IP addresses, I have entered in the IP for this computer and also the IP for the router. It keeps saying variable not defined $weather. I have that entered in the Say tab by the sentence in the box and have it checked. I have tried version 1.0 and 1.1. I also have the box saying PC Speaker checked. And , I also have the box Say Weather checked.

#57  

And, Richard, It showed me the same error on underground update and weather key. I even have a double zip code. And I got the key from Underground Weather sight.

OK, you are having the SAME problems that I am having. We just sit back and wait for the upgrade to 1.2b.

#58  

And, I noticed something else. When you run DTsimpleweather, it did not cut off. It stayed and I had to do a CTRL ALT DEL and start the Task Manager in order to search for it and kill it. I don't know if that is the problem now, I will check.

I'll be right back . . . . .

Same deal.

#60  

I am using 1.1b also, although I am in the USA.

#61  

if you are getting your error on unknown zipcode please try mine and see what happens.

37042

#62  

Yes, I registered a new key for the international version of UG Weather.... Entered my postal code and key (one from the international UG weather site from the link you provided)... No joy... So I went back to the original Weather Underground web site and generated a new key.... I am using your Zip code with this new key 527721228efda7d7 and using the first option.... Still gives me an invalid zipcode and key error...

I would like to start from scratch... Where is the user data being saved on my PC? What folder..? I would like to delete it and do a fresh install...

#63  

Richard r. Im looking into it now but can not duplicate the error .

I would really like to find the issue. if you use Skype please add me and hit me up.

my Skype email to look up is zigmonddragontear@msn.com

anyone else testing this program is free to hit me up on Skype as well.

#64  

I am having the same error message also.