Advertisement
Guest User

Batterielandstand

a guest
Feb 23rd, 2018
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. ! Script für Warnung bei niedrigen Batterie - Ladestand
  2. ! von Uwe Debacher, Version vom 3.05.2017
  3. ! 1. Ein Gewerk "Batteriebetrieb" anlegen
  4. ! 2. Alle zu überwachenden Objekte dem Gewerk zuordnen
  5. ! 3. Das Skript per Zeitmodul 1x täglich ausführen
  6.  
  7. var gewerk = dom.GetObject("Batteriebetrieb");
  8. string itemID;
  9. string text = "";
  10. integer counter = 0;
  11.  
  12. foreach(itemID, gewerk.EnumUsedIDs()) {
  13. var device = dom.GetObject(dom.GetObject(itemID).Device());
  14.  
  15. var ch = device.Channels().GetAt(0);
  16.  
  17. var dp = ch.DPByHssDP("LOWBAT");
  18. if (!dp) {
  19. var dp = ch.DPByHssDP("LOW_BAT");
  20. }
  21. if ( dp.State() && dp.Value() ) {
  22. text = text # "- " # ch.Name().StrValueByIndex(":", 0) # "\r\n";
  23. counter = counter + 1;
  24. }
  25. }
  26.  
  27. string mailto = "alarmanlage@schellenberger.biz";
  28. string sDate = system.Date("%d.%m.%Y %H:%M:%S");
  29. string sendmail = "Prüfung des Ladestandes der Batterien vom " # sDate # ".\r\n";
  30.  
  31. ! Systemvariable holen
  32. var sv = dom.GetObject("Batteriezustand");
  33.  
  34. if ( counter > 0 ) {
  35. sendmail = sendmail # "Der Ladezustand folgender Batterien ist niedrig: \r\n\r\n" # text;
  36. sendmail = sendmail # "\r\nBitte tausche die Batterien zeitnah aus.";
  37. string sendbetreff = "Batterie - Warnung";
  38. ! Systemvariable Wert setzen
  39. sv.State(false);
  40. }
  41. else {
  42. sendmail = sendmail # "Der Ladezustand aller Batterien ist in Ordnung.\r\n\r\n";
  43. string sendbetreff = "Batterie - OK";
  44. ! Systemvariable Wert setzen
  45. sv.State(true);
  46. }
  47.  
  48. dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/etc/config/addons/mh/email.sh '" # sendbetreff # "' '" # sendmail # "' '" # mailto #"'");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement