(Gelöst) komme mit dem DOIF nur bedingt zurecht

Begonnen von tagedieb, 10 März 2016, 10:24:12

Vorheriges Thema - Nächstes Thema

tagedieb

Hallo zusammen
Ich habe mir ein DOIF zusammengestellt, um an meiner Kaffeemaschine "überschwemmungen" zu vermeiden
Irgendwie bekomme ich das irgendwie nur bedingt zum Laufen
Es wäre schön, wenn mir bitte jemand weiterhelfen könnte
mein DOIF (DEF)([Kaffeeautomat02:state] eq "on" and [Tassenschacht:state] eq "closed") (set Cafe off + set Cafe1 off + set Cafe2 off + set Cafe3 off + set Cafe4 off + set Cafe5 off + set Cafe6 off + set Cafe7 off) DOELSEIF ([Kaffeeautomat02:state] eq "on" and [Tassenschacht:state] eq "open") (set Cafe gesperrt + set Cafe1 gesperrt + set Cafe2 gesperrt + set Cafe3 gesperrt + set Cafe4 gesperrt + set Cafe5 gesperrt + set Cafe6 gesperrt + set Cafe7 gesperrt) DOELSEIF ([Kaffeeautomat02:state] eq "off" and [Tassenschacht:state] eq "open") (set Cafe gesperrt + set Cafe1 gesperrt + set Cafe2 gesperrt + set Cafe3 gesperrt + set Cafe4 gesperrt + set Cafe5 gesperrt + set Cafe6 gesperrt + set Cafe7 gesperrt) DOELSEIF ([Kaffeeautomat02:state] eq "off" and [Tassenschacht:state] eq "closed") (set Cafe gesperrt + set Cafe1 gesperrt + set Cafe2 gesperrt + set Cafe3 gesperrt + set Cafe4 gesperrt + set Cafe5 gesperrt + set Cafe6 gesperrt + set Cafe7 gesperrt)
ich habe mal die Ansichten angehangen
cmd * ist das Ergebnis vom Doif und cmdsoll * ist mein Wunschergebnis  :-[

mit einigen notifys zum Bsp.Tassenschacht:belegt set Cafe bereit; set Cafe1 bereit; set Cafe2 bereit; set Cafe3 bereit; set Cafe4 bereit; set Cafe5 bereit; set Cafe6 bereit; set Cafe7 bereit
funktioniert die Anzeige wie gewünscht

anbei noch ein list vom dummyInternals:
   NAME       Cafe
   NR         1896
   STATE      bereit
   TYPE       dummy
   Readings:
     2016-03-10 10:20:32   state           off
Attributes:
   alias      1Cappuccino
   devStateIcon Zubereitung:cupg:off bereit:cupgrz:on gesperrt:cupgr:gesperrt
   event-on-change-reading state,transitionInProgress
   eventMap   on:Zubereitung off:bereit gesperrt:gesperrt
   fp_Kaffeeautomat 18,530,0
   icon       cupr
   room       Kaffeeautomat
   userReadings usrCountDown:set_on-for-timer.* { CountDown($name, ReadingsVal($name,"state","off"));; }
   webCmd     bereit:Zubereitung:gesperrt


was habe ich beim DOIF übersehen?
ich freue mich über jeden Hinweis

viele Grüsse
tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Ellert

ZitatIrgendwie bekomme ich das irgendwie nur bedingt zum Laufen

Was heisst das genau, was funktioniert, was nicht?
Wie soll es funktionieren?
Gibt es Fehlermeldungen?
Was steht im Logfile?

tagedieb

Hallo Ellert
danke, das du Dir die Zeit nimmst

die Fehler sind auf den angehangenen Datei cmd4 zu erkennen - anstatt Icons sind dort die Befehle zusehen und ich möchte noch eine Sperre zur weiteren Betätigung einrichten, doch muss erst einmal das Grundlegende funktionieren, denn die dummys bedienen per notify den eigentlichen Schalter

Gruss Tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

turo

Das "+" trennt doch keine Befehle, also setzt Du "Cafe" auf den ganzen String, der dahinter kommt.

Mit einer devspec http://fhem.de/commandref_DE.html#devspec wird das übersichtlicher:
set Cafe[1-7]? off

Und muss Dein DOIF so kompliziert sein - tut da nicht auch
([Kaffeeautomat02] eq "on" and [Tassenschacht] eq "closed") (set Cafe[1-7]? off) DOELSE (set Cafe[1-7]? gesperrt)
?

Gruss,
turo
3xRaspberry PI, Homematic, SELVE Rollos, 1-wire, Logitech Harmony, Alexa, Fussbodenheizung (ESP8266), Netatmo

Henne16

Hallo,

Du verwendest ein + im Ausführungsteil zwischen den einzelnen set Befehlen.

Laut Commandref sind es aber Kommas.

Commandref DOIF:
Sollen mehrere FHEM-Befehle ausgeführt werden, so werden sie mit Komma statt mit Semikolon angegeben.

(set lamp1 on, set lamp2 off)


Gruß Henrik
FHEM 6 PI4, Fhem2Fhem, Homematic IP CCU3, HMLAN, div. Thermostate, HM IP Wired Ein-Ausgang, Dimmer

tagedieb

Hallo zusammen

vielen Dank auf für Eure Zeit und Hilfe
manchmal sieht man den Baum vor lauter Bäumen nicht  :-[

@Henrik
ich hatte erst die notify Variante eincopiert, doch durch die falschen ";" anstatt des Kommas funktionierte das nicht (wie sollte es auch)

@turo
Danke für den devspac Hinweis, damit habe ich mich mich bisher noch nicht "bekannt" gemacht, ich werde mich damit auseinandersetzen :-) und dein Doif vorschlag zur Vereinfachung - das ist natürlich optimal (zumal ich nicht x notifys haben wollte)

ich werde es gleich mal alles angehen und bei Gelingen, diesen Threat auf gelöst setzten

Danke und einen schönen tag

gruss Annette
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3