| All Verbs | /ShowQuantity/{Key}/{Color}/{Quantity}/{Persistant} |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ShowCommon:
# @ApiMember(Description="HTML Color code (e.g. FF00FF)", IsRequired=true)
color: Optional[str] = None
"""
HTML Color code (e.g. FF00FF)
"""
# @ApiMember(Description="When set to false, it turns off the same color in a previous position", IsRequired=true)
persistant: bool = False
"""
When set to false, it turns off the same color in a previous position
"""
# @ApiMember(Description="Optional: delay the execution of the command (in seconds)")
delay: Optional[int] = None
"""
Optional: delay the execution of the command (in seconds)
"""
# @ApiMember(Description="Optional: duration of the show in seconds")
duration: Optional[int] = None
"""
Optional: duration of the show in seconds
"""
# @ApiMember(Description="Optional: name of the stockroom where to show the position")
stockroom_name: Optional[str] = None
"""
Optional: name of the stockroom where to show the position
"""
# @ApiMember(Description="Optional: name of the owner of the color/command to allow color sharing")
owner: Optional[str] = None
"""
Optional: name of the owner of the color/command to allow color sharing
"""
# @ApiMember(Description="Optional: indicates if message shall be delivered in an unreliable way (faster)")
unreliable: Optional[bool] = None
"""
Optional: indicates if message shall be delivered in an unreliable way (faster)
"""
# @ApiMember(Description="Optional: indicates if the header shall be displayed")
display_header: Optional[bool] = None
"""
Optional: indicates if the header shall be displayed
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ShowQuantity(ShowCommon):
# @ApiMember(Description="Key identifying a location", IsRequired=true)
key: Optional[str] = None
"""
Key identifying a location
"""
# @ApiMember(Description="Quantity: number of LED to show", IsRequired=true)
quantity: int = 0
"""
Quantity: number of LED to show
"""
# @ApiMember(Description="Optional: Force blinking")
force_blink: Optional[bool] = None
"""
Optional: Force blinking
"""
# @ApiMember(Description="Animated effect selection: 0 = Always ON (no effect), 1 = BLINK_NORMAL, 2 = BLINK_FAST, 3 = BLINK_SLOW, 4 = FADE_IN_OUT_NORMAL, 5 = FADE_IN_OUT_FAST, 6 = FADE_IN_OUT_SLOW, 7 = FADE_OUT_NORMAL, 8 = FADE_OUT_FAST, 9 = FADE_OUT_SLOW")
effect: Optional[int] = None
"""
Animated effect selection: 0 = Always ON (no effect), 1 = BLINK_NORMAL, 2 = BLINK_FAST, 3 = BLINK_SLOW, 4 = FADE_IN_OUT_NORMAL, 5 = FADE_IN_OUT_FAST, 6 = FADE_IN_OUT_SLOW, 7 = FADE_OUT_NORMAL, 8 = FADE_OUT_FAST, 9 = FADE_OUT_SLOW
"""
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /ShowQuantity/{Key}/{Color}/{Quantity}/{Persistant} HTTP/1.1
Host: clouddemo.pickeos.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ShowQuantity xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/GoToLightAPI">
<Color>String</Color>
<Delay>0</Delay>
<DisplayHeader>false</DisplayHeader>
<Duration>0</Duration>
<Owner>String</Owner>
<Persistant>false</Persistant>
<StockroomName>String</StockroomName>
<Unreliable>false</Unreliable>
<Effect>0</Effect>
<ForceBlink>false</ForceBlink>
<Key>String</Key>
<Quantity>0</Quantity>
</ShowQuantity>