Search in sources :

Example 1 with AstroBindingProvider

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());
    }
}
Also used : AstroBindingProvider(org.openhab.binding.astro.AstroBindingProvider) AstroBindingConfig(org.openhab.binding.astro.internal.config.AstroBindingConfig)

Example 2 with AstroBindingProvider

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);
        }
    }
}
Also used : Item(org.openhab.core.items.Item) AstroBindingProvider(org.openhab.binding.astro.AstroBindingProvider) AstroBindingConfig(org.openhab.binding.astro.internal.config.AstroBindingConfig)

Example 3 with AstroBindingProvider

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;
}
Also used : ArrayList(java.util.ArrayList) AstroBindingProvider(org.openhab.binding.astro.AstroBindingProvider) AstroBindingConfig(org.openhab.binding.astro.internal.config.AstroBindingConfig)

Aggregations

AstroBindingProvider (org.openhab.binding.astro.AstroBindingProvider)3 AstroBindingConfig (org.openhab.binding.astro.internal.config.AstroBindingConfig)3 ArrayList (java.util.ArrayList)1 Item (org.openhab.core.items.Item)1