Auslesen Helligkeit HmIP-SWO-B
Moderator: Co-Administratoren
Auslesen Helligkeit HmIP-SWO-B
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!
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
Grund: Thema verschoben
Re: Auslesen Helligkeit HmIP-SWO-B
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.
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.
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Auslesen Helligkeit HmIP-SWO-B
Das Synchronisieren von Systemvariablen durch Kanalzuordnung mit den Werten des Sensors sollte durchaus auch damit funktionieren.
Alchy
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.
-
- Beiträge: 649
- Registriert: 03.01.2017, 17:39
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 9 Mal
Re: Auslesen Helligkeit HmIP-SWO-B
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
Herzlichen Dank
PI3+ mit RaspberryMatic; PI4 mit IOBroker; Samsung Tab A mit Mediola Visualisierung; Harmony Hub; Philips Hue; Drei IP Cams; Zwei Leseköpfe an den Stromzählern; Reedkontakt (Arduino) am Wasserzähler; Drucksensor (Arduino); CUL433 für Intertechno und Somfy RTS; Nuki Bridge
-
- Beiträge: 3302
- Registriert: 07.01.2015, 23:26
- Wohnort: Scheeßel
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 11 Mal
Re: Auslesen Helligkeit HmIP-SWO-B
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.
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.
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Auslesen Helligkeit HmIP-SWO-B
Klar kann man diese Variablen generell oder auch nur einige davon auch überall sichtbar machen. KOmmt darauf an, was du willst.Chemieka hat geschrieben: ↑08.05.2019, 20:14Ich 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?
Stellt sich die Frage, warum da Mediola nicht entsprechend tätig wird und die Variablen einfach mit anbietet.
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.
-
- Beiträge: 3302
- Registriert: 07.01.2015, 23:26
- Wohnort: Scheeßel
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 11 Mal
Re: Auslesen Helligkeit HmIP-SWO-B
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.
Bei SVs gibts ja nichtmal den Button „Systeminterne sichtbar machen“.
Dann könnte man die direkt in Mediola für die Visu nutzen.
-
- Beiträge: 649
- Registriert: 03.01.2017, 17:39
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 9 Mal
Re: Auslesen Helligkeit HmIP-SWO-B
Gleiche Frage hätte ich auch. Ansonsten werde ich such Programme dazu machen.
PI3+ mit RaspberryMatic; PI4 mit IOBroker; Samsung Tab A mit Mediola Visualisierung; Harmony Hub; Philips Hue; Drei IP Cams; Zwei Leseköpfe an den Stromzählern; Reedkontakt (Arduino) am Wasserzähler; Drucksensor (Arduino); CUL433 für Intertechno und Somfy RTS; Nuki Bridge
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Auslesen Helligkeit HmIP-SWO-B
Das geht relativ einfach per kleinem Script.
Aber deshalb habe ich geschrieben
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:
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
Aber deshalb habe ich geschrieben
Eine Variable ändern oder alle Variablen. Kennst du den Namen der Variablen usw.KOmmt darauf an, was du willst.
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");}
Einfach ausprobieren und nachschauen.
Alchy
Zuletzt geändert von alchy am 08.05.2019, 22:32, insgesamt 1-mal geändert.
Grund: [EDIT]
Grund: [EDIT]
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.
-
- Beiträge: 3302
- Registriert: 07.01.2015, 23:26
- Wohnort: Scheeßel
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 11 Mal
Re: Auslesen Helligkeit HmIP-SWO-B
Ich denke sie heißen in meinem Fall:
svHmIPRainCounterToday_36264
Und
svHmIPRainCounterYesterday_36264
Das Script des systeminternen Programms sieht so aus:
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]