Moskus Skrevet 4. april 2016 Forfatter Del Skrevet 4. april 2016 Det kan se ut som om mono ikke støtter "one line parameters". Prøv å erstatte disse to linjene (nesten nederst): Public Property deviceRef As Integer Public Property deviceValue As Double ... med dette (som altså er den lange, tungvinte måten å skrive properties på). Private _deviceRef As Integer Public Property DeviceRef() As Integer Get Return _deviceRef End Get Set(ByVal value As Integer) _deviceRef = value End Set End Property Private _deviceValue As Double Public Property DeviceValue() As Double Get Return _deviceValue End Get Set(ByVal value As Double) _deviceValue = value End Set End Property Lenke til kommentar
DiderikFrom Skrevet 4. april 2016 Del Skrevet 4. april 2016 Hm. Det ser ut som om det bedrer seg, men ikke helt i mål... Tusen takk uansett! Apr-04 14:13:35 Error Compiling script /home/pi/HomeSeer/scripts/store_restore.vb: Value of type 'Object' cannot be converted to 'System.String[]'. Apr-04 14:13:35 Error Compiling script /home/pi/HomeSeer/scripts/store_restore.vb: Namespace or type specified in the Imports 'System.Core' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases. Apr-04 14:13:29 Event Running script in background: /home/pi/HomeSeer/scripts/store_restore.vb("Main") Apr-04 14:13:29 Event Event Trigger "Alerts test" Apr-04 14:13:29 Event Event Alerts test triggered by the event page 'Run' button. Lenke til kommentar
Moskus Skrevet 4. april 2016 Forfatter Del Skrevet 4. april 2016 (endret) Den var snodig, for det er ingen System.String[]-lister der. Kanksje hvis du erstatter den aller øverste linja med: Sub Main(ByVal not_used() As Object) Edit: INI-fila skal dukke opp i /Config mappa, ja. Endret 4. april 2016 av Moskus Lenke til kommentar
DiderikFrom Skrevet 4. april 2016 Del Skrevet 4. april 2016 Takk, igjen, men ingen endring i feilmeldingen. Nå har jeg også dobbel- og trippelsjekket at scriptet er akkurat slik det står og med de foreslåtte endringene. Homeseer på windows og mono er kanskje ikke så ombyttbart. Lenke til kommentar
Moskus Skrevet 4. april 2016 Forfatter Del Skrevet 4. april 2016 Det burde ikke være noe særlig problemer, men jeg er ikke kar om å huske om jeg har testet akkurat det scriptet på Zee1 eller 2. Hva om du prøver et av de enklere først? Lenke til kommentar
DiderikFrom Skrevet 4. april 2016 Del Skrevet 4. april 2016 Jeg har tidligere testet og modifisert flere skript, og når jeg nå roter i arkivet og tester på nytt, fungerer det fint. Det er nok ikke noe generelt problem. Du husker kanskje SMS-skriptet? Der var det mono som ikke hadde sertfifikater, men det lot seg fikse uten å endre på skriptet. Jeg kan jo skrive et eget bash-skript, men kjipt at det skal være så trøblete å låne skript på tvers av HS3-installasjoner. Lenke til kommentar
Moskus Skrevet 5. april 2016 Forfatter Del Skrevet 5. april 2016 Jeg har tidligere testet og modifisert flere skript, og når jeg nå roter i arkivet og tester på nytt, fungerer det fint. Det er nok ikke noe generelt problem. Du husker kanskje SMS-skriptet? Der var det mono som ikke hadde sertfifikater, men det lot seg fikse uten å endre på skriptet. Jeg kan jo skrive et eget bash-skript, men kjipt at det skal være så trøblete å låne skript på tvers av HS3-installasjoner. Kjørte du Zee eller var det en "plain" HS3 installasjon? På hvilken distro? Jeg har skrevet et digert script som kjører utmerket på Zee1 og Zee2, basert på samme logikk som DeviceState.vb, bare enda større. Kan ikke se hvorfor det ikke skulle fungere. Lenke til kommentar
DiderikFrom Skrevet 5. april 2016 Del Skrevet 5. april 2016 (endret) Hm. Jeg kan ikke nok om vb til å synse så mye om hvorfor det ikke funker. Alt er plain installasjon av HS3 standard på en pi2 som kjører raspbian Jessie. Jeg har passet på holde pi'en ren, dvs. jeg bruker den ikke til noe annet enn HS3. Jeg har nå skrevet et eget bash-skript inspirert av og som fungerer som ditt DeviceState.vb. Det kjøres med to argumenter $1 : hvilken preset jeg vil ha, og $2: 'store' eller 'restore'. Man kan ha så mange presets man vil, man må bare gi det et navn (i skriptet) og definere devices. Jeg har foreløpig bare dummytestet det, men det ser ut som om det funker fint. #!/bin/bash # $1 denotes preset. $2 denotes store/restore [ "$2" != "store" -a "$2" != "restore" ] && echo "Script must be run with two arguments. Exiting." && exit # Declare presets [ "$1" = "preset1" ] && configfile="/home/pi/scripts/ANY_UNIQUE_NAME.cnf" && devices="660 661 662 663" [ "$1" = "preset2" ] && configfile="/home/pi/scripts/ANY_UNIQUE_NAME2.cnf" && devices="660 661 662 663" if [ "$2" = "store" ] then echo "conf" > ${configfile} for device in $( echo ${devices} ) do eval "status_${device}"=`curl -s "http://localhost/JSON?request=getstatus&ref=${device}" | \ awk -v FS=',"value":' '{print $2}' |awk -v FS=',' '{print $1}'` var=`echo "status_${device}"` echo "${device} ${!var}" >> ${configfile} done fi if [ "$2" = "restore" ] then sed 1d ${configfile} | while read line do device=`echo ${line} | awk '{print $1}'` state=`echo ${line} | awk '{print $2}'` curl -s "http://localhost/JSON?request=controldevicebyvalue&ref=${device}&value=${state}" >/dev/null 2>&1 done fi For de som kjører linux og vil prøve. Lagre skriptet et sted, gjør det kjørbart (chmod ug+x skriptnavn). I HS3, i stedet for 'Run a script', velg 'Run another Program or Process', klikk 'Edit' og velg skriptet. Skriv så inn argument $1 og $2 under 'Enter any command parameters...'. (F.eks. preset1 store) Edit: Fikset en liten typo i skriptet. Nå kan jeg bekrefte at det funker. Endret 5. april 2016 av DiderikFrom Lenke til kommentar
Moskus Skrevet 5. april 2016 Forfatter Del Skrevet 5. april 2016 Hm. Jeg kan ikke nok om vb til å synse så mye om hvorfor det ikke funker. Alt er plain installasjon av HS3 standard på en pi2 som kjører raspbian Jessie. Jeg har passet på holde pi'en ren, dvs. jeg bruker den ikke til noe annet enn HS3. Jeg kan ikke nok om mono på Linux, men finner det besynderlig at det fungerer på andre enheter... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå