It is a list and yes I am using an .add()
method. Below you can see the whole code:
import org.eclipse.smarthome.core.types.Command
import org.eclipse.smarthome.core.types.*
import java.util.List
import java.awt.Color.*
import java.util.ArrayList
var List<GenericItem> hueLampsMultimediaColor = null
var List<GenericItem> hueLampsMultimediaToggle = null
var List<GenericItem> hueLampsMultimediaCT = null
var List<GenericItem> hueLampsMultimediaBright = null
var List<HSBType> rainbowColors = null
rule "Initialize"
when
// Rule is executed every time system is restarted or rules-file is reloaded
System started
then
// Initialize array with Multimedia lamps color items in correct order
if(hueLampsMultimediaColor === null){
hueLampsMultimediaColor = new ArrayList<GenericItem>
hueLampsMultimediaColor.add(iMultimedia_Hue_Lampe1_Farbe)
hueLampsMultimediaColor.add(iMultimedia_Hue_Lampe2_Farbe)
hueLampsMultimediaColor.add(iMultimedia_Hue_Lampe3_Farbe)
hueLampsMultimediaColor.add(iMultimedia_Hue_Lampe4_Farbe)
hueLampsMultimediaColor.add(iMultimedia_Hue_Lampe5_Farbe)
hueLampsMultimediaColor.add(iMultimedia_Hue_Lampe6_Farbe)
logInfo("rules", "List: hueLampsMultimediaColor initialized")
}
// Initialize array with Multimedia lamps toggle items in correct order
if(hueLampsMultimediaToggle === null){
hueLampsMultimediaToggle = new ArrayList<GenericItem>
hueLampsMultimediaToggle.add(iMultimedia_Hue_Lampe1_Schalter)
hueLampsMultimediaToggle.add(iMultimedia_Hue_Lampe2_Schalter)
hueLampsMultimediaToggle.add(iMultimedia_Hue_Lampe3_Schalter)
hueLampsMultimediaToggle.add(iMultimedia_Hue_Lampe4_Schalter)
hueLampsMultimediaToggle.add(iMultimedia_Hue_Lampe5_Schalter)
hueLampsMultimediaToggle.add(iMultimedia_Hue_Lampe6_Schalter)
logInfo("rules", "List: hueLampsMultimediaToggle initialized")
}
// Initialize array with Multimedia lamps temperature items in correct order
if(hueLampsMultimediaCT === null){
hueLampsMultimediaCT = new ArrayList<GenericItem>
hueLampsMultimediaCT.add(iMultimedia_Hue_Lampe1_Farbtemperatur)
hueLampsMultimediaCT.add(iMultimedia_Hue_Lampe2_Farbtemperatur)
hueLampsMultimediaCT.add(iMultimedia_Hue_Lampe3_Farbtemperatur)
hueLampsMultimediaCT.add(iMultimedia_Hue_Lampe4_Farbtemperatur)
hueLampsMultimediaCT.add(iMultimedia_Hue_Lampe5_Farbtemperatur)
hueLampsMultimediaCT.add(iMultimedia_Hue_Lampe6_Farbtemperatur)
logInfo("rules", "List: hueLampsMultimediaTemperature initialized")
}
// Initialize array with Multimedia lamps brightness items in correct order
if(hueLampsMultimediaBright === null){
hueLampsMultimediaBright = new ArrayList<GenericItem>
hueLampsMultimediaBright.add(iMultimedia_Hue_Lampe1_Helligkeit)
hueLampsMultimediaBright.add(iMultimedia_Hue_Lampe2_Helligkeit)
hueLampsMultimediaBright.add(iMultimedia_Hue_Lampe3_Helligkeit)
hueLampsMultimediaBright.add(iMultimedia_Hue_Lampe4_Helligkeit)
hueLampsMultimediaBright.add(iMultimedia_Hue_Lampe5_Helligkeit)
hueLampsMultimediaBright.add(iMultimedia_Hue_Lampe6_Helligkeit)
logInfo("rules", "List: hueLampsMultimediaBright initialized")
}
// Initialize hand selected rainbow colors
if(rainbowColors === null){
rainbowColors = new ArrayList<HSBType>
rainbowColors.add(HSBType.fromRGB(255,0,0))
rainbowColors.add(HSBType.fromRGB(255,127,0))
rainbowColors.add(HSBType.fromRGB(255,255,0))
rainbowColors.add(HSBType.fromRGB(127,255,0))
rainbowColors.add(HSBType.fromRGB(0,255,0))
rainbowColors.add(HSBType.fromRGB(0,255,127))
rainbowColors.add(HSBType.fromRGB(0,255,255))
rainbowColors.add(HSBType.fromRGB(0,127,255))
rainbowColors.add(HSBType.fromRGB(0,0,255))
rainbowColors.add(HSBType.fromRGB(127,0,255))
rainbowColors.add(HSBType.fromRGB(255,0,255))
rainbowColors.add(HSBType.fromRGB(255,0,127))
logInfo("rules", "List: rainbowColors initialized")
}
logInfo("rules", "Initialization of global states is done")
end
rule "MultimediaLampsON"
when
Item iMultimedia_Homematic_Drucktaster_Kurz1 changed to ON
then
for(var int i = 0; i < hueLampsMultimediaToggle.size(); i++){
hueLampsMultimediaToggle.get(i).sendCommand(ON)
}
Thread::sleep(100)
for(var int i = 0; i < hueLampsMultimediaBright.size(); i++){
hueLampsMultimediaBright.get(i).sendCommand(100)
}
Thread::sleep(100)
for(var int i = 0; i < hueLampsMultimediaColor.size(); i++){
hueLampsMultimediaColor.get(i).sendCommand(HSBType.WHITE)
}
logInfo("rules", "Executed Multimedia-lamps on")
end
rule "MultimediaLampsOFF"
when
Item iMultimedia_Homematic_Drucktaster_Lang1 changed to ON
then
for(var int i = 0; i < hueLampsMultimediaBright.size(); i++){
hueLampsMultimediaBright.get(i).sendCommand(100)
}
Thread::sleep(100)
for(var int i = 0; i < hueLampsMultimediaColor.size(); i++){
hueLampsMultimediaColor.get(i).sendCommand(HSBType.WHITE)
}
Thread::sleep(100)
for(var int i = 0; i < hueLampsMultimediaToggle.size(); i++){
hueLampsMultimediaToggle.get(i).sendCommand(OFF)
}
logInfo("rules", "Executed Multimedia-lamps off")
end
rule "OSColorGradient"
when
Item iMultimedia_Homematic_Drucktaster_Lang2 changed to ON
then
var int numberRepeats = 3
for(var int x = 0; x < numberRepeats; x++){
for(var int i = 0; i < rainbowColors.size(); i++){
for(var int j = 0; j < hueLampsMultimediaColor.size(); j++){
var HSBType hsb = rainbowColors.get(((i+j)%rainbowColors.size()))
hueLampsMultimediaColor.get(j).sendCommand(hsb)
Thread::sleep(100)
}
}
}
// Switch lamps off
Thread::sleep(100)
for(var int i = 0; i < hueLampsMultimediaBright.size(); i++){
hueLampsMultimediaBright.get(i).sendCommand(100)
}
Thread::sleep(100)
for(var int i = 0; i < hueLampsMultimediaColor.size(); i++){
hueLampsMultimediaColor.get(i).sendCommand(HSBType.WHITE)
}
Thread::sleep(100)
for(var int i = 0; i < hueLampsMultimediaToggle.size(); i++){
hueLampsMultimediaToggle.get(i).sendCommand(OFF)
}
logInfo("rules", "Executed one shot color gradient")
end
It is not an error message but a warn message to remain correct.
08:05:44.545 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Homematic_Drucktaster_Kurz1 changed from OFF to ON
08:05:44.582 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe1_Schalter' received command ON
08:05:44.619 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe2_Schalter' received command ON
08:05:44.645 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe3_Schalter' received command ON
08:05:44.655 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe1_Schalter predicted to become OFF
08:05:44.674 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe4_Schalter' received command ON
08:05:44.688 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe5_Schalter' received command ON
08:05:44.702 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe6_Schalter' received command ON
08:05:44.707 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe2_Schalter predicted to become OFF
08:05:44.713 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe3_Schalter predicted to become OFF
08:05:44.720 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe4_Schalter predicted to become OFF
08:05:44.727 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe5_Schalter predicted to become OFF
08:05:44.732 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe1_Schalter changed from OFF to ON
08:05:44.738 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe6_Schalter predicted to become OFF
08:05:44.745 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe2_Schalter changed from OFF to ON
08:05:44.759 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe1_Helligkeit' received command 100
08:05:44.764 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe3_Schalter changed from OFF to ON
08:05:44.781 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe2_Helligkeit' received command 100
08:05:44.786 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe4_Schalter changed from OFF to ON
08:05:44.800 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe3_Helligkeit' received command 100
08:05:44.814 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe4_Helligkeit' received command 100
08:05:44.827 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe5_Helligkeit' received command 100
08:05:44.832 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe5_Schalter changed from OFF to ON
08:05:44.845 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe6_Helligkeit' received command 100
08:05:44.850 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe1_Helligkeit predicted to become 0
08:05:44.855 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe6_Schalter changed from OFF to ON
08:05:44.863 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe2_Helligkeit predicted to become 0
08:05:44.870 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe3_Helligkeit predicted to become 0
08:05:44.876 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe4_Helligkeit predicted to become 0
08:05:44.883 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe5_Helligkeit predicted to become 0
08:05:44.890 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe6_Helligkeit predicted to become 0
08:05:44.895 [INFO ] [.eclipse.smarthome.model.script.rules] - Executed Multimedia-lamps on
08:05:44.906 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe1_Farbe' received command 0,0,100
08:05:44.921 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe2_Farbe' received command 0,0,100
08:05:44.927 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe1_Helligkeit changed from 0 to 100
08:05:44.945 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe3_Farbe' received command 0,0,100
08:05:44.950 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe2_Helligkeit changed from 0 to 100
08:05:44.965 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe4_Farbe' received command 0,0,100
08:05:44.979 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe5_Farbe' received command 0,0,100
08:05:44.983 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe3_Helligkeit changed from 0 to 100
08:05:44.998 [INFO ] [smarthome.event.ItemCommandEvent ] - Item 'iMultimedia_Hue_Lampe6_Farbe' received command 0,0,100
08:05:45.003 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe4_Helligkeit changed from 0 to 100
08:05:45.008 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe5_Helligkeit changed from 0 to 100
08:05:45.013 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe1_Farbe predicted to become 0,0,0
08:05:45.018 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe2_Farbe predicted to become 0,0,0
08:05:45.026 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe6_Helligkeit changed from 0 to 100
08:05:45.038 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe3_Farbe predicted to become 0,0,0
08:05:45.046 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe4_Farbe predicted to become 0,0,0
08:05:45.053 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe5_Farbe predicted to become 0,0,0
08:05:45.059 [INFO ] [arthome.event.ItemStatePredictedEvent] - iMultimedia_Hue_Lampe6_Farbe predicted to become 0,0,0
08:05:45.065 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe1_Farbe changed from 0,0,0 to 0,0,100
08:05:45.070 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe2_Farbe changed from 0,0,0 to 0,0,100
08:05:45.075 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe3_Farbe changed from 0,0,0 to 0,0,100
08:05:45.080 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe4_Farbe changed from 0,0,0 to 0,0,100
08:05:45.085 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe5_Farbe changed from 0,0,0 to 0,0,100
08:05:45.090 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe6_Farbe changed from 0,0,0 to 0,0,100
08:05:46.554 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Homematic_Drucktaster_Kurz1 changed from ON to OFF
08:05:53.192 [WARN ] [ab.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'iMultimedia_Hue_Lampe1_Farbtemperatur'
08:05:53.206 [WARN ] [ab.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'Multimediawand_HUE1_ColorTemp'
08:05:53.210 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE1_Color changed from 0,0,0 to 0,0,100
08:05:53.225 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE1_Toggle changed from OFF to ON
08:05:53.227 [WARN ] [ab.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'iMultimedia_Hue_Lampe2_Farbtemperatur'
08:05:53.236 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE1_Dimmer changed from 0 to 100
08:05:53.241 [WARN ] [ab.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'Multimediawand_HUE2_ColorTemp'
08:05:53.255 [WARN ] [ab.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'Multimediawand_HUE3_ColorTemp'
08:05:53.257 [INFO ] [smarthome.event.ItemStateChangedEvent] - iMultimedia_Hue_Lampe1_Alarm changed from NONE to LSELECT
08:05:53.261 [WARN ] [ab.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'iMultimedia_Hue_Lampe3_Farbtemperatur'
08:05:53.267 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE2_Color changed from 0,0,0 to 0,0,100
08:05:53.277 [WARN ] [ab.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'iMultimedia_Hue_Lampe4_Farbtemperatur'
08:05:53.279 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE2_Toggle changed from OFF to ON
08:05:53.282 [WARN ] [ab.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'Multimediawand_HUE4_ColorTemp'
08:05:53.293 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE2_Dimmer changed from 0 to 100
08:05:53.296 [WARN ] [ab.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'iMultimedia_Hue_Lampe5_Farbtemperatur'
08:05:53.303 [WARN ] [ab.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'Multimediawand_HUE5_ColorTemp'
08:05:53.311 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE3_Toggle changed from OFF to ON
08:05:53.315 [WARN ] [ab.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'iMultimedia_Hue_Lampe6_Farbtemperatur'
08:05:53.319 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE3_Color changed from 0,0,0 to 0,0,100
08:05:53.322 [WARN ] [ab.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'Multimediawand_HUE6_ColorTemp'
08:05:53.326 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE3_Dimmer changed from 0 to 100
08:05:53.343 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE4_Color changed from 0,0,0 to 0,0,100
08:05:53.351 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE4_Dimmer changed from 0 to 100
08:05:53.358 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE4_Toggle changed from OFF to ON
08:05:53.373 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE5_Dimmer changed from 0 to 100
08:05:53.378 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE5_Toggle changed from OFF to ON
08:05:53.383 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE5_Color changed from 0,0,0 to 0,0,100
08:05:53.388 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE6_Dimmer changed from 0 to 100
08:05:53.394 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE6_Color changed from 0,0,0 to 0,0,100
08:05:53.399 [INFO ] [smarthome.event.ItemStateChangedEvent] - Multimediawand_HUE6_Toggle changed from OFF to ON
Thanks in advance