bin im Umgang mit IPS bisher komplett unerfahren.
Ich nütze die IPS als Gateway zwischen einen Wago 750-880 und Alexa.
Das Alexa Skill funktioniert wunderbar, allerdings habe ich kleines Problem ein passendes Skript zu erstellen:o
In den Anleitungen habe ich noch ein Skript für einen Schalter gefunden. Mit dem funktioniert alles so weit auch
SetValue($_IPS[‚VARIABLE‘], $_IPS[‚VALUE‘]);
Allerdings bräuchte ich anstatt eines Schalters einen Taster!
Wie würde das Skript dann aussehen?
In weiterer Folge möchte ich auch noch die Beschattung damit steuern (ebenfalls über Taster), wobei die Tastdauer einstellbar sein sollte
Wie bekomme ich am Ende meine Daten über Modbus auf die WAGO Steuerung.
Ich hätte ein Modbus Device angelegt, und die Variable verlinkt, allerdings ist ist die Variable eigentlich EIN, im Modbus Device steht der Wert aber trotzdem auf AUS.
hier zum Thema „Taster“:
(1) im Objektbaum (Console) eine Variable (Integer) anlegen
(2) darunter ein PHP-Script („Aktionsscript“)
Im Baum solls dann so aussehen:
Variable Licht Wohnzimmer über das Kommando von ALEXA zwar super EIN/AUS schaltet, aber der Modbus Wert sich nicht verändert. In der Testumgebung funktioniert die Kommunikation zwischen WAGO und IPS einwandfrei.
Bitte um Hilfe, die Skript Erstellung ist für mich momentan noch nicht ganz klar.
Der ganze Objektbaum sieht schon etwas komisch aus. Ich selber habe kein Modus, gehe aber davon aus wenn Du ein Modbus Device anlegst das dieses dann eine Boolean Variable erhält. Daher solltest Du erst noch mal schauen das Du Dir sauber ein Modbus Device anlegst. Bei Dir ist da anscheinend mehrere Dinge verschachtelt und Du hast noch Variablen hinzugefügt die Du nicht brauchst.
Wenn das Modbus Device angelegt ist überprüfst Du die Funktion indem Du das Device einmal im Webfront schaltest. Wenn der Test erfolgreich war kannst Du nun zur Schaltung mit Alexa übergehen. Du legst Dir wie schon geschehen ein Skript an und merkst Dir die Objekt ID des Modbus Device das Du mit Alexa schalten willst.
In das Skript kopierst Du nun die Inhalt
$objid = 12345; // Objekt ID des Mobus Device das geschaltet werden soll
Switch ($_IPS['SENDER'])
{
Default:
Case "RunScript":
Case "Execute":
Case "TimerEvent":
break;
Case "Variable":
Case "AlexaSmartHome": // Schalten durch den Alexa SmartHomeSkill
if ($_IPS['VALUE'] == True)
{
// einschalten
ModBus_WriteCoil($objid, true);
}
else
{
//ausschalten
ModBus_WriteCoil($objid, false);
}
break;
Case "WebFront": // Zum schalten im Webfront
}
Dann verlinkst Du das Skript unterhalb von IQL4SmartHome.
somit ist der Taster auch schon inkludiert und funktioniert wunderbar
Ich habe aber nun ein neues Problem: Die Modbuskommunikation funktioniert problemlos solange mein PC eingeschaltet ist, wird der PC heruntergefahren oder schalten in Standby wird die Modbuskommunikation getrennt. Kennt das Thema jemand?