OC3 Kombisensor Regenmenge

Kabellose und kabelgebundene Sender und Empfänger der klassischen Homematic-Serie

Moderator: Co-Administratoren

dpt
Beiträge: 9
Registriert: 31.08.2011, 10:38

Re: OC3 Kombisensor Regenmenge

Beitrag von dpt » 31.08.2011, 11:00

Hi

Habe es auch versucht dieses Skript zu installieren und bei mir geht es nicht:
Bin so vorgegangen:

1 Variablen in Einstellungen erstellt -> Sieht auf Startseite genau gleich aus wie im link
z.Bsp:
Name: Heute Temp Max Beschreibung: leer gelassen Minimalwert: -40 Maximalwert: 80 Einheit: °C und mit Wettersensor verbunden
2 Programm gleich erstellt
3 Skript reinkopiert
4. Prgramm manuel ausgeführt

Was habe ich falsch gemacht. es zeigt mir immer die minimalsten Werte an, habe ein OC3 Kombisensor
Die Momentan Werte zeigt er an.

Hat mir jemand noch sein Regenskript, meines geht nicht mehr und wenn ich das skript teste zeigt es einen Fehler an. :?

Besten Dank

roccobs2
Beiträge: 76
Registriert: 01.08.2011, 13:55

Re: OC3 Kombisensor Regenmenge

Beitrag von roccobs2 » 03.01.2012, 13:09

hmm bei mir funktioniert das leider auch nicht. Weiß jmd woran das liegen kann???

Bild

Bild

Sammy hat geschrieben:Hallo,

ich benutze auch ein geändertes Wetterscript. Das Ergebnis auf der Favoritenseite sieht bei mir dann so aus:
wetter.jpg
Dazu habe ich ein Programm angelegt, mit dem ich um 0:00 die Tages-Min und Max-Werte auf gestern verschiebe und den Regenzähler zurücksetze.
Ansonsten aktualisiert das Programm bei jeder Meldung des Sensors die angezeigten Werte:
wetterprogramm.jpg
Zuerst sind natürlich sämtliche oben sichtbaren Systemvariablen anzulegen und dem Wettersensor zuzuordnen.

So, und hier der Inhalt des von mir verwendeten Scripts:

Code: Alles auswählen

string wds_name = dom.GetObject("$src$").Name();
object prg=dom.GetObject($this$);
object dp_tmp=dom.GetObject(prg.Rule().RuleCondition(1).CndSingleCondition(0).LeftVal());
object dp_wds_channel=dom.GetObject(dp_tmp.Channel());
object dp_temp_max_today=dom.GetObject('Heute Temp Max');
object dp_temp_min_today=dom.GetObject('Heute Temp Min');
object dp_hum_max_today=dom.GetObject('Heute Luftfeuchte Max');
object dp_hum_min_today=dom.GetObject('Heute Luftfeuchte Min');
object dp_wind_max_today=dom.GetObject('Heute Wind Max');
object dp_rain_today=dom.GetObject('Heute Regen');
object dp_bright_avg=dom.GetObject('Helligkeit gefiltert');
var pos1 = wds_name.Find("TEMPERATURE");
real temp = dp_wds_channel.DPByHssDP("TEMPERATURE").Value();
real wind = dp_wds_channel.DPByHssDP("WIND_SPEED").Value();
real bright = dp_wds_channel.DPByHssDP("BRIGHTNESS").Value();
integer humidity = dp_wds_channel.DPByHssDP("HUMIDITY").Value();
if(pos1 != -1)
{
  var diff = dp_wds_channel.DPByHssDP("RAIN_COUNTER").Value()-dp_wds_channel.DPByHssDP("RAIN_COUNTER").LastValue();
  if ( (1.0*diff) < 0.0 ) 
  {
      diff = (1.0*diff) + dp_wds_channel.DPByHssDP("RAIN_COUNTER").ValueMax();
  }
  dp_rain_today.State(1.0*(dp_rain_today.Value()) + diff);

  if(temp > dp_temp_max_today.Value())
  {
    dp_temp_max_today.State(temp);
  } 
  if(temp < dp_temp_min_today.Value())
  {
    dp_temp_min_today.State(temp);
  }

  if(wind > dp_wind_max_today.Value())
  {
    dp_wind_max_today.State(wind);
  }

  dp_bright_avg.State(((7.0*dp_bright_avg.Value())+(1.0*bright))/8);

  if(humidity > dp_hum_max_today.Value())
  {
    dp_hum_max_today.State(humidity);
  }
  if(humidity < dp_hum_min_today.Value())
  {
    dp_hum_min_today.State(humidity);
  }
}
else
{
  var x = dom.GetObject('Gestern Temp Max').State(dp_temp_max_today.Value());
  x = dom.GetObject('Gestern Temp Min').State(dp_temp_min_today.Value());
  x = dom.GetObject('Gestern Luftfeuchte Max').State(dp_hum_max_today.Value());
  x = dom.GetObject('Gestern Luftfeuchte Min').State(dp_hum_min_today.Value());
  x = dom.GetObject('Gestern Wind Max').State(dp_wind_max_today.Value());
  x = dom.GetObject('Gestern Regen').State(dp_rain_today.Value());

  dp_temp_max_today.State(temp);
  dp_temp_min_today.State(temp);
  dp_hum_max_today.State(humidity);	
  dp_hum_min_today.State(humidity);
  dp_wind_max_today.State(wind);
  dp_rain_today.State(0);
}

Viele Grüße,
Sammy

dpt
Beiträge: 9
Registriert: 31.08.2011, 10:38

Re: OC3 Kombisensor Regenmenge

Beitrag von dpt » 03.01.2012, 13:19

roccobs2 hat geschrieben:hmm bei mir funktioniert das leider auch nicht. Weiß jmd woran das liegen kann???
[/quote]

Was ich ändern würde ist im oberen Bild auf "auslösen bei aktualisierung"

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: OC3 Kombisensor Regenmenge

Beitrag von anli » 03.01.2012, 13:28

Ja, das würde ich auch ändern. Und dann schauen, dass die Variablen alle nur einmal angelegt sind und das Programm aktiv ist.
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

roccobs2
Beiträge: 76
Registriert: 01.08.2011, 13:55

Re: OC3 Kombisensor Regenmenge

Beitrag von roccobs2 » 03.01.2012, 13:38

Ja super jetzt siehts schon ein bißchen besser aus. Aber leider noch nihct perfekt.

Bild

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: OC3 Kombisensor Regenmenge

Beitrag von anli » 03.01.2012, 13:58

Ja, das sieht gut aus. Woran lag es denn jetzt (für die Nachwelt, eventuell passiert jemandem das ja noch einmal)?
Das sich die Minimal-Werte am ersten Tag nicht ändern ist normal (oder hast Du aktuell Temperaturen kleiner -40.0°C oder eine Luftfeuchtigkeit kleiner 0% ;-) ?) - ab heute 24h sollte das dann gehen.
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

roccobs2
Beiträge: 76
Registriert: 01.08.2011, 13:55

Re: OC3 Kombisensor Regenmenge

Beitrag von roccobs2 » 03.01.2012, 14:11

Das mit dem Fehler "auslösen bei aktualisierung" musste ich nur ändern. Und siehe da ..... es geht.... :-)

Markusd_1000
Beiträge: 3
Registriert: 01.01.2011, 12:55

Re: OC3 Kombisensor Regenmenge

Beitrag von Markusd_1000 » 04.01.2012, 10:01

Hallo zusammen,
habe das selbe Problem wie roccobus2 hatte. Habe das selbe Programm und auch das gleiche Skript.
Hat da jemand noch eine Idee was ich falschgemacht habe.

MfG Markus

wari
Beiträge: 66
Registriert: 23.12.2011, 07:54
Hat sich bedankt: 1 Mal

Re: OC3 Kombisensor Regenmenge

Beitrag von wari » 04.01.2012, 10:26

Hallo zusammen,

ich bin hier als Anfänger auch schwer mit dem Script, Programm und Systemvariablen am Kämpfen und hab es leider nicht zum Laufen gebracht.
Daher hab ich erst einmal ein paar Fragen an euch:

1. Muß ich unbedingt alle Systemvariablen anlegen, damit das Skript funktioniert, auch wenn mich z.B. die Luftfeuchte nicht interessiert?

2. Gibt es beim Anlegen der Systemvariablen für die Werte (Min/Max) bestimmte Vorgaben,
oder müssen diese einfach nur realistisch sein (z.B. Luftfeuchte zwischen 0-100)

3. Ich hatte auch den o.g. Fehler im Programm ("auslösen bei Aktualisierung") und diesen korrigiert. Dass dann die Min.-Werte erst am nächsten Tag
korrekt angezeigt werden können, hab ich verstanden. Aber die max. Werte (z.b.Wind)
sollte ich doch nach dem nächsten Senden des Außensensors angezeigt bekommen, oder? (was bei mir leider nicht der Fall ist)

4. Muss ich die, bei der Installation des Außensensor automatisch vorhandenen, systeminternen Programme
inkl. Skripte abschalten (Regentagesmenge aktualisieren/zurücksetzen), oder hat das keinen Einfluss?

Mehr Fragen zur Fehlersuche fallen mir im Moment nicht ein.

Danke für eure Unterstützung

Gruss wari

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: OC3 Kombisensor Regenmenge

Beitrag von anli » 04.01.2012, 11:52

wari hat geschrieben: 1. Muß ich unbedingt alle Systemvariablen anlegen, damit das Skript funktioniert, auch wenn mich z.B. die Luftfeuchte nicht interessiert?
Ja. Entweder anlegen oder im Skript auskommentieren.
wari hat geschrieben: 2. Gibt es beim Anlegen der Systemvariablen für die Werte (Min/Max) bestimmte Vorgaben, oder müssen diese einfach nur realistisch sein (z.B. Luftfeuchte zwischen 0-100)
Diese müssen realistisch sein.
wari hat geschrieben: Aber die max. Werte (z.b.Wind) sollte ich doch nach dem nächsten Senden des Außensensors angezeigt bekommen, oder? (was bei mir leider nicht der Fall ist)
Ja, wenn die aktuelle Windgeschwindigkeit größer ist und das Skript komplett durchläuft.
wari hat geschrieben: 4. Muss ich die, bei der Installation des Außensensor automatisch vorhandenen, systeminternen Programme inkl. Skripte abschalten (Regentagesmenge aktualisieren/zurücksetzen), oder hat das keinen Einfluss?
Das hat nicht zwangsläufig Einfluss, wenn Du nicht auf dieselben Variablen zugreifst (Im Standard-Skript müsste alles laufen, ich habe mir zur Vereinfachung das alles in ein Skript geschrieben).

Damit ich erkennen kann, ob das Skript durchläuft, habe ich mir eine Systemvariable "letzte Aktualisierung" (Typ "Zeichenkette") angelegt, die ganz am Ende des Skripts aktualisiert wird:

Code: Alles auswählen

      object last_change = dom.GetObject("letzte Aktualisierung");
      time ts = dp_temp_max_today.Timestamp();
      var vts = last_change.State(ts.Format("%d.%m.%Y %T"));
startseite.jpg
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

Antworten

Zurück zu „HomeMatic Aktoren und Sensoren (klassisch)“