Antworten
Nov 23, 2019 - 19:17
Was ist denn der Inhalt vom Debug bzw. was wird denn da zurück geliefert? Kannst Du das mal posten?
Nov 24, 2019 - 04:28
Hallo Fonzo,
hier ist der Inhalt der Web-Seite.
Es geht mir eigentlich nur um den ersten Wert der Internal CCU des AIO Gateway V5+.
Der zweite Wert ist der meiner externen CCU3.
hier ist der Inhalt der Web-Seite.
Es geht mir eigentlich nur um den ersten Wert der Internal CCU des AIO Gateway V5+.
Der zweite Wert ist der meiner externen CCU3.
Quelle: Dudy Cycle, V5+
Nov 24, 2019 - 07:15
Wenn ich das richtig von anderen Fragen von Dir in Erinnerung hatte, nutzt Du doch so oder so ergänzend IP-Symcon zu NEO.
Dann erstellst Du Dir einfach einen WWW Reader und gibst dort das Intervall an, wie oft Du den Wert auslesen willst und bindest da einen Textparser dran. Im Text Parser gibst Du an, an welchen Stellen ausgeschnitten werden soll und schreibst das in eine Variable. Die Variable lässt Du dann aufzeichnen, indem Du einen Haken bei Alle Variablenänderungen aufzeichnen machst. Dann hast Du den Duty Cyle als aufgezeichneten Wert und Diagramm in IP-Symcon zur Verfügung und kannst diesen in NEO anzeigen. Den Wert importierst Du direkt als Textfeld im Gerätemanager in NEO und das Diagramm des Duty Cycle bindest Du in NEO über ein Webseitenelement in NEO und Webgraph ein.
Wo Du mit dem Text Parser schneiden musst, findest Du raus, indem Du im Browser einfach den Seitenquelltext anzeigst, wie bei Chrome z.B. STRG+U.
Das gleiche Vorgehen kannst Du auch mit jedem anderen Wert der Tabelle machen, Du musst nur für jeden Wert eine Variable und einen Text Parser anlegen, die übergeordnete Instanz als WWW Reader wäre dann bei allen Text Parser Instanzen gleich.
Dann erstellst Du Dir einfach einen WWW Reader und gibst dort das Intervall an, wie oft Du den Wert auslesen willst und bindest da einen Textparser dran. Im Text Parser gibst Du an, an welchen Stellen ausgeschnitten werden soll und schreibst das in eine Variable. Die Variable lässt Du dann aufzeichnen, indem Du einen Haken bei Alle Variablenänderungen aufzeichnen machst. Dann hast Du den Duty Cyle als aufgezeichneten Wert und Diagramm in IP-Symcon zur Verfügung und kannst diesen in NEO anzeigen. Den Wert importierst Du direkt als Textfeld im Gerätemanager in NEO und das Diagramm des Duty Cycle bindest Du in NEO über ein Webseitenelement in NEO und Webgraph ein.
Wo Du mit dem Text Parser schneiden musst, findest Du raus, indem Du im Browser einfach den Seitenquelltext anzeigst, wie bei Chrome z.B. STRG+U.
Das gleiche Vorgehen kannst Du auch mit jedem anderen Wert der Tabelle machen, Du musst nur für jeden Wert eine Variable und einen Text Parser anlegen, die übergeordnete Instanz als WWW Reader wäre dann bei allen Text Parser Instanzen gleich.
Nov 25, 2019 - 03:12
Danke Dir. Das muss ich mal testen.
Nov 25, 2019 - 04:21
Hallo Fonzo,
suche mir gerade einen Wolf. Ich finde keinen Text Parser in IPS. Im IPS Forum finde ich auch keine Anleitung.
Den WWW-Reader anzulegen war kein Problem.
Wo finde ich eine Anleitung die mir zeigt wie das geht ?
Danke
suche mir gerade einen Wolf. Ich finde keinen Text Parser in IPS. Im IPS Forum finde ich auch keine Anleitung.
Den WWW-Reader anzulegen war kein Problem.
Wo finde ich eine Anleitung die mir zeigt wie das geht ?
Danke
Nov 25, 2019 - 06:54
Im Kommentar kann man den Rückgabewert nicht lesen. Was gibt denn
"http://192.168.x.x//cmd?XC_FNC=GetHmMonitors&auth=kennwort"
bei Dir zurück?
Das ist JSON das kannst Du auswerten und in eine Variable schreiben, dazu müsste man aber den gesamten JSON String vorliegen haben.
"http://192.168.x.x//cmd?XC_FNC=GetHmMonitors&auth=kennwort"
bei Dir zurück?
Das ist JSON das kannst Du auswerten und in eine Variable schreiben, dazu müsste man aber den gesamten JSON String vorliegen haben.
$response = file_get_contents("http://192.168.x.x//cmd?XC_FNC=GetHmMonitors&auth=kennwort")
;// IP und Passwort ergänzen
$state = substr($response, 0, 8);
if($state == '{XC_SUC}')
{
$data_json = substr($response, 8);
$data = json_decode($data_json, true);
var_dump($data);
}
Was ist denn da die Ausgabe von $data?
Nov 25, 2019 - 07:18
Nach dem was Du teilweise gepostet hast müsste das JSON wohl so auszulesen sein:
Auf das Skript legst Du dann ein Event mit einem Intervall so oft wie Du den Wert eben auslesen willst.
<?php
$response = file_get_contents("http://192.168.x.x//cmd?XC_FNC=GetHmMonitors&auth=kennwo
rt"); // IP und Kennwort ergänzen
var_dump($response);
$state = substr($response, 0, 10);
var_dump($state);
if($state == '{"XC_SUC":')
{
$data_json = substr($response, 10);
var_dump($data_json);
$data = json_decode($data_json, true);
var_dump($data);
$duty_cycle = intval($data[0]['info'][0]['DUTY_CYCLE']);
var_dump($duty_cycle);
SetValue($duty_cycle, 12345); // Schreibe den Wert in Variable 12345
}
Die Frage ist dann wie der Array genau aussieht, aber wenn man den Array hat kann man dann auch sämtliche Werte in Variablen ablegen. Auf das Skript legst Du dann ein Event mit einem Intervall so oft wie Du den Wert eben auslesen willst.
Neuen Kommentar hinzufügen