Änderung von Integer zu Float

Das mit dem Debug ist ganz simpel, du hast die Instant-Konfiguration ja schon offen. Oben rechts auf dem Käfer klicken, dann geht ein neuer Tab auf.
Wenn dann das Ereignis auslöst, sollte in den Tab was passieren.
Das kannst du dann abspeichern und hier einstellen. Wenn du sehr viele Systemvariablen hast, kann es sein das du in dem Debug Tab oben rechts das Limit abschalten musst.

Was mich ja wundert, dass sich die Variable auch nicht zeitgleich zum Ereignis aktualisiert. Sonst öffne zusätzlich noch einen neuen Reiter (über +) und öffne die Meldungen. Eventuell taucht da ein Fehler auf?
Michael

Das mit den Meldungen hat eine Meldung gebracht. Da steht: „Variable types of Action do not match“.
Ich hoffe, das bringt uns weiter.

@Dr.Niels
Wird da nicht konvertiert? :eek:

@froema
Auch wenn das mit dem direkten Ereignis gerade nicht geht.
Mit diesem Script funktioniert es?
Dann bist du auch in Zukunft unabhängig.


<?php
RequestAction(10389, $_IPS['VALUE']);

$_IPS[‚VALUE‘] enthält den Wert bei Auslösung durch das Ereignis.
Michael

Hallo Michael,

das funktioniert schon mal mit RequestAction, Juhu!
Ist das denn der gleiche Befehl auch für Boolean? Ich habe da einiges zwischen zwei HomeMatic’s rangiert.

Und vielen Dank bis hierhin!!!

Gruß
Marc

Da kommt wohl eine Meldung beim Ausführen des Skripts:

<?php

RequestAction(10389, $_IPS[‚VALUE‘]);

?>

Notice: Undefined index: VALUE in /var/lib/symcon/scripts/38804.ips.php on line 3
Ignorieren oder Handeln?

Ja, und das ist der gleiche Befehl welcher auch bei dem Ereignis im Hintergrund ausgeführt wird.
Nur scheint da der Datentyp zu streng kontrolliert werden. :rolleyes:
Michael

Auch auf die Gefahr hin zu nerven, ich kann das also jetzt überall umschreiben?
Ich will nur nicht alles wieder von Neuem machen.

Marc

Das Script darfst du nicht in der Konsole ausführen. Das Ereignis muss es starten.
Hatte doch geschrieben das $_IPS[‚VALUE‘] den auslösenden Wert durch das Ereignis erhält.
Was nicht gegeben ist, wenn du es manuell ausführst.
Michael

RequestAction ist auf jeden Fall die Zukunft :smiley:
Spezielle Instanz-Funktion braucht man nur, wenn es keine Variable für die Aktion gibt.
Also wenn du bei Homematic z.b. einen Aktor für 5 Sekunden einschalten willst, dann musst du weiterhin HM_WriteValueInteger(…,‚ON_TIME‘,5) schreiben.
Michael

Prima, und nochmals Danke.
Schönen Abend noch!

Die Aktion prüft auf jeden Fall, ob die Typen passen. Und blockiert hier scheinbar dann auch Int zu Float, obwohl das verlustfrei möglich ist. Ich würde das aktuell noch nicht ändern, da dann alle existierenden „Auf auslösenden Wert schalten“-Aktionen als PHP-Code interpretiert werden (es ist ja anderer Code als der vorgegebene). Mit dem Ablaufplan wollen wir die Aktionen dann sowieso nochmal überarbeiten, ich mache das dann in dem Rahmen.

Hallo,
ich habe nun versucht eine weitere Variable von einer HomeMatic zur Logo zu rangieren. Ich mache des exakt so wo oben beschrieben und wie ich es auch schon ein paar mal gemacht habe. Das obere Bild zeigt, wie es geklappt hat, das untere, wie es nicht geht.


Beim unteren Beispiel setzt Du keine Variable. Da steht Sichtbarkeit setzen.
Und warum steht da drüber: die Variable hat keine Aktion.
Michael

Es geht einfach nicht.
Ich bekommen nur „Auf Sichtbarkeit setzen“ zur Auswahl.

Und nochmal :slight_smile:
Die Variable hat keine Aktion, somit kannst du nix steuern.
Und der Aktionstyp steht auf modifiziere Variable, nicht auch schalte.
Michael

Klick die Variable im Objektbaum mal doppelt an und klappe „Profil- und Aktionseinstellungen“ auf. Dann wirst du wahrscheinlich sehen, dass weder bei Standardaktion noch bei Benutzerdefinierte Aktion etwas steht. Um was für eine Variable handelt es sich überhaupt? Sollte diese eigentlich schaltbar sein?

Danke, dann werde ich mich nach dem Urlaub damit mal beschäftigen.