+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 14
  1. #1
    Registriert seit
    Aug 2009
    Ort
    Dornstetten, BW
    Beiträge
    26

    Standard Einbinden der NETZWERKSTECKDOSEN Netio-230A

    NETZWERKSTECKDOSEN Netio-230A
    Hat jemand mit dieser Hardware Erfahrung,
    und kann man diese in IPS einbinden?

  2. #2
    Registriert seit
    Aug 2008
    Ort
    Sereetz
    Beiträge
    1,649

    http://www.koukaam.se/koukaam/downlo...-230A_2.20.pdf
    Solltest mit IPS entweder per Client-Socket (telnet) steuern können oder mit SYS_GetURLContent die CGI-Befehle schicken. Unter IP-Phone-Forum - Einzelnen Beitrag anzeigen - Steckdosenleiste mit FB steuern? wird erwähnt, dass der in der c't recht gut bewertet worden ist.
    Horst

  3. #3
    Registriert seit
    Aug 2009
    Ort
    Dornstetten, BW
    Beiträge
    26

    Standard Hab mir das Teil mal bestellt

    Hab mir das Teil mal bestellt,
    werde dann meine Erfahrungen berichten.
    Gruß

  4. #4
    Registriert seit
    Aug 2009
    Ort
    Dornstetten, BW
    Beiträge
    26

    Standard Netio-230A erfolgreich eingebunden!

    Hab mal den Netio-230A testweise erfolgreich eingebunden.

    Zur Steuerung habe ich einen Status angelegt und 2 Scripte zum ein und ausschalten.

    Script zum einschalten

    PHP-Code:
    <?

    $loginremote 
    "http://192.168.0.242/tgi/control.tgi?login=p:user:user";
    $schaltremote "http://192.168.0.242/tgi/control.tgi?p=1uuu";
    $logoutremote "http://192.168.0.242/tgi/control.tgi?quit=quit";

    $content Sys_GetURLContent($loginremote);
    $content Sys_GetURLContent($schaltremote);
    $content Sys_GetURLContent($logoutremote);+
             
    SetValueBoolean (55458 /*[Untergeschoss\Raum FEWO Wohnzimmer\Schalter Heizung\Heizung Status]*/true);

    ?>
    Script zum ausschalten

    PHP-Code:
    <?

    $loginremote 
    "http://192.168.0.242/tgi/control.tgi?login=p:user:user";
    $schaltremote "http://192.168.0.242/tgi/control.tgi?p=0uuu";
    $logoutremote "http://192.168.0.242/tgi/control.tgi?quit=quit";

    $content Sys_GetURLContent($loginremote);
    $content Sys_GetURLContent($schaltremote);
    $content Sys_GetURLContent($logoutremote);

    SetValueBoolean (55458 /*[Untergeschoss\Raum FEWO Wohnzimmer\Schalter Heizung\Heizung Status]*/false);

    ?>
    Am ende der Scripts wird der Status gesezt.
    Geändert von RWN (27.09.09 um 13:44 Uhr)

  5. #5
    Registriert seit
    Feb 2007
    Ort
    Zwickau
    Beiträge
    5,496

    Bitte im Editor die PHP Tags benutzen.
    MfG Thomas

    Eaton Xcomfort|FS20|1-Wire|Axis WebCams|Funksystem-868|Gas und Wasserzähler per S0 1-Wire|Amazon Alexa|Daikin Klimaanlage

    Denon+Onkyo Receiver|Visu auf: 10"Touchscr.|Apple iPod Touch|Apple iPhone|Apple iPad|IPS V5.x|Dashboard|WebFront|iFront

  6. #6
    Registriert seit
    Oct 2010
    Ort
    HH
    Beiträge
    4,613

    Standard Einbinden NETIO-230A in IPS

    Hallo @ll,

    ich wage mich mal aufs Eis und präsentiere hier mal meine, auf den oben geposteten Scripts basierende Einbindung des NETIO 230A. Da ich gerade am eigenen Leibe erlebe wie schwer der Einstieg in PHP und IPS ist beschreibe ich dies etwas ausführlicher (vielleicht erleichtert das Anderen den Einstieg). Vielleicht hat der Ein- oder Andere auch ein paar Optimierungstipps

    Das Konzept:
    • jeder der 4 Ports (=geschalteter 230V-Ausgang) soll aus IPS heraus schaltbar sein
    • jder Status jedes Ports soll überwacht und in IPS angezeigt werden, unabhängig davon durch welche Instanz (z.B. manuell direkt am Gerät) der jeweilige Port geschaltet wurde



    Die Umsetzung:
    ich habe für das NETIO eine eigene Kategorie angelegt, so kann ich bei Bedarf das Gerät später an eine beliebige Stelle innerhalb des Kategorie-Baums verschieben. Für die Status-Anzeige im Webfrontend habe ich eine weitere Kategorie an anderer Stelle des Kategorie-Baums angelegt innerhalb derer sich 5 Links befinden: 1x für den Ping-Status der Box selbst und 4x für den Schaltzustand der 4 Ports der NETIO-Box.
    für den jeweiligen Schaltvorgang habe ich 1 Script für "On" und ein Script für "Off" für jeden Port angelegt.
    Für jeden Port gibt es weiterhin eine Variable (Typ: Boolean, der Einfachheit halber nach der Portnummer bezeichnet) über die sich der Schaltzustand des jeweiligen auslesen lässt.
    Weiterhin gibt es ein Ereignis-gesteuertes Script, welches zyklisch alle 60 Sekunden den Status der NETIO-Ports an der Box abfragt, die Rückgabewerte werden dann in die jeweils zum Port gehörige Variable geschrieben ("0" oder "1"). Um nun nicht in allen 8 Schall-Scripts jedesmal IP-Adresse, Username und Userpasswort der Box manuell hinterlegen zu müssen habe ich dafür ebenfalls dedizierte Variablen innerhalb der Kategorie „NETIO“ hinterlegt. So muss muss man evtl. Änderungen nur an einer Stelle pflegen

    Die Funktion
    jeder Port wird über sein zugehöriges Script ein- oder ausgeschaltet. Wichtig: entgegen zu den oben geposteten Scripts schalten meine Scripts nur, sie schreiben keinen Status in die Variablen! Jedes Ein- oder Aus-Script ruft anschließend das "Abfrage Portstatus"-Script auf, dieses liest den Status aller 4 Ports aus und schreibt diese in die Variablen für alle 4 Ports. Unabhängig davon wird das "Abfrage Portstatus"-Script Ereignisgesteuert alle 60 Sekunden aufgerufen und verrichtet seinen Job wie oben beschrieben.

    Die Scripts:
    Das Einschalt-Script:
    Sind die Variablen für IP-Adresse, Username und Userpasswort angelegt müssen deren ID’s noch im Einschalt-Script gepflegt werden. Für jeden Port wird ein dediziertes Einschalt-Script erstellt, der jeweilige zu schaltende Port wird einmalig über die Zeichenfolge „xxxx“ in Zeile 13 definiert (Bedeutungen sind in der NETIO-Anleitung zu finden)

    PHP-Code:
    <?
    //Konfigurationsdaten in dediziert dafür angelegten Variablen ablegen,
    //anschliessend die ID's der Variablen hier eintragen:

    $IP GetValue(49869 /*[NETIO 230A\z NETIO IP-Adress]*/);
    $Username GetValue(35911 /*[NETIO 230A\z NetIO Username]*/);
    $Password GetValue(56732 /*[NETIO 230A\z NetIO Password]*/);

    //Absetzen des Schaltkommandos an das NETIO-230A:
    $loginremote "http://$IP/tgi/control.tgi?login=p:".$Username.":".$Password;
    $schaltremote "http://$IP/tgi/control.tgi?p=1uuu"// Definition des zu schaltenden Ports: 1uuu = Port 1 wird eingeschaltet, die anderen bleiben unberücksichtigt;
    $logoutremote "http://$IP/tgi/control.tgi?quit=quit";

    $content Sys_GetURLContent($loginremote);
    $content Sys_GetURLContent($schaltremote);
    $content Sys_GetURLContent($logoutremote);

    IPS_RunScript(56204 /*[NETIO 230A\Abfrage Portstatus]*/);


    ?>

    Das Ausschalt-Script:
    Gleiche Konfiguration und Bedingungen wie unter „Das Einschalt-Script“ beschrieben, Script unterscheidet sich ausschliesslich in Zeile 13 in der zu übergebenden Schaltkommando-Zeichenfolge

    PHP-Code:
    <?

    //Konfigurationsdaten in dediziert dafür angelegten Variablen ablegen,
    //anschliessend die ID's der Variablen hier eintragen:

    $IP GetValue(49869 /*[NETIO 230A\z NETIO IP-Adress]*/);
    $Username GetValue(35911 /*[NETIO 230A\z NetIO Username]*/);
    $Password GetValue(56732 /*[NETIO 230A\z NetIO Password]*/);

    //Absetzen des Schaltkommandos an das NETIO-230A:
    $loginremote "http://$IP/tgi/control.tgi?login=p:".$Username.":".$Password;
    $schaltremote "http://$IP/tgi/control.tgi?p=0uuu"// Definition des zu schaltenden Ports: 0uuu = Port 1 wird ausgeschaltet, die anderen bleiben unberücksichtigt;
    $logoutremote "http://$IP/tgi/control.tgi?quit=quit";

    $content Sys_GetURLContent($loginremote);
    $content Sys_GetURLContent($schaltremote);
    $content Sys_GetURLContent($logoutremote);

    //Aufruf des Abfrage-Portstatus Scripts nach Schaltvorgang:
    IPS_RunScript(56204 /*[NETIO 230A\Abfrage Portstatus]*/);


    ?>
    Das Abfrage Portstatus-Script:
    Hier sind nur die Zugangs-Variablen-IDs der NETIO-Box und die IDs der zuvor angelegten Port-Variablen zu pflegen, das wars. Ich habe diesem Script ein Ereignis zugeordnet, welches das Script alle 60 Sekunden aufruft.

    PHP-Code:
    <?

    //Konfigurationsdaten in dediziert dafür angelegten Variablen ablegen,
    //anschliessend die ID's der Variablen hier eintragen:

    $IP GetValue(49869 /*[NETIO 230A\z NETIO IP-Adress]*/);
    $Username GetValue(35911 /*[NETIO 230A\z NetIO Username]*/);
    $Password GetValue(56732 /*[NETIO 230A\z NetIO Password]*/);

    //Statusabfrage des NETIO-230A:
    $loginremote "http://".$IP."/tgi/control.tgi?login=p:".$Username.":".$Password;
    $Statusabfrage "http://".$IP."/tgi/control.tgi?p=l";
    $logoutremote "http://".$IP."/tgi/control.tgi?quit=quit";

    $content0 Sys_GetURLContent($loginremote);
    $Portstatus Sys_GetURLContent($Statusabfrage);
    $content3 Sys_GetURLContent($logoutremote);+

    //Schreiben der ausgelesenen Statuswerte in die jeweilige - pro Port angelegte Variable (die jeweiligen Variablen-ID's
    // hier eintragen:
    SetValue(31211 /*[NETIO 230A\NETIO Port1]*/substr($Portstatus,6,1));
    SetValue(49150 /*[NETIO 230A\NETIO Port2]*/substr($Portstatus,8,1));
    SetValue(38388 /*[NETIO 230A\NETIO Port3]*/substr($Portstatus,10,1));
    SetValue(21425 /*[NETIO 230A\NETIO Port4]*/substr($Portstatus,12,1));


    ?>
    Im Anhang noch ein paar Bilder zur Erläuterung. Da dies mein alkler erster Gehversuch mit PHP ist bitte ich um Nachsicht (falls ´das Ein oder Andere etwas "schräg" aussieht) , bin aber für jedes Feedback dankbar. Ich wills ja schliesslich lernen
    Geändert von Raketenschnecke (20.11.10 um 22:15 Uhr)
    mit gebücktem Gruss
    Raketenschnecke
    IPS-Projekte und -Tools auf
    www.raketenschnecke.net

  7. #7
    Registriert seit
    Nov 2009
    Ort
    Essen
    Beiträge
    2,415

    Hallo Raketenschnecke,

    vielen Dank für die Anregungen. Ich habe die Steckdosenleiste hier erfolgreich am Laufen. Da ich mir noch 1-2 davon anschaffen möchte und keine Lust habe, die ganzen Scripte und Variablen jedes Mal per Hand einzubauen, habe ich mir erlaubt, Dein Script etwas zu modifizieren und ein Install-Script drumrumzubasteln.

    Näheres dazu hier.

    Grüße,
    Christoph
    Deutschlandweite Dienstleistungen rund um und mit IP-Symcon. Systemintegrator im Bereich KNX. ekey Partner. Infos unter https://schrader-it.net

  8. #8
    Registriert seit
    Oct 2010
    Ort
    HH
    Beiträge
    4,613

    welch Frevel!!



    immer cool bleiben, "mein" Script basiert auch nur auf Basis der Vorleistung vom "Computer Kübler" angepasst, so gross ist meine Wertschöpfung nicht. Ich hoffe aber dass ich Dein Script nutzen darf
    mit gebücktem Gruss
    Raketenschnecke
    IPS-Projekte und -Tools auf
    www.raketenschnecke.net

  9. #9
    Registriert seit
    Aug 2010
    Beiträge
    4,758

    is ja richtig vorbildlich hier ... mit Quellenangaben ...

    Gruß
    Bruno

  10. #10
    Registriert seit
    Nov 2009
    Ort
    Essen
    Beiträge
    2,415

    @Raketenschnecke:
    Nein, Du darfst es nicht nutzen, ich habe es nur zum Angucken veröffentlich

    Ja, mit Quellenangabe. Die Medien haben in den letzten Tagen gezeigt, dass es besser ist, eine Quelle anzugeben. Ich habe nämlich keine Lust, den Titel "Senior Member" an die Forenleitung zurückzugeben

    Hoffe, das Script funktioniert bei Euch. Konnte es nur hier testen...

    Gruß,
    Christoph
    Deutschlandweite Dienstleistungen rund um und mit IP-Symcon. Systemintegrator im Bereich KNX. ekey Partner. Infos unter https://schrader-it.net

Ähnliche Themen

  1. PHP DLLs einbinden
    Von wasserflo im Forum Allgemeine Diskussion
    Antworten: 2
    Letzter Beitrag: 19.10.06, 17:58