| ... | ... |
@@ -1,6 +1,6 @@ |
| 1 | 1 |
#!/usr/bin/perl |
| 2 | 2 |
# parser pentru mesajele MQTT |
| 3 |
-# Version: 1.0.7 |
|
| 3 |
+# Version: 1.0.8 |
|
| 4 | 4 |
|
| 5 | 5 |
use strict; |
| 6 | 6 |
use warnings; |
| ... | ... |
@@ -58,10 +58,14 @@ while (my $mqttMessage = <$SUB> ) {
|
| 58 | 58 |
(my $root, my $topic, my $queue) = split /\//, $channel; |
| 59 | 59 |
# aleg canalele de unde salvez date in DB: |
| 60 | 60 |
if ($queue eq "LWT"){
|
| 61 |
- #stergem consumul pentru azi si ieri cand este offline priza |
|
| 61 |
+ # stergem consumul pentru azi si ieri cand este offline priza |
|
| 62 | 62 |
if ($nonjson eq 'Offline') {
|
| 63 | 63 |
delDB($topic); |
| 64 |
- } |
|
| 64 |
+ } |
|
| 65 |
+ # salvam ultima stare a releului |
|
| 66 |
+ my $script="php /admin/scripts/mqttparser/last_state.php $topic $nonjson\n"; |
|
| 67 |
+ runSCRIPT ($script); |
|
| 68 |
+ # salvam in DB statusul online/offline |
|
| 65 | 69 |
addDB ($topic, "LWT", $nonjson); |
| 66 | 70 |
} |
| 67 | 71 |
else {
|
| ... | ... |
@@ -129,7 +133,8 @@ while (my $mqttMessage = <$SUB> ) {
|
| 129 | 129 |
} |
| 130 | 130 |
if ($queue eq "ALARM"){
|
| 131 | 131 |
$json=~ s/\"/\\"/g; |
| 132 |
- pushALARM ($topic, $json); |
|
| 132 |
+ my $script="php /admin/scripts/mqttparser/alarm.php $topic $json"; |
|
| 133 |
+ runSCRIPT ($script); |
|
| 133 | 134 |
} |
| 134 | 135 |
} |
| 135 | 136 |
} |
| ... | ... |
@@ -143,16 +148,15 @@ if ($daemon==1){
|
| 143 | 143 |
} |
| 144 | 144 |
} |
| 145 | 145 |
|
| 146 |
-# loghez alarmele pe care le trimit |
|
| 147 |
-sub pushALARM {
|
|
| 148 |
- (my $topic, my $json) = @_; |
|
| 149 |
- my $script = "php /admin/scripts/alarma/alarm.php $topic $json"; |
|
| 150 |
- my $logfile='/var/log/mqttparser/mqtt-alarm.log'; |
|
| 146 |
+# rulez scripturi cand primesc input specific via mqtt |
|
| 147 |
+sub runSCRIPT {
|
|
| 148 |
+ (my $script) = @_; |
|
| 149 |
+ my $logfile='/var/log/mqttparser/scripts.log'; |
|
| 151 | 150 |
my $timealarm = strftime("%d/%m/%Y %H:%M:%S", localtime(time));
|
| 152 |
- open (my $lh, '>>', $logfile) or die "Cannot open $logfile"; |
|
| 153 |
- print $lh "$timealarm - Am lansat: $script"; |
|
| 154 |
- close $lh; |
|
| 155 |
- system('1', "$script"); # lansez scriptul de alarma cu timeout 1 secunda
|
|
| 151 |
+ open (my $fh, '>>', $logfile) or die "Cannot open $logfile"; |
|
| 152 |
+ print $fh "$timealarm - Am lansat: $script"; |
|
| 153 |
+ close $fh; |
|
| 154 |
+ system('1', "$script"); # lansez scriptul
|
|
| 156 | 155 |
return; |
| 157 | 156 |
} |
| 158 | 157 |
|