Advertisement
MagmaLP

startup

Oct 18th, 2023 (edited)
862
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. os.loadAPI("ocs/apis/sensor")
  2. sen = sensor.wrap("bottom")
  3. mon = peripheral.wrap("left")
  4. state = false
  5.  
  6. mon.setTextScale(1)
  7. mon.clear()
  8.  
  9.  
  10. function formatNumber(number)
  11.     local formatted = tostring(number)
  12.     local k = #formatted % 3
  13.     if k == 0 then k = 3 end
  14.     local result = formatted:sub(1, k)
  15.     while k < #formatted do
  16.         result = result .. "." .. formatted:sub(k + 1, k + 3)
  17.         k = k + 3
  18.     end
  19.     return result
  20. end
  21.  
  22.  
  23.  
  24. while true do
  25.     s = sen.getTargets()
  26.     function getS()
  27.         for v, k  in pairs(s) do
  28.             if k.Name == "ME Wireless Access Point" then  
  29.                 target = v
  30.             end
  31.         end
  32.         return target
  33.     end
  34.  
  35.     f = getS()
  36.     s1 = sen.getTargetDetails(target)
  37.    
  38.     for v, k in pairs(s1.Items) do
  39.         mon.setTextColor(colors.yellow)
  40.         if k.Name == "Low Voltage Solar Array" then
  41.             if state == false then
  42.                 lv1 = k.Size
  43.                 print("LV Rechenwert 1: "..lv1)
  44.             elseif state == true then
  45.                 lv2 = k.Size   
  46.                 print("LV IstWert 2:    "..lv2)
  47.                 calc = (lv2 - lv1) * 6          --LVs pro Minute
  48.                 calc2 = calc * 60               --LVs pro Stunde
  49.                
  50.                 fN1 = formatNumber(calc)
  51.                 fN2 = formatNumber(calc2)
  52.                 fN3 = formatNumber(lv2)
  53.                 if calc >= 0 then
  54.                     mon.setCursorPos(2,2)
  55.                     mon.write("LV Solars/m:   "..fN1 .."                ")
  56.                 else
  57.                     mon.setCursorPos(2,2)
  58.                     mon.write("LV Solars/m:   0                         ")                    
  59.                 end
  60.                 if calc2 >= 0 then
  61.                     mon.setCursorPos(2,3)
  62.                     mon.write("LV Solars/h:   "..fN2 .."                ")
  63.                 else
  64.                     mon.setCursorPos(2,3)
  65.                     mon.write("LV Solars/h:   0                         ")                    
  66.                 end
  67.                 mon.setCursorPos(2,8)
  68.                 mon.write("LVs on stock:  "..fN3 .."                ")
  69.             else
  70.                 print("Error(1)")
  71.             end
  72.  
  73.         elseif k.Name == "UU-Matter" then
  74.             if state == false then
  75.                 uu1 = k.Size
  76.                 print("UU Rechenwert 1: "..uu1)
  77.             elseif state == true then
  78.                 uu2 = k.Size
  79.                 print("UU IstWert 2:    "..uu2)
  80.                 calc = (uu2 - uu1) * 6
  81.                 calc2 = calc * 60
  82.                
  83.                 fN4 = formatNumber(calc)
  84.                 fN5 = formatNumber(calc2)
  85.                 fN6 = formatNumber(uu2)
  86.                 if calc >= 0 then
  87.                     mon.setCursorPos(2,5)
  88.                     mon.write("UU-Matter/m:   "..fN4 .."                ")
  89.                 else
  90.                     mon.setCursorPos(2,5)
  91.                     mon.write("UU-Matter/m:   0                         ")  
  92.                 end
  93.                 if calc2 >= 0 then
  94.                     mon.setCursorPos(2,6)
  95.                     mon.write("UU-Matter/h:   "..fN5 .."                ")
  96.                 else
  97.                     mon.setCursorPos(2,6)
  98.                     mon.write("UU-Matter/h:   0                         ")  
  99.                 end
  100.                 mon.setCursorPos(2,10)
  101.                 mon.write("UU on stock:   "..fN6 .."                ")
  102.             else
  103.                 print("Error(1)")
  104.             end
  105.         elseif k.Name == "High Voltage Solar Array" then
  106.             if state == true then
  107.                 hv = k.Size
  108.                 print("HV IstWert:      "..hv)
  109.                
  110.                 fN7 = formatNumber(hv)
  111.                
  112.                 mon.setCursorPos(2,9)
  113.                 mon.write("HVs on stock:  "..fN7 .."                ")
  114.             end
  115.         end
  116.     end
  117.     if state == true then
  118.         state = false
  119.         for i = 20,11,-1 do
  120.             mon.setTextColor(colors.lightGray)
  121.             if i <= 9 then
  122.                 mon.setCursorPos(18,12)
  123.                 mon.write("reboot in:  "..i)
  124.             end
  125.             mon.setCursorPos(17,12)
  126.             mon.write("reboot in: "..i)
  127.             sleep(1)
  128.         end
  129.         print(" ")
  130.         print("Neue Berechnung gestartet:")
  131.     else
  132.         state = true
  133.         for i = 10,1,-1 do
  134.             mon.setTextColor(colors.lightGray)
  135.             if i <= 9 then
  136.                 mon.setCursorPos(18,12)
  137.                 mon.write("reboot in:  "..i)
  138.             end
  139.             mon.setCursorPos(17,12)
  140.             mon.write("reboot in: "..i)
  141.             sleep(1)
  142.         end
  143.     end
  144. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement