gelöst DOIF Onlinezeiten aus Unifi Controller addieren

Begonnen von nonamenogame, 14 Dezember 2020, 17:46:19

Vorheriges Thema - Nächstes Thema

nonamenogame

Hallo Zusammen,

Bislang nutze ich DOIF für triviale Dinge, also ein Wert -> eine Aktion, nun versuche ich was anderes.

ich möchte die Onlinezeit der Kids begrenzen. Sie haben verschiedene Geräte:

GerätA, GerätB und GerätC.

Über den Unifi Controller bekomme ich die onlinezeit pro Gerät: fhem_usedOnlineTime "xx Minuten", ich würde das DOIF dann so konfigurieren:

define onlineSperre_Kind1 DOIF ([Kind1_Handy:fhem_usedOnlineTime] + [Kind1_Tablet:fhem_usedOnlineTime] + [Knd1_laptop:fhem_usedOnlineTime] + ) >= 180 Minuten)
      {fhem(set Kind1_Handy blockClient)}
      {fhem(set Kind1_Tablet blockClient)}
      {fhem(set Kind1_laptop blockClient)}
   DOELSE
      {fhem(set Kind1_Handy unblockClient)}
      {fhem(set Kind1_Tablet unblockClient)}
      {fhem(set Kind1_laptop unblockClient)}
aber irgendwie scheine ich da etwas fehlzuinterpretieren, Fehlermeldung: onlineSperre_Kind1 DOIF: expected DOELSEIF or DOELSE:  >= 120 Minuten)

Das ist bestimmt trivial aber ich komme dennoch nicht auf die Lösung - ich wäre für eine kleine Hilfestellung sehr dankbar.

Gruss und Dank

Damian

Zitat von: nonamenogame am 14 Dezember 2020, 17:46:19
Hallo Zusammen,

Bislang nutze ich DOIF für triviale Dinge, also ein Wert -> eine Aktion, nun versuche ich was anderes.

ich möchte die Onlinezeit der Kids begrenzen. Sie haben verschiedene Geräte:

GerätA, GerätB und GerätC.

Über den Unifi Controller bekomme ich die onlinezeit pro Gerät: fhem_usedOnlineTime "xx Minuten", ich würde das DOIF dann so konfigurieren:

define onlineSperre_Kind1 DOIF ([Kind1_Handy:fhem_usedOnlineTime] + [Kind1_Tablet:fhem_usedOnlineTime] + [Knd1_laptop:fhem_usedOnlineTime] + ) >= 180 Minuten)
      {fhem(set Kind1_Handy blockClient)}
      {fhem(set Kind1_Tablet blockClient)}
      {fhem(set Kind1_laptop blockClient)}
   DOELSE
      {fhem(set Kind1_Handy unblockClient)}
      {fhem(set Kind1_Tablet unblockClient)}
      {fhem(set Kind1_laptop unblockClient)}
aber irgendwie scheine ich da etwas fehlzuinterpretieren, Fehlermeldung: onlineSperre_Kind1 DOIF: expected DOELSEIF or DOELSE:  >= 120 Minuten)

Das ist bestimmt trivial aber ich komme dennoch nicht auf die Lösung - ich wäre für eine kleine Hilfestellung sehr dankbar.

Gruss und Dank

Zähle mal die runden Klammern durch! Warum schreibst du "Minuten" dahin?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

nonamenogame

#2
Hi Damian,

leider kommt das alles nicht hin, egal wie ich es umstelle kommt folgende Meldung:

onlineSperre_Kind1 DOIF: expected DOELSEIF or DOELSE:  >= 120


define onlineSperre_Kind1 DOIF ([Kind1_Handy:fhem_usedOnlineTime] + [Kind1_Tablet:fhem_usedOnlineTime] + [Kind1_laptop:fhem_usedOnlineTime]) >= 120
      {fhem(set Kind1_Handy blockClient)}\
      {fhem(set Kind1_Tablet blockClient)}\
      {fhem(set Kind1_laptop blockClient)}\
   DOELSE\
      {fhem(set Kind1_Handy unblockClient)}\
      {fhem(set Kind1_Tablet unblockClient)}\
      {fhem(set Kind1_laptop unblockClient)}

Bin wirklich etwas ratlos gerade.

VG

Damian

define onlineSperre_Kind1 DOIF (([Kind1_Handy:fhem_usedOnlineTime] + [Kind1_Tablet:fhem_usedOnlineTime] + [Kind1_laptop:fhem_usedOnlineTime]) >= 120)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

nonamenogame

danke, nimmt er aber nun mit einigen anderen schwierigkeiten, ich les mich erstmal weiter ein und werfs dann weg

Gruss