Variable auslesen und in Systemvariable schreiben

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

Moderator: Co-Administratoren

Antworten
monte001
Beiträge: 5
Registriert: 26.01.2011, 19:22

Variable auslesen und in Systemvariable schreiben

Beitrag von monte001 » 06.12.2014, 16:25

Hallo,
leider komme ich seit Stunden nicht weiter. Die Suche hier im Forum hat mich leider nicht weitergekommen.
Habe bisher noch kein Script in der CCU schreiben müssen und bin daher dort ein völliger Anfänger.
Mein Ziel ist es bei Wertminderung der EnergyCam die neuen Werte in meine Systemvariable zu schreiben.

Ich habe folgende Hardware im Einsatz:
CCU2, Fast EnergyCam mit interne Antenne für W-M-Bus für Homematic CCU1/2 mit Wireless M-Bus USB-Stick im Einsatz.
In meiner CCU sehe ich mein Gerät wie Ihr auf den angehängten Bilder sehen könnt.


Danke für Eure Hilfe

Gruß
monte001
Dateianhänge
EnergyCam_Anzeige.png
Anzeige an der Oberfläche
EnergyCam_Anzeige.png (20.97 KiB) 9110 mal betrachtet
EnergyCam_geraet.png
Einstellungen im Gerät
EnergyCam_geraet.png (14.78 KiB) 9110 mal betrachtet

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

Re: Variable auslesen und in Systemvariable schreiben

Beitrag von uwe111 » 06.12.2014, 16:37

Hallo monte001,
monte001 hat geschrieben:Mein Ziel ist es bei Wertminderung der EnergyCam die neuen Werte in meine Systemvariable zu schreiben.
Ich verstehe leider nicht was Du machen willst. :roll: Welche Systemvariable? Welche Werte sollen da drin stehen?

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.12, SSH KeyDir

monte001
Beiträge: 5
Registriert: 26.01.2011, 19:22

Re: Variable auslesen und in Systemvariable schreiben

Beitrag von monte001 » 06.12.2014, 20:42

Hallo Uwe,
ich möchte als Beispiel den Wert METER (39360.10kWh) in eine von mir in der CCU definierten Variablen
die ENV_METER heisst hinterlegen. Mit den anderen Werten möchte ich das selbe machen.
Leider kann ich die Werte sonst nicht meiner Software (IP-Symcon) mit der ich sonst die Hausautomation durchführe zu
Verfügung stellen.

Ich hoffe jetzt hast du die notwendigen Infos mir weiter zu helfen.

Viele Grüße
monte001

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

Re: Variable auslesen und in Systemvariable schreiben

Beitrag von uwe111 » 07.12.2014, 00:56

Hallo monte001,
monte001 hat geschrieben:Habe bisher noch kein Script in der CCU schreiben müssen und bin daher dort ein völliger Anfänger.
Ok, dann solltest Du Dich jetzt damit beschäftigen.
Ganz am Ende der CUxD-Doku ist ein Beispiel für die Übertragung des Wertes aus einem Gerät in eine Systemvariable.
monte001 hat geschrieben:ich möchte als Beispiel den Wert METER (39360.10kWh) in eine von mir in der CCU definierten Variablen
die ENV_METER heisst hinterlegen.
Das angepasste Script dafür könnte so aussehen:

Code: Alles auswählen

var srcobj = dom.GetObject("CUxD.CUX2500100:1.METER");
var dstobj = dom.GetObject("ENV_METER");
var srcval = srcobj.Value();
if (srcval != dstobj.Value()) {
  dstobj.State(srcval);
}
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.12, SSH KeyDir

monte001
Beiträge: 5
Registriert: 26.01.2011, 19:22

Re: Variable auslesen und in Systemvariable schreiben

Beitrag von monte001 » 07.12.2014, 14:37

Hallo Uwe,
danke für deine Hilfe. Es klappt wie gewünscht.
Du hast recht ich darf mich mit der Doku mehr beschäftigen. Der Tipp auf die CUxD Doku war hilfrech.

Viele Grüße
monte001

Franki
Beiträge: 40
Registriert: 17.06.2014, 14:26

Re: Variable auslesen und in Systemvariable schreiben

Beitrag von Franki » 19.02.2015, 14:54

Hi Uwe,

gibt es auch schon ein script das den Durchnittsverbrauch zwischen 2 Übertragungen ausrechnet, mit zwei Systemvariablen (alter Wert, neuer Wert, zwei timestamps) sollte es möglich sein, da ich wenig Erfahrung mit scripten habe stellt sich die Frage ob es ein ähnliches script schon gibt (modifizieren geht schneller als neu schreiben :-))

Grüße

Frank

PCSHG
Beiträge: 106
Registriert: 07.10.2017, 15:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal

Re: Variable auslesen und in Systemvariable schreiben

Beitrag von PCSHG » 22.09.2018, 14:04

Hallo Forengemeinde, ich nutze derzeit das Script von Weather Underground für diverse wetterabhängige Steuerungen:

ich möchte mein System aber auf die Homematic IP Wetterstation (Homematic IP Wettersensor - pro) umstellen.

Lässt sich nun folgendes realisieren: Das Auslesen der vorhandenen Variablen der Homematic IP Wettersensor - pro und das Schreiben der Werte in die Systemvariablen von Weather Underground.

Mir ist es wichtig, die vorhandenen Variablen weiter benutzen zu können, da sie in diversen Programmen eingebunden sind.

!W_Station Zeichenkette
!W_Aktualisierung Zeichenkette
!W_Bedingungen Zeichenkette
!W_Temperatur Zahl °C
!W_Luftfeuchte Zahl %
!W_Windbedingungen Zeichenkette
!W_Windrichtung Zeichenkette
!W_Windrichtg Zahl °
!W_Windgeschwindigkeit Zahl km/h
!W_Windboeen Zahl km/h
!W_Luftdruck Zahl mb
!W_Luftdrucktrend Zeichenkette
!W_Taupunkt Zahl °C
!W_UV Zahl
!W_Solar Zahl Helligkeit
!W_Regen Zahl Regenmenge (der letzten Stunde)
808 Kanäle in 128 Geräten:
1x HM-CC-VG-1, 1x HM-OU-LED16, 1x HM-RC-19, 1x HM-WDS100-C6-O, 1x HmIP-ASIR, 2x HmIP-BDT, 3x HmIP-BRC2, 2x HmIP-BROLL, 13x HmIP-BSM, 9x HmIP-eTRV-2, 1x HmIP-FCI6, 4x HmIP-FROLL, 2x HmIP-FSI16, 8x HmIP-FSM, 3x HmIP-FSM16, 3x HmIP-HAP, 3x HmIP-PDT, 6x HMIP-PS, 10x HMIP-PSM, 1x HmIP-RCV-50, 3x HmIP-SAM, 1x HmIP-SCI, 20x HmIP-SRH, 15x HMIP-SWDO, 8x HmIP-SWSD, 1x HmIP-WGC, 1x HMIP-WRC2, 1x HmIP-WTH-2, 1x HmIPW-DRAP, 1x HmIPW-DRS8, 1x RPI-RF-MOD

alchy
Beiträge: 10782
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 67 Mal
Danksagung erhalten: 682 Mal

Re: Variable auslesen und in Systemvariable schreiben

Beitrag von alchy » 24.09.2018, 15:56

Auch wenn ich es, mit Verlaub, Blödsinn finde.

Für alle Systemvariablen wo der IP Wettersensor einen passenden Wert bietet, kannst du die Systemvariablen mit den Werten des Sensors in einem Programm synchronisieren.
Und zwar in dem du es einfach zusammenklickst.
Kurzfassung:
1. Du verknüpfst die Systemvariablen mit dem Sensor (Einstellungen Systemvariable Kanalverknüpfung mit...)
2. du erstellst ein Programm, welches auf die Sendung des Sensors triggert
(z.B. wenn Sensor Temperatur >= -40°C bei Aktualsisierung)
3. im Dann des Programms wählst du Gerät (IP Wettersensor) sofort - Systemvariablenmname - Klick auf weißes Notizbuch - Gerät - Kanalauswahl - Datenpunktauswahl - bestätigen
UND
dasselbe wie 3. mit nächster Systemvariable/Datenpunktkombination.

Das machst du für alle verfügbaren bzw. benötigten Datenpunkt / Systemvariablen Kombinationen.

Was macht das Programm?
Die Systemvariablen werden mit den Weerten des Sensors bei jeder Sendung synchronisiert.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Serverknecht
Beiträge: 39
Registriert: 04.03.2017, 23:19
System: CCU und Access Point
Wohnort: frankfurt am Main
Hat sich bedankt: 2 Mal

Re: Variable auslesen und in Systemvariable schreiben

Beitrag von Serverknecht » 21.08.2024, 18:57

Hi Alchy,

das das geht, wußte ich auch noch nicht. Mein gesamtes SmartHome bediene ich hauptsächlich über den AIO NEO. Da habe ich neue Geräte importiert und er hat die Base erkannt, Aber eben nicht alle Datenpunkte. Das Script füllt Variablen, die ich dann im AIO NEO anzeigen kann.
Danke für die Info.
Serverknecht

Antworten

Zurück zu „CUxD“