Backup senica-RVO23 on 16.10.2025

This commit is contained in:
Jakub Klena 2025-10-16 02:25:01 +02:00
parent f07e260dba
commit b2adef622d
60 changed files with 20682 additions and 0 deletions

File diff suppressed because it is too large Load diff

114
RVO23/databases/modbus_config.js Executable file
View file

@ -0,0 +1,114 @@
const timeoutInterval = 150000;
const deviceConfig = [
{
device: "em340",
deviceAddress: 1,
stream: [
{
"tbAttribute": "Phase_1_voltage",
"register": 0,
"size": 2,
"multiplier": 0.1
},
{
"tbAttribute": "Phase_2_voltage",
"register": 2,
"size": 2,
"multiplier": 0.1
},
{
"tbAttribute": "Phase_3_voltage",
"register": 4,
"size": 2,
"multiplier": 0.1
},
{
"tbAttribute": "Phase_1_current",
"register": 12,
"size": 2,
"multiplier": 0.001
},
{
"tbAttribute": "Phase_2_current",
"register": 14,
"size": 2,
"multiplier": 0.001
},
{
"tbAttribute": "Phase_3_current",
"register": 16,
"size": 2,
"multiplier": 0.001
},
{
"tbAttribute": "Phase_1_power",
"register": 18,
"size": 2,
"multiplier": 0.1
},
{
"tbAttribute": "Phase_2_power",
"register": 20,
"size": 2,
"multiplier": 0.1
},
{
"tbAttribute": "Phase_3_power",
"register": 22,
"size": 2,
"multiplier": 0.1
},
{
"tbAttribute": "total_power",
"register": 40,
"size": 2,
"multiplier": 0.1
},
{
"tbAttribute": "total_energy",
"register": 52,
"size": 2,
"multiplier": 0.1
},
{
"tbAttribute": "Phase_1_pow_factor",
"register": 46,
"size": 1,
"multiplier": 0.001
},
{
"tbAttribute": "Phase_2_pow_factor",
"register": 47,
"size": 1,
"multiplier": 0.001
},
{
"tbAttribute": "Phase_3_pow_factor",
"register": 48,
"size": 1,
"multiplier": 0.001
},
{
"tbAttribute": "power_factor",
"register": 49,
"size": 1,
"multiplier": 0.001
}
]
},
{
device: "twilight_sensor",
deviceAddress: 2,
stream: [
{
"tbAttribute": "twilight_sensor",
"register": 60,
"size": 2,
"multiplier": 1
}
]
}
];
module.exports = { timeoutInterval, deviceConfig };

36
RVO23/databases/nodes.table Executable file
View file

@ -0,0 +1,36 @@
node:number|pole_number:string|node_type:string|tbname:string|line:number|profile:string|processed:boolean|status:boolean|time_of_last_communication:number
+|3236|29|NEMA|rDbQ84xzwgdqEoPm3kbEVd09anOZY1RXyBv2LVM6|1||1|1|1760574014554|.
+|3059|26|NEMA|Nzp2OoJlqn6r1ZgvdA3BEK7abBwP5G4eE3RQmyxD|1||1|1|1760574023723|.
+|3343|2|NEMA|pE5X8NQPaow6vlOZxk6aby0q42ezGBMyWgDVjR3L|1||1|1|1760574016040|.
+|4150|33|NEMA|XMBbew5z4ELrZa2mRAd3nW78vPN6gy3DdVYlpKjq|1||1|1|1760574016743|.
+|3237|24|NEMA|3a5oqJN1bgnx4Ol9dk894Z7ByE6jQ8mKDWMpGrLV|1||1|1|1760574054612|.
+|3238|27|NEMA|PLBJzmK1r3Gynd6OW0gKgP0e5wV4vx9bDEqNgYR8|1||1|1|1760574054740|.
+|3242|28|NEMA|52dD6ZlV1QaOpRBmbAqG9QkKnGzWMLj4eJq38Pgo|1||1|1|1760574054867|.
+|3243|6|NEMA|g9OxBZ5KRwNznlY6pAppLdAWXvjdEL4eGQobMDy2|1||1|1|1760574015752|.
+|4074|17|NEMA|gRoJEyXVx4qD9er287L4xm7wBzGldaPjLWQKm3Mv|1||1|1|1760574016567|.
+|3123|25|NEMA|EjgWGnXaLy9opPOz20n42V786BlYM3w1deVQvbKr|1||1|0|1760071927933|.
+|4759|32|Kamera|nJL5lPMwBx23YpqRe0rpEv7damXvWVbOrD4gNzy8|1||1|1|1760574020896|.
+|4757|7|NEMA|OzNMgZ9n43qPbjXmy7zwLdA2DKdYvW5e6pxGRrVa|1||1|1|1760574020560|.
+|2729|18|NEMA|K94XLav1glVRnyQ6r01PMaAme3YJwBxM5oOzdP2j|1||1|1|1760574021231|.
+|2751|5|NEMA|JzwxZXOvDj1bVrN4nkW5VKA8qdyBl3MRKLpGPgaQ|1||1|1|1760574021391|.
+|3598|1|NEMA|2O14VBzl8aDmWdNw3A59qbAGyZ5qLJoEMpj6R9ng|1||1|1|1760574016200|.
+|2817|21|NEMA|aw4eELG2DlPMdn1JW0BMNbAqQXOZRN3xB5yp8VKr|1||1|1|1760574023371|.
+|3087|9A|NEMA|RvmwNz8QPblKp41GD7lKOVkJrLVYoBO92dMegn6W|1||1|1|1760574023947|.
+|4756|3|NEMA|6lQGaY9RDywdVzObj0PaYykPg4NBn3exEK51LWZq|1||1|1|1760574020400|.
+|3090|9B|NEMA|5dBNwRp9graYJxZn409NoQklVov1b2QLPDqGm6XK|1||1|1|1760574024139|.
+|3091|34|NEMA|gYbDLqlyZVoRerQpB72M9pkWJnwM5z24POKa8Exj|1||1|1|1760574024346|.
+|3092|14|NEMA|PjLblDgRBO6WQqnxmkJ1450Jv3ewZN4p5a89yKdY|1||1|1|1760574024522|.
+|3093|12|NEMA|Z5KyJe9nEg1QNbWlX0w4VmkoDjBLdqzR83VGv624|1||1|1|1760574024777|.
+|3094|20|NEMA|B5EoxeMVp4zwr8nqW0GB4xARjvD1PNamOGbLg63Z|1||1|1|1760574025065|.
+|3634|16|NEMA|d5xjWYMwEJon6rLlK7yEnK7qgV4DaOeNB9ZX3Gzb|1||1|1|1760574016375|.
+|3098|13|NEMA|1JMYvnx2RzKEo4aWQ7DG4GkL8yZV3m9NBePXbrdj|1||1|1|1760574025272|.
+|3099|10|NEMA|WlVJBygjDZMeKX3vnAMRMO08NqdmG2x1Y69LQ4P5|1||1|1|1760574025464|.
+|3102|8|NEMA|JX1ObgmqGZ54DMyYL7aDrdkEVdve38WKRzwjNrQ9|1||1|1|1760574025672|.
+|3113|11|NEMA|3JjOWdylwgNLzxVab7Na8BkZ2vG64rq8PEB5QmDo|1||1|1|1760574026039|.
+|3112|30|NEMA|E6Kg9oDnLWyzPRMva7v5xxkJxp4VG58qO2w1lZYe|1||1|1|1760574025847|.
+|3224|31|NEMA|roKgWqY95V3mXMRzyAjKvz0bLjexpJPvaGDBw826|1||1|1|1760574053814|.
+|3225|23|NEMA|eod9aRWLVl34Gx1Dn7VNjM72rz6qjgmpEXwQJN5Z|1||1|1|1760574053974|.
+|3226|22|NEMA|ZmRwd93QL4gaezxEbAx28Ok1prn2XjlPvGyqJ6BO|1||1|1|1760574014411|.
+|3228|4|NEMA|m6EYyZoJ4gWexdjVPAR59E7RDOq9wv2N5XzKGplr|1||1|1|1760574013979|.
+|2668|15|NEMA|dz4ojlpP85JMgDLZWkQJ3z7aKYqQexEr62GXRV1y|1||1|1|1760574088153|.
+|4754|19|NEMA|d9x2V5LGYBzXp4mMRAOmnqkPloaqJwnQj6DgrNe3|1||1|1|1760574020161|.

View file

@ -0,0 +1 @@
[{"3236": "rDbQ84xzwgdqEoPm3kbEVd09anOZY1RXyBv2LVM6"}, {"3059": "Nzp2OoJlqn6r1ZgvdA3BEK7abBwP5G4eE3RQmyxD"}, {"3343": "pE5X8NQPaow6vlOZxk6aby0q42ezGBMyWgDVjR3L"}, {"4150": "XMBbew5z4ELrZa2mRAd3nW78vPN6gy3DdVYlpKjq"}, {"3237": "3a5oqJN1bgnx4Ol9dk894Z7ByE6jQ8mKDWMpGrLV"}, {"3238": "PLBJzmK1r3Gynd6OW0gKgP0e5wV4vx9bDEqNgYR8"}, {"3242": "52dD6ZlV1QaOpRBmbAqG9QkKnGzWMLj4eJq38Pgo"}, {"3243": "g9OxBZ5KRwNznlY6pAppLdAWXvjdEL4eGQobMDy2"}, {"4074": "gRoJEyXVx4qD9er287L4xm7wBzGldaPjLWQKm3Mv"}, {"3123": "EjgWGnXaLy9opPOz20n42V786BlYM3w1deVQvbKr"}, {"4759": "nJL5lPMwBx23YpqRe0rpEv7damXvWVbOrD4gNzy8"}, {"4757": "OzNMgZ9n43qPbjXmy7zwLdA2DKdYvW5e6pxGRrVa"}, {"2729": "K94XLav1glVRnyQ6r01PMaAme3YJwBxM5oOzdP2j"}, {"2751": "JzwxZXOvDj1bVrN4nkW5VKA8qdyBl3MRKLpGPgaQ"}, {"3598": "2O14VBzl8aDmWdNw3A59qbAGyZ5qLJoEMpj6R9ng"}, {"2817": "aw4eELG2DlPMdn1JW0BMNbAqQXOZRN3xB5yp8VKr"}, {"3087": "RvmwNz8QPblKp41GD7lKOVkJrLVYoBO92dMegn6W"}, {"4756": "6lQGaY9RDywdVzObj0PaYykPg4NBn3exEK51LWZq"}, {"3090": "5dBNwRp9graYJxZn409NoQklVov1b2QLPDqGm6XK"}, {"3091": "gYbDLqlyZVoRerQpB72M9pkWJnwM5z24POKa8Exj"}, {"3092": "PjLblDgRBO6WQqnxmkJ1450Jv3ewZN4p5a89yKdY"}, {"3093": "Z5KyJe9nEg1QNbWlX0w4VmkoDjBLdqzR83VGv624"}, {"3094": "B5EoxeMVp4zwr8nqW0GB4xARjvD1PNamOGbLg63Z"}, {"3634": "d5xjWYMwEJon6rLlK7yEnK7qgV4DaOeNB9ZX3Gzb"}, {"3098": "1JMYvnx2RzKEo4aWQ7DG4GkL8yZV3m9NBePXbrdj"}, {"3099": "WlVJBygjDZMeKX3vnAMRMO08NqdmG2x1Y69LQ4P5"}, {"3102": "JX1ObgmqGZ54DMyYL7aDrdkEVdve38WKRzwjNrQ9"}, {"3113": "3JjOWdylwgNLzxVab7Na8BkZ2vG64rq8PEB5QmDo"}, {"3112": "E6Kg9oDnLWyzPRMva7v5xxkJxp4VG58qO2w1lZYe"}, {"3224": "roKgWqY95V3mXMRzyAjKvz0bLjexpJPvaGDBw826"}, {"3225": "eod9aRWLVl34Gx1Dn7VNjM72rz6qjgmpEXwQJN5Z"}, {"3226": "ZmRwd93QL4gaezxEbAx28Ok1prn2XjlPvGyqJ6BO"}, {"3228": "m6EYyZoJ4gWexdjVPAR59E7RDOq9wv2N5XzKGplr"}, {"2668": "dz4ojlpP85JMgDLZWkQJ3z7aKYqQexEr62GXRV1y"}, {"4754": "d9x2V5LGYBzXp4mMRAOmnqkPloaqJwnQj6DgrNe3"}]

View file

@ -0,0 +1,41 @@
key:string|weight:string|sk:string|en:string
+|switching_profile_point_applied_to_line|INFORMATIONAL|Aplikovaný bod spínacieho profilu na línií č. ${line} : ${value}|Switching profile point applied to line no. ${line} : ${value}|...............
+|dusk_has_occured|INFORMATIONAL|Nastal súmrak: ${value}|Dusk has occured: ${value}|...............
+|dawn_has_occured|INFORMATIONAL|Nastal úsvit: ${value}|Dawn has occured: ${value}|...............
+|dimming_profile_was_successfully_received_by_node|NOTICE|Stmievací profil bol úspešne prijatý nodom č. ${node}|Dimming profile was successfully received by node no. ${node}|...............
+|master_node_is_responding_again|NOTICE|Master node začal znovu odpovedať|Master node is responding again|...............
+|command_was_sent_from_terminal_interface|DEBUG|Z terminálu bol odoslaný príkaz|A command was sent from terminal interface|...............
+|master_node_is_not_responding|ALERT|Master node neodpovedá|Master node is not responding|...............
+|configuration_of_dimming_profile_to_node_failed|ALERT|Konfigurácia stmievacieho profilu pre node č. ${node} zlyhala|Configuration of dimming profile to node no. ${node} has failed|...............
+|circuit_breaker_was_turned_on_line|NOTICE|Zapnutie ističa na línii č. ${line}|Circuit breaker was turned on - line no. ${line}|...............
+|circuit_breaker_was_turned_off_line|ERROR|Vypnutie ističa na línií č. ${line}|Circuit breaker was turned off - line no. ${line}|...............
+|dimming_profile_was_processed_for_node|INFORMATIONAL|Stmievací profil bol spracovaný pre node č. ${node}|Dimming profile was processed for node no. ${node}|...............
+|switching_profile_was_processed_for_line|INFORMATIONAL|Spínací profil bol spracovaný pre líniu č. ${line}|Switching profile was processed for line no. ${line}|...............
+|thermometer_is_not_responding|WARNING|Teplomer neodpovedá|Thermometer is not responding|...............
+|thermometer_is_responding_again|NOTICE|Teplomer znovu odpovedá|Thermometer is responding again|...............
+|thermometer_sends_invalid_data|WARNING|Teplomer posiela neplatné hodnoty|Thermometer sends invalid data|...............
+|main_switch_has_been_turned_off|CRITICAL|Hlavný vypínač bol vypnutý|Main switch has been turned off|...............
+|main_switch_has_been_turned_on|NOTICE|Hlavný vypínač bol zapnutý|Main switch has been turned on|...............
+|power_supply_has_disconnected_input|ALERT|Napájací zdroj nemá napätie na vstupe|Power supply has disconnected input|...............
+|power_supply_works_correctly|NOTICE|Napájací zdroj pracuje správne|Power supply works correctly|...............
+|battery_level_is_low|ERROR|Batéria má nízku úroveň napätia|Battery level is low|...............
+|battery_level_is_ok|NOTICE|Batéria má správnu úroveň napätia|Battery level is OK|...............
+|door_main_open|NOTICE|Hlavné dvere boli otvorené|Main door has been opened|...............
+|door_em_open|NOTICE|Dvere silovej časti boli otvorené|Power door has been opened|...............
+|door_main_open_without_permission|WARNING|Hlavné dvere boli otvorené bez povolenia - zapnutá siréna|Main door has been opened without permission - alarm is on|...............
+|door_em_open_without_permission|WARNING|Dvere silovej časti boli otvorené bez povolenia|Power door has been opened without permission|...............
+|door_main_close|NOTICE|Hlavné dvere boli zatvorené|Main door has been closed|...............
+|door_em_close|NOTICE|Dvere silovej časti boli zatvorené|Power door has been closed|...............
+|state_of_contactor_for_line|INFORMATIONAL|Stav stýkača pre líniu č. ${line} je ${value}|State of contactor for line no. ${line} is ${value}|...............
+|local_database_is_corrupted|CRITICAL|||...............
+|electrometer_nok|ERROR|Elektromer neodpovedá|Electrometer is not responding|...............
+|electrometer_ok|NOTICE|Elektromer znovu odpovedá|Electrometer is responding again|...............
+|no_voltage_on_phase|CRITICAL|Na fáze č. ${phase} nie je napätie|No voltage detected on phase no. ${phase}|...............
+|voltage_on_phase_restored|NOTICE|Napätie na fáze č. ${phase} bolo obnovené|Voltage on phase no. ${phase} has been restored|...............
+|flow_start|NOTICE|FLOW bol spustený|FLOW has been started |...............
+|twilight_sensor_nok|ERROR|Sensor súmraku neodpovedá|Twilight sensor is not responding|...............
+|twilight_sensor_ok|NOTICE|Sensor súmraku znovu odpovedá|Twilight sensor is responding again|...............
+|lamps_have_turned_on|NOTICE|Lampy sa zapli|Lamps have turned on|...............
+|lamps_have_turned_off|NOTICE|Lampy sa vypli|Lamps have turned off|...............
+|flow_restart|NOTICE|FLOW bol reštartovaný|FLOW has been restarted|...............
+|nodes_db_changed|NOTICE|Zmena v node databáze|Node db has changed|...............

14
RVO23/databases/pins.table Executable file
View file

@ -0,0 +1,14 @@
pin:string|type:string|line:number
*|input1_01|door_condition|0|...........
*|input1_02|rotary_switch_state|0|...........
*|input1_03|rotary_switch_state|0|...........
*|input1_04|power_supply|0|...........
*|input1_05|state_of_main_switch|0|...........
*|input1_06|state_of_breaker|1|...........
*|input1_07|state_of_breaker|2|...........
*|input1_08|state_of_breaker|3|...........
*|relay1_02|state_of_contactor|1|...........
*|relay1_03|state_of_contactor|2|...........
*|relay1_04|state_of_contactor|3|...........
*|28F46E9D0E00008B|temperature|0|...........
*|twilight_sensor|twilight_sensor|0|...........

5
RVO23/databases/relays.table Executable file
View file

@ -0,0 +1,5 @@
line:number|tbname:string|contactor:number|profile:string
+|0|WlVJBygjDZMeKX3vnAMRrQ08NqdmG2x1Y69LQ4P5|1||...........
+|3|DbQY6zyveZRwK5drV0Z8XL7joE4XJM83N9xl2nWq|9|{"intervals":[{"value":0,"end_time":"20:00","start_time":"13:00"},{"value":1,"end_time":"08:00","start_time":"20:00"},{"value":0,"end_time":"13:00","start_time":"08:00"}],"astro_clock":true,"dawn_lux_sensor":true,"dusk_lux_sensor":true,"dawn_lux_sensor_value":15,"dusk_lux_sensor_value":15,"dawn_astro_clock_offset":0,"dusk_astro_clock_offset":0,"dawn_lux_sensor_time_window":30,"dusk_lux_sensor_time_window":30,"dawn_astro_clock_time_window":60,"dusk_astro_clock_time_window":60}|...................................................................................................................................................................................................................................................................................................................................
+|1|zrR51V2ajQ9ZLygPKkEMnpkYDq38xOJolENBXGnv|9|{"intervals":[{"value":0,"end_time":"20:00","start_time":"13:00"},{"value":1,"end_time":"08:00","start_time":"20:00"},{"value":0,"end_time":"13:00","start_time":"08:00"}],"astro_clock":true,"dawn_lux_sensor":true,"dusk_lux_sensor":true,"dawn_lux_sensor_value":15,"dusk_lux_sensor_value":15,"dawn_astro_clock_offset":0,"dusk_astro_clock_offset":0,"dawn_lux_sensor_time_window":30,"dusk_lux_sensor_time_window":30,"dawn_astro_clock_time_window":60,"dusk_astro_clock_time_window":60}|...........................................................................................................................................................................................................................................................................................................................................................................................
+|2|BaY3Xpy1EbKGjLq2O7maLo7rx8owgQz9P4dDJRmN|9|{"intervals":[{"value":0,"end_time":"20:00","start_time":"13:00"},{"value":1,"end_time":"08:00","start_time":"20:00"},{"value":0,"end_time":"13:00","start_time":"08:00"}],"astro_clock":true,"dawn_lux_sensor":true,"dusk_lux_sensor":true,"dawn_lux_sensor_value":15,"dusk_lux_sensor_value":15,"dawn_astro_clock_offset":0,"dusk_astro_clock_offset":0,"dawn_lux_sensor_time_window":30,"dusk_lux_sensor_time_window":30,"dawn_astro_clock_time_window":60,"dusk_astro_clock_time_window":60}|................................................................................................................................................................................................................................................................................

2
RVO23/databases/settings.table Executable file
View file

@ -0,0 +1,2 @@
rvo_name:string|lang:string|temperature_address:string|latitude:number|longitude:number|mqtt_host:string|mqtt_clientid:string|mqtt_username:string|mqtt_port:number|maintanace_mode:boolean|project_id:number|controller_type:string|serial_port:string|backup_on_failure:boolean|restore_from_backup:number|restore_backup_wait:number|node_status_nok_time:number|phases:number|cloud_topic:string|has_main_switch:boolean|daily_report:boolean|send_changed_node_numbers:boolean
+|rvo_senica_23_ip110|sk|28.E22E9D0E0000|48.679317199|17.36576261|192.168.252.1|rvo_senica_23_ip110|FYQriv2vupZc0xyFVJkI|1883|0|53|unipi|ttyUSB0|1|20|5|6|3|u110|0|1|1|...................................................

4
RVO23/databases/tbdata.nosql Executable file
View file

@ -0,0 +1,4 @@
-"WlVJBygjDZMeKX3vnAMRrQ08NqdmG2x1Y69LQ4P5":[{"ts":1760522431455,"values":{"_event":{"type":"notice","status":"new","source":{"func":"modbus_reader","component":"1699965957410","component_name":"Modbus reader","edge":"WlVJBygjDZMeKX3vnAMRrQ08NqdmG2x1Y69LQ4P5"},"message":{"sk":"rvo_senica_23_ip110: FLOW bol reštartovaný","en":"rvo_senica_23_ip110: FLOW has been restarted"},"message_data":""}}}],"id":"3000180001lt71b"}
-"WlVJBygjDZMeKX3vnAMRrQ08NqdmG2x1Y69LQ4P5":[{"ts":1760522431546,"values":{"edge_fw_version":"2025-10-08","maintenance_mode":false}}],"id":"3000180002lt70b"}
-"WlVJBygjDZMeKX3vnAMRrQ08NqdmG2x1Y69LQ4P5":[{"ts":1760522431560,"values":{"statecode":2,"power_mode":"Automatic"}}],"id":"3000180004lt70b"}
-"WlVJBygjDZMeKX3vnAMRrQ08NqdmG2x1Y69LQ4P5":[{"ts":1760522431590,"values":{"_event":{"type":"notice","status":"new","source":{"func":"rsPort.open()","component":"1699963668903","component_name":"DIDO_Controller","edge":"WlVJBygjDZMeKX3vnAMRrQ08NqdmG2x1Y69LQ4P5"},"message":{"sk":"rvo_senica_23_ip110: FLOW bol spustený","en":"rvo_senica_23_ip110: FLOW has been started "},"message_data":""}}}],"id":"3000180006lt70b"}

View file

@ -0,0 +1,3 @@
-"WlVJBygjDZMeKX3vnAMRrQ08NqdmG2x1Y69LQ4P5":[{"ts":1760522431546,"values":{"edge_fw_version":"2025-10-08","maintenance_mode":false}}],"id":"3000180003lt71b"}
-"WlVJBygjDZMeKX3vnAMRrQ08NqdmG2x1Y69LQ4P5":[{"ts":1760522431560,"values":{"statecode":2,"power_mode":"Automatic"}}],"id":"3000180005lt71b"}
-"WlVJBygjDZMeKX3vnAMRrQ08NqdmG2x1Y69LQ4P5":[{"ts":1760522431590,"values":{"_event":{"type":"notice","status":"new","source":{"func":"rsPort.open()","component":"1699963668903","component_name":"DIDO_Controller","edge":"WlVJBygjDZMeKX3vnAMRrQ08NqdmG2x1Y69LQ4P5"},"message":{"sk":"rvo_senica_23_ip110: FLOW bol spustený","en":"rvo_senica_23_ip110: FLOW has been started "},"message_data":""}}}],"id":"3000180007lt71b"}

38
RVO23/databases/total_energy.js Executable file
View file

@ -0,0 +1,38 @@
//key is rvo_number, value is max energy when lamps are on
const total_energy = {
1: 580,
2: 1100,
3: 3700,
4: 4100,
7: 360,
12: 1700,
13: 5400,
14: 440,
15: 6100,
16: 4800,
20: 1600,
21: 1000,
22: 2600,
23: 1000,
25: 2600,
33: 240,
34: 4000,
35: 2700,
36: 820,
37: 1400,
35: 3500,
39: 1170,
41: 740,
42: 660,
43: 4900,
45: 930,
46: 700,
47: 1100,
48: 1500,
50: 3200,
53: 1250,
55: 1000,
56: 5500
}
module.exports = total_energy;