Python Forum
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()
[Image: wQmTrT8]
Reply
#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
Reply
#3
The full error message is: link to error message
Reply
#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
Reply
#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
Reply
#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
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  print(data) is suddenly invalid syntax db042190 6 1,122 Jun-14-2023, 02:55 PM
Last Post: deanhystad
  SyntaxError: invalid syntax ?? korenron 15 5,577 Jan-25-2022, 11:46 AM
Last Post: korenron
  Invalid syntax with an f-string Mark17 7 7,568 Jan-14-2022, 04:44 PM
Last Post: Mark17
  invalid syntax in my class CompleteNewb 2 1,845 Dec-13-2021, 09:39 AM
Last Post: Larz60+
Exclamation Invalid syntax error(Predict Ethereum Price) lulu43366 2 3,094 Sep-24-2021, 01:24 PM
Last Post: lulu43366
  Unexplained Invalid syntax Error cybertooth 5 3,177 Aug-02-2021, 10:05 AM
Last Post: cybertooth
  [split] SyntaxError: invalid syntax Code_X 3 2,704 May-04-2021, 05:15 PM
Last Post: Yoriz
  Invalid syntax error - need help fixing calgk01 3 3,228 Feb-23-2021, 08:41 PM
Last Post: nilamo
  Invalid syntax using conditionals if - else jperezqu 1 2,296 Jan-13-2021, 07:32 PM
Last Post: bowlofred
  invalid syntax in line 5. Help Asadzangibaloch 2 2,351 Dec-10-2020, 04:26 PM
Last Post: deanhystad

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020