Auslesen Helligkeit HmIP-SWO-B

HMIP lokale Installation

Moderator: Co-Administratoren

andrinho
Beiträge: 28
Registriert: 06.10.2015, 22:15

Auslesen Helligkeit HmIP-SWO-B

Beitrag von andrinho » 04.10.2018, 13:11

Hallo zusammen,

ich möchte gerne mittels meines über eine CCU3 angebundenen HomeMatic Wettersensors HmIP-SWO-B eine Rolladensteuerung realisieren.

Dafür würde ich gerne wie in dem folgenden Thread beschrieben vorgehen:
viewtopic.php?f=27&t=31784&start=20

Ich scheitere allerdings bereits am allerersten Schritt, d.h. dem Auslesen des vom HmIP-SWO-B ermittelten Helligkeitswertes. Wenn ich in der Kanalauswahl zur Erzeugung der Systemvariablen bin wird mir hier nur der xxx:1 Kanal des Wettersensors angezeigt. Kanal 5, der offenbar die Helligkeit übermittelt ist hier nicht anklickbar.

Hat jemand einen Tipp für mich?

Vielen Dank & Grüße!
Zuletzt geändert von Roland M. am 04.10.2018, 16:44, insgesamt 1-mal geändert.
Grund: Thema verschoben

andrinho
Beiträge: 28
Registriert: 06.10.2015, 22:15

Re: Auslesen Helligkeit HmIP-SWO-B

Beitrag von andrinho » 04.10.2018, 22:52

Ich vermute inzwischen, dass sich dies nicht direkt in eine Systemvariable klicken lässt. Falls jemand ein ähnliches Problem hat, man bekommt die Helligkeit der Wetterstation über ein Skript, wobei "xxxxx..." für die Seriennummer steht

object dp = dom.GetObject("HmIP-RF.xxxxxxxxxxxxxx:1.ILLUMINATION");
WriteLine(dp.Value());

Falls hier doch ein "direktes" Schreiben in eine Systemvariable möglich ist bitte ich um einen kurzen Hinweis.

alchy
Beiträge: 8369
Registriert: 24.02.2011, 01:34

Re: Auslesen Helligkeit HmIP-SWO-B

Beitrag von alchy » 05.10.2018, 13:33

Das Synchronisieren von Systemvariablen durch Kanalzuordnung mit den Werten des Sensors sollte durchaus auch damit funktionieren.

Alchy

.................... 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.

Chemieka
Beiträge: 342
Registriert: 03.01.2017, 17:39

Re: Auslesen Helligkeit HmIP-SWO-B

Beitrag von Chemieka » 08.05.2019, 20:14

Ich muss mal was dazu fragen. Die Systemvariablen zur Wetterstation (HMIP) sind zwar im Programm nutzbar aber werden unter Systemvariable nicht angezeigt. Das führt dazu, dass die Werte für z.B. Regen Gestern/Heute nicht direkt in Mediola Importiert werden können und somit dort auch nicht angezeigt werden. Kann ich diese Variablen sichtbar machen oder muss ich die Systemprogramme der Wetterstation noch etwas ändern und meine eigenen Systemvariablen beschreiben?

Herzlichen Dank
PI3 mit RaspberryMatic; PI3 mit IOBroker; Samsung Tab A gerootet mit Mediola Visualisierung; Harmony Hub; Philips Hue; Zwei IP Cams; Zwei Leseköpfe an den Stromzählern zur Darstellung des Stromverbrauches. CUL433 für Intertechno und Somfy RTS

nicolas-eric
Beiträge: 2922
Registriert: 07.01.2015, 23:26
Wohnort: Scheeßel

Re: Auslesen Helligkeit HmIP-SWO-B

Beitrag von nicolas-eric » 08.05.2019, 20:32

Ich hatte das Problem auch.
Das im systeminternen Programm zu machen hatte bei mir nach einem FW Update des HmIP-SWO-PR die Folge, dass die Änderungen danach wieder weg waren.
Habe also neue SVs erstellt und füttere diese mit einem extra Programm.

alchy
Beiträge: 8369
Registriert: 24.02.2011, 01:34

Re: Auslesen Helligkeit HmIP-SWO-B

Beitrag von alchy » 08.05.2019, 21:12

Chemieka hat geschrieben:
08.05.2019, 20:14
Ich muss mal was dazu fragen. Die Systemvariablen zur Wetterstation (HMIP) sind zwar im Programm nutzbar aber werden unter Systemvariable nicht angezeigt. Das führt dazu, dass die Werte für z.B. Regen Gestern/Heute nicht direkt in Mediola Importiert werden können und somit dort auch nicht angezeigt werden. Kann ich diese Variablen sichtbar machen oder muss ich die Systemprogramme der Wetterstation noch etwas ändern und meine eigenen Systemvariablen beschreiben?
Klar kann man diese Variablen generell oder auch nur einige davon auch überall sichtbar machen. KOmmt darauf an, was du willst.
Stellt sich die Frage, warum da Mediola nicht entsprechend tätig wird und die Variablen einfach mit anbietet.

Alchy

.................... 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.

nicolas-eric
Beiträge: 2922
Registriert: 07.01.2015, 23:26
Wohnort: Scheeßel

Re: Auslesen Helligkeit HmIP-SWO-B

Beitrag von nicolas-eric » 08.05.2019, 21:20

Wie geht das sichtbar machen?
Bei SVs gibts ja nichtmal den Button „Systeminterne sichtbar machen“.
Dann könnte man die direkt in Mediola für die Visu nutzen.

Chemieka
Beiträge: 342
Registriert: 03.01.2017, 17:39

Re: Auslesen Helligkeit HmIP-SWO-B

Beitrag von Chemieka » 08.05.2019, 21:32

Gleiche Frage hätte ich auch. Ansonsten werde ich such Programme dazu machen.
PI3 mit RaspberryMatic; PI3 mit IOBroker; Samsung Tab A gerootet mit Mediola Visualisierung; Harmony Hub; Philips Hue; Zwei IP Cams; Zwei Leseköpfe an den Stromzählern zur Darstellung des Stromverbrauches. CUL433 für Intertechno und Somfy RTS

alchy
Beiträge: 8369
Registriert: 24.02.2011, 01:34

Re: Auslesen Helligkeit HmIP-SWO-B

Beitrag von alchy » 08.05.2019, 22:14

Das geht relativ einfach per kleinem Script.
Aber deshalb habe ich geschrieben
KOmmt darauf an, was du willst.
Eine Variable ändern oder alle Variablen. Kennst du den Namen der Variablen usw.

Alchy

[EDIT]

Ist ja egal, war nicht zu erwarten.
Hier auf die ganz Schnelle ein Wechslerscript mit Ausgabe des Resultates. Erste Zeile Namen der Systemmvariablen eintragen:

Code: Alles auswählen

! Systemvariablen Wechslerscript internal 
! v0.1 (c) by Alchy 
object oSV= (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("NAME DEINER SYSTEMVARIABLEN"); 
if(oSV) { 
if(oSV.Internal()){ WriteLine(oSV.Name() #" ist intern ");
oSV.Internal(false);
WriteLine(" nun nicht mehr ");
}else{ WriteLine(oSV.Name() #" ist NICHT intern ");
oSV.Internal(true);
WriteLine(" aber nun schon");
}dom.RTUpdate(0);}else{WriteLine(" Es gibt die Systemvariable nicht");}
Ist die Variable nicht mehr intern, wird sie sichtbar sein unter Status und Bedienung bzw. Einstellungen Systemvariable und damit dann wahrscheinlich auch bei Mediola. (hab ich nicht aktiviert)
Einfach ausprobieren und nachschauen.

Alchy
Zuletzt geändert von alchy am 08.05.2019, 22:32, insgesamt 1-mal geändert.
Grund: [EDIT]

.................... 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.

nicolas-eric
Beiträge: 2922
Registriert: 07.01.2015, 23:26
Wohnort: Scheeßel

Re: Auslesen Helligkeit HmIP-SWO-B

Beitrag von nicolas-eric » 08.05.2019, 22:25

Ich denke sie heißen in meinem Fall:
svHmIPRainCounterToday_36264
Und
svHmIPRainCounterYesterday_36264

Das Script des systeminternen Programms sieht so aus:

Code: Alles auswählen

[object chn = dom.GetObject('36264');
object oOverflow = chn.DPByControl('WEATHER_TRANSMIT.RAIN_COUNTER_OVERFLOW');
object oRainCounter = chn.DPByControl('WEATHER_TRANSMIT.RAIN_COUNTER');
object oSysVarRain = dom.GetObject('svHmIPRainCounter_36264_001858A992B8EA:1');
object oSysVarRainOldVal = dom.GetObject('svHmIPRainCounterOldVal_36264');
object oSysVarCounterToday =  dom.GetObject('svHmIPRainCounterToday_36264');
object oSysVarCounterYesterday =  dom.GetObject('svHmIPRainCounterYesterday_36264');
boolean overFlowFlag = oOverflow.Value();
real devVal = oRainCounter.Value();
real devValMax = oRainCounter.ValueMax();
real oldDevVal = oSysVarRainOldVal.Value();
real diffVal = 0.0;
real sysVarVal = oSysVarRain.Value();
real sysVarTodayVal = oSysVarCounterToday.Value();
real todayTotal = 0.0;
integer tmp_devVal = (devVal.ToString().ToFloat() * 1000).ToInteger();
integer tmp_oldDevVal = (oldDevVal.ToString().ToFloat() * 1000).ToInteger();
if (overFlowFlag == false) {
! Normal conditions
if (tmp_oldDevVal <= tmp_devVal) {
diffVal = devVal - oldDevVal;
}
! Device has rebooted
if (tmp_oldDevVal > tmp_devVal) {
diffVal = devVal;
}
} else {
!overFlow is true
if (tmp_oldDevVal > tmp_devVal) {
! An device overflow has occured
diffVal = (devVal + devValMax) - oldDevVal;
} else {
! Once the overflow flag has been set it will only be false when the device reboots
! Therefore this is the normal condition after an device overflow
diffVal = devVal - oldDevVal;
}
}
oSysVarRainOldVal.State(devVal);
oSysVarRain.State(sysVarVal + diffVal);
todayTotal = sysVarTodayVal + diffVal;
if (todayTotal >= 1440.0) {todayTotal = 0.0;}
oSysVarCounterToday.State(todayTotal);/code]

Antworten

Zurück zu „HomeMatic IP mit CCU“