[Version 1.37, 03.03.2015, Kab.] front-end: user settings acl added (enable/disable delete file, delete directory, delete account); filter for "extra-files" added; Todo 03.03.2015 in copy2_gsv4.pm, get_dasylab_header -> Kanalnamen und Einheiten setzen; in copy2_gsv4.pm alle Zeilen auswerten des GSV-4GPRS; Daten auf Plausibilität prüfen; [Version 1.36, 22.02.2015, Kab.] front-end: optional with up to 4 extra files optional with two plots for every datafile fixed scale and autoscale selectable colors of lines selectable show thresholds of levels 1 and 2 as dashed line do not delete headlines in functions inc1, inc1h, etc Define header, subheader and descriptions of startpage Todo 30.06.2014 x ausblenden der nicht aktiven Kanäle auf der Index Seite x hinzufügen des Headers bei inc1 x Tarif = 0 und device = 2: kein Scaling angezeigt; (wird jetzt ab Tarif=0 angezeigt) device = 0 gleich Standard Device auf smartgage x select box für Device Auswahl Welcome Text bei smartgage verbessern x alarms on/off immmer anzeigen, es wird nur "on" angezeigt rcstatus soll auch die remote control kommandos enthalten Bateriesymbol wird nicht angezeigt unterhalb 3.7 Volt? alarms Liste: email empfänger mit auflisten; [Version 1.34, 09.06.2014, Kab.] front-end: remote configuration for 125Hz GSV-4GPRS dataloggers; added database tables with configuration settings of GSV-4GPRS [Version 1.33, 31.05.2014, Kab.] front-end: added remote configuration for GSV-4GPRS dataloggers; display long filenames in gallery; updated some help files (doc-status and doc-setup) cron-job: append lines of remote-control status file "gsvmessage.txt" into year folder, filename "rcstatus.txt" and delete gsvmessage.txt Todo: remote configuration for 125Hz loggers; [Version 1.32a, 25.05.2014, Kab.] front-end: gallery_functions: inc1 repairs and overwrites datafile; (datafile.inc1.txt is deleted) = inc1 can be used as repair function for corrupted datafiles cron-job: changed format of 125Hz output file: added date-time as first column, second column is incremental time in milliseconds; bug-fix: if 125Hz file contains more than one event, header of second event caused fatal error; [Version 1.32, 21.04.2014, Kab.] cron-job process uploaded files in ASCII sorted order: sort glob("gsvdata*.dat") support time formats for upload files: 2014-01-31T18:55:01 2014-01-31 18:55:01 31.01.2014 18:55:01 support decimal signs . and , support separators | ; and Tab delete export files if size > 1MB copy Statusfile "gsvstatus.txt" into directory of today front-end: gallery_functions: inc1, inc1h, inc24h, ...: repair corrupted datafiles (if date is not increasing continously) ToDo: selected time-date output format is not written, only standard format; config files for GSV-4 upload.php: check, search for gsvdataX.dat with highest X copy2_plot.pm: repair corrupted data, (if date is not increasing continously) gallery_settings: write form data to database index.php: read gallery_settings; hide channels with status "0" Grafik: Min, Max wird nicht angezeigt; löschen verhindern repair funktion (done, 25.05.2014, "inc1" repairs datafile) Alarme speichern, auch wenn kein email Empfänger vorhanden plot von ereignis anzeigen fixed scale; copy2archive.pl: add a method to check, if another instance of copy2archive.pl is running; avoid more than one instance of copy2archive.pl and send an email, when this occurs; Remote control for 125Hz loggers; [Version 1.31, 05.04.2014, Kab.] front-end: initGSV4ThresholdTables: this function creates all necessary database tables for a new cam; tolerate wrong cam-name or not existing cam-name within help functions: continue even if usercamexist() is wrong; bug-fix: link to "Gallery Settings" was not displayed in setup; added description of data formats and upload methods (docs/dataformat.php); added file upload.php to upload datafiles via http added file test-upload.html to test upload.php added file test-cam.html to test cam.php bug-fix: wrong url in footer.php cron-job copy2_webcams.pm, sub handle_webcams: better support of ftp upload from mobotix cams, mobilewebcam app, TriggerME; copy2_gsv4.pm, sub handle_gsv4: better support of upload via FTP or HTTP from unknown devices bug-fix: copy2_plot.pm created directories "1969" "1970" and subdirectories in handle_plot bug-fix: make_legend created warnings, when unit is definded, but name is not defined [Version 1.30, 25.01.2014, Kab.] gallery-functions: bug-fix, path of zipfile corrected, delete zipfile is working now; [Version 1.29, 01.01.2014, Kab.] gallery-functions: bug-fix, path of picture in startpage corrected, delete picture is working now; [Version 1.28, 27.12.2013, Kab.] front-end: added "gallerycontrol.php", remove header/footer for integration of opensmartcam with iframe; (only with tarif > 0); updated "cam.php", write file battery.txt with battery status into folder "year"; (only with tarif > 0); updated all scripts, added query string ?cam=$cam with all links; preparation for "RewriteRules" in .htaccess updated products.php and order_result.php: new tarifs [Version 1.27, 07.12.2013, Kab.] front-end: Peak values are absolute or relative to mean values identical emails may be added in different groups, they need no confirmation; cron-job: check relative or absolute minvalues and maxvalues with 125Hz GSV-4 in handle_thresholds; store characteristic values of alarms in alarms_history, e.g. negative peak, positive peak, actual value only 8 fields are reserved for characteristic values as double in case of simultaneous overrun of thresholds only the value of the highest channel-number will be stored; but in "info" all informations are saved in varchar field; [Version 1.26, 01.12.2013, Kab.] front-end: confirm alarms, rating of alarms [Version 1.25, 24.11.2013, Kab.] front-end: allow to assign GSV-4 trigger-alarms to groups in "Users" disable "Upgrade", "Delete Account" for users with Tarif >= 3 ("5GB") Tarif >= "5GB": allow to add users; don't allow alarm_users with same emails; cron-job: added upload alarm and battery alarm; events cause alarms; events are: "missing upload", "exceeding threshold levels", "trigger" (from device GSV-4), "USB" (from APP TriggerME), ... events are assigned to alarm_levels (within cron job) alarm_levels are assigned to alarm_groups (via front-end form with Tarif >= 5GB); alarm_groups are assigned to alarm_users (email addresses with Tarif >= 5GB) alarm_levels: für den Benutzer sind 3 alarm_levels im Formular setthresholdlevels sichtbar; diese 3 alarm_levels können dort alarm_gruppen zugeordnet werden (ab Tarif 5GB); intern werden 17 alarm_level benutzt: 0, 1, 2: Schwellwertüber- /unterschreitung von level 0, 1 bzw 2 3: webcam alarm (usb, phonejack, touchscreen) 4: trigger alarm (upload einer 125Hz Datei vom Datalogger) 5: nicht verwendet für alarmlevel > 5 wird in db_get_alarmaddress gesetzt: alarmlevel = alarmlevel % 3; dadurch gilt: 6, 7, 8 entspricht 0, 1, 2, usw im formular setthresholdlevels 6, 7, 8: battery alarm GSV-4(Schwellwertüber- /unterschreitung der Akku Spannung) 9, 10,11: battery alarm Webcam (Schwellwertüber- /unterschreitung der Akku Spannung) 12,13,14: upload alarm GSV-4(Zeitüberschreitung beim Upload) 15,16,17: upload alarm Webcam(Zeitüberschreitung beim Upload) cam.php: added resetUploadAlarm ($cam); set event_15='0', event_16='0', event_17='0' [Version 1.24, 17.11.2013, Kab.] front-end: add users for alarm messages assign users to groups with individual settings (individual sleeping period, individual pause time) threshold alarms for 3 different threshold levels (level_0...level_2) assign each level to a specific alarm group, which contains a set of users; cron-job: threshold_alarms may be scheduled by sleeping period; pause is not effective with threshold_alarms trigger_alarms may be suppressed completely (even not stored in history) with "pause" [Version 1.23, 12.11.2013, Kab.] front-end: added functions "inc1h", "inc3h", "inc6h", "inc12h" and "inc24h" [Version 1.22, 12.11.2013, Kab.] front-end: added functions "inc1", "inc10", "inc100": converts the selected "datafile.txt" to "datafile.inc1.txt" or "datafile.inc10.txt" or "datafile.inc100.txt" functions: conversion of line endings from unix to dos removal of headers and comments except in the first 3 lines data-decimation: write output file with increment 1, 10 or 100 [Version 1.21, 09.11.2013, Kab.] cron-job (Version 1.11): added threshold alarms (handle_thresholds); threshold alarms are edge triggered; they cannot be suppressed by "pause" in alarm settings PIR sensor alarms are level triggered; they may be suppressed by "pause" synchronisation errors will be corrected within "make_datafile"; front-end: ftp-link only with login [Version 1.20, 02.11.2013, Kab.] smartgage.net is online; added alarm functions for dataloggers GSV-4 with 125 samples/s updated cron-job (Version 1.10): handle_gsv4 --> make_datafile --> make_stats --> handle_alarms scale_values is checking data on the fly for peak-values, is calculating average value alarm message is sent to "owner", alarm message contains some statitics; alarm message and statistics is stored in database database: new table "ftp_users"; new colums "filename" and "info" in table "alarms_history": timestamp of header in uploaded file is used and stored in alarms_history; path and statistics of uploaded datafile is stored in alarms_history; (make_stats) front-end: ftp_users are listed in "Account"; added new commands "add-ftpuser", delete-ftpuser in admin section; added "Browse_FTP" to datalogger start page; added help-files for smartgage.net [Version 1.19, 20.10.2013, Kab.] added evaluation of posted values to cam.php; The following values are evaluated: $_POST['battery'] $_POST['event'] The value of $_POST['battery'] may be 0% ... 100% The value of $_POST['event'] may be 'usb' or 'touchscreen' or 'phonejack' or 'timer' a battery icon is shown in Status Page, if $_POST['battery'] is sent... email alarm if battery is low is in preparation, but not implemented yet. [Version 1.18, 13.10.2013, Kab.] cron job: include output formats for Dataloggers GSV-4 (Separator, DateTime-Format, Headlines, ...) [Version 1.17, 06.10.2013, Kab.] added help files; define output format for Dataloggers GSV-4 (Separator, DateTime-Format, Headlines, ...) [Version 1.16, 05.10.2013, Kab.] added admin functions for GSV-4GPRS: order by gsv4 [Version 1.15, 24.09.2013, Kab.] improved calculation of battery status, added Status LED on gsv4.php, added data format for GSV-4GPRS 125Hz in perl script, form with thresholds for battery status, upload intervall, measurementvalues gsv4 th_index assignement 0...7 ch1 ... ch8 8 battery of gsv4 9 battery of cam 10 upload of gsv4 11 upload of cam 12...15 not used 16...24 min(ch1) max(ch1) min(ch2) max(ch2) min(ch3) max(ch3) min(ch4) max(ch4) 25...31 not used [Version 1.14, 23.09.2013, Kab.] added battery icon for WebCams with TriggerME App [Version 1.13, 21.09.2013, Kab.] added column "battery" in table "status" (battery status for webcams) changed functions "getStatus" in "functions.php" and "addUser" in "register.php"; changed cam.php and register/index.php (added battery stuff) added table "alarms_users" (invite additional email-receivers for alarm messages; relation between email_receivers and alarmgroup) added table "gsv4_alarmaddress" (relation between alarm_level and alarmgroup) added user-interface for alarms_users added table "gsv4_thresholds"; battery is column 8; battery alarms can be assigned to different alarmgroups like alarms from channel 0...7; added user-interface for thresholds and alarmgroups added links "today", "thisWeek", "thisMonth", "thisYear" in gsv4.php [Version 1.12, 08.09.2013, Kab.] bugfix cam.php: create directories with TriggerME and upload = 0; added gsv4 functions: gsv4scale, format=2 (datalogger), format=3 (datalogger + TriggerME); updated perl scripts: added gsv4.pm, webcams.pm for support of gsv4 dataloggers; [Version 1.11, 15.08.2013, Kab.] added alarm functions: pause, sleep added alarm history: keep the last 30 alarms in database "Status" page with new design: buttons for delete, add, lock, unlock "Account" page with new design: change password, change email, delete account scanning logfile for trigger events event: usb, event: touchscreen, event: phonejack, event: timer; added camlog.txt, logfile of "cam.php", only for admins; [Version 1.10, 03.08.2013, Kab.] added remotecontrol for TriggerME App added alarm function for users with tarif update of cam.php: POST "log" without upload of image is possible; logfile contains information about alarms; [Version 1.09, 06.04.2013, Kab.] upload via http with cam.php: store logfile.txt in folder of today; set size=200 as default when upgraded package; create track file in format "type,time,latitude,longitude,alt"; add time-information to gps.csv, which collects gps data from mobilewebcam $_POST['latitude'] and $_POST['longitude']; extract time information from exif, if available; [Version 1.08, 31.03.2013, Kab.] new gallery functions: extract gps data from exif generate track-file from selected images and folders added some status- and error messages show filename and time in javascript lightbox new functions with http upload: write $_POST["userfile"] into "dump.txt", if no upload file, useful with AutoShare APP to upload actual config.txt allow upload of files with extension "txt"; collect gps data from $_POST['latitude'] and $_POST['longitude'] [Version 1.07, 23.03.2013, Kab.] added copy / delete / move / zip added social links on startpage [Version 1.06, 06.03.2013, Kab.] logout link added to navigation menu navigation menu now supports IE8 added slider on start-page added some FAQs [Version 1.05, 02.03.2013, Kab.] supports upload files with filenames in seconds or milliseconds: "\d{13,}" user defined filename as timestamp or micro-timestamp may be used; "responsive design" using media queries [Version 1.04, 23.02.2013, Kab.] added remote control form [Version 1.03, 17.02.2013, Kab.] added protected directory function with .htaccess; added new configuration form; [Version 1.02, 09.02.2013, Kab.] installed new version of background service copy2archive 1.05; added logfile: logging errors during user registration and configuration process; logging errors in service copy2archive.pl; added alarm message: limit alarm at 90% of size; bugfix in change.php: delete webcam is case sensitive now; modified all databse queries to "BINARY"; ToDo: privacy functions, error handling, if upgrade-->set MB; [Version 1.01, 06.02.2013, Kab.] added bad words filter; added bad characters filter [^0-9A-Za-z_-]; bugfix in copy2archive.pl: avoid crash in timelocal due to out-of-range parameters; added /faq/index.html /help/index.php; added /UsersWebCamDir/config.php and /mobilewebcam_config.php for future "remoteControl" functions; [Version 1.00, 15.12.2013, Kab.] initial version;