Hallo Udo,
ich weiß nicht ob ich was falsch mache ich habe mal beide Versionen jetzt ausprobiert.
Code: Alles auswählen
import org.eclipse.smarthome.core.library.types.HSBType
rule "Set BH_Livingroom_RGB value reverse"
when
Item redValue changed or
Item greenValue changed or
Item blueValue changed
then
var Number nRed = 0
var Number nGreen = 0
var Number nBlue = 0
if( redValue.state instanceof Number) nRed = ( redValue.state as Number).floatValue
if(greenValue.state instanceof Number) nGreen = (greenValue.state as Number).floatValue
if( blueValue.state instanceof Number) nBlue = ( blueValue.state as Number).floatValue
logInfo("rgb","R = {} G = {} B = {}",nRed,nGreen,nBlue)
var String strSend = ""
strSend = nRed.toString + "," + nGreen.toString + "," + nBlue.toString
LED_1_color.sendCommand(strSend)
var Integer redValue = 50
var Integer greenValue = 100
var Integer blueValue = 255
var hsbValue = HSBType.fromRGB(redValue,greenValue,blueValue)
new_H.sendCommand(hsbValue)
end
Habe jetzt mal zum Testen ein weiteres Color Item new_H eingefügt. sendCommand ist rot unterstrichen und es kommt folgene fehlermeldung im Studio.
Bei der Var integer steht unten im log
Type mismatch: cannot convert from NumberItem to DecimalType
Type mismatch: cannot convert from NumberItem to PercentType
Ambiguous feature call.
The extension methods
sendCommand(Item, Number) in BusEvent and
sendCommand(Item, Command) in BusEvent
both match.(org.eclipse.xtext.xbase.validation.IssueCodes.ambiguous_feature_call)
ich kann die Regel ausführen aber am HSB Wert ändert sich nix
Code: Alles auswählen
2020-02-06 07:56:34.299 [INFO ] [g.eclipse.smarthome.model.script.rgb] - R = 100.0 G = 0.0 B = 100.0
==> /var/log/openhab2/events.log <==
2020-02-06 07:56:34.321 [ome.event.ItemCommandEvent] - Item 'LED_1_color' received command 100.0,0.0,100.0
2020-02-06 07:56:34.345 [ome.event.ItemCommandEvent] - Item 'new_H' received command 226,78,100
2020-02-06 07:56:34.350 [vent.ItemStateChangedEvent] - greenValue changed from 0.0 to 54.64
2020-02-06 07:56:34.355 [vent.ItemStateChangedEvent] - LED_1_color changed from 0.0,0.0,100.0 to 100.0,0.0,100.0
==> /var/log/openhab2/openhab.log <==
2020-02-06 07:56:34.378 [INFO ] [g.eclipse.smarthome.model.script.rgb] - R = 100.0 G = 54.64 B = 100.0
==> /var/log/openhab2/events.log <==
2020-02-06 07:56:34.378 [vent.ItemStateChangedEvent] - blueValue changed from 100.0 to 20.0
==> /var/log/openhab2/openhab.log <==
2020-02-06 07:56:34.417 [INFO ] [g.eclipse.smarthome.model.script.rgb] - R = 100.0 G = 54.64 B = 20.0
==> /var/log/openhab2/events.log <==
2020-02-06 07:56:34.418 [ome.event.ItemCommandEvent] - Item 'LED_1_color' received command 100.0,54.64,100.0
2020-02-06 07:56:34.433 [ome.event.ItemCommandEvent] - Item 'new_H' received command 226,78,100
2020-02-06 07:56:34.436 [vent.ItemStateChangedEvent] - LED_1_color changed from 100.0,0.0,100.0 to 100.0,54.64,100.0
2020-02-06 07:56:34.452 [ome.event.ItemCommandEvent] - Item 'LED_1_color' received command 100.0,54.64,20.0
2020-02-06 07:56:34.459 [ome.event.ItemCommandEvent] - Item 'new_H' received command 226,78,100
2020-02-06 07:56:34.467 [vent.ItemStateChangedEvent] - LED_1_color changed from 100.0,54.64,100.0 to 100.0,54.64,20.0
Und bei der zweiten Variante ist im Logfile nRed rot unterstrichen.
Kann es sein das evtl. noch was im Import oder so fehlt.
Sorry wenn ich mich zu doof anstelle .