Page 4 of 14

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Fri Apr 08, 2016 5:21 pm
by kgschlosser
Quick update.

I finally got the camera's working the way i want.

i am just finishing up coding out the config panels for them.

but here is how it will operate.

from the plugin config you will be able to set a global font color and refresh rate for the cameras.
as well as define the default size of the viewing area

on a per monitor basis.

in the config panels for each camera action you will have the option to select the monitor and optionally select the color font and size.

if you change the size of the monitor in the action config it will change how the style of the viewing area is. it will display as a window instead of an overlay.

the plugin automatically sorts out the size of the screen with the size you selected and will generate slots for each camera on the screen and it will put the newest one you want to bring up in the slot that is first available.

unless you select custom size then it will bring the camera up no matter what.

when closing the cameras you have the option to close all custom sizes on all monitors or just on the monitor of your choosing.

i am about 1/2 way done wit the coding for the panels, i am working on the hardest one now. and then some testing.

should be soon.

K

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Sun Apr 10, 2016 10:22 am
by kgschlosser
man O man this wx stuff is a hoot.


just testing now and ironing out the kinks.

it does slow down EG (not the events) using the EG GUI gets slow, unfortunatly i am unable to run a thread on wx Frames and panels, so i am not really sure how it does it, but it makes one it's self. they appear to be separate but then also linked.

i added default monitor settings in the plugin cfg panel so you can set global information on a per monitor basis.

it will load a set for each monitor you have attached to the computer running eg automatically.

you will have the ability to override the default values for the font, font color, and the update speed.
you will have a seperate override for the resolution.

if you use the default resolution it will show the camera frameless and buttonless. and it will add new cameras pulled to the screen in a grid. it's autosensing for the number across and number down it can go.

if you close one of them and make a hole in the middle of the grid, and then open another it will fill that hole

you can select a font, but if camera name that is stored in the vera is too long to overlay on the camera image without running pas, it will automatically size down the font.
it will not size it up

i set the max on the refresh rate per camera to 60 Frames Per Minute in fear that if there are a bunch open the Vera will have some huge issues with it. i am not really sure if it will or not. i only have a live screen capture pumping into the vera for testing.

the software also will not load a camera onto a monitor if it is already open on that monitor. so no mistakes with loading the same one more than once.

this has added an enormity of code something like 750 lines. but a much needed addition. i can't wait to go and get a zwave window sensor and a camera, i want to put that sensor into the doorbell and have it trip a live video feed to show up on the TV's if someone rings the bell

also be able to mute the audio and pause a movie if it's playing.

SWEET!!!

K

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Fri May 20, 2016 3:00 am
by davegus91
Hello,

Thank you so much for putting time and effort into this plugin.

however, it seems i cant get it to start...

I can add the plug in, point it at my vera edge and the eventghost log just fills with :

MiCasaVerde: Server: DataReadThread: (<type 'exceptions.ValueError'>, ValueError("invalid literal for int() with base 10: '110.689'",), <traceback object at 0x04A25850>)

Any idea what i'm doing wrong?

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Fri May 20, 2016 4:58 pm
by kgschlosser
not a clue.

i am in the process of rewriting the whole plugin. i upgraded my vera to ui7 so i can deal with all of the abnormalities that firmware has.

it's really dumb things like if you turn off the thermostat and turn it back on it sets the temp to 50F

what the hell!??!?!

and they changed the HVAC set points before you could set the heat and cool separately now you can't

lord knows what else i have come across

and those ding dongs over there stole my idea with the geofencing

changing names of categories, having multiple categories for the same thing

it's really a pain.

and i redesigned the polling side of it so it asks for a list of what has been changed, and they have things in there that haven't change, and when i ask for an update if the things has rebooted instead of just sending over a full copy of everything it sends some kind of error that freaks out the polling side of it.

they did fix my 2:00am disco show tho. 2:00 am without fail the zwave network would heal and every light in my house would blink for about 15 minutes. If the light was on.

i can't get over how slow the thing is

it's horrible

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Fri May 20, 2016 5:00 pm
by kgschlosser
i will post a new version hopefully today i am just finishing up on adding some niceties.

nice thing about this version i have made it so as i add to it, it can be done as modules instead of replacing the whole thing over and over again

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Sat May 21, 2016 9:47 pm
by kgschlosser
ok i am only going to attach this version to this post it is very experimental and there could be some things not working properly. what i know of that's not working properly is the ramping, 1/2 way.

it will ramp a single device at the moment and the cancel ramp button in the dialog is non functioning.

TO ANYONE ALREADY USING THE PLUGIN
YOU WILL HAVE TO REMOVE THE OLD PLUGIN FIRST
You will have to delete all the tree items and delete the plugin from the tree, save eventghost.
then close eventghost
then delete the folder that contains the plugin in the eg plugins folder (normally C:\Program Files (x86)\EventGhost\plugins\MiCasaVerdeVera)
then extract the attached zip file to the eventghost plugins folder (normally C:\Program Files (x86)\EventGhost\plugins\)

then launch eventghost and add the plugin to the tree. enter the IP address of the vera
leave the port alone it's really there for testing

new/changed

Added: Multiple Section Events and control (only if the vera units are in a parent children(child) orientation)

Changed: Device chooser inside of the action dialogs is now broken down to 3 separate drop down you can select the section (hub) the room and the device

Added: In the action dialogs it will show the device number as well as midfix (the piece kinda between the prefix and suffix of the event) so you have an idea of what the action that is posted will be like and can create the action without it having to have happened i plan on adding the the prefix that was entered in the plugin config to this as well so all that you will have to add is the suffix onto the end to complete it. it will look like this
"My Home.Living Room.Overhead Light.Dimmable Switch


Changed: Server is Using XML data now and not JSON

Changed: Server only asks for devices that have updated instead of the whole list this should reduce load on the vera because of the increased load from UI7 i didn't want to add a huge amount more

Changed/Added: separated all the different controls into separate files this will make it easier for me to add features in the future. i will be adding a dialog to import the new features so this will be able to be done without having to take EG offline

Changed/Added: the action dialog for the HVAC has changed and has a lot of new things added it can operate in 2 modes either like a real time thermostat or just a normal action you can have events trigger from i also added weather reports to the thermostat so have a visual of the conditions outside (this requires the world weather plugin for the Vera)

Added: Ramping dialog now has an option so you can use the current state of the dimmer and go from there and you can also view the current dimmer level from inside the action dialog. this is a nice feature because you can now just check a box for an action to lower the lights and it will use the current dimmer level and go down from there without the need for making a script to do it.

Added: Locking and Unlocking of doors

Changed: UI7 no longer supports changing states of dimmers using the ON OFF method or Toggle so dimmers have been removed from those 2 actions and only switches will show up in those

Changed: proper event naming for categories

Changed: not relying on category names to do specific things in the plugin. as this caused a problem when the Vera devs decided to change some of the names.



basically the whole plugin has been recoded so it's all new

if there are any bugs please report them to me. i need to know because different people have different items and i have no way of checking everything that's made.

planned additions:

Menu System
Security sensor arming and disarming (per sensor)
Schedule for the HVAC
Security Camera Viewing
Controls for the vera plugins (has to be done on a plugin by plugin basis upon user request
Window Coverings

just to name a few

Remember this is experimental so please reoprt any bugs to me and i will fix them pretty quickly

file is attached below

Thanks
K

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Wed May 25, 2016 8:06 pm
by kgschlosser
Here is a more updated version


Fixed: Server restart traceback error

Fixed: Various display anomalies

Changed: On devices with 2 states I removed the name of what was changing from the event example: this event example: "My Home.Living Room.Overhead Light.Switch.State.On" is now going to look like "My Home.Living Room.Overhead Light.Switch.On", the categories for which this change will occur in is Alarms, Doorlocks, Switches, Scenes

Added: changed the dropdows in the HVAC controls to have a degree symbol after selected temp, ok simplify this, to much to type, every relevant type of weather marker and or climate marker has been added to the backside of the text. in dropdowns and all, and this is all set to read the default measurement type from the vera, so no need to change anything. the actions that have been modifies in this way are the ramping, dimming, HVAC the actions can be used with either an int, float, (float preferable)str or a str with the marker on the end. pretty much any way you shake a stick at it so whatever floats your boat when using the action in a python script.

pressure, standard: 'inch Hg', metric: 'mb'
thermal unit, standard: 'F', metric: 'C'
speed, standard: 'mph', metric: 'km/h'
percent: '%'
i don't know if this is going to show up
degree: &#176

just to name a few


Added: Menu System!!! what a lot of work. think i got it running smooth tho, accepts mouse input and keyboard input
button mapping

up/numpad up: menu up
down/numpad down: menu down
left/numpad left: backup a level
right/numpad right: forward or execute
return/numpad enter: forward or execute
home/numpad home: back to the room list
escape: exit menu system
backspace: back up a level

mouse double click is execute
mouse single click advances the menu
mouse wheel up is menu up
mouse wheel down is menu down

ok here is the kicker with this thing the menu is a never ending loop so no need to go backwards when you can go forwards
there is a close timer and that close timer stops running when the mouse is over the menu, and in order to use any of the controls the mouse has to be over the menu
the menu system allows for control of the devices (the ones i have added thus far) and it also will redraw with the current information. example: say you turn the lights up from the menu, it will show it in the menu as a nice confirmation. it also will position it's self in the menu at the current setting. so if you have a light at 43% when you go in to change the level, it will plop you on 43% as a start point

the menu has full lists of all of the percents and temps to set to (no decimal resolution) and it will show the correct temp range if you are metric or standard

items notated with the ---> on the right have another level and items notated with -*- are executable. scenes are also in this list. anything weather related will show up in a menu item called weather and if something doesn't have a room it will be in "No Room" and if it's a plugin it should be in the plugins folder (unless the plugin has been assigned a different category on the vera)
there are going to be items that do not highlight these items are not selectable/useable there are there for information and decoration

you can tell where you are in the menu because of 2 things, one. the current selected is always at the top.
and the second is the line shifts to the left

there are a lot of settings in the action dialog for this thing. you can change pretty much everything right down to the rounding of the corners on the menu and the width of the border
if you are having slow downs with the menu (it's time to upgrade the computer you have :D) nah, you probably need to decrease the size of the menu or change some of the transparency settings and the corner rounding. the harder it is for it to draw the slower it may become with a lot of data on the screen. it's an anti aliased image so it's purdy!

there are various other things i have changed throughout the plugin, i didn't make a list. but it seems to be running fine on my end.

if you have issues with it and have already had a vera plugin installed. i would suggest removing the old one from the tree and delete the plugin from EG and the plugins folder it's self. then install the new one.

i don't believe i changed anything to break backwards compatibility from the last version but who knows.

bug reporting is the same. i cannot help if i do not have the following information

a scree shot of the error
a complete description of what was occurring when the error occurred.
a copy of the log for about 20 lines before and after (if so applicable) in a text file and attached to the post. don't want to filter through that in the forum thread

if there is a feature request, please do submit it in triplicate carbon copy snail mailed to Santa Clause, and he may give it to you for Christmas.
or you could just ask nicely


attached is the latest version

K

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Fri May 27, 2016 5:56 pm
by kgschlosser
New version up on the first page of the thread

K

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Sat Nov 12, 2016 7:29 pm
by Sulliv@n
Hi, I was wondering if i can get House Mode (Home, Away, Night, Vacation) as events?

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Sun Nov 13, 2016 4:59 am
by kgschlosser
hmmm.... I am pretty confident I can add that, would you like to be able to set the mode as well?? or just have it report??

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Sun Nov 13, 2016 6:27 pm
by Sulliv@n
That would be great if you can, thanks. No, it's not necessary. I can do that by running a scene. :)

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Sun Nov 13, 2016 6:40 pm
by Sulliv@n
Can i have one more request? :roll: Events when motion or door sensors are triggered?

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Mon Nov 14, 2016 1:51 am
by kgschlosser
they don't???

hmmmm...

i personally do not have any motion/door/window sensors you are the first i am thinking. so it hasn't been tested at all.

do you get anything in the log file??

i think i am going to have to code in a way for the plugin to be set into a debugging mode and it will create a log file of what's going on.

this is going to take a little while for me to do. i need to do this first because i am going to need to see the output from your vera unit for the alarms as well as for the house mode changes. to see what EG actually changes. i can't recall if i changed how the plugin grabs the data from the vera. there are 2 ways. and i am thinking i used the condensed version. and it may not include all of the data for the house mode. and i will need to change that. which i have needed to do because they depreciated the other. it's just that there is so much information in the non condensed version that has no purpose for this plugin (yet). and since the vera is handicapped in the performance department i didn't want to add extra stress to the unit by polling the vera and getting back the whole vera database. because that is essentially what it sends back.

i have to go and look at the code. it's been a while since i have had to work on it... and my melon only holds so much before it files things away. so i need to go and look at it to remember.

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Mon Nov 14, 2016 7:05 pm
by Sulliv@n
No it doesn't and nothing in the log file either.

Oh, thats sounds exhausting. It's no rush, take your time. :D

Re: MiCasaVerde Vera UI5, UI6, UI7 Plugin

Posted: Thu Nov 17, 2016 9:01 pm
by kgschlosser
i just wanted to let you know i am working on it...

but for me to access the information from the vera i had to go and basically read a 12 thousand line code file.. and i also have to rewrite the data handling pieces. and while I am at it LOL....

i am also change up how the thing handles that data. i am converting all of the data for say a device. into an object. what that means is there will literally be a function you can call to specifically access a single device.. example...

this would be how to access that device..

Code: Select all

eg.plugins.Vera.Switch.SOME_DEVICE_NAME
and if you wanted to know what room it's in

Code: Select all

roomName = eg.plugins.Vera.Switch.SOME_DEVICE_NAME.GetRoom()
print roomName
or if you wanted to turn the light on or off

Code: Select all

 eg.plugins.Vera.Switch.SOME_DEVICE_NAME.On()
 eg.plugins.Vera.Switch.SOME_DEVICE_NAME.Off()
to check the state would be GetState()


these last 2 are for fine grained control for things i do not have a convenience method for or a dialog for but will allow for complete control over every aspect of the vera.
as time goes on i will add additional dialogs and convenience methods. but this will allow a more open ended API and make adding those convince dialogs and methods a breeze. so when a user requests some kind of an addition to the plugin it will be a snap to add. because an instance of that device or piece of vera is exposed in a manner that all i would have to do is make a dialog and an action that would make the calles to Get and Set and i won't have to worry about digging through the code again to find the specific bits.

but also any specific variable that is in the vera unit and you can see all the variable names from the Vera UI
if you do

Code: Select all

 eg.plugins.Vera.Switch.SOME_DEVICE_NAME.GetSOME_VARIABLE_NAME()
it will return the value of that variable to you

and if you do a

Code: Select all

eg.plugins.Vera.Switch.SOME_DEVICE_NAME.SetSOME_VARIABLE_NAME(newvalue)
it will set the variable on the vera to the value provided.