Many Internet of Things (IoT) scenarios, such as smart cities, wild life monitoring, or smart agriculture, involve thousands of batterypowered devices. The disposal and replacement of such batteries represent an important economical and environmental cost. To realize Green IoT solutions, it is therefore desirable to adopt battery-less energy-neutral devices that can harvest power from renewable sources, such as solar or wind energy and store it in much more sustainable capacitors. The limited and inconstant energy supply and the limited energy storage capacity of such devices, however, require special care in the design of communication and computational processes, which have a major impact on the energy consumption of the devices. In this work, we explore multiple elements that could affect the device energy and communication capabilities of LoRaWAN devices. We propose and compare different energy-aware packet scheduling algorithms, and test them in a scenario where values for the harvested power are collected from real testbeds. We show that the number of successfully transmitted packets can be doubled by using an energy-aware design approach.