Modul-Tutorial

Hallo,

Ich würde mich gerne an einem eigenen Modul probieren.

Gibt es hier zu irgendwo ein Beispiel Modul oder ein Tutorial?

Vielen Dank für Eure Tips im Voraus:-)

Hier :
IP-Symcon Preview Event 2018 - Videoaufnahmen
Und Test-Module:
GitHub - symcon/SymconTest: Symcon modules for demonstration and testing
Und natürlich die Doku :smiley:
Michael

Und wenn du nicht weiter kommst natürlich einfach im Forum präzise Fragen stellen.
Die werden sehr schnell beantwortet. :slight_smile:

Meistens sogar von Michael. :D:p

Grüße,
Kai

Hallo Zusammen

Ich hoffe meine Anfrage ist hier richtig platziert.
Wie Nic bin ich aktuell dabei mein erstes PHP Modul zu erstellen, was danke dem Video vom Preview Event und der Doku nicht schlecht klappt.
Doch nun habe ich ein Problem welches ich nicht gelöst bekomme.
Bei meinem Modul setze ich auf Variablen welche über die Webfront verändert (geschalten) werden.
Wenn nun eine Variabel geschalten wird, soll ein Skript im Modul starten und aufgrund des Variabelwerts
eine Auswahl getroffen werden. Dies klappt soweit auch, nur muss ich die Variabel immer zweimal betätigen
damit der „neue“ Wert (SWS) im Skript zur Verfügung steht. Könnt ihr mir hierbei weiterhelfen?

	

	public function ProgrammAuswahl(){	

		$sws = getValue($this->GetIDForIdent("SWS"));
		
		if($sws == 0){
			SetValue($this->GetIDForIdent("prog"), 0);
			IPS_SetDisabled($this->GetIDForIdent("prog"), false);
			//echo "0";
		}
		else if($sws == 1){
			IPS_SetDisabled($this->GetIDForIdent("prog"), false);
			//echo "1";
		}
		else{
			IPS_SetDisabled($this->GetIDForIdent("prog"), true);
			//echo "2";
               }
      }


Dein Ansatz ist zu kompliziert gedacht. Du must nicht prüfen welchen Wert die Variable hat, da Du den Wert vom Webfront ja schon bevor die Variable überhaupt beschrieben wurde prüfen kannst… Du willst ja über den Webfront schalten da bekommst Du den Wert, der vom Webfront übergeben wird, in der Methode RequestAction übergeben und kannst dort dann je nachdem was der Wert ist, eben eine unterschiedliche Methode aufrufen.

Heey Fonzo

Vielen danke für deine rasche Antwort. Hab die so umgesetzt, dies klappt einwandfrei und ist erst noch um einiges Besser!