Gong HM-OU-CM-PCB

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Antworten
fautec56
Beiträge: 17
Registriert: 20.12.2015, 21:48
Hat sich bedankt: 2 Mal

Gong HM-OU-CM-PCB

Beitrag von fautec56 » 17.11.2016, 21:51

Hallo zusammen,


wie ich lese, bin ich hier nicht alleine mit diesem Thema. Leider finde ich in den Artikeln keine Lösung für mein Problem.
Der Gong funktioniert, die SD-Karte ist o.k., auch kann ich die MP3-Files ausgeben. Aber alles nur wir in der beigefügten Grafik dargestellt.

Mein Problem ist, dass ich den Gong ( bei mir mit Namen "Gong1") nicht per Skript ansprechen kann.

Was ich finde ist folgendes Skript, mit dem man den Gong1 ansprechen soll und das File 005 abspielt.

dom.GetObject("Gong1:1").DPByHssDP("SUBMIT").State("1,1,1080000,5");

Aber nichts geht.
Geht das mit dem Bausatz HM-OU-CM-PCB von ELV nicht?

Oder steuer ich den Gong1 falsch an.

Da ich eigentlich über ein Skript mehrere Variablen prüfen muß, ist mir die Ansteuerung per Skript sehr wichtig.


Für einen hilfreichen Tip wäre ich dankbar.


Reinhard
Dateianhänge
Gong1_1.JPG
Gong1.JPG
Standardeinstellung direkt angesteuert
Zuletzt geändert von fautec56 am 17.11.2016, 22:20, insgesamt 1-mal geändert.

BadenPower

Re: Gong HM-OU-CM-PCB

Beitrag von BadenPower » 17.11.2016, 22:12

Mach' bitte einmal einen Scrennshot des Gonges unter "Einstellungen > Geräte" mit aufgeklappten Kanälen, damit man die Namen sehen kann.

.

fautec56
Beiträge: 17
Registriert: 20.12.2015, 21:48
Hat sich bedankt: 2 Mal

Re: Gong HM-OU-CM-PCB

Beitrag von fautec56 » 17.11.2016, 22:21

Hallo,

habe ich in meine Anfrage eingefügt.
Hat nur einen Kanal.

BadenPower

Re: Gong HM-OU-CM-PCB

Beitrag von BadenPower » 17.11.2016, 22:33

fautec56 hat geschrieben:habe ich in meine Anfrage eingefügt.
In Deinem Scriptschnipsel wird versucht ein Object mit dem Namen "Gong1:1" zu finden. Dieses existiert nicht, da Dein Kanal "Gong1" heißt und nicht "Gong1:1".

Entweder Du benennst den Kanal um in "Gong1:1" oder Du passt das Skript an den Namen an, wobei es dann 50:50 steht, ob es funktioniert, da Dein Kanal dann immernoch so heißt wie Dein Gerät und durch dom.GetObject() in Verbindung mit Namen, nicht gewährleistet ist, welches Objekt gefunden wird.

Die beste Entscheidung wäre den Kanal "Gong1:1" zu benennen und das Skript wie folgt anzupassen:

Code: Alles auswählen

((channels.Get("Gong1:1")).DPByHssDP("SUBMIT")).State("1,1,1080000,5");
Somit hättest Du zwei potentionelle Fehlerquellen auf einen Schlag beseitigt.
.

fautec56
Beiträge: 17
Registriert: 20.12.2015, 21:48
Hat sich bedankt: 2 Mal

Re: Gong HM-OU-CM-PCB

Beitrag von fautec56 » 17.11.2016, 22:54

Ganke für den Tip.

Das mit dem :1 weglassen, hatte ich schon getestet. Ohne ERgebnis. Allerdings mit "channels.Get" nicht.

Habe kurz einen TestSkript erstellt.

((channels.Get("Gong1")).DPByHssDP("SUBMIT")).State("1,1,1080000,5,8,9,100"); :idea:

Es klappt! :D

Danke. :D


LG Reinhard

BadenPower

Re: Gong HM-OU-CM-PCB

Beitrag von BadenPower » 18.11.2016, 09:11

fautec56 hat geschrieben:Das mit dem :1 weglassen, hatte ich schon getestet. Ohne ERgebnis.
Das hatte ich ja oben beschrieben, dass das in Verbindung mit dom.GetObject() ein Glücksspiel ist, da hier global auf Objekte zugergriffen wird und bei Namensgleichheit nicht gewährleistet ist, welches Objekt genommen wird.

Daher nimmt man immer die Methode .Get() der entsprechenden Liste und nicht dom.GetObject() in verbindung mit Namen.
.

Antworten

Zurück zu „HomeMatic allgemein“