Powiadomienia
Wyczyść wszystko
Domoticz
242
Wpisów
3
Użytkownicy
1
Reactions
13.7 K
Wyświetleń
Ciężko się to czyta :))
Po pierwsze skrypt używa json do aktualizacji czujników wirtualnych więc poprawny port i IP powinno zostać zmienione w samym skrypcie , bo inaczej nawet test domoticza nie przejdzie gdyż wymaga takiego ciągu
requestGet = ( "http://" + str ( domoip ) + ":" + str ( domoport ) + "/json.htm?type=devices" )
Po drugie w domoticz należy ustawić logowanie bez hasła w sieci lokalnej i hasło może sobie zostać bo będzie używane tylko do połaczeń z zewnątrz
Po trzecie jeśli w jednym poleceniu mają być aktualizowane dwa lub więcej czujników to w poleceniu odzielamy te dane przecinkami czyli np
python3 multical402-4domoticz.py /dev/ttyUSB0 42:60:2:44,43:60:1:44,44:60:0
Po czwarte nie należy przesadzać z ilością danych w jednym poleceniu , ponieważ może to się skończyć niepełnym odczytem
Powodzenia
Dodane : 19/01/2022 8:53 pm
Autor tematu
jest tak
{ "status" : "OK", "title" : "Update Device" }
Dodane : 19/01/2022 8:54 pm
jest tak
{ "status" : "OK", "title" : "Update Device" }
To było do przewidzenia :)))
Dodane : 19/01/2022 8:58 pm
Autor tematu
Isom,
dodałem logowanie w skrypcie, mam tylko 6 rejestrów, dodam przecinki
Dodane : 19/01/2022 8:58 pm
To wstaw tu ten fragment skryptu z tym logowaniem , tylko nie polecenie , które wklejasz w terminalu, a kawałek skryptu po edycji , bo samo polecenie tylko uruchamia ten skrypt
Dodane : 19/01/2022 9:02 pm
jest tak
{ "status" : "OK", "title" : "Update Device" }To było do przewidzenia :)))
No nie dla mnie , bo a wcale pewności nie miałem ,czy @bobrow ip i port podawał prawidłowy , mimo ,że tak twierdził 🙂
A z tymi przecinkami , oby to było to , bo na stronie git we wisie do crona tych przecinków tam nie ma...
Dodane : 19/01/2022 9:06 pm
Autor tematu
przecinek nie działa...
Error! make sure to format your values correctly!
Dodane : 19/01/2022 9:08 pm
@bobrow gdzie ten fragment skryptu ? Nie pisz, że coś nie działa jak nic nie działa . Test domoticza działa ? tam nie potrzeba przecinków
Dodane : 19/01/2022 9:12 pm
Autor tematu
tu port
parser.add_argument("--port", type=int, help="Domoticz port. Defaults to 8082", default=8082)
tu logowanie
requestGet = ( "http://.....:......." + str(domoip) + ":" + str(domoport) + "/json.htm?type=devices" )
pierwsze kropki login , drugie hasło , w środku bez spacji :
chyba 5 czy 6 razy to występuje
Dodane : 19/01/2022 9:12 pm
Autor tematu
test domoticza z ciepłomierzem
pi@smarticz:~ $ /usr/bin/python3 ~/domoticz/plugins/multical402-4-domoticz/multi cal402-4-domoticz.py -d /dev/ttyUSB0 --ip 192.168.1.50 --port 8082 --verbose --d ebug --test_domoticz
Traceback (most recent call last):
File "/usr/lib/python3.7/urllib/request.py", line 1324, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "/usr/lib/python3.7/http/client.py", line 1260, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.7/http/client.py", line 1306, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib/python3.7/http/client.py", line 1255, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.7/http/client.py", line 1030, in _send_output
self.send(msg)
File "/usr/lib/python3.7/http/client.py", line 970, in send
self.connect()
File "/usr/lib/python3.7/http/client.py", line 942, in connect
(self.host,self.port), self.timeout, self.source_address)
File "/usr/lib/python3.7/socket.py", line 707, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "/usr/lib/python3.7/socket.py", line 748, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pi/domoticz/plugins/multical402-4-domoticz/multical402-4-domoticz. py", line 340, in <module>
domo_data = json.load(reader(urllib.request.urlopen(requestGet)))
File "/usr/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.7/urllib/request.py", line 525, in open
response = self._open(req, data)
File "/usr/lib/python3.7/urllib/request.py", line 543, in _open
'_open', req)
File "/usr/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/usr/lib/python3.7/urllib/request.py", line 1352, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "/usr/lib/python3.7/urllib/request.py", line 1326, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno -2] Name or service not known>
pi@smarticz:~ $
tak jak wcześnie
Dodane : 19/01/2022 9:15 pm
po co wy chcecie skrypt edytować , skoro do ip i portu są odpowiednie parametry w składni do podania , a loginu i hasła już nie ma..
Dodane : 19/01/2022 9:16 pm
A jak wyglada dowolny json z loginem i hasłem ? Dla ułatwienia masz tu link żebyś miał gdzie sprawdzić https://www.domoticz.com/wiki/Domoticz_API/JSON_UR L's
Dodane : 19/01/2022 9:17 pm
loginu i hasła już nie ma dla ułatwienia , co nawet przewidziałeś ?
Dodane : 19/01/2022 9:21 pm
Autor tematu
Nie wiem jak się tam poruszać...
Dodane : 19/01/2022 9:22 pm
po co wy chcecie skrypt edytować , skoro do ip i portu są odpowiednie parametry w składni do podania , a loginu i hasła już nie ma..
Po to
Dodane : 19/01/2022 9:25 pm
@isom do jakiejś starszej wersji skryptu się dokopałeś , aktualna jest tutaj:
https://github.com/ronaldvdmeer/multical402-4-domoticz
Nie ma już przecinków , a ip i port nie edytuje się w skrypcie tylko podaje w parametrach komendy...
Dodane : 19/01/2022 9:28 pm
Nie jestem tego tak pewny jak ty
Dodane : 19/01/2022 9:36 pm
Autor tematu
Słuchajcie -a może ma być po http ip i port ?
"http://192.168.2.113:7080/json.htm?type=command¶m
Dodane : 19/01/2022 9:39 pm
A możesz być bardziej pomocny i podać link , a nie tylko prindscreena i to pozcinanego?
Dodane : 19/01/2022 9:40 pm
Autor tematu
ten fragment jest chyba kluczowy -rozwaliło trochę...ale tak może przy http login i hasło , a przy json ip i port ?
requestGet = ( "http://" + str(domoip) + ":" + str(domoport) + "/json.htm?type=devices&rid=" + str(idx) ) | |
device_data = json.load(reader(urllib.request.urlopen(requestGet))) |
Dodane : 19/01/2022 9:41 pm