Wir haben zur 4.3 das Modul erweitert, sodass auch die Netzwerk Ein-/Ausgänge enthalten sind.
paresy
Wir haben zur 4.3 das Modul erweitert, sodass auch die Netzwerk Ein-/Ausgänge enthalten sind.
paresy
Hi,
meine alte Heizungssteuerung funktioniert nicht so, wie ich mir das vorstelle. Daher bin ich auf Suche nach Ersatz.
Bei meiner Recherche bin ich auf 2 Lösungen gestoßen: Loxone und TA UVR16x2 mit CMI
Ich denke, dass für eine Heizungsteuerung TA die bessere Wahl ist.
Die neue Steuerung möchte ich in Symcon integrieren. Mittlerweile gibt es ja für die CMI eine JSON API. Aus der Doku werde ich aber nicht richtig schlau. Kann man mittels der API nur Werte lesen oder auch setzen? Kann jemand bestätigen, dass das Setzen von Werten möglich ist?
Danke und viele Grüße
Predi
Habe am gleiche Problem gesessen. Fixwert ändern. Bei mir hat es weder im Browser noch per Script funktioniert.
Url lt. Wireshark
http://192.168.1.117/INCLUDE/change.cgi?changeadrx2=0100004414D101&changetox2=20&_=1502752852455
Url mit der es tut
http://admin:password@192.168.1.117/INCLUDE/change.cgi?changeadrx2=0100004414D101&changetox2=20.0
Der Teil „&_=1502752852455“ ist unwichtig. Der ist nur für das Webinterface der CMI interessant. Wichtig ist Username und Passwort vor dem Host bzw. IP.
Viele Grüße
predi ger many
Hallo
Habe seit heute meine UVR1611 mit einem CMI verbunden weil mein altes BL-Net defekt war. Die Verbindung von CMI zu UVR1611 funktioniert.
Jetzt wollte ich das ganze in IPS 4.3 einbinden. Ich habe eine Instanz UVR1611 (CMI) hinzugefügt, die entsprechende IP-Adresse eingegeben, die Knotennummer des CMI und eine Intervallzeit. In der übergeordneten Instanz habe ich noch Benutzername und Passwort eingegeben. Wenn ich in der UVR1611 (CMI) - Instanz bei Testumgebung auf „Update“ klicke, bekomme ich folgende Fehlermeldung:
PHP-Error- Node not available
Error in Script - on line 3
Node not available
Was mach ich da falsch?
Mit BL-Net lief das alles ohne Probleme.
MfG
computerpap
Du must die Knotennummer vom UVR1611 eingeben.
Das wars, danke Christian.
Hallo!
Ich versuche gerade den Sollwert von meinen Heizkreisen auszulesen.
UVR1611 hängt an einem C.M.I. den Wert würde ich gerne mit einem Text Parser auslesen.
HEIZKR.1 F: 3<a href="menupage.cgi?page=0103580E">➤</a><br>
BETRIEB: STANDBY <a href="019003301D" id="a019003301D" class="changer">⇔</a><span id="019003301D" class="changer"></span><br>
Traum.ABSENK: 8 °C <a href="01B003300D" id="a01B003300D" class="changer">⇔</a><span id="01B003300D" class="changer"></span><br>
Traum.NORMAL: 20 °C <a href="01B003300C" id="a01B003300C" class="changer">⇔</a><span id="01B003300C" class="changer"></span><br>
ZEITPROG.: <a href="menupage.cgi?page=0103580F">➤</a><br>
VORLAUFTEMPERATUR:<br>
Tvorl.IST: 44,1 °C<br>
Tvorl.SOLL: 5,0 °C<br>
HEIZKURVE: <a href="menupage.cgi?page=01035900">➤</a><br>
---------------------<br>
HEIZKR.2 F:16<a href="menupage.cgi?page=0110580E">➤</a><br>
BETRIEB: STANDBY <a href="019010301D" id="a019010301D" class="changer">⇔</a><span id="019010301D" class="changer"></span><br>
Traum.ABSENK: 8 °C <a href="01B010300D" id="a01B010300D" class="changer">⇔</a><span id="01B010300D" class="changer"></span><br>
Traum.NORMAL: 20 °C <a href="01B010300C" id="a01B010300C" class="changer">⇔</a><span id="01B010300C" class="changer"></span><br>
ZEITPROG.: <a href="menupage.cgi?page=0110580F">➤</a><br>
VORLAUFTEMPERATUR:<br>
Tvorl.IST: 28,2 °C<br>
Tvorl.SOLL: 5,0 °C<br>
*********************<br>
Im Text Parser hab ich „Text ausschneiden zwischen“ ausgewählt.
Jetzt müsste ich für Heizk.1 folgendes eingeben:
Tag eins: Tvorl.SOLL:
Tag zwei: °C<br>
Und für Heizk.2:
Tag eins: Tvorl.SOLL:
Tag zwei: °C<br>
*********************<br>
Beim Tag zwei hab ich das Problem das es 2 Zeilen sind! Wie gebe ich das im Text Parser ein?
MfG
Erwoolf
Hallo!
Ich habe gerade versucht Fixwerte in der UVR zu ändern über den HTTP GET Aufruf mit change.cgi.
Es funktioniert soweit auch, man muss jedoch darauf achten dass man das Cookie angibt welches zuvor beim Anmelden angelegt wurde. Das bedeutet, um eine dauerhaft funktionierende Lösung über diesen Weg zu erreichen muss ich noch irgendwie die Anmeldung beim CMI im IPS „automatisieren“. Hat da eventuell jemand eine Idee?
LG, Rainer.
Hi!
damit funktioniert jetzt das Schreiben der Werte!
Man muss sich zuvor jedoch als „Experte“ anmelden damit man die Fixwerte in der UVR ändern kann, deshalb 2x der Webrequest. Die URLs müsst ihr natürlich anpassen an eure Steuerung, da steckt ja auch das Passwort für den „Experten“ drin (bei mir noch default „128“).
<?
//Dokumentation: https://www.symcon.de/service/dokumentation/konzepte/skripte/aktionsskripte/
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://192.168.1.52/INCLUDE/devpagexUser.cgi?changeuserx2=010257ff128",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"authorization: Basic YOUR_CREDENTIALS_HERE",
"cache-control: no-cache"
),
));
$canremote = curl_exec($curl);
curl_setopt_array($curl, array(
CURLOPT_URL => "http://cmi/INCLUDE/change.cgi?changeadrx2=0100004414D101&changetox2=".$_IPS['VALUE'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"authorization: Basic YOUR_CREDENTIALS_HERE",
"Cookie: canremote1=".$canremote,
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
print($response);
curl_close($curl);
?>
Schöner Ansatz:)
Beim mir funktioniert es leider nicht. Folgenden Fehler:
CMI Server ErrorError 401 - Unauthorized AccessYou are not authorized to access this server.www.ta.co.at
| ©2008-2017 Technische Alternative RT GmbH, Amaliendorf
Habe heute auch zwei Instanzen für meine TA-Umgebung (CMI, 1x UVR16x2, 1x UVR1611) angelegt.
Die Ein- und Augänge werden soweit ordentlich anglegt (bei der 1611 bis Input 16 und nur bis Output 13). Nun gibt es aber noch etliche Werte, die an der UVR16x2 über DL-Bus anliegen und leider nicht eingelesen werden. Auch die weiteren internen Werte (Analog 17 bis Analog 57) die von großem Interessen sein würden bekomme ich nicht.
Was kan mn tun? kann man die Variablen manuell anlegen und dann auslesen?
Dank und Gruß
tango
Nein, bisher nicht. Du müsstest bei der Technischen Alternative nachfragen, ob die die API erweitern.
paresy
Ich habe 3 UVRs. Ich schreibe alle Werte, welche ich nach extern haben will auf den CAN-BUS. In der CMI lese ich die Werte dann ein und gebe sie Richtung ModbusTCP. Auf der anderen Seite holt Symcon die Werte dann ab. Schau dir mal meine Anleitung für ModbusTCP an. Läuft seit Monaten absolut zuverlässig und stabil
Ah danke, hört sich gut an!
Brauche ich da ein extra ModbusTCP-gateway für den CMI? Oder wie landen die Daten auf dem Modbus? In die Symcon kommen sie ja über TCP und eine entsprechende I/O-Instanz.
Hallo,
Ich hab mich grad ein wenig mit dem TA-Designer beschäftigt.
Damit kann man viele Werte der UVR 1611 im Schema darstellen z.B. Heizkreisvorlaufsolltemperatur!
Jetzt ware es aber super wenn man diese Werte auch ins IPS bekommen könnte…
Habt ihr euch damit schon mal beschäftigt?
Gruß
Erwoolf
Hallo Erwoolf,
jein, das geht. Voraussetzung ist ein Bootloader oder (viel besser) eine C.M.I. Ich gehe davon aus du besitzt eine C.M.I.
Möglichkeit 1:
Eine neue Instanz: Hersteller"Technische Alternative", Geräte „UVR1611 (C.M.I)“, „UVR1611 (BL-NET)“ oder „UVR16x2 (C.M.I)“
Je nach Gerätegeneration (du hast eine UVR1611 lt. Screenshot) das entsprechende Interface auswählen.
Konfiguration eintragen, Optionen Wählen (bei der UVR1611 ist das überschaubar) und du bekommst alle Aus- und EIngänge als auch Netzwerkein- und ausgänge. Es gehen nicht alle zusätzlichen Ausgänge (über Platinenerweiterung), weiß nicht genau welche, wurde hier aber schon mal diskutiert.
Vorteil:
-Du bekommst ratzfatz alles was in der UVR auf den Ein- und Ausgängen definiert ist. Du müsstest also gewünschte Ergebnisse der Funktionen auf den CAN legen, damit die Info’s ankommen.
Möglichkeit 2:
Parsen der C.M.I/Bootloader Weboberfläche.
Pro Seite einen WWW-Reader anlegen (z.B. http://Y.our.I.P/schematic_files/1.cgi) und dann mit einem Textparser auslesen (dazu die Seite aufrufen und sich im Quelltext die Tags suchen zwischen denen der Wert steht.
Hier ist es ratsam eine Seite zu erstellen, die Strukturiert nur die plain Werte enthält, dann kann man auch sicher sein die Werte halbwegs ordentlich zu bekommen (bessere Beispiele als meins finden sich hier im Forum).
Über diesen Weg geht auch schalten. Dazu muss du den Schaltbefehl den du über die Oberfläche absetzt sniffen. Ich selber habe das mal beim Bootloader gemacht, der ist aber schon lange gegen die C.M.I ausgetauscht. Das geht, diskutiert wurde das detaillierter auch schon hier.
Vorteile:
Nachteil:
Möglichkeit 3:
Modbus TCP:
Dazu wird ein Modbus Slave Server benötigt. Der läuft z.B. auf FHEM. Ich habe das nach dieser, sehr gut dokumentierten Variante von Predi Ger Many umgesetzt: https://www.symcon.de/forum/threads/35623-Howto-Technische-Alternative-per-ModbusTCP-%C3%BCber-FHEM-an-Symcon-anbinden?p=335356#post335356. Der FHEM Server läuft bei mir dabei auf meinem PI, auf dem ich die Symcon Dev Enwicklung auch laufen habe. Für FHEM gibt es aber auch Docker Container für NAS Systeme etc. FHEM ist kostenfrei, die Hardware war bei mir sowieso schon da. Modbus Master ist eine offizielle API von TA. In der C.M.I müssen die Netzwerk Aus- und Eingänge, sowohl für CAN als auch für Modbus definiert werden. Auf Symcon Seite gibt es das offizielle Gegenstück.
Vorteile:
Nachteile:
b Fazit:[/b]
Das Wichtigste dabei wird sein: DOKUMENTATION welcher Kanal welches Knotens über CAN auf welchen Kanal des Modbus Slaves schreibt/liest. Da kann man sich schnell verheddern wenn das vorher nicht schriftlich überlegt wird.
In diesem Sinne, schönes Wochenende.
Frank
Edith sagt: Tippfehler korrigiert
Das nenne ich mal eine Antwort!!!
Danke Frank!
Na gerne doch. Die TA und damals der Bootloader haben bei mir den Wunsch nach direkterem Zugriff ausgelöst und zu Symcon geführt. Da ich hier sehr viel von der regen Community profitiere wollte ich gerne mal was zurück geben und hoffe dass es jedem einen Überblick über die Möglichkeiten mit der TA gibt. Sind ja nicht so viele Beiträge und vieles ist über etliche Freds zerpflückt oder auch sehr alt (basiert auf BL-Net).
Noch ein kleiner Hinweis:
Die aktuelle Firmware 1.28.1 (evtl. auch schon die vorherige, habe von 1.26 upgegraded) bastelt in den Quellcode lustige Whitespaces rein (Umlaute sind bei mir jetzt auch zerschossen, da hat sich scheinbar was an der Codepage geändert):
°C</div>
Als Ende Tag hat bei mir geholfen, einfach nur
°C</div>
zu nehmen und in die Stringvariable zu schreiben. Das  erscheint dort nicht mehr.
Die Umwandlung der in den Float-Wert mache ich dann mit:
$_ein = GetValue(58931);
$_aus = str_replace(' ','',trim($_ein)); //Leerzeichen davor, danach und zwischen Vorzeichen und Zahl entfernen.
if (str_replace(',','.', $_aus) == GetValue(33625 ))
{
}
else
SetValue(33625 ,$_aus);
Ich aktualisiere den Float Wert nur, wenn sich der Wert auch tatsächlich geändert hat. Dazu werden Komma und Punkt augetauscht, beim schreiben in die Variable wird ein impliziter cast oder convert durchgeführt (so heißt das zumindest bei Datenbanken). Das gibt’s bestimmt auch als Befehl in PHP, so dass das schöner geht. Evlt. langt auch nur der str_replace in Zeile 2 zum entfernen aller Blanks, also bitte keine Kritik an meinen PHP gestückel :rolleyes:.
Schönen Abend noch
Frank
Hallo,
ich bin gerade dabei meine Heizungsanlage auf Technische Alternative (CMI, 2xRSM 610 und 4x DL Erweiterungsmodule) umzubauen.
Die Technik steht soweit und jetzt geht es an die Einbindung in Symcon.
Ich habe die komplette Anlage im CMI programmiert und in Symcon nur die Startseite direkt eingebunden. Das hat so weit den Vorteil, das die Heizungssteuerung separat läuft und bedient werden kann und man trotzdem alles über das Webfront sieht.Über die Startseite gelangt man dann in die einzelnen Menüs zur Bedienung.
Alle Istwert habe ich über eine leere Seite im CMI ausgegeben und per Registervariable und WW-Reader eingelesen. Die vorgefertigten Module nutze ich hierfür nicht, da nur die I/O gelesen werden können und alle Informationen der DL und CAN I/O fehlen.
Was mir jetzt noch fehlt ist das schreiben von Informationen auf die Fixwerte. Ich möchte die Temperaturen einzelner Räume (erfasst über Homematic) auf die entsprechenden Fixwerte schreiben.
Die entsprechende Adresszeile habe ich mir mit den Enwicklermodus von Firefox gesucht. Nach bearbeiten und erneuten senden der Informationen direkt aus der Entwicklerkonsole von Firefox klappt alles.
Gibt man jetzt die Zeile direkt in den Browser ein
http://192.168.0.116/INCLUDE/change.cgi?changeadrx2=21000A4414D101&changetox2=23.7
funktioniert es nicht. Das gleiche beim Aufruf aus Symcon herraus. Leider kommen dabei keinerlei Meldungen. Im Browser wird nur OK zurückgemeldet.
Wer hat eine Idee dazu? Wo kann ich noch ansetzen.
Hallo jaetzel,
bitte Anfragen direkt ins Forum stellen.
Die Einbindung ins Webfront ist relativ einfach. Im Webfrontkonfirgrator durch Auswahl externe Seite und dann die Adresse als wenn Du das Schema über CMI direkt aufrufst.
Du must natürlich erst ein Schema mit den TA-Designer von auf den CMI programmiert haben.
Thomas