Wird Allnet All4590 unterstützt?

Hallo,

ich bin neu hier und habe in den vergangenen Tagen etwas mit IPS „herumgespielt“ und festgestellt das anscheinend das All4590 Modul für meine All5000 von iPS nicht unterstützt wird.

  • Kann man schon sagen ob das Modul in absehbarer Zeit unterstützt wird?
  • Kann es sein das es mit den Sensoren der All5000 generell noch diverse Probleme gibt da z.B. einer der All3006 Temperaturfühler als Luftfeuchte erkannt wird (kann man das manuell ändern?)?

Danke schon mal für die Antwort.

Hallo.

Ich hatte das Problem auch - obwohl das bei mir wahrscheinlich eher von der neuen Firmware Version 3.0 verursacht wird die auf meinem Gerät läuft und mit der IPS wohl noch nicht kann.

Auch läuft bei mir kein ALL5000 sondern ein 4500er - was am Prinzip der Auswertung aber nichts ändern dürfte. Mein Ansatz sieht so aus:

<?

$link   = "http://xxx.xxx.xxx.xxx/xml/sensordata.xml";
$werte  = file($link);
$anzahl = (count($werte)-1);

$wert = (float)strip_tags($werte['16']); // 16 ist hier ein Feld in dem Array welches ich auswerten will
SetValue(12345, $wert);

?>

Mit dem periodisch aufzurufendem Skript schreibst Du die XML-Datei in ein Array und kannst dann die Felder entsprechend auswerten. Laut Allnet ändert sich die Reihenfolge der Einträge nicht - auch wenn neue Sensoren erzeugt oder gelöscht werden :rolleyes:.

Damit werte ich u.a. auch die Daten eines ALL4590 aus. Ist ein Workaround so lange bis eine native Unterstützung durch IPS da ist.

Danke für die schnelle Antwort.

Leider bin ich jetzt nicht gerade das super PHP Genie. So im groben hab ich deinen Code schon verstanden aber kannst du mir bitte folgende Zeilen Erklären:
$anzahl = (count($werte)-1); (wofür steht das -1?)
SetValue(12345, $wert); (auf was bezieht sich der Wert 12345, gegen was muss ich das ersetzen?)


$anzahl = (count($werte)-1); (wofür steht das -1?)

Das ist in dem Beispiel ehrlich gesagt nicht wichtig und nur durch Copy and Paste rein gerutscht. Das gibt die Anzahl der Elemente des Arrays aus. Ich überprüfe u.a. damit die Sinnhaftigkeit des Inhaltes da die Antwort meines ALL4500 logischerweise eine bestimmte Anzahl von Array-Elementen erreichen muss.


SetValue(12345, $wert); (auf was bezieht sich der Wert 12345, gegen was muss ich das ersetzen?) 

„12345“ ist die ID einer IPS-Variable in die Du den Wert schreiben willst.

Super, vielen Dank das klappt ja wunderbar. Jetzt kann ich mir alles zusammenbasteln.
Das einbinden von der All5000 (aktuellste Firmware) scheint ja noch nicht ganz ausgereift zu sein da viele Sensoren nicht richtig erkannt werden. Mit deiner Methode kann man das aber schön umgehen. Danke noch mal.

Der 5000er/4500er erkennt seine Sensoren wunderbar. Firmware 3 ist ein echter Fortschritt gewesen. Nur IPS scheint noch auf FW 2.x eingeschossen zu sein. Aber der Workaround funktioniert ja ganz gut.

Mit der neuesten Version 3.30 Patch 1057 haben sich auch die XML-Befehle geändert.
Die Ausgabe für einen Sensor lautet:

http://192.168.6.138/xml/?mode=sensor&type=list&id=105

<sensor><id>105</id><name>Anschluß 0</name><current>23.31</current><unit>°C</unit><minmax><today><min><value>22.50</value><date>11.03.2015 06:29:20</date><timestamp>1426055360</timestamp></min><max><value>24.81</value><date>11.03.2015 06:42:58</date><timestamp>1426056178</timestamp></max></today><absolute><min><value>22.43</value><date>11.03.2015 06:42:58</date><timestamp>1426056178</timestamp></min><max><value>24.81</value><date>01.01.1970 00:00:00</date><timestamp/></max></absolute></minmax></sensor>

Leider läßt sich so nach obigen Script nicht mehr die Temperatur auslesen. Für mich wäre der Current-Wert aureichend.
Bei Ausführen des Scripts kommt die Fehlermeldung:

Notice: Undefined offset: 16 in [Auswertung] on line 5

Da kenn ich mich leider zu wenig aus, um sowas in IPS auszuwerten und anzuzeigen.
Kann mir jemand auf die Sprünge helfen?

mfg
Cäsar

Hallo.

Bei mir funktioniert das kleine Skript noch einwandfrei - auch mit Firmware 3.3 Pachlevel 1059.
Schau Dir mal mit

print_r($werte);

den Inhalt des Arrays an. Eventuell musst Du nur die Nummer des auszuwertenden Feldes innerhalb des Arrays ändern.

Abgesehen davon funktioniert die in IPS beinhaltete Instanz ALL5000 mittlerweile wunderbar. Den Notnagel über das Skript benötigt man daher eigentlich nicht mehr.

Achso, ich muss für den All3418V2 die Instanz All5000 anlegen!
Danke für den Tipp. Jetzt funktioniert es bei mir auch einwandfrei, auch ohne Script.

mfg
Cäsar