Statusvariable für Dimmer

Moin Moin,

ich musste folgende Zeile auch deaktivieren, da ich immer eine Fehlermeldung bekommen habe.

if($IPS_VARIABLE == 34517 /*[Erdgeschoß\Wohnzimmer\Deckenlampe\WORKING]*/)

Fehlermeldung:

Notice:  Undefined variable: IPS_VARIABLE in [Erdgeschoss\Wohnküche\Ambiente Licht\Status] on line 10

Kann mir jemand sagen warum im Webfront der Status „AN“ nicht grün und bei „AUS“ nicht rot hinterlegt ist ? Die Variable ist als Switch angelegt.

Ein und Ausschalten kann ich´s damit auch nicht. Nur den Status abfragen.

Uploaded with ImageShack.us

Danke schon mal
Gruß Christian

Du mußt das Statusskript auch als „Action“ der Variable „Status“ zuweisen (siehe Bild).

Bezüglich deines Fehlers mit $IPS_VARIABLE. Hast Du auch die ID deiner WORKING-Variable im Skript eingetragen. Des Weiteren darfst Du das Skript auch nicht per Hand ausführen, ansonsten kommt dieser Fehler.

Status.png

Ahh Danke…

lagst mit beiden Tipps richtig :wink: Wieder was dazu gelernt. :smiley:

Dafür ist das Forum ja da.:slight_smile:

Habt ihr auch so eine Verzörgerung der korrekten Anzeige des Dimmwertes wenn ihr den Dimmer per Webfront bedient? Komisch ist auch das die Anzeige zuerst immer um 0,5 im Wert abnimmt 2-3 Sekunden pausiert und dann auf den richtigen Wert geht. Ich habe dazu mal ein Video gemacht.

Edit: „Status emulieren“ ob gesetzt oder nicht hat keine Auswirkung

YouTube - dimmer

Oben seht ihr einen FS20-Dimmer. Hier läuft alles korrekt :slight_smile:
Unten der Homematic-Dimmer. Hier hakt es :frowning:

Ist ein Phänomen der CCU/LAN-Software.

Auch wenn Du in der CCU/LAN den Dimmwert änderst wird er erst später korrekt visualisiert. Da IPS ja nur mitlauscht kann auch in IPS nicht anderes angkommen.

[OT] Mit welchem Programm machst Du deine ScreenCasts?[/OT]

Schade. Komisch das Homematic als FS20 Nachfolger anscheinend auf dem ein oder anderen Gebiet seinem Vorgänger unterlegen ist. Auch das bei Homematic keine Zuordnung von Gruppenadressen mehr gibt finde ich einen Rückschritt. Aber gut Hauptsache es ist zuverlässig.

Als Software zum aufzeichnen habe ich Ashampoo Snap benutzt. Das einzige Progi das ich auf die schnelle gefunden habe das Video-Screenshots aufzeichnen kann und „kostenlos“ ist -jedenfalls 30 Tage.

Hallo mein Lieblingsindianer,

ist ja nur ein Visualisierungsproblem. Ich denke die wollten den Kommunikationsverkehr einfach gering halten. Bei FS20 wurde dir halt der Zielstatus angezeigt obwohl noch nicht erreicht und bei HM wird dir der Startwert +/- 0,5 angezeigt. Somit weiß man zumindest das der Dimmer losrennt und wann er angekommen ist.

So schlecht finde ich das garnicht, ist aber eben gerade für Umsteiger am Anfang ein wenig seltsam.

Danke für den Tip mit der Software.

So 10 Dimmer sind eingebaut. Wunderschön das Ganze :D. Aber wie bekomme ich es hin alle aufeinmal per Webfront in der Helligkeit zu steuern.
Ich habe mal angefangen das Staus-Script umzuschreiben. Danach habe ich eine Dummy-Instanz Homematic erstellt und alle Variablen per Hand erzeugt.

Aber irgendwie komme ich nicht weiter. Wäre Klasse wenn mir jemand nochmal unter die Arme greifen könnte. Danke.

<?
$instanzID = array(58700, 59928, 17599, 30065,  54938, 59591, 39868, 29316, 52921, 23885);
$ramp_on  = 0;  //Rampe einschalten einschalten
$ramp_off   = 0; //Rampe einschalten ausschalten

if($IPS_SENDER == "WebFront")
{
   SetValue($IPS_VARIABLE, $IPS_VALUE);
   if($IPS_VALUE)
	{
		for($i=0; $i<count($instanzID) ; $i++)
		{
		 HM_WriteValueFloat($instanzID[$i], "RAMP_TIME", $ramp_on); //Gerät innerhalb von 8 Sekunden dimmen
		 HM_WriteValueFloat($instanzID[$i], "OLD_LEVEL", true);
		}

	}
else
	{
  		for($i=0; $i<count($instanzID) ; $i++)
		{
		 HM_WriteValueFloat($instanzID[$i], "RAMP_TIME", $ramp_off); //Gerät innerhalb von 8 Sekunden dimmen
		 HM_WriteValueFloat($instanzID[$i], "LEVEL", 0);
		}
	}
}

//if($IPS_VARIABLE == 51580 /*[Licht\Flur\WORKING]*/) {
if(GetValue(30311 /*[Licht\Flur\LEVEL]*/) > 0)
	{
	SetValue(19992 /*[Licht\Flur\Status]*/, true);
	}
else
	{
    SetValue(19992 /*[Licht\Flur\Status]*/, false);
 	}
//}

?>

Hallo!
Versuche mich gerade auch am ersten HM Dimmer…die FS20 sind da ja wirklich unkomplizierter :wink:

Naja, da ich auch gerne den Status Button haben möchte, habe ich einmal o.a. Skript übernommen, funktioniert soweit auch.
Allerdings wird die Statusvariable nicht aktualisiert, wenn ich mittels Slider (Level) den Dimmer einschalte!?
Wo kann der Fehler da bei mir liegen!?
–edit–
Ebenfalls wird die Status Variable nicht aktualisiert wenn ich per Schalter schalte…

Danke!

Hallo zusammen,

ich frage mich nur, wozu denn die Einstellung „Status emulieren“ überhaupt gut ist. Ein unterschiedliches Verhalten abhängig von dieser Einstellung konnte ich nicht feststellen. Ich dachte immer (so geht’s z.B. bei meinen FHT’s) dass IPS durch das Emulieren den gewünschten / eingestellten Wert auf dem Server sofort setzt, d.h. nicht auf Rückmeldung des Aktors wartet.

Funktioniert „Status emulieren“ hier vielleicht nicht richtig, oder habe ich einen Denkfehler?

Adrian

Sorry, muss nochmal nachhaken, evtl. jemand mit einer Idee, wie ich die Anzeige aktualisiert bekomme!?

Würde gerne mehr HM Dimmer Verwenden, will aber die FS20 beibehalten :frowning:

emulieren führt - zumindest bei HM-Komponenten dazu, dass der Status einer Variable im IPS unmittelbar nach dem im IPS ausgelösten Schaltvorgang (oder was auch immer -Vorgang) übernommen und angezeigt wird - unabhängig davon, ob das Device diese Änderung schon umgesetzt hat oder nicht. Bei Thermostaten kann es z.B. 5-10 Minuten dauern bis diese die neue Temperaturvorgabe übernehmen und an IPS zurückmelden. Solange würde im IPS der Wert vor der Änderung angezeigt werden. gerade im WFE ist das für den bediener sehr verwirrend. Daher kann der Parameter „emulieren“ gesetzt werden, die Änderung erscheint im WFE sofort. -hat natürlich auch wieder Nachteile

würde dies aus eigener Erfahrung nicht für die Keymatic empfehlen, denn das führt zu uneinschätzbaren Zuständen Bei mir springt der geschlossen/offen Status mehr zufällig hin und her…

und ob die Tür zu ist, weiss ich dann nicht :frowning:

Bei den Dimmern geht das auch nicht…aber was ist denn jetzt mit meinem Skript!? :wink:

genau, deshalb schrieb ich auch: … -hat natürlich auch wieder Nachteile …:wink:

Notfalls Böse-Modus an wenn es nur um eine Variable geht, die sich ändern soll, einfach eine neue anlegen, diese per Script anpassen und freuen **Böse-Modus aus **

Der Rest aktualisiert sich ja irgendwann :rolleyes:

Gruß
Bruno

vielleicht mal die Prüfungskriterien in der ersten if-Abfrage definieren:


 if($IPS_SENDER == "WebFront")
{
   SetValue($IPS_VARIABLE, $IPS_VALUE);
      if($IPS_VALUE) was denn?

  .......

hier wäre sowas wie if($IPS_VALUE == true) sicher angebracht

hier wäre sowas wie if($IPS_VALUE == true) sicher angebracht
Wenn $IPS_VALUE einen Boolwert annimmt, passt das schon. Er ist entweder true oder false. Folglich ist die Kurze Schreibweise für true

if($IPS_VALUE) //true

und für false

if(!$IPS_VALUE) // false

Ja, aber ist bei sehr vielen Dimmern doch irgendwie Doof…:wink:
Wäre doch schöner wenn das im obigen Skript integriert wäre.

Dachte hätte nur was übersehen, aber ist wohl doch nicht so…
Wie macht ihr das denn mit den HM Dimmern??