Zeitverhalten MBUS_UpdateValues

Hallo,

nach welcher Zeit stehen die nach MBUS_UpdateValues eingelesenen M-Bus-Messwerte in den IPS-Variablen zur Verfügung.

Aktuell warte ich mal vorsorglich 1 Sekunde.


MBUS_UpdateValues(29626 /*[ZK-Heiz\Zk-Wmz\WMZ01]*/);
  IPS_Sleep(1000);
  $OutStr = sprintf("%1.1f", GetValue(11884 /*[ZK-Heiz\Zk-Wmz\WMZ01\Energy]*/)).";";
  $OutStr = $OutStr.sprintf("%1.1f", GetValue(35101 /*[ZK-Heiz\Zk-Wmz\WMZ01\Volume]*/)).";";

Eventuell wird im PHP-Skript ja auch erst nachdem der Befehl MBUS_UpdateValues vollständig incl. speichern in den Variablen abgearbeitet wurde in die nächste PHP-Zeile gesprungen in dem dann sofort mit GetValue() auf den neuen Wert zugeriffen werden kann, damit wäre dann der IPS_Sleep() ja überflüssig.

Gruß
zkra

Du solltest direkt nach dem Befehl zugreifen können. Ein Sleep ist an der Stelle nicht erforderlich.

paresy

Hallo,

bekomme sporadisch im wieder einmal Fehlermeldungen bei MBUS_UpdateValues().

Script 46080, wird zyklisch jede Minute aufgerufen und liest nacheinader 6 WMZ ein


<?php
Include_once 'IPSLogger.ips.php';

//set_time_limit(58); //PHP Time-Limit neu aufziehen sonst Abbruch nach 30 Sek.

//-------------------
// Wmz01 lesen, Solaranlage
//-------------------
if (MBUS_UpdateValues(29626)){
  $OutStr = sprintf("%1.1f", GetValue(11884)).";";
  $OutStr = $OutStr.sprintf("%1.1f", GetValue(35101)).";";
  $OutStr = $OutStr.sprintf("%1.3f", GetValue(32768)).";";
  $OutStr = $OutStr.sprintf("%1.0f", GetValue(10089)*1000).";";
  $OutStr = $OutStr.sprintf("%1.1f", GetValue(32768)).";";
  $OutStr = $OutStr.sprintf("%1.1f", GetValue(16779)).";";
  $OutStr = $OutStr.sprintf("%1.2f", GetValue(36406)).";";
  SetValue(20425,$OutStr);
}

//-------------------
// Wmz02 lesen, Kesselkreis
//-------------------
if (MBUS_UpdateValues(29083)){
  $OutStr = sprintf("%1.1f", GetValue(47091)).";";
  $OutStr = $OutStr.sprintf("%1.1f", GetValue(32795)).";";
  $OutStr = $OutStr.sprintf("%1.3f", GetValue(49291)).";";
  $OutStr = $OutStr.sprintf("%1.0f", GetValue(40824)*1000).";";
...

2.jpg

Was könnte zur Fehlereingrenzung getan werden ?

Gruß
zkra

Betrifft es immer das selbe Gerät? Magst du zwischen den Abfragen mal ein paar Sleeps einfügen?

paresy