UVR 1611 - Daten aus Bl-Net auslesen

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: UVR 1611 - Daten aus Bl-Net auslesen

Beitrag von alchy » 20.12.2017, 13:04

Wortmann30 hat geschrieben: Ich benutze aber keinen Boot Loader sondern das neuere CMI.
und wie man weiter oben nachlesen kann, warst du in dem Thread hier schon mal unterwegs und ich hatte versucht dir zu helfen.
Wortmann30 hat geschrieben: Jetzt habe ich es probiert die Koten nach dem Link ein Beitrag weiter oben auszulesen aber ohne Erfolg.
Es gibt mittlerweile hier 3 unterschiedliche Scripte, wenn ich richtig geschaut habe.
CMI-Knotenabfrage, Auslesen der /schematic_files/X.cgi und noch eine Version welche eine htm auswertet.
Alles für ein Gerät, weil es wohl unterschiedliche Zugriffsversionen gibt, wie auch immer.
Eines haben die 3 aber gemeinsam - ich besitze sie nicht.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Dax
Beiträge: 93
Registriert: 08.02.2016, 17:32
Danksagung erhalten: 1 Mal

Re: UVR 1611 - Daten aus Bl-Net auslesen

Beitrag von Dax » 20.12.2017, 13:22

Wortmann30 hat geschrieben:...
Ich benutze aber keinen Boot Loader sondern das neuere CMI.
...
Dann misch ich mich jetzt mal ein, alchy war ja so freundlich und hat mir bei dem selben Problem (UVR1611 über CMI auslesen) bereits geholfen.
Ich hab das ganze Prozedere in meinem Blog beschrieben, bei mir funktioniert das einwandfrei.
http://dax.la/wordpress/2016/03/03/home ... verbinden/

Benutzeravatar
Wortmann30
Beiträge: 1353
Registriert: 21.03.2014, 21:39
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 7 Mal
Danksagung erhalten: 11 Mal

Re: UVR 1611 - Daten aus Bl-Net auslesen

Beitrag von Wortmann30 » 23.12.2017, 13:53

Hi zusammen

sorry das meine Antwort so spät kommt, aber ich war leider verhindert.

Es ist so das ich eigentlich alle Skripte die hier im Beitrag drin sind schon probiert habe und keines hat zum Erfolg geführt, zumindest bis jetzt.

@alchy
ja da hast du vollkommen recht ich war hier schon mal unterwegs und es hat zu der zeit nicht geklappt und dann war ich verhindert da weiter zu machen.
Ich wollte dir eigentlich mal Zugang zu meinem CMI geben das hat aber nicht so geklappt wie ich mir das vorgestellt habe.
Ich danke dir auf jeden Fall für deine Hilfsbereitschaft! Und bin auch weiterhin froh um deine Hilfe bei dem Skript von Dax das du ja gemacht hast.

@Dax und @alchy
ich habe mich nochmals an deinem Skript versucht aber irgendwie bekomme ich es nicht hin.

Meine Seite sieht so aus:
Unbenannt.JPG
Unbenannt.JPG (23.7 KiB) 1816 mal betrachtet
Und hat in sich diesen Quelltext:
Unbenannt.JPG
Wenn ich jetzt dein Skript an meine Gegebenheiten anpasse sieht es so aus:

Code: Alles auswählen

var url = „http://admin:admin@192.168.178.111/schematic_files/4.cgi“;
dom.GetObject(„CUxD.CUX2801002:1.CMD_SETS„).State(„wget -q –auth-no-challenge -O – ‚“#url#“‚“);

Und weiter geht es im Moment leider nicht.

Vielen dank an euch beide!!!
Zuletzt geändert von alchy am 04.01.2019, 07:22, insgesamt 1-mal geändert.
Grund: Scriptcopy gelöscht
Grüsse


To be continued...

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: UVR 1611 - Daten aus Bl-Net auslesen

Beitrag von alchy » 23.12.2017, 16:29

Aus einem ganz einfachen Grund. :wink:
Schau dir doch nur mal die erste Zeile deines Scriptes an. :shock:
var url = http://admin:admin@192.168.178.111/sche ... iles/4.cgi;

und das zieht sich dann so durch deine Kopie. Und auch das hatten wir schon mal im Thread hier mit Gänsefüßchen.

Ich weiss, du kannst nichts dafür.
Ich kann aber auch nichts dafür, das User hier im Forum und auch in den Weiten des Netzes unberechtigter Weise Scripte von mir veröffentlichen.
Und dann noch falsch. :evil:
Und natürlich möchte ich dann auch keinen Support dafür leisten.

Weil bald Weihnachten ist, mach ich dir ein Angebot. Wir fangen von vorn an. Script Executer installieren und folgendes Script ausführen:

>>Scriptexecuter JSON Ausgabe << posten

Code: Alles auswählen

var url = "http://admin:admin@192.168.178.111/schematic_files/4.cgi";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q  --auth-no-challenge -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();

Allgemein:
KEIN Editor Namens Wordpad, oder Word oder irgendwelchen anderen Schrott benutzen.
Script kopieren aus dem Forum, direkt im Browser in das Fenster der Klickibunti oder in den Scriptexecuter.
Kein Zwischenkopieren nach irgendwelchem Windoofschrott wie Wordpad oder ähnlichem zum Editieren. Der Code soll nicht schön werden, wie ein Weihnachtsgruß.
Wenn überhaupt dann Editoren wie z.B. >Notepad++< benutzen.
Dabei aber auch immer auf den Zeichensatz / Kodierung usw. achten.


Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
Wortmann30
Beiträge: 1353
Registriert: 21.03.2014, 21:39
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 7 Mal
Danksagung erhalten: 11 Mal

Re: UVR 1611 - Daten aus Bl-Net auslesen

Beitrag von Wortmann30 » 23.12.2017, 17:23

Hi Alchy

super den Script executer habe ich schon ne weile er gibt das raus:

Code: Alles auswählen

{
  "srueck": "div id=\"pos0\"  \nPuffer_oben\n 33,9 °C \/div \n div id=\"pos1\"  \nPuffer_unten\n 24,2 °C \/div",
  "sessionId": "",
  "httpUserAgent": "",
  "url": "http:\/\/admin:admin@192.168.178.111\/schematic_files\/4.cgi",
  "STDOUT": ""
}
Grüsse


To be continued...

Benutzeravatar
Wortmann30
Beiträge: 1353
Registriert: 21.03.2014, 21:39
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 7 Mal
Danksagung erhalten: 11 Mal

Re: UVR 1611 - Daten aus Bl-Net auslesen

Beitrag von Wortmann30 » 25.12.2017, 17:45

Hallo Alchy

hastet du mal die Möglichkeit mein Anliegen anzusehen? Das wäre Klasse. Die Ausgabe ist oben.

Eine Frage zum speichern der Scripte verwendete ich in der Vergangenheit immer den TXT Editor aus Windows 7 geht das mit dem? Habe da keine grosse Erfahrung aber es schien zu funktionieren. Wenn nicht muss ich meine Scripte doch mit dem Von dir vorgeschlagen Notepad speichern.

Danke dir vielmals!
Grüsse


To be continued...

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: UVR 1611 - Daten aus Bl-Net auslesen

Beitrag von alchy » 25.12.2017, 20:59

Ich hab deine Meldung gesehen, nur noch keine Zeit und Lust. Sieht ja wieder anders aus, wie die anderen Ausgaben.
Kannst du beim Erstellen der aufzurufenden Seite in dem Editor mal versuchen einfach nur die Werte anzeigen zu lassen. Also ohne Einheit, keine zusätzliche Steuerzeichen usw.?
Oder ist das schon die "einfachste" Version?
Mal sehen, ob ich kommende Nacht was machen kann.

Ich habe kein Windows7, würde aber einfach mal behaupten, daß du damit früher oder später Probleme bekommst.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
Wortmann30
Beiträge: 1353
Registriert: 21.03.2014, 21:39
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 7 Mal
Danksagung erhalten: 11 Mal

Re: UVR 1611 - Daten aus Bl-Net auslesen

Beitrag von Wortmann30 » 25.12.2017, 22:19

Hi alchy

Nein leider kann man die Einheit nicht unterdrücken die wird von der UVR1611 direkt ausgegeben. :?

Leerzeichen sollten keine vorhanden sein. Der Quelltext der Seite sieht so aus:

Code: Alles auswählen

<div id="pos0" >
 40,4 °C</div>
<div id="pos1" >
Puffer_oben
</div>
<div id="pos2" >
 26,6 °C</div>
<div id="pos3" >
Puffer_unten
</div>
Vielleicht hilft das.

Gruß Marc
Grüsse


To be continued...

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: UVR 1611 - Daten aus Bl-Net auslesen

Beitrag von alchy » 27.12.2017, 09:02

So nun noch schnell zu dir. Sollte funktionieren, hatte für großartige "Umstrickereien" keine Zeit, also nur angepasst.

Probier mal aus:

Code: Alles auswählen

! UVR 1611 - Temperaturdaten aus CMI auslesen und in Sysvar Typ Zahl speichern
! v0.8b (c) by Alchy angepasst für Wortmann30
var url = "http://admin:admin@192.168.178.111/schematic_files/4.cgi";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q  --auth-no-challenge -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
string liste = "Puffer_oben\n|Puffer_unten\n";
    string slist ="";
    string i;
    foreach(i, liste.Split("|"))
    {
   var posValueStart = i;
    var posValueEnd = "C";
    var posValue = srueck.Find(posValueStart) + posValueStart.Length();
    var stmp = srueck.Substr(posValue, 6).StrValueByIndex(posValueEnd, 0) ;
    if (stmp.Find("- ")== 0 ) { stmp = "-"#stmp.Substr(2, stmp.Length());}
    integer ikomma  = stmp.Find(",");
    string saus1 = stmp.Substr(0, ikomma);
    string saus2 = saus1 + "." + stmp.Substr(ikomma + 1, 5);
    var zaus = saus2.ToFloat();
    var name = i.Substr(0, i.Length()-1);
if ( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(name) ) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(name).State( (zaus));WriteLine("Wert: "#zaus #" in Variable: "#name #" gespeichert");}else{WriteLine("Variable "#name #" für den Wert "#zaus #" nicht vorhanden");}
    slist = slist #name #"="#stmp #"="#saus2 #"=" #zaus #"\n";
    }
    WriteLine(slist);
Wenn es nicht funktioniert immer die JSON Ausgabe des ScriptExecuters posten.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
Wortmann30
Beiträge: 1353
Registriert: 21.03.2014, 21:39
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 7 Mal
Danksagung erhalten: 11 Mal

Re: UVR 1611 - Daten aus Bl-Net auslesen

Beitrag von Wortmann30 » 27.12.2017, 16:55

Hi Alchy,

danke, aber es hat leider nicht geklappt. Die Variablen die ich ja als Typ Zahl angelegt habe haben keine Werte erhalten und stehen immer noch bei 0,0.

Die JSON Ausgabe sieht so aus:

Code: Alles auswählen

{
  "sessionId": "",
  "STDOUT": "Wert: 0.000000 in Variable: Puffer_oben gespeichert\r\nWert: 0.000000 in Variable: Puffer_unten gespeichert\r\nPuffer_oben= \/div = \/div . \/div=0.000000\nPuffer_unten= \/div = \/div . \/div=0.000000\n\r\n",
  "url": "http:\/\/admin:admin@192.168.178.111\/schematic_files\/4.cgi",
  "stmp": "\/div",
  "srueck": "div id=\"pos0\"  \n 49,6 °C \/div \n div id=\"pos1\"  \nPuffer_oben\n \/div \n div id=\"pos2\"  \n 24,5 °C \/div \n div id=\"pos3\"  \nPuffer_unten\n \/div",
  "ikomma": "-1",
  "posValueEnd": "C",
  "slist": "Puffer_oben= \/div = \/div . \/div=0.000000\nPuffer_unten= \/div = \/div . \/div=0.000000",
  "posValue": "132",
  "name": "Puffer_unten",
  "liste": "Puffer_oben\n|Puffer_unten",
  "i": "Puffer_unten",
  "zaus": "0.000000",
  "saus1": "\/div",
  "posValueStart": "Puffer_unten",
  "saus2": "\/div . \/div",
  "httpUserAgent": ""
}
Später wenn das dann funktioniert kommen dann auf der Seite der UVR1611 auch noch Schaltsignale hinzu die mit "EIN" und "AUS" Rückmeldung geben. Kannst du das auch eventuell mit einbauen? Das wäre Super!

Danke
Grüsse


To be continued...

Antworten

Zurück zu „HomeMatic allgemein“