souliss / soulissapp

SoulissApp is an Android Application for Souliss Framework
https://play.google.com/store/apps/details?id=it.angelic.soulissclient
MIT License
33 stars 33 forks source link

T31 does not correctly store setpoint #36

Open ribico opened 9 years ago

ribico commented 9 years ago

Not sure if that us the only issue, but at first sight it seems to me that the shown setpoint in soulissapp is not stored in the memory map +3 (as it should). Moreover at startup soulissapp show 24 deg and the memory map have 0.0

shineangelic commented 9 years ago

The shown setPoint is read from third slot, yes, while current temp is on slot1. It is normal that shown val is 24 degrees, it's the default starting value when setpoint is out of range 16-30.

Can you confirm that the sent setpoint command is correct? this would be something

ribico commented 9 years ago

No, unfortunately I confirm that the set point value read in the memory map only gets value equals to -2.15, 0.0 and +2.15 at +/- button press on soulissapp. It never copy the value in the app.

Gabriele Ribichini - LEANE International srl mob : +39 329 1920 851 Il 01/set/2015 11:33 AM, "shineangelic" notifications@github.com ha scritto:

The shown setPoint is read from third slot, yes, while current temp is on slot1. It is normal that shown val is 24 degrees, it's the default starting value when setpoint is out of range 16-30.

Can you confirm that the sent setpoint command is correct? this would be something

— Reply to this email directly or view it on GitHub https://github.com/souliss/soulissapp/issues/36#issuecomment-136649675.

shineangelic commented 9 years ago

Let's start from the base commands. Is the "OFF" command sent properly? Its opcode (MaCaCo) should be 0x0D

shineangelic commented 9 years ago

also see #17 , but let's start with the correct representation of current T31 status given from framework. We'll debug commands after the shown status (mode and temp) is correct

plinioseniore commented 9 years ago

I've commited a new branch ilpexfurioso that is based on the HEAD and contains some logs on the Serial, so that you can have a better view.

It contains also a modified example, this simulate a measured analog value and runs the Thremostat logic slowly so that we can follow the input and output in a better way.

The VNET_DEBUG is enabled by default and this will give a better understanding.

Please post your result here, so that we can track the behavior of T31 and SoulissApp.

ribico commented 9 years ago

Good idea. Il 03/set/2015 11:17 PM, "Dario Di Maio" notifications@github.com ha scritto:

I've commited a new branch ilpexfurioso https://github.com/souliss/souliss/tree/ilpexfurioso that is based on the HEAD and contains some logs on the Serial, so that you can have a better view.

It contains also a modified example https://github.com/souliss/souliss/blob/ilpexfurioso/examples/ilpexfurioso/e01_PEXvsT31_ESP8266/e01_PEXvsT31_ESP8266.ino, this simulate a measured analog value and runs the Thremostat logic slowly so that we can follow the input and output in a better way.

The VNET_DEBUG is enabled by default and this will give a better understanding.

Please post your result here, so that we can track the behavior of T31 and SoulissApp.

— Reply to this email directly or view it on GitHub https://github.com/souliss/soulissapp/issues/36#issuecomment-137577551.

elminister83 commented 9 years ago

this is the message for the setpoint 27°, heating mode, fan auto previous memory are IN-0) 0 IN-1) 80 IN-2) 4E IN-3) 0 IN-4) 0 messagge: (vNet)(0xC9)<|0x15|0x17|0xCC|0xC9|0x14|0x0|0x0|0x27|0xA|0x0|0x0|0x0|0x0|0x0|0xC|0x0|0x0|0x4E|0xC0> (vNet)(0xC9)<|0xB|0x17|0xCC|0xC9|0x5|0x0|0x0|0x57|0x18>

IN-0) C IN-1) 80 IN-2) 4E IN-3) 4E IN-4) C0

the last two values ( setpoint ) are inverted 4ec0 -> c04e, and the command ( C ) has gone wrong C=1100 cooling and fan1 on but sysytem off should be 11000011

plinioseniore commented 9 years ago

The 0x0C is the SetTemp command and is right, the status byte is for OUTPUT and not for INPUT.

The temperature is likely reversed in the two bytes, what is the output on the Serial monitor for the temperatures?

Thanks.

plinioseniore commented 9 years ago

As general reference:

The difference is calculated as measured values (MV) less setpoint (SP) D = MV - SP, the output goes on based on the sign of this difference and on the selected mode (cooling / heating).

This typical use five (5) memory slot, arranged as follow Temperature Control User Commands (IN / OUT) SLOT +0
Temperature Measured Value (IN / OUT) SLOT +1, SLOT +2 Temperature Setpoint Value (IN / OUT) SLOT +3, SLOT +4

The available commands are:

define Souliss_T3n_InSetPoint 0x01

define Souliss_T3n_OutSetPoint 0x02

define Souliss_T3n_AsMeasured 0x03

define Souliss_T3n_Cooling 0x04

define Souliss_T3n_Heating 0x05

define Souliss_T3n_FanOff 0x06

define Souliss_T3n_FanLow 0x07

define Souliss_T3n_FanMed 0x08

define Souliss_T3n_FanHigh 0x09

define Souliss_T3n_FanAuto 0x0A

define Souliss_T3n_FanManual 0x0B

define Souliss_T3n_SetTemp 0x0C

define Souliss_T3n_ShutDown 0x0D

The Output will result in the following state (1 byte); The control state bit meaning follow as: BIT 0 (0 System OFF, 1 System ON) BIT 1 (0 Heating OFF , 1 Heating ON) BIT 2 (0 Cooling OFF , 1 Cooling ON) BIT 3 (0 Fan 1 OFF , 1 Fan 1 ON) BIT 4 (0 Fan 2 OFF , 1 Fan 2 ON) BIT 5 (0 Fan 3 OFF , 1 Fan 3 ON) BIT 6 (0 Manual Mode , 1 Automatic Mode for Fan) BIT 7 (0 Heating Mode, 1 Cooling Mode)

plinioseniore commented 9 years ago

One more, the ilpexfurioso branch will printout the conversion of the half-precision floating point, so that we can understand if SoulissApp is doing the conversion properly.

elminister83 commented 9 years ago

in_temp 26.50 in_setpnt -2.15 actual_temp 26.00 actual_setpnt -2.15 in_temp 26.50 in_setpnt -2.15 actual_temp 26.00 actual_setpnt -2.15

plinioseniore commented 9 years ago

So looks like that SoulissApp is using swapped bytes, but I think that Alessandro has also noted this behavior.

Alessandro, I think that the best would be to provide the APK with the actual code (without an official release) just for people that want to help with these test.

Please share the APK on the ML, without including it on the Google Drive, where we should kept only official downloads.

shineangelic commented 9 years ago

yes, the "inverted bytes" issue has been fixed in 1.5.3. T31 is a multi-head monster that is just living too long. ilpexfurioso branch helped us killing him, just wait for next release :)

Alessandro

2015-09-06 12:59 GMT+02:00 Dario Di Maio notifications@github.com:

So looks like that SoulissApp is using swapped bytes, but I think that Alessandro has also noted this behavior.

Alessandro, I think that the best would be to provide the APK with the actual code (without an official release) just for people that want to help with these test.

Please share the APK on the ML, without including it on the Google Drive, where we should kept only official downloads.

— Reply to this email directly or view it on GitHub https://github.com/souliss/soulissapp/issues/36#issuecomment-138069783.

shineangelic commented 9 years ago

any news here on 1.5.3?

shineangelic commented 8 years ago

damn T31. Can someone report its functioning in version 1.7.0 of app please?