Add EMS automation script, Grid Singularity installs, FM branding complete
This commit is contained in:
63
scripts/cariflex_ems_automation.sh
Normal file
63
scripts/cariflex_ems_automation.sh
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
# Cariflex - FlexMeasures EMS Automation Script
|
||||
# This script runs forecasting, scheduling, and ingestion tasks
|
||||
|
||||
FM_HOST="https://cariflex.digitribe.fr"
|
||||
FM_EMAIL="admin@digitribe.fr"
|
||||
FM_PASSWORD="Digitribe972"
|
||||
|
||||
echo "=== Cariflex EMS Automation ==="
|
||||
echo "Date: $(date)"
|
||||
|
||||
# 1. FORECASTING - Generate forecasts for all PV sensors (41-50)
|
||||
echo ""
|
||||
echo "=== 1. Forecasting PV sensors ==="
|
||||
for sensor in $(seq 41 50); do
|
||||
echo " Forecasting sensor $sensor..."
|
||||
docker exec flexmeasures-server bash -c "
|
||||
cd /app && .venv/bin/flexmeasures add forecasts \
|
||||
--sensor $sensor \
|
||||
--to-date \$(date -u -d '+24 hours' +'%Y-%m-%dT%H:%M:%S+00:00') \
|
||||
2>&1 | grep -E 'Successfully|Error' | head -1
|
||||
" 2>/dev/null
|
||||
done
|
||||
|
||||
# 2. SCHEDULING - Create schedules for batteries (51-60)
|
||||
echo ""
|
||||
echo "=== 2. Scheduling Batteries ==="
|
||||
for sensor in $(seq 51 60); do
|
||||
echo " Scheduling sensor $sensor..."
|
||||
# Get the schedule from FM API
|
||||
SCHEDULE=$(curl -sk -X POST "$FM_HOST/api/v3_0/sensors/$sensor/schedules/trigger" \
|
||||
-H "Content-Type: application/json" \
|
||||
-u "$FM_EMAIL:$FM_PASSWORD" \
|
||||
-d '{
|
||||
"start": "'"$(date -u +'%Y-%m-%dT%H:%M:%S+00:00')"'",
|
||||
"duration": "PT24H",
|
||||
"flex_model": {
|
||||
"soc-min": "0.1 kWh",
|
||||
"soc-max": "100 kWh",
|
||||
"power-capacity": "50 kW"
|
||||
}
|
||||
}' 2>/dev/null)
|
||||
echo " Response: $(echo $SCHEDULE | python3 -c "import json,sys; d=json.load(sys.stdin); print(d.get('message','?'))" 2>/dev/null)"
|
||||
done
|
||||
|
||||
# 3. INGESTION - Check sensor data status
|
||||
echo ""
|
||||
echo "=== 3. Ingestion Status ==="
|
||||
docker exec flexmeasures-db psql -U flexmeasures -d flexmeasures -c "
|
||||
SELECT
|
||||
s.name as sensor,
|
||||
COUNT(t.id) as data_points,
|
||||
MAX(t.event_start) as latest_data
|
||||
FROM sensor s
|
||||
LEFT JOIN timed_belief t ON t.sensor_id = s.id
|
||||
WHERE s.id BETWEEN 41 AND 80
|
||||
GROUP BY s.name
|
||||
ORDER BY s.id
|
||||
LIMIT 10;
|
||||
" 2>/dev/null
|
||||
|
||||
echo ""
|
||||
echo "=== EMS Automation Complete ==="
|
||||
Reference in New Issue
Block a user