Alexa Echo Taster

Hallo,

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.

Bitte um Hilfe

Danke!

Hallo und willkommen,

hier zum Thema „Taster“:
(1) im Objektbaum (Console) eine Variable (Integer) anlegen
(2) darunter ein PHP-Script („Aktionsscript“)
Im Baum solls dann so aussehen:

(3) Inhalt des Scripts so oder ähnlich:

<?
if ($_IPS['SENDER'] == "WebFront")
 {
    SetValue($_IPS['VARIABLE'],0);
	// 	.... hier die zu schaltende / triggernde Aktion
 }
?>

(3) Mit Doppelklick auf die Variable im Objektbaum in folgendes Menü:
4.JPG
(4) dort neues (Eigenes Profil) anlegen

(5) zuletzt im Menü (3) „Eigene Aktion“ hinterlegen in dem Fall unser unter (2) angelegtes Script.

Müsste so eigentlich funktionieren.
Im script natürlich noch deine zu triggernde Aktion programmieren.

Gruß
hardlog

Hallo,

vielen Dank für deine rasche Antwort.

Ich habe noch das Problem dass die Variable

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.

Vielen Dank!

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.

Wenn Du die Variable als Referenz nehmen willst, probiere das Script mal:

 <?
 ModBus_WriteCoil(20921, GetValueBoolean(48436)); 
?> 

Gruß Helmut

Hallo vielen Dank,

ich habe nun ein Skript in die Modbus Variable gechrieben:

SetValue($_IPS[‚VARIABLE‘], $_IPS[‚VALUE‘]);

ModBus_WriteCoil(51790 /[ModBus Device_WZ_E_A]/, true);
IPS_Sleep(2000);
ModBus_WriteCoil(51790 /[ModBus Device_WZ_E_A]/, false);

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?