Tuo KarHe:n vaihtoehto on ilmeisesti olemassa vain Fujitsun oman sisäyksikön kanssa?
Vai onko tuo Fujitsun ulkoyksikön ohjausväylä suoraan tuo linkattu?
Olisi kiinnostavaa päästä Fujitsun ulkoyksikön dataan suoraan kiinni.
Itselläni on Impromat UTI-INV-U -ohjain IQCP -näyttöpaneelilla. Siinä ei ole mitään oikeaa julkaistua APIa, mutta paneliosassa on Ethernet ja mahdollisuus näyttää statusta ja vaihtaa parametreja selaimen läpi.
Nykyistä sulatusongelmaa(ks toinen threadi, jos kiinnostaa) debugatakseni tein pythonilla skriptin, joka tallettaa PC:lle CSV:nä niitä arvoja, joita se web -sivu näyttää.
Lisäksi Shellyn Plus Uni -datankeruukortti odottelee tuossa pöydällä, meinaan sen pulssilaskurin virittää erilliseen kilowattituntimittariin joka on jo olemassa niin saisi oikeaa tehodataa. Ja ehkä pari ylimääräistä lämpötilatietoa varaajasta tai kaasukierrosta.
Jos kiinnostaa, tässä raakaversio ilman virheenkäsittelyä tms hienouksia omasta Impromat -lukuskriptistäni - en anna sitten minkäänlaista takuuta tälle.
_________________________________________________________________________
import requests
from requests.auth import HTTPBasicAuth
import untangle
import time
import os
import datetime
url = "
http://192.168.xxx.yyy"
status = "
http://192.168.xxx.yyy/status.xml"
temp = "
http://192.168.xxx.yyy/temperatures.xml"
auth=HTTPBasicAuth('USER', 'PASSWORD')
datafile = open("2024-02-21 fujitsudata1.csv","w")
while(1):
response = requests.get(status, auth=auth)
#print ('_______________________________________')
#print(response.text)
obj = untangle.parse(response.text)
power = int(obj.response.pwr.cdata.rstrip('%'))
tanktemp = float(obj.response.tep2.cdata.rstrip('°C'))
status1 = int(obj.response.st1.cdata)
status2 = int(obj.response.st2.cdata)
response = requests.get(temp,auth=auth)
#print ('_______________________________________')
#print(response.text)
#print ('_______________________________________')
obj = untangle.parse(response.text)
gastemp = float(obj.response.tep1.cdata.rstrip('°C'))
timestamp = datetime.datetime.now()
line = str(f'{timestamp},{power},{tanktemp},{gastemp},{status1},{status2}')
print (line)
datafile.write(line)
datafile.write('\n')
datafile.flush()
os.fsync(datafile)
time.sleep(1)