Anbindung Controller an IP-Symcon

Anbindung des Controllers an externe Hausautomationssysteme.
Matze
Beiträge: 3
Registriert: 6. Januar 2015, 12:47

Re: Anbindung Controller an IP-Symcon

Beitrag von Matze »

Sevensworld hat geschrieben:??
Evtl. verstehe ich Deine Frage nicht, aber wie man an der Überschrift dieses Threads erkennen kann, geht es um die Software IP-Symcon und vereinfacht ausgedrückt macht man in IPS quasi alles mit PHP.
Das PHP Script selbst ist doch in den Postings zu sehen .. !?

Gruß
Jens

Sorry, hab mich falsch ausgedrückt.
Ich bin auf der Suche nach einer Möglichkeit die Stati der Controller-Relais über eine iOS App steuern zu können.

Da ich aber mehrere Kunden habe die einen Controller besitzen, möchte ich das ganze irgendwann dann so haben, dass ich einfach die Controller-URL eingeben kann und dann alles gesteuert werden kann.

Für den Anfang wäre ich ja schon überhaupt froh wenn ich meinen Controller steuern kann.
Hab mir soeben einen PHP-Server eingerichtet auf dem ich dann dein Script aufrufen kann, aber da passiert schon mal gar nichts.

Dachte du könntest mir das mal genauer erklären, wie da so der Ablauf ist. Was genau das Script macht, usw..

Hoffe du kommst mit meiner Erklärung klar ;)


Gruss Matze

Sevensworld
Beiträge: 56
Registriert: 13. April 2016, 18:42

Re: Anbindung Controller an IP-Symcon

Beitrag von Sevensworld »

Ich glaube nicht das ich Dir erklären kann wie der Controller arbeitet und was alles notwendig. ist. Das mit dem Script nix passiert ist doch auch logisch, es fehlen ja auch alle Infos zur Verbindung zum Controller usw.
Im Prinzip müsstet Du erst einmal die Verbindung zum Controller herstellen und die Stati abfragen, auswerten und dann entsprechend reagieren.

Generell ist hier ein einfaches Beispiel wie man per URL etwas schaltet, evtl. reicht Dir das ?
https://www.poolsteuerung.de/viewtopi ... 9&t=29#p51

Gruß
Jens

Sevensworld
Beiträge: 56
Registriert: 13. April 2016, 18:42

Re: Anbindung Controller an IP-Symcon

Beitrag von Sevensworld »

Hallo wupperi, ich bekomme mittlerweile die Meldung
FEHLER: Die Firmware entspricht nicht dem geforderten Stand mit 1.5.1
gibt es dazu eine Art Update oder Anpassung vom Script ? :)


Gruß
Jens

Benutzeravatar
Alex
Administrator
Beiträge: 9988
Registriert: 28. Mai 2014, 23:00

Re: Anbindung Controller an IP-Symcon

Beitrag von Alex »

Das Script prüft wohl ob die Firmwareversion des Controllers "1.6" ist. Die letzte Version ist aber 1.7.

Auf die Schnelle: Suche die Zeile

Code: Alles auswählen

if(substr(trim($ContentRowCol[0][1]),0,3)=="1.6")
und ersetze 1.6 durch 1.7

Code: Alles auswählen

if(substr(trim($ContentRowCol[0][1]),0,3)=="1.7")

Nich so elegant, aber sollte erstmal gehen (für alle die die Firmware 1.7.x haben).
Man könnte etwas universeller auch aus dem Wert des Elements $ContentRowCol[0][1], der die Versionsnummer enthält (also z.B. 1.6.7 oder jetzt aktuell 1.7.0), vorher erstmal die "." entfernen, nen Integer draus machen (falls bei php notwendig) und dann vergleichen ob die Zahl größer/gleich 151 ist (151 entspricht also der Firmware 1.5.1, die mindestens drauf sein muss) ... hab aber keine Ahnung wie da in PHP die korrekte Syntax wäre.

Sevensworld
Beiträge: 56
Registriert: 13. April 2016, 18:42

Re: Anbindung Controller an IP-Symcon

Beitrag von Sevensworld »

Danke für den Hinweis.
Die Zeile war klar, mir war nur nicht klar ob das Script auch mit der neuen FW funktioniert oder ob da etwas grundlegendes verändert wurde.


Gruß
Jens

Benutzeravatar
Alex
Administrator
Beiträge: 9988
Registriert: 28. Mai 2014, 23:00

Re: Anbindung Controller an IP-Symcon

Beitrag von Alex »

Jo am Datenformat ist nix geändert worden, das muss also nach wie vor funktionieren.

Robby
Beiträge: 7
Registriert: 30. Dezember 2016, 19:45

Re: Anbindung Controller an IP-Symcon

Beitrag von Robby »

Sevensworld hat geschrieben:*edit*

Fehler selber behoben:

Code: Alles auswählen

$url = IP/usrcfg.cgi';
$data = array('ENA' => '1,1', 'MANUAL' => '1');

$request = http_build_query($data);
$size = strlen($request);

// use key 'http' even if you send the request to https://...
$options = array(
    'http' => array(
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
		'length'  => $size,
        'content' => http_build_query($data)
    )
);


$context  = stream_context_create($options);



$result = file_get_contents($url, false, $context);

if ($result === FALSE) { /* Handle error */ };
Damit kann ich jetzt die Stati der Relais verändern.


Besteht auch die Möglichkeit die Stati der Dosiereinstellungen zu ändern (auto/aus) ?

Gruß
Jens

Hallo Jens
Kannst du mir vielleicht helfen und einen genaue Schritt bei Schritt Anleitung geben? Ich bin neu in IP-Symcon.
Vielen Dank

firewire
Beiträge: 10
Registriert: 11. Oktober 2023, 23:37

Re: Anbindung Controller an IP-Symcon

Beitrag von firewire »

Eine Frage, funktioniert das Skript auch bei der neuen Violet Steuerung?
Oder gibt es hierzu evtl. eine abgeänderte Version die jemand bereitstellen könnte?

Ich würde mir die Poolsteuerung gerne anschaffen, würde davor nur gerne klären wie ich die Daten in IP Symcon bekommen.

Besten Dank und viele Grüße
Stephan

Benutzeravatar
Alex
Administrator
Beiträge: 9988
Registriert: 28. Mai 2014, 23:00

Re: Anbindung Controller an IP-Symcon

Beitrag von Alex »

Nein, das funktioniert sicher nicht, weil die Abfragen ja ganz andere sind.

firewire
Beiträge: 10
Registriert: 11. Oktober 2023, 23:37

Re: Anbindung Controller an IP-Symcon

Beitrag von firewire »

Schade das hatte ich schon befürchtet.

Ein Skript für die Violet gibt es noch nicht?
Bin mir nicht sicher ob ich das irgendwie aktualisiert bekomme.

Viele Grüße
Stephan

Benutzeravatar
Alex
Administrator
Beiträge: 9988
Registriert: 28. Mai 2014, 23:00

Re: Anbindung Controller an IP-Symcon

Beitrag von Alex »

Hat noch keiner eines gemacht. Gibt's ja auch erst seit bisschen über 5..6 Wochen :)

dandil
Beiträge: 12
Registriert: 22. Februar 2024, 14:45

Re: Anbindung Controller an IP-Symcon

Beitrag von dandil »

Alex hat geschrieben: 10. April 2024, 10:24 Hat noch keiner eines gemacht. Gibt's ja auch erst seit bisschen über 5..6 Wochen :)
Ich hole mir über IP-Symcon gewisse Daten (hautpsächlich die Wassertemperatur) von der Violet, und zeige diese auf meiner La Metric Time an. Das ist bei uns quasi der "Badeanzeiger" im Wohnzimmer. Ich musste dazu lediglich die Variablen in IP-Symcom (manuell) anlegen. Die werden dann über ein Skript, das z.B. alle 15 Minuten läuft (dabei hat mir Chat-GPT wunderbar geholfen). Fazit: Es geht.

Weiter bin ich aus zeitlichen Gründen leider noch nicht gekommen (musste zuerst den Pool putzen und bin immer noch an der Verkrabbleung...)

LG
Dani

bergfreund
Beiträge: 126
Registriert: 8. Dezember 2018, 15:12

Re: Anbindung Controller an IP-Symcon

Beitrag von bergfreund »

Alex hat geschrieben: 30. September 2016, 19:22 Du bekommst z.B. mit einem http GET Request an /GetDmx.csv die aktuellen Kanalwerte der 16 verfügbaren Kanäle zurückgeliefert (kannst auch im Browser aufrufen), als Komma-getrennte Zeichenkette 0,0,0,.... usw. Die Kanalwerte liegen DMX entsprechend zw. 0 und 255

Um Kanalwerte zu setzen musst Du einen POST Request an /usrcfg.cgi schicken, der folgende name/value Paare enthält

TYPE=0
LEN=16
CH1_8=0,0,0,0,0,0,0,0
CH9_16=0,0,0,0,0,0,0,0
DMX512=1

Die Zeile CH1_8 gibt die neuen Kanalwerte für die Kanäle 1-8 vor, CH9_16 entsprechend für Kanal 9 bis 16.
Also um z.B. die Kanäle 1, 2 und 10 auf max. zu setzen:

TYPE=0
LEN=16
CH1_8=255,255,0,0,0,0,0,0
CH9_16=0,255,0,0,0,0,0,0
DMX512=1

Der Request muss IMMER vollständig sein und alle 16 neuen Kanalwerte enthalten. Ebenso alle anderen Parameter (wichtig!), wobei für diesen Anwendungsfall TYPE, LEN und DMX512 immer konstant so wie oben beschrieben sein müssen (TYPE=0, LEN=16, DMX512=1).

:)
Als jemand, der (leider) keine Programmiererfahrung hat.... ich schaffe es problemlos die Werte auszulesen mit http://[proconIP]/GetDmx.csv -> das ist der GET Request und retour kommt
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Soweit so gut - habe ich verstanden.

Aber wie schreibe ich gleichermaßen einen POST Request, also wie sieht so eine Befehlszeile aus, die ich in den Browser eingeben und die Werte die Dimmwerte dann entsprechend angepasst werden? Ich versuche über Node Red ein paar Lichtstimmungen über den Procon zu bringen.

Darf ich jemand von den Programmiererfahrenen bitte mir so eine Musterzeile aufzuschreiben von einen POST Request?

Vielen Dank

Benutzeravatar
Alex
Administrator
Beiträge: 9988
Registriert: 28. Mai 2014, 23:00

Re: Anbindung Controller an IP-Symcon

Beitrag von Alex »

Wenn es eine Zeile ist, die man auch in den Browser eingeben könnte, dann ist es immer ein GET Request :).

POST geht so nicht - ich kann Dir da aber bei NodeRed nicht wirklich helfen, wie man da einen POST Request mit verschicken kann.
Geschickt werden muss er an http://[proconIP]/usrcfg.cgi und die Payload (die Daten die mitgeschickt werden müssen) sind dann die von oben

Code: Alles auswählen

TYPE=0
LEN=16
CH1_8=0,0,0,0,0,0,0,0
CH9_16=0,0,0,0,0,0,0,0
DMX512=1
(anstatt den 0-en eben die entsprechenden Kanalwerte)