Domoticz ciepłomier...
 
Powiadomienia
Wyczyść wszystko

Domoticz ciepłomierz Kamstrup Multical 402

242 Wpisów
3 Użytkownicy
1 Reactions
13.7 K Wyświetleń
(@bobrow)
Wpisów: 387
Weteran
Autor tematu
 

Jeszcze patrzę na ten zapis 

python3 multical402-4domoticz.py /dev/ttyUSB1 42:60:2:44,43:60:1:44,44:60:0

jest różnica w końcowym zapisaniu idx. Wczoraj zrobiłem na wzór tego :

*/20 * * * * /usr/bin/python3 /path/to/your/script/multical402-4-domoticz.py -d /dev/ttyUSB1 88:60:0 89:80:0

Nie rozumiem ostatniej cyfry -myślałem ,że ma być 0 (czyli wartość z ciepłomierza).Jest jeszcze kwestia przecinków oraz tego 42:60:2:44 (po co 44 ?)

 
Dodane : 19/01/2022 12:51 pm
(@mig41)
Wpisów: 621
Ekspert
 

Skoro komenda nie powoduje uaktualnienia czujnika w domoticzu , to wpisanie jej w crona również tego nie spowoduje. Najpierw trzeba znaleźć poprawną komendę , która to wykona. (cron wysyła tą komendę regularnie , zamiast ty miałbś to robić ręcznie z konsoli, wysyłanie przez crona błędnej komendy nic nie da).

Najpierw jakie masz idxy utworzonych czujników ? Pisałeś coś ,że 109 ?

Jeśli tak , i CommandNr 74 to jest  Flow  ( przepływ) , to 109:74:0  miałoby uaktualnić idx 109 o wartość komendy 74  ,przepływ.

Wg opisu z gita :

opt=0 writes the value from "CommandNr" to Domoticz device "idx".
opt=1 takes the value from  "CommandNr", subtracts the value of Domoticz "idx2", and stores this in "idx".
opt=2 takes the value from "CommandNr", adds the value of Domoticz device "idx2", and stores this in "idx".

czyli  0 to uaktualnienie wartości , a to 42:60:2:44 spowodowałoby ,że wartość z komendy 60 Heat Energy (E1) zostałaby dodana do wartości z idx:44 i ta dodana wartość zostałaby uaktualniona pod idx:42  (Nie pytaj po co , być może taką funkcjonalność autor projektu chciał mieć : )

 

 
Dodane : 19/01/2022 1:33 pm
(@bobrow)
Wpisów: 387
Weteran
Autor tematu
 

Migu,

to znaczy ,że mam zapis ok -a problem jest w 20min odczytu. Zmienię na 1 minutę i zobaczymy.

Potrzebuję tylko przepisanie wartości z danych komórek  czyli zapis idx : nr rejestru : 0

Dzięki. Powinno banglać. 

 
Dodane : 19/01/2022 1:43 pm
(@mig41)
Wpisów: 621
Ekspert
 
Dodane przez: @bobrow

 

python3 multical402-4domoticz.py /dev/ttyUSB1 42:60:2:44,43:60:1:44,44:60:0

 

Jeszcze jedno , tam przecinków ma nie być !  ma być idx:CommandNr:0 i spacja i następny.

 
Dodane : 19/01/2022 1:48 pm
(@bobrow)
Wpisów: 387
Weteran
Autor tematu
 

Czyli zapis wadliwy-ok jasne.

U mnie jest prawidłowo , jak wczoraj zapodałeś.

 

 
Dodane : 19/01/2022 1:52 pm
(@bobrow)
Wpisów: 387
Weteran
Autor tematu
 

A jak rozumieć np z tego linku https://github.com/ronaldvdmeer/multical402-4-domoticz

ostatni zapis dot aktualizacji 

 
Czy jeśli ściągam kod z samej góry , to muszę jeszcze jakoś wrzucić to uaktualnienie , tak ?
 
Dodane : 19/01/2022 2:03 pm
(@mig41)
Wpisów: 621
Ekspert
 

To tylko oznacza ,że ostatnio był modyfikowany/aktualizowany 8miesięcy temu , masz aktualną wersję. A w tym linku widać te ostatnie dokonane zmiany.

 
Dodane : 19/01/2022 4:26 pm
(@bobrow)
Wpisów: 387
Weteran
Autor tematu
 

To jestem po próbach , i tak :

1.wrzuciłem do crontab to

*/1 * * * * /usr/bin/python3 /path/to/your/script/multical402-4-domoticz.py -d /dev/ttyUSB0 115:74:0 114:89:0 113:87:0 112:86:0 111:60:0 110:80:0

było jednak co minutę

wtedy pokazało to (po wyjściu z zapisem)

 

pi@smarticz:~ $ sudo crontab -e

crontab: installing new crontab

pi@smarticz:~ $ crontab -e

no crontab for pi - using an empty one

crontab: installing new crontab

 

czyli tak samo jak przez sudo , reboot robiłem

test działa , natomiast nie wykonuje zapisu w domoticzu

2. zrobiłem test i wrzuciłem pojedynczą komendę do zapisu idxów

pi@smarticz:~ $ /usr/bin/python3 ~/domoticz/plugins/multical402-4-domoticz/multi                                                                                                                                                             cal402-4-domoticz.py -d /dev/ttyUSB0 --debug --test_kamstrup
CommandNr   60: Heat Energy (E1)          270.88 Gj
CommandNr   80: Power                     5.0 kW
CommandNr   86: Temp1                     46.44 C
CommandNr   87: Temp2                     43.57 C
CommandNr   89: Tempdiff                  2.87 K
CommandNr   74: Flow                      1676.0 l/h
CommandNr   68: Volume                    19684.86 m3
CommandNr  141: MinFlow_M                 0.0 l/h
CommandNr  139: MaxFlow_M                 1698.0 l/h
CommandNr  140: MinFlowDate_M             220101.0 yy:mm:dd
CommandNr  138: MaxFlowDate_M             220113.0 yy:mm:dd
CommandNr  145: MinPower_M                0.0 kW
CommandNr  143: MaxPower_M                9.600000000000001 kW
CommandNr  149: AvgTemp1_M                44.0 C
CommandNr  150: AvgTemp2_M                40.0 C
CommandNr  144: MinPowerDate_M            220101.0 yy:mm:dd
CommandNr  142: MaxPowerDate_M            220106.0 yy:mm:dd
CommandNr  126: MinFlow_Y                 0.0 l/h
CommandNr  124: MaxFlow_Y                 1698.0 l/h
CommandNr  125: MinFlowDate_Y             220101.0 yy:mm:dd
CommandNr  123: MaxFlowDate_Y             220113.0 yy:mm:dd
CommandNr  130: MinPower_Y                0.0 kW
CommandNr  128: MaxPower_Y                9.600000000000001 kW
CommandNr  146: AvgTemp1_Y                44.0 C
CommandNr  147: AvgTemp2_Y                40.0 C
CommandNr  129: MinPowerDate_Y            220101.0 yy:mm:dd
CommandNr  127: MaxPowerDate_Y            220106.0 yy:mm:dd
CommandNr   97: Temp1xm3                  850144.0 m3xC
CommandNr  110: Temp2xm3                  786157.0 m3xC
CommandNr  113: Infoevent                 653.0
CommandNr 1004: HourCounter               72221.0 h
pi@smarticz:~ $ /usr/bin/python3 ~/domoticz/plugins/multical402-4-domoticz/multi                                                                                                                                                             cal402-4-domoticz.py -d /dev/ttyUSB0 115:74:0 114:89:0 113:87:0 112:86:0 111:60:                                                                                                                                                             0 110:80:0
================================================================================                                                                                                                                                             =======
Kamstrup Multical 402 serial optical data received: 2022-01-19 16:57:35
Meter vendor/type: Kamstrup M402
--------------------------------------------------------------------------------                                                                                                                                                             -------
Heat Energy (E1)          270.88 Gj
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 727, in create_connection
    raise err
  File "/usr/lib/python3.7/socket.py", line 716, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
 
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 381, in <module>
    device_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 111] Connection refused>

Jak widać komunikacja jest , ale na końcu jest błąd i dlatego nie zapisuje mi do domoticza

Niestety nie wiem co z tym zrobić...

Ratujcie 

 

 
Dodane : 19/01/2022 5:01 pm
(@bobrow)
Wpisów: 387
Weteran
Autor tematu
 

Coś nie halo z biblioteką ?

 
Dodane : 19/01/2022 5:02 pm
(@mig41)
Wpisów: 621
Ekspert
 

Spróbuj zrobić --test_domoticz

/usr/bin/python3 ~/domoticz/plugins/multical402-4-domoticz/multical402-4-domoticz.py -d /dev/ttyUSB0 --debug --test_domoticz 

Może coś więcej to powie. 

 

 
Dodane : 19/01/2022 5:10 pm
(@bobrow)
Wpisów: 387
Weteran
Autor tematu
 

po teście

pi@smarticz:~ $ /usr/bin/python3 ~/domoticz/plugins/multical402-4-domoticz/multi                                                                                                                                                             cal402-4-domoticz.py -d /dev/ttyUSB0 --debug --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 727, in create_connection
    raise err
  File "/usr/lib/python3.7/socket.py", line 716, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
 
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 111] Connection refused>

 

 
Dodane : 19/01/2022 5:12 pm
(@bobrow)
Wpisów: 387
Weteran
Autor tematu
 

W ostatniej linijce jest coś o odrzuconym połączeniu...ale co i jak -to Panie nie mam zielonego pojęcia 😮 

 
Dodane : 19/01/2022 5:17 pm
(@mig41)
Wpisów: 621
Ekspert
 

Tu już secjalista od domoticza potrzebny 🙂

Jest takie coś:

  --ip IP               Domoticz ip address. Defaults to localhost
  --port PORT           Domoticz port. Defaults to 8080

Ale zakładam ,że domoticza masz zainstalowanego na tej samej malinie ( więc localhost jest ok ) , i tak samo port 8080 też jest niezmieniony.  A jak ten skrypt to uaktualnia w domoticzu ....

 
Dodane : 19/01/2022 5:36 pm
(@mig41)
Wpisów: 621
Ekspert
 
Wklej jeszcze z opcją--verbose , może coś jeszcze więcej powie 
/usr/bin/python3 ~/domoticz/plugins/multical402-4-domoticz/multical402-4-domoticz.py -d /dev/ttyUSB0 --verbose --debug --test_domoticz 

 

 

 

 

 

 

 
Dodane : 19/01/2022 5:39 pm
(@bobrow)
Wpisów: 387
Weteran
Autor tematu
 

pi@smarticz:~ $ /usr/bin/python3 ~/domoticz/plugins/multical402-4-domoticz/multi cal402-4-domoticz.py -d /dev/ttyUSB0 --verbose --debug --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 727, in create_connection
raise err
File "/usr/lib/python3.7/socket.py", line 716, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

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 111] Connection refused>
pi@smarticz:~ $

 
Dodane : 19/01/2022 5:51 pm
(@bobrow)
Wpisów: 387
Weteran
Autor tematu
 

to chyba coś z pythonem 3.7...jest linijka ,że się łączy-niby ok , a na końcu rozłączenie...

Ale w opisie tego kodu tj multical402 jest wymóg python 3 i jego serie

 
Dodane : 19/01/2022 5:53 pm
(@bobrow)
Wpisów: 387
Weteran
Autor tematu
 

ten fragment jest o zakłóceniach

File "/usr/lib/python3.7/socket.py", line 727, in create_connection
raise err
File "/usr/lib/python3.7/socket.py", line 716, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

 
Dodane : 19/01/2022 5:54 pm
(@mig41)
Wpisów: 621
Ekspert
 

Domoticza masz zabezpieczonego loginem i hasłem ? Jak wchodzisz przez stronę to podajesz login i hasło ?  wchodzisz na stronę domoticza przez port 8080 ?

 

Bo wnioskuję ,że update sensorów odbywa się w ten sposób: https://www.domoticz.com/wiki/Domoticz_API/JSON_UR L's#Format

 
Dodane : 19/01/2022 5:59 pm
(@mig41)
Wpisów: 621
Ekspert
 

W tym całym skrypcie nie widzę ,żeby ten port na sztywno był ustawiony , to może jeszcze spróbuj go ustawić:

/usr/bin/python3 ~/domoticz/plugins/multical402-4-domoticz/multical402-4-domoticz.py -d /dev/ttyUSB0 --ip 127.0.0.1 --port 8080 --verbose --debug --test_domoticz 

 

albo

 

/usr/bin/python3 ~/domoticz/plugins/multical402-4-domoticz/multical402-4-domoticz.py -d /dev/ttyUSB0 --ip localhost --port 8080 --verbose --debug --test_domoticz 
 
Dodane : 19/01/2022 6:12 pm
(@bobrow)
Wpisów: 387
Weteran
Autor tematu
 

Zaraz ,zaraz-to miałem tam wpisywać IP mojej maliny ? Co to za adres

127.0.0.1
 
Dodane : 19/01/2022 6:18 pm
Strona 6 / 13
Udostępnij: