xAP Flash nee Joggler beta 5

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • SiliconPixel
    Automated Home Sr Member
    • May 2007
    • 52

    Originally posted by dbzoo View Post
    Finally got my account sorted to I can post to this forum too. Yes the iServer on the HAH has stabilized at release 272 and I believe the last of the killer bugs has been fixed. We even tried running it native on the joggler and that is also working, however for now it will remain only on the HAH until no more problems are reported. When I'm happy with its stability I'll make a joggler binary available with some installation instructions.

    Brett
    Great work Brett - looking forward to the Joggler iServer version.

    One question for you or Kevin - if I'm also running PC flash versions of xAPFlash, can that connect to the joggler too - or would I still run iServer on my HA PC? No great problem if so - i've been running iServer on that PC for many months with no problems.

    Comment

    • Kevin
      Moderator
      • Jan 2004
      • 558

      Multiple clients can connect to one iServer (on the HAH or Joggler) so you can do away with the PC iServer. However it's probably sensible for every Joggler you have to run it's own iServer as then they are autonomous.

      The HAH and Joggler iServer build fully supports type 'log' clients eg xAP Flash. If you have other client types then you would still need to retain the Windows iServer for those.

      The embedded iServer does not support inbuilt profiles so does not support xServer clients eg xRouter. You are also using iViewer clients Paul aren't you so you would still require iServer Windows for those.

      For xAPFlash it's a really neat solution removing the need for a Windows PC to be on 24/7 and allowing the Jogglers to interact with your xAP network directly. If your Joggler is using WiFi and the signal path is poor you could use an iServer elsewhere that is on a wired connection , perhaps another Joggler.

      K

      Comment

      • SiliconPixel
        Automated Home Sr Member
        • May 2007
        • 52

        Thanks Kevin,

        not used iViewer in a while - so that's prob not an issue.

        Is iServer on the Joggler a completely separate app? (just thinking about what happens if the joggler flash app crashes or the joggler reboots).

        Thanks,

        Paul.

        Comment

        • Kevin
          Moderator
          • Jan 2004
          • 558

          It's a separate application and can be installed to run at boot so it's always available. xAPFlash clients also handle disconnects/reconnects automatically, and this is further streamlined in beta 6.

          It has to be separated this way because Flash doesn't support UDP.

          K
          Last edited by Kevin; 5 December 2010, 12:07 PM.

          Comment

          • SiliconPixel
            Automated Home Sr Member
            • May 2007
            • 52

            thanks Kevin.

            Comment

            • kev_t
              Automated Home Sr Member
              • Jun 2004
              • 58

              Work in Progress...

              I don't know how other beta testers of this great application are getting on, but thought i would post some of my "Work in Progress and test screens :-

              This is my "Work in Progress" developing screens for the xAPFlash Flash or Joggler HMI application. Currently these are being developed in IE8 as single page apps, I will combine them later with a menu system in the areas marked in grey on each display


              Currently these are being developed in IE8 as single page apps, I will combine them later with a menu system in the areas marked in grey on each display.

              I would love to see what others have done

              Looking forward to beta 6....


              KevinT

              (the other kevin)

              Comment

              • Digizz
                Automated Home Jr Member
                • Feb 2004
                • 17

                Good stuff Kevin,

                I've been developing some new buttons and graphics for my install both on the Joggler and PC. I'll hopefully post some shots soon. The plan is to make them available to everyone too

                Paul.

                Comment

                • kev_t
                  Automated Home Sr Member
                  • Jun 2004
                  • 58

                  xAPFlash Graphics

                  I have posted some of the graphics I have used in my "Work in Progress" screens ( http://bit.ly/eNt1is )on my Flickr PhotoStream here

                  Some of the graphics I have been using. I will add to this if I create anymore that may be useful


                  I know someone has asked for a double coil version of the water tank so I have added that as well.

                  Happy to host any other graphics, please get in touch.

                  KevinT

                  Comment

                  • Kevin
                    Moderator
                    • Jan 2004
                    • 558

                    HAH iServer v277 posted

                    Brett has released HAH build 277. If you're using the HAH version of iServer then it's a recommended upgrade.

                    Previously it was possible for xAPFlash to skip xAP messages if there was a lot of xAP traffic resulting in the displayed status being possibly wrong. This does not happen in the Windows iServer. Beta 6 of xAPFlash will further eliminate one bug that could very occasionally drop a xAP message in excessive traffic situations. I have 10 xAPFlash screens on screen at the moment in a selection of environments / browsers with 500 xAP messages per minute going to each - and they're displaying perfectly realtime and in synch :-)


                    K

                    Comment

                    • Kevin
                      Moderator
                      • Jan 2004
                      • 558

                      Next beta release...

                      ... and talking about the next beta - I have just (fingers crossed) overcome a real pig of an issue that was causing issues on the Joggler (worked fine on the PC) and so Santa may have something for you all :-)

                      K
                      Last edited by Kevin; 18 December 2010, 01:01 PM. Reason: <update> - arrrgghh looks like the porker's just moved elsewhere - on the case

                      Comment

                      • BodgeIT
                        Automated Home Sr Member
                        • Jul 2010
                        • 57

                        Looking forward to it Kevin!

                        On a different note, can you see anything wrong with this xap message:

                        xAP-header
                        {
                        v=12
                        hop=1
                        uid=FF00D800
                        class=xAP-Audio.Transport.Event
                        source=dbzoo.livebox.Plugboard
                        target=ersp.SlimServer.Stargate:Kitchen
                        }
                        Audio.Mute
                        {
                        Mute=Off
                        }

                        I'm basically trying to get the joggler to send a message to hah to send a mute request to my slimp3.

                        My joggler code is:
                        <button NAME="Mute">
                        <gridX>1</gridX>
                        <gridY>2</gridY>
                        <posY>-20</posY>
                        <visible>true</visible>
                        <xAP>
                        <schema>xAPBSC</schema>
                        <uid>*</uid> <!-- No ID for the script, I've tried plugboard ID here but no effect -->
                        <source>dbzoo.livebox.slimp3_mute</source>
                        <on>
                        xap-header
                        {
                        v=13
                        hop=1
                        uid=FF.0738:1014
                        class=xAPBSC.cmd
                        source=UKUSA.xAPFlash.ahscs5:Button.State.Mute
                        target=dbzoo.livebox.slimp3_mute
                        }
                        output.state.1
                        {
                        ID=* <!-- Again no ID available to put in here but the plugboard does get the message -->
                        state=On
                        }
                        </on>
                        <off>
                        xap-header
                        {
                        v=13
                        hop=1
                        uid=FF.0738:1014
                        class=xAPBSC.cmd
                        source=UKUSA.xAPFlash.ahscs5:Button.State.Mute
                        target=dbzoo.livebox.slimp3_mute
                        }
                        output.state.1
                        {
                        ID=*
                        state=Off
                        }
                        </off>
                        </xAP>
                        <mode>toggle</mode>
                        </button>

                        The plugboard picks up the message inc state from the jogller and sends out the afore mentioned msg but no effect.
                        I've sent myself dizzy.

                        Any clues?
                        G.
                        Last edited by BodgeIT; 20 December 2010, 09:10 PM.

                        Comment

                        • Kevin
                          Moderator
                          • Jan 2004
                          • 558

                          Originally posted by BodgeIT View Post
                          On a different note, can you see anything wrong with this xap message:

                          xAP-header
                          {
                          v=12
                          hop=1
                          uid=FF00D800
                          class=xAP-Audio.Transport.Event
                          source=dbzoo.livebox.Plugboard
                          target=ersp.SlimServer.Stargate:Kitchen
                          }
                          Audio.Mute
                          {
                          Mute=Off
                          }
                          This is a butchered 'event' message originally from SlimServer (class= xap-audio.transport.event) ie an informational / status message - it can not be reversed ie sent back using target= to SlimServer to cause it to mute and also you are changing it's origin (source=) to the HAH which does not implement the xap-audio schema. Have a look at the class=xap-audio.audio xAP message below

                          I haven't used HAH yet to relay/restructure a command from xAPFlash - and send it onwards to another device - which is what I think you are trying to do here ? I don't even know if this possible using plugboard but I'm guessing from your post that it is ! You're targeting a BSC 'end node' within the HAH controller with your class=xapbsc.cmd and target=dbzoo.livebox.slimp3_mute yet I don't believe this exists. Why don't you send the mute control message (using xapbsc.cmd or xap-audio.audio ...not xap-audio.event) straight from xAP Flash to the SlimServer , are you wanting the HAH to add extra control nuances ?

                          Here's an example xapbsc.info message from a SlimServer device ( use xapbsc.cmd to control)

                          xap-header
                          {
                          v=13
                          hop=1
                          uid=FF.0F68CF61:0004
                          class=xAPBSC.Info
                          source=ersp.SlimServer.Tranquilxp:Transporter
                          }
                          output.state
                          {
                          DisplayText=Off
                          Level=90/100
                          State=off
                          }

                          setting level=0 via a xapbsc.cmd message would turn volume to 0 which will mute but you will have to store/restore the previous level (90) so the below is probably better...

                          ... from section 4.4 of the ersp documentation ( using class xap-audio.audio and target= at a player)


                          Message class accepted: xAP-Audio.Audio with block

                          Audio.Mixer
                          {
                          [Volume=(0…100|+nn|-nn)]
                          [Balance=(-100…0…+100|+nn |-nn)]
                          [Bass=(0…100|+nn|-nn)]
                          [Treble=(0...100|+nn|-nn)]
                          }
                          or
                          Audio.Mute
                          {
                          Mute=(On|Off|Toggle)
                          }


                          K
                          Last edited by Kevin; 20 December 2010, 11:30 PM. Reason: badly formatted

                          Comment

                          • BodgeIT
                            Automated Home Sr Member
                            • Jul 2010
                            • 57

                            This is a butchered 'event' message originally from SlimServer
                            Not quite, I was basically activating a plugboard script called "slimp3_mute" from the Joggler in order to send an xap message to the slimp3.

                            My understaning is that xap-audio schema isn't supported in Joggler.
                            By activating a lua script and having it generate the xap message, I thought I could get around that limitation. My script looked like this:
                            function init()
                            register_target("dbzoo.livebox.slimp3_mute", "muteradio")
                            end

                            -- Sends the xAP message to the Slimp3
                            function doit(state)
                            xap_send(string.format("xap-header\
                            {\
                            target=ersp.SlimServer.Stargate:Kitchen\
                            class=xAP-Audio.Transport.Event\
                            }\
                            Audio.Mute\
                            {\
                            Mute=%s\
                            }", state))
                            end

                            -- Gets new state of Joggler mute button and sends it to 'doit' function above.
                            function muteradio()
                            if xAPMsg.class == "xAPBSC.cmd" then
                            local state = xapmsg_getvalue("output.state.1","state")
                            doit(state)
                            end
                            end

                            xAP-Audio.Transport.Event
                            I realise I used the wrong class, I had been working from the xap manual, just misread/misunderstood it. After re-reading, it seems so obvious that it should be xAP-Audio.Audio.

                            you are changing it's origin (source=) to the HAH
                            The source was the HAH as the message was generated by the plugboard on prompt from button press on the Joggler.

                            I originally had my button configured with the code you suggest in your first example but this started to give me problems i.e. coming out of mute at 100% volume etc. So I decided to try and use the mute function specified in the manual.

                            What would I enter in the <schema> field for the <xap> element of the button in order to send the message in your second example?
                            Last edited by BodgeIT; 21 December 2010, 12:34 AM. Reason: spelling

                            Comment

                            • Kevin
                              Moderator
                              • Jan 2004
                              • 558

                              Yes - as I mentioned I thought you were using some aspects of the HAH as a middleman in receiving messages from xAPFlash and then redirecting them (with changes) to SlimServer... I haven't as yet explored the plugboard capabilities of HAH so I don't know how viable an approach this is.

                              What you should be wary of however is that emulating a formal xAPBSC endpoint requires that it behaves as one. It should create a unique UID, send periodic .info messages and .event messages should it change state and should respond to .query messages and also .cmd messages (if it is controllable). Whilst on the surface BSC is a very simple schema with only four different message clases it is an interactive / two way schema and needs to be fully implemented in both directions which is quite a bit of work.

                              Once HAH announces a BSC endpoint then that endpoint will be picked up by all other xAP devices and expected to behave as one. You have inadvertently perhaps created such an endpoint on HAH. If you do wish to use HAH as an intermediary what might be a better approach is to not use the xAPBSC schema class at all and instead make up your own class eg gary.control and then you can include anything you want in the messages.

                              The <schema> tag within the <button><xap>...</xAP></button> tags is really aimed at how the button reacts to incoming messages in order to provide a linkage to the displayed state . At the moment the only fully supported schema within xAPFlash is xAPBSC - which caters for most devices. By fully supported I mean that xAPFlash understands the full details of all the messages within the schema and can query, track and control these endpoints. Later on more schema will be fully supported. maybe even xap-audio.

                              Currently however it is also possible to extract a parameter value e.g. a level or status from any xAP message but xAPFlash having say extracted from the xap-audio schema that mute is 'on' does not internally know enough about that schema to then be able to control it when you click the button - so it can display the mute status but wont toggle it (because it's not BSC).

                              The way around this is to include within the <xAP> section <on> and <off> tags which contain the exact control message that xAPFlash should send. In your case this will (I think.. not tried it..) be

                              <on>
                              xap-header
                              {
                              v=13
                              hop=1
                              uid=FF.0738:1014
                              class=xAP-Audio.audio
                              source=UKUSA.xAPFlash.ahscs5:Button.State.Mute
                              target=ersp.SlimServer.Stargate:Kitchen
                              }
                              Audio.Mute
                              {
                              Mute=On
                              }
                              </on>

                              You'll need an <off> one too...

                              That's how you'd control the mute direct to SlimServer (not via HAH) ... or maybe I've misunderstood and are you perhaps asking how to get the mute button to display the mute status ?

                              K
                              Last edited by Kevin; 21 December 2010, 02:01 AM.

                              Comment

                              • BodgeIT
                                Automated Home Sr Member
                                • Jul 2010
                                • 57

                                You got it.

                                No you interpreted me correctly Kevin, only this method doesn't work.
                                It does cause a very slight dip in volume for a very short time but no mute.
                                I guess that's why I was going round in circles, becuase I just couldn't get it to work hence the reason why I tried to use the Hah as middle man because it's uses Lua and as the guys have told me, can create any kind of xap message.

                                I guess it may be a problem with my xAP module in Squeezebox. I'm running it on a new linux server and it looks like it hasn't installed correctly. I'm running SB 7.5.3. Had been running same version on windows and xAP plugin installed correctly. On the linux version it seems it can't access its own strings.txt. That's why the module shows up as PLUGIN_XAP in my plugins list.

                                All irrelevant detail I know but just trying to lay it all out.

                                Anyhow, Merry Christmas all
                                Gary

                                Comment

                                Working...
                                X