Ja, alles gut...
Ich bin erstmal wieder zurück auf das Programm von gestern (Stufen bleiben "ein"). Das läuft auch
Ich habe noch ein Programm aktiv, wo ich nach umgewälztem Volumen X dann die Pumpe auf "Stop" schalte und eine Systemvariable auf "manuellen" Betrieb.
Diese Systemvariable habe ich als Bedingung immer in dem Schaltprogramm der Pumpe abgefragt > wenn Betrieb auf "Automatik", dann schalte > wenn "manuell" dann nichts machen.
Täglich um 0.00 Uhr läuft ein Programm, welches die 3 Betriebsstundenzähler auf "0" setzt und den Pumpenbetrieb wieder auf "Automatik", damit es bei ausreichendem Sonnenschein wieder los geht.
Damit blieb aber ebenfalls der Schaltkontakt "STOP" geschlossen und dein Skript von gestern konnte nicht laufen.
Ich habe den dann händisch ausgeschaltet und trotzdem kam das Skript nicht zum Laufen. Leider bin ich hier jetzt an der Stelle, wo ich selbst nicht nachvollziehen kann, warum...
Und folgender Punkt ist mir noch aufgefallen: Die Variable "Poolpumpe Stufe" wird im Skript gesetzt und zum Schalten verwendet. Sie spiegelt aber nicht immer den "wahren" Stand der geschalteten Stufe wieder. Heut Morgen war es ja so, dass der Kontakt für "Stop" aktiviert war - in der systemvariable stand aber "N3"...
Das heißt, ich habe bei Schalten per Stromstoß keinen wirklichen Status des Schaltaktors, welcher gerade offen / geschlossen ist.
Das ist aus dem CUxD-Full-Syslog:
Code: Alles auswählen
Jul 9 09:50:02 raspberry-matic local0.err ReGaHss: ERROR: ScriptRuntimeError: string stufen_p = "0,300,550,875"; ! Leistungen der einzelnen Pumpenstufen integer i = 0; ! Zählvariable für Schleife boolean control; ! Schaltzustände Aktorkanäle integer stufe_akt; ! Pumpenstufe aktuell integer stufe_neu = 0; ! Pumpenstufe neu integer p_ueber = 50; ! (verbleibende) Überschussleistung var p_akt;
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
stenelement für Schleif
Jul 9 09:52:01 raspberry-matic local0.err ReGaHss: ERROR: ScriptRuntimeError: string stufen_p = "0,300,550,875"; ! Leistungen der einzelnen Pumpenstufen integer i = 0; ! Zählvariable für Schleife boolean control; ! Schaltzustände Aktorkanäle integer stufe_akt; ! Pumpenstufe aktuell integer stufe_neu = 0; ! Pumpenstufe neu integer p_ueber = 50; ! (verbleibende) Überschussleistung var p_akt;
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
stenelement für Schleif
Jul 9 09:54:01 raspberry-matic local0.err ReGaHss: ERROR: ScriptRuntimeError: string stufen_p = "0,300,550,875"; ! Leistungen der einzelnen Pumpenstufen integer i = 0; ! Zählvariable für Schleife boolean control; ! Schaltzustände Aktorkanäle integer stufe_akt; ! Pumpenstufe aktuell integer stufe_neu = 0; ! Pumpenstufe neu integer p_ueber = 50; ! (verbleibende) Überschussleistung var p_akt;
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
stenelement für Schleif
Jul 9 09:56:01 raspberry-matic local0.err ReGaHss: ERROR: ScriptRuntimeError: string stufen_p = "0,300,550,875"; ! Leistungen der einzelnen Pumpenstufen integer i = 0; ! Zählvariable für Schleife boolean control; ! Schaltzustände Aktorkanäle integer stufe_akt; ! Pumpenstufe aktuell integer stufe_neu = 0; ! Pumpenstufe neu integer p_ueber = 50; ! (verbleibende) Überschussleistung var p_akt;
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
stenelement für Schleif
Jul 9 10:13:54 raspberry-matic local0.err ReGaHss: ERROR: ScriptRuntimeError: string stufen_p = "0,300,550,875"; ! Leistungen der einzelnen Pumpenstufen integer i = 0; ! Zählvariable für Schleife boolean control; ! Schaltzustände Aktorkanäle integer stufe_akt; ! Pumpenstufe aktuell integer stufe_neu = 0; ! Pumpenstufe neu integer p_ueber = 50; ! (verbleibende) Überschussleistung var p_akt;
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) WriteLine("Variable ue_mess= "#ue_mess); stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByInd
x(",", stufe_akt).ToFlo
Jul 9 10:15:54 raspberry-matic local0.err ReGaHss: ERROR: ScriptRuntimeError: string stufen_p = "0,300,550,875"; ! Leistungen der einzelnen Pumpenstufen integer i = 0; ! Zählvariable für Schleife boolean control; ! Schaltzustände Aktorkanäle integer stufe_akt; ! Pumpenstufe aktuell integer stufe_neu = 0; ! Pumpenstufe neu integer p_ueber = 50; ! (verbleibende) Überschussleistung var p_akt;
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) WriteLine("Variable ue_mess= "#ue_mess); stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByInd
x(",", stufe_akt).ToFlo
Jul 9 10:21:16 raspberry-matic daemon.warn cuxd[8602]: getValue(CUX9001002:1.TIME_ON_SUM) firmware differ '2.8' ''!
Jul 9 10:21:17 raspberry-matic daemon.warn cuxd[8602]: getValue(CUX9001002:1.TIME_ON_SUM) firmware differ '2.8' ''!
Jul 9 10:21:44 raspberry-matic daemon.warn cuxd[8602]: getValue(CUX9001003:1.TIME_ON_SUM) firmware differ '2.8' ''!
Jul 9 10:21:45 raspberry-matic daemon.warn cuxd[8602]: getValue(CUX9001003:1.TIME_ON_SUM) firmware differ '2.8' ''!
Jul 9 10:22:11 raspberry-matic daemon.warn cuxd[8602]: getValue(CUX9001004:1.TIME_ON_SUM) firmware differ '2.8' ''!
Jul 9 10:22:12 raspberry-matic daemon.warn cuxd[8602]: getValue(CUX9001004:1.TIME_ON_SUM) firmware differ '2.8' ''!
Jul 9 10:27:55 raspberry-matic daemon.info cuxd[8602]: save paramsets(/usr/local/addons/cuxd/cuxd.ps) size:6724 trigger(-344s) from CUX9001004
Das aus dem CUxD-Syslog:
Code: Alles auswählen
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByIndex(",", stufe_akt).ToFloat(); ! erstes L
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) WriteLine("Variable ue_mess= "#ue_mess); stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByInd
! Leistung Pumpe aktuell var p; ! Leistung der Pumpenstufe string cuxd_bsz = "9001002,9001003,9001004"; ! Seriennummern der CUxD-Wrapper-Devices eintragen [Stufe 1,2,3] var ue_mess = dom.GetObject("CUxD.CUX9000001:1.MEAN").Value(); ! gemessene Überschussleistung (Deine var ueberschuss_gemittelt) WriteLine("Variable ue_mess= "#ue_mess); stufe_akt = dom.GetObject(ID_SYSTEM_VARIABLES).Get("Poolpumpe Stufe").Value().ToInteger(); p_akt = stufen_p.StrValueByInd
Jul 9 10:21:16 raspberry-matic daemon.warn cuxd[8602]: getValue(CUX9001002:1.TIME_ON_SUM) firmware differ '2.8' ''!
Jul 9 10:21:17 raspberry-matic daemon.warn cuxd[8602]: getValue(CUX9001002:1.TIME_ON_SUM) firmware differ '2.8' ''!
Jul 9 10:21:44 raspberry-matic daemon.warn cuxd[8602]: getValue(CUX9001003:1.TIME_ON_SUM) firmware differ '2.8' ''!
Jul 9 10:21:45 raspberry-matic daemon.warn cuxd[8602]: getValue(CUX9001003:1.TIME_ON_SUM) firmware differ '2.8' ''!
Jul 9 10:22:11 raspberry-matic daemon.warn cuxd[8602]: getValue(CUX9001004:1.TIME_ON_SUM) firmware differ '2.8' ''!
Jul 9 10:22:12 raspberry-matic daemon.warn cuxd[8602]: getValue(CUX9001004:1.TIME_ON_SUM) firmware differ '2.8' ''!
Jul 9 10:27:55 raspberry-matic daemon.info cuxd[8602]: save paramsets(/usr/local/addons/cuxd/cuxd.ps) size:6724 trigger(-344s) from CUX9001004