1Wire friert ein

Hallo Zusammen,

ich habe ein Problem mit meiner 1Wire Installation an IPS.

Ich habe fünf 18b20 und eine Wiregate Multi I/O über den USB Busmaster am IPS Rechner angeschlossen.

Das System lief als Ergänzung zu KNX und einer kleiner Enocean Erweiterung ein Jahr lang ohne Probleme.

Seit neuestem friert 1 wirre regelmäßig ein und lässt sich erst nach dem Neustart des IPS Rechners wieder
Zum Leben erwecken. Dann läuft die Anlage wieder für ca. 1 Stunde und friert dann wieder ein.

An der IPS Programmierung wurde nichts verändert, ebenso ist die Verkabelung nicht verändert.

Kann mir jemand weiterhelfen?

Danke und viele Grüße

Joerg

Gesendet von meinem iPad mit Tapatalk

Morgen,

hatte auch das Problem das sich der BusMaster haufgehängt hat, nach Strom los machen des Busmasters lief es wieder einige Zeit.
Bei meiner Installation war ein Temp. Fühler defekt.
Nach Tausch des Fühlers lief es wieder und die üblichen verdächtigen 1W Fehler haben sich auch auf ein Minimum reduziert.

Gruß aus dem Waldviertel.

Chris

Hallo Chris

wie hast Du den defekten Fühler rausgefunden? Rey and Error oder woher wusstest Du welcher Fühler defekt ist?

Viele Grüsse

Joerg

Hallo.

Bei mir war’s einfach, das war einer der Fühler für den Pufferspeicher.
Da zu muss ich sagen das ich auch vorher immer mehr Probleme mit dem 1W Zeug bekam, CRC Fehler usw.
Und eines Tages war es so, das sich ab einer bestimmten Temperatur im Speicher sich der 1W Hub aufhängte.
Somit war der Fühler zu Orten.

Ich benutze auch noch dieses script, ich glaub das ist von Andrge da ich die 1W Hub von Ihm habe.
Das listet die Devices auf und erkennt wann eines nicht mehr da ist. Vielleicht hilft es Dir.

Die üblichen verdächtigen hast Du schon ausgeschlossen (ich hatte auch mal mit dem Netzteil ein Problem)?

Sonst fällt mir nur mehr Trial and error ein.

<?
$id = 14585 /*[1W BusMaster Heizraum]*/ ; //ID der TMEX I/O Instanz

//Ab hier nicht mehr verändern
$devs = @TMEXA_EnumerateDevices($id);

$vid = CreateVariableByName($IPS_SELF, "Bus-Status", 0);
$status = !($devs === false);
if(GetValue($vid) != $status) {
    SetValue($vid, $status);
}

if($devs === false)
    return;

$objs = IPS_GetChildrenIDs($IPS_SELF);
foreach($objs as $oid) {
    if(IPS_VariableExists($oid)) {
        $v = IPS_GetVariable($oid);
        if($v['VariableValue']['ValueType'] == 0) {
            if(IPS_GetName($oid) != "Bus-Status") {
               $found = false;
               foreach($devs as $key=>$value) {
                  if(!(strpos(IPS_GetName($oid), $value) === false)) {
                     $found = true;
                     unset($devs[$key]);
                     break;
                  }
               }
               if(GetValue($oid) != $found) {
                   SetValue($oid, $found);
               }
            }
        }
    }
}
foreach($devs as $dev) {
    if(substr($dev, 14, 2) == "81") {
       $name = "Interface";
    } else {
        $name = "Device";
    }
    $ids = IPS_GetInstanceListByModuleID("{9317CC5B-4E1D-4440-AF3A-5CC7FB42CCAA}");
    foreach($ids as $id) {
        if(TMEX_GetDevice($id) == $dev) {
            $name = IPS_GetName($id);
           break;
       }
    }
    $vid = CreateVariableByName($IPS_SELF, $name." (".$dev.")", 0);
    SetValue($vid, true);
}

function CreateVariableByName($id, $name, $type)
{
  global $IPS_SELF;
  $vid = @IPS_GetVariableIDByName($name, $id);
  if($vid === false)
  {
      $vid = IPS_CreateVariable($type);
      IPS_SetParent($vid, $id);
      IPS_SetName($vid, $name);
      IPS_SetInfo($vid, "this variable was created by script #$IPS_SELF");
  }
  return $vid;
}

if($IPS_SENDER == "Execute") {
    IPS_SetScriptTimer($IPS_SELF, 60);
}

?>

Hallo Chris,

danke für das Script und Deine ausführliche Antwort.

Den ersten Fehler hab ich schon mal gefunden. Der Busmaster war mit einer Kuten USB Verlängerung am Rechner angeschlossen. Die hab ich jetzt mal rausgenommen. War zwar noch nie anders angeschlossen, aber seit heute morgen läuft es einwandfrei.

Hat Dein defekter Sensor denn richtige Werte geliefert?

Viele Grüsse

Joerg

Hallo.
Ja hat er, bis zu dem Moment wo er jedes mal ab 79°C den Busmaster still legte.

Gruß aus dem Waldviertel.
Chris

Hatte noch ein zweites Problem. Der Virenscanner hat nach dem Programmupdate jeden Morgen um sieben einen Komplettscan angefangen. Und das hat meine Eeebox ans Limit gebracht.

Seit gestern Morgen läuft das System bis jetzt wieder störungsfrei, keine Aussertzer, KNX, Enocean und 1Wire arbeiten alle.

Trotzdem vielen Dank für Deine Unterstützung.

Viele Grüsse

Joerg

Jetzt ist es sicher. Der G Data Virenscannewr hat den 1 Wire Bus deaktiviert. Ich kann zwar nicht sagen, aber heute war es definitiv wieder so, dass mit Einsetzen des planmässigen Virenscans 1 Wire ausser Betrieb gesetzt wurde.

Keine Ahnung wieso, aber nachdem ich den Scan abgebrochen habe, geht 1 Wire wieder.

Viele Grüße

Joerg