je m'interesse a ce plugin car je voudrai integrer une pompe a chaleur de marque Caliente qui est en fait est une pompe chinoise, gerée par l'appli wifi AlsavoPro.
l'appli et la pompe me donne entiere satisfaction , j'en suis même un peu etonné...
Sur Le github on trouve l'appli AlsavoCtrl qui recupere toutes les données de la pompe (travail de reverse engineering de Mikko Standborg)https://github.com/strandborg/AlsavoCtrl.git .
voila ce que me fournit la sortie de ce programme python apres compilation comme indiqué dans le github.
le mapping est le suivant../home/alsavo/status/16={"type":"status", "index":16, "value":23.4}
/home/alsavo/status/17={"type":"status", "index":17, "value":23.5}
/home/alsavo/status/18={"type":"status", "index":18, "value":19.0}
/home/alsavo/status/19={"type":"status", "index":19, "value":0.0}
/home/alsavo/status/20={"type":"status", "index":20, "value":18.5}
/home/alsavo/status/21={"type":"status", "index":21, "value":28.0}
/home/alsavo/status/22={"type":"status", "index":22, "value":0}
/home/alsavo/status/23={"type":"status", "index":23, "value":18.8}
/home/alsavo/status/24={"type":"status", "index":24, "value":0.0}
/home/alsavo/status/25={"type":"status", "index":25, "value":350}
/home/alsavo/status/26={"type":"status", "index":26, "value":0}
/home/alsavo/status/27={"type":"status", "index":27, "value":0}
/home/alsavo/status/33={"type":"status", "index":33, "value":0}
/home/alsavo/status/34={"type":"status", "index":34, "value":0}
/home/alsavo/status/48={"type":"status", "index":48, "value":0}
/home/alsavo/status/49={"type":"status", "index":49, "value":0}
/home/alsavo/status/50={"type":"status", "index":50, "value":0}
/home/alsavo/status/51={"type":"status", "index":51, "value":0}
/home/alsavo/status/53={"type":"status", "index":53, "value":0}
/home/alsavo/status/54={"type":"status", "index":54, "value":0}
/home/alsavo/status/55={"type":"status", "index":55, "value":41.0}
/home/alsavo/status/56={"type":"status", "index":56, "value":6.0}
/home/alsavo/status/64={"type":"status", "index":64, "value":0}
/home/alsavo/status/65={"type":"status", "index":65, "value":5905}
/home/alsavo/status/66={"type":"status", "index":66, "value":4391}
/home/alsavo/status/67={"type":"status", "index":67, "value":5905}
/home/alsavo/status/68={"type":"status", "index":68, "value":4391}
/home/alsavo/config/1={"type":"config", "index":1, "value":280}
/home/alsavo/config/2={"type":"config", "index":2, "value":189}
/home/alsavo/config/3={"type":"config", "index":3, "value":250}
/home/alsavo/config/4={"type":"config", "index":4, "value":26}
/home/alsavo/config/5={"type":"config", "index":5, "value":0}
/home/alsavo/config/6={"type":"config", "index":6, "value":50}
/home/alsavo/config/7={"type":"config", "index":7, "value":350}
/home/alsavo/config/8={"type":"config", "index":8, "value":500}
/home/alsavo/config/9={"type":"config", "index":9, "value":-70}
/home/alsavo/config/10={"type":"config", "index":10, "value":200}
/home/alsavo/config/11={"type":"config", "index":11, "value":0}
/home/alsavo/config/12={"type":"config", "index":12, "value":40}
/home/alsavo/config/13={"type":"config", "index":13, "value":12}
/home/alsavo/config/14={"type":"config", "index":14, "value":30}
/home/alsavo/config/15={"type":"config", "index":15, "value":-20}
/home/alsavo/config/16={"type":"config", "index":16, "value":1}
/home/alsavo/config/17={"type":"config", "index":17, "value":6}
/home/alsavo/config/32={"type":"config", "index":32, "value":2844}
/home/alsavo/config/33={"type":"config", "index":33, "value":0}
16 = Water in temp
17 = Water out temp
18 = Ambient temperature
19 = "Cold pipe temperature"
20 = "Heating pipe temperature"
21 = IPM module temperature
22 = Fan speed (RPM)
23 = Exhaust temperature
24 = Compressor input temperature? Always zero for me.
25 = Electronic exhaust valve opening setting, Range: 0-450'ish
26 = Compressor current in amps
27 = Compressor running frequency
33 = Compressor speed setting (0 = off, 1 = P1 40Hz, 5 = P5 82Hz)
34 = Frequency limit code
48 = Alarm code 1
49 = Alarm code 2
50 = Alarm code 3
51 = Alarm code 4
52 = System status code (0 in heating operation)(non transmis)
53 = System running code (3 = heating operation, 0 = defrost)
54 = Device status code (43 = heating operation, 175 = defrost)
55 = Heating max temperature
56 = Cooling min temperature
64 = Device type
65 = Main board HW revision
66 = Main board SW revision
67 = Manual HW code
68 = Manual SW code
Config params:
1 = Heating mode target temp
2 = Cooling mode target temp
3 = Auto mode target temp
4 = System config bitmask 1 (See below)
5 = System config bitmask 2 (See below)
6 = Manual frequency setting
7 = Manual EEV setting
8 = Manual fan speed setting
9 = Defrost in temp
10 = Defrost out temp (Heating pipe temperature required to end defrost)
11 = Water temperature calibration (offset for all temperature measurements)
12 = Defrost in time (minimum time between defrost sequences, in minutes)
13 = Defrost out time (max defrost time?)
14 = "Hot over", looks like temperature, but without x10? Default value 30
15 = "Cold over" default -20
16 = Power mode (0 = silent, 1 = smart 2 = powerful)
17 = Unknown, default value 6
32 = Current time, hibyte=hours, lobyte=minutes
33 = Timer on time
34 = Timer off time
Stranborg (l'auteur) offre la possibilité d'envoyer cette sortie sous forme mqtt sur mosquitto avec un script python mqpublish.py.
Apres publication sur mosquitto j'obtiens ca sur mosquitto explorer:
1)a quoi ressemblerait le fichier MqttMapper.json pour recuperer les temperatures (et autres data)?home
alsavo
status
16 = {"type":"status", "index":16, "value":23.2}
17 = {"type":"status", "index":17, "value":23.3}
18 = {"type":"status", "index":18, "value":17.4}
19 = {"type":"status", "index":19, "value":0.0}
20 = {"type":"status", "index":20, "value":17.0}
21 = {"type":"status", "index":21, "value":25.0}
22 = {"type":"status", "index":22, "value":0}
23 = {"type":"status", "index":23, "value":17.1}
24 = {"type":"status", "index":24, "value":0.0}
25 = {"type":"status", "index":25, "value":350}
26 = {"type":"status", "index":26, "value":0}
27 = {"type":"status", "index":27, "value":0}
33 = {"type":"status", "index":33, "value":0}
34 = {"type":"status", "index":34, "value":0}
48 = {"type":"status", "index":48, "value":0}
49 = {"type":"status", "index":49, "value":0}
50 = {"type":"status", "index":50, "value":0}
51 = {"type":"status", "index":51, "value":0}
53 = {"type":"status", "index":53, "value":0}
54 = {"type":"status", "index":54, "value":0}
55 = {"type":"status", "index":55, "value":41.0}
56 = {"type":"status", "index":56, "value":6.0}
64 = {"type":"status", "index":64, "value":0}
65 = {"type":"status", "index":65, "value":5905}
66 = {"type":"status", "index":66, "value":4391}
67 = {"type":"status", "index":67, "value":5905}
68 = {"type":"status", "index":68, "value":4391}
config
1 = {"type":"config", "index":1, "value":280}
2 = {"type":"config", "index":2, "value":189}
3 = {"type":"config", "index":3, "value":250}
4 = {"type":"config", "index":4, "value":26}
5 = {"type":"config", "index":5, "value":0}
6 = {"type":"config", "index":6, "value":50}
7 = {"type":"config", "index":7, "value":350}
8 = {"type":"config", "index":8, "value":500}
9 = {"type":"config", "index":9, "value":-70}
10 = {"type":"config", "index":10, "value":200}
11 = {"type":"config", "index":11, "value":0}
12 = {"type":"config", "index":12, "value":40}
13 = {"type":"config", "index":13, "value":12}
14 = {"type":"config", "index":14, "value":30}
15 = {"type":"config", "index":15, "value":-20}
16 = {"type":"config", "index":16, "value":1}
17 = {"type":"config", "index":17, "value":6}
32 = {"type":"config", "index":32, "value":2578}
33 = {"type":"config", "index":33, "value":0}
34 = {"type":"config",
2) comment creer les devices ? est ce automatique ? faut il redemarrer domoticz?
Merci de votre aide...
cordialement
Knasson