Hallo,
ich habe einen DS2408 ins FHEM integriert, und kann die Ports mit
set OWIO_01 output Lampe1 on
set OWIO_01 output Lampe1 off
ein und ausschalten. Der Kanal A ist als Lampe1 definiert.
Aber nun zu meiner Frage, wie kann ich denn nun den Port im Floorplan schalten, also das ich für jeden Kanal ein eigenes Lampensymbol habe oder einen on/off Schalter?
Ich hoffe mir kann jemand weiterhelfen und bedanke mich schonmal für eure Antworten.
Gruß
Arnold
das reine anzeigen kannst du mit jeweils einer readingsGroup machen. wenn du auch schalten möchtest musst du dir zur zeit noch zwei dummys dafür anlegen und mit dem original device über notify synchronisieren. readingaGroup kann (zur zeit) leider nur state schalten.
gruss
andre
Ohje :-\
Was meinst du mit Dummys anlegen?
Ist es dann so das einer dieser "Dummy"s die Anzeige macht und einer den Schalter?
Sorry, bin neu in der FHEM Sache ;-)
Gruß und Danke
fhem kann icons (und vor allem anklickbare) nur pro device darstellen. d.h. um zwei getrennte icons zu bekommen die anklickbar sein sollen brauchst du zwei devices. das sind normaler weise dummy devices.
mir fällt aber gerade noch eine lösung ein schau mal ob du deinen 1-wire schalter noch ein zweites mal anlegen kannst. wenn das geht brauchst du keine dummys sondern kannst dir jeweils das 1-wire device mit stateFotmat,devSateIcon und webCmd so ok figurieren das es nur für einen kanal zuständig ist.
gruss
andre
Hallo,
ich glaub ich hab es verstanden:
Also ich habe den DS2408 (8fach IO), den müsste ich dann 8 mal anlegen (immer mit anderem Namen??) und auch 8 Schalter definieren(die am besten den gleichen Namen haben wie der definierte Schalter).
Leider sagen mir die Begriffe stateFormat,devStateIcon und webCommand nicht allzuviel, aber ich werde es heut Abend mal probieren.
Gruß Arnold
Das Mehrmalsanlegen solltest Du lassen, das kommt sicher mit der Discovery bei OWX-Start in Konflikt. Wäre auch ineffektiv, weil OWX das physikalisch ja nur einmal vorhandene Device dann mehrmals redundant pollen würde. Und spätestens beim set wäre es ganz aus, weil die Ausgabepins ja in einem gesharten Register verwaltet werden und die FHEM-Devices nichts voneinander wissen.
Die Discovery möchte/werde ich bei Gelehenheit so umgestalten, dass sie sicherstellt, dass eine Device-id FHEM-weit nur einmal vorkommen kann. Dann könnte man ein 1-Wire Device von einem Bus auf einen anderen umhängen und OWX würde es automatisch dem richtigen OWX-Device zuordnen, ohne dass die Einstellungen verlorengingen. Mehrere Busse ist jetzt nicht so abwegig, wenn man Arduinos oder DS2482-800 als Busmaster benutzt.
- Norbert
Ich habe aber auch schon darüber nachgedacht, ob ich OWSWITCH nicht selber pro verwaltetem PIN ein FHEM-Device anlegen lassen würde - ähnlich wie man es beim FRM mit FRM_IN und FRM_OUT macht. Analoges für OWAD. Mehrere unabhängig nutzbare Funktionen in einem Device sind immer irgendwie unhandlich... Das ist jetzt aber ein bischen Zukunftsmusik, erst muss der asynchrone Modus released werden...
- Norbert
Hallo Norbert,
ok, dann versuch ich das erst gar nicht mit dem mehrfachen Anlegen.
Heißt das dann das es im Moment keine Möglichkeit für mich gibt die Ports des DS2408 aus dem "Floorplan" zu schalten?
mfg und Danke
dann bleibt bis norbert das aufteilen der pins auf einzelne devices eingebaut hat nur die möglichkeit über dummys.
dazu ist aber etwas handarbeit nötig. zu den stichwörtern von oben findest du erklärungen im einsteiger PDF und in der commandref.
gruss
andre
Zitat von: ntruchsess am 11 November 2013, 14:04:46
...ob ich OWSWITCH nicht selber pro verwaltetem PIN ein FHEM-Device anlegen lassen würde - ähnlich wie man es beim FRM mit FRM_IN und FRM_OUT macht. Analoges für OWAD. Mehrere unabhängig nutzbare Funktionen in einem Device sind immer irgendwie unhandlich...
- Norbert
Hallo Norbert,
das klingt nach einer hervorragenden Idee! Ich habe da bisher immer auf die kostengünstige Variante mit 8fach Switches verzichtet und die 2fachen genommen. Aber auch bei denen sind die Aufgaben der 2 Kanäle oft nicht miteinander verwandt.
Hallo,
wie bekomme ich denn das mit wenn die Ports "einzeln" geschaltet werden können, also mit einem eigenen Symbol
Gruß
Eine Aufteilung der Ports auf verschiedene Devices halte ich nicht für sinnvoll, das widerspricht auch ganz extrem der Philosophie des 1-Wire bus.
Viel besser wäre es, wenn wir ein neues generisches OW-Modul schreiben: OWPROXY sollte es ermöglichen einzelne Kanäle von Schaltern, AD-Wandlern etc. als separate FHEM-Devices zu behandeln.
LG
pah
ich habe gerade ein solches generisches proxy modul in arbeit.
damit kann man einen beliebigen teil eines readings aus einem device zu einem neuen fhem device machen und über get, set und value proxies auch bedienen.
gruss
andre
eine erste version ist hier http://forum.fhem.de/index.php/topic,16827.0.html (http://forum.fhem.de/index.php/topic,16827.0.html) zu finden.
gruss
andre
Klingt gut, so habe ich mir das vorgestellt.
LG
pah
Kann das so funktionieren? (siehe Code)
Wo/Wie finde ich dann diesen myProxy?
Ich steh glaub ich voll auf der Leitung :P
define OWX2 OWSWITCH DS2408 76430D000000
attr OWX2 IODev OWio
attr OWX2 model DS2408
attr OWX2 room OWX
define myProxy readingsProxy OWX2:latch.A
attr myProxy valueFn {($VALUE == 1)?"on":"off"}
ja. so in der art funktioniert es.
du findest ihn wie jedes andere device das du definierst. ich glaube diese frage verstehe ich nicht.
wenn das device nicht da ist ist beim anlegen etwas schief gegangen. schau im log ob du etwas siehst.
gruss
andre
okay, jetzt isser da :)
aber wenn ich jetzt auf on oder off klicke, dann kommt:
"Unknown argument on, choose one of "
hat denn das noch niemand mit dem DS2408 gemacht?
Wäre superdankbar wenn das jemand zur Verfügung stellen würde
Grüße
du musst über das setList attribut sagen das es ein on und off kommando gibt und über die setFn sagen was jeweils passieren soll.
gruss
and
TADAAA, ich habs geschafft ;D ;D ;D
Dann erscheint ein "Button" namens OWX2KA der die output-Befehle "output A off" und "output A on" ausführen kann.
define OWX2 OWSWITCH DS2408 76430D000000 6
attr OWX2 IODev OWio
attr OWX2 model DS2408
attr OWX2 room OWX
define OWX2KA readingsProxy OWX2:latch.A
attr OWX2KA devStateIcon on:shutter_closed
attr OWX2KA fp_GrundrissEG 50,100
attr OWX2KA icon close
attr OWX2KA room OWX
attr OWX2KA setFn {($CMD eq "on")?"output A off":"output A on"}
attr OWX2KA setList on off
attr OWX2KA valueFn {($VALUE == 0)?"off":"on"}
attr OWX2KA webCmd on:off
Voll der Wahnsinn, es geht ;D ;D ;D ;D ;D ;D ;D ;D
DANKE für die Unterstützung
Hi,
ich möchte ein on-for-timer absetzen. Leider stell ich mich wohl zu dusselig an.... Warum funktioniert es nicht? Finde den Fehler nicht :(
attr Schalter_rechts_2 setfn {"output B $CMD"}
attr Schalter_rechts_2 setList ON OFF on-for-timer
set Schalter_rechts_2 on-for-timer 10
OWSWITCH: Wrong data value , must be time format xx:xx:zz or integer
Das korrekte KOmmando lautet für meinen DS2408:
set Schalter_rechts output B on-for-timer 10
on-for-timer muss nicht in der setList auftauchen und nicht in der setFn behandelt werden.
sobald on und off da ist (und über die setFn implementiert ist) geht on-for-timer über dir setExtentions automatisch.
gruss
andre
Zitat von: justme1968 am 15 Dezember 2013, 09:36:58
sobald on und off da ist (und über die setFn implementiert ist) geht on-for-timer über dir setExtentions automatisch.
ahhh, danke.... mit "on off" gehts jetzt, ich hatte aber "ON OFF" definiert, und da ging es nicht. Gut zu wissen ;)
Hi,
Wie kann ich denn zwei Set Befehle absetzen? z.B für meinen 1Wire Rolladenaktor PIO.A 0 und PIO.B 1 für runter...
Greetz
Eldrik
einfach in der setFn beides machen und undef zurückgeben.
gruss
andre
so richtig Blick ich es jetzt nicht.
Folgendes hab ich in setFn
{($CMD eq "open")?"PIO.A 1 PIO.B 0":"PIO.A 0 PIO.B 1"}
als Output erhalte ich set Rollladen_Bad_klein needs two arguments
Greetz
Eldrik
etwa so:{if($CMD eq "open"){CommandSet(undef,"$DEVICE PIO.A 1"); CommandSet(undef,"$DEVICE PIO.B 0");} else {CommandSet(undef,"$DEVICE PIO.A 0");CommandSet(undef,"$DEVICE PIO.B 1");} return undef;}
das ganze wird übersichtlicher wenn du die beiden CommandSet in eine kleine routine in 99_myUtils.pm auslagerst.
gruss
andre
Klasse!
Jetzt hat es sich mir erschlossen.
Danke.
Hi Andre,
Danke für die Info... Allerdings hast du mit dem Codebeispiel mit dem CommandSet Befehl neue Fragen aufgeworfen. Den kenne ich nämlich (noch) nicht... Steht auch nicht im Wiki
nimm statt dessen fhem("set ...") und vergiss das du etwas anderes gesehen hast :)
im ernst: es ist die interne funktion die aufgerufen wird wenn ein 'set ...' erkannt wurde.
gruss
andre
@rebs88,@Tobias und @eldrik: könntet ihr mir bitte eure beispiele ein mal komplett mit kurzer beschreibung und screenshot schicken? dann mache ich eine wiki seite wie für die readingsGroup auch.
gruss
andre
Das bIld
(//)
Hallo FEHEM-Gemeinde,
auch ich will gerade die Kanäle des 2408 aufsplitten. Da habe ich mich über die Codebeispiele gefreut, damit geht das Schalten der Kanäle problemlos.
Ich stolpere jetzt nur über das Problem dass "devStateIcon" nicht wie gewünscht funktioniert.
Dies scheint daran zu liegen dass das Reading "state" dauerhaft auf "off" bleibt.
Kann mir da jemand einen Tipp geben?
define switch_BEWAESSERUNG OWSWITCH DS2408 BDD510000000
attr switch_BEWAESSERUNG IODev 1wire
attr switch_BEWAESSERUNG model DS2408
attr switch_BEWAESSERUNG room AUSSEN
define Ventil_1 readingsProxy switch_BEWAESSERUNG:latch.A
attr Ventil_1 devStateIcon off.*:general_aus on.*:general_an
attr Ventil_1 group Bewässerung
attr Ventil_1 icon sani_sprinkling
attr Ventil_1 room AUSSEN
attr Ventil_1 setFn {($CMD eq "on")?"output A on":"output A off"}
attr Ventil_1 setList on off
attr Ventil_1 valueFn {($VALUE == 0)?"off":"on"}
attr Ventil_1 webCmd on:off
welche readings hat denn dein DS2408? stehen dort die latch.X readings so wie sie sollen? was passiert wenn du pio.X statt latch.X verwendest ?
devStateIcon sollte glaube ich jeweils ohne das .* definiert werden. STATE ist ja on oder off ohne noch etwas dahinter.
gruss
andre
Hallo Andre,
danke für deine Unterstützung.
Zitatwelche readings hat denn dein DS2408? stehen dort die latch.X readings so wie sie sollen?
bisher hatte ich Readings wie latch.X (siehe Bild)
Zitatwas passiert wenn du pio.X statt latch.X verwendest ?
Bei Verwendung von pio statt latch ist die Funktion weiterhin gegeben... Die Kanäle des DS2408 werden geschalten, die devIcons gehen aber nicht.
ZitatdevStateIcon sollte glaube ich jeweils ohne das .* definiert werden. STATE ist ja on oder off ohne noch etwas dahinter.
Dies bringt keine Änderung im Verhalten on.* würde nach meinem Verständnis auch bei on-for-timer funktionieren...
Gruß Manuel
ich meinte die readings im original device (also switch_BEWAESSERUNG). gibt es da die latch.X readings und haben sie da den richtigen status. (oder du hast das bild vergessen)
bitte bau in deine valueFn mal ein Log 3, ">$DEVICE:$READING:$VALUE<";
vor dem if ein.
ja. das on.* matched auch auf on-for-timer. aber diesen status wird dein device nie haben weil das on-for-timer über die SetExtension nur emuliert wird. der status wird auch bei on-for-timer nur on sein. den status on-for-timer gibt es nur bei fs20.
gruss
andre
Hallo Andre,
ok, nun das Bild vom Original-Device im Anhang. Da ist nix mit Latch... ?
Mein valueFn sieht so aus (also ohne ein if)
attr Ventil_1 valueFn {($VALUE == 0)?"off":"on"}
Ich habe verschiedene Versuche unternommen die LOG Zeile einzubauen... immer mit Fehlermeldung z.B.
attr Ventil_1 valueFn Log 3, ">$DEVICE:$READING:$VALUE<";{($VALUE == 0)?"off":"on"}
Global symbol "$VALUE" requires explicit package name at (eval 21138) line 1, <> line 112.
Gruß Manuel
valueFn funktioniert so das sie das reading das du bei der definition des readingsProxy angibst nimmt und daraus den state erzeugt.
dazu musst du natürlich ein reading verwenden das dein original device auch hat. bei OWDevice wäre das latch.X. du scheinst aber OWSWITCH zu verwenden. dann ist es einfach nur A oder B, ... oder Ventil1, ...
entsprechend den möglichen werten (scheinbar ON und OFF) musst deine valueFn dann etwa so aussehen:attr Ventil_1 valueFn {($VALUE eq "OFF")?"off":"on"}
die fehler kommen weil das Log... hinter die { gehört hätte.
gruss
andre
Hallo Andre,
nun hab ich es hinbekommen...
Danke für die Unterstützung.
Sonderbar sind die Originalreadings von OWSWITCH mit ON☇ für off und ON für on.
define Ventil_1 readingsProxy switch_BEWAESSERUNG:A
attr Ventil_1 devStateIcon off:general_aus on:general_an
attr Ventil_1 group Bewässerung
attr Ventil_1 icon sani_sprinkling
attr Ventil_1 room AUSSEN
attr Ventil_1 setFn {($CMD eq "on")?"output A on":"output A off"}
attr Ventil_1 setList on off
attr Ventil_1 valueFn {($VALUE eq "ON")?"on":"off"}
attr Ventil_1 webCmd on:off
Sonderbar ist darangar nichts. ON mit Pfeil nach unten bedeutet, dass der Ausgang extern kurzgeschlossen ist - ein Setting OFF nutzt also dafür gar nichts.
LG
pah
Hallo pah,
für den Laien bleit es sonderbar..
Ich spiele gerade mit einem Fertigmodul von eservice-online, alle Relaisausgänge sind derzeit unbeschalten.
Um einen Kurzschluss zu erkennen müsste ein Ausgang doch erst Rückgelesen werden. Das geht sicherlich mit einem DS2408, aber bei diesem 8-fach Schaltmodul dürfte das nicht gehen.
http://www.eservice-online.de/out/media/Anschlussplan%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29.pdf (http://www.eservice-online.de/out/media/Anschlussplan%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29%281%29.pdf)
Gruß Manuel
Wenn das Modul OWSWITCH einen DS2408 erkennt, ist auch ein solcher verbaut.
Der Kurzschluss betrifft natürlich nicht die Relaisausgänge - sondern die Ausgänge des DS2408. Und diese werden natürlich gelesen...
Für einen solchen Kurzschluss reicht bei der Hochohmigkeit des Ausgangs bereits ein Widerstand von ein paar kOhm gegen Masse und eine fehlende Versorgungsspannung der Relais.
LG
pah
@ andre
ich wollte die Tage meine Rollladensteuerung (bisher hoch runter über if else) um ein stop erweitern, bekomme bei meiner neuen if, elsif, else Konstruktion bei der Fhemweb Auswahl ungleich stop, jedoch direkte Meldungen vom 1Wire Device!
Gehen nicht mehr als zwei Werte, für setList, die über if else unterschieden werden können oder liegt es an meiner Konstruktion?
{
my $window_contact = ReadingsVal("Contact_OG_rechts1","sensed.4","0");
my $window_opener = "Rollladen_Gaestezimmer_rechts";
my $window_shutter = "Rollladen_Bad_klein";
my $duration_shutter = 100;
my $duration_opener = 15;
my $duration_pause = 0.2;
if ($CMD eq "stop") {
fhem
"set $window_shutter PIO.A 1;
set $window_shutter PIO.B 1;
sleep $duration_pause;
set $window_shutter PIO.A 0;
set $window_shutter PIO.B 0";
} elsif ($CMD eq "hoch") {
if ($window_contact == 1)
{
fhem
"set $window_shutter PIO.A 1;
sleep $duration_pause;
set $window_shutter PIO.A 0";
if ($duration_shutter > 0)
{
fhem
"sleep $duration_shutter;
set $window_shutter PIO.A 1;
set $window_shutter PIO.B 1;
sleep $duration_pause;
set $window_shutter PIO.A 0;
set $window_shutter PIO.B 0";
}
}
} elsif ($CMD eq "runter") {
if ($window_contact == 1)
{
fhem
"set $window_opener PIO.B 1;
sleep $duration_pause;
set $window_opener PIO.B 0";
if ($duration_opener > 0)
{
fhem
"sleep $duration_opener;
set $window_opener PIO.A 1;
set $window_opener PIO.B 1;
sleep $duration_pause;
set $window_opener PIO.A 0;
set $window_opener PIO.B 0";
}
fhem
"set $window_shutter PIO.B 1;
sleep $duration_pause;
set $window_shutter PIO.B 0";
if ($duration_shutter > 0)
{
fhem
"sleep $duration_shutter;
set $window_shutter PIO.A 1;
set $window_shutter PIO.B 1;
sleep $duration_pause;
set $window_shutter PIO.A 0;
set $window_shutter PIO.B 0";
}
}
}else {
fhem
"set $window_shutter PIO.B 1;
sleep $duration_pause;
set $window_shutter PIO.B 0";
if ($duration_shutter > 0)
{
fhem
"sleep $duration_shutter;
set $window_shutter PIO.A 1;
set $window_shutter PIO.B 1;
sleep $duration_pause;
set $window_shutter PIO.A 0;
set $window_shutter PIO.B 0";
}
}
}
Greetz
Eldrik
was genau meinst du mit 'direkte meldungen' ?
es gibt keine einschränkung hinsichtlich der anzhal der kommandos.
die einrückungen deiner klammer ebenen stimmt zumindest hier in der web ansicht nicht mit der tatsächlichen klammer hierarchie überein. vielleicht gibt es hier ein problem ?
gruss
andre
folgende Meldung erhalte ich:
Unknown argument hoch, choose one of interval PIO.A PIO.ALL PIO.B PIO.BYTE
Ja die Hierarchie dürfte in der Ansicht nicht stimmen, vom verschachteln her würde ich zumindest meinen das es passt.
Greetz
Eldrik
bau mal bitte einen else ganz ans ende und dort ein Log 3, $CMD;
ein. ich glaube in CMD steht etwas was du nicht erwartest.
gruss
andre
Hey,
Mach ich noch, ich glaub ich bin aber auch schon einen Schritt weitergekommen, morgen gehts weiter!
Danke schon einmal..
Gruß
Jens
Hi,
Zwischenstand, ich habe es jetzt hinbekommen, es war tatsächlich noch eine Anweisung und eine Verschachtelung nicht korrekt. :)
Nun stehe ich aber vor einem weiteren Problem, ich hänge den entschlackten Code noch einmal an:
Problem: starte ich über fhemweb eine hoch oder runter fahrt und möchte diese zwischenzeitlich stoppen, rufe ich das stop Kommando auf, die vorherigen hoch oder runter fahrten sind aber so geschrieben, dass nach einem definierten Zeitwert 60 Sekunden die 1Wire Zustände so gesetzt werden, dass die normale rauf oder runterfahrt bzw. die Freigabe von 230V, vor der in der Hardware definierten Sicherheitsspanne von 1 1/2 Minuten beendet werden, durch den Motorendschalter wird der Rollladen natürlich schon vorher gestoppt.
Stoppe ich jedoch über fhemweb läuft die vorher abgesetzte hoch oder runter Schleife ja noch und so kann es sein, dass dann doch noch der Block abgearbeitet wird, der die Fahrt normalerweise beenden sollte, durch das bereits abgearbeitete stop wird nun jedoch wieder eine fahrt ausgelöst :(
Daher meine Frage, kann ich das vorher gestartete fhemweb Programm irgendwie über den stop Befehl vorzeitig beenden oder kann man hier keinen Einfluss drauf nehmen?
Die Konstellation sollte zwar höchst selten vorkommen, doch möchte ich diese trotzdem irgendwie abfangen können.
Ich habe die Stellen im Code mal kommentiert, in fhem fehlen diese natürlich.
{
my $window_contact = ReadingsVal("Contact_OG_rechts1","sensed.4","0");
my $window_opener = "Rollladen_Gaestezimmer_rechts";
my $window_shutter = "Rollladen_Bad_klein";
my $duration_shutter = 60;
my $duration_opener = 15;
my $duration_pause = 0.1;
if ($CMD eq "stop") {
fhem
"set $window_shutter PIO.ALL 1,1; #hier wird die derzeit aktive Fahrt beendet
sleep $duration_pause;
set $window_shutter PIO.ALL 0,0"; #hier wird das 1Wire Device wieder in den Ruhezustand überführt
} elsif ($CMD eq "hoch") {
fhem
"set $window_shutter PIO.ALL 1,0"; #es beginnt das Rauffahren
if ($duration_shutter > 0)
{
fhem
"sleep $duration_shutter; #vorher definierte Zeitspanne ab der die Fahrt beendet werden soll
set $window_shutter PIO.ALL 1,0; #erneute Ausführung des Kommandos hält das Device an
sleep $duration_pause;
set $window_shutter PIO.ALL 0,0"; #hier wird das 1Wire Device wieder in den Ruhezustand überführt
}
} elsif ($CMD eq "runter") {
fhem
"set $window_shutter PIO.ALL 0,1";
if ($duration_shutter > 0)
{
fhem
"sleep $duration_shutter; #vorher definierte Zeitspanne ab der die Fahrt beendet werden soll
set $window_shutter PIO.ALL 0,1; ##erneute Ausführung des Kommandos hält das Device an
sleep $duration_pause;
set $window_shutter PIO.ALL 0,0"; #hier wird das 1Wire Device wieder in den Ruhezustand überführt
}
}
}
Greetz
Eldrik
du verwendest im fhem teil sleep. das sleep ist fhem intern so implementiert das ein temporäres at angelegt wird das dann alles was hinter dem sleep kommt ausführt.
statt das fhem sleep zu verenden musst du alles was verzögert werden soll selber in so ein temporäres at verpacken. dann weisst du wie es heisst und kannst es mit delete einfach löschen wenn du es nicht mehr ausgeführt haben willst.
gruss
andre
Hey,
also in meinem Programm ein temporäres at per define erstellen und aufrufen und in anderen Situationen löschen?
Greetz
Eldrik
ja
Hallo,
ich nutze die Ports A,B,C,D als Ausgänge und E,F,G,H als Eingänge. Es hat eine Woche gedauert um über die Eingänge ein Ausgang zu schalten. Habe fast alle Beiträge im Zusammenhang mit DS2408, sowie WIKI und usw. gelesen und durch probieren zum jetzigen Ergebnis gekommen. Jetzt möchte ich noch den Eingängen (Ports E-H) Icon AUS-AN zuordnen um den Status grafisch darzustellen. Für die Ausgänge ist es mir dank dieser Beiträge gelungen. Anbei meine Code:
Für Ausgang B
define OWX2KB readingsProxy OWX2:B
attr OWX2KB devStateIcon off:general_aus on:general_an
attr OWX2KB room OWX
attr OWX2KB setFn {($CMD eq "on")?"output B on":"output B off"}
attr OWX2KB setList on off
attr OWX2KB valueFn {($VALUE eq "ON")?"on":"off"}
attr OWX2KB webCmd on:off
Für Eingang H
define Terassentuer_zu readingsProxy OWX2:H
attr Terassentuer_zu room OWX
attr Terassentuer_zu devStateIcon off:general_aus on:general_an
attr Terassentuer_zu setFn {($CMD eq "on")?"output H on":"output H off"}
attr Terassentuer_zu setList on off
attr Terassentuer_zu valueFn {($VALUE eq "on")? "on":"off"}
attr Terassentuer_zu webCmd on:off
und das Schalten
define Tuer1_zu DOIF ([OWX2:H] eq "ON1" and [OWX2:G] eq "ON1") (set OWX2KB on) DOELSE (set OWX2KB off)
attr Tuer1_zu room OWX
Danke im Voraus
für eingänge brauchst du keine setFn und keine setList und kein webCmd und auch kein DOIF.
Hallo justme,
setFn und setList sowie webCMD waren nur meine Versuche irgendwie mit Icons AUS - AN den Zustand des Eingangs darzustellen. Der DOIF ist zum schalten des Ausgangs B. B wird als Status Anzeige mit LED verwendet. Mein Problem ist, dass die Icons für die Eingänge nicht dem Status on oder off folgen.
Gruß und Danke
zeig mal bitte ein list auf das original device und den readingsProxy in beiden zuständen.
gruss
andre
Hallo,
mein OWSWITCH
define OWX2 OWSWITCH DS2408 68BA0E000000 10
attr OWX2 IODev 2wire
attr OWX2 model DS2408
attr OWX2 room OWX
#attr OWX2 IODev OWio
attr OWX2 stateS
# Eingang G Seitentür - Überwachung
define Seitentuer_zu readingsProxy OWX2:G
attr Seitentuer_zu room OWX
attr Seitentuer_zu valueFn {($VALUE eq "on")?"on":"off"}
attr Seitentuer_zu webCmd on:off
# Eingang H Terassentür - Überwachung
define Terassentuer_zu readingsProxy OWX2:H
attr Terassentuer_zu room OWX
attr Terassentuer_zu devStateIcon off:general_aus on:general_an
#attr Terassentuer_zu setFn {($CMD eq "on")?"output H on":"output H off"}
#attr Terassentuer_zu setList on off
attr Terassentuer_zu valueFn {($VALUE eq "on")? "on":"off"}
#attr Terassentuer_zu webCmd on:off
Ich bin noch Anfänger und auch kein Programmierer. Wie gesagt, um diese LED Ein- und Ausschalten habe ich fast eine Woche gebraucht und mehr als 100 Beiträge zu OWSWITCH gelesen. Leider habe ich kein Beispiel für Icons im Bezug auf Eingänge gefunden
Gruß
Hallo
ich war nicht zu Hause am Wochenende.
Hier ist mein list und readingsProxy in beiden zuständen
list OWX2
Internals:
ASYNC 0
DEF DS2408 68BA0E000000 10
INTERVAL 10
IODev 2wire
NAME OWX2
NOTIFYDEV global
NR 41
NTFY_ORDER 50-OWX2
OW_FAMILY 29
OW_ID 68BA0E000000
PRESENT 1
ROM_ID 29.68BA0E000000.A6
STATE A: OFF B: ON C: OFF D: OFF E: OFF F: OFF G: ON1 H: ON1
TYPE OWSWITCH
Readings:
2015-09-21 16:00:37 A OFF
2015-09-21 16:00:37 B ON
2015-09-21 16:00:37 C OFF
2015-09-21 16:00:37 D OFF
2015-09-21 16:00:37 E OFF
2015-09-21 16:00:37 F OFF
2015-09-21 16:00:37 G ON1
2015-09-21 16:00:37 H ON1
2015-09-21 16:00:37 state A: OFF B: ON C: OFF D: OFF E: OFF F: OFF G: ON1 H: ON1
owg_val:
1
0
1
1
1
1
0
0
owg_vax:
1
0
1
1
1
1
1
1
Attributes:
IODev 2wire
model DS2408
room OWX
stateS 1
Readings (Eingänge G und H kurzgeschlossen)
A OFF B: ON C: OFF D: OFF E: OFF F: OFF G: ON1 H: ON1 2015-09-21 16:22:07
B ON 2015-09-21 16:22:07
C OFF 2015-09-21 16:22:07
D OFF 2015-09-21 16:22:07
E OFF 2015-09-21 16:22:07
F OFF 2015-09-21 16:22:07
G ON1 2015-09-21 16:22:07
H ON1 2015-09-21 16:22:07
state
A: OFF B: ON C: OFF D: OFF E: OFF F: OFF G: ON1 H: ON1
lReadings (Eingänge G und H offen)
A OFF B: OFF C: OFF D: OFF E: OFF F: OFF G: OFF H: OFF 2015-09-21 16:28:47
B OFF 2015-09-21 16:28:47
C OFF 2015-09-21 16:28:47
D OFF 2015-09-21 16:28:47
E OFF 2015-09-21 16:28:47
F OFF 2015-09-21 16:28:47
G OFF 2015-09-21 16:28:47
H OFF 2015-09-21 16:28:47
state
A: OFF B: OFF C: OFF D: OFF E: OFF F: OFF G: OFF H: OFF
2015-09-21 16:28:47
Und was bitte ist die konkrete Frage ?
LG
pah
Hallo,
ich nutze die Ports A,B,C,D als Ausgänge und E,F,G,H als Eingänge. Den Ausgängen kann die Icons "Aus/AN" zuordnen aber bei den Eingängen funktioniert es nicht. Wie muss ich den Status der Ports den Icons zuordnen?