run-tutorial-in-docker.sh 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. echo "[TUTORIAL-RUNNER] loading prices..."
  3. TOMORROW=$(date --date="next day" '+%Y-%m-%d')
  4. echo "Hour,Price
  5. ${TOMORROW}T00:00:00,10
  6. ${TOMORROW}T01:00:00,11
  7. ${TOMORROW}T02:00:00,12
  8. ${TOMORROW}T03:00:00,15
  9. ${TOMORROW}T04:00:00,18
  10. ${TOMORROW}T05:00:00,17
  11. ${TOMORROW}T06:00:00,10.5
  12. ${TOMORROW}T07:00:00,9
  13. ${TOMORROW}T08:00:00,9.5
  14. ${TOMORROW}T09:00:00,9
  15. ${TOMORROW}T10:00:00,8.5
  16. ${TOMORROW}T11:00:00,10
  17. ${TOMORROW}T12:00:00,8
  18. ${TOMORROW}T13:00:00,5
  19. ${TOMORROW}T14:00:00,4
  20. ${TOMORROW}T15:00:00,4
  21. ${TOMORROW}T16:00:00,5.5
  22. ${TOMORROW}T17:00:00,8
  23. ${TOMORROW}T18:00:00,12
  24. ${TOMORROW}T19:00:00,13
  25. ${TOMORROW}T20:00:00,14
  26. ${TOMORROW}T21:00:00,12.5
  27. ${TOMORROW}T22:00:00,10
  28. ${TOMORROW}T23:00:00,7" > prices-tomorrow.csv
  29. docker cp prices-tomorrow.csv flexmeasures-server-1:/app
  30. docker exec -it flexmeasures-server-1 bash -c "flexmeasures add beliefs --sensor 1 --source toy-user prices-tomorrow.csv --timezone Europe/Amsterdam"
  31. echo "[TUTORIAL-RUNNER] creating schedule ..."
  32. docker exec -it flexmeasures-server-1 bash -c "flexmeasures add schedule for-storage --sensor 2 --consumption-price-sensor 1 \
  33. --start ${TOMORROW}T07:00+01:00 --duration PT12H --soc-at-start 50% \
  34. --roundtrip-efficiency 90%"
  35. # We also want to use --as-job here (testing the queuing), but for some reason using exec with -c and a command, the container can't see the redis port
  36. # You can also exec into the container in a bash session, then define TOMORROW (and maybe add prices if not done yet) and run this commans with --as-job
  37. echo "[TUTORIAL-RUNNER] displaying schedule..."
  38. docker exec -it flexmeasures-server-1 bash -c "flexmeasures show beliefs --sensor 2 --start ${TOMORROW}T07:00:00+01:00 --duration PT12H"