Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions software/usr/sbin/wlt_2_comp.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
import json
import statistics
import platform
import requests

gettext.install('wlt_2_comp', localedir='/usr/share/WLANThermo/locale/', unicode=True)

Expand Down Expand Up @@ -531,6 +532,7 @@ def read_maverick():
Email_alert = new_config.getboolean('Email','email_alert')
Push_alert = new_config.getboolean('Push', 'push_on')
Telegram_alert = new_config.getboolean('Telegram', 'telegram_alert')
App_alert = new_config.getboolean('App', 'app_alert')

temp_unit = new_config.get('locale', 'temp_unit')

Expand Down Expand Up @@ -798,7 +800,42 @@ def read_maverick():
logger.error(u'Telegram HTTP error: ' + str(e.code) + u' - ' + e.read(500))
except urllib2.URLError, e:
logger.error(u'Telegram URLError: ' + str(e.reason))


if App_alert:
logger.debug(u'App_alert')
api_key='key=AAAA89_rQYw:APA91bEknuZrwPUNveElqW1CgFcICLOh9sIjtume6HPeExxtnJoQExiFIvqU84Xk-MsxI2Ig6w8VvaAsm43QHrowruP5EOvz0IO-HG9PB3mcoiumT2k6CcVryLiL4K450Jx1QKhumkd0'
app_id = ["","",""]
app_id[0] = new_config.get('App','app_inst_id')
app_id[1] = new_config.get('App','app_inst_id2')
app_id[2] = new_config.get('App','app_inst_id3')
app_device = ["","",""]
app_device[0] = new_config.get('App','app_device')
app_device[1] = new_config.get('App','app_device2')
app_device[2] = new_config.get('App','app_device3')
alarm_message = str(alarm_message.encode('utf-8'))

url = 'https://fcm.googleapis.com/fcm/send'
myheaders = {'Content-Type': 'application/json', 'Authorization': api_key}

i=0
while i < 3:

if app_id[i] != "" and app_device[i]=="0" :
payload = {'data': {'Alarm':alarm_message}, "android":{"priority":"high"}, 'to':app_id[i]}
try:
logger.debug(u'App_alert try sending:' )
logger.debug(u'App_id:' + app_id[i])
data=json.dumps(payload)
results = requests.post(url, data, headers=myheaders)
print(results.text)
logger.debug(u'AppAlert result: ' + str(results.text))
except requests.exceptions.RequestException as e:
print(e)
logger.debug(u'App_alert error')
i=i+1


if Push_alert:
# Wenn konfiguriert, Alarm per Pushnachricht schicken
Push_URL = new_config.get('Push', 'push_url')
Expand Down Expand Up @@ -916,3 +953,4 @@ def read_maverick():
pi.bb_spi_close(7)
logging.shutdown()
os.unlink(pidfilename)

108 changes: 108 additions & 0 deletions software/var/www/control/config.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

$log_levels = array('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL');

$app_devices=array('Companion' => '0');
// ##################################################################################
// Config-Files einlesen ------------------------------------------------------------
// ##################################################################################
Expand Down Expand Up @@ -302,6 +303,58 @@
}
}

// ###################################################################### //Dominik
// App Einstellungen ----------------------------------------------------
// ######################################################################

// Pushbenachrichtigung Aktivieren/Deaktivieren
if(isset ($_POST['app_alert'])) {$_POST['app_alert'] = "True"; }else{ $_POST['app_alert'] = "False";}
if($ini['App']['app_alert'] !== $_POST['app_alert']){
$ini['App']['app_alert'] = $_POST['app_alert'];
}

// App app_inst_id
if (isset($_POST['app_inst_id'])) {
if($ini['App']['app_inst_id'] !== $_POST['app_inst_id']){
$ini['App']['app_inst_id'] = $_POST['app_inst_id'];
}
}
// App app_device
if (isset($_POST['app_device_id1'])) {
if($ini['App']['app_device'] !== $_POST['app_device_id1']){
$ini['App']['app_device'] = $_POST['app_device_id1'];
}
}
// App app_inst_id2
if (isset($_POST['app_inst_id2'])) {
if($ini['App']['app_inst_id2'] !== $_POST['app_inst_id2']){
$ini['App']['app_inst_id2'] = $_POST['app_inst_id2'];
}
}
// App app_device2
if (isset($_POST['app_device_id2'])) {
if($ini['App']['app_device2'] !== $_POST['app_device_id2']){
$ini['App']['app_device2'] = $_POST['app_device_id2'];
}
}
// App app_inst_id3
if (isset($_POST['app_inst_id3'])) {
if($ini['App']['app_inst_id3'] !== $_POST['app_inst_id3']){
$ini['App']['app_inst_id3'] = $_POST['app_inst_id3'];
}
}
// App app_device3
if (isset($_POST['app_device_id3'])) {
if($ini['App']['app_device3'] !== $_POST['app_device_id3']){
$ini['App']['app_device3'] = $_POST['app_device_id3'];
}
}
// App app_sound
if (isset($_POST['app_sound'])) {
if($ini['App']['app_sound'] !== $_POST['app_sound']){
$ini['App']['app_sound'] = $_POST['app_sound'];
}
}
// ######################################################################
// LCD Einstellungen ----------------------------------------------------
// ######################################################################
Expand Down Expand Up @@ -861,6 +914,61 @@
<div class="config_text row_1 col_5"></div>
</div>
<?php

// ################################################################################## //Dominik
// Formular App Einstellungen -----------------------------------------------------
// ##################################################################################
?>
<div class="config middle">
<div class="headline"><?php echo gettext("App Settings");?></div>
<div class="config_text row_1 col_6"><?php echo gettext("Enable App Notification");?>:</div>
<div class="config_text row_1 col_7"><input type="checkbox" name="app_alert" id="app_alert" value="True" <?php if($ini['App']['app_alert'] == "True") {echo "checked=\"checked\"";}?> ></div>
<div class="headicon"><img src="../images/icons16x16/app.png" alt=""></div>
<div class="config_text row_2 col_1"><?php echo gettext("Device ID");?> 1:</div>
<div class="config_text row_3 col_1"><?php echo gettext("Device ID");?> 2:</div>
<div class="config_text row_4 col_1"><?php echo gettext("Device ID");?> 3:</div>
<div class="config_text row_2 col_5"><input type="text" name="app_inst_id" id="app_inst_id" size="35" maxlength="200" value="<?php echo $ini['App']['app_inst_id'];?>"></div>
<div class="config_text row_3 col_5"><input type="text" name="app_inst_id2" id="app_inst_id2" size="35" maxlength="200" value="<?php echo $ini['App']['app_inst_id2'];?>"></div>
<div class="config_text row_4 col_5"><input type="text" name="app_inst_id3" id="app_inst_id3" size="35" maxlength="200" value="<?php echo $ini['App']['app_inst_id3'];?>"></div>
<div class="config_text row_2 col_4"></div>
<div class="config_text row_3 col_4"></div>
<div class="config_text row_4 col_4"></div>
<div class="config_text row_2 col_5"></div>
<div class="config_text row_3 col_5"></div>
<div class="config_text row_4 col_5"></div>
<div class="config_text row_2 col_6"><?php echo gettext("Device Type");?> 1:</div>
<div class="config_text row_3 col_6"><?php echo gettext("Device Type");?> 2:</div>
<div class="config_text row_4 col_6"><?php echo gettext("Device Type");?> 3:</div>
<div class="config_text row_2 col_7">
<select name="app_device" id="app_device_id1" size="1">
<?php
foreach($app_devices as $device_name => $device_id)
{?>
<option value="<?php echo $device_id ?>" <?php if ($ini['App']['app_device'] == $device_id){echo " selected";} ?> ><?php echo $device_name ?></option><?php
}?>
</select>
</div>
<div class="config_text row_3 col_7">
<select name="app_device2" id="app_device_id2" size="1">
<?php
foreach($app_devices as $device_name => $device_id)
{?>
<option value="<?php echo $device_id ?>" <?php if ($ini['App']['app_device2'] == $device_id){echo " selected";} ?> ><?php echo $device_name ?></option><?php
}?>
</select>
</div>
<div class="config_text row_4 col_7">
<select name="app_device3" id="app_device_id3" size="1">
<?php
foreach($app_devices as $device_name => $device_id)
{?>
<option value="<?php echo $device_id ?>" <?php if ($ini['App']['app_device3'] == $device_id){echo " selected";} ?> ><?php echo $device_name ?></option><?php
}?>
</select>
</div>
</div>
<?php

// ##################################################################################
// Formular Plotter Einstellungen ---------------------------------------------------
// ##################################################################################
Expand Down