Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Simple Solar Panel Client - Uses only available methods
- local modem = peripheral.find("modem")
- local solar = peripheral.wrap("top")
- if not modem then
- print("No modem found!")
- return
- end
- if not solar then
- print("No solar panel found on top!")
- return
- end
- -- Open wireless channels
- modem.open(100)
- modem.open(101)
- local computerID = os.getComputerID()
- print("Solar Client " .. computerID .. " ready")
- while true do
- local event, side, channel, replyChannel, message = os.pullEvent("modem_message")
- if channel == 100 and message == "REQUEST_DATA" then
- -- Get only the data we actually have
- local energy = solar.getEnergy() or 0
- local maxEnergy = solar.getMaxEnergy() or 0
- local energyNeeded = solar.getEnergyNeeded() or 0
- local maxOutput = solar.getMaxOutput() or 0
- local data = {
- id = computerID,
- energy = energy,
- maxEnergy = maxEnergy,
- energyNeeded = energyNeeded,
- maxOutput = maxOutput,
- timestamp = os.time()
- }
- modem.transmit(101, 100, data)
- print("ID:" .. computerID .. " Energy:" .. energy .. "/" .. maxEnergy .. " Need:" .. energyNeeded)
- end
- sleep(0.1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement