Commit Graph

236 Commits

Author SHA1 Message Date
Noe 6a18e56cf7 Created error table, provided error handling 2023-11-15 17:22:42 +01:00
atef dd19222728 small fixes in program Salimax 2023-11-14 10:48:16 +01:00
Noe 71b4a1d2bd Move watchdog to utils 2023-11-13 17:53:03 +01:00
Noe 511c3080a6 Put try-catch statement when trying to connect to the queue for the first time 2023-11-06 14:29:04 +01:00
Noe 30a3a05de0 Fixed websockets, updated Salimax controller code 2023-11-06 14:26:15 +01:00
Noe a2155ee086 Try RabbitMQ without VPN IP 2023-11-02 16:46:18 +01:00
atef 1d5578ad9a Update few code 2023-11-02 16:38:01 +01:00
atef 15d0eac3c5 Add a communication to the middelware 2023-11-02 16:03:08 +01:00
Noe 22ad7b3612 Add Middleware functionality, add middleware connection to the controller 2023-11-02 15:50:04 +01:00
atef 5714d9457b AcDcToDclink nullable 2023-11-02 13:43:07 +01:00
atef a59051dcc1 Change LedState to SalimaxAlarmState.
Create a GetSalimaxStateAlarm that return the salimax state alarm
2023-11-02 13:42:26 +01:00
atef 8d67bea146 Update the size of local csv file. 2023-10-30 16:27:15 +01:00
atef 48e766bdde Add acDctoDclink in status record and CreateAvg function WIP 2023-10-30 16:26:32 +01:00
atef 71fb914c41 Add an config input to display iundvidual batteries 2023-10-30 16:24:57 +01:00
atef 66f6fbb878 using date time instead of unixtime 2023-10-23 11:05:18 +02:00
atef 1654d6f4dd Using channel instead of tcp channel and create channel based on the device state. 2023-10-23 10:47:57 +02:00
atef 9b1dd755e2 Update PvonGrid and PvOnIsland type. (this is temporary) this is must be updated to AcPvstatus 2023-10-23 10:45:05 +02:00
atef 7b39e02bcd Update Topology data. 2023-10-23 10:43:42 +02:00
atef af0da881f3 update All states graph and Controller.cs All states are defined now 2023-10-23 10:36:09 +02:00
atef 171d3715b0 update config class, create salimax device and device state attribute for devices 2023-10-23 10:35:13 +02:00
atef 05926994b7 Update AcPower and Dc Power Devices under the folder devices 2023-10-23 10:03:00 +02:00
atef 358b1f0ec1 Add System Log to the statusRecord 2023-10-04 15:19:41 +02:00
atef 04bfbfc8b9 Add Log {Led and Message} for Salimax status and alarm 2023-10-04 15:17:43 +02:00
atef 7c7fdf1eae Update to unix time 2/2 2023-10-03 16:01:34 +02:00
atef 81ee127d62 Update to Unix time 2023-10-03 16:01:17 +02:00
atef 07e0e1f956 Add time stamp on console 2023-10-03 16:00:54 +02:00
atef ea5ce5617a add loginfo on the toCsv() 2023-10-03 16:00:28 +02:00
atef 1fb95cbb56 Update the S3 data in config file (in Debug mode) 2023-10-03 15:59:07 +02:00
ig b7cda31b58 minor 2023-10-02 15:10:01 +02:00
ig 3ce40b936a Remove UnixTime.csproj, use DateTimeUtils instead 2023-10-02 15:08:40 +02:00
atef 8f876a37bd Update to the battery power instead of Dc Dc power for the variable "l" 2023-10-02 14:50:10 +02:00
atef b1d553870e Change from control special error to Detect Alarm States
Add loginfo to toCsv()
2023-10-02 14:49:24 +02:00
atef 25d3ae9252 Adapt logfile to save .csv in local machine. 2023-09-27 14:37:11 +02:00
atef 0d400a0eea Add Control Special Error. 2023-09-15 09:38:21 +02:00
atef 3ae8a97d15 Delete to do log 2023-09-15 09:23:09 +02:00
atef 3b77c4a5b2 Added the feature of the forceCalibrationCharge in the config file. 2023-09-13 10:57:12 +02:00
ig b213d97537 resharper ignore "typo" 2023-09-11 11:33:12 +02:00
atef 93539bee0e Add max power control in Program.cs 2023-09-08 09:34:38 +02:00
atef e58b949160 Add max Dc Power in the config file 2023-09-08 09:33:29 +02:00
atef fd52a94d18 update control constants. 2023-09-07 17:41:42 +02:00
atef b39b512a12 Fix control constants, we assign the Dc bus Voltage info depends on the mode 2023-09-07 17:28:10 +02:00
atef f8b13a9814 Delete the hard coded value for Dc Bus Voltage 2023-09-07 17:25:56 +02:00
atef bcaab09190 Correct the name of the reference Dc Link Voltage 2023-09-07 17:24:56 +02:00
atef 9510d0b47e Add Dc Bus Voltage info in the Config.cs 2023-09-07 17:23:48 +02:00
atef 31ad48e77e Add DevicesConfig, AcDcConfig and DcDCConfig 2023-09-07 17:22:39 +02:00
ig 3b1a553be5 Limit DischargePower based on nb. of batteries that are actually connected to the DC bus, not nb. of batteries that communicate 2023-09-06 10:20:32 +02:00
atef b9098e3979 Delete unnecessary code and comment 2023-09-04 15:57:08 +02:00
atef 1ab369bff9 Change name flag to requested 2023-09-04 10:15:55 +02:00
ig 7ecb6e4607 Introduce VoltageRms and CurrentRms and use them where appropriate 2023-09-01 14:52:09 +02:00
ig 006ea0e1ee remove stale file 2023-09-01 14:36:50 +02:00
ig 7fc5f80e8c make BatteryStatus nullable 2023-09-01 14:36:50 +02:00
ig 851b936217 only write config file when contents have changed (memo) 2023-09-01 14:36:50 +02:00
atef b5436e64aa Use the Active power for display Ac Power 2023-09-01 14:15:31 +02:00
atef 26422284dd Change from falg to requested 2023-09-01 14:14:34 +02:00
atef 9bbccfd34b Add a Calibration Charge Flag based on the Time Since TOC. 2023-09-01 10:48:44 +02:00
ig 05f0a7e9f9 convert composite units to records 2023-09-01 09:18:44 +02:00
atef 6c2360f0ad Add time to TOC request 2023-08-31 15:16:27 +02:00
ig cc2ab03d01 split CalculateEnergyFlow into 3 functions 2023-08-31 13:19:48 +02:00
atef 5bcb46f841 Add Fi Warning and Error display 2023-08-31 12:58:37 +02:00
atef 9e03965d5b Add a CalculateEnergyflow function in program.cs
Moved the CalculateEnergyFlow to Toplogy.cs
2023-08-31 10:13:28 +02:00
ig 3c47089bcf make Power of virtual devices "required", ditch Null device 2023-08-30 15:12:41 +02:00
atef 9e31046f43 Update the energy flow calculation and add the ascii topology as a comment 2023-08-30 13:44:58 +02:00
atef 9edd875066 Display heating power in the battery and fix the K1/K2 open switch 2023-08-30 13:42:41 +02:00
atef c5cb31ac88 Delete a no needed display. 2023-08-30 13:40:53 +02:00
ig 41ccc63175 modify Topology.cs to properly display missing/unreachable devices (mayor rewrite) 2023-08-25 17:22:02 +02:00
ig 9a400d992d remove fake nullables from status record 2023-08-25 17:18:26 +02:00
ig 4907654841 add support for unknown/nullable flows 2023-08-25 17:17:41 +02:00
ig 27a4411ebf make AmptStatus nullable in StatusRecord.cs 2023-08-25 17:16:28 +02:00
ig 2ace3fad51 "Notify" the Watchdog 2023-08-24 10:03:20 +02:00
ig d4fdf92009 add visual representation of relay states to topology 2023-08-23 16:11:34 +02:00
ig 980b09ddb4 declutter Topology code some more 2023-08-23 13:37:59 +02:00
ig 664290c44b reorder Topology generation code 2023-08-23 09:23:50 +02:00
ig d731c12f64 add minor error handling in Texblock 2023-08-18 15:57:00 +02:00
ig 2047f25e4e Break off Topology related stuff into own class 2023-08-16 15:41:13 +02:00
ig 3d3a0375d2 Undo Default constructor. Compiler cannot deal with it yet. 2023-08-16 15:38:46 +02:00
ig df9de4c9ed Cleanup text based Topology 2023-08-16 15:15:45 +02:00
ig 9b4b947569 use primary constructor 2023-08-16 15:11:37 +02:00
ig 2d6c6b6140 reduce debug clutter 2023-08-16 10:36:31 +02:00
ig 0b8aa5a96e move Watchdog related code into its own class 2023-08-16 09:45:34 +02:00
ig d633564b93 fix Config.cs for debug mode 2023-08-15 15:45:43 +02:00
atef bfb1670d11 Update Display of the battery features
( A H = Heating Current
   A C/D = Charging/Discharging Current
   A T = Total Current)
2023-08-10 13:08:24 +02:00
atef 898ea3fcd8 Delete the intermediate state.
Update the state machine as defined in the excel sheet.

Commment the disable function of Dc/Dc, as we don't need to disable Dc/DC in the grid tie and island transition(I will delete the function in the future).
2023-08-10 13:06:42 +02:00
atef 8b159a6a2c Update the state number on Select Control mode function 2023-08-10 13:04:07 +02:00
atef f6699787dd Add Observable for the run task
Add few constant control
2023-08-02 11:08:40 +02:00
atef f9193f4624 Introduce constant (battery heating power = 200) 2023-08-02 11:05:26 +02:00
atef e6f1263e4b Change the max charge batteries limit when we are in heating mode 2023-08-02 11:04:33 +02:00
atef a10193592f clean code 2023-08-02 11:01:05 +02:00
atef a677c878e8 Add reference and Window Dc/Dc voltage to the config file 2023-07-24 10:50:41 +02:00
atef 4563103572 Add console display in island mode and replace loginfo instead console.writeline 2023-07-13 10:49:23 +02:00
atef 12b0c94d78 Update Config file and Inverter state 2023-07-13 09:53:44 +02:00
atef 486abbdf56 Switch few function from public to private 2023-07-13 09:53:13 +02:00
ig e400c11d3c Remove InvertersAreConnectedToAc enum. no longer used. 2023-07-11 14:07:42 +02:00
atef bd24a725c6 Add display fail reading error 2023-07-10 10:34:51 +02:00
atef 93d8936430 Add Console Writeline in Log 2023-07-10 10:22:09 +02:00
atef 4ee7aebf95 Add display messages, Battery alarms and warnings 2023-07-10 10:10:39 +02:00
ig 39262d1a46 Use IReadOnlyList for BatteryNodes 2023-07-06 15:19:06 +02:00
ig 146daed8d9 use ToDisplayString 2023-07-04 11:18:16 +02:00
ig c6fbb1d931 fix defaults for Salimax Release 2023-07-04 09:59:26 +02:00
ig dd33744612 centralize config 2023-07-03 17:30:01 +02:00
ig cc8621d632 Introduce Ip4Address class, standard IpAddress class is unwieldy... 2023-07-03 17:30:01 +02:00
ig d7cb9401da Centralize configs: DeviceConfig & SystemConfig 2023-07-03 17:30:01 +02:00
ig 6648d318ca Minor improvements for TextBlocks 2023-07-03 17:30:01 +02:00
atef 1c4e2dee2e Add to display string 2023-07-03 14:23:05 +02:00
atef c0c65c2bb8 Add Log Error and log Warning 2023-07-03 14:21:18 +02:00
atef 8fc2b8fe9d Create Individual Battery 2023-06-30 10:30:18 +02:00
atef 5dfd8e69b4 Change Dc link Window Voltage 2023-06-30 10:29:50 +02:00
atef da38aa7b83 rename the log to loginfo and create log debug 2023-06-30 10:27:14 +02:00
ig 5484aea6cb ToStringRounded => ToDisplayString, introduce scientific notation (mW, kW,...) for units 2023-06-27 17:02:56 +02:00
ig a761e46686 fix bugs introduced by 'required' changes 2023-06-27 17:01:40 +02:00
ig 7f97ab8e14 make use of "required" with "init" (.net 7) 2023-06-27 13:14:17 +02:00
atef a1f55afe6f Change the ip address to run as a service 2023-06-23 10:42:02 +02:00
atef 3a2050dcbc Update the Print Display 2023-06-23 10:41:20 +02:00
atef b5f025dc69 Add toStringRounded 2023-06-23 10:40:11 +02:00
ig f7ee9276a3 Add calculated powers (loads etc.), Dc Load is still broken 2023-06-22 10:17:06 +02:00
ig 5976ce3a8c remove stray ControllerPConstant from config 2023-06-22 10:09:15 +02:00
atef f1c03ad333 Create an apply Default settings for dc 2023-06-22 10:00:44 +02:00
atef 8455bb64e3 Add the print Topology 2023-06-22 10:00:01 +02:00
atef b8b908e7f8 Clean up controller 2023-06-22 09:55:57 +02:00
atef 75f1f42252 Reduce the default height of vertical flow 2023-06-22 09:52:17 +02:00
atef 1201fd1c2f Change grid set point to 0 2023-06-22 09:50:50 +02:00
atef 8feee5db43 Introduce ClampMin and ClampMax 2023-06-20 15:34:04 +02:00
atef 789780791f throw exception if min is bigger than max in Clamp 2023-06-20 15:27:53 +02:00
ig c78451d4cf new implementation of TextBlock 2023-06-20 14:26:48 +02:00
ig dcc4bfa78a implement circular current prevention 2023-06-20 10:23:44 +02:00
ig d88fc677b5 add virtual devices 2023-06-20 10:23:44 +02:00
ig dbfb1b3707 add Dc side config for inverters 2023-06-20 10:23:44 +02:00
ig 075c54d179 rename SystemState => StateMachine 2023-06-20 10:23:44 +02:00
ig 5a3da7434b Trumpf V2 2023-06-20 10:23:43 +02:00
ig eeaefb0f54 Salimax V2 2023-06-20 10:23:43 +02:00
atef cb5bd91e55 Update the Topology display and the AsciiArt 2023-04-20 13:21:41 +02:00
atef 8631ada267 Delete Log and Salimax Utils(it has only Round3) function 2023-04-20 13:20:26 +02:00
atef 7635a8175e Add EocReached and Total Current and correct naming 2023-04-20 13:19:33 +02:00
atef bf1c869cba Update AsciiArt.cs and Topology 2023-04-18 10:04:30 +02:00
atef 840643f069 Introduce CombinedStatus 2023-04-04 16:37:37 +02:00
ig 8ae9119858 Round Units to 3 significant digits by default (ToString). Add JsonConverters to generator 2023-03-02 17:15:10 +01:00
ig aa46ad37b6 app => App, lib => Lib 2023-02-25 16:04:41 +01:00