Contoh ini menunjukkan cara mengakses data pompa panas Valden dari server Anda, Raspberry Pi, dan sebagainya.
Yang Anda butuhkan hanyalah konverter USB-> RS485 dan Python2.
Hubungkan komputer Anda ke baris RS485 seperti yang digambarkan di bawah ini, hubungkan sisi lain dari kawat seperti yang dijelaskan di halaman tampilan Valden dan jalankan skrip Python dari contoh di bawah ini.
Ingat, RS485 adalah garis 3-kawat. Jangan gunakan konverter murah tanpa "sinyal ground" dan dengan hanya A dan B. mereka akan bekerja untuk beberapa meter jarak.


# Communication example for:
# - Valden Display https://github.com/openhp/Display/
# - Valden Service Display https://github.com/openhp/ServiceDisplay/
#
# The source code licensed under GPLv3.
#
# This product is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.
import serial
from time import sleep
import datetime
import string
import sys
#-------------------------------------------------------
#function to send commands and print answers
def SendCommand ( ID_to , command ):
#send command
towrite = str ( ID ) + str ( ID_to ) + command
print "> " + str ( datetime . datetime . now ())[ 0 : 19 ] + " we sent: " + towrite
try :
serial . write ( towrite )
except : #do not catch all exceptions in a real code
print "USB>Serial converter disconnected?" , sys . exc_info ()
line = None
return 0
#read result
try :
line = serial . readline () # read a 'n' terminated line
except : #do not catch all exceptions in a real code
print "USB>Serial converter disconnected?" , sys . exc_info ()
line = None
return 0
#print answer
if len ( line ) > 2 :
print "< " + str ( datetime . datetime . now ())[ 0 : 19 ] + " we got: " + line
else :
print "No answer from" , ID_to , " t t " , str ( datetime . datetime . now ())[ 0 : 19 ]
#-------------------------------------------------------
#open serial
print "Starting.."
try :
serial = serial . Serial ( '/dev/ttyUSB2' , 9600 , timeout = 3 ) #Change serial name to yours!
print "Opened: " , serial . name
except serial . serialutil . SerialException :
print "Serial open error! Change serial name to yours! (ex: /dev/ttyUSB5, or something like COM9 at win)"
exit ( 0 )
#-------------------------------------------------------
#some example values
eev_target = "02.50" #new eev temperature difference
newtemp = "31.50" #new setpoint temperature
ID = chr ( 0x30 ) #this script ID, 0x30 by default, default value supported by all Valden components so do not change it
remote_ID = chr ( 0x41 ) #Remote Display ID ( this display https://github.com/openhp/Display/ or that display https://github.com/openhp/ServiceDisplay/ )
#Remote Display ID can be changed, and yes: few devices with unique IDs can work together at the same time at same line
#-------------------------------------------------------
#example cycle, interaction with Remote Display
#commands:
#(G)et all
#new (T)emperature set (setpoint)
#new (E)EV difference set
#cycle sends 10 times (G)er all command
#then sends (T)emperature set
#then sends (E)EV difference set
#then cycle
while ( 1 == 1 ):
for i in xrange ( 10 ):
SendCommand ( remote_ID , "G" ) #sends 0AG : from ID 0 to ID A (G)et all
sleep ( 5 )
SendCommand ( remote_ID , "T" + newtemp ) #sends 0AT31.50, command format TNN.NN
sleep ( 5 )
SendCommand ( remote_ID , "E" + eev_target ) #sends 0AE02.50, command format ENN.NN
sleep ( 5 ) Contoh output skrip (klik untuk memperbesar): 
Nama Pendek (Kunci) Khusus untuk Komunikasi JSON:
| ABBR. | Nama lengkap |
|---|---|
| A1 | setpoint |
| E1 | kode kesalahan |
| HPC | Pompa panas terhubung (ke tampilan jarak jauh, 1 = ya, 0 = tidak) |
| W1 | Watts |
Semua singkatan dan pesan status yang akan Anda lihat di tampilan terdaftar di Lampiran Pengontrol Pompa Panas Valden. Kode kesalahan juga di sana.
Apa selanjutnya? Anda memiliki semua informasi yang perlu Anda integrasikan, misalnya, dengan asisten rumah atau sistem "rumah pintar" lainnya yang Anda sukai. Just Parse Gets Gets (itu sangat mudah di Python) dan memberi makan pasangan nilai kunci untuk sistem favorit Anda.
Saya tidak menggunakan sistem "rumah pintar", tetapi saya suka grafik. Grafik membantu menganalisis dinamika proses. Jadi, saya memiliki skrip (skrip yang jauh lebih rumit) di sisi server, yang mendapatkan statistik dari semua perangkat saya dan menggambar grafik untuk saya.
Misalnya, grafik harian untuk salah satu pompa panas saya (klik untuk memperbesar): 
Untuk mendapatkan grafik, Anda bisa menggunakan sesuatu seperti sistem pemantauan kaktus.
Dan satu lagi: Anda dapat menggunakan perintah "set suhu" untuk secara otomatis mengubah suhu "setpoint" untuk menciptakan keseimbangan yang nyaman antara penghematan daya dan suhu rumah. Atau sistem tergantung suhu yang bergantung pada hari, jam atau sesuatu-yang ditahan.
© 2015-2021 DAA Semua hak dilindungi undang-undang; gonzho di web.de; https://github.com/openhp/hp-integration-example/.
Teks, media, dan materi lainnya yang dilisensikan di bawah lisensi CC-oleh-SA v4.0.
Atribusi: Anda harus secara jelas mengaitkan integrasi pompa panas Valden (https://github.com/openhp/hp-integration-example/) karya asli dalam karya turunan apa pun.
Bagikan dan bagikan sama: Jika Anda membuat modifikasi atau penambahan ke konten yang Anda gunakan kembali, Anda harus melisensikannya di bawah lisensi CC-by-SA v4.0 atau lebih baru.
Tunjukkan perubahan: Jika Anda membuat modifikasi atau penambahan, Anda harus menunjukkan dengan cara yang wajar bahwa karya asli telah dimodifikasi.
Anda bebas: untuk berbagi dan mengadaptasi materi untuk tujuan apa pun, bahkan secara komersial, selama Anda mengikuti ketentuan lisensi.
Kode sumber yang dilisensikan di bawah GPLV3.
Produk ini didistribusikan dengan harapan akan bermanfaat, tetapi tanpa jaminan apa pun; bahkan tanpa jaminan tersirat dari dapat diperjualbelikan atau kebugaran untuk tujuan tertentu. Lihat Lisensi Publik Umum GNU untuk lebih jelasnya.
Untuk lisensi perpustakaan pihak ketiga yang digunakan dalam produk ini silakan merujuk ke perpustakaan tersebut.