Bottom Page

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 SyntaxError: invalid syntax
#1
I am trying to set a servo with domoticz on a Raspberry pi.
The script works from the command line.

curl -s "http://127.0.0.1:8080/json.htm?type=devices&rid=59" | jq '.result[0].Level'| tr -d '"'

When i try to get the value from Domoticz i get syntax error.
The link comes from https://www.domoticz.com/wiki/Mindergas.nl

What am i doing wrong ?
import json
from jq import jq
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BOARD)
GPIO.setup(03, GPIO.OUT)
pwm=GPIO.PWM(03, 50)
pwm.start(0)

hoek=`curl -s "http://127.0.0.1:8080/json.htm?type=devices&rid=59"  | jq '.result[0].Level'| tr -d '"'`

def SetAngle(angle):
        duty = angle / 18 + 2
        GPIO.output(03, True)
        pwm.ChangeDutyCycle(duty)
        sleep(1)
        GPIO.output(03, False)
        pwm.ChangeDutyCycle(0)

SetAngle(hoek)

pwm.stop()
GPIO.cleanup()
İmage
Quote
#2
What is the full text of the error message? Specifically, what line is it saying has an index error?

I'm guessing line 10, and that the problem is that Python does not recognize the accent symbol (`), but without the full error text I can't be sure.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures

Quote
#3
The full error message is: link to error message
Quote
#4
I'm not clicking on some gibberish link. Copy and paste the error message into a post.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures

Quote
#5
Output:
File "/home/pi/servo.py", line 10 hoek=`curl -s "http://127.0.0.1:8080/json.htm?type=devices&rid=59" | jq '.result[0].Level'| tr -d '"'` ^ SyntaxError: invalid syntax
Quote
#6
Yes, the syntax error is because of the accent symbol. However, if you replace it with a quote to make it a string, that's going to cause problems with the other quotes within the string. You would need to escape those quotes:

hoek="curl -s \"http://127.0.0.1:8080/json.htm?type=devices&rid=59\"  | jq '.result[0].Level'| tr -d '\"'"
But that's going to cause other problems. That's a string, but you are passing it to SetAngle as if it's a number. It looks like a system command you would enter on the command line. Are you expecting Python to run it in the OS and get a response back? If so you need tell Python to do that, with something like os.popen. Although it looks like you are doing something with a local json file? You might want to look at the json module so you can parse the file directly.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures

Quote

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  Invalid archive error when attempting to install dash bootstrap components meaydemi 0 120 Jul-11-2019, 05:49 PM
Last Post: meaydemi
  SyntaxError: invalid syntax Truman 7 3,696 Jun-16-2019, 04:54 PM
Last Post: apollo
  ValueError: invalid rectstyle object fen1c5 1 277 Jun-05-2019, 02:51 PM
Last Post: heiner55
  Why do i have invalid syntax on a line after print, i see no error ? iofhua 5 229 May-24-2019, 05:42 PM
Last Post: Yoriz
  invalid syantx metro779966 3 292 Apr-26-2019, 03:00 PM
Last Post: keames
  Python - joining xmls together invalid token error jan86 0 167 Apr-26-2019, 08:52 AM
Last Post: jan86
  Invalid Syntax when using print? GalaxyCoyote 4 305 Apr-24-2019, 08:51 PM
Last Post: Larz60+
  ValueError: invalid literal for int() with base 10: '' ivinjjunior 6 1,239 Apr-20-2019, 05:37 PM
Last Post: keames
  trace invalid pointer simon149 7 337 Apr-16-2019, 07:05 AM
Last Post: simon149
  TreeTagger : parameter file invalid : english.par Raph0909 0 235 Apr-12-2019, 12:12 PM
Last Post: Raph0909

Forum Jump:


Users browsing this thread: 1 Guest(s)