I have a problem that the temperature shows 45¤C in the morning with 5¤C arround the inverter, could it be because it is a 3.0 inverter ?
Inverter Name : FMIPV
Inverter SN : 90343ILK00004
Inverter Ref : 10019948
Inverter Model : PIKO 3.0
Inverter Version: 0310 03.59 03.61
Inverter String : 1
Inverter Phase : 1
Total Time : 58248h 52m 38s (2427 j)
Running Time : 27258h 51m 28s
Last Port. upld : 00h 36m 38s
Last Hist. updt : 00h 06m 29s
Hist. updt step : 00h 15m 00s
Inverter Status : 3 (Running-MPP)
Inverter Error : 0
Total energy : 21318978 Wh
Today energy : 2173 Wh
DC Power : 70 W
AC Power : 40 W
Efficiency : 57.1%
DC String 1 : 613.0 V 0.11 A 70 W T=a240 (43.57 C) S=0009
DC String 2 : 0.0 V 0.00 A 0 W T=ffe0 ( 0.00 C) S=0002
DC String 3 : 0.0 V 0.00 A 0 W T=f880 ( 0.00 C) S=0003
AC Phase 1 : 233.1 V 0.23 A 40 W T=9bc0 (47.29 C)
AC Phase 2 : 0.0 V 0.00 A 0 W T=0000 (99.99 C)
AC Phase 3 : 0.0 V 0.00 A 0 W T=0000 (99.99 C)
AC Status : 8 (0008 ---L-2-)
Thanks Flemming
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello Flemming,
Thanks,
The inverter send back the temperature using 16 bit integer value.
By reverse engeneering, I found that 8.3 and 10T inverter use this formula
wich is enabled by default : T = 22 + (0xc800 - Received int)/448
Later, someone having a 5.5 gave me the same issue as you have, so we found
that, for them temperature would be T = 22 + (0x8000 - Received int)/448
It seem that your 3.0 is using this range (or near the same).
You could try to add this to the command line arguments :
--tref=8000 (using double minus sign)
Normaly, with the data you pasted above DC Temp where received int is
0xa240 should give about 2 degree and AC Phase1 with T=0x9BC0 should give
about 7 degrees.
Let me know if coherency is beter with this. If this is fine, you can
duplicate a test at about line 375 to default reference to 8000 for PIKO
3.0 by default:
if InvModel == "PIKO 3.0":
TRef="8000"
Romuald.
I have a problem that the temperature shows 45¤C in the morning with 5¤C
arround the inverter, could it be because it is a 3.0 inverter ?
Inverter Name : FMIPV
Inverter SN : 90343ILK00004
Inverter Ref : 10019948
Inverter Model : PIKO 3.0
Inverter Version: 0310 03.59 03.61
Inverter String : 1
Inverter Phase : 1
Total Time : 58248h 52m 38s (2427 j)
Running Time : 27258h 51m 28s
Last Port. upld : 00h 36m 38s
Last Hist. updt : 00h 06m 29s
Hist. updt step : 00h 15m 00s
Inverter Status : 3 (Running-MPP)
Inverter Error : 0
Total energy : 21318978 Wh
Today energy : 2173 Wh
DC Power : 70 W
AC Power : 40 W
Efficiency : 57.1%
DC String 1 : 613.0 V 0.11 A 70 W T=a240 (43.57 C) S=0009
DC String 2 : 0.0 V 0.00 A 0 W T=ffe0 ( 0.00 C) S=0002
DC String 3 : 0.0 V 0.00 A 0 W T=f880 ( 0.00 C) S=0003
AC Phase 1 : 233.1 V 0.23 A 40 W T=9bc0 (47.29 C)
AC Phase 2 : 0.0 V 0.00 A 0 W T=0000 (99.99 C)
AC Phase 3 : 0.0 V 0.00 A 0 W T=0000 (99.99 C)
AC Status : 8 (0008 ---L-2-)
Hi,
This was for compatibility with SQLite who does not have a DateTime data type.
See section 2.2 of this document : https://www.sqlite.org/datatype3.html
Romuald
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo
It is a lovely program.
I have a problem that the temperature shows 45¤C in the morning with 5¤C arround the inverter, could it be because it is a 3.0 inverter ?
Inverter Name : FMIPV
Inverter SN : 90343ILK00004
Inverter Ref : 10019948
Inverter Model : PIKO 3.0
Inverter Version: 0310 03.59 03.61
Inverter String : 1
Inverter Phase : 1
Total Time : 58248h 52m 38s (2427 j)
Running Time : 27258h 51m 28s
Last Port. upld : 00h 36m 38s
Last Hist. updt : 00h 06m 29s
Hist. updt step : 00h 15m 00s
Inverter Status : 3 (Running-MPP)
Inverter Error : 0
Total energy : 21318978 Wh
Today energy : 2173 Wh
DC Power : 70 W
AC Power : 40 W
Efficiency : 57.1%
DC String 1 : 613.0 V 0.11 A 70 W T=a240 (43.57 C) S=0009
DC String 2 : 0.0 V 0.00 A 0 W T=ffe0 ( 0.00 C) S=0002
DC String 3 : 0.0 V 0.00 A 0 W T=f880 ( 0.00 C) S=0003
AC Phase 1 : 233.1 V 0.23 A 40 W T=9bc0 (47.29 C)
AC Phase 2 : 0.0 V 0.00 A 0 W T=0000 (99.99 C)
AC Phase 3 : 0.0 V 0.00 A 0 W T=0000 (99.99 C)
AC Status : 8 (0008 ---L-2-)
Thanks Flemming
Hello Flemming,
Thanks,
The inverter send back the temperature using 16 bit integer value.
By reverse engeneering, I found that 8.3 and 10T inverter use this formula
wich is enabled by default : T = 22 + (0xc800 - Received int)/448
Later, someone having a 5.5 gave me the same issue as you have, so we found
that, for them temperature would be T = 22 + (0x8000 - Received int)/448
It seem that your 3.0 is using this range (or near the same).
You could try to add this to the command line arguments :
--tref=8000 (using double minus sign)
Normaly, with the data you pasted above DC Temp where received int is
0xa240 should give about 2 degree and AC Phase1 with T=0x9BC0 should give
about 7 degrees.
Let me know if coherency is beter with this. If this is fine, you can
duplicate a test at about line 375 to default reference to 8000 for PIKO
3.0 by default:
if InvModel == "PIKO 3.0":
TRef="8000"
Romuald.
Le mar. 1 janv. 2019 à 15:52, Flemming Mikkelsen flmmmm@users.sourceforge.net a écrit :
Hallo Romuald
Perfect, thank You/Merci
I ended up with TRef="9300"
//Flemming
Last edit: Flemming Mikkelsen 2019-01-09
Hi Romuald,
I'm using your script for years and I like it a lot! Thank you so much!
I just wonder why you chose VARCHAR instead of DATETIME for DB format of TIME information. Was that an intentoinal choice?
Thank you!
Hi,
This was for compatibility with SQLite who does not have a DateTime data type.
See section 2.2 of this document : https://www.sqlite.org/datatype3.html
Romuald