Kanäle auslesen funzt nicht

Kabellose und kabelgebundene Sender und Empfänger der Serie Homematic "classic"

Moderator: Co-Administratoren

helmut
Beiträge: 6
Registriert: 11.08.2018, 15:41

Kanäle auslesen funzt nicht

Beitrag von helmut » 11.08.2018, 17:19

Moin!
Ich versuche mit dem Modul "HMW-IO-12Sw 14-DR" eine Bewässerungsanlage zu realisieren.
Bisher klappt das ganz gut, aber:

Ich möchte die Bewässerungsdauer mit einem Potentiometer einstellbar machen. Bisher geht das nur mit festen Zeiten und:
---- Einschalten und verzögert wieder Ausschalten mit der normalen Steuerungstechnik WebUI.

Dabei habe ich 2 Probleme wofür ich um Hilfe bitte:
Das Auslesen der mit dem Potmeter eingestellten Spannung per script funktioniert nicht:

Code: Alles auswählen

var Dauer = dom.GetObject("BidCos-Wired.IEQ0686519:26.VALUE").Value();
soll der Systemvariablen "Dauer" den analog Input Wert (Zahl, Bereich 0 bis 1000) zuweisen. Das funktioniert aber nicht.
Unter Status Geräte wird aber ein einstellbarer Wert angezeigt.

Das 2 te Problem:
Ich möchte dann die Variable Dauer irgendwie als Einschaltdauer für die Bewässerungskeise verwende an Stelle der festen Verzögerungen.

Ich gehe einfach mal dacon aus, dass andere diese Problemstellung schon hatten und mir helfen können.
Insbesondes scheint mir mysteriös, dass diverse Versuche Kanäle auszulesen , auch nach Mustern wie diesem:

Code: Alles auswählen

var wert = dom.GetObject("BidCos-Wired.IEQ00xxxxx:21.VALUE").Value();
WriteLine(wert);
auch bei anderen Kanälen wie z.B.Temperatursensor einfach nicht funktionierten.

Ich bin hier im Forum und sonstwo leider auch nicht fündig geworden

Danke vorab
Zuletzt geändert von alchy am 15.08.2018, 10:07, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

manfredh
Beiträge: 1238
Registriert: 09.09.2012, 10:41

Re: Kanäle auslesen funzt nicht

Beitrag von manfredh » 12.08.2018, 09:18

Hallo Helmut,

willkommen im Forum!

Und gleich
helmut hat geschrieben:
11.08.2018, 17:19
...---- var Dauer = dom.GetObject("BidCos-Wired.IEQ0686519:26.VALUE").Value();...
mit Scripten anfangen - respekt! :o

Und das
helmut hat geschrieben:
11.08.2018, 17:19
Ich möchte die Bewässerungsdauer mit einem Potentiometer einstellbar machen. Bisher geht das nur mit festen Zeiten und:
---- Einschalten und verzögert wieder Ausschalten mit der normalen Steuerungstechnik WebUI.
ist - vorsichtig ausgedrückt - suboptimal. Wenn der nachgelagerte Ausschaltbefehl im Funknirwana verschwindet, wird der Garten unter Wasser gesetzt.
Besser ist da, mit dem Einschalten gleich die Einschaltdauer mitzugeben. Da schaltet der Aktor auch aus, wenn die Zentrale nicht mehr lebt.


Zu deiner Aufgabenstellung:
Zu einem Potentiometer müsstest du ja erst mal hin gehen und daran drehen. Außerdem ist dann nicht unbedingt die Zeit eindeutig definiert - Skalen von Potis sind nie so genau wie eine klar definierte Zahl.
Ich gehe mal davon aus, dass die Bewässerungsdauer nicht in Sekundenschritten eingestellt werden soll. Eher in Stufen von, sagen wir mal: 10/20/30 Minuten.
Wenn es also eine überschaubare Anzahl von Werten gibt, könntest du das über eine Systemvariable abbilden, die dann für die Dauer herangezogen wird.
Wenn du den Wert der SV über ein User-Interface (z.B. App auf dem Handy/Tablet) eingeben kannst, sind dann sogar individuelle Werte zwischen 0 und <Unendlich möglich.

Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

Gerti
Beiträge: 729
Registriert: 28.01.2016, 19:06

Re: Kanäle auslesen funzt nicht

Beitrag von Gerti » 12.08.2018, 11:02

Hi!

Die Wired Komponenten haben imho keinen Parameter für die Einschaltdauer.

Gruß
Gerti

helmut
Beiträge: 6
Registriert: 11.08.2018, 15:41

Re: Kanäle auslesen funzt nicht

Beitrag von helmut » 12.08.2018, 11:19

Moin!
Vielen Dank für die Vorschläge, die gehen aber leider an meinen Fragen vorbei:

Ich möchte gerne einen Anlog In Wert im Programm verarbeiten und das funktioniert nicht.

Durch Auslesen des Gerätes mit einem (hier bei -alchy- gefundenen) Script habe ich noch einen Fehler gefunden und eine Korrektur gemacht, die Zeile lautet jetzt:

Code: Alles auswählen

var Dauer = dom.GetObject("BidCos-Wired.OEQ0686519:26.VALUE").Value()
;

es passiert aber trotzdem nichts.
Gruß
Zuletzt geändert von alchy am 15.08.2018, 10:08, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

Familienvater
Beiträge: 6290
Registriert: 31.12.2006, 16:18
Wohnort: Rhein-Main

Re: Kanäle auslesen funzt nicht

Beitrag von Familienvater » 12.08.2018, 11:34

Hi,

ich lese mit dieser Zeile einen Analog-Eingang von einem 12/14er aus, und "skaliere" den Wert auf 0-100, dann musst Du halt noch was mit dem Wert machen, eine SV befühlen, oder den Wert erstmal mit WriteLine() ausgeben:

Code: Alles auswählen

! LEQ1323077:22.VALUE
integer iTemp = dom.GetObject("BidCos-Wired.LEQ1323077:22.VALUE").Value();
real rTemp = 0.1 * iTemp;
Was in Deinem Fall nachher schwierig wird, ist die dynamische Dauer in Zusammenhang mit den wired-Ausgängen.
Es gibt keinen (einfachen) weg, ein "Verzögert um (Systemvariable) Dynamisch" in ein WebUI-Programm einzubauen, das könnte man wahrscheinlich mit einem cuxd-Timer umschiffen, es bleibt aber das theoretische Problem, das ein Absturz/Hänger der Zentrale während der Bewässerungszeit ein Absaufen des Gartens zur Folge hätte. Und die Ausgänge des 12/14er haben keinerlei Hardwaretimer, die direktverknüpfbaren Wired-Module hätten wenigstens einen festen Hardwaretimer als Notabschaltung:
Anlegen einer Direktverknüpfung mit einer virtuellen wired-FB-Taste der Zentrale, und dort hinterlegen von z.B. 2 Stunden als maximale Einschaltdauer, zum starten der Bewässerung wird die DV ausgelöst, und je nach gewünschter Länge wird dann von einem Programm nach 30 min, oder 90 min oder was der analog-Wert ergibt, der/die Kanäle vorzeitig abgeschaltet. Würde jetzt die Zentrale abfliegen, würden die Kanäle selbständig nach den 2h abschalten. Bei HM-Funk ist diese Einschaltdauer auch dynamisch für jeden Einschaltvorgang aus einem Programm heraus setzbar, das geht aber bei wired nicht!

Der Familienvater

Gerti
Beiträge: 729
Registriert: 28.01.2016, 19:06

Re: Kanäle auslesen funzt nicht

Beitrag von Gerti » 12.08.2018, 11:38

Hi!

Ich meine, nicht mal die verknüpfbaren Wired Module haben einen Hardware Timer.

Gruß,
Gerti

Familienvater
Beiträge: 6290
Registriert: 31.12.2006, 16:18
Wohnort: Rhein-Main

Re: Kanäle auslesen funzt nicht

Beitrag von Familienvater » 12.08.2018, 11:50

Hi,

doch, die wired-Module, die DVs unterstützen, können z.B. eine Treppenhauslichtfunktion in der Hardware, ich lasse z.B. mit den nicht mehr Verfügbaren 12-Kanal UP-IO Modulen angeschlossene LEDs Blinken, rein über Konfiguration der Expertenparameter, einmal DV auslösen, und die LED blinkt von alleine bis zum bewussten Ausschaltbefehl.

Der Familienvater

Gerti
Beiträge: 729
Registriert: 28.01.2016, 19:06

Re: Kanäle auslesen funzt nicht

Beitrag von Gerti » 12.08.2018, 11:52

Hi!

Bei einem 12/7 und auch dem 2-Kanal Schaltaktor kannst du aber imho keine Einschaltdauer übergeben.

Gruß
Gerti

Familienvater
Beiträge: 6290
Registriert: 31.12.2006, 16:18
Wohnort: Rhein-Main

Re: Kanäle auslesen funzt nicht

Beitrag von Familienvater » 12.08.2018, 12:04

Hi,

deswegen schrub ich ja auch, das man dafür eine DV mit einer virtuellen Wired-FB-Taste anlegen muss, und dort die max. Einschaltdauer konfiguriert, weil es dynamisch nicht geht
Familienvater hat geschrieben:
12.08.2018, 11:34
Bei HM-Funk ist diese Einschaltdauer auch dynamisch für jeden Einschaltvorgang aus einem Programm heraus setzbar, das geht aber bei wired nicht!
Der Familienvater

helmut
Beiträge: 6
Registriert: 11.08.2018, 15:41

Re: Kanäle auslesen funzt nicht

Beitrag von helmut » 12.08.2018, 12:27

Hallo Familienvater!
Vielen Dank für die Infos. Das hat mir sehr geholfen, das Auslesen geht jetzt.
Den Rest des Beitrages muss ich erst mal vedauen und dann weiter machen.

Zu den Befürchtungen mit der Überschwemmung:
Mein Problem geht nur um die Schaltdauer der einzelnen Bewässerungskreise.
Die Haupt-Pumpe schalte ich über einen Funk-Adapter immer bei Bedarf ein, der hat intern eine maximale Dauer gesetzt (Treppenhauslicht).
So schaltet das Ding dann auch im Fehlerfalle von alleine nach absehbarer Zeit aus.

Antworten

Zurück zu „HomeMatic Aktoren und Sensoren“