Ping unreach abfragen

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
Berni
Beiträge: 425
Registriert: 18.07.2011, 15:35
Kontaktdaten:

Ping unreach abfragen

Beitrag von Berni » 03.08.2013, 13:25

Hallo

ich versuche die Zeit (zwischen 1 und 255) abzufragen wenn ein Gerät mit dem CUxD-Ping nicht erreichbar ist.
Allerdings bisher ohne Erfolg

Ich habe mit diesem Script

Code: Alles auswählen

    var temp = dom.GetObject("BidCos-RF.HEQ????????:1.TEMPERATURE").Value();
    WriteLine(temp);
ein bisschen "gespielt" bekomme aber keine Ausgabe.

Hintergund:
Die Abfrage soll einen Wert liefern der dann in eine Variable übernommen werden soll um zu sehen wie lange ein Gerät nicht erreichbar ist.

Ist es überhaupt möglich die einzelnen Kanäle des Ping-Devices abzufragen?
Ich habe weder im Handbuch noch im Forum eine Antwort darauf gefunden.
Kann mich jemand "in die richtige Richtung schubsen?

Viele Grüße
Bernhard
250 Kanäle in 117 Geräten und 29 CUxD-Kanäle in 3 CUxD-Geräten

dondaik
Beiträge: 12929
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1604 Mal
Danksagung erhalten: 222 Mal

Re: Ping unreach abfragen

Beitrag von dondaik » 03.08.2013, 13:43

ja, das handbuch :-) 105 ff... da ist der ping-befehl und seine variablen beschrieben, hat auf jedenfall wenig mit -HEQ????????:1.TEMPERATURE- TEMPERATUR zu tun.
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

Berni
Beiträge: 425
Registriert: 18.07.2011, 15:35
Kontaktdaten:

Re: Ping unreach abfragen

Beitrag von Berni » 03.08.2013, 13:47

Das es mit TEMPERATURE nichts zu tun hat ist mir auch klar
Ganz blöd bin ich auch nicht.

Danke für diesen wieder mal sehr hilfreichen Beitrag
250 Kanäle in 117 Geräten und 29 CUxD-Kanäle in 3 CUxD-Geräten

Benutzeravatar
uwe111
Beiträge: 4821
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: Ping unreach abfragen

Beitrag von uwe111 » 03.08.2013, 13:48

Hallo Bernhard,
Berni hat geschrieben:Ist es überhaupt möglich die einzelnen Kanäle des Ping-Devices abzufragen?
Ich habe weder im Handbuch noch im Forum eine Antwort darauf gefunden.
Kann mich jemand "in die richtige Richtung schubsen?
Ja, das sieht dann z.B. so aus:

Code: Alles auswählen

var temp = dom.GetObject("CUxD.CUX2803001:1.UNREACH_CTR").Value();
WriteLine(temp);
Viele Grüße,

Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Berni
Beiträge: 425
Registriert: 18.07.2011, 15:35
Kontaktdaten:

Re: Ping unreach abfragen

Beitrag von Berni » 03.08.2013, 13:54

Hallo Uwe

Danke - ich bin über
var temp = dom.GetObject("BidCos-RF..............

"gestolpert" und wusste nicht was ich statt dessen einsetzen soll.

Jetzt klappt es perfekt

Viele Grüße
Bernhard
250 Kanäle in 117 Geräten und 29 CUxD-Kanäle in 3 CUxD-Geräten

Berni
Beiträge: 425
Registriert: 18.07.2011, 15:35
Kontaktdaten:

Re: Ping unreach abfragen

Beitrag von Berni » 03.08.2013, 18:54

Und weiter geht es :(

Die Abfrage klappt super
mit
var temp = dom.GetObject("CUxD.CUX4100001:1.UNREACH_CTR").Value();
var P01_Wert = temp;
WriteLine (P01_Wert);
wird bei "Script testen" der richtige Wert ausgegeben
Allerdings ist die Variable im WebUI P01_Wert 0.00 :shock: (Auch wenn ich die WriteLine-Zeile weg lasse)
Wo liegt der Fehler dass der Wert nicht in der Variablen angezeigt wird?

Die Variable ist vom Typ Zahl (0-300) und nicht mit dem Kanal verknüpft (auch wenn sie verknüpft ist wird nur 0.00 angezeigt)

Ich habe alle mir "sinnvoll" erscheinenden Varianten aus der Scrip-Dokumentation durchprobiert.

Viele Grüße
Bernhard
250 Kanäle in 117 Geräten und 29 CUxD-Kanäle in 3 CUxD-Geräten

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Ping unreach abfragen

Beitrag von paul53 » 03.08.2013, 19:02

Eine Systemvariable setzt man so:

Code: Alles auswählen

var temp = dom.GetObject("CUxD.CUX4100001:1.UNREACH_CTR").Value();
dom.GetObject("P01_Wert").State(temp);
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

Berni
Beiträge: 425
Registriert: 18.07.2011, 15:35
Kontaktdaten:

Re: Ping unreach abfragen

Beitrag von Berni » 03.08.2013, 19:14

Danke Paul

jetzt klappt es perfekt

kannst du mir noch einen Tipp geben wo ich das nachlesen kann :oops:
Ich verstehe zwar "hinterher" wieso es so klappt - aber wie ich drauf komme kann weiss ich nicht

Viele Grüße
Bernhard
250 Kanäle in 117 Geräten und 29 CUxD-Kanäle in 3 CUxD-Geräten

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Ping unreach abfragen

Beitrag von paul53 » 03.08.2013, 19:41

HM Script Doku, Teil 2 (Objektmodell), Punkt 8 (Systemvariable).
Hier ist zwar zum Abfragen und Setzen die Methode .Variable() aufgeführt. Aber die Methoden .Value() zum Abfragen und .State(Wert) zum Setzen funktionieren ebenfalls wie bei anderen Datenpunkten.
Zum Setzen des Wertes einer SV bevorzuge ich die Methode .State(Wert), da mit der Methode .Variable(Wert) der Zeitstempel nicht aktualisiert wird. Ob es Unterschiede zwischen .Value() und .Variable() zum Abfragen gibt, ist mir nicht bekannt.
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

Berni
Beiträge: 425
Registriert: 18.07.2011, 15:35
Kontaktdaten:

Re: Ping unreach abfragen

Beitrag von Berni » 03.08.2013, 23:19

Nochmal Danke
Dann werde ich das nochmal lesen und versuchen zu verstehen.
250 Kanäle in 117 Geräten und 29 CUxD-Kanäle in 3 CUxD-Geräten

Antworten

Zurück zu „CUxD“