Presenting string data on C-Bus

Discussion in 'C-Touch/HomeGate/SchedulePlus/PICED Software' started by KevinH, Aug 13, 2009.

  1. KevinH

    KevinH

    Joined:
    Aug 3, 2004
    Messages:
    171
    Likes Received:
    0
    Location:
    Yorkshire. UK
    I am wanting to provide some string data for display in HomeGate, for example the name of the the current incoming caller (to accompany the telephone applications Caller ID number), a TV listing or a brief weather forecast. This is sporadic data which would not impair network performance. What is the recommended way to approach this ?

    I looked at the C-Bus applications that might facilitate this (I can source C-Bus messages in any documented protocol) and the only viable candidate seems to be labelling within the lighting application , which has a 15 character restriction. Is there another more flexible alternative ?

    If I use labelling, do DLT's for example (which have finite write cycles) discard labels for any groups that are not setup within the switch ?

    Is the only real solution to forget C-Bus and use an out of band ie Ethernet socket connection for such a purpose; which mandates of course that display devices have script logic and Ethernet capabilities. If so is there any merit here in working out a standard format for supplying such information ?

    K
     
    KevinH, Aug 13, 2009
    #1
  2. KevinH

    djaggar

    Joined:
    Jul 18, 2009
    Messages:
    66
    Likes Received:
    0
    Location:
    New Zealand
    Can't you just use a User IO Variable of type String? I use that to get error messages out of the Wiser, an the format() built in procedure will let you build a nice string to output ...
     
    djaggar, Aug 14, 2009
    #2
  3. KevinH

    NickD Moderator

    Joined:
    Nov 1, 2004
    Messages:
    1,427
    Likes Received:
    64
    Location:
    Adelaide
    Good questions, and ones that we have asked ourselves.

    Yes.

    As far as your immediate problem goes..

    What are you using to generate this extra data? If it has the ability to open a socket, then you can open a server socket in Homegate and listen for the data.

    Even though (at present) there is no dedicated mechanism for distributing this information from Homegate to other C-Bus devices via C-Bus... I would suggest that if possible, using an IP connection into Homegate would the ideal way to get it into a C-Bus device in the first place.

    Nick
     
    NickD, Aug 14, 2009
    #3
  4. KevinH

    ashleigh Moderator

    Joined:
    Aug 4, 2004
    Messages:
    2,397
    Likes Received:
    26
    Location:
    Adelaide, South Australia
    I'm sending a separate reply to Kevin about this.
     
    ashleigh, Aug 14, 2009
    #4
  5. KevinH

    KevinH

    Joined:
    Aug 3, 2004
    Messages:
    171
    Likes Received:
    0
    Location:
    Yorkshire. UK
    Thanks Nick and Ashleigh,

    An Ethernet socket connection will certainly do the job FTTB and is very accommodating in terms of data format - so I'll persue that route.

    I may briefly take a look at using labels for short data on a supplementary lighting application, perhaps supporting concatenation of the four flavours per group.

    cheers Kevin
     
    KevinH, Aug 14, 2009
    #5
  6. KevinH

    KevinH

    Joined:
    Aug 3, 2004
    Messages:
    171
    Likes Received:
    0
    Location:
    Yorkshire. UK
    I now have this all working nicely , importing some string values from other sensors around my house eg my hot water tank temperature , humidity. wind speed etc which I am storing as user system I/O variables. I'm new to PICED / C-Touch although familiar with AMX/Crestron so be gentle...

    I can display almost anything, in any colour I want as an overlay via DrawText (very nice) but so far I haven't managed to quite suss how to get these values to display within 'status only' components eg button or text but I can display them as a 'User System I/O Tool' component that I can place as a transparent image overlay over other elements. Is this the right approach (I would rather have had them within the component below) ?

    When I do this it appears each colour of the text has to be a separate font download and only 15 preset colour variations are available. Can I have custom colours of text in any way and can I change the colour of the text via logic such that when the temperature is changing it displays differently eg red whilst rising and blue when falling ?

    I'm used to each screen object ie a component like a button having display attributes/properties that I can change from code so I'm likely visualising this badly. I just really wanted the displayed text on a button to track a User I/O variable and for me to be able to change the background and text colour of a button from logic code, and between many different colours (not just two on/off states).

    K
     
    KevinH, Aug 17, 2009
    #6
  7. KevinH

    Darren Senior Member

    Joined:
    Jul 29, 2004
    Messages:
    2,361
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    We try to be gentle with everyone :)

    You have discovered the two methods of getting text from logic onto the screen:
    1. Using DrawText is very flexible, but requires code to be written.
    2. A Level / Value indicator can be used to show the text for a string User System IO variable. This requires no coding and you can drag it to wherever you want and set the font, size etc. This can't be embedded within another component as such. Generally, you place it over the top of a button to make it look like the text is part of the button. You can use the "word wrap" option if the text may be wider than the button.

    That was such a good question, I have just added it to the logic FAQ!

    There are only the preset font colours available for use with components.

    For colour C-Touch you only need to download fonts which are "non-standard". Colour C-Touch has the following fonts installed:
    • Arial
    • Courier New
    • Marlett
    • Microsoft Sans Serif
    • Tahoma
    • Times New Roman
    • Verdana
    • Webdings
    • Wingdings

    You don't need to download each colour variant of a font. The colour is handled automatically.

    There is very little interaction between logic and the Components. It is something we are looking at doing in the future (issue #9272). I would be interested to know if anyone else is wanting this sort of feature.
     
    Darren, Aug 19, 2009
    #7
  8. KevinH

    KevinH

    Joined:
    Aug 3, 2004
    Messages:
    171
    Likes Received:
    0
    Location:
    Yorkshire. UK
    Thanks Darren,

    I'm getting on really well with a mixture of DrawText and the Level/Value indicators. No doubt I'll have a few more questions soon.

    One observation on DrawText, You have really to store how the page is progressively built up so that after it is cleared eg by changing pages or a clearscreen then it can be reconstructed. This can get quite involved.

    What might be nice is to have a few named or numbered pages of DrawText commands available and then a command to select which overlay page is currently active. I think that should then maintain backward compatibility. You would then be able to store different overlays for different pages on your touchscreen and also clear (but remember the construction) by switching to a blank page. That would make things much easier and less logic code intensive.

    Alternatively a way to store and replay current graphics commands might suffice (I see they can displayed already via the logic engine Tools menu).

    Re component/logic interaction - which I would love to see expanded - one other very useful property would be to make a whole component visible/invisible. This can avoid multiple pages/sub pages or allow one button to replace another onscreen.

    cheers Kevin
     
    Last edited by a moderator: Aug 19, 2009
    KevinH, Aug 19, 2009
    #8
  9. KevinH

    Darren Senior Member

    Joined:
    Jul 29, 2004
    Messages:
    2,361
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    That is quite a good idea about paged graphics. I have added it to our system (#17562), but it probably won't get done for a while :(
     
    Darren, Aug 20, 2009
    #9
  10. KevinH

    Dave Byron

    Joined:
    Aug 3, 2004
    Messages:
    835
    Likes Received:
    0
    Location:
    Casurina
    Darren
    While you at it, what about non click through button, so i can draw a button over a button and when the user clicks I see it not piced.
    Like it knows which button is in front of the other, so I can draw a pop menu without having to make sure there are no piced buttons behind mind.



    dave
     
    Dave Byron, Aug 20, 2009
    #10
  11. KevinH

    Darren Senior Member

    Joined:
    Jul 29, 2004
    Messages:
    2,361
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    OK. This is in our system as #7029.
     
    Darren, Aug 21, 2009
    #11
  12. KevinH

    KevinH

    Joined:
    Aug 3, 2004
    Messages:
    171
    Likes Received:
    0
    Location:
    Yorkshire. UK
    If you do hopefully implement this could you permit several pages to be active at once - drawn successively over each other based on their page number priority (the pages being identified/named by a number).

    You keep quoting # system ref numbers - is this a publicly viewable feature/bug list or private to CIS ?

    K

    PS One quickie - I can select several components via ctrl click or shift click/drag but then is there a way to edit a common property of all of these at once ? For example to select half a dozen buttons and then change the font colour of all six. The change only seems to be applied to the first selected item. Tried grouping too. I guess I could do this by creating a theme component but the ctrl click selection seems an obvious way too accomplish it.
     
    Last edited by a moderator: Aug 22, 2009
    KevinH, Aug 22, 2009
    #12
  13. KevinH

    Darren Senior Member

    Joined:
    Jul 29, 2004
    Messages:
    2,361
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    This list is not publicly available. The only reasons for quoting the numbers are:
    1. You will see this same number in the "What's New" for PICED so you can see that a request has been resolved.
    2. If you need to follow-up on the status of an issue, you can just quote the reference number.
    3. It shows that we actually do take notice of requests and record them. Unfortunately, the requests do need to be prioritised and so some quite reasonable requests do take a while to get resolved.

    The only property you can edit for multiple components at once is the C-Bus Network/App/Group/Level (using the C-Bus combo boxes on the tool bar).

    We would like to make it possible to select multiple components then edit them using the Component Properties form, but it is really, really difficult. Luckily the programmers at Clipsal are really, really cleaver, so it will get done eventually ;)
     
    Darren, Aug 23, 2009
    #13
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.