use of org.openhab.binding.astro.AstroBindingProvider in project openhab1-addons by openhab.
the class PlanetPublisher method republishItem.
/**
* Republish the state of the item.
*/
public void republishItem(String itemName) {
AstroBindingConfig bindingConfig = null;
for (AstroBindingProvider provider : context.getProviders()) {
if (bindingConfig == null) {
bindingConfig = provider.getBindingFor(itemName);
}
}
if (bindingConfig == null) {
logger.warn("Astro binding for item {} not found", itemName);
} else {
itemCache.remove(itemName);
publish(bindingConfig.getPlanetName());
}
}
use of org.openhab.binding.astro.AstroBindingProvider in project openhab1-addons by openhab.
the class ItemIterator method iterate.
/**
* Iterates through all items and calls the callback.
*/
public void iterate(ItemIteratorCallback callback) {
for (AstroBindingProvider provider : context.getProviders()) {
for (String itemName : provider.getItemNames()) {
AstroBindingConfig bindingConfig = provider.getBindingFor(itemName);
Item item = provider.getItem(itemName);
callback.next(bindingConfig, item);
}
}
}
use of org.openhab.binding.astro.AstroBindingProvider in project openhab1-addons by openhab.
the class JobScheduler method isBindingForIntervalJobAvailable.
/**
* Checks if a binding for the IntervalJob is available.
*/
private boolean isBindingForIntervalJobAvailable() {
List<AstroBindingConfig> intervalBindings = new ArrayList<AstroBindingConfig>();
intervalBindings.add(new AstroBindingConfig(PlanetName.SUN, "position", "azimuth"));
intervalBindings.add(new AstroBindingConfig(PlanetName.SUN, "position", "elevation"));
intervalBindings.add(new AstroBindingConfig(PlanetName.MOON, "distance", "kilometer"));
intervalBindings.add(new AstroBindingConfig(PlanetName.MOON, "distance", "miles"));
intervalBindings.add(new AstroBindingConfig(PlanetName.MOON, "distance", "date"));
intervalBindings.add(new AstroBindingConfig(PlanetName.MOON, "phase", "illumination"));
intervalBindings.add(new AstroBindingConfig(PlanetName.MOON, "zodiac", "sign"));
intervalBindings.add(new AstroBindingConfig(PlanetName.MOON, "position", "azimuth"));
intervalBindings.add(new AstroBindingConfig(PlanetName.MOON, "position", "elevation"));
for (AstroBindingProvider provider : context.getProviders()) {
for (AstroBindingConfig astroBindingConfig : intervalBindings) {
if (provider.hasBinding(astroBindingConfig)) {
return true;
}
}
}
return false;
}
Aggregations