ich steh noch ganz am Anfang und hab meine KNX Anlage inzwischen soweit visualisiert.
Jetzt möchte ich die erste Logikfunktion in IPS anlegen und bin am Durchdrehen. Ich hab keine Ahnung von Scripten und
bis jetzt auch nicht von PHP.
Folgendes möchte ich realisieren ( und ich kriegs ein fach nicht hin)
Zwei Fensterkontakte ( Eingänge ), die Instanzen hab ich als KNX Switch angelegt.
Ein Ausgang für den Frostschutz der Heizung. Und das ganze als oder Gatter.
Aber wenn ich auf Ausführen gehe kommt nachstehende Fehlermeldung:
Warning: Wrong parameter count for GetValueBoolean() in C:\IP-Symcon\scripts\42735.ips.php on line 2
Warning: Wrong parameter count for GetValueBoolean() in C:\IP-Symcon\scripts\42735.ips.php on line 3
Ich interpretiere die Meldung so, dass die ich die Eingänge falsch angelegt habe. Es handelt sich doch aber definitv um einen 1 Bit Wert, der von den Fensterkontakten ( offen oder zu ) gesendet wird.
Ich hab die Instant als EIB Switch angelegt. ( Lesen ist in IPS freigegeben und in der Tasterschnittstelle ist das lesen Flag gesetzt )
ja die Variable ist Boolean. Die Variable bezieht sich auf die Instanzen der Eingänge E 1 und E 2.
Hab die Instanzen als EIB Switch angelegt ( nicht invertiert, wobaui da je im Moment egal ist ) und die entsprechnden
Gruppenadressen ninterlegt. Das passt soweit acuh. Die Zustände werden in der Baumansicht korrekt angezeigt und ändern sich auch, sobald ich vom Bus ein Telegramm schicke.
Sorry was meinst Du mit Hardcopy und PHP Schalter?
Tut mir leid, dass ich Euch hier mit meinen Dummie Fragen auf den Nerv gehe.
Die Variablen Abfrage der Eingänge passt…
Und wie kriege ich IPS jetzt dazu, dass das Eregebnis der oder Verknüpfung auf den Bus gesendet wird. In der Instatnt ist schreiben aktiviert, angelegt ist die Instant als Boolean ( EIB Switch ). Ich hab zum Testen einen Tastsensor angeschlossen, die Eingänge werden bei den entsprechenden Variablen richtig angezeigt. Das Script hat auch keinen Syntax Fehler mehr. Aber IPS schickt mir nichts auf dem Bus.
Der Befehl ist doch SetValueBoolean, verknüpft mit der ID der Instanz. Ich hab schon alles durch, ID der Instanz, ID der variablen.
Es passiert einfach nichts. Weder in der Baumansicht von IPS noch am Busmonitor in der ETS.
… ich hoffe das Nord-Süd-Gefälle steht uns nicht wieder im Weg, aber warum machst Du es nicht so wie es Dir hier gasagt wird und schreibst Dir irgendwas hin und sagst dann der Syntax stimmt aber es kommt ne Fehlermeldung?!
Beschäftige Dich mit den Grundlagen von PHP und probiere auch das aus was Dir hier vorgeschlagen wird, schliesslich fragst Du hier nach Hilfe.
Was ralf Dir gestern geschrieben hat stimmte soweit, nur das er die falschen Variablen genommen hatte, bzw. die Instanzen. Auf den Fehler hat Dich aber fraggle aufmerksam gemacht mit seinem Post danach!
… sollten Dir die unterschiede auffallen. Ob Du Sie versteht ist was anderes, aber das Skript von ralf funktioniert, das von Dir schmeisst verständlicherweise Fehler, weil es falsch ist!
Verstehe mich bitte nicht falsch, ich helfe gerne und vorallem Neu-KNXler hier im Forum, aber wenn sich Leute hier schon die Mühe machen Dir zu antworten, dann probiere es auch mal so aus!
Gruß,
Peter
PS:
So sollte es funzen… um die Nord-Süd-Differenzen aus der Welt zu schaffen!!
<?
$var1 = GetValueBoolean(16597 /*[Test\E 1]*/); // OHNE TRUE .... Du holst Dir mit GetValue den WERT der Variable ab.
$var2 = GetValueBoolean(24141 /*[Test\E 2]*/); // siehe oben!
if (($var1 || $var2) == true){
EIB_Switch(18932 /*[Test\A 1]*/, true); // Bei EIB_Switch etc. immer die INSTANZ-ID nehmen.. nicht der VARIABLEN
}
?>
Kurz mal zu mir:
PHP und IPS sind für mich absolut neu.
KNX allerdings nicht. Ich mach das seit über 15 Jahren, habe in dieser zeit unzählige Projekte gebaut und programmiert / parametriet. Und die meisten dieser Projekte betreue ich auch.
Jetzt steht in drei Projekten der Austausch der alten MT 701 Tableaus an.
Und hier genau ist der Ansatz für IPS in Verbindung mit iPad oder anderen Tabs ( je nach Nutzer ).
Ich möchte es im Moment / Anfangsstudium nur für KNX nutzen. Was noch kommt kann ich nicht sagen.
Jetzt zu dieser unsäglichen Oder Verknüpfung. Ich hab den gestern 5 Stunden alle möglichen Varianten versucht, angefangen mit dem Script von Ralf und und und…
Dein Script ist für mich absolut nachvollziehbar.
Werte vom Bus lesen, Verknüpfen mit oder und das Ergebnis wieder auf den Bus senden.
Hab gerade alle nochmals gelöscht, genau nach Deiner Vorgabe aufgebaut und getestet.
Die Werte kommen korrekt in IPS an, werden in der Baumansicht auch geändert, aber da ergebnis wird leider nicht wieder auf den Bus gesendet.
Am Script kann es eigentlich nicht liegen. Aber woran dann?
Ich hab mal noch Screenshots vom Objektbaum und vom Script angehängt.
Schönen Sonntag und Danke schon Mal für Deine Unterstützung
ja ich kann sowohl Eingänge als den Ausgang mit denm Testcenter schalten.
Die Telegramme kommen auch auf dem Bus an. die Eingänge sehe ich im Gruppenmonitor, der Ausgang schaltet auch meine Schreibtischleuchte, die ich zu testzwecken auf dem Ausgang gelegt habe.
Wenn das Script funktioniert, Komma ist dann wohl da, muß es noch getriggert werden, auslösendes Ereigniss könnten Deine Variablen sein oder sekündlich.