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

Anbefalte innlegg

Skrevet (endret)

Usikker om dette er rett plass for dette topic, men jeg prøver.

 

Har ett python script som har kjørt nå i lengre tid. Fungert bra, inntil nå nylig.

Prøvde meg da på å få Roborock støvsuger i Homeseer, og måtte da oppgradere python fra 2.7 til 3.8.

I den forbindelse, så har det gamle scriptet sluttet å fungere.

 

Det ordinære scriptet kjøres jo bare slik nå:
image.png.f44cdabf1d0bed20f282a78539c78340.png

 

Er det noen som vet om det er mulig å kjøre to forskjellige versjoner av Python?

Evt. hvordan man setter det opp i HS3?

 

 

Endret av JohnMartin
Skrevet

Prøvde først å endre sciptet til å fungere med 3.8, da det var "print" kommandoen som ga feilmelding.

Men når det ble fikset, så fikk jeg en ny feilmelding:

Quote

Python "C:\Program Files (x86)\HomeSeer HS3\scripts\solarmanpv.pyw"
Traceback (most recent call last):
  File "C:\Program Files (x86)\HomeSeer HS3\scripts\solarmanpv.pyw", line 3, in <module>
    import urllib, urllib2, hashlib
ModuleNotFoundError: No module named 'urllib2'

 

Og da gikk jeg tom for kunnskap og idèer. 

Skrevet

Jeg og Google har ikke så godt forhold i disse dager. En av partene klarer ikke å jobbe like godt med unger som springer rundt føttene og bråker. ?

 

Men etter å ha løst det problemet(kanskje?), så får jeg opp et nytt:
 

Quote

C:\Users\John Martin>Python "C:\Program Files (x86)\HomeSeer HS3\scripts\solarmanpv.pyw"
Traceback (most recent call last):
  File "C:\Program Files (x86)\HomeSeer HS3\scripts\solarmanpv.pyw", line 28, in <module>
    m.update(password)
TypeError: Unicode-objects must be encoded before hashing

 

Virker som det er en del forskjell fra 2.0 til 3.0.

Har lest noe om at det skal være mulig å kjøre flere versjoner, så må se om jeg får til det. 

Er det mulig å bruke følgende i HS3 på noe vis?

c:\python27\python.exe "C:\Program Files (x86)\HomeSeer HS3\scripts\solarmanpv.pyw"

 

Skrevet
17 timer siden, JohnMartin skrev:

Virker som det er en del forskjell fra 2.0 til 3.0.

Ja, det er ganske stor forskjell. Et 2.x-script kan nødvendigvis ikke kjøre uten videre på 3.x...

 

Men det er da mulig å ha begge installert samtidig?

Skrevet
21 hours ago, Moskus said:

Ja, det er ganske stor forskjell. Et 2.x-script kan nødvendigvis ikke kjøre uten videre på 3.x...

 

Men det er da mulig å ha begge installert samtidig?

 

Ja, har fått til det, får til å kjøre forskjellig version fra cmd, men usikker hvordan jeg gjør det via HS3.

Det er neste på google lista mi ;)

 

Skrevet
På 20.3.2020 den 19.37, JohnMartin skrev:

c:\python27\python.exe 

 Som application og dette som parameter

På 20.3.2020 den 19.37, JohnMartin skrev:

"C:\Program Files (x86)\HomeSeer HS3\scripts\solarmanpv.pyw"

 

  • Like 1
Skrevet

Da har jeg omsider fått scriptet til å fungere igjen.

Ble noen endringer, siden scriptet henter data på en ny måte.

Får ingen feilmeldinger når jeg kjører scriptet nå, MEN data blir ikke oppdatert i Homeseer.

 

I opprinnelig script så ble denne brukt:

#login call
infoRoot = ET.parse(urllib.urlopen(infoURL)).getroot()

income = infoRoot.find('income')
TodayIncome = income.find('TodayIncome').text
ActualPower = income.find('ActualPower').text
etoday = income.find('etoday').text
etotal = income.find('etotal').text

multiply='1000.0'
etotal1000 = float(etotal) * float(multiply)
TotalIncome = income.find('TotalIncome').text
etotalstr=str(etotal1000)

etoday=etoday.replace(".", ",")
etotal=etotal.replace(".", ",")


#logging values
print 'TodayIncome: '+TodayIncome
print 'ActualPower: '+ActualPower
print 'etoday: '+etoday.replace(".", ",")
print 'etotal: '+etotal
print 'etotal 1000: '+etotalstr





#uploading values to Homeseer
url = ("http://" + hs_host + ":" + hs_port + "/" + hs_url+ "?request=controldevicebyvalue&ref=" + hs_ActualPower+ "&value=" + ActualPower)
urllib.urlopen(url)

url = ("http://" + hs_host + ":" + hs_port + "/" + hs_url+ "?request=controldevicebyvalue&ref=" + hs_etoday+ "&value=" + etoday)
urllib.urlopen(url)

url = ("http://" + hs_host + ":" + hs_port + "/" + hs_url+ "?request=controldevicebyvalue&ref=" + hs_etotal+ "&value=" + etotal)
urllib.urlopen(url)

I det nye så fikk jeg feilmelding når jeg prøvde å bruke samme "uploading values to Homeseer".

Endret jeg til dette, så får jeg ikke feilmelding lengre, men ingenting skjer i HS3.

#login call
resultData = session.post(url, params=params)
resultJson = resultData.json()
if resultJson['result'].get('isAccept') == 1:
    print("Login Succesfull!")
else:
    print("Login Failed!!")
    Exit()

# Get plant details
url = 'http://'+domain+'/cpro/epc/plantDetail/showPlantDetailAjax.json'
params = {
    'plantId': int(plantId)
}

cookies = {'language': lan}
resultData = session.get(url, params=params, cookies=cookies)
resultJson = resultData.json()

TodayIncome = resultJson['result']['plantAllWapper']['plantData'].get('incomeTotal')
ActualPower = resultJson['result']['plantAllWapper']['plantData'].get('power')
etoday = resultJson['result']['plantAllWapper']['plantData'].get('energyToday')
etotal = resultJson['result']['plantAllWapper']['plantData'].get('energyTotal')

multiply='1000.0'
etotal1000 = float(etotal) * float(multiply)
etotalstr=str(etotal1000)

#logging values
print 'TodayIncome: ' + str(TodayIncome)
print 'ActualPower: ' + str(ActualPower)
print 'etoday: ' + str(etoday)
print 'etotal: ' + str(etotal)
print 'etotal 1000: ' + str(etotalstr)

#uploading values to Homeseer
url = ("http://" + hs_host + ":" + hs_port + "/" + hs_url+ "?request=controldevicebyvalue&ref=" + hs_ActualPower+ "&value=" + str(ActualPower))
urllib.urlopen(url)

url = ("http://" + hs_host + ":" + hs_port + "/" + hs_url+ "?request=controldevicebyvalue&ref=" + hs_etoday+ "&value=" + str(etoday))
urllib.urlopen(url)

url = ("http://" + hs_host + ":" + hs_port + "/" + hs_url+ "?request=controldevicebyvalue&ref=" + hs_etotal+ "&value=" + str(etotal))
urllib.urlopen(url)

Noen forslag? ?

Skrevet

Var ikke så ille som jeg trodde. 
Var problemer med komma og punktum.
Endret region til UK, og da fungerer det.

Håper bare jeg ikke ødela for noe annet i samme slengen

  • 7 måneder senere...
Skrevet

Oppdaget idag at det var problemer med dette scriptet igjen...

Devicene har ikke oppdatert seg på et par dager, og når jeg prøver å kjøre scriptet så får jeg denne feilmeldingen:
 

C:\Python27>python.exe "C:\Program Files (x86)\HomeSeer HS3\scripts\new solarman.py"
Traceback (most recent call last):
  File "C:\Program Files (x86)\HomeSeer HS3\scripts\new solarman.py", line 37, in <module>
    if resultJson['result'].get('isAccept') == 1:
KeyError: 'result'

 

Vet ikke hvorfor det stopper på dette nå, har ikke skjedd noe de siste ukene. 
Om det ikke er noe som er oppdatert i bakgrunnen.

 

Har reinstallert Python 2.7 for sikkerhetsskyld, men ingen endring.

 

Noen forslag?

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.