NOTExplorer.py - ΡΡΠΈΠ»ΠΈΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Opentherm ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ΡΠ»ΡΠ·Π°, Π²ΡΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ ΠΠ΅Π²ΠΎΡΠΎΠ½, ΠΈ Π²Π°ΡΠΈΠΌ ΠΊΠΎΡΠ»ΠΎΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΌ ΡΡΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ». Π£ΡΠΈΠ»ΠΈΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΡΠΎΡΡΠ½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΡΡΠΈΠ½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ), ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π²/ΠΈΠ· ΡΠΎΡΠΌΠ°Ρ(Π°) ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Opentherm.
Π£ΡΠΈΠ»ΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΡΠ΅Π΄Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° WirenBoard (ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»Π°ΡΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»Π°ΡΡ Π½Π° WirenBoard 6), ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python3 (ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ 3.5), ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ paho-mqtt (Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ΅Π· MQTT) ΠΈ pymodbus (Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ΅Π· serial/modbusRTU ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ). ΠΠΈΡΠΎΠ½ Π½Π° WB, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΆΠ΅ ΡΡΠΎΠΈΡ, Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΡΠ΅Π· pip ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ apt-get install python3-paho-mqtt
ΠΈ apt-get install python3-pymodbus
. ΠΡΠ±ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, Π·Π°ΠΏΡΡΠ΅Π½/ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ wb-mqtt-serial, ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π²Π°ΡΠ΅Π³ΠΎ WBE2-I-OPENTHERM ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΡΠ»ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ Ρ MQTT ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, ΠΈΠ½Π°ΡΠ΅ - Ρ serial/modbusRTU.
ΠΡΠ±ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ -t
ΠΈ -m
. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ MQTT ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ° MQTT ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, -t wbe2-i-opentherm_11
), Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ - ΠΈΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ Π²Π°Ρ ΡΠ»ΡΠ· (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, -m /dev/ttyMOD1
). ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ MQTT-Π±ΡΠΎΠΊΠ΅ΡΡ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ modbus ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° (ΠΊΠ»ΡΡ -m
) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ°ΡΠ½ΡΠΌ ΡΠ»ΡΠ·ΠΎΠΌ mqtt<->serial (Ρ.Π΅., Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, fuser -v /dev/ttyMOD1
Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° wb-mqtt-serial). ΠΡ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ MQTT ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΡΠ°ΡΠ½ΡΠΉ ΡΠ»ΡΠ· Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ ΠΈ Π²Π°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ WirenBoard (ΠΊΠΎΡΠΎΡΡΠΉ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»ΡΠ·ΠΎΠΌ wb-mqtt-serial). Π£ΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π°", ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ NOTExplorer, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ WBE2-I-OPENTHERM Ρ firmware Π²Π΅ΡΡΠΈΠΈ 1.3 ΠΈ ΡΡΠ°ΡΡΠ΅.
Π£ΡΠΈΠ»ΠΈΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
read <data-id>[/<data-value>]
- ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° (Π΅ΡΠ»ΠΈ ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ
Π² ΠΊΠΎΡΡΠ», ΠΎΠ½ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΡΠΌΠΎΠΉ ΡΠ»ΡΡ)
write <data-id> <data-value>
- Π·Π°ΠΏΠΈΡΡ ΡΡΠ΅ΠΉΠΊΠΈ Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
readtsp <paramStart>[-<ParamFinish>]
- ΡΡΠ΅Π½ΠΈΠ΅ "ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ³ΠΎ" ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠΎΡΠ»Π° (Transparent Slave Parameter (TSP))
writetsp <paramN> <ParamValue>
- Π·Π°ΠΏΠΈΡΡ "ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ³ΠΎ" ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠΎΡΠ»Π°
readerr <errN>
- ΡΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ±ΠΎΠ΅Π² (Fault-History-Buffer (FHB))
scan
- ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΡΠ΅Π΅ΠΊ opentherm Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
fullscan [<start-id>[-<finish-id>]]
- ΡΠΏΠ»ΠΎΡΠ½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΡΡΠ΅Π΅ΠΊ opentherm Π²Π΅Π΄ΠΎΠΌΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
cmd
- Π·Π°ΠΏΡΡΠΊ ΡΡΠΈΠ»ΠΈΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅, Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
ΠΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°ΡΡ Π΄ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π±ΡΠΊΠ²Ρ (r
Π²ΠΌΠ΅ΡΡΠΎ read
ΠΈ Ρ.Π΄., ΠΊΡΠΎΠΌΠ΅ readtsp
, writetsp
ΠΈ readerr
ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ rt
, wt
ΠΈ re
)
ΠΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΡΠΎΠΌΠ΅ cmd
, scan
ΠΈ fullscan
ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, Π² Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΡΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΊΠ»ΡΡΠ° -v
(Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅), ΡΡΠΈΠ»ΠΈΡΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΠΈΠ· ΡΡΠ΅Π΅ΠΊ opentherm Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ.
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ write
(ΠΈ ΡΡΠ΅Π½ΠΈΠΈ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΈΠΊΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
Π² ΡΠΎΡΠΌΠ°Ρ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΉ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ opentherm. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
write 8 12.5%F8.8
- Π·Π°ΠΏΠΈΡΡ Π² Π²ΠΎΡΡΠΌΡΡ ΡΡΠ΅ΠΉΠΊΡ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° 12.8 (ΡΡΠΎ, Π² ΡΠΎΡΠΌΠ°ΡΠ΅ opentherm F8.8, ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΠΈ 16-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° 3200; Π΄Π»Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠΈΡΠ΅Π» Π²ΠΌΠ΅ΡΡΠΎ '-' ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ '~')
ΠΈΠ»ΠΈ write 126 3%HB0
- Π·Π°ΠΏΠΈΡΡ Π² 126-Ρ ΡΡΠ΅ΠΉΠΊΡ ΡΠΈΡΠ»Π° 3 Π² ΡΡΠ°ΡΡΠΈΠΉ Π±Π°ΠΉΡ (Π° ΡΠΎΡΠ½Π΅Π΅, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π±ΠΈΡΠ° 0 ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π±Π°ΠΉΡΠ°, ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΠΈ 16-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° 768)
ΠΈΠ»ΠΈ read 0/1%HB0+1%HB3
- ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ 0 Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ
Π±ΠΈΡΠΎΠ² 0 ΠΈ 3 ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π±Π°ΠΉΡΠ° (ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΡΡΠ΅Π½ΠΈΡ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ 16-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 2304)
ΠΡΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΊΠ»ΡΡΠ° -r
ΡΡΠΈΠ»ΠΈΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ (Π΄ΠΎ ΡΡΡΡ
ΡΠ°Π·, Π΅ΡΠ»ΠΈ ΠΊΠ»ΡΡ Π΄Π°Π½ Π±Π΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ) ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΡΡΡΡΠ°Π½ΠΈΠΌΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΡΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΊΠ»ΡΡΠ° -l
ΡΡΠΈΠ»ΠΈΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π»ΠΎΠ³-ΡΠ°ΠΉΠ», Π° ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠ»ΡΡΠ° -d
ΡΡΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΡΠ»Π° (DATA-ID 3) ΡΠ΅ΡΠ΅Π· MQTT ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ· ΡΡΡΡΠΎΠΉΡΡΠ²Π° wbe2-i-opentherm_11
./NOTExplorer.py -t wbe2-i-opentherm_11 read 3
Π‘Π±ΡΠΎΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΡΠ»Π° ΡΠ΅ΡΠ΅Π· MQTT ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (Π·Π°ΠΏΠΈΡΡ 1 Π² ΡΡΠ°ΡΡΠΈΠΉ Π±Π°ΠΉΡ ΡΡΠ΅ΠΉΠΊΠΈ Ρ DATA-ID 4, (Ρ ΠΏΠΎΠ²ΡΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ°ΠΉΠ» 'log' ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΠΎΠ±ΠΌΠ΅Π½Π°)
./NOTExplorer.py -t wbe2-i-opentherm_11 -r -l log -d -v write 4 1%HB0
ΠΡΠ΄Π°ΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Ρ Ρ modbus ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 11 ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ /dev/ttyMOD1
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π°: Π·Π°ΠΏΠΈΡΡ ΡΠ΅ΡΠ΅Π· opentherm Π² ΡΡΠ΅ΠΉΠΊΡ 2 (ΠΊΠΎΡΠ»Π°) Π·Π½Π°ΡΠ΅Π½ΠΈΡ 27, ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ 0 Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ
Π±ΠΈΡΠΎΠ² 0 ΠΈ 3 ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π±Π°ΠΉΡΠ° Π΄Π°Π½Π½ΡΡ
(ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ "CH enable" + "OTC active"), Π·Π°ΠΏΠΈΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ 50 Π³ΡΠ°Π΄ΡΡΠΎΠ² Π² ΡΡΠ΅ΠΉΠΊΡ 1, ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π΅ΠΊ 3 ΠΈ 5 (Ρ ΠΏΠΎΠ²ΡΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΡΠ°ΠΉΠ» 'log')
./NOTExplorer.py -m /dev/ttyMOD1 -a 11 -r -l log w 2 27 r 0/1%HB0+1%HB3 w 1 50%F8.8 r 3 r 5
ΠΠΎΠ»Π½ΠΎΠ΅ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ 255 opentherm ΡΡΠ΅Π΅ΠΊ ΠΊΠΎΡΠ»Π° (Ρ ΠΏΠΎΠ²ΡΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ΅Π½ΠΈΡ Π΄Π²Π° ΡΠ°Π·Π° Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ°ΠΉΠ» 'fullscan.log' ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΠΎΠ±ΠΌΠ΅Π½Π°)
./NOTExplorer.py -m /dev/ttyMOD1 -r 2 -l fullscan.log -d -v f 1-255
P.S. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² https://github.com/sthamster/notexplorer
P.P.S. ΠΡ ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π»ΡΠ±ΠΎΠΏΡΡΠ½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π² ΠΊΠΎΠ΄Π΅ ΠΊΠ»Π°ΡΡΠ° OTDecoder, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ self.otd
, Π³Π΄Π΅, ΡΠΎΠ±ΡΡΠ΅Π½Π½ΠΎ, ΠΈ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ ΡΡΠ΅ΠΉΠΊΠ°ΠΌ opentherm ΡΡΡΡΠΎΠΉΡΡΠ²... ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠ΅, ΠΈΠ±ΠΎ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Ρ ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ
Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅/Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.