b58af64229e70b5e00350d7f2d05fe83dbb12155 current position for calculation of movement was not updated properly, leading to wrong positional movements
595a39c91d577fca72cd543c2bc73478b953d766 added calibration of vis camera exposure via calibrate camera. It takes some test images with automatic exposure and stores those exposure values on the device.
On subsequent image getting those stored exposure values are used.
b5cf976af8ebcc8f454b1dd97221d4d29edc5d31 the frontend has now a button to update the exposure of the camera
4b7a1746592724342c78f5c6536d7cd210b28d52 redirection of stderr does not work correctly - even when setting outputErrorReceived and BeginErrorReadLine() are set. Changing of approach to create a bash script, assign executable flag and run the script for receiving stderr and stdout.
644958f881725c4a120dcde802679ff82397d200 moving does not lock up anymore, when not called from the gateway computer
03af3e2b10fdb7ebe0c04f61ccb20ae1d717c152 added a proper serilog configuration for the devices to always log data to the files periodically and serve the latest file via the health log api
daba52af526f48ded56f29379ae0e02f0dd13d67 skipping of files does now delete as many pictures as possible, until at most 10 images remain.
Furthermore added more logging and added waiting when writing an image
c2174af8301414bbae0c536b241dabd94223e3bd connection seems to be much more reliable now.
Adding less logging and a longer and more random send delay, as the device has a load over 70% over all cores
63af2a6f6387f298893bb82361b4503f81ff29a1 redirection of stderr does not work correctly - even when setting outputErrorReceived and BeginErrorReadLine() are set. Changing of approach to create a bash script, assign executable flag and run the script for receiving stderr and stdout.
df84a090f8b14b99264ab6f0b2b9330229a42ef3 moving does not lock up anymore, when not called from the gateway computer
3b07b39c992af55d4998715b7aa5257cdb3f470a added database change to hold data for an automatic photo tour
abfed12d910a04eb81f1ed36c6bdb60e87ce1844 more database changes for tracking events during the photo tour and storing the tour intervall and current state of the tour in the database.
Usefull to restart tour in case of a power outage for example...
2552afcba6db59932ee1897fc46179658f719805 Photo Tour dry runs should now be possible.
Added to temperature measurement the device id, so that a reconnection is actually possible without starting a new temperature measurement.
PhotoTourEvents define now an event type to enable easier filtering for specific events
0a7d2c844e62e4246d211db0ef7cadbbd8b05bff added http upgrade to nginx configuration to enable signalr over websockets
33076f3ba1092b67d89d1b7fa5c8755e2edde2d5 Merge branch '115-signalr-and-exposure-fix' into 115-phototour-24-7-viable
d348270f11889d4ca6d8270a7324074bdbef91e5 added basic worker to enable streaming of picture data.
fca3729640c389e34c6ef9bc4c61353d1a07b5a9 added a proper serilog configuration for the devices to always log data to the files periodically and serve the latest file via the health log api
05e224ec1b303ba6b872b0d0e891e61559ec8087 Merge remote-tracking branch 'origin/main' into 115-phototour-24-7-viable
4e12dfde4e25d3b9203e594051b1bb0680e52024 removing another unnecessary log
a025c49c07d5f087b48d66380e48bdf431436f41 Merge branch '115-signalr-and-exposure-fix' into 115-phototour-24-7-viable
c831486fda6fa51428004208b30f26a8031fe350 added logic to check health and restart devices if necessary before each photo journey
713d7b2effabf2994bb96149e94c36a9d7097f48 Pictures should now be streamed aswell on an automatic photo tour
f51425229436148f54fcd7c1736f2a6e2802e563 added specification of how the automatic phototour should work in principle
330a09276a83810c0f1e75ba79f15808f9064c76 Renaming of journey to trip, as it reflects the actual meaning better
e0569110e9a69fc4cf0d14cb9ff4e2c1a7aa1cdf Refactored automatic photo tour according to the following considerations:
DataContext is now injected as IDataContext, so that unit testing becomes possible by mocking IDataContext
When an error occurs during a trip, the trip is aborted and added as empty trip. Restarting the devices is then issued in the background and when the next trip is due, checking of the devices is done again. This removes the need for checking whether a restart was actually successfull.
The DeviceRestarter must check in the future by itself, whether a restart is useful. This depends on if the device was restarted recently.
a77e55ac978a5b3748e83fccc307ede005efed7e only restart, if the device was not restarted in the last 5 minutes
a1e4fa3921793a94032eb1c8b6fbcb01d40f8e4c added a watcher to monitor expected temperature measurements, which restarts measurements, if the devices have not delivered any recent temperature data.
Next comes testing of those components.
ce93d644605b849b376b29eed11e4602e1593e9a it does not make sense to check whether a photo trip is currently running.
Devices should restart as soon as faultyness is found and the continuous checking for trips ensures, that photo trips are tried enough.
7d936ea8c5a40576ccc739676a5cd721f03ab76a datacontext is now scaffolded with IQueryables instead of db sets in a IDataContext interface, which can be used as substitute for the datacontext in the application.
This ensures testability. IQueryables can be initialized as lists in tests and the corresponding add/remove/addrange calls are translated in accordance to the base class
6645ca8f8b28734e4dd0a4156e6f7d4098507eeb created a designated queryableList class for unit testing, which implements IQueryable and IList.
The first test is now working as a proper unit test
f232939cde1d22d8cb90a6e37739b8940c9e3f4a thermal camera temperature measurements should only be stored, when a thermal camera is available
39dd9c56e2d9471576b48b1ed2a475e889887aa6 added more tests to ensure proper adding of temperature devices
90b349ef103a931ae5c907733532be4328634903 added tests for the device restarter and fixed a minor typo
5085a50a67f6d03dd47e4e55c840cf1f3ae73870 refactored device checking method into device restarter class for easier testing
a46ac93727725226facff67b8ff4a1448fcbe3c3 Motor does now track the engagement status aswell to the position. The motor furthermore safety stops, when the pre assigned borders are exceeded.
The motor should now also run more stable, as some calculations are now moved into the waiting intervall for the next motor power cycle. Those calculation also cost time and previously those timing were ignored and the waiting intervall fixed regardless of the duration of those calculations.
b66624fa0f7dd036cf853d66a1435d7b6fcd6721 runphototrip does not add multiple empty trips anymore under some circumstances
ebd6c4969fc8ef4c061c613c563ca2923c80fa13 TakePhotos has now some tests aswell, which show the basic functionality.
Pay attention to the timing conditions of the test. The method is run async in the background and only if the callbacks are called with appropriate values the background task proceeds in moving the motor and doing ffc.
66fca62fd6e62ddd844b2470f5fa0420903e4736 added remaining tests for checking device health and minor fixes, so that it should not throw when the photo tour is not found. Other exceptions are catched anyway, because of the RunInBackground method
b2fcabf916c24f20c9b43a80541d6786f31a239a Fixed remaining errors in the frontend code, because of api changes and added a automatic photo tour link.
Furthermore clicked links are now highlighted for better visibility, which menu item is currently selected
7c9c7117971b96f5801d97591e84b4eb0e3b2781 correct highlighting on reload of the page
a70d9059e214938316a996cecbaa2b1a50faaf63 beginning of ui implementation to start automatic photo tours
5ec69a62df3252369fe466cedbf17a7d46962b4f negative flags are now corrected to be positive and it should not be possible to store negative flag values anymore
4f15118d1090d01c0f213d3f55d7ed78272166c4 it must be checked, whether a given automatic photo tour was scheduled with an ir camera. If not, then checking for an ir camera should be disabled. The PlantMonitor should also run without IR-camera present
4d8a9e57657f71c39c946a847b55a1e32379d177 fix of various bugs and adding of many debug messages, which are logged to the database.
The bugfixes are responsible for always completing the photo trip. It should never be in a state of busy waiting
9406ddba04207749c9bd3d79af02e066be4ec6c7 added more logs
7717f8feb39014879fff0d6616ff5fccbf99923d removed some errors indicated by webstorm from intellji
08c3c93c54c22aec3355499b26d2c6739f5a4dcf Fix of DeviceCanSwitchOutlets method.
It takes a while for the RCSwitch to initialize. This means the method needs to wait, untill it receives the message from the c-script, that it is actually ready for receiving.
c7ed156a770838c3480468193a3d9897295cae4b added temp sensor checking to HealthState. All external devices can then be inspected via the HealthState flags
3f6efd4b95332c476e7beb986e5584fc95cd71dd No Datacontext logs, as they are just to much.
Creating a new scope, when throwing an error, as the old scope might be already disposed.
Implemented IDisposable aswell as fallback.
1000 mintime, 4000 maxtime and 400 ramp feel pretty smooth for motor movement
a96bd72fdf788e5eda72952728689fef9188c4d1 some js files do not change between updates and calls and are fetched with statuscode 304 aka not modified.
Those responses must not be changed, else an exception is thrown
This includes the following:
Plantuml of automatic photo tour
Plantuml of device restart