diff --git a/fhem/FHEM/95_Alarm.pm b/fhem/FHEM/95_Alarm.pm
index f203f03be..c115deefc 100644
--- a/fhem/FHEM/95_Alarm.pm
+++ b/fhem/FHEM/95_Alarm.pm
@@ -43,7 +43,7 @@ my $alarmlinkname = "Alarms"; # link text
my $alarmhiddenroom = "AlarmRoom"; # hidden room
my $alarmpublicroom = "Alarm"; # public room
my $alarmno = 8;
-my $alarmversion = "4.0";
+my $alarmversion = "4.01";
my %alarm_transtable_EN = (
"ok" => "OK",
@@ -805,10 +805,13 @@ sub Alarm_Arm($$$$$){
#-- disarming implies canceling as well
}elsif( ($act eq "disarm") && ($xec ne "disarmed")) {
#-- delete stale delayed arm
- fhem('delete alarm'.$level.'.arm.dly' )
- if( defined $defs{'alarm'.$level.'.arm.dly'});
+ if( defined $defs{'alarm'.$level.'.arm.dly'}){
+ fhem('delete alarm'.$level.'.arm.dly' )
+ #-- really kill active alarm
+ }else{
+ Alarm_Exec($name,$level,"program","disarm","cancel");
+ }
$hash->{DATA}{"armstate"}{"level".$level} = "disarmed";
- Alarm_Exec($name,$level,"program","disarm","cancel");
#-- update state display
readingsSingleUpdate( $hash, "level".$level,"disarmed",1 );
readingsSingleUpdate( $hash, "state", Alarm_getstate($hash)." ".$hash->{READINGS}{"short"}{VAL}, 1 );
diff --git a/fhem/FHEM/95_Babble.pm b/fhem/FHEM/95_Babble.pm
index 363c8ade7..97a57eb3b 100644
--- a/fhem/FHEM/95_Babble.pm
+++ b/fhem/FHEM/95_Babble.pm
@@ -42,7 +42,7 @@ use JSON; # imports encode_json, decode_json, to_json and from_json.
my $babblelinkname = "babbles"; # link text
my $babblehiddenroom = "babbleRoom"; # hidden room
my $babblepublicroom = "babble"; # public room
-my $babbleversion = "1.01";
+my $babbleversion = "1.06";
my %babble_transtable_EN = (
"ok" => "OK",
@@ -166,7 +166,7 @@ sub Babble_Initialize ($) {
#$hash->{AttrFn} = "Babble_Attr";
my $attst = "lockstate:locked,unlocked helpFunc testParm0 testParm1 testParm2 testParm3 ".
"remoteFHEM0 remoteFHEM1 remoteFHEM2 remoteFHEM3 remoteFunc0 remoteFunc1 remoteFunc2 remoteFunc3 remoteToken0 remoteToken1 remoteToken2 remoteToken3 ".
- "babbleDevices babblePlaces babbleVerbs babbleVerbParts babblePrepos babbleQuests babbleArticles babbleStatus babbleWrites babbleTimes";
+ "babbleDevices babblePlaces babbleNotPlaces babbleVerbs babbleVerbParts babblePrepos babbleQuests babbleArticles babbleStatus babbleWrites babbleTimes";
$hash->{AttrList} = $attst;
if( !defined($babble_tt) ){
@@ -790,7 +790,7 @@ sub Babble_Normalize($$){
if( $word[0] =~ /^gut.*/){
$subcat = 1;
$device="zeit";
- $reading="zeit";
+ $reading="status";
$value=$word[1];
$reserve=$word[2]
if( $word[2] );
@@ -1065,7 +1065,7 @@ sub Babble_TestIt{
}
}
}
- }else{
+ }elsif( $exflag==1 ){
my $func = AttrVal($name,"helpFunc",undef);
if( $func && $func ne "" ){
my $help = defined($hash->{DATA}{"help"}{$device}) ? $hash->{DATA}{"help"}{$device} : "";
@@ -1081,7 +1081,11 @@ sub Babble_TestIt{
}
$func =~ s/\$HELP/$help/g;
$res = eval($func);
+ }else{
+ $str .= "==> command not found and help function undefined";
}
+ }else{
+ $str .= "==> command not found";
}
return $str;
}
@@ -1532,6 +1536,8 @@ sub Babble_getplaces($$$) {
my %rooms; # intermediate hash of all rooms
my @special; # intermediate array of all special places for Babble
my @places; # intermediate array of rooms/all babble places
+
+ my $nop = AttrVal($name,"babbleNotPlaces","");
#--generate a new list
if( $type eq "new" ){
@@ -1543,6 +1549,7 @@ sub Babble_getplaces($$$) {
foreach my $r (split(",", AttrVal($d, "room", "Unsorted"))) {
next if($hre && $r =~ m/$hre/);
next if($r eq "Unsorted" || $r eq "hidden" || $r eq $babblehiddenroom || $r eq $babblepublicroom );
+ next if (index($nop, $r) != -1);
$rooms{$r}{$d} = 1;
}
}
@@ -2025,6 +2032,8 @@ sub Babble_Html($)
csrfToken for addressing a certain remote FHEM device
attr <name> babblePlaces ...
attr <name> babbleNoPlaces ...
+ attr <name> babbleStatus ...
Status Value Weather Timeattr <name> babblePrepos ...
diff --git a/fhem/FHEM/95_YAAHM.pm b/fhem/FHEM/95_YAAHM.pm
index ee596e76d..96fa2621c 100644
--- a/fhem/FHEM/95_YAAHM.pm
+++ b/fhem/FHEM/95_YAAHM.pm
@@ -47,7 +47,7 @@ my $yaahmname;
my $yaahmlinkname = "Profile"; # link text
my $yaahmhiddenroom = "ProfileRoom"; # hidden room
my $yaahmpublicroom = "Unsorted"; # public room
-my $yaahmversion = "1.43";
+my $yaahmversion = "1.45";
my $firstcall = 1;
my %yaahm_transtable_EN = (
diff --git a/fhem/www/pgm2/alarm.js b/fhem/www/pgm2/alarm.js
index 35cf225c1..47cdca2f4 100644
--- a/fhem/www/pgm2/alarm.js
+++ b/fhem/www/pgm2/alarm.js
@@ -1,6 +1,6 @@
//########################################################################################
// alarm.js
-// Version 4.0
+// Version 4.01
// See 95_Alarm for licensing
//########################################################################################
//# Prof. Dr. Peter A. Henning
@@ -13,6 +13,9 @@ var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var csrfToken = req.getResponseHeader('X-FHEM-csrfToken');
+if( csrfToken == null ){
+ csrfToken = "null";
+}
//------------------------------------------------------------------------------------------------------
// encode Parameters for URL
diff --git a/fhem/www/pgm2/babble.js b/fhem/www/pgm2/babble.js
index f577338f2..4158b838e 100644
--- a/fhem/www/pgm2/babble.js
+++ b/fhem/www/pgm2/babble.js
@@ -1,6 +1,6 @@
//########################################################################################
// babble.js
-// Version 1.04
+// Version 1.06
// See 95_Babble for licensing
//########################################################################################
//# Prof. Dr. Peter A. Henning
@@ -13,6 +13,9 @@ var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var csrfToken = req.getResponseHeader('X-FHEM-csrfToken');
+if( csrfToken == null ){
+ csrfToken = "null";
+}
//------------------------------------------------------------------------------------------------------
// encode Parameters for URL
@@ -37,9 +40,6 @@ function encodeParm(oldval) {
// Add and remove places and verbs
//------------------------------------------------------------------------------------------------------
-function reload() {
- //location.reload()
-}
function dialog1(message) {
$('').appendTo('body').html('