UVR1611 ueber IPS steuern - geht das ???

Hallo,

moechte gerne die Wettervorhersage in meine durch die UVR1611 geregelte Heizungs/Solaranlage bringen - IPS hat halt viel mehr Moeglichkeiten…

nun kann IPS ja die UVR auslesen - aber hat jemand schon die UVR1611 angesteuert und dort Parameter in Modulen geaendert?

Dachte da an das webinterface des bootloaders…dem muesste man „nur“ die richtigen Antworten auf einen Request schicken…
im anhang das html file so eines requests.

Gruss,
Christoph

UVR_598021_req1.zip (1006 Bytes)

Du kannst den WWWReader nehmen und mit WWWReader_SetPage die URL samt Parametern angeben und mit WWWReader_UpdatePage ausführen lassen.

paresy

Falls du ein Beispiel brauchst melde dich nochmal. Ich lese so die UVR und ein CAN IO Modul aus. Die Umschaltung zwischen beiden, ist das was du auch brauchst.

mfg

Gernot

Hallo, kann mir jemand eine Beschreibung zukommen lassen wie das funktionieren kann?
z.B.: Ausgang 4 schalten oder Solltemperatur Heizkreis ändern

mfg Christian

Hi,

hab da auch mal ne Frage an die UVR Spezialisten. Kann man den UVR 31 auch mit IPS ansprechen :confused:

Grüße
Thomas

Wahrscheinlich gibt es keine UVR Experten!:frowning:

Nein, das geht nicht.

@Bussard013: Ich weiß dazu leider nichts.

paresy

Einfach die Webseite (Adresse aus der Adressleiste des Browsers) in einem SimpleWebInterface aufrufen und mit dem Textparser die Werte suchen. Kann bei Bedarf meine Abfrage hier einstellen (wenn ich zu Hause bin).

Gernot

Hallo Gernot,

da muss ich mir wol den Bootloader-NET besorgen.:frowning:
Mit den BL232 fungiert das nicht oder?

Vielleicht finde ich Abnehmer für meinen BL232.

mfg
Christian

Hallo

Ich bin gerade bei der Planung einer Heiznugsregelung mit mehreren UVR1611 (bis zu 4 Stk) die über CAN Bus miteinander verbunden sind. Die Anbindung an den PC habe ich über Ethernet (BL-Net) und danach weiter an den CAN Bus der UVR1611 geplant. Diese möchte ich auch Visualisieren.

IPS unterstütz ja diese Universalregler. Kann mir jemand sagen ob ich auch die Werte aus den Reglern auslesen kann, die am CAN Bus angeschlossen sind?

nkarl

…auch wenn das Thema schon etwas älter ist.

Habs jetzt mal so gemacht wie oben beschrieben. WWWReader angelegt, mittels Skript SetPage gemacht, und dann UpdatePage.

Allerdings meckert er die UpdatePage Zeile im Skript an mit „Unknown Protocol in Zeile 5 bla bla“

WWWReader_SetPage(10086, "http://192.168.1.77/581E01.htm?tB0v0E0D3001=0F");

WWWReader_UpdatePage(10086);

Was hab ich da schon wieder für einen Hund drin?

Ich vermute, dass du die V2 nutzt?

Dann kommt noch zwischen die beiden Zeilen ein IPS_ApplySettings($id);

Oder nutz direkt die neue V2 Funktion: WWWReader_RetrievePage($id, $url);

paresy

Sorry, vergass ich zu erwähnen, nutze v2.

Hab mal auf RetrievePage geändert, IPS meldet keinen Fehler mehr, allerdings stellt er die Werte in der UVR auf 36, egal was ich von IPS für Werte übergebe. Aber ich vermute das ist ein Fehler UVR seitig (wie so oft), denn sporadisch stellt er die Werte auch beim Ändern über den BL-NET mittels Webbrowser auf 36.

-> nutzt nix, mal auf die neue Firmware 3.07 flashen.

Danke derweil für die Hilfe.

EDIT:

das mit dem Flashen auf 3.07 war wohl nix…da hab ich wieder das alte Problem, dass der Bootloader keine Daten von der UVR bekommt. -> siehe auch: http://www.ipsymcon.de/forum/f18/uvr-1611-a-5510/index2.html

zurück auf v2.28 - alles wieder in Ordnung.

Du hast nicht zufällig ne UVR mit Bootloader rum liegen, um die v3.07 mal zu testen. Vielleicht gibts das Problem nicht nur bei mir :smiley:

EDIT 2:

so…Schuld zu früh auf TA geschoben… :stuck_out_tongue:

Folgendes:
läuft IPS und es wird mittels Webbrowser versucht eine Wert im BL-NET zu ändern, so wird dieser immer mit 36 übernommen, egal was als eigentlicher Wert eingestellt wird.

läuft IPS nicht, wird der eingestellte Wert übernommen.

Hat wahrscheinlich was mit der Verbindung von IPS zum BL zu tun, oder?

greetz Daniel

Hallo Daniel,

ich habe die A2.27DE im 1611er und die V1.34 im BLNet und benutze dieses Skript zum Schalten meiner Ausgänge.


<?
$button = $IPS_COMPONENT;

CSCK_SetOpen(24885 /*[Client Socket Bootloader NET]*/,true);

IPS_Sleep(240);


$status = CSCK_GetOpen(24885 /*[Client Socket Bootloader NET]*/);

if ($status == true) {

   $text = WWWReader_RetrievePage(15541 /*[WWW Reader]*/,"http://192.168.2.34/NWKMEN.htm?v=1");
   IPS_Sleep(240);
	$text = WWWReader_RetrievePage(15541 /*[WWW Reader]*/,$button);
	IPS_Sleep(240);
	CSCK_SetOpen(24885 /*[Client Socket Bootloader NET]*/,false);
	UVR_UpdateValues(19726 /*[UVR1611\UVR1611]*/);
	echo "ausgeführt";
	}

if ($status == false) {
	echo "error";
	}
	
?>

einfach noch den Link im Designer bei IPSYMID eintragen und sollte es funktionieren.

Ich hoffe ich kann Dir ein wenig weiterhelten.:slight_smile:

Gruß
Christian

Wenn das Betriebssystem > 3.00 auf der UVR1611 aufgespielt wurde, dann ist zwingend für den BL-USB das Betriebssystem 2.7 zu nutzen. Diese Version ist damit Voraussetzung für das Datenlogging von: UVR1611 ab Version A3.00 und UVR61-3 ab Version 5.0 (siehe folgenden Link).

Readme BL232/D-LOGG USB*-*Technische Alternative

Daraus lässt sich schlussfolgern, dass der Datenstrom sich geändert hat. Das kann ich auch bestätigen, da es bei meiner UVR1611 mit einer Version > 3.00 und der BL-USB-Version < 2.7 zu Synchronisierungs- u. Datenloggingproblemen mit Winsol kam. Nach zwei Minuten brach die Anzeige der Daten in Winsol ab und ich bekam den Fehler, dass die DL nicht richtig angeschlossen sei oder der Ausgang 14 nicht richtig konfiguriert sei.

Nach Aufspielen der Version 2.7 erfolgte die Datenaufzeichnung wieder korrekt.

Genauso verhält es sich mit dem BL-Net und der aktuellen Betriebssystem-Version 1.35. Hier erfolgt kommt es ebenso zu Synchronisierungs- u. Datenloggingproblemen mit Winsol, wenn die UVR ein Betriebssystem > 3.00 hat und die Datenaufzeichnung über die DL erfolgt.

Lt. Rücksprache mit der Hotline von TA kommt in den nächsten Tagen eine neue Version 1.36 für den BL-Net heraus. Darin ist der Datenstrom analog der Version 2.7 des BL-USB angepasst.

Vielleicht hilft diese Info.

wesseli

@Bussard013

Danke für das Skript, werde das heute mal ausprobieren. Wenns für deine Ausgänge geht, sollte es ja eigentlich auch für Werte funktionieren, oder?

@wesseli

Daraus lässt sich schlussfolgern, dass der Datenstrom sich geändert hat. Das kann ich auch bestätigen, da es bei meiner UVR1611 mit einer Version > 3.00 und der BL-USB-Version < 2.7 zu Synchronisierungs- u. Datenloggingproblemen mit Winsol kam. Nach zwei Minuten brach die Anzeige der Daten in Winsol ab und ich bekam den Fehler, dass die DL nicht richtig angeschlossen sei oder der Ausgang 14 nicht richtig konfiguriert sei.

Ok, also ein „globales“ Problem :smiley:

Lt. Rücksprache mit der Hotline von TA kommt in den nächsten Tagen eine neue Version 1.36 für den BL-Net heraus. Darin ist der Datenstrom analog der Version 2.7 des BL-USB angepasst.

Wobei man bei „…nächsten Tagen…“ bei der TA leider aufpassen muss. Warte schon seit Ende November auf eine BL Version >1.35, weil es beim Onlineschema, welches 99% meiner Anlagen nutzen, auch mehrere Bugs gibt. Damals hiess es auf Anfrage auch: …in den nächsten Tagen… :stuck_out_tongue:

greetz Daniel

So…hab jetzt mal ein bischen weiter getestet.

Mein Problem, dass Werte nur als „36“ übernommen werden, besteht nur, wenn der Datenempfang über IPS und den Client Socket läuft.

Bei diesem Socket hab ich mal den Timer rausgeschmissen, und mir folgendes Skript gebastelt, dass ich bei Bedarf über die Variable „Verbindung_belegt“ anhalten kann, sonst läuft das Skript zyklisch alle 30sec.

// Verbindung durch Wertänderung über Browser belegt

$Verb_belegt = getValueBoolean(11083 /*[UVR Reglerverbund\Verbindung_belegt]*/);

// Verbindung frei - Datenempfang BL-NET

if ($Verb_belegt == false)
	{
	CSCK_SetOpen(54735 /*[BL Net 1]*/,true);

	IPS_Sleep(240);

	$status = CSCK_GetOpen(54735 /*[BL Net 1]*/);

	if ($status == true)
		{
		CSCK_SetOpen(54735 /*[BL Net 1]*/,false);
		UVR_UpdateValues(17506 /*[UVR Reglerverbund\UVR1611_1]*/);
		echo "Datenempfang ok";
		}

	if ($status == false)
		{
		echo "Error Datenempfang";
		}
	}

if ($Verb_belegt == true)
	{
	echo "Verbindung belegt";
	}

Bis hierher klappts mal einwandfrei - Datenempfang von den beiden Reglern funktioniert.

Dann hatte ich vor den Wert zu schreiben nachdem ich den Datenempfang von der UVR angehalten habe.

<?
// Verbindung nicht geöffnet

$status = CSCK_GetOpen(54735 /*[BL Net 1]*/);

if ($status == false)
	{
	setValueBoolean(11083 /*[UVR Reglerverbund\Verbindung_belegt]*/,true); // Datenempfang über Datenleitung anhalten
	IPS_Sleep(240);
	WWWReader_RetrievePage(10086 /*[WWW Reader UVR write]*/,"http://192.168.1.77/580E01.htm?tB0v120C3001=0A"); // einzustellende Werte

		echo "Daten übertragen";
	}

setValueBoolean(11083 /*[UVR Reglerverbund\Verbindung_belegt]*/,false); // Datenempfang über Datenleitung freigeben


if ($status == true)
	{
	echo "Verbindung belegt";
	}

?>

Nach dieser Änderung ist es sporadisch möglich die Daten „wie gesendet“ zur UVR zu übertragen. Es kommt allerdings auch noch vor dass „36“ übertragen wird.

Halte ich das Verbindungsskript mehrere Minuten an, so kann ich ohne Probleme die Daten übertragen.

Hat da jemand eine Idee?

@Bussard013

ich habe die A2.27DE im 1611er und die V1.34 im BLNet und benutze dieses Skript zum Schalten meiner Ausgänge.


<? 
$button = $IPS_COMPONENT; 

CSCK_SetOpen(24885 /*[Client Socket Bootloader NET]*/,true); 

IPS_Sleep(240); 


$status = CSCK_GetOpen(24885 /*[Client Socket Bootloader NET]*/); 

if ($status == true) { 

   $text = WWWReader_RetrievePage(15541 /*[WWW Reader]*/,"http://192.168.2.34/NWKMEN.htm?v=1"); 
   IPS_Sleep(240); 
    $text = WWWReader_RetrievePage(15541 /*[WWW Reader]*/,$button); 
    IPS_Sleep(240); 
    CSCK_SetOpen(24885 /*[Client Socket Bootloader NET]*/,false); 
    UVR_UpdateValues(19726 /*[UVR1611\UVR1611]*/); 
    echo "ausgeführt"; 
    } 

if ($status == false) { 
    echo "error"; 
    } 
     
?> 

einfach noch den Link im Designer bei IPSYMID eintragen und sollte es funktionieren.

Da versteh ich nicht ganz, warum du den Client-Socket vor dem Aufruf des WWWReaders öffnest???

greetz Daniel

Hallo Daniel,

ich verwende zum Datenloggen einen BL232 und für den Eingriff in die Regelung einen BL-Net. Ich schließe den Socket weil ich nebenbei noch mit Winsoll auf den BL-Net zugreife.

Ich weiß nicht ob jetzt IPS zum Datenloggen über den BL-Net zuerst den Socket öffnet und danach wieder schließt. :rolleyes: Früher war das so.

Gruß
Christian

Hallo zusammen!

Zwischen dem Schalten von Ausgängen und dem Abfragen von Werten besteht kein unmittelbarer Zusammanhang. Ausser, dass beides per BL-Net möglich ist.

Der BL-Net wandelt die Oberfläche der UVR1611, bzw. den CAN-BUS in html-Seiten um, die per Browser abgerufen werden können. Die Bereitstellung erfolgt mit einem eigenen Webserver auf Port 80.

Um also beispielwiese den Ausgang 12 einzuschalten, muss diese URL aufgerufen werden: http://192.168.115.201/598001.htm?t91v01A12003=02

Das kann per Browser geschehen, oder einfach per fopen() und fgets() in einem Script. In beiden Fällen kann passieren, dass der Befehl nicht korrekt von der UVR umgesetzt wird. Insofern ist es unerlässlich, die gelieferte Antwortseite auf den gewünschten Zustand hin zu untersuchen. Ausserdem kann sich ein Teil der URL beim erneuten Verbinden des BL-NET mit der UVR1611 ändern.

Vermutlich sinkt die Zuverlässigkeit mit steigenden Anforderungen an den BL-NET. Wenn gleichzeitig permanent Daten abgerufen werden, ist der Bootloader offenbar schnell überlastet. Ich habe das sehr oft erlebt. Häufig werden dann Parameter nicht übernommen, oder er wird als Wert 36 eingestellt.

Ansonsten erfolgt das Abfragen von Betriebsdaten entweder über die serielle Schnittstelle, oder per http über den Port 40000. Eine echte Kollision ist damit eigentlich ausgeschlossen.

Hallo Robert,

könntest du mir das bitte etwas ausführlicher erklären?

greetz Daniel