diff --git a/fhem/CHANGED b/fhem/CHANGED
index 555cd1b16..f7e21219c 100644
--- a/fhem/CHANGED
+++ b/fhem/CHANGED
@@ -1,5 +1,8 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it.
+ - feature: 73_GardenaSmartBridge: add syntax check for disabledForIntervals
+ check set Interval Valur greater than 0
+ - feature: 74_XiaomiFlowerMonitor: add syntax check for disabledForIntervals
- feature: LightScene: added set all command
- feature: 49_SSCam: V3.0.0, new concept - differ between CAM-/SVS-device,
version is downwardly compatible, but homeMode-commands
diff --git a/fhem/FHEM/73_GardenaSmartBridge.pm b/fhem/FHEM/73_GardenaSmartBridge.pm
index 6bf842d0f..5cf641291 100644
--- a/fhem/FHEM/73_GardenaSmartBridge.pm
+++ b/fhem/FHEM/73_GardenaSmartBridge.pm
@@ -68,7 +68,7 @@ eval "use JSON;1" or $missingModul .= "JSON ";
eval "use IO::Socket::SSL;1" or $missingModul .= "IO::Socket::SSL ";
-my $version = "0.2.5";
+my $version = "0.2.6";
@@ -209,8 +209,9 @@ sub GardenaSmartBridge_Attr(@) {
elsif( $attrName eq "disabledForIntervals" ) {
if( $cmd eq "set" ) {
+ return "check disabledForIntervals Syntax HH:MM-HH:MM or 'HH:MM-HH:MM HH:MM-HH:MM ...'"
+ unless($attrVal =~ /^((\d{2}:\d{2})-(\d{2}:\d{2})\s?)+$/);
Log3 $name, 3, "GardenaSmartBridge ($name) - disabledForIntervals";
- readingsSingleUpdate ( $hash, "state", "inactive", 1 );
}
elsif( $cmd eq "del" ) {
@@ -221,6 +222,8 @@ sub GardenaSmartBridge_Attr(@) {
elsif( $attrName eq "interval" ) {
if( $cmd eq "set" ) {
+ return "Interval must be greater than 0"
+ unless($attrVal > 0);
$hash->{INTERVAL} = $attrVal;
RemoveInternalTimer($hash);
Log3 $name, 3, "GardenaSmartBridge ($name) - set interval: $attrVal";
diff --git a/fhem/FHEM/74_XiaomiFlowerSens.pm b/fhem/FHEM/74_XiaomiFlowerSens.pm
index 15c842555..0d42f3183 100644
--- a/fhem/FHEM/74_XiaomiFlowerSens.pm
+++ b/fhem/FHEM/74_XiaomiFlowerSens.pm
@@ -36,7 +36,7 @@ use JSON;
use Blocking;
-my $version = "1.0.1";
+my $version = "1.0.3";
@@ -164,6 +164,8 @@ sub XiaomiFlowerSens_Attr(@) {
if( $attrName eq "disabledForIntervals" ) {
if( $cmd eq "set" ) {
+ return "check disabledForIntervals Syntax HH:MM-HH:MM or 'HH:MM-HH:MM HH:MM-HH:MM ...'"
+ unless($attrVal =~ /^((\d{2}:\d{2})-(\d{2}:\d{2})\s?)+$/);
Log3 $name, 3, "XiaomiFlowerSens ($name) - disabledForIntervals";
readingsSingleUpdate ( $hash, "state", "Unknown", 1 );
}
@@ -651,20 +653,20 @@ sub XiaomiFlowerSens_BlockingAborted($) {
Attributes
- - disable - disables the Nuki device
+ - disable - disables the device
- interval - interval in seconds for statusRequest
- - minFertility - min fertility value befor low warn event
- - maxFertility - max fertility value befor High warn event
- - minMoisture - min moisture value befor low warn event
- - maxMoisture - max moisture value befor High warn event
- - minTemp - min temperature value befor low warn event
- - maxTemp - max temperature value befor high warn event
- - minlux - min lux value befor low warn event
- - maxlux - max lux value befor high warn event
+
- minFertility - min fertility value for low warn event
+ - maxFertility - max fertility value for High warn event
+ - minMoisture - min moisture value for low warn event
+ - maxMoisture - max moisture value for High warn event
+ - minTemp - min temperature value for low warn event
+ - maxTemp - max temperature value for high warn event
+ - minlux - min lux value for low warn event
+ - maxlux - max lux value for high warn event
Event Example for min/max Value's: 2017-03-16 11:08:05 XiaomiFlowerSens Dracaena minMoisture low
Event Example for min/max Value's: 2017-03-16 11:08:06 XiaomiFlowerSens Dracaena maxTemp high
- - sshHost - FQD-Name or IP of ssh remote system / you must configure your ssh system for certificate authentication. For better handling you can config ssh Client wirh .ssh/config file
+ - sshHost - FQD-Name or IP of ssh remote system / you must configure your ssh system for certificate authentication. For better handling you can config ssh Client with .ssh/config file
@@ -672,6 +674,69 @@ sub XiaomiFlowerSens_BlockingAborted($) {
=begin html_DE
+
+Xiaomi Flower Monitor
+
+ XiaomiFlowerSens - liest Daten von einem Xiaomi Flower Monitor
+
+ Dieser Modul liest Daten von einem Sensor und legt sie in den Readings ab.
+ Auf dem (Linux) FHEM-Server werden gatttool und hcitool vorausgesetzt. (sudo apt install bluez)
+
+
+ Define
+
+ define <name> XiaomiFlowerSens <BT-MAC>
+
+ Beispiel:
+
+ define Weihnachtskaktus XiaomiFlowerSens C4:7C:8D:62:42:6F
+
+
+ Der Befehl legt ein Device vom Typ XiaomiFlowerSens an mit dem Namen Weihnachtskaktus und der Bluetooth MAC C4:7C:8D:62:42:6F.
+ Nach dem Anlegen des Device werden umgehend und automatisch die aktuellen Daten vom betroffenen Xiaomi Flower Monitor gelesen.
+
+
+
+ Readings
+
+ - state - Status des Flower Monitor oder eine Fehlermeldung falls Fehler beim letzten Kontakt auftraten.
+ - battery - aktueller Batterie-Status in Abhängigkeit vom Wert batteryLevel.
+ - batteryLevel - aktueller Ladestand der Batterie in Prozent.
+ - fertility - Wert des Fruchtbarkeitssensors (Bodenleitfähigkeit)
+ - firmware - aktuelle Firmware-Version des Flower Monitor
+ - lux - aktuelle Lichtintensität
+ - moisture - aktueller Feuchtigkeitswert
+ - temperature - aktuelle Temperatur
+
+
+
+ Set
+
+ - statusRequest - aktive Abfrage des aktuellen Status des Xiaomi Flower Monitor und seiner Werte
+ - clearFirmwareReading - löscht das Reading firmware für/nach Upgrade
+
+
+
+
+ Attribute
+
+ - disable - deaktiviert das Device
+ - interval - Interval in Sekunden zwischen zwei Abfragen
+ - minFertility - min Fruchtbarkeits-Grenzwert für ein Ereignis minFertility low
+ - maxFertility - max Fruchtbarkeits-Grenzwert für ein Ereignis maxFertility high
+ - minMoisture - min Feuchtigkeits-Grenzwert für ein Ereignis minMoisture low
+ - maxMoisture - max Feuchtigkeits-Grenzwert für ein Ereignis maxMoisture high
+ - minTemp - min Temperatur-Grenzwert für ein Ereignis minTemp low
+ - maxTemp - max Temperatur-Grenzwert für ein Ereignis maxTemp high
+ - minlux - min Helligkeits-Grenzwert für ein Ereignis minlux low
+ - maxlux - max Helligkeits-Grenzwert für ein Ereignis maxlux high
+
Beispiele für min/max-Ereignisse:
+ 2017-03-16 11:08:05 XiaomiFlowerSens Dracaena minMoisture low
+ 2017-03-16 11:08:06 XiaomiFlowerSens Dracaena maxTemp high
+ - sshHost - FQDN oder IP-Adresse eines entfernten SSH-Systems. Das SSH-System ist auf eine Zertifikat basierte Authentifizierung zu konfigurieren. Am elegantesten geschieht das mit einer .ssh/config Datei auf dem SSH-Client.
+
+
+
=end html_DE
=cut