1-Wire GeräteID abfragen

Hallo,

ich möchte mit einem Script zyklisch abfragen, ob eine 1-Wire-Geräte ID ( im 1.Wire Netzwerk ) vorhanden ist.

Lösungsansatz:

TMX_RequestRead ausführen und das Ergebnis auswerten.

Da ich die Statusvariablen als Trigger für ein Datenbanklogging benutze fällt diese Methode aus.

Im IP-Symcon werden die Geräte-IDs ausgelesen. Gibt es dazu einen Befehl um die 1-Wire Geräte-IDs in ein Array einzulesen ?

Gruß
Jürgen

Hallo Jürgen, ich weiß der Thread ist uralt … aber hast du mittlerweile eine Lösung dazu ?

Gruß
Jens

Du kannst es doch über TMEX_RequestRead machen. Das sollte am Besten funktionieren :slight_smile:

paresy

Darüber bekomme ich als Antwort auch die 1Wire IDs ? Also die 1W Nummer vom Chip ?

Nein, der Threadersteller wollte ja überprüfen, ob das Gerät am Bus hängt.

Zum Suchen kannst du das verwenden: TMEX_EnumerateDevices($id).

paresy

Mir gehts eingentlich eher um eine Auflistung alles 1W IDs … und zwar der Chip IDs !

edit
Ok, ist wohl der Befehl dafür …

das funktioniert:

print_r( TMEX_EnumerateDevices(40616));

Das hier aber nicht:

$1wireIDs = TMEX_EnumerateDevices(40616);

Parse error: syntax error, unexpected ‚1‘ (T_LNUMBER), expecting variable (T_VARIABLE) or ‚$‘ in D:\IP-Symcon\scripts\59829.ips.php on line 5
Abort Processing during Fatal-Error: syntax error, unexpected ‚1‘ (T_LNUMBER), expecting variable (T_VARIABLE) or ‚$‘
Error in Script D:\IP-Symcon\scripts\59829.ips.php on Line 5

ok … liegt an der 1 von $1wire … -.-

Gruß
Jens

Leider ist die Doku zum Thema 1Wire irgendwie nicht vollständig.

Ich finde weder den von dir genannten Befehl noch TMEX_GET_*

Habs jetzt so gelöst:


$guid = "{9317CC5B-4E1D-4440-AF3A-5CC7FB42CCAA}";
$ids = IPS_GetInstanceListByModuleID($guid);

foreach($ids as $id)
{
 $sn = TMEX_GetDevice($id);
 $name = IPS_GetName($id);
 
 echo $id." / ".$name." / ".$sn."
";
}

Gruß
Jens