¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io
Date

Re: NAX in Simpl

 

Have you looked at the CTI portal? There are a few videos showing SIMPL programming of NAX. Granted they aren't exactly a deep dive, but might point you the right way.

https://trainingapps.crestron.com/OnlineCourse/10059


Re: Crestron Lighting (CLX) interfaces with DMX

 

Hi Chris,

Apologies if I¡¯m repeating anything already said, but isn¡¯t the CG-DMX-512-B what you want here?

It has DMX in and connects via an ISC symbol.

All the best,
Oliver


Re: Newtonsoft.JSON 4.0.8.0 dependency

 

Hi Dan,

Kempton is right - the error you showed in the original post is saying the epiphan module NEEDS database 200+.

Looks like you¡¯re referencing old databases there.

If you roll forward all versions (Studio etc) do you get a similar error but for a different module asking for 3.5? ?If so, you could then use Troy¡¯s service and remain up to date.

Best regards,
Oliver


Re: Newtonsoft.JSON 4.0.8.0 dependency

 

Hi Dan,

I downloaded?Epiphan Pearl-2 v2 from Crestron application market and I am able to compile the sample program. I am using CresDB 207.00.01.00.

I believe you only need to downgrade CresDB to pre 200 version if the Newtonsoft Json version is 3.5. It seems that version 4.0.8.0 actually needs CresDB 200+

Regards,
Kempton?


Re: NAX in Simpl

 

I have the 2 modules in my program.? Still don't see a how to on getting the streams.? F1 brings up very little info at all.


Re: NAX in Simpl

 

I was looking to use the test program on the client side.? Just as guide to answer questions I have.


Re: Crestron Lighting (CLX) interfaces with DMX

 

Yeah the SACN device is for having a processor directly control a DMX network via Ethernet.
I need to have the DMX Controller (Lighting Console) send commands and receive FB to my processor. basically my CLX loads would be a slave to the DMX console...


Re: Newtonsoft.JSON 4.0.8.0 dependency

 

I did see that, my question though is according to the posts downgrading the database versions should work however it is not, is this because of the Studio program packaging the database/device database with it? Regardless of the separate database being installed???

Also the marketplace modules i'm using say that they only work with newer databases so why the dependency warning pointing at older versions?? The wording of this error seems to imply that "this system" has an older version and the module is requesting a newer version not the other way around?


Re: Newtonsoft.JSON 4.0.8.0 dependency

 

Most of this stuff can be relatively annoying to deal with. If you want to have a module patched to replace the metadata and reference from 3.5.0.0 to 4.0.8.0 there's a solution here:?
--
?
Crestron Service Provider - TBD Enterprises Inc.


Newtonsoft.JSON 4.0.8.0 dependency

 

I know there was some posts on this and the answers were to downgrade the database... Just wondering if anyone can lend some support.? I've run into this on three modules i've downloaded from the Crestron Marketplace.? They control some major parts of our system (web streaming box, DSP)...?

ERROR? (LGCMCVT149)? File: *
? ? ? ? EpiphanVideoPearl2DriverSimplPlusv2.0.usp : epiphanvideopearl2driver.dll cannot be used due to a dependency on Newtonsoft.Json.Compact, version 4.0.8.0..

The thing I find odd is when I first ran into this I went and got the newest versions of the modules from the marketplace and they all say must be used with Databases "ABOVE 200" wouldn't that mean they only work with the new databases??
I had been up to the latest updates and was trying to redo an older project in Studio.? I know they're moving to AVFramework but I have some custom parts in my project and don't think they'll work in AVF.?
I tried uninstalling the database and device database and installing older versions, and figured since Studio says the database is packaged with it, walked back studio versions and no matter what when I build the project i'm still getting these compile errors and the custom modules don't work.? I'm not sure exactly which version of Studio uses which database as they dont seem to list this in release notes...
Started with Studio 1.81
Went back to 1.77
1.76
at 1.75 our DMPS control system was not recognized by studio so I'm not sure if it was still throwing the error or not.

The Simpl windows program also now will not compile without the error regardless of which database version I have installed.

For reference I currently have device database 115.08.002.00 and database 90.00.004.00 so it should be before the update?? I tried a couple different ones from the archive section in the ftp site and none seemed to make a difference.??

If the marketplace modules say they need the newer db shouldn't they compile with the latest db versions without this error?


Re: Rs232 Passthrough

 

Hi,

yes I did it. ?a bit differently, the initial controller was a controller (not crestron) without IP. ?I had to control equipment with network. ?With the first automaton I sent codes invented by me and received by the second in rs232 and according to the code received I sent back on the IP the good IP frames. ?recently I started a product that does exactly that (RS232/RS232) but with an arduino and 2 MAX232 shields.

Another idea to install an epson, most have the possibility of adapting to another protocol (roof depends on the brand already in place).



Re: Primer for 4Series Modules #simplsharppro

 

Is there anything that is missing in terms of the information required for 3-series vs 4-series? After having written the code, the process is virtually the same. The primary differences being:

- You can use any IDE of your choosing
- You can write code outside of the 3-series sandbox and utilize the normal full .NET framework (up to 4.7.2, but 4.7 if you want to rely on the official information provided by Crestron)
- You can use newer C# language features (up to C# 7.x and possibly some syntactic C# 8 features as long as the MSIL is supported by the Mono runtime on the control processors for the corresponding 4-series firmware). The only caveat is that the SIMPL+ cross compiler does not support Tasks for async/await, and other things...

If there is anything that seems confusing, I'm interested because it may be something that we can add to our existing SIMPL# Fundamentals course.

--
?
Crestron Service Provider - TBD Enterprises Inc.


Re: Looking for tool for mass deployment of MC4R and TSW770R. C#? Powershell?

 

On Thu, Mar 10, 2022 at 12:23 PM, Daniel Portugal wrote:
Here's a PS script I'm still working on. It will run the uploads concurrently on separate threads (processor vs touch panel).
It searches the current directory of the script for LPZ, VTZ, and config.json file then uploads it to a processor.
He's asking about Crestron Home though - you don't upload a program for Crestron Home systems.
?
--
?
Crestron Service Provider - TBD Enterprises Inc.


Re: Ch5, Tsw-1060, HttpPost #ch5

 

You're probably dealing with CORS.

--
?
Crestron Service Provider - TBD Enterprises Inc.


Re: Dahua NVR integration with Crestron

 

This is probably what you need (AMCREST is OEMs Dahua). Please share a module if you are able put one together.??

https://support.amcrest.com/hc/en-us/articles/360001080552-Amcrest-HTTP-API-SDK


Re: Looking for tool for mass deployment of MC4R and TSW770R. C#? Powershell?

 

Thank you Daniel,?
What does the Json file need to look like for this to work? I'm assuming the Json file would have a list of IP addresses?


Re: Looking for tool for mass deployment of MC4R and TSW770R. C#? Powershell?

 

Here's a PS script I'm still working on. It will run the uploads concurrently on separate threads (processor vs touch panel).
It searches the current directory of the script for LPZ, VTZ, and config.json file then uploads it to a processor.
######################################################################
#Load Script
######################################################################
Clear-Host
Write-Host "This script will load to the processor the latest processor and touch panel files."
Write-Host "Run this script in the same location as the LPZ, SIG, VTZ, and config.json files."
Write-Host "This script secure methods to upload. Enable Authentication on crestron devices."
Write-Host ""
Write-Host ">>>>>>>>>>>>>>>>>>>> WARNING <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" -ForegroundColor Yellow
Write-Host "Crestron devices should have authentication enabled.            " -ForegroundColor Yellow
Write-Host "Incorrect username and password can cause your ip to be blocked." -ForegroundColor Yellow
Write-Host ""
Read-Host -Prompt "Press Enter to Continue. Press CTRL+C to abort"

######################################################################
#CHECK FOR REQUIRED MODULES
######################################################################
$threadjobmodule = Get-Module ThreadJob -list
$crestronmodule = Get-Module PSCrestron -list
if ($threadjobmodule -eq "") {
    Write-Host ""
    Write-Host "ThreadJob module is missing and is required by this script" -ForegroundColor Red
    Write-Host "in a powershell command line with administrative rights install the module using the command:" -ForegroundColor Red
    Write-Host "Install-Module -Name ThreadJob" -ForegroundColor Red
    Exit
}

if ($crestronmodule -eq "") {
    Write-Host ""
    Write-Host "PSCrestron module is missing and is required by this script" -ForegroundColor Red
    Write-Host "Install the Crestron EDK" -ForegroundColor Red
    Write-Host "https://sdkcon78221.crestron.com/downloads/EDK/EDK_Setup_1.0.5.3.exe" -ForegroundColor Red    
    Exit
}

######################################################################
# Get Filenames
######################################################################
$filenamecontains=Read-Host -Prompt "Enter File name pattern (215 or MeetingRoom)"
#finds the latest LPZ
$filter= "*" + $filenamecontains + "*.lpz"
$fileLPZ = Get-ChildItem -Path $PSScriptRoot -Filter $filter |  sort LastWriteTime -Descending | Select-Object -First 1

#finds the latest config.json
$filter= "*" + $filenamecontains + "*config.json"
$fileJSON = Get-ChildItem -Path $PSScriptRoot -Filter $filter |  sort LastWriteTime -Descending | Select-Object -First 1

#finds the lastest touchpanel
$filter= "*" + $filenamecontains + "*.vtz"
$fileVTZ=Get-ChildItem -Path $PSScriptRoot -Filter *$fitler*.vtz | sort LastWriteTime -Descending | Select-Object -First 1

Write-Host "Program File Found:   " $fileLPZ -ForegroundColor Cyan
Write-Host "Config File Found:    " $fileJSON -ForegroundColor Cyan
Write-Host "Touchpanel File Found:" $fileVTZ -ForegroundColor Cyan

$uploadLPZ=$TRUE
if ($programlpz -eq ""){
    Write-Host "Program file empty. Program will not be uploaded."
    $uploadLPZ=$FALSE;
}

$uploadJSON=$TRUE
if ($configfile -eq ""){
    Write-Host "Config file empty. Config will not be uploaded."
    $uploadJSON=$FALSE;
}

$uploadTP=$TRUE
if ($tpfile -eq ""){
    Write-Host "Touchpanel file empty. Touchpanel will not be uploaded."
    $uploadTP=$FALSE;
}
Read-Host "Continue? (press CTRL+C to abort)"

$pgmFile = $PSScriptRoot + "\" + $fileLPZ
$tpFile = $PSScriptRoot + "\" + $fileVTZ
$configFile = $PSScriptRoot + "\" + $fileJSON

######################################################################
# GET PROCESSOR
######################################################################
$procIP=Read-Host -Prompt "Enter processor IP (defaults to 192.168.1.11)"
if ($procIP -eq ""){
    $procIP = "192.168.1.11"
}

$procUN =Read-Host -Prompt "Enter username (defaults to admin)   "
if ($procUN -eq ""){
    $procUN="admin"
}

$procPW=Read-Host -Prompt "Enter password (defaults to password)"
if ($procPW -eq ""){
    $procPW="password"
}

#$programslot=Read-Host -Prompt "Enter Program Slot (defaults to 1):"
#if ($programslot -eq ""){
    $programslot=1
#}

######################################################################
# TOUCHPANEL
######################################################################
$tpIP=Read-Host -Prompt "Enter Touchpanel IP (defaults to 192.168.1.41)"
if ($tpIP -eq ""){
    $tpIP = "192.168.1.41"
}
$tpUN=Read-Host -Prompt "Enter username (defaults to admin)   "
if ($tpUN -eq ""){
    $tpUN="admin"
}

$tpPW=Read-Host -Prompt "Enter password (defaults to password)"
if ($tpPW -eq ""){
    $tpPW="password"
}

#PROCESSOR
$procJob = Start-ThreadJob -Name "ProcUpload" -ScriptBlock {          
    $fgColor = "Cyan"
    $bgColor = "Black"
    if ($using:uploadJSON) {        
        $remotefile="\user\" + $using:fileJSON
        write-host "Sending Config ["$using:fileJSON"]" -ForegroundColor $fgColor -BackgroundColor $bgColor
        Send-FTPFile -Device $using:procIP -LocalFile $using:configFile -RemoteFile $remotefile -Password $using:procPW -Secure -Username $using:procUN        
        Write-Host "Sending Config Complete" -ForegroundColor $fgColor -BackgroundColor $bgColor
    }

    if ($using:uploadLPZ) {
        write-host "Clearing Error Log" -ForegroundColor $fgColor -BackgroundColor $bgColor
        Invoke-CrestronCommand -Device $using:procIP -Command clear -Password $using:procPW -Secure -Username $using:procUN

        write-host "Sending Program ["$using:fileLPZ"]" -ForegroundColor $fgColor -BackgroundColor $bgColor
        Send-CrestronProgram -Device $using:procIP -LocalFile $using:pgmFile -Password $using:procPW -ProgramSlot $using:programslot -Secure -SendSIGFile -ShowProgress -Username $using:procUN
        #$result.Split(";") | ForeEach {
        #    Write-Host $_.Trim("@{;}") -ForegroundColor $fgColor -BackgroundColor $bgColor
        #}
        Write-Host "Sending Program Complete" -ForegroundColor $fgColor -BackgroundColor $bgColor
    }
} -StreamingHost $Host

#TOUCHPANEL
if ($uploadTP) {
    $tpJob = Start-ThreadJob -Name "TpUpload" -ScriptBlock {    
        $fgColor = "Green"
        $bgColor = "Black"
        write-host "Sending TP File ["$using:fileVTZ"]" -ForegroundColor $fgColor -BackgroundColor $bgColor
        Send-CrestronProject -Device $using:tpIp -LocalFile $using:tpFile -Password $using:tpPW -Secure -ShowProgress -Username $using:tpUN        
        #$result.Split(";") | ForeEach {
        #    Write-Host $_.Trim("@{;}") -ForegroundColor $fgColor -BackgroundColor $bgColor
        #}
        Write-Host "Sending Touchpanel Complete" -ForegroundColor $fgColor -BackgroundColor $bgColor
    } -StreamingHost $Host
}

Write-Host "Waiting all tasks to complete"
# Get-Job|Wait-Job waits for all jobs to complete, 
Get-Job | Wait-Job 
# Receive-Job to get the outputs
Get-Job | Receive-Job
# Remove-Job to stop all jobs
Get-job | Remove-Job
Write-Host "Script Finished.";


Re: Looking for tool for mass deployment of MC4R and TSW770R. C#? Powershell?

 

I haven't tried this myself, but I heard that it may be possible to use powershell to facilitate a mass deployment.


Re: Rs232 Passthrough

 

I don't think that anyone has asked this yet, but what models of projector are you talking about?

There's a pretty good chance that someone in this group has controlled both of them.
It would suck spending time going down an unnecessary "rabbit hole".

Just my 2 cents,
Brian


Re: Rs232 Passthrough

 

As Jason pointed out, it can work but can also be a big headache. If the existing code is dependent on real feedback from the projector, you'll have to emulate all of that. And then it'll be faked feedback, which could result in the system being out of sync with the actual projector's status. I'd probably try lifting the rx connection on the RS232 so it's 1-way communication. If things still work, then a translator processor should be an easy solution.

--
Josh Winn
The LiquidPixel Group