Wetterstation HmIP-SWO-PR - pro - Anzeige Regenmege
Moderator: Co-Administratoren
-
- Beiträge: 5
- Registriert: 12.05.2018, 14:24
Wetterstation HmIP-SWO-PR - pro - Anzeige Regenmege
Hallo zusammen.
Ich besitze die Wetterstation HmIP-SWO-PR - pro. Diese zeigt auch sehr schön standartmäßig die heutige Regenmenge und die Regenmenge von gestern an.
Diese Daten benötige ich nun um meine Bewässerung zu programmieren.
Ich kann sämtliche Werte im Programm abrufen, jedoch die Regenmenge (heute und gestern) ist dort nicht aufgelistet.
Was mache ich falsch? bzw. was muss ich machen damit ich auf diese Daten zugreifen kann.
Für eure Hilfe bedanke ich mich schon einmal!
Ich besitze die Wetterstation HmIP-SWO-PR - pro. Diese zeigt auch sehr schön standartmäßig die heutige Regenmenge und die Regenmenge von gestern an.
Diese Daten benötige ich nun um meine Bewässerung zu programmieren.
Ich kann sämtliche Werte im Programm abrufen, jedoch die Regenmenge (heute und gestern) ist dort nicht aufgelistet.
Was mache ich falsch? bzw. was muss ich machen damit ich auf diese Daten zugreifen kann.
Für eure Hilfe bedanke ich mich schon einmal!
-
- Beiträge: 3733
- Registriert: 23.09.2017, 12:04
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 120 Mal
Re: Wetterstation HmIP-SWO-PR - pro - Anzeige Regenmege
Guten Abend
Du kommst so einfach nicht an die beiden SysVar ran, die in der WebUi angezeigt werden. Die sind versteckt.
Also musst Du das systeminterne Script der Wetterstation selbst anpassen.
Du legst Dir 2 neue SysVar an , die Du dann in Deinen Programmen weiter nutzen kannst. In dem vorhandenen Script musst Du die intern benutzten Variablen in Deine eigenen kopieren.
Beispiel hier:
viewtopic.php?f=58&t=42383
Du kommst so einfach nicht an die beiden SysVar ran, die in der WebUi angezeigt werden. Die sind versteckt.
Also musst Du das systeminterne Script der Wetterstation selbst anpassen.
Du legst Dir 2 neue SysVar an , die Du dann in Deinen Programmen weiter nutzen kannst. In dem vorhandenen Script musst Du die intern benutzten Variablen in Deine eigenen kopieren.
Beispiel hier:
viewtopic.php?f=58&t=42383
-
- Beiträge: 48
- Registriert: 06.11.2016, 15:39
- Wohnort: Steiermark, Österreich
- Hat sich bedankt: 2 Mal
Re: Wetterstation HmIP-SWO-PR - pro - Anzeige Regenmege
Hallo,
ich denke die Regenmenge heute und gestern sowie die Sonnenscheindauer (heute/gestern) sind mittels interne Systemvariablen realisiert und werden mittels ebenfalls internen Programmen gesetzt. Eventuell hat hier aber jemand mehr Erfahrung damit, da der Wert bei Regenmenge/Sonnenscheindauer anscheinend nur ein fortlaufender Wert ist.
@NickHM : Da warst du wohl schneller - danke für die Erklärung.
Viele Grüße
René
ich denke die Regenmenge heute und gestern sowie die Sonnenscheindauer (heute/gestern) sind mittels interne Systemvariablen realisiert und werden mittels ebenfalls internen Programmen gesetzt. Eventuell hat hier aber jemand mehr Erfahrung damit, da der Wert bei Regenmenge/Sonnenscheindauer anscheinend nur ein fortlaufender Wert ist.
@NickHM : Da warst du wohl schneller - danke für die Erklärung.
Viele Grüße
René
-
- Beiträge: 3733
- Registriert: 23.09.2017, 12:04
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 120 Mal
Re: Wetterstation HmIP-SWO-PR - pro - Anzeige Regenmege
Guten Abend
Regenmenge / Sonnenscheindauer werden im Sensor weiter gezählt und bei Überlauf des Zählers wieder bei 0,0 begonnen. Oder bei Batteriewechsel.
Aus diesen Werten berechnet ein Script in der CCU die Werte für den Tag.
Das Rücksetzen der Werte für "heute" und kopieren in "gestern" erfolgt in einem zweiten Script, dass default um 07:00 gestartet wird (glaube ich). Warum bei eq-3 die Zählung für den tag um 07:00 beginnt weiss ich nicht. Da scheint in unserer Gegend schon lange die Sonne. Die Startzeit kann man aber sehr einfach im Zeitmodul in dem entsprechenden systeminternen Programm in der WebUi anpassen.
Regenmenge / Sonnenscheindauer werden im Sensor weiter gezählt und bei Überlauf des Zählers wieder bei 0,0 begonnen. Oder bei Batteriewechsel.
Aus diesen Werten berechnet ein Script in der CCU die Werte für den Tag.
Das Rücksetzen der Werte für "heute" und kopieren in "gestern" erfolgt in einem zweiten Script, dass default um 07:00 gestartet wird (glaube ich). Warum bei eq-3 die Zählung für den tag um 07:00 beginnt weiss ich nicht. Da scheint in unserer Gegend schon lange die Sonne. Die Startzeit kann man aber sehr einfach im Zeitmodul in dem entsprechenden systeminternen Programm in der WebUi anpassen.
-
- Beiträge: 5
- Registriert: 12.05.2018, 14:24
Re: Wetterstation HmIP-SWO-PR - pro - Anzeige Regenmege
Ich habe es dank des Links schafft die Regenmenge Gestern anzeigen zu lassen. Diese kann ich nun auch für Programme verwenden.
Jedoch fehlt mir noch die heutige Tagesregenmege. Da verzweifel ich gerade dran.
Ich kann nur die Gesamtregenmenge verwenden. Ich benötigte jedoch die Summe welche an diesem Tage angefallen ist.
Ich hoffe nochmal auf Eure Hilfe.
Jedoch fehlt mir noch die heutige Tagesregenmege. Da verzweifel ich gerade dran.
Ich kann nur die Gesamtregenmenge verwenden. Ich benötigte jedoch die Summe welche an diesem Tage angefallen ist.
Ich hoffe nochmal auf Eure Hilfe.
-
- Beiträge: 3733
- Registriert: 23.09.2017, 12:04
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 120 Mal
Re: Wetterstation HmIP-SWO-PR - pro - Anzeige Regenmege
guten Morgen,
die Regenmenge heute versteckt sich in dem systeminternen Programm (Script) , das zu dem Sensor gehört und immer bei Aktualisierung ausgeführt wird. Kannst Du das Script mal hier rein kopieren?
die Regenmenge heute versteckt sich in dem systeminternen Programm (Script) , das zu dem Sensor gehört und immer bei Aktualisierung ausgeführt wird. Kannst Du das Script mal hier rein kopieren?
-
- Beiträge: 5
- Registriert: 12.05.2018, 14:24
Re: Wetterstation HmIP-SWO-PR - pro - Anzeige Regenmege
Bitteschöön:
Code: Alles auswählen
object chn = dom.GetObject('20287');
object oOverflow = chn.DPByControl('WEATHER_TRANSMIT.RAIN_COUNTER_OVERFLOW');
object oRainCounter = chn.DPByControl('WEATHER_TRANSMIT.RAIN_COUNTER');
object oSysVarRain = dom.GetObject('svHmIPRainCounter_20287_00185709ACB197:1');
object oSysVarRainOldVal = dom.GetObject('svHmIPRainCounterOldVal_20287');
object oSysVarCounterToday = dom.GetObject('svHmIPRainCounterToday_20287');
object oSysVarCounterYesterday = dom.GetObject('svHmIPRainCounterYesterday_20287');
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);
Zuletzt geändert von alchy am 16.05.2018, 20:33, insgesamt 1-mal geändert.
Grund: Code in Codetags posten
Grund: Code in Codetags posten
-
- Beiträge: 3733
- Registriert: 23.09.2017, 12:04
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 120 Mal
Re: Wetterstation HmIP-SWO-PR - pro - Anzeige Regenmege
Code: Alles auswählen
object chn = dom.GetObject('20287');
object oOverflow = chn.DPByControl('WEATHER_TRANSMIT.RAIN_COUNTER_OVERFLOW');
object oRainCounter = chn.DPByControl('WEATHER_TRANSMIT.RAIN_COUNTER');
object oSysVarRain = dom.GetObject('svHmIPRainCounter_20287_00185709ACB197:1');
object oSysVarRainOldVal = dom.GetObject('svHmIPRainCounterOldVal_20287');
object oSysVarCounterToday = dom.GetObject('svHmIPRainCounterToday_20287');
object oSysVarCounterYesterday = dom.GetObject('svHmIPRainCounterYesterday_20287');
!
!eigene sysVar
object oSysVarMyCounterToday = dom.GetObject('Regen_Heute');
!
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);
!
!kopieren in die eigene Variable
!
oSysVarMyCounterToday.State(todayTotal);
-
- Beiträge: 5
- Registriert: 12.05.2018, 14:24
-
- Beiträge: 5
- Registriert: 12.05.2018, 14:24
Re: Wetterstation HmIP-SWO-PR - pro - Anzeige Regenmege
Ich bin es nochmal.
Es klappt leider doch noch nicht. Sobald Regen fällt aktualisiert er den Wert nicht.
Muss unter WENN das Zeitmodul Ganztätig oder der Regensenor (bei Regen) erfasst werden? Oder geht es nur zu einer bestimmten Zeitpunkt (also einmal am Tag), dass er die Regenmenge dann aktualisiert.
Es klappt leider doch noch nicht. Sobald Regen fällt aktualisiert er den Wert nicht.
Muss unter WENN das Zeitmodul Ganztätig oder der Regensenor (bei Regen) erfasst werden? Oder geht es nur zu einer bestimmten Zeitpunkt (also einmal am Tag), dass er die Regenmenge dann aktualisiert.