MyUpway python integraatio

Soiski71

Jäsen
Moi, Jeps muutin eilen kieleksi englanti mutta samoja (samankaltasia) virheitä pukkaa. Koitin myös tiputtaa scriptiajat 10 minuutin välein ei suurempaa vaikutusta (varmaan samassa suhteessa toki virheitä kuin 5 min intervallilla).

Suoraan näköjään IP osoitteen laittamista ei tuo palvely hyväksy (www.myupway.com = 52.232.19.237) .

Date: Sep 9, 2023 at 2:31 PM
To: Root <root@samone>
Subject: Cron /usr/bin/python3 /home/security/.local/lib/python3.8/site-packages/myupway.py > /dev/null

Traceback (most recent call last):
File "/home/security/.local/lib/python3.8/site-packages/myupway.py", line 12, in <module>
values = myupway.get_current_values()
File "/home/security/.local/lib/python3.8/site-packages/pyupway/__init__.py", line 205, in get_current_values
raise requests.exceptions.HTTPError(
requests.exceptions.HTTPError: Request failed with status code 500, data: <Response [500]>

Date: Sep 9, 2023 at 7:07 PM
To: Root <root@samone>
Subject: Cron /usr/bin/python3 /home/security/.local/lib/python3.8/site-packages/myupway.py > /dev/null

Traceback (most recent call last):
File "/home/security/.local/lib/python3.8/site-packages/urllib3/connection.py", line 203, in _new_conn
sock = connection.create_connection(
File "/home/security/.local/lib/python3.8/site-packages/urllib3/util/connection.py", line 60, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File "/usr/lib/python3.8/socket.py", line 918, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/security/.local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 790, in urlopen
response = self._make_request(
File "/home/security/.local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 491, in _make_request
raise new_e
File "/home/security/.local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 467, in _make_request
self._validate_conn(conn)
File "/home/security/.local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 1092, in _validate_conn
conn.connect()
File "/home/security/.local/lib/python3.8/site-packages/urllib3/connection.py", line 611, in connect
self.sock = sock = self._new_conn()
File "/home/security/.local/lib/python3.8/site-packages/urllib3/connection.py", line 210, in _new_conn
raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0x7fbe3fccb190>: Failed to resolve 'www.myupway.com' ([Errno -3] Temporary failure in name resolution)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/security/.local/lib/python3.8/site-packages/requests/adapters.py", line 486, in send
resp = conn.urlopen(
File "/home/security/.local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 844, in urlopen
retries = retries.increment(
File "/home/security/.local/lib/python3.8/site-packages/urllib3/util/retry.py", line 515, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.myupway.com', port=443): Max retries exceeded with url: /LogIn (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7fbe3fccb190>: Failed to resolve 'www.myupway.com' ([Errno -3] Temporary failure in name resolution)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/security/.local/lib/python3.8/site-packages/myupway.py", line 10, in <module>
myupway = MyUpway(config)
File "/home/security/.local/lib/python3.8/site-packages/pyupway/__init__.py", line 155, in __init__
self._login()
File "/home/security/.local/lib/python3.8/site-packages/pyupway/__init__.py", line 167, in _login
response = self._session.post(url, headers=headers, data=data)
File "/home/security/.local/lib/python3.8/site-packages/requests/sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **kwargs)
File "/home/security/.local/lib/python3.8/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/home/security/.local/lib/python3.8/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/home/security/.local/lib/python3.8/site-packages/requests/adapters.py", line 519, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='www.myupway.com', port=443): Max retries exceeded with url: /LogIn (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7fbe3fccb190>: Failed to resolve 'www.myupway.com' ([Errno -3] Temporary failure in name resolution)"))
 

Soiski71

Jäsen
Koska molemmat virheet viittaa kuitenkin DNS ongelmaan niin selvittelin lisää Ubuntun saloja. Muutin muutamia asetuksia (kolmannen tason velholoitsuja sanon minä... :)) DNS puolella ja katsotaan auttoiko. Ainakaan tuntiin ei ole nyt tullut erroreita ja script ajaa 5 min välein.
 

lema

Jäsen
MyUpway on nähtävästi päivittynyt yön aikana ja tuo integraatio kosahti täysin. Yritän huomenna aamulla tutkia mitä kaikkea siellä on muuttunut.
 

Soiski71

Jäsen
Moi, jeps. Meinas tulla itku kun työmatkalla puhelin rupesi ilmoittamaan 5 min välein että cron ei ole onnistunut. Oletin ekana että oma systeemi kosahtanut täysin :)

Ootko saanut selvyyttä onko isokin päivitystarve vai ?

EDIT:

Olikin helpompi korjaus kuin osasin odottaa. Oli ilmeisesti vaan tuo päivämäärä formaatti taas muuttunut joten korjasin rivin _init_.py (216) tähän formaattiin niin että päivä/kk ( oli kk/päivä)

response_data['Date'], "%d/%m/%Y %H:%M:%S")

Taas pelittää !!
 
Viimeksi muokattu:

lema

Jäsen
Moi, jeps. Meinas tulla itku kun työmatkalla puhelin rupesi ilmoittamaan 5 min välein että cron ei ole onnistunut. Oletin ekana että oma systeemi kosahtanut täysin :)

Ootko saanut selvyyttä onko isokin päivitystarve vai ?

EDIT:

Olikin helpompi korjaus kuin osasin odottaa. Oli ilmeisesti vaan tuo päivämäärä formaatti taas muuttunut joten korjasin rivin _init_.py (216) tähän formaattiin niin että päivä/kk ( oli kk/päivä)

response_data['Date'], "%d/%m/%Y %H:%M:%S")

Taas pelittää !!
Joo sitä oli päivitetty. Korjasin koodia vähän paremmaksi tämän suhteen, mutta kyllä se vieläkin kosahtaa jos keksivät uuden formaatin. Uusi versio 0.0.6 saatavilla.

Sain sen jälkeen vielä virheitä puuttuvista arvoista, mutta nuo lähtivät itsekseen. Varmaan joku pieni ongelma myös heidän päässä pumpun ja MyUpwayn välillä.
 

lema

Jäsen
En kyllä usko, että nuo sun ongelmat johtuu tästä koodista. Jotain häikkää siellä järjestelmässä tai verkossa. Mulla on nyt pyörinyt tämä kontissa ja mqtt integraatiolla menee data home assistanttiin. Sen upway päivityksen jälkeen ei ole ollut mitään ongelmaa mun kyselyssä.
 

Liitteet

  • Screenshot_20230916_111357_Home Assistant.jpg
    Screenshot_20230916_111357_Home Assistant.jpg
    83,3 KB · Katsottu: 60

Soiski71

Jäsen
Joo samaa mieltä. Kun korjasin ton aikajutun niin sen jälkeen ei ole tullut yhtään virhettä. Toivottavasti meidän loggerit ei rasita liikaa heidä servereitä :p
 

lema

Jäsen
Ihmettelin tässä, kun numerot ei mulla tunnu liikkuvan mihinkään. Katsoin nopeasti tuota MyUpwayn historia graafia ja siinä näkyy ainakin mulla paljon katkoja, kun heillä ei ole mitään datapisteitä välissä. Graafista nämä siis erottaa pitkinä suorina viivoina aikajanalla.

Tietääkseni, mulla ei ole ollut mitään ongelmia yleisesti yhteydessä ulkomaailmaan. Esiintyykö tällaista muilla?
 

Liitteet

  • Screenshot_20230920_075317_Chrome.jpg
    Screenshot_20230920_075317_Chrome.jpg
    102,7 KB · Katsottu: 54

Soiski71

Jäsen
Itselläni ei ole tullut vastaan ainakaan täällä oman koneen päässä. mutta kun katsoo tuota samaa käyrää kuin sulla (BT1) myupway palvelussa niin tuntuu välillä olevan 15min intervallilla ja joskus melkeen 3tunnin intervalilla miten historia piirtyy.

Oma data näyttää hyvälle (oletettavasti)

1695220612005.png
 

Soiski71

Jäsen
Moi @lema , ootko katsonut saataisiinko tällä samalla logiikalla myös katsottua mikäli noita hälytyksiä tulee tuonne logiin. Oli muutama "Korkea lauhduttimen meno" hälytyksiä joita en ollut nähnyt kun ei ole oikeen syytä mennä enää tuonne MyUpWay sivustolle kun datan keruu toimii kuin junan vessa :)

Kiitos ja kumarrus
 

pelekone

Tulokas
Moro, mistähän johtunee, että negatiiviset arvot nappaa tuon yksikön tuohon arvon kylkeen ja yksikkö jää tyhjäksi?
Kaikki missä on positiivinen luku, yksikkö tulee oikein.
1700510951099.png
 

pelekone

Tulokas
Itse asiassa tuossa skriptissä näyttäisi olevan tuo ensimmäinen "pattern", minkä avulla tutkitaan matcheja (luku+merkkijono), joissa ei etumerkkiä.
Muutin tuota skriptiä hieman... jos ei tule matchia ensimmäisellä kerralla, tutkitaan sitten etumerkillistä lukua tuolla toisella "patternilla". Eli lisäsin elsen jälkeen tuon toisen patternin ja sen jälkeen vielä kopio tuosta if-lausekkeesta. En tiedä, menikö kaikkien taiteen sääntöjen mukaan, nyt näyttäisi toimivan.
1700597836712.png

1700598689483.png
 

Liitteet

  • 1700597692941.png
    1700597692941.png
    30,6 KB · Katsottu: 45

Soiski71

Jäsen
Itse asiassa tuossa skriptissä näyttäisi olevan tuo ensimmäinen "pattern", minkä avulla tutkitaan matcheja (luku+merkkijono), joissa ei etumerkkiä.
Muutin tuota skriptiä hieman... jos ei tule matchia ensimmäisellä kerralla, tutkitaan sitten etumerkillistä lukua tuolla toisella "patternilla". Eli lisäsin elsen jälkeen tuon toisen patternin ja sen jälkeen vielä kopio tuosta if-lausekkeesta. En tiedä, menikö kaikkien taiteen sääntöjen mukaan, nyt näyttäisi toimivan.
Iso Kiitos. Tein saman "puukotuksen" ja toimii hienosti. Ehkä Lema päivittää seuraavaan 0.0.6. versioon virallisesti.
 

Uitto

Tulokas
Terveisiä täältä uudelta jäseneltä ja kiitoksia hienosta koodista. Aivan mahtavaa työtä.

Minulla on sama virhe kuin Soiskilla, eli antaa

ResponseError: Cannot parse response data. Data: "HTML"

Sivu minkä HTML näytetään on https://www.myupway.com/System/ID/Status/Overview, joka on sama johon minut ohjataan jos selaimella koitan osoitetta https://www.myupway.com/PrivateAPI/Values

Koitin vaihtaa kieltäkin suomeksi ja takaisin englanniksi, ei näyttänyt vaikuttavan.

Onko muilla ollut samaa? Ja vielä varmistuksena, että voiko tuo PrivateAPI vaatia maksullista tilausta (en ole tilannut mitään)?
 

Soiski71

Jäsen
Moi @Uitto ,
Ootko saanut kertaakaan ajettua scriptiä vaiko tuleeko aina error?

Jos aina, niin voisin veikata että sinulla on virheellinen tuo ID numero tuolla myupway.py sisällä configissa (sen kanssa itse sekoilin alussa)

config = MyUpwayConfig("oma tunnus", "oma salasana", konee_ID)

ja tuo koneen ID on se joka näkyy tosiaan tuossa System ja Status välissä.... Tässä keinotekoinen iD 998877

https://myupway.com/System/998877/Status/Overview

Jos silloin tällöin tuo erhe niin siihen ei oikeen selvää syytä ikinä oikein löytynyt ja oletimme että ongelmat olivat enemmän Jäspin pään servereillä.
 

Uitto

Tulokas
Moi @Uitto ,
Ootko saanut kertaakaan ajettua scriptiä vaiko tuleeko aina error?

Jos aina, niin voisin veikata että sinulla on virheellinen tuo ID numero tuolla myupway.py sisällä configissa (sen kanssa itse sekoilin alussa)
Tulipas tyhmä olo!

ID kyllä oli laitettu, mutta muokkasin noita komentoja sen verran että juuri kriittiseen paikkaan jäi väärä muuttuja.

Hyvin näyttää toimivan siis, vaihdoin ID:n kohdilleen niin näyttäisi hakevan arvoja. Vielä pitää miettiä miten nämä saan vietyä HA:n sensoreille asti. Jatkan koodailua myöhemmin.
 

dalobsta

Jäsen
Mites muilla. Itselläni alkoi tulla noita HTTP 500 erroreita tänään tossa 17:30 liukuhihnalta ?
Mäkin huomasin, että tulee 500 turhan usein. Tältä päivältä vain satunnaisesti saatu mittauksia talteen.

Onkohan niin, että kaikkia kiinnostaa jouluna miten pumppu suorittaa vai menikö ne oikeasti ajamaan päivitystä sisään 2pv ennen joululomaa...
 

dalobsta

Jäsen
Nyt ehkä pelittää taas.

Mahtaako olla manuaalinen skaalaus käytössä...

UPDATE: Tai autentikaatiosta tulee vieläkin outoja vastauksia välillä. Mutta valmiiksi sisäänkirjautuneena arvot toimitetaan näköjään oikein nyt.

UPDATE 2: Toimii miten sattuu taas / vieläkin...
 
Viimeksi muokattu:

Soiski71

Jäsen
Moi, Onko kukaan joka ajaa tätä integraatiota uskaltanut päivittää jo uuteen MyUpway järjestelmäalustaan ja toimiiko tämä edelleen ?
 

dalobsta

Jäsen
Moi, Onko kukaan joka ajaa tätä integraatiota uskaltanut päivittää jo uuteen MyUpway järjestelmäalustaan ja toimiiko tämä edelleen ?
Moi, sain tuosta viestistäsi vasta tietää, että on olemassa uusi MyUpway.

Kaippa sitä pitää lähiaikoina uskaltaa päivittää, eiköhän jollakin konstilla saa uudestakin järjestelmästä datat pihalle. Mutta töitä vaatinee. Sen verran köykäinen tuo vanha järjestelmä on, että melkein toivon, ettei tarvi enää lähettää noita kummallisia POST-rekkuja, vaan olisivat keksineet paremman apin.
 

lema

Jäsen
Mä kokeilin kirjautua uuteen ja tuli viestiä, että tiedot siirretään automaattisesti. Asentelen tuon päivityksen myös tuohon Jäspiin tässä viikonlopun aikana ja alan tutkimaan.

Vanhasta data vielä kulkee (niin hyvin ku se on aina kulkenut). Toivottavasti tämä uusi on tosiaan modernilla infralla ja arkkitehtuurilla niin ei tarvitse legacyn kanssa itkeä.

Teen varmaan niin, että konfiguraatiolla pystyy määrittämään kumman kanssa haluaa pelata.
 

lema

Jäsen
Mulle ei myöskään ole tullut mitään päivityksiä sähköpostiin täällä käytävästä keskustelusta. Voin tuon regexin yrittää korjata samoilla ponnisteluilla.
 

tk-

Aktiivinen jäsen
Mä kokeilin kirjautua uuteen ja tuli viestiä, että tiedot siirretään automaattisesti. Asentelen tuon päivityksen myös tuohon Jäspiin tässä viikonlopun aikana ja alan tutkimaan.

Vanhasta data vielä kulkee (niin hyvin ku se on aina kulkenut). Toivottavasti tämä uusi on tosiaan modernilla infralla ja arkkitehtuurilla niin ei tarvitse legacyn kanssa itkeä.

Teen varmaan niin, että konfiguraatiolla pystyy määrittämään kumman kanssa haluaa pelata.
Sinne myuplinkiin pääsee kirjautumaan ainakin nibeuplinkin kanssa samoilla tunnuksilla. Dev-sivusto löytyy osoitteesta https://dev.myuplink.com/login.

Itse sain oman Nibe F1145 tuonne jo ruotsinfoorumin ohjeilla liitettyä, vaikka virallisesti ei vielä ollut julkistettuna Suomessa tuolle pumpulle.
 

lema

Jäsen
Yritin äsken ajaa tuon päivityksen MCU40 boxiin eikä onnistunut. Uusi ohjelmisto on muistitikulla ja md5 summat täsmä. MCU40 ei tunnista tuota sopivaksi versioksi eikä suostu asentamaan.
 

lema

Jäsen
Julkasin äsken uuden version missä tuo regex on korjattu. Samalla lisäsin muutaman enumin "SMART PRICE" tiedolle, mitkä ystävällinen tunkkaaja toimitti Tanskasta.

Koodi:
pip install pyupway==0.0.7
 

dalobsta

Jäsen
Yritin äsken ajaa tuon päivityksen MCU40 boxiin eikä onnistunut. Uusi ohjelmisto on muistitikulla ja md5 summat täsmä. MCU40 ei tunnista tuota sopivaksi versioksi eikä suostu asentamaan.
Vaatiiko MyUplinkin käyttöönotto siis softapäivitystä ohjausyksikköön?
 

lema

Jäsen
Vaatiiko MyUplinkin käyttöönotto siis softapäivitystä ohjausyksikköön?
Ainakin tuo vanha MyUpway niin sanoo ja tarjoaa päivityksen filua.

Onhan se sinällään ymmärrettävää, että tietojen vastaanottajan osoitteet pitää yksikköön vaihtaa.
 

tk-

Aktiivinen jäsen
Vaatiiko MyUplinkin käyttöönotto siis softapäivitystä ohjausyksikköön?
Ainakin Nibessä piti asentaa uusi firmis mitä ei vielä Suomessa edes virallisesti tarjota, vaan löytyi ruotsalaiselta foorumilta. Käytännön muutos oli se, että pumpun valikoissa Nibe Uplink muuttui myUplinkiin, ja pumppu irtosi samantien vanhasta Nibe Uplinkista ja sen sai siirrettyä myUplinkiin.
 

dalobsta

Jäsen
Joo, jos tosiaan kaikki menee uusiksi palvelinpuolella, on toki ymmärrettävää, että pitää päivittää ohjausyksikköä.

Huomasin äsken, että käytän eri pyupwayta kuin mistä tää keskustelu on aloitettu Itse käytän nimittäin tätä: https://github.com/Jalle19/pyupway

Pitääpä sitten kokeilla miten saadaan tuo toimimaan myuplinkin kanssa. Jos vaikka katson teidän toisesta pyupwaysta mitä muutoksia vaati ja yritän integroida tuohon :)

Mutta jos ohjausyksikkö vaatii päivitystä, niin en ehkä uskalla sitä vielä tehdä tänä viikonloppuna. Mieluiten arkipäivänä kun asennusfirman huolto on töissä...
 

lema

Jäsen
Joo, jos tosiaan kaikki menee uusiksi palvelinpuolella, on toki ymmärrettävää, että pitää päivittää ohjausyksikköä.

Huomasin äsken, että käytän eri pyupwayta kuin mistä tää keskustelu on aloitettu Itse käytän nimittäin tätä: https://github.com/Jalle19/pyupway

Pitääpä sitten kokeilla miten saadaan tuo toimimaan myuplinkin kanssa. Jos vaikka katson teidän toisesta pyupwaysta mitä muutoksia vaati ja yritän integroida tuohon :)

Mutta jos ohjausyksikkö vaatii päivitystä, niin en ehkä uskalla sitä vielä tehdä tänä viikonloppuna. Mieluiten arkipäivänä kun asennusfirman huolto on töissä...
En oo vielä aloittanut tuon uuden integrointia, koska haluan saada tuon oman laitteen siirrettyä, että on jotain testattavaa. Ylhäällä oli linkki uuteen rajapinnan dokumentaatioon ja näyttää paljon ammattimaisemmalta mitä aikaisempi!

Enpä ole huomannut edes toista samalla nimellä. Näyttää olevan vanhempi kuin minun, mutta ehdin näköjään varata pypi paketin nimen aikaisemmin

Huikatkaa joku jos teiltä löytyy Jäspin MCU40 ja saatte tuon päivityksen asennettua
 

lema

Jäsen
Sain viimein tuon päivitettyä. Ensimmäinen huomio on, että linkki myUpway puolelle katkeaa välittömästi eli integraatio kosahtaa siihen. Yritän viimeistään viikonlopun aikana tuoda nuo rajapinnat kirjastoon ja rakentaa homman niin, että molemmat järjestelmät ovat tarvittaessa käytettävissä, kunnes myUpway ajetaan kokonaan alas.

Seuraava versio saattaa kuitenkin sisältää breaking changes.

UPDATE:
Molemmat mobiili ja web versiot tuosta myUplinkistä on kyllä aivan jäätäviä raakileita eikä UI suunnitteluun ole erityisemmin panostettu.. Toivottavasti se bäkkäri on edes kuranttia kamaa niin on jotain minkä päälle rakentaa.
 
Viimeksi muokattu:

Soiski71

Jäsen
Kiitos kun jaksat väsätä ! Joo näin ymmärsin myös muiden kommenteista tällä foorumilla. Askel eteenpäin ja kaksi taakse...
 

lema

Jäsen
Mitähän tästäkin pitäisi sanoa.. Tässä suora esimerkki tuosta datasta mitä tuolta rajapinnasta tulee:

JSON:
{'category': 'Slave 1 (EB101)', 'parameterId': '44071', 'parameterName': 'Oper. time (EB101-EP14)', 'parameterUnit': 'h', 'writable': False, 'timestamp': '2024-02-25T08:49:51+00:00', 'value': 1658.0, 'strVal': '1658h', 'smartHomeCategories': [], 'minValue': None, 'maxValue': None, 'stepValue': 1.0, 'enumValues': [], 'scaleValue': '1', 'zoneId': None}
{'category': 'Slave 1 (EB101)', 'parameterId': '44071', 'parameterName': 'Oper. time (EB101-EP14)', 'parameterUnit': 'h', 'writable': False, 'timestamp': '2024-02-25T08:49:51+00:00', 'value': 1658.0, 'strVal': '1658h', 'smartHomeCategories': [], 'minValue': None, 'maxValue': None, 'stepValue': 1.0, 'enumValues': [], 'scaleValue': '1', 'zoneId': None}
{'category': 'Slave 1 (EB101)', 'parameterId': '44071', 'parameterName': 'Oper. time (EB101-EP14)', 'parameterUnit': 'h', 'writable': False, 'timestamp': '2024-02-25T08:49:51+00:00', 'value': 1658.0, 'strVal': '1658h', 'smartHomeCategories': [], 'minValue': None, 'maxValue': None, 'stepValue': 1.0, 'enumValues': [], 'scaleValue': '1', 'zoneId': None}
{'category': 'Slave 1 (EB101)', 'parameterId': '44071', 'parameterName': 'Oper. time (EB101-EP14)', 'parameterUnit': 'h', 'writable': False, 'timestamp': '2024-02-25T08:49:51+00:00', 'value': 1658.0, 'strVal': '1658h', 'smartHomeCategories': [], 'minValue': None, 'maxValue': None, 'stepValue': 1.0, 'enumValues': [], 'scaleValue': '1', 'zoneId': None}
{'category': 'Slave 1 (EB101)', 'parameterId': '44071', 'parameterName': 'Oper. time (EB101-EP14)', 'parameterUnit': 'h', 'writable': False, 'timestamp': '2024-02-25T08:49:51+00:00', 'value': 1658.0, 'strVal': '1658h', 'smartHomeCategories': [], 'minValue': None, 'maxValue': None, 'stepValue': 1.0, 'enumValues': [], 'scaleValue': '1', 'zoneId': None}
{'category': 'Slave 1 (EB101)', 'parameterId': '44071', 'parameterName': 'Oper. time (EB101-EP14)', 'parameterUnit': 'h', 'writable': False, 'timestamp': '2024-02-25T08:49:51+00:00', 'value': 1658.0, 'strVal': '1658h', 'smartHomeCategories': [], 'minValue': None, 'maxValue': None, 'stepValue': 1.0, 'enumValues': [], 'scaleValue': '1', 'zoneId': None}

Palauttaa samaa parametria ja arvoa useita kertoja responsessa.. joudun rakentaa jonkun aivan aivottoman handlerin tähän ja todennäköisesti saadaan vielä joku bugi siitä aikaiseksi.
 

lema

Jäsen
Siellä on päivitetty versio 0.0.9

Vaikka ei siirtyisi vielä MyUpway palvelusta MyUplinkin puolelle niin tuo rikkoo koodin ilman muutoksia konfiguraatioon.

Konfiguraatioon pitää nyt määrittää dataservice, joka kertoo mistä palvelusta tiedot kysytään. Metodi nykyarvojen lataamiseen pysyi samana, mutta uudesta API:sta en löytänyt endpointtia historiatietojen lataamiseen.

API tarvitsee client id:n ja client secret tiedot, jotka voi luoda täältä: https://dev.myuplink.com/apps

Python:
from pyupway import MyUpway, MyUpwayConfig, Variable, DataService

config = MyUpwayConfig(dataservice=DataService.MYUPLINK, client_id="<client_id>", client_secret="<client_secret>")

myupway = MyUpway(config)

print(myupway.get_current_values([Variable.HIGH_PRESSURE_SENSOR]))

Jotain on varmaan rikki kun en kaikkea ehtinyt testaamaan ja tein paljon refactorointia. Kertokaa sitten niin korjataan.
 

Soiski71

Jäsen
Tulee tällainen virhe kun koitan ajaa päivityksen jälkeen

security@SAMONE:~$ /usr/bin/python3 /home/security/.local/lib/python3.8/site-packages/myupway.py
Traceback (most recent call last):
File "/home/security/.local/lib/python3.8/site-packages/myupway.py", line 1, in <module>
from pyupway import MyUpway, MyUpwayConfig, Variable, DataService
File "/home/security/.local/lib/python3.8/site-packages/pyupway/__init__.py", line 7, in <module>
from .models import VariableValue, VariableHistoryValue
File "/home/security/.local/lib/python3.8/site-packages/pyupway/models/__init__.py", line 2, in <module>
from .variablehistoryvalue import VariableHistoryValue
File "/home/security/.local/lib/python3.8/site-packages/pyupway/models/variablehistoryvalue.py", line 5, in <module>
class VariableHistoryValue:
File "/home/security/.local/lib/python3.8/site-packages/pyupway/models/variablehistoryvalue.py", line 6, in VariableHistoryValue
Value: int | float | str | bool | None
TypeError: unsupported operand type(s) for |: 'type' and 'type'
Client udentifier ja Client secret päivtetty omaksi

from pyupway import MyUpway, MyUpwayConfig, Variable, DataService

config = MyUpwayConfig(dataservice=DataService.MYUPLINK, client_id="XXXXX", client_secret="XXXXXX")

myupway = MyUpway(config)

print(myupway.get_current_values([Variable.HIGH_PRESSURE_SENSOR]))

Eka virhe viittaa riviin 7 ja toinen riviin 2
1709457470090.png


1709457546753.png


Molemmissa viittaus Variablehistory valuee kenttään.

Ja virhe 5 / 6 rivillä
1709457655279.png


Olen siis päivittänyt laitteen uuteen Firmikseen ja sillä yritän ajaa
 
Viimeksi muokattu:

Soiski71

Jäsen
Huomasin että nuo itse koodi asetukset oli siirtynyt tuonne omalle ENUMS hakemistoon ja koitin myös ajaa ns. pelkillä omilla asetuksilla niin tulee samaa virhettä

lass Variable(Enum):
"""
Provides Variable name - Variable ID mapping as enum
"""

AVG_OUTDOOR_TEMP = 40067
HOT_WATER_CHARGING = 40014 # TehoWatti AIR
HOT_WATER_TOP = 40013 # TehoWatti AIR
INDOOR_UNIT_OUTDOOR_TEMP = 40004
 
Back
Ylös Bottom