Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Hente ut grafikk fra en device når man trykker på en knap


Christian

Anbefalte innlegg

Jeg har to Chromecast som er koblet til lydmatrisen. Jeg har laget to virtuelle devicer for stream av Chromecast. Begge har P1, NRJ, P4 og radio Norge. Når jeg setter verdiene til en av disse så begynner den å spille aktuell kanal og Device Graphic viser logo. Jeg har også laget en virtuell device for hver utgang på matrisa. Når jeg da spiller P1 fra Chromcast 1 i stua, og P4 fra Chromcast 2 i kjellerstua, så ønsker jeg at det skal vises på ipaden. Når jeg da trykker på Stue, så skal logoen til P1 vises og når jeg trykker på Kjellerstue, så skal logoen til P4 vises. Hvordan kan jeg få til det ? 

Lenke til kommentar
Del på andre sider

Nei ikke helt.

 

Dette er chromecast_kanal_1, nå spiller den nrk. dersom jeg bytter kanal vil logoen her bytte. Hvis jeg da spiller dette i stue , så viser den 6-1, men det sier jo bare at stue, utgang 6, er koblet til chromecast kanal 1. Jeg ønsker her å vise logoen fra chromecast1. dette for lettere å vise dette i hstouch

 

 

Screen Shot 2017-11-28 at 21.21.44 1.png

Screen Shot 2017-11-28 at 21.24.15.png

Lenke til kommentar
Del på andre sider

Et eksempel på et scipt:

Husk å lagre som .vb

Public Sub Main(Parm As Object)

dim radiokanal as integer
dim matriseinngang as integer
dim bildenr as integer

radiokanal = hs.DeviceValue(707) 'devicenummer for radiokanalvelgerdevice
matriseinngang = hs.DeviceValue(706) 'devicenummer for matriseinngang
'radiokanal = radiokanal + 100
if matriseinngang = 1 THEN 'Her må du endre slik at det matcher inngangen for chromecasten din på matrisen
bildenr = radiokanal + matriseinngang
else
 bildenr = matriseinngang
end if

hs.SetDeviceValueByRef(708, bildenr, True) 'device som skal vise bilde

End Sub

På Chromecast device 1:

Sett value på alle verdiene i størrelsen, hvis de er satt til 1, 2, 3, 4, 5 os og du ikke kan endre de så må du ta vekk " ' " foran " 'radiokanal = radiokanal + 100". 

100 - NRJ

200 - NRK P1

300 - NRK P1+

400

500

600

osv

 

På lydmastrisen antar jeg de er:

1 - Inngang 1

2 - Inngang 2

3

4

5

6

7

osv

 

Og så må du lage en device med status graphics med numrene under og logoene.

 

Hvis alt er nummerert som over blir det som under.

Feks 

NRJ = 101

NRK P1 = 201

NRK P1+ = 301

P4 = 401

Du kan også legge inn grafikk for hver enkelt inngang separat

Inngang 2 = 2

Inngang 3 = 3

osv

 

Hvis dine devicer ser annerledes ut enn det jeg har antatt så får du gi en lyd så kanskje vi kan gjøre noen endringer :)

 

Slik ser devicen for chromecasten ut:

image.thumb.png.e2475e0eeba864240f639f303b2a659f.png

 

 

Slik ser device for matrisen ut:

image.thumb.png.2befc8c11d527b592431dcb43bf9212a.png

 

Slik ser devicen som skal vise bildet ut (jeg bare valgte noen random bilder for å teste):

image.thumb.png.d49e424fd120223df71c63fc4eade75e.png

Lenke til kommentar
Del på andre sider

Fant en bedre måte å gjøre det på ang nummerering slik at du slipper å endre numrene dine hvis de er 1 - 100:

Public Sub Main(Parm As Object)

dim radiokanal as integer
dim matriseinngang as integer
dim bildenr as integer

radiokanal = hs.DeviceValue(707) 'devicenummer for radiokanalvelgerdevice
matriseinngang = hs.DeviceValue(706) 'devicenummer for matriseinngang
matriseinngang = matriseinngang * 100
if matriseinngang = 100 THEN 'Her må du endre slik at det matcher inngangen for chromecasten din på matrisen
bildenr = radiokanal + matriseinngang
else
 bildenr = matriseinngang
end if

hs.SetDeviceValueByRef(708, bildenr, True) 'device som skal vise bilde

End Sub

Nå 

Må devicen som holder bildene settes opp slik:

image.thumb.png.5a7a41cfc3089942570e9cc8dfcff844.png

 

De andre inngangene på matrisen blir nå:

Inngang 2 = 200

Inngang 3 = 300

Inngang 4 = 400

osv

Lenke til kommentar
Del på andre sider

Jeg skrev om litt, og det fungerer på en utgang

Sitat

    Public Sub Bilde(Parm As Object)

        Dim radiokanal As Integer
        Dim matriseinngang As Integer
        Dim bildenr As Integer
        Dim matrise As Integer

        matriseinngang = Right(hs.DeviceValue(1665), 1)
        hs.WriteLog("matriseinngang", matriseinngang)

        Select Case matriseinngang
            Case 1
                radiokanal = hs.DeviceValue(1304)
                matrise = matriseinngang * 100
                bildenr = radiokanal + matrise
                hs.WriteLog("bildenr", bildenr)
            Case 2
                radiokanal = hs.DeviceValue(1305)
                matrise = matriseinngang * 50
                bildenr = matrise + radiokanal
                hs.WriteLog("bildenr", bildenr)
        End Select

        hs.SetDeviceValueByRef(1826, bildenr, True) 'device som skal vise bilde

    End Sub

 

og da blir devicene : 

5a1ee2344a214_ScreenShot2017-11-29at17_36_47.thumb.png.b9b13a416393d1511d8831fe6cdb2906.png

 

Må jeg da ha en slik HSTouch device for hver utgang. FOr om jeg nå setter at dette bildet skal være på utgang 1 også, så vil det jo bli feil

 

Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.