Package org.openhab.core.items

Examples of org.openhab.core.items.Item


      int indexCloseBracket = label.indexOf("]");
     
      State state = null;
      String formatPattern = label.substring(indexOpenBracket + 1, indexCloseBracket);
      try {
        Item item = getItem(itemName);
        // TODO: TEE: we should find a more generic solution here! When
        // using indexes in formatString this 'contains' will fail again
        // and will cause an 'java.util.IllegalFormatConversionException:
        // d != java.lang.String' later on when trying to format a String
        // as %d (number).
        if (label.contains("%d")) {
          // a number is requested
          state = item.getState();
          if(!(state instanceof DecimalType)) {
            state = item.getStateAs(DecimalType.class);
          }
        } else {
          state = item.getState();
        }
      } catch (ItemNotFoundException e) {
        logger.error("Cannot retrieve item for widget {}", w.eClass().getInstanceTypeName());
      }
View Full Code Here


   */
  public State getState(Widget w) {
    String itemName = w.getItem();
    if(itemName!=null) {
      try {
        Item item = getItem(itemName);
        return item.getState();
      } catch (ItemNotFoundException e) {
        logger.error("Cannot retrieve item '{}' for widget {}", new String[] { itemName, w.eClass().getInstanceTypeName() });
      }
    }
    return UnDefType.UNDEF;
View Full Code Here

   */
  private EList<Widget> getDynamicGroupChildren(Group group) {
    EList<Widget> children = new BasicEList<Widget>();
    String itemName = group.getItem();
    try {
      Item item = getItem(itemName);
      if(item instanceof GroupItem) {
        GroupItem groupItem = (GroupItem) item;
        for(Item member : groupItem.getMembers()) {
          Widget widget = getDefaultWidget(member.getClass(), member.getName());
          if(widget!=null) {
            widget.setItem(member.getName());
            children.add(widget);
          }         
        }
      } else {
        logger.warn("Item '{}' is not a group.", item.getName());
      }
    } catch (ItemNotFoundException e) {
      logger.warn("Group '{}' could not be found.", group.getLabel(), e);
    }
    return children;
View Full Code Here

    }
  }

  private Class<? extends Item> getItemType(String itemName) {
    try {
      Item item = itemRegistry.getItem(itemName);
      return item.getClass();
    } catch (ItemNotFoundException e) {
      return null;
    }
  }
View Full Code Here

    }
  }

  public State getItemState(String itemName) {
    try {
      Item item = itemRegistry.getItem(itemName);
      return item.getState();
    } catch (ItemNotFoundException e) {
      return null;
    }
  }
View Full Code Here

        // If there's an item defined here, get it's state
        if(color.getItem() != null) {
          // Try and find the item to test.
          // If it's not found, return visible
          Item item;
          try {
            item = itemRegistry.getItem(color.getItem());

            // Get the item state
            cmpState = item.getState();
          } catch (ItemNotFoundException e) {
            logger.warn("Cannot retrieve color item {} for widget", color.getItem());
          }
        }
View Full Code Here

      if(rule.getState() == null)
        continue;
     
      // Try and find the item to test.
      // If it's not found, return visible
      Item item;
      try {
        item = itemRegistry.getItem(rule.getItem());
      } catch (ItemNotFoundException e) {
        logger.error("Cannot retrieve visibility item {} for widget {}", rule.getItem(), w.eClass().getInstanceTypeName());

        // Default to visible!
        return true;
      }

      // Get the item state
      State state = item.getState();

      // Handle the sign
      String value;
      if(rule.getSign() != null)
        value = rule.getSign() + rule.getState();
View Full Code Here

    eventQueue.add(new StateEvent(item, state));
  }

  public void receiveCommand(String itemName, Command command) {
    try {
      Item item = itemRegistry.getItem(itemName);
      eventQueue.add(new CommandEvent(item, command));
    } catch (ItemNotFoundException e) {}
  }
View Full Code Here

    ArrayList<RuleEvent> clonedQueue = new ArrayList<RuleEvent>(eventQueue);
    eventQueue.clear();
   
    // now add all recent events to the session
    for(RuleEvent event : clonedQueue) {
      Item item = event.getItem();
      if(ksession!=null && item!=null) {
        FactHandle factHandle = factHandleMap.get(item.getName());
        if(factHandle!=null) {
          ksession.update(factHandle, item);
        }
        ksession.insert(event);
      }
View Full Code Here

    private void processEEPs(EnoceanBindingProvider enoceanBindingProvider, String itemName) {
        EnoceanParameterAddress parameterAddress = enoceanBindingProvider.getParameterAddress(itemName);
        EEPId eep = enoceanBindingProvider.getEEP(itemName);
        esp3Host.addDeviceProfile(parameterAddress.getEnoceanDeviceId(), eep);
        Item item = enoceanBindingProvider.getItem(itemName);
        if (profiles.containsKey(parameterAddress.getAsString())) {
            Profile profile = profiles.get(parameterAddress.getAsString());
            profile.removeItem(item);
        }
        Class<Profile> customProfileClass = enoceanBindingProvider.getCustomProfile(itemName);
        if (customProfileClass != null) {
            Constructor<Profile> constructor;
            Profile profile;
            try {
                constructor = customProfileClass.getConstructor(Item.class, EventPublisher.class);
                profile = constructor.newInstance(item, eventPublisher);
                addProfile(item, parameterAddress, profile);
            } catch (Exception e) {
                logger.error("Could not create class for profile " + customProfileClass, e);
            }
        } else if (EEPId.EEP_F6_02_01.equals(eep) || EEPId.EEP_F6_10_00.equals(eep)) {
            if (item.getClass().equals(RollershutterItem.class)) {
                RollershutterProfile profile = new RollershutterProfile(item, eventPublisher);
                addProfile(item, parameterAddress, profile);
            }
            if (item.getClass().equals(DimmerItem.class)) {
                DimmerOnOffProfile profile = new DimmerOnOffProfile(item, eventPublisher);
                addProfile(item, parameterAddress, profile);
            }
            if (item.getClass().equals(SwitchItem.class) && parameterAddress.getParameterId() == null) {
                SwitchOnOffProfile profile = new SwitchOnOffProfile(item, eventPublisher);
                addProfile(item, parameterAddress, profile);
            }
            if (item.getClass().equals(StringItem.class) && EEPId.EEP_F6_10_00.equals(eep)) {
                WindowHandleProfile profile = new WindowHandleProfile(item, eventPublisher);
                addProfile(item, parameterAddress, profile);
            }
        }
    }
View Full Code Here

TOP

Related Classes of org.openhab.core.items.Item

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.