Für die Rückmeldung bei IPSLight folgende Instanzen dem IPSCOMPONENTSWITCH und *DIMMER hinzufügen: IPSComponent.zip (2.18 KB)
Die Rückmeldung sollte dann schon klappen.
Für IPSShadowing muss das Skript IPSShadowing_Device.class.php ersetzt werden. Die Änderungen sind mit „BOMMH“ gekennzeichnet. IPSShadowing_Device.class.zip (5.51 KB)
Sodann sollte die Rückmeldung funktionieren.
Das ganze ist noch nicht 100% verständlich gecodet. Da liegt noch nen bissl arbeit vor mir, aber es funktioniert
Bei Fragen und Anregungen einfach melden.
Gruß
Maze
PS: Ja, es ist möglich die FSB14er direkt mit einem Zeitbefehl fahren zu lassen, aber das ist noch nicht implementiert, da dafür IPSShadowing fast komplett bearbeitet werden muss. Irgendwann werde ich es aber machen
Ich bekomme bei mir immer die Meldung im Log .
Für Device1 wurde keine ReturnID Variable gefunden.
Für jedes anderes Rollo bekomme ich die gleiche Meldung.
Variable ist angelegt und die Melde ID ist eingetragen.
Vieleicht kannst Du mir einen Tip geben.
ich bin jetzt unterwegs. schau heute Abend drauf wenn ich daheim bin. passt die ReturnID die dort steht zu einem deiner Rollläden? oder ist das der Code vom Schalter? Auf dem EnoceanFunk wird beides gesendet.
Gruß
Maze
Die Meldung „Für Device # wurde keine ReturnID Variable gefunden!“ tritt in der Funktion ENO_Device_Identification auf.
Diese Funktion verarbeitet den Datensatz aus der RegisterVariablen.
Zunächst wird hierbei geprüft, ob der Datensatz von dem Gateway gesendet wurde (bei mir ID FF F9 68 80). Diese ID ist im Skript auch hardgecodet. Falls das Gateway ne andere ID hat, wäre das nicht schlimm, aber sollte dennoch angepasst werden.
Wenn der Datensatz NICHT vom Gateway ist, wird zunächst die Konfigurationsdatei von IPSShadowing aufgerufen und dann für jeden dort angelegten Device geprüft, ob er die Variable „ReturnID“ enthält. Enthält er diese Variable nicht, dann kommt es zu obiger Meldung.
Diese Meldung ist also erstmal unabhängig von dem Sender.
Die Funktion sucht unter der InstanzID welche im IPSShadowingConfig File hinterlegt wurde.
Setzt man den IPSLogger auf Trace oder All, findet man die Nachricht: „InstanceID: XXXXX“. Diese ID muss das „Parent“ von der „ReturnID“ Variablen sein. Bei Dir wäre das die IPS ID von „Rollo XXX“.
Überprüf mal, welche InstanceID bei Dir ausgegeben wird und ob unter dieser InstanceID dann auch die ReturnID Variable angelegt ist.
IPSShadowing läuft ohne diese Rückmeldung schon bei dir, oder?
Erstmal Vielen Dank für deine Hilfe.
Es funktioniert jetzt alles. Ich hatte in der Shadowing Config den Namen des Devices angeben und nicht die ID.
Das war der Fehler. Sehr gute Arbeit von dir mit den Rückmeldungen.
Danke nochmal und einen schönen Sonntag noch.
ich bin noch sehr neu in IP Symcon und habe derzeit eine einfache Testumgebung mit ELTAKO Aktoren (FSR14, FSB14, FUD14). Unter IP Symcon sind einige Module der IPSlibrary installiert (u.a. IPSlight und IPShadowing). Die Steuerung der Aktoren über Taster und aus den Modulen funktioniert. Jetzt würde ich gerne die Synchronisierung der manuell über Taster gesteuerten Aktoren mit den IPSLibrary Modulen realisieren. Das ist in diesem Thread aus dem Jahr 2014 ja schon beschrieben. Hierzu habe ich folgende Fragen bzw. Probleme:
1.) Ist die von Dir hier vorgestellte Vorgehensweise noch aktuell?
2.) Ersetzt dies die Möglichkeiten der Synchronisierung über den MessageHandler oder muss man dort auch noch etwas berücksichtigen?
3.) Ich habe die einzelnen Schritte Deiner Anleitung befolgt und meine Lampen und einen Rolladen mit den Variablen ergänzt. Ein Ausdruck des Debug der RegisterVariable beim Aktivieren einer Lampe ist angehängt. Allerdings bekomme ich nicht die von Masterflash geposteten Meldungen im IPSLogger sondern nur alle 5 Minuten eine Warnung zu dem Rolladen. Eine Synchronisierung findet nicht statt.
Kannst Du mir behilflich sein. Vielen Dank im Voraus
Hallo Marwin,
ich bin gerade noch für gut 2 Wochen im Urlaub.
Debugged kann ich hier leider nichts.
Bei meiner installation habe ich nichts verändert. Läuft noch so wie hier beschrieben, auch auf der aktuelle. IPS Version.
Ob man es noch benötigt, kann ich nicht sagen, nur dass es bei mir ohne Probleme läuft.
Gruß
Maze
edit:
Dein Fehler deutet auf IPSShadowing hin.
Für das Shadowing verwende ich schon immer ein angepasstes System, da die Umsetzung der Steuerung nicht ganz meinen Vorstellungen entspricht.
Versuch mal herauszufinden, welches 3te Argument fehlt.
vielen Dank für Deine schnelle Rückmeldung und dann auch noch aus dem Urlaub!
Die Warnung bezieht sich auf die „elseif“-Zeile (594) in der von Dir modifizierten Datei IPSShadowing_Device.class: // Custom
} elseif (IPSShadowing_ProgramCustom($this->deviceId, $isDay)) {
$programInfo = ‚CustomProgram‘;
// Action done in Custom Procedure
In der „Original-Datei“ lautet diese Passage:
// Custom
} elseif ( ($paramCountCustom == 3 and IPSShadowing_ProgramCustom($this->deviceId, $isDay, $programInfo))
or ($paramCountCustom == 2 and IPSShadowing_ProgramCustom($this->deviceId, $isDay))) {
if ($programInfo==’’) {$programInfo = ‚CustomProgram‘;}
// Action done in Custom Procedure
Die Fehlermeldung bezieht sich auf den Funktionsaufruf in der IPSShadowing_Custom.inc:
function IPSShadowing_ProgramCustom($DeviceId,$isDay,&$programInfo) {
return false;
}
Mich wundert aber zunächst, dass ich die Meldungen aus Post #13 im IPSLogger nicht erhalte und auch die vermutlich einfachere Synchronisation der Aktoren mit dem IPSLight-Modul nicht funktioniert.